Innehållsförteckning:
- Steg 1: Saker du behöver
- Steg 2: Opencv-introduktion och installation
- Steg 3: Upptäcka och känna igen ansikte i en video i realtid
- Steg 4: Kör koden
Video: Opencv ansiktsigenkänning: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Ansiktsigenkänning är ganska vanligt nu för tiden, i många applikationer som smarta telefoner, många elektroniska prylar. Denna typ av teknik involverar många algoritmer och verktyg osv. Som använder några inbäddade inbyggda SOC -plattformar som Raspberry Pi och open source -datorsyn bibliotek som OpenCV, kan du nu lägga till ansiktsigenkänning till dina egna applikationer som, säkerhetssystem.
I det här projektet kommer jag att berätta hur du bygger ett ansiktsigenkänning med en Raspberry Pi och vi har använt arduino+Lcd för att visa namnet på personen.
Steg 1: Saker du behöver
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 lCD DISPLAY
4. RASPI-CAMERA / WEBcam (jag föredrar webbkamera för bättre resultat)
Steg 2: Opencv-introduktion och installation
OpenCV (open source computer vision library) är ett mycket användbart bibliotek - det ger många användbara funktioner som textigenkänning, ansiktsigenkänning, objektidentifiering, skapande av djupkartor och maskininlärning.
Den här artikeln visar dig hur du installerar Opencv och andra bibliotek på Raspberry Pi som kommer att vara till nytta när du gör objektidentifiering och andra projekt. Därifrån lär vi oss hur man utför bild- och videooperationer genom att utföra ett objektigenkänning och maskininlärningsprojekt. Specifikt kommer vi att skriva en enkel kod för att upptäcka ansikten i en bild.
Vad är OpenCV?
OpenCV är ett bibliotek med öppen källkod för datorsyn och maskininlärning. OpenCV släpps under en BSD -licens vilket gör det gratis för både akademiskt och kommersiellt bruk. Den har C ++, Python och Java -gränssnitt och stöder Windows, Linux, Mac OS, iOS och Android. OpenCV har utformats för beräkningseffektivitet och ett starkt fokus på applikationer i realtid.
Hur installerar jag OpenCV på en Raspberry Pi?
För att installera OpenCV måste vi ha Python installerat. Eftersom Raspberry Pis är förinstallerade med Python kan vi installera OpenCV direkt.
Skriv kommandona nedan för att se till att din Raspberry Pi är uppdaterad och för att uppdatera de installerade paketen på din Raspberry Pi till de senaste versionerna.
sudo apt-get updatesudo apt-get uppgradering
Skriv följande kommandon i terminalen för att installera de nödvändiga paketen för OpenCV på din Raspberry Pi.
sudo apt installera libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Skriv följande kommando för att installera OpenCV 3 för Python 3 på din Raspberry Pi, pip3 berättar att OpenCV kommer att installeras för Python 3.
sudo pip3 installera opencv-contrib-python libwebp6
Nu ska OpenCV installeras.
(om det uppstod några fel: ändå kan du göra det genom att följa länken nedan
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Skynda dig inte nu, vi måste kontrollera om det är korrekt installerat eller inte
Testa din opencv genom att:
1. gå till din terminal och skriv "python"
2. skriv sedan "import cv2".
3. skriv sedan "cv2._ version_".
installera sedan dessa bibliotek
pip3 installera python-numpy
pip3 installera python-matplotlib
Testkod för att upptäcka ansikten i en bild:
importera cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('ditt filnamn') #exempel cv2.imread ('home/pi/Desktop/filename.jpg')
du får utgången som en fyrkantig låda bildades på ansiktena på människor som är på bilden.
Steg 3: Upptäcka och känna igen ansikte i en video i realtid
importera cv2
importera numpy som np
importera os
importera serie
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 kan ändras i ditt fall, beror på arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
identifierare = cv2.face.createLBPHFaceRecognizer ()
bilder =
etiketter =
för filnamn i os.listdir ('Dataset'):
im = cv2.imread ('Dataset/'+filnamn, 0)
images.append (im)
labels.append (int (filnamn.split ('.') [0] [0]))
#print filnamn
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
identifierare.train (bilder, np.array (etiketter))
print 'Träning klar… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # din videoenhet
lastRes = '' count = 0
medan (1):
_, ram = cap.read ()
grå = cv2.cvtColor (ram, cv2. COLOR_BGR2GRAY)
ansikten = faceCascade.detectMultiScale (grå, 1.3, 5)
räkna+= 1
för (x, y, w, h) i ansikten:
cv2.rektangel (ram, (x, y), (x+w, y+h), (255, 0, 0), 2)
om antal> 20: res = namn [identifierare.predikt (grå [y: y+h, x: x+w])-1]
if res! = lastRes:
lastRes = res
skriv ut lastRes
ser.write (lastRes)
räkna = 0
ha sönder
cv2.imshow ('ram', ram)
k = 0xFF & cv2.waitKey (10)
om k == 27:
ha sönder
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Steg 4: Kör koden
1. Ladda ner filerna som bifogades i föregående steg
2. kopiera dina gråfoton (6 bilder/ prover…..) till din dataset -mapp
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (datauppsättning bildnummer för mer öppen datamapp)
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
som ovan kan du lägga till etiketterna för respektive person,
så om pi upptäcker något ansikte bland 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, så märktes det som Tom Cruise, så var försiktig när du laddar upp foton ……………….
och anslut sedan din arduino till din hallon Pi och gör ändringar i main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. mata in alla nedladdade filer (main.py, dataset -mapp, haarcascade_frontalface_default.xml i en mapp.)
3. Öppna nu Raspi-terminalen och kör din kod med "sudo python main.py"
Rekommenderad:
Ansiktsigenkänning på Raspberry Pi 4B i 3 steg: 3 steg
Ansiktsigenkänning på Raspberry Pi 4B i tre steg: I denna instruktionsbok ska vi utföra ansiktsigenkänning på Raspberry Pi 4 med Shunya O/S med hjälp av Shunyaface-biblioteket. Shunyaface är ett bibliotek för ansiktsigenkänning/upptäckt. Projektet syftar till att uppnå snabbaste detekterings- och igenkänningshastighet med
MATLAB Enkel ansiktsigenkänning: 4 steg
MATLAB Enkel ansiktsigenkänning: Huvudsyftet med dessa instruktioner är att visa hur enkelt bildbehandlingen kommer att vara. Med hjälp av MATLABFace har detektering och spårning varit ett viktigt och aktivt forskningsfält, så det är därför jag ska förklara hur kan man göra det
IP-kamera med ansiktsigenkänning med ESP32-CAM-kortet: 5 steg
IP-kamera med ansiktsigenkänning med ESP32-CAM-kortet: Det här inlägget är annorlunda jämfört med de andra och vi tar en titt på det mycket intressanta ESP32-CAM-kortet som är förvånansvärt billigt (mindre än $ 9) och lätt att använda. Vi skapar en enkel IP -kamera som kan användas för att strömma ett livevideoflöde med 2
Lås för ansiktsigenkänning: 8 steg
Dörrlås för ansiktsigenkänning: Ungefär en månad på gång presenterar jag dörrlåset för ansiktsigenkänning! Jag försökte få det att se så snyggt ut som jag kan, men jag kan bara göra så mycket som en 13-åring. Detta dörrlås för ansiktsigenkänning drivs av en Raspberry Pi 4, med en speciell bärbar
Ansiktsigenkänning och identifiering - Arduino Face ID med OpenCV Python och Arduino .: 6 steg
Ansiktsigenkänning och identifiering | Arduino Face ID Med OpenCV Python och Arduino .: Ansiktsigenkänning AKA face ID är en av de viktigaste funktionerna på mobiltelefoner nuförtiden. Så jag hade en fråga " kan jag ha ett ansikts -id för mitt Arduino -projekt " och svaret är ja … Min resa började enligt följande: Steg 1: Tillgång till vi