Cuprins:
- 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
Video: Recunoașterea și identificarea feței Arduino Face ID folosind OpenCV Python și Arduino .: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
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
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
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
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
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:
Detectarea, formarea și recunoașterea feței Opencv: 3 pași
Detectare, instruire și recunoaștere a feței Opencv: OpenCV este o bibliotecă open source de viziune computerizată, care este foarte populară pentru efectuarea sarcinilor de bază de procesare a imaginii, cum ar fi estomparea, amestecarea imaginilor, îmbunătățirea imaginii, precum și calitatea video, praguri etc. În plus față de procesarea imaginilor, se dovedește
Recunoașterea stelelor folosind viziunea computerizată (OpenCV): 11 pași (cu imagini)
Recunoașterea stelelor folosind viziunea computerizată (OpenCV): această instrucțiune vă va descrie cum să creați un program de viziune computerizată pentru a identifica automat tiparele stelelor dintr-o imagine. Metoda folosește biblioteca OpenCV (Open-Source Computer Vision) pentru a crea un set de cascade HAAR instruite care pot fi
Recunoașterea vorbirii folosind API-ul Google Speech și Python: 4 pași
Recunoașterea vorbirii Utilizând API-ul Google Speech și Python: Recunoașterea vorbirii Recunoașterea vorbirii este o parte a procesării limbajului natural, care este un subcâmp al inteligenței artificiale. Mai simplu spus, recunoașterea vorbirii este capacitatea unui software de calculator de a identifica cuvinte și fraze în limba vorbită
Recunoașterea feței Opencv: 4 pași
Recunoașterea feței Opencv: Recunoașterea feței este un lucru destul de obișnuit acum câteva zile, în multe aplicații, cum ar fi telefoanele inteligente, multe gadget-uri electronice. Acest tip de tehnologie implică o mulțime de algoritmi și instrumente etc
Recunoașterea feței în timp real: un proiect end-to-end: 8 pași (cu imagini)
Recunoașterea feței în timp real: un proiect end-to-end: În ultimul meu tutorial care explorează OpenCV, am învățat URMĂRIREA AUTOMATICĂ A OBIECTELOR VIZIUNII. Acum vom folosi PiCam-ul nostru pentru a recunoaște fețele în timp real, după cum puteți vedea mai jos: Acest proiect a fost realizat cu acest fantastic „Open Source Computer Vision Library & qu