Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
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. biblioteci precum OpenCV, acum puteți adăuga recunoașterea feței propriilor aplicații precum sistemele de securitate.
În acest proiect, vă voi spune cum să construiți o recunoaștere a feței utilizând un Raspberry Pi și am folosit arduino + Lcd pentru a afișa numele persoanei..
Pasul 1: Lucruri de care aveți nevoie
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 LCD DISPLAY
4. RASPI-CAMERA / WEBcam (prefer camera web pentru rezultate mai bune)
Pasul 2: Opencv-Intro și instalare
OpenCV (open source computer vision library) este o bibliotecă foarte utilă - oferă multe caracteristici utile, cum ar fi recunoașterea textului, recunoașterea feței, detectarea obiectelor, crearea hărților de adâncime și învățarea automată.
Acest articol vă va arăta cum să instalați Opencv și alte biblioteci pe Raspberry Pi, care vă vor fi la îndemână atunci când faceți detectarea obiectelor și alte proiecte. De acolo, vom învăța cum să efectuăm operații de imagine și video executând un proiect de recunoaștere a obiectelor și de învățare automată. Mai exact, vom scrie un cod simplu pentru a detecta fețele dintr-o imagine.
Ce este OpenCV?
OpenCV este o bibliotecă de software open source pentru viziune computerizată și învățare automată. OpenCV este lansat sub o licență BSD, făcându-l gratuit atât pentru uz academic, cât și comercial. Are interfețe C ++, Python și Java și acceptă Windows, Linux, Mac OS, iOS și Android. OpenCV a fost proiectat pentru eficiența computațională și un accent puternic pe aplicații în timp real.
Cum se instalează OpenCV pe un Raspberry Pi?
Pentru a instala OpenCV, trebuie să avem Python instalat. Deoarece Raspberry Pis este preîncărcat cu Python, putem instala OpenCV direct.
Tastați comenzile de mai jos pentru a vă asigura că Raspberry Pi este actualizat și pentru a actualiza pachetele instalate pe Raspberry Pi la cele mai recente versiuni.
sudo apt-get updatesudo apt-get upgrade
Tastați următoarele comenzi în terminal pentru a instala pachetele necesare pentru OpenCV pe 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
Tastați următoarea comandă pentru a instala OpenCV 3 pentru Python 3 pe Raspberry Pi, pip3 ne spune că OpenCV va fi instalat pentru Python 3.
sudo pip3 instalează opencv-contrib-python libwebp6
Acum ar trebui instalat OpenCV.
(dacă s-au produs erori: totuși o puteți face urmând linkul de mai jos
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Acum nu vă grăbiți, trebuie să verificăm dacă a fost instalat corect sau nu
Testați-vă opența prin:
1. mergi la terminalul tău și typr "python"
2. apoi introduceți „import cv2”.
3. apoi introduceți „cv2._ versiunea_”.
apoi instalați aceste biblioteci
pip3 instalează python-numpy
pip3 instalează python-matplotlib
Cod de testare pentru a detecta fețele dintr-o imagine:
import cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread („numele fișierului”) #example cv2.imread („home / pi / Desktop / filename-j.webp
veți obține ieșirea ca și cum s-au format cutii pătrate pe fețele oamenilor din imagine.
Pasul 3: detectarea și recunoașterea feței într-un videoclip în timp real
import cv2
import numpy ca np
import os
import serial
ser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) # / dev / ttyACM0 s-ar putea schimba în cazul dvs., depinde de arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
recognizer = cv2.face.createLBPHFaceRecognizer ()
imagini =
etichete =
pentru numele fișierului în os.listdir („Dataset”):
im = cv2.imread ('Dataset /' + nume de fișier, 0)
images.append (im)
labels.append (int (filename.split ('.') [0] [0]))
#print numele fișierului
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
recognizer.train (imagini, np.array (etichete))
tipărește „Antrenament finalizat”… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # dispozitivul dvs. video
lastRes = "count = 0
în timp ce (1):
_, cadru = cap.read ()
gri = cv2.cvtColor (cadru, cv2. COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale (gri, 1,3, 5)
numără + + 1
pentru (x, y, w, h) în fețe:
cv2.rectangle (frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
dacă număr> 20: res = nume [recunoscător.predict (gri [y: y + h, x: x + w]) - 1]
dacă res! = lastRes:
lastRes = res
print lastRes
ser.write (lastRes)
număr = 0
pauză
cv2.imshow („cadru”, cadru)
k = 0xFF & cv2.waitKey (10)
dacă k == 27:
pauză
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Pasul 4: Rularea codului
1. Descărcați fișierele atașate la pasul anterior
2. copiați fotografiile dvs. gri (6 imagini / mostre …..) în folderul setului de date
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (numărul de imagine al setului de date pentru mai multe dosare de date deschise)
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
la fel ca cele de mai sus, puteți adăuga etichete pentru persoanele respective,
deci dacă pi detectează o față între 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, atunci a fost denumită Tom Cruise, așa că vă rugăm să fiți atenți la încărcarea fotografiilor …
și apoi conectați-vă arduino la raspberry Pi și efectuați modificări în main.py codeser = serial. Serial ('/ dev / ttyACM0', 9600, timeout = 1) 3. introduceți toate fișierele descărcate (main.py, folderul setului de date, haarcascade_frontalface_default.xml într-un singur folder.)
3. Acum deschideți terminalul Raspi, rulați codul prin „sudo python main.py”
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 ș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 .: 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”? iar răspunsul este da … Călătoria mea a început după cum urmează: Pasul 1: Acces la noi
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
Detectarea feței și a ochilor cu Raspberry Pi Zero și Opencv: 3 pași
Detectarea feței și a ochilor cu Raspberry Pi Zero și Opencv: În acest instructiv vă voi arăta cum puteți detecta fața și ochii folosind raspberry pi și opencv. Acesta este primul meu instructable pe opencv. Am urmat multe tutoriale pentru a configura cv deschis în zmeură, dar de fiecare dată am lovit cu unele erori. Oricum eu