Cuprins:

Recunoașterea și identificarea feței Arduino Face ID folosind OpenCV Python și Arduino .: 6 pași
Recunoașterea și identificarea feței Arduino Face ID folosind OpenCV Python și Arduino .: 6 pași

Video: Recunoașterea și identificarea feței Arduino Face ID folosind OpenCV Python și Arduino .: 6 pași

Video: Recunoașterea și identificarea feței Arduino Face ID folosind OpenCV Python și Arduino .: 6 pași
Video: Python - curs practic de recunoastere faciala. Sistem de prezenta bazat in recunoastere faciala 2024, Noiembrie
Anonim
Image
Image

Recunoașterea facială AKA Face ID este una dintre cele mai importante caracteristici de pe telefoanele mobile din zilele noastre.

Așadar, am avut o întrebare „pot să am un id al feței pentru proiectul meu Arduino” și răspunsul este da …

Călătoria mea a început după cum urmează:

Pasul 1: Acces la camera web

pasul 2: identificarea feței.

pasul 3: Colectarea datelor

Pasul 4: Antrenament

pasul 5: recunoașterea feței

pasul 6: Programarea Arduino

Voi explica toți pașii de mai jos. Sper că acest lucru vă va ajuta.

Pasul 1: Acces la camera web

Acces la camera web
Acces la camera web

Primul pas pentru recunoașterea facială a fost accesul la o cameră sau la o viziune computerizată. Întrucât India se află sub blocare, cea mai ieftină soluție pe care am găsit-o a fost să folosesc camera web a computerelor la care aveam acces cu un program python folosind modulul openCV.

S-ar putea să vă gândiți la ce este OpenCV, nu-i așa?

OpenCV (Open Source Computer Vision Library) este o bibliotecă software open-source de viziune computerizată și învățare automată. OpenCV a fost construit pentru a oferi o infrastructură comună pentru aplicațiile de viziune computerizată și pentru a accelera utilizarea percepției mașinilor în produsele comerciale.

Dacă Opencv este instalat pe computer, atunci sunteți bine să mergeți. Dacă nu, urmați acest pas.

deschideți promptul de comandă și tastați „pip install opencv”.

Atenție: este posibil să primiți o eroare deoarece „„ pip”nu este recunoscut ca o comandă internă sau externă”. pentru care trebuie să adăugați calea instalării pip la variabila de sistem PATH. Parcurgeți această postare, vă poate ajuta.

stackoverflow.com/questions/23708898/pip-i…

Odată ce este instalat OpenCV, este bine să mergem … Pentru a verifica dacă este instalat corect, deschideți interpretul Python și importați biblioteca. Vedeți imaginea de mai sus care ar trebui să fie rezultatul dvs.

Descărcați fișierul python „AccessTo_webcam.py” și rulați-l. Am furnizat toate comentariile necesare acolo.

Uite, acum ai acces la camera web. Bine făcut. să trecem la pasul 2.

Pasul 2: Identificarea feței

Identificarea feței
Identificarea feței

cu ajutorul aceluiași modul OpenCV, trebuie să identificăm dacă există o față pe fluxul video sau nu.

OpenCV oferă o metodă de formare sau modele pre-antrenate numite Cascade Classifier. Modelele pre-instruite se află în folderul de date din instalarea OpenCV. Furnizez acel fișier, descărcați-l și plasați-l în folderul proiectului. Dosarul în care este stocat fișierul „AccessTo_webcam.py”. Dacă nu ați creat una, faceți-o.

Descărcați „haarcascade_frontalface_default” și plasați-l în folderul principal al proiectului.

Descărcați „Face_identification.py” și plasați-l în folderul principal al proiectului. Toate explicațiile sunt furnizate în acesta.

Acum puteți identifica fețele dintr-un flux video. Deci, să trecem la pasul 3.

Pasul 3: Colectarea datelor

Colectare de date
Colectare de date

Pentru a recunoaște fețele, trebuie să ne pregătim programul Python. Pentru care avem nevoie de câteva date.

Colectarea datelor este cel mai ușor pas în acest proiect. creați un folder numit „image_data” în folderul principal al proiectului. În folderul „image_data” creați câteva foldere suplimentare cu numele persoanei, unde vom stoca datele. de exemplu:

În folderul „image_data” am creat încă două foldere numite „HRK” și „Yahiya”. așa cum se arată în imaginea de mai sus.

Acum, continuați, creați-vă propriile foldere și denumiți-le.

Odată ce folderele sunt create, începeți să colectați imagini ale acelei persoane. Vă recomand să colectați aproape aproximativ 20 de imagini per persoană. De asemenea, puteți adăuga mai multe imagini, dar asigurați-vă că datele colectate pentru toate persoanele conțin același număr de imagini. Ajută la asigurarea preciziei.

gata acum să trecem la pasul 4.

Pasul 4: Antrenament

Pe scurt, vom parcurge toate folderele și imaginile care sunt prezente în folderul „image_data” și vom crea un dicționar care va conține ID-ul etichetei și numele corespunzător. Simultan, vom încărca imaginea pentru a detecta fața din fiecare imagine pe care o numim „Regiune de interes” și vom crea un fișier „.yml” care conține acele informații.

Presupunând că aveți date colectate pentru persoanele X și Y.

vom eticheta persoana X ca 1, care va fi ID-ul său de etichetă și numele va fi X însuși. Încărcăm imaginea pentru a-i găsi fața, adică Regiunea de interes și a adăuga datele la o listă.

pași similari vor fi urmați pentru persoana Y. Și în cele din urmă, vom crea un fișier ".yml".

Descărcați fișierul „face_trainer.py” și plasați-l în folderul principal al proiectului. Toate explicațiile necesare sunt furnizate în acel fișier.

Când rulați acest program, acesta va parcurge toate imaginile și va crea două fișiere numite „labels.pickle” și „trainner.yml”. Acum v-ați antrenat propriul model. deci să trecem la pasul 5.

Pasul 5: recunoașterea feței

Recunoaștere facială
Recunoaștere facială

Dacă ați parcurs corect toți pașii, este posibil să fi creat propriile date instruite. Acum vom folosi aceste date pentru recunoașterea feței.

Practic, vom încărca modelele noastre instruite în fișierul python, vom accesa camera web și vom identifica fețele în fluxul video și vom face o comparație sau o predicție între fața curentă identificată în fluxul video și modelul care a fost instruit. dacă datele sunt potrivite, atunci spunem că persoana este recunoscută, este atât de simplu …

Descărcați „face_recognise.py” și rulați-l. Toate informațiile necesare sunt furnizate în acesta. Acum este posibil ca fața ta să fi fost recunoscută. dacă precizia nu este bună, încercați să actualizați datele. dacă sunteți bine să mergeți, apoi treceți la pasul 6 /

Pasul 6: Programarea Arduino

Ultimul și ultimul pas este programarea Arduino, și pentru a oferi un mod de comunicare între python și Arduino. Pentru comunicare, am folosit „Comunicare în serie”. Parcurgeți videoclipul pe care l-am legat mai sus pentru a afla cum funcționează comunicarea în serie și pentru a stabili unul. Veți găsi toate fișierele necesare în descrierea videoclipului.

Dacă ați parcurs videoclipul, permiteți-mi să vă explic ce am făcut. Când fața mea este recunoscută, atunci ID-ul etichetei furnizat este 2. Odată ce ID-ul etichetei este 2, voi trimite „1” ca date seriale către Arduino. Ceea ce va porni circuitul meu cu LED-uri. Dacă ID-ul etichetei este altul decât 2, atunci voi trimite „0” ca date seriale, ceea ce va opri circuitul meu de LED-uri.

Descărcați fișierul „ard_chaser.ino”. Este un program simplu de urmărire cu LED-uri care utilizează comunicații seriale.

Descărcați în mod simplu „face_recogniser1.py” care va stabili comunicarea serială între Arduino și programul python.

Iată-te. Sper că ai învățat ceva nou. Abonați-vă la canalul meu YouTube pentru mai multe lucruri legate de python și Arduino. Distribuiți acest lucru dacă v-a plăcut. Continuați să susțineți.

Mulțumesc.

Recomandat: