Taula de continguts:
- Pas 1: accés a la càmera web
- Pas 2: Identificació de la cara
- Pas 3: recopilació de dades
- Pas 4: formació
- Pas 5: reconeixement facial
- Pas 6: Programació d'Arduino
Vídeo: Reconeixement i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Reconeixement facial L'identificació facial AKA és una de les funcions més importants dels telèfons mòbils actualment.
Per tant, tenia una pregunta "puc tenir una identificació facial per al meu projecte Arduino" i la resposta és sí …
El meu viatge va començar de la següent manera:
Pas 1: accés a la càmera web
pas 2: identificació de cares.
pas 3: Recopilació de dades
Pas 4: formació
pas 5: reconeixement facial
pas 6: Programació d'Arduino
A continuació explicaré tots els passos. Espero que això us ajudi.
Pas 1: accés a la càmera web
El primer pas per al reconeixement facial va ser tenir accés a una càmera o a una visió per ordinador. Com que l'Índia està tancada, la solució més barata que vaig trobar va ser utilitzar la càmera web dels meus ordinadors als quals tenia accés amb un programa Python mitjançant el mòdul openCV.
És possible que estigueu pensant què és OpenCV, oi?
OpenCV (Open Source Computer Vision Library) és una biblioteca de programari de codi obert de visió per computador i aprenentatge automàtic. OpenCV es va crear per proporcionar una infraestructura comuna a les aplicacions de visió per computador i per accelerar l’ús de la percepció de la màquina en productes comercials.
Si Opencv està instal·lat al vostre ordinador, esteu preparat. Si no, seguiu aquest pas.
obriu el símbol del sistema i escriviu "pip install opencv".
Advertiment: podeu obtenir un error ja que "'pip' no es reconeix com a ordre interna o externa". per al qual heu d'afegir el camí de la vostra instal·lació de pip a la variable de sistema PATH. Consulteu aquesta publicació que us pot ajudar.
stackoverflow.com/questions/23708898/pip-i…
Un cop instal·lat OpenCV, ens convé anar … Per comprovar si està instal·lat correctament, obriu el vostre intèrpret de Python i importeu la biblioteca. Vegeu la imatge superior que hauria de ser la vostra sortida.
Baixeu-vos el fitxer python "AccessTo_webcam.py" i executeu-lo. Hi he proporcionat tots els comentaris necessaris.
Aquí teniu, ara teniu accés a la càmera web. Ben fet. anem al pas 2.
Pas 2: Identificació de la cara
amb l'ajut del mateix mòdul OpenCV, hem d'identificar si hi ha una cara al flux de vídeo o no.
OpenCV proporciona un mètode d’entrenament o models pre-entrenats anomenats Cascade Classifier. Els models preparats prèviament es troben a la carpeta de dades de la instal·lació d’OpenCV. Proporciono aquest fitxer, simplement descarregueu-lo i col·loqueu-lo a la carpeta del projecte. La carpeta on s'emmagatzema el fitxer "AccessTo_webcam.py". Si no n’heu creat cap, feu-ho.
Descarregueu "haarcascade_frontalface_default" i col·loqueu-lo a la carpeta principal del projecte.
Baixeu "Face_identification.py" i col·loqueu-lo a la carpeta principal del projecte. Hi apareix tota l’explicació.
Ara podeu identificar les cares d'un flux de vídeo. Passem, doncs, al pas 3.
Pas 3: recopilació de dades
Per reconèixer les cares que necessitem per entrenar el nostre programa Python. Per a això necessitem algunes dades.
La recollida de dades és més aviat el pas més senzill d’aquest projecte. creeu una carpeta anomenada "imatge_dades" a la carpeta principal del projecte. Dins de la carpeta "image_data" creeu algunes carpetes addicionals amb el nom de la persona, on guardarem les dades. per exemple:
A la carpeta "image_data" he creat dues carpetes més anomenades "HRK" i "Yahiya". tal com es mostra a la imatge anterior.
Ara, endavant, creeu les vostres pròpies carpetes i nomeneu-les.
Un cop creades les carpetes, comenceu a recopilar imatges d’aquella persona en concret. Recomano col·leccionar prop de 20 imatges per persona. També podeu afegir més imatges, però assegureu-vos que les dades recopilades per a totes les persones continguin el mateix nombre d'imatges. Ajuda a proporcionar precisió.
Ara és això, passem al pas 4.
Pas 4: formació
En resum, revisarem totes les carpetes i imatges que hi ha a la carpeta "imatge_dades" i crearem un diccionari que contindrà l'identificador de l'etiqueta i el nom corresponent. Simultàniament, carregarem la imatge per detectar la cara de cada imatge que anomenem "Regió d'Interès" i crearem un fitxer ".yml" que conté aquesta informació.
Suposant que teniu dades recopilades per a les persones X i Y.
etiquetarem la persona X com a 1, que serà el seu identificador d'etiqueta i el seu nom serà X. Carregem la imatge per trobar la seva cara, és a dir, la regió d’interès i afegim les dades a una llista.
es seguiran passos similars per a la persona Y. I finalment, crearem un fitxer ".yml".
Baixeu-vos el fitxer "face_trainer.py" i col·loqueu-lo a la carpeta principal del projecte. En aquest fitxer es proporciona tota l’explicació necessària.
Quan executeu aquest programa, passarà per totes les imatges i crearà dos fitxers anomenats "labels.pickle" i "trainner.yml". Ara heu format el vostre propi model. per tant, anem al pas 5.
Pas 5: reconeixement facial
Si heu seguit tots els passos correctament, és possible que hàgiu creat les vostres pròpies dades entrenades. Ara farem servir aquestes dades per al reconeixement facial.
Bàsicament carregarem els nostres models entrenats al fitxer python, accedirem a la nostra càmera web i identificarem les cares al flux de vídeo i farem una comparació o predicció entre la cara actual que s’identifica al flux de vídeo i el model que s’ha format. si les dades coincideixen, diem que es reconeix a la persona, és tan senzill …
Baixeu "face_recognise.py" i executeu-lo. S'hi facilita tota la informació necessària. Ara és possible que s’hagi reconegut la teva cara. si la precisió no és bona, intenteu actualitzar les dades. si esteu bé, aneu al pas 6 /
Pas 6: Programació d'Arduino
L'últim i l'últim pas és programar Arduino, i proporcionar un mode de comunicació entre python i Arduino. Per a la comunicació, he utilitzat "Comunicació en sèrie". Consulteu el vídeo que he enllaçat anteriorment per trobar el funcionament de la comunicació en sèrie i establir-ne un. Trobareu tots els fitxers necessaris a la descripció del vídeo.
Si heu vist el vídeo, deixeu-me que us expliqui què he fet. Quan es reconegui la meva cara, l'identificador de l'etiqueta proporcionat és 2. Un cop l'identificador de l'etiqueta sigui 2, enviaré "1" com a dades de sèrie al meu Arduino. La qual cosa activarà el meu circuit de seguidor LED. Si l'identificador de l'etiqueta és diferent de 2, enviaré el "0" com a dades de sèrie, que apagaran el meu circuit de control de LED.
Descarregueu el fitxer "ard_chaser.ino". És un senzill programa LED chaser que utilitza comunicació en sèrie.
Descarregueu de forma senzilla "face_recogniser1.py" que establirà la comunicació en sèrie entre Arduino i el programa python.
Aquí està. Espero que hagueu après alguna cosa nova. Subscriu-te al meu canal de YouTube per obtenir més informació relacionada amb Python i Arduino. Comparteix això si t'ha agradat. Seguiu donant suport.
Gràcies.
Recomanat:
Abellcadabra (sistema de panys de porta de reconeixement facial): 9 passos
Abellcadabra (sistema de panys de reconeixement facial): estirat durant la quarantena, vaig intentar trobar una manera de matar el temps construint un reconeixement facial per a la porta de la casa. El vaig anomenar Abellcadabra, que és una combinació entre Abracadabra, una frase màgica amb timbre que només agafo la campana. LOL
Mirall de reconeixement facial amb compartiment secret: 15 passos (amb imatges)
Mirall de reconeixement facial amb compartiment secret: sempre he estat intrigat pels compartiments secrets sempre creatius que s’utilitzen en històries, pel·lícules i similars. Per tant, quan vaig veure el Concurs de compartiments secrets, vaig decidir experimentar jo mateixa amb la idea i fer un mirall d’aspecte normal que obrís un
Pany de porta de reconeixement facial: 8 passos
Pany de porta de reconeixement facial: fa aproximadament un mes que presento, us presento el pany de porta de reconeixement facial. Vaig intentar que quedés tan ordenat com puc, però només puc fer-ho fins a 13 anys. Aquest pany de reconeixement facial està dirigit per un Raspberry Pi 4, amb una bateria portàtil especial
Reconeixement d’estrelles mitjançant visió per ordinador (OpenCV): 11 passos (amb imatges)
Reconeixement d’estrelles mitjançant la visió per ordinador (OpenCV): aquesta instrucció us descriurà com crear un programa de visió per ordinador per identificar automàticament els patrons d’estrelles d’una imatge. El mètode utilitza la biblioteca OpenCV (Open-Source Computer Vision) per crear un conjunt de cascades HAAR entrenades que poden ser
Reconeixement facial Opencv: 4 passos
Reconeixement facial Opencv: el reconeixement de cares és una cosa bastant habitual ara, en moltes aplicacions com els telèfons intel·ligents, molts aparells electrònics. Aquest tipus de tecnologia implica molts algorismes i eines, etc. que utilitza algunes plataformes de SOC incrustades incrustades com el Raspberry