Innholdsfortegnelse:
- Trinn 1: Ting du trenger
- Trinn 2: Opencv-intro og installasjon
- Trinn 3: Oppdage og gjenkjenne ansikt i en sanntidsvideo
- Trinn 4: Kjøre koden
Video: Opencv ansiktsgjenkjenning: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Ansiktsgjenkjenning er ganske vanlig nå i dag, i mange applikasjoner som smarttelefoner, mange elektroniske gadgets. Denne typen teknologi involverer mange algoritmer og verktøy osv. Som bruker noen innebygde innebygde SOC -plattformer som Raspberry Pi og åpen kildekode datavisning biblioteker som OpenCV, kan du nå legge til ansiktsgjenkjenning til dine egne applikasjoner som, sikkerhetssystemer.
I dette prosjektet vil jeg fortelle deg hvordan du bygger en ansiktsgjenkjenning ved å bruke en Raspberry Pi, og vi har brukt arduino+Lcd for å vise navnet på personen.
Trinn 1: Ting du trenger
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 lCD DISPLAY
4. RASPI-CAMERA / WEBcam (jeg foretrekker webkamera for bedre resultater)
Trinn 2: Opencv-intro og installasjon
OpenCV (open source computer vision library) er et veldig nyttig bibliotek - det gir mange nyttige funksjoner som tekstgjenkjenning, ansiktsgjenkjenning, gjenkjenning av gjenstander, opprettelse av dybdekart og maskinlæring.
Denne artikkelen viser deg hvordan du installerer Opencv og andre biblioteker på Raspberry Pi som vil komme godt med når du gjør objektdeteksjon og andre prosjekter. Derfra vil vi lære å utføre bilde- og videooperasjoner ved å utføre et prosjekt for gjenkjenning og maskinlæring. Spesielt vil vi skrive en enkel kode for å oppdage ansikter i et bilde.
Hva er OpenCV?
OpenCV er et programvarebibliotek med åpen kildekode for datamaskin og maskinlæring. OpenCV er utgitt under en BSD -lisens, noe som gjør den gratis for både akademisk og kommersiell bruk. Den har C ++, Python og Java -grensesnitt og støtter Windows, Linux, Mac OS, iOS og Android. OpenCV ble designet for beregningseffektivitet og et sterkt fokus på sanntidsapplikasjoner.
Hvordan installere OpenCV på en Raspberry Pi?
For å installere OpenCV må vi ha Python installert. Siden Raspberry Pis er forhåndslastet med Python, kan vi installere OpenCV direkte.
Skriv inn kommandoene nedenfor for å sikre at Raspberry Pi er oppdatert og for å oppdatere de installerte pakkene på Raspberry Pi til de nyeste versjonene.
sudo apt-get oppdateringer sudo apt-get oppgradering
Skriv inn følgende kommandoer i terminalen for å installere de nødvendige pakkene for OpenCV på 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 inn følgende kommando for å installere OpenCV 3 for Python 3 på Raspberry Pi, pip3 forteller oss at OpenCV vil bli installert for Python 3.
sudo pip3 installer opencv-contrib-python libwebp6
Nå skal OpenCV installeres.
(hvis det oppstod noen feil: fremdeles kan du gjøre det ved å følge lenken nedenfor
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Ikke ha det travelt, vi må sjekke om det er riktig installert eller ikke
Test opencv -en din ved å:
1. gå til terminalen din og skriv "python"
2. så skriver du "import cv2".
3. deretter skriver du "cv2._ versjon_".
installer deretter disse bibliotekene
pip3 installer python-numpy
pip3 installer python-matplotlib
Test kode for å oppdage ansikter i et bilde:
importer cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('ditt filnavn') #eksempel cv2.imread ('home/pi/Desktop/filename.jpg')
du vil få utskriften som en firkantet bokser ble dannet på ansiktene til folk som er i bildet.
Trinn 3: Oppdage og gjenkjenne ansikt i en sanntidsvideo
importer cv2
importer numpy som np
import os
importer serie
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 kan endres i ditt tilfelle, avhenger av arduinoen
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
gjenkjenner = cv2.face.createLBPHFaceRecognizer ()
bilder =
etiketter =
for filnavn i os.listdir ('Datasett'):
im = cv2.imread ('Datasett/'+filnavn, 0)
images.append (im)
labels.append (int (filnavn.split ('.') [0] [0]))
#print filnavn
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
anerkjenner.trening (bilder, np.array (etiketter))
print 'Trening ferdig… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # videoenheten din
lastRes = '' count = 0
mens (1):
_, ramme = cap.read ()
grå = cv2.cvtColor (ramme, cv2. COLOR_BGR2GRAY)
ansikter = faceCascade.detectMultiScale (grå, 1.3, 5)
telle+= 1
for (x, y, w, h) i ansikter:
cv2.rektangel (ramme, (x, y), (x+w, y+h), (255, 0, 0), 2)
hvis antall> 20: res = navn [gjenkjenner.predikt (grå [y: y+h, x: x+w])-1]
if res! = lastRes:
lastRes = res
print lastRes
ser.write (lastRes)
telle = 0
gå i stykker
cv2.imshow ('ramme', ramme)
k = 0xFF & cv2.waitKey (10)
hvis k == 27:
gå i stykker
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Trinn 4: Kjøre koden
1. Last ned filene som er vedlagt i forrige trinn
2. kopier de grå bildene dine (6 bilder/ prøver…..) til datasettmappen
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (bildesett for datasett for mer åpen datasettmappe)
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
i likhet med ovenstående kan du legge til etikettene for de respektive personene,
Så hvis pi oppdager et ansikt blant 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, så ble det merket som Tom Cruise, så vær forsiktig når du laster opp bildene ………………
og koble deretter arduinoen til bringebær Pi og gjør endringer i main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. legg inn alle de nedlastede filene (main.py, datasettmappen, haarcascade_frontalface_default.xml i en mappe.)
3. Åpne nå Raspi-terminalen, kjør koden din med "sudo python main.py"
Anbefalt:
Ansiktsgjenkjenning på Raspberry Pi 4B i 3 trinn: 3 trinn
Ansiktsgjenkjenning på Raspberry Pi 4B i 3 trinn: I denne instruksen skal vi utføre ansiktsgjenkjenning på Raspberry Pi 4 med Shunya O/S ved bruk av Shunyaface-biblioteket. Shunyaface er et bibliotek for ansiktsgjenkjenning/gjenkjenning. Prosjektet tar sikte på å oppnå raskeste gjenkjenning og gjenkjenningshastighet med
Abellcadabra (ansiktsgjenkjenning dørlåssystem): 9 trinn
Abellcadabra (ansiktsgjenkjenningslåsesystem): Jeg lå og lå under karantene, og prøvde å finne en måte å drepe tiden på ved å bygge ansiktsgjenkjenning for husdør. Jeg kalte det Abellcadabra - som er en kombinasjon mellom Abracadabra, en magisk frase med dørklokke som jeg bare tar klokken. LOL
MATLAB Enkel ansiktsgjenkjenning: 4 trinn
MATLAB Enkel ansiktsgjenkjenning: Hovedmålet med disse instruktørene er å vise hvor lett bildebehandlingen vil være. Ved hjelp av MATLABFace har deteksjon og sporing vært et viktig og aktivt forskningsfelt, så derfor skal jeg forklare hvordan kan det gjøres med
Opencv ansiktsgjenkjenning, trening og gjenkjenning: 3 trinn
Opencv ansiktsgjenkjenning, opplæring og gjenkjenning: OpenCV er et åpen kildekode datavisningsbibliotek som er veldig populært for å utføre grunnleggende bildebehandlingsoppgaver som uskarphet, bildeblanding, forbedring av bilde samt videokvalitet, terskel etc. I tillegg til bildebehandling, det beviser
Ansiktsgjenkjenning og identifikasjon - Arduino Face ID ved hjelp av OpenCV Python og Arduino .: 6 trinn
Ansiktsgjenkjenning og identifikasjon | Arduino Face ID Bruke OpenCV Python og Arduino .: Ansiktsgjenkjenning AKA face ID er en av de viktigste funksjonene på mobiltelefoner i dag. Så jeg hadde et spørsmål " kan jeg ha en ansikts -ID for mitt Arduino -prosjekt " og svaret er ja … Reisen min startet som følger: Trinn 1: Tilgang til vi