Sadržaj:
- Korak 1: Pristup web kameri
- Korak 2: Identifikacija lica
- Korak 3: Prikupljanje podataka
- Korak 4: Obuka
- Korak 5: Prepoznavanje lica
- Korak 6: Programiranje Arduina
Video: Prepoznavanje lica i identifikacija - Arduino Face ID pomoću OpenCV Pythona i Arduina .: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Prepoznavanje lica AKA Face ID jedna je od najvažnijih karakteristika mobilnih telefona u današnje vrijeme.
Dakle, imao sam pitanje "mogu li imati face ID za svoj Arduino projekt" i odgovor je da …
Moje putovanje je počelo ovako:
Korak 1: Pristup web kameri
korak 2: Identifikacija lica.
korak 3: Prikupljanje podataka
Korak 4: Obuka
korak 5: Prepoznavanje lica
korak 6: Programiranje Arduina
Objasniću sve korake u nastavku. Nadam se da će vam ovo pomoći.
Korak 1: Pristup web kameri
Prvi korak za prepoznavanje lica bio je pristup kameri ili računarskom vidu. Budući da je Indija u karantinu, najjeftinije rješenje koje sam pronašao bilo je korištenje web kamere mojih računara kojoj sam imao pristup s programom python koristeći openCV modul.
Možda mislite da je OpenCV, zar ne?
OpenCV (Open Source Computer Vision Library) je biblioteka softvera za računarsku viziju i mašinsko učenje otvorenog koda. OpenCV je izgrađen da pruži zajedničku infrastrukturu za aplikacije računarskog vida i da ubrza upotrebu percepcije mašina u komercijalnim proizvodima.
Ako je Opencv instaliran na vašem računaru, onda ste spremni. Ako ne, slijedite ovaj korak.
otvorite naredbeni redak i upišite "pip install opencv".
Upozorenje: Možda ćete dobiti grešku jer "'pip' nije prepoznat kao interna ili eksterna naredba". za koje trebate dodati putanju vaše pip instalacije u vašu sistemsku varijablu PATH. Prođite kroz ovaj post, moglo bi vam pomoći.
stackoverflow.com/questions/23708898/pip-i…
Nakon što je OpenCV instaliran, dobro je da krenemo … Da provjerite je li pravilno instaliran, otvorite Python interpreter i uvezite biblioteku. Pogledajte gornju sliku koja bi trebala biti vaš izlaz.
Preuzmite python datoteku "AccessTo_webcam.py" i pokrenite je. Tamo sam dao sve potrebne komentare.
Eto, sad imate pristup web kameri. Dobro urađeno. pređimo na korak 2.
Korak 2: Identifikacija lica
uz pomoć istog OpenCV modula moramo identificirati postoji li lice na video streamu ili ne.
OpenCV nudi metodu obuke ili unaprijed obučene modele koji se nazivaju Cascade Classifier. Unaprijed obučeni modeli nalaze se u mapi podataka u instalaciji OpenCV. Dajem tu datoteku, samo je preuzmite i postavite u fasciklu vašeg projekta. Fascikla u kojoj je pohranjena datoteka "AccessTo_webcam.py". Ako to niste napravili, učinite to.
Preuzmite "haarcascade_frontalface_default" i postavite ga u glavnu fasciklu projekta.
Preuzmite "Face_identification.py" i postavite ga u glavnu fasciklu projekta. Sva objašnjenja su navedena u njemu.
Sada možete prepoznati lica u video streamu. Pa pređimo na korak 3.
Korak 3: Prikupljanje podataka
Da bismo prepoznali lica, moramo trenirati naš python program. Za šta su nam potrebni neki podaci.
Prikupljanje podataka je najlakši korak u ovom projektu. stvorite mapu pod nazivom "image_data" u vašoj glavnoj mapi projekta. Unutar mape "image_data" stvorite neke dodatne mape s imenom osobe u koje ćemo pohraniti podatke. na primjer:
U mapi "image_data" stvorio sam još dvije mape pod nazivom "HRK" i "Yahiya". kako je prikazano na gornjoj slici.
Sada nastavite sa stvaranjem vlastitih mapa i dajte im ime.
Nakon što se mape stvore, počnite prikupljati slike te određene osobe. Preporučujem da prikupite gotovo 20 slika po osobi. Također možete dodati još slika, ali pazite da podaci prikupljeni za sve osobe sadrže isti broj slika. Pomaže u postizanju tačnosti.
to je to sad idemo na korak 4.
Korak 4: Obuka
Ukratko, proći ćemo kroz sve mape i slike koje se nalaze u mapi "image_data" i stvorit ćemo rječnik koji će sadržavati ID oznake i odgovarajući naziv. Istovremeno ćemo učitati sliku kako bismo otkrili lice na svakoj slici koju nazivamo "regija interesa" i stvorit ćemo ".yml" datoteku koja sadrži te podatke.
Pod pretpostavkom da imate prikupljene podatke za osobu X i Y.
označit ćemo osobu X kao 1 što će biti njegov ID oznake i ime će biti sam X. Učitavamo sliku kako bismo pronašli njegovo lice, tj. Regiju od interesa i dodamo podatke na popis.
slični koraci će se slijediti za osobu Y. I na kraju, mi ćemo stvoriti ".yml" datoteku.
Preuzmite datoteku "face_trainer.py" i postavite je u glavnu fasciklu projekta. Sva potrebna objašnjenja nalaze se u samoj datoteci.
Kada pokrenete ovaj program, on će proći kroz sve slike i stvoriti dvije datoteke pod nazivom "labels.pickle" i "trainner.yml". Sada ste obučili svoj model. pa idemo na korak 5.
Korak 5: Prepoznavanje lica
Ako ste pravilno prošli sve korake, možda ste stvorili vlastite obučene podatke. Sada ćemo te podatke koristiti za prepoznavanje lica.
U osnovi ćemo učitati naše obučene modele u python datoteku, pristupiti našoj web kameri i identificirati lica u video streamu te napraviti usporedbu ili predviđanje između trenutnog lica koje je identificirano u video streamu i modela koji je obučen. ako se podaci podudaraju, onda kažemo da je osoba prepoznata, to je tako jednostavno …
Preuzmite "face_recognise.py" i pokrenite ga. U njemu se nalaze sve potrebne informacije. Sada je vaše lice možda prepoznato. ako točnost nije dobra, pokušajte ažurirati podatke. ako ste dobro krenuli, idemo na korak 6/
Korak 6: Programiranje Arduina
Posljednji i posljednji korak je programiranje Arduina i pružanje načina komunikacije između pythona i Arduina. Za komunikaciju sam koristio "serijsku komunikaciju". Prođite kroz videozapis koji sam gore povezao kako biste saznali kako funkcionira serijska komunikacija i kako biste je uspostavili. Sve potrebne datoteke pronaći ćete u opisu videozapisa.
Ako ste pregledali video, dopustite mi da vam objasnim šta sam uradio. Kada se moje lice prepozna, tada je oznaka ID -a 2. Nakon što je ID oznake 2, poslat ću '1' kao serijske podatke na svoj Arduino. Što će uključiti moj krug LED tragača. Ako je ID naljepnice različit od 2, poslat ću '0' kao serijske podatke, što će isključiti moj krug LED tragača.
Preuzmite datoteku "ard_chaser.ino". To je jednostavan LED chaser program koji koristi serijsku komunikaciju.
Istovremeno preuzmite "face_recogniser1.py" koji će uspostaviti serijsku komunikaciju između Arduina i python programa.
Eto ti. Nadam se da ste naučili nešto novo. Pretplatite se na moj youtube kanal za više stvari vezanih za python i Arduino. Podijelite ovo ako vam se svidjelo. Nastavite da podržavate.
Hvala ti.
Preporučuje se:
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Otkrivanje lica, obuka i prepoznavanje Opencv lica: 3 koraka
Otkrivanje lica, obuka i prepoznavanje lica Opencv: OpenCV je biblioteka računarskog vida otvorenog koda koja je vrlo popularna za obavljanje osnovnih zadataka obrade slika, kao što su zamućivanje, miješanje slika, poboljšanje slike, kao i kvaliteta videa, određivanje praga itd. Osim obrade slike, to je prov
Prepoznavanje govora pomoću Google Speech API -ja i Pythona: 4 koraka
Prepoznavanje govora pomoću Google Speech API -ja i Pythona: Prepoznavanje govora Prepoznavanje govora dio je obrade prirodnog jezika koje je potpolje umjetne inteligencije. Jednostavno rečeno, prepoznavanje govora je sposobnost računalnog softvera da identificira riječi i izraze u govornom jeziku
Opencv prepoznavanje lica: 4 koraka
Opencv prepoznavanje lica: Prepoznavanje lica je danas uobičajena stvar, u mnogim aplikacijama poput pametnih telefona, mnogih elektroničkih naprava. Ova vrsta tehnologije uključuje mnogo algoritama i alata itd. Koja koristi neke ugrađene ugrađene SOC platforme poput Raspberryja
Prepoznavanje lica+prepoznavanje: 8 koraka (sa slikama)
Prepoznavanje lica+prepoznavanje: Ovo je jednostavan primjer pokretanja otkrivanja i prepoznavanja lica pomoću OpenCV -a sa kamere. NAPOMENA: NAPRAVIO SAM OVAJ PROJEKT ZA TAKMIČENJE SENZORA I KORISTIO SAM KAMERU KAO SENZOR ZA PRAĆENJE I PRIZNAVANJE LICA. Dakle, naš ciljU ovoj sesiji, 1. Instalirajte Anacondu