Kazalo:
- Korak: Dostop do spletne kamere
- 2. korak: Prepoznavanje obrazov
- 3. korak: Zbiranje podatkov
- 4. korak: Usposabljanje
- 5. korak: Prepoznavanje obrazov
- 6. korak: Programiranje Arduina
Video: Prepoznavanje obrazov in identifikacija - Arduino Face ID z uporabo OpenCV Python in Arduino .: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Prepoznavanje obraza AKA Face ID je danes ena najpomembnejših funkcij mobilnih telefonov.
Tako sem imel vprašanje "ali lahko dobim ID obraza za svoj projekt Arduino" in odgovor je pritrdilen …
Moje potovanje se je začelo takole:
1. korak: Dostop do spletne kamere
korak 2: Identifikacija obraza.
korak 3: Zbiranje podatkov
4. korak: Usposabljanje
5. korak: Prepoznavanje obrazov
korak 6: Programiranje Arduina
Spodaj bom razložil vse korake. Upam, da vam bo to pomagalo.
Korak: Dostop do spletne kamere
Prvi korak za prepoznavanje obrazov je bil dostop do kamere ali računalniškega vida. Ker je Indija v zaporah, je bila najcenejša rešitev, ki sem jo našel, uporaba spletne kamere svojih računalnikov, do katere sem imel dostop s programom python z modulom openCV.
Morda razmišljate, kaj je OpenCV, kajne?
OpenCV (odprtokodna knjižnica računalniškega vida) je odprtokodna knjižnica računalniškega vida in strojnega učenja. OpenCV je bil zgrajen za zagotavljanje skupne infrastrukture za aplikacije računalniškega vida in za pospešitev uporabe zaznavanja strojev v komercialnih izdelkih.
Če je Opencv nameščen v vašem računalniku, potem ste pripravljeni. Če ne, sledite temu koraku.
odprite ukazni poziv in vnesite "pip install opencv".
Opozorilo: Morda boste dobili napako, saj "" pip "ni prepoznan kot notranji ali zunanji ukaz". za katero morate v sistemsko spremenljivko PATH dodati pot namestitve pipa. Poglejte to objavo, morda vam bo v pomoč.
stackoverflow.com/questions/23708898/pip-i…
Ko je OpenCV nameščen, smo pripravljeni … Če želite preveriti, ali je pravilno nameščen, odprite svoj tolmač Python in uvozite knjižnico. Oglejte si zgornjo sliko, ki bi morala biti vaš izhod.
Prenesite datoteko python "AccessTo_webcam.py" in jo zaženite. Tam sem dal vse potrebne pripombe.
Evo, zdaj imate dostop do spletne kamere. Dobro opravljeno. pojdimo na korak 2.
2. korak: Prepoznavanje obrazov
s pomočjo istega modula OpenCV moramo ugotoviti, ali je na videotoku obraz ali ne.
OpenCV ponuja metodo usposabljanja ali vnaprej usposobljene modele, imenovane Cascade Classifier. Vnaprej usposobljeni modeli se nahajajo v podatkovni mapi v namestitvi OpenCV. Zagotavljam to datoteko, samo jo prenesite in postavite v mapo projekta. Mapa, v kateri je shranjena datoteka "AccessTo_webcam.py". Če ga niste ustvarili, to storite.
Prenesite "haarcascade_frontalface_default" in jo postavite v glavno mapo projekta.
Prenesite »Face_identification.py« in ga postavite v glavno mapo projekta. V njem je navedena vsa razlaga.
Zdaj lahko prepoznate obraze v video toku. Torej nadaljujmo s 3. korakom.
3. korak: Zbiranje podatkov
Če želimo prepoznati obraze, moramo trenirati naš program python. Za kar potrebujemo nekaj podatkov.
Zbiranje podatkov je najlažji korak v tem projektu. ustvarite mapo z imenom "image_data" v glavni mapi projekta. Znotraj mape "image_data" ustvarite nekaj dodatnih map z imenom osebe, kamor bomo shranili podatke. na primer:
V mapi "image_data" sem ustvaril še dve mapi z imenom "HRK" in "Yahiya". kot je prikazano na zgornji sliki.
Zdaj pa ustvarite lastne mape in jih poimenujte.
Ko so mape ustvarjene, začnite zbirati slike te določene osebe. Priporočam, da zberete skoraj 20 slik na osebo. Dodate lahko tudi več slik, vendar pazite, da podatki, zbrani za vse osebe, vsebujejo enako število slik. Pomaga zagotoviti natančnost.
to je to, pojdimo na korak 4.
4. korak: Usposabljanje
Na kratko bomo pregledali vse mape in slike, ki so v mapi "image_data", in ustvarili slovar, ki bo vseboval ID oznake in ustrezno ime. Hkrati bomo sliko naložili, da bomo zaznali obraz na vsaki sliki, ki ji pravimo "regija zanimanja", in ustvarili datoteko ".yml", ki vsebuje te podatke.
Ob predpostavki, da imate zbrane podatke za osebo X in Y.
osebo X bomo označili kot 1, kar bo njen ID oznake, ime pa bo samo X. Naložimo sliko, da najdemo njegov obraz, tj. Regijo, ki nas zanima, in podatke dodamo na seznam.
podobni koraki bodo izvedeni za osebo Y. Na koncu bomo ustvarili datoteko ".yml".
Prenesite datoteko "face_trainer.py" in jo postavite v glavno mapo projekta. Vsa potrebna pojasnila so navedena v sami datoteki.
Ko zaženete ta program, bo pregledal vse slike in ustvaril dve datoteki z imenom "labels.pickle" in "trainner.yml". Zdaj ste usposobili svoj model. pa pojdimo na korak 5.
5. korak: Prepoznavanje obrazov
Če ste pravilno opravili vse korake, ste morda ustvarili lastne izurjene podatke. Zdaj bomo te podatke uporabili za prepoznavanje obrazov.
V bistvu bomo svoje usposobljene modele naložili v datoteko python, dostopali do naše spletne kamere in identificirali obraze v videotoku ter naredili primerjavo ali napoved med trenutnim obrazom, ki je identificiran v video toku, in modelom, ki je bil usposobljen. če se podatki ujemajo, rečemo, da je oseba prepoznana, da je tako preprosto …
Prenesite »face_recognise.py« in ga zaženite. V njem so vse potrebne informacije. Zdaj je morda vaš obraz prepoznan. če natančnost ni dobra, poskusite posodobiti podatke. če ste v redu, pojdite na korak 6/
6. korak: Programiranje Arduina
Zadnji in zadnji korak je programiranje Arduina in zagotavljanje načina komunikacije med pythonom in Arduinom. Za komunikacijo sem uporabil "serijsko komunikacijo". Poiščite videoposnetek, ki sem ga povezal zgoraj, da ugotovite, kako deluje serijska komunikacija in jo vzpostavite. Vse potrebne datoteke boste našli v opisu videoposnetka.
Če ste pogledali video, naj vam razložim, kaj sem naredil. Ko moj obraz prepozna, je naveden ID nalepke 2. Ko je ID nalepke 2, bom poslal '1' kot serijske podatke v svoj Arduino. Ki bo vklopil moje vezje LED lovilca. Če je ID nalepke drugačen od 2, bom kot serijske podatke poslal '0', kar bo izklopilo moje vezje LED lovilca.
Prenesite datoteko "ard_chaser.ino". To je preprost program za lovljenje LED, ki uporablja serijsko komunikacijo.
Hitro prenesite "face_recogniser1.py", ki bo vzpostavil serijsko komunikacijo med Arduinom in programom python.
Izvolite. Upam, da ste se naučili kaj novega. Naročite se na moj youtube kanal za več stvari, povezanih s pythonom in Arduinom. Delite to, če vam je bilo všeč. Podpirajte še naprej.
Hvala vam.
Priporočena:
Abellcadabra (sistem zaklepanja vrat za prepoznavanje obrazov): 9 korakov
Abellcadabra (Sistem zaklepanja vrat za prepoznavanje obrazov): Med karanteno sem se nahajal in poskušal najti način, kako ubiti čas, tako da sem ustvaril prepoznavanje obrazov za hišna vrata. Poimenoval sem ga Abellcadabra - ki je kombinacija med Abracadabra, čarobno frazo z zvoncem na vratih, ki ga vzamem samo na zvonec. LOL
Odkrivanje obrazov Opencv, usposabljanje in prepoznavanje: 3 koraki
Odkrivanje, usposabljanje in prepoznavanje obrazov Opencv: OpenCV je odprtokodna knjižnica računalniškega vida, ki je zelo priljubljena za izvajanje osnovnih nalog obdelave slik, kot so zameglitev, mešanje slik, izboljšanje slike, pa tudi kakovost videa, določanje praga itd. to je prov
Prepoznavanje obrazov Opencv: 4 koraki
Odkrivanje obrazov Opencv: Prepoznavanje obrazov je danes zelo pogosta stvar, v številnih aplikacijah, kot so pametni telefoni, številni elektronski pripomočki. Ta vrsta tehnologije vključuje veliko algoritmov in orodij itd., Ki uporablja nekatere vgrajene vgrajene platforme SOC, kot je Raspberry
Prepoznavanje obrazov v realnem času: projekt od konca do konca: 8 korakov (s slikami)
Prepoznavanje obrazov v realnem času: projekt od konca do konca: Na moji zadnji vadnici, ki je raziskovala OpenCV, smo se naučili AUTOMATIC VISION OBJECT TRACKING. Zdaj bomo uporabili naš PiCam za prepoznavanje obrazov v realnem času, kot lahko vidite spodaj: Ta projekt je bil narejen s to fantastično knjižnico odprtokodne računalniške vizije
Zaznavanje obrazov+prepoznavanje: 8 korakov (s slikami)
Zaznavanje obrazov+prepoznavanje: To je preprost primer zaznavanja obrazov in prepoznavanja obrazov z OpenCV iz kamere. OPOMBA: Ta projekt sem naredil za tekmovanje senzorjev in kamero sem uporabil kot senzor za sledenje in prepoznavanje obrazov. Torej, naš cilj Na tej seji 1. Namestite Anaconda