Taula de continguts:
- Pas 1: coses que necessiteu
- Pas 2: Opencv-Introducció i instal·lació
- Pas 3: detectar i reconèixer la cara en un vídeo en temps real
- Pas 4: execució del codi
Vídeo: Reconeixement facial Opencv: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
El reconeixement facial és una cosa força comuna 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 Pi i la visió per ordinador de codi obert biblioteques com OpenCV, ara podeu afegir reconeixement facial a les vostres pròpies aplicacions, com ara sistemes de seguretat.
En aquest projecte, us explicaré com crear un reconeixement facial mitjançant un Raspberry Pi i hem utilitzat arduino + Lcd per mostrar el nom de la persona.
Pas 1: coses que necessiteu
1. PI FRASSA
2. ARDUINO UNO / NANO
VISUALITZACIÓ LCD de 3,16x2
4. RASPI-CAMERA / WEBcam (prefereixo la càmera web per obtenir millors resultats)
Pas 2: Opencv-Introducció i instal·lació
OpenCV (biblioteca de visió per ordinador de codi obert) és una biblioteca molt útil: proporciona moltes funcions útils com ara reconeixement de text, reconeixement de cares, detecció d’objectes, creació de mapes de profunditat i aprenentatge automàtic.
Aquest article us mostrarà com instal·lar Opencv i altres biblioteques a Raspberry Pi que us resultaran útils quan feu la detecció d’objectes i altres projectes. A partir d’aquí, aprendrem a realitzar operacions d’imatge i vídeo executant un projecte de reconeixement d’objectes i d’aprenentatge automàtic. Concretament, escriurem un codi senzill per detectar cares en una imatge.
Què és OpenCV?
OpenCV és una biblioteca de programari de codi obert de visió per computador i aprenentatge automàtic. OpenCV s’allibera sota una llicència BSD, de manera que és gratuït per a ús acadèmic i comercial. Té interfícies C ++, Python i Java i és compatible amb Windows, Linux, Mac OS, iOS i Android. OpenCV va ser dissenyat per a l'eficiència computacional i un gran enfocament en aplicacions en temps real.
Com instal·lar OpenCV en un Raspberry Pi?
Per instal·lar OpenCV, hem de tenir instal·lat Python. Com que Raspberry Pis està precarregat amb Python, podem instal·lar OpenCV directament.
Escriviu les ordres següents per assegurar-vos que el vostre Raspberry Pi estigui actualitzat i per actualitzar els paquets instal·lats al vostre Raspberry Pi a les darreres versions.
sudo apt-get updates sudo apt-get upgrade
Escriviu les ordres següents al terminal per instal·lar els paquets necessaris per a OpenCV al vostre Raspberry Pi.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Escriviu l'ordre següent per instal·lar OpenCV 3 per a Python 3 al vostre Raspberry Pi, pip3 ens indica que OpenCV s'instal·larà per a Python 3.
sudo pip3 instal·la opencv-contrib-python libwebp6
Ara s’hauria d’instal·lar OpenCV.
(si es van produir errors: encara podeu fer-ho seguint l'enllaç següent
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Ara no tingueu pressa, hem de comprovar si s'ha instal·lat correctament o no
Proveu el vostre opencv mitjançant:
1. aneu al vostre terminal i typr "python"
2. llavors escriviu "importar cv2".
3. llavors escriviu "cv2._ versió_".
després instal·leu aquestes biblioteques
pip3 instal·la python-numpy
pip3 instal·la python-matplotlib
Codi de prova per detectar cares en una imatge:
importar cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('el vostre nom de fitxer') #example cv2.imread ('home / pi / Desktop / filename.jpg')
obtindreu la sortida com si es formessin quadres quadrats a les cares de les persones que apareixen a la imatge.
Pas 3: detectar i reconèixer la cara en un vídeo en temps real
importar cv2
importar numpy com a np
import os
importació de sèries
ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 pot canviar en el vostre cas, depèn de l'arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
recognizer = cv2.face.createLBPHFaceRecognizer ()
imatges =
etiquetes =
per al nom de fitxer a os.listdir ('Conjunt de dades'):
im = cv2.imread ('Conjunt de dades /' + nom de fitxer, 0)
images.append (im)
labels.append (int (filename.split ('.') [0] [0]))
#print nom de fitxer
fitxer_noms = obert ('labels.txt')
names = names_file.read (). split ('\ n')
recognizer.train (imatges, np.array (etiquetes))
imprimir 'Formació feta… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # el vostre dispositiu de vídeo
lastRes = "count = 0
mentre (1):
_, frame = cap.read ()
gris = cv2.cvtColor (marc, cv2. COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale (gris, 1,3, 5)
compta + = 1
per a (x, y, w, h) en cares:
cv2.rectangle (marc, (x, y), (x + w, y + h), (255, 0, 0), 2)
if count> 20: res = names [recognizer.predict (gris [y: y + h, x: x + w]) - 1]
si res! = lastRes:
lastRes = res
imprimir lastRes
ser.write (lastRes)
compte = 0
trencar
cv2.imshow ('marc', marc)
k = 0xFF & cv2.waitKey (10)
si k == 27:
trencar
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Pas 4: execució del codi
1. Baixeu els fitxers adjunts al pas anterior
2. copieu les vostres fotos grises (6 imatges / mostres …) a la carpeta del vostre conjunt de dades
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (número de la imatge del conjunt de dades per a la carpeta de dades més oberta)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Leo-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
com l'anterior, podeu afegir les etiquetes per a les persones respectives,
per tant, si el pi detecta alguna cara entre 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, aleshores es va anomenar Tom Cruise, així que tingueu precaució mentre pengeu les fotos ………………
i després connecteu el vostre arduino al vostre raspberry Pi i feu canvis al main.py codeser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. introduïu tots els fitxers descarregats (main.py, carpeta de conjunt de dades, haarcascade_frontalface_default.xml en una carpeta.)
3. Ara obriu el terminal Raspi, executeu el vostre codi mitjançant "sudo python main.py"
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 i identificació facial - Identificació de la cara Arduino mitjançant OpenCV Python i Arduino .: 6 passos
Reconeixement i identificació facial | Identificació facial Arduino amb OpenCV Python i Arduino .: reconeixement facial L’identificació facial AKA és una de les funcions més importants dels telèfons mòbils actuals. Per tant, tenia una pregunta "puc tenir un identificador de cara 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 nosaltres
Reconeixement facial a la pràctica: 21 passos
Reconeixement facial a la pràctica: és un tema que em fascina tant, que em fa perdre el son: la visió per computador, la detecció d’objectes i persones a través d’un model prèviament entrenat