Taula de continguts:

Reconeixement i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos
Reconeixement i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos

Vídeo: Reconeixement i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos

Vídeo: Reconeixement i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos
Vídeo: CS50 2015 - Week 8, continued 2024, De novembre
Anonim
Image
Image

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

Accés a càmera web
Accés a 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

Identificació facial
Identificació facial

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

Recopilació de dades
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

Reconeixement facial
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: