Indholdsfortegnelse:
- Trin 1: Ting du har brug for
- Trin 2: Opencv-Intro og installation
- Trin 3: Registrering og genkendelse af ansigt i en video i realtid
- Trin 4: Kørsel af koden
Video: Opencv ansigtsgenkendelse: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Ansigtsgenkendelse er en ganske almindelig ting nu om dage, i mange applikationer som smartphones, mange elektroniske gadgets. Denne form for teknologi involverer masser af algoritmer og værktøjer osv., Som bruger nogle integrerede integrerede SOC -platforme som Raspberry Pi og open source computer vision biblioteker som OpenCV, kan du nu tilføje ansigtsgenkendelse til dine egne applikationer som f.eks. sikkerhedssystemer.
I dette projekt fortæller jeg dig, hvordan du opbygger en ansigtsgenkendelse ved hjælp af en Raspberry Pi, og vi har brugt arduino+Lcd til at vise personens navn.
Trin 1: Ting du har brug for
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 lCD DISPLAY
4. RASPI-CAMERA / WEBcam (jeg foretrækker webcam for bedre resultater)
Trin 2: Opencv-Intro og installation
OpenCV (open source computer vision library) er et meget nyttigt bibliotek - det giver mange nyttige funktioner såsom tekstgenkendelse, ansigtsgenkendelse, objektgenkendelse, oprettelse af dybdekort og maskinlæring.
Denne artikel viser dig, hvordan du installerer Opencv og andre biblioteker på Raspberry Pi, der vil være praktisk, når du udfører objektregistrering og andre projekter. Derfra lærer vi, hvordan man udfører billed- og videooperationer ved at udføre et objektgenkendelses- og maskinlæringsprojekt. Specifikt vil vi skrive en simpel kode til at registrere ansigter i et billede.
Hvad er OpenCV?
OpenCV er et open source -computervision og maskinlæringssoftwarebibliotek. OpenCV frigives under en BSD -licens, hvilket gør det gratis til både akademisk og kommerciel brug. Det har C ++, Python og Java -grænseflader og understøtter Windows, Linux, Mac OS, iOS og Android. OpenCV blev designet til beregningseffektivitet og et stærkt fokus på applikationer i realtid.
Sådan installeres OpenCV på en Raspberry Pi?
For at installere OpenCV skal vi have Python installeret. Da Raspberry Pis er forudindlæst med Python, kan vi installere OpenCV direkte.
Indtast kommandoerne herunder for at sikre, at din Raspberry Pi er opdateret og for at opdatere de installerede pakker på din Raspberry Pi til de nyeste versioner.
sudo apt-get opdateringer sudo apt-get upgrade
Indtast følgende kommandoer i terminalen for at installere de nødvendige pakker til OpenCV på din 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
Skriv følgende kommando for at installere OpenCV 3 til Python 3 på din Raspberry Pi, pip3 fortæller os, at OpenCV bliver installeret til Python 3.
sudo pip3 installer opencv-contrib-python libwebp6
Nu skal OpenCV installeres.
(hvis der er opstået fejl: stadig kan du gøre det ved at følge nedenstående link
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Skynd dig nu ikke, vi skal kontrollere det, om det er installeret korrekt eller ej
Test din opencv ved:
1. gå til din terminal og skriv "python"
2. skriv derefter "import cv2".
3. skriv derefter "cv2._ version_".
installer derefter disse biblioteker
pip3 installer python-numpy
pip3 installer python-matplotlib
Test kode for at registrere ansigter i et billede:
import cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('dit filnavn') #eksempel cv2.imread ('home/pi/Desktop/filename.jpg')
du får output som en firkantede kasser blev dannet på ansigterne på mennesker, der er på billedet.
Trin 3: Registrering og genkendelse af ansigt i en video i realtid
import cv2
import numpy som np
import os
import seriel
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 kan ændre sig i dit tilfælde, afhænger af arduinoen
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
anerkender = cv2.face.createLBPHFaceRecognizer ()
billeder =
etiketter =
for filnavn i os.listdir ('Dataset'):
im = cv2.imread ('Dataset/'+filnavn, 0)
images.append (im)
labels.append (int (filnavn.split ('.') [0] [0]))
#print filnavn
names_file = open ('labels.txt')
navne = names_file.read (). split ('\ n')
anerkender.træning (billeder, np.array (etiketter))
print 'Uddannelse udført… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # din videoenhed
lastRes = '' count = 0
mens (1):
_, ramme = cap.read ()
grå = cv2.cvtColor (ramme, cv2. COLOR_BGR2GRAY)
ansigter = faceCascade.detectMultiScale (grå, 1,3, 5)
tæl+= 1
for (x, y, w, h) i ansigter:
cv2.rektangel (ramme, (x, y), (x+w, y+h), (255, 0, 0), 2)
hvis tæller> 20: res = navne [anerkender.forudsigelse (grå [y: y+h, x: x+w])-1]
hvis res! = lastRes:
lastRes = res
udskriv sidsteRes
ser.write (lastRes)
tæl = 0
pause
cv2.imshow ('ramme', ramme)
k = 0xFF & cv2.waitKey (10)
hvis k == 27:
pause
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Trin 4: Kørsel af koden
1. Download de vedhæftede filer i det foregående trin
2. kopier dine grå fotos (6 billeder/ prøver…..) til din datasætmappe
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (datasæt billednummer for mere åben datasætmappe)
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
ligesom ovenstående kan du tilføje etiketterne til de respektive personer,
så hvis pi opdager et ansigt blandt 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, så blev det mærket som Tom Cruise, så vær forsigtig, når du uploader billederne ……………
og slut derefter din arduino til din hindbær Pi og foretag ændringer i main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. sæt alle de downloadede filer (main.py, datasætmappe, haarcascade_frontalface_default.xml i en mappe.)
3. Åbn nu Raspi-terminal, kør din kode med "sudo python main.py"
Anbefalede:
Abellcadabra (låsesystem til ansigtsgenkendelse): 9 trin
Abellcadabra (ansigtsgenkendelseslåsesystem): Jeg lagde mig rundt under karantænen og forsøgte at finde en måde at dræbe tiden på ved at opbygge ansigtsgenkendelse til husdøren. Jeg kaldte det Abellcadabra - som er en kombination mellem Abracadabra, en magisk sætning med dørklokke, som jeg kun tager klokken. LOL
Dørlås til ansigtsgenkendelse: 8 trin
Ansigtsgenkendelsesdørlås: Omkring en måned undervejs præsenterer jeg dørlåsen til ansigtsgenkendelse! Jeg forsøgte at få det til at se så pænt ud, som jeg kan, men jeg kan kun gøre så meget som en 13-årig. Denne dørlås til ansigtsgenkendelse drives af en Raspberry Pi 4, med en særlig bærbar
Ansigtsgenkendelse og identifikation - Arduino Face ID ved hjælp af OpenCV Python og Arduino .: 6 trin
Ansigtsgenkendelse og identifikation | Arduino Face ID Brug af OpenCV Python og Arduino .: Ansigtsgenkendelse AKA face ID er i dag en af de vigtigste funktioner på mobiltelefoner. Så jeg havde et spørgsmål " kan jeg have et ansigts -id til mit Arduino -projekt " og svaret er ja … Min rejse startede som følger: Trin 1: Adgang til vi
Ansigtsgenkendelse i praksis: 21 trin
Ansigtsgenkendelse i praksis: Dette er et emne, jeg er så fascineret af, at det får mig til at miste søvn: Computer Vision, påvisning af genstande og mennesker gennem en foruddannet model
Dørklokke med ansigtsgenkendelse: 7 trin (med billeder)
Dørklokke med ansigtsgenkendelse: Motivation For nylig har der været en bølge af røverier i mit land, der er målrettet ældre i deres eget hjem. Normalt gives adgang fra beboerne selv, da de besøgende overbeviser dem om, at de er omsorgspersoner/sygeplejersker. Det