Innholdsfortegnelse:
- Trinn 1: Tilgang til webkamera
- Trinn 2: Ansiktsidentifikasjon
- Trinn 3: Datainnsamling
- Trinn 4: Trening
- Trinn 5: Ansiktsgjenkjenning
- Trinn 6: Programmering av Arduino
Video: Ansiktsgjenkjenning og identifikasjon - Arduino Face ID ved hjelp av OpenCV Python og Arduino .: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Ansiktsgjenkjenning AKA ansikts -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 webkamera
trinn 2: Ansiktsidentifikasjon.
trinn 3: Datainnsamling
Trinn 4: Trening
trinn 5: Ansiktsgjenkjenning
trinn 6: Programmering av Arduino
Jeg vil forklare alle trinnene nedenfor. Jeg håper at dette vil hjelpe deg.
Trinn 1: Tilgang til webkamera
Det første trinnet for ansiktsgjenkjenning var å ha tilgang til et kamera eller et datasyn. Siden India er under lockdown er den billigste løsningen jeg fant å bruke datamaskinens webkamera som jeg hadde tilgang til med et python -program ved hjelp av openCV -modul.
Du tenker kanskje hva OpenCV er, ikke sant?
OpenCV (Open Source Computer Vision Library) er et bibliotek med åpen kildekode for datavisning og maskinlæring. OpenCV ble bygget for å gi en felles infrastruktur for applikasjoner for datasyn og for å akselerere bruken av maskinoppfatning i kommersielle produkter.
Hvis Opencv er installert på datamaskinen din, er du i gang. Hvis ikke, følg dette trinnet.
åpne ledeteksten og skriv "pip install opencv".
Advarsel: Du kan få en feil ettersom "pip" ikke gjenkjennes som en intern eller ekstern kommando ". som du må legge til banen til pip -installasjonen din i PATH -systemvariabelen. Gå gjennom dette innlegget, det kan hjelpe deg.
stackoverflow.com/questions/23708898/pip-i…
Når OpenCV er installert, er vi i gang … For å sjekke om den er riktig installert, åpne Python -tolken din og importer biblioteket. Se bildet ovenfor som skal være utgangen din.
Last ned python -filen "AccessTo_webcam.py" og kjør den. Jeg har gitt alle nødvendige kommentarer der.
Nå har du tilgang til webkameraet. Bra gjort. la oss gå videre til trinn 2.
Trinn 2: Ansiktsidentifikasjon
ved hjelp av den samme OpenCV -modulen må vi identifisere om det er et ansikt på videostrømmen eller ikke.
OpenCV tilbyr en opplæringsmetode eller forhåndsutdannede modeller kalt Cascade Classifier. De forhåndsutdannede modellene ligger i datamappen i OpenCV-installasjonen. Jeg gir den filen, bare last den ned og legg den i prosjektmappen. Mappen der "AccessTo_webcam.py" -filen er lagret. Hvis du ikke har opprettet en så gjør det.
Last ned "haarcascade_frontalface_default" og legg den i hovedprosjektmappen.
Last ned "Face_identification.py" og legg den i hovedprosjektmappen. All forklaring er gitt i den.
Nå kan du identifisere ansiktene i en videostrøm. Så la oss gå videre til trinn 3.
Trinn 3: Datainnsamling
For å gjenkjenne ansiktene må vi trene vårt pythonprogram. Som vi trenger noen data for.
Datainnsamling er heller det enkleste trinnet i dette prosjektet. opprett en mappe med navnet "image_data" i hovedprosjektmappen. I mappen "image_data" kan du lage noen ekstra mapper med personens navn, der vi vil lagre dataene. for eksempel:
I mappen "image_data" har jeg opprettet ytterligere to mapper som heter "HRK" og "Yahiya". som vist på bildet ovenfor.
Lag nå dine egne mapper og navngi dem.
Når mappene er opprettet, kan du begynne å samle bilder av den bestemte personen. Jeg anbefaler å samle nesten 20 bilder per person. Du kan også legge til flere bilder, men sørge for at data samlet for alle personene inneholder samme antall bilder. Det hjelper å gi nøyaktighet.
det er det nå la oss gå videre til trinn 4.
Trinn 4: Trening
Kort fortalt går vi gjennom alle mappene og bildene som er tilstede i "image_data" -mappen og lager en ordbok som inneholder etikett -ID og det tilhørende navnet. Samtidig vil vi laste inn bildet for å oppdage ansiktet i hvert bilde som vi kaller det "Interessegruppe" og lage en ".yml" -fil som inneholder denne informasjonen.
Forutsatt at du har innsamlet data for person X og Y.
vi vil merke person X som 1 som vil være etikett -IDen hans og navnet vil være X selv. Vi laster inn bildet for å finne ansiktet hans, det vil si interesseområde og legger dataene til i en liste.
lignende trinn vil bli fulgt for person Y. Og til slutt vil vi lage en ".yml" -fil.
Last ned "face_trainer.py" -filen og legg den i hovedprosjektmappen. All nødvendig forklaring er gitt i selve filen.
Når du kjører dette programmet vil det gå gjennom alle bildene og opprette to filer som heter "labels.pickle" og "trainner.yml". Nå har du trent din egen modell. så la oss gå videre til trinn 5.
Trinn 5: Ansiktsgjenkjenning
Hvis du har gått igjennom alle trinnene ordentlig, kan det hende du har laget dine egne opplærte data. Nå skal vi bruke disse dataene til ansiktsgjenkjenning.
I utgangspunktet vil vi laste våre trente modeller inn i python -filen, få tilgang til webkameraet vårt, og identifisere Ansikter i videostrømmen og gjøre en sammenligning eller forutsigelse mellom det nåværende ansiktet som er identifisert i videostrømmen, og modellen som ble trent. hvis dataene blir matchet, sier vi at personen blir gjenkjent, at det er så enkelt …
Last ned "face_recognise.py" og kjør den. All nødvendig informasjon er gitt i den. Nå kan ansiktet ditt ha blitt gjenkjent. Hvis nøyaktigheten ikke er god, kan du prøve å oppdatere dataene. Hvis du er god til å gå, kan vi gå videre til trinn 6/
Trinn 6: Programmering av Arduino
Det siste og siste trinnet er å programmere Arduino, og å gi en kommunikasjonsmåte mellom python og Arduino. For kommunikasjon brukte jeg "Serial Communication". Gå gjennom videoen som jeg har koblet ovenfor for å finne ut hvordan seriell kommunikasjon fungerer og for å etablere en. Du finner alle nødvendige filer i videobeskrivelsen.
Hvis du har gått gjennom videoen, så la meg forklare deg hva jeg gjorde. Når ansiktet mitt blir gjenkjent, er etikett -ID -en 2. Når etikett -ID er 2, sender jeg '1' som serielle data til min Arduino. Som vil slå på LED -chaser -kretsen min. Hvis etikett -ID er annet enn 2, sender jeg '0' som serielle data, som vil slå av LED -chaser -kretsen min.
Last ned "ard_chaser.ino" -filen. Det er et enkelt LED chaser -program som bruker seriell kommunikasjon.
Last ned "face_recogniser1.py" på samme måte som vil etablere den serielle kommunikasjonen mellom Arduino og python -programmet.
Der går du. Jeg håper at du har lært noe nytt. Abonner på YouTube -kanalen min for flere ting relatert til python og Arduino. Del dette hvis du likte det. Fortsett å støtte.
Takk skal du ha.
Anbefalt:
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
Fargedeteksjon i Python ved hjelp av OpenCV: 8 trinn
Fargedeteksjon i Python ved hjelp av OpenCV: Hei! Denne instruksen brukes til å veilede hvordan du trekker ut en bestemt farge fra et bilde i python ved hjelp av openCV -bibliotek. Hvis du ikke er helt ny på denne teknikken, så ikke fortvil, på slutten av denne guiden vil du kunne programmere din helt egen farge
Augmented Reality (AR) for Dragonboard410c eller Dragonboard820c ved hjelp av OpenCV og Python 3.5: 4 trinn
Augmented Reality (AR) for Dragonboard410c eller Dragonboard820c Bruke OpenCV og Python 3.5: Denne instruksen beskriver hvordan du installerer OpenCV, Python 3.5 og avhengigheter for Python 3.5 for å kjøre augmented reality -applikasjonen
Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn
Lag OpenCV Image Classifiers Bruke Python: Haar -klassifiseringer i python og opencv er ganske vanskelig, men lett oppgave. Vi står ofte overfor problemene med bildedeteksjon og klassifisering. den beste løsningen er å lage din egen klassifisering. Her lærer vi å lage våre egne image -klassifisere med noen få kommandoer
IPod -identifikasjon: 5 trinn
IPod Identification: Ønsker du ikke gravering av lazer? Vil du fremdeles at iPod skal bære navnet ditt? Dette er en enkel, men effektiv idé for de som eier en av de populære plastklipsene på de nye iPod 5G -ene