Indholdsfortegnelse:
- Trin 1: Adgang til webcam
- Trin 2: Ansigtsidentifikation
- Trin 3: Dataindsamling
- Trin 4: Træning
- Trin 5: Ansigtsgenkendelse
- Trin 6: Programmering af Arduino
Video: Ansigtsgenkendelse og identifikation - Arduino Face ID ved hjælp af OpenCV Python og Arduino .: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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 ansigt -id til mit Arduino -projekt", og svaret er ja …
Min rejse startede som følger:
Trin 1: Adgang til webcam
trin 2: Ansigtsidentifikation.
trin 3: Dataindsamling
Trin 4: Træning
trin 5: Ansigtsgenkendelse
trin 6: Programmering af Arduino
Jeg vil forklare alle trinene herunder. Jeg håber, at dette vil hjælpe dig.
Trin 1: Adgang til webcam
Det første trin for ansigtsgenkendelse var at have adgang til et kamera eller et computersyn. Da Indien er låst inde, var den billigste løsning, jeg fandt, at bruge min computers webcam, som jeg havde adgang til med et python -program ved hjælp af openCV -modul.
Du tænker måske, hvad der er OpenCV, ikke sandt?
OpenCV (Open Source Computer Vision Library) er et open-source computer vision og maskinlæringssoftwarebibliotek. OpenCV blev bygget til at levere en fælles infrastruktur til computer vision applikationer og for at fremskynde brugen af maskinopfattelse i kommercielle produkter.
Hvis Opencv er installeret på din computer, er du klar til at gå. Hvis ikke, følg dette trin.
åben kommandoprompt og skriv "pip install opencv".
Advarsel: Du får muligvis en fejl, da "'pip' ikke genkendes som en intern eller ekstern kommando". som du skal tilføje stien til din pipinstallation til din PATH -systemvariabel. Gennemgå dette indlæg, det kan hjælpe dig.
stackoverflow.com/questions/23708898/pip-i…
Når OpenCV er installeret, er vi klar til at gå … For at kontrollere, om den er korrekt installeret, skal du åbne din Python -tolk og importere biblioteket. Se billedet ovenfor, der skal være dit output.
Download python -filen "AccessTo_webcam.py" og kør den. Jeg har givet alle de nødvendige kommentarer der.
Der går du, Nu har du adgang til webcam. Godt klaret. lad os gå videre til trin 2.
Trin 2: Ansigtsidentifikation
ved hjælp af det samme OpenCV -modul skal vi identificere, om der er et ansigt på videostrømmen eller ej.
OpenCV giver en træningsmetode eller foruddannede modeller kaldet Cascade Classifier. De foruddannede modeller findes i datamappen i OpenCV-installationen. Jeg leverer den fil, bare download den og placer den i din projektmappe. Mappen, hvor filen "AccessTo_webcam.py" er gemt. Hvis du ikke har oprettet en, så gør det.
Download "haarcascade_frontalface_default" og placer det i hovedprojektmappen.
Download "Face_identification.py" og placer den i projektmappen. Al forklaringen findes i den.
Nu kan du identificere ansigterne i en videostream. Så lad os gå videre til trin 3.
Trin 3: Dataindsamling
For at genkende ansigterne skal vi træne vores python -program. Til hvilket vi har brug for nogle data.
Dataindsamling er snarere det nemmeste trin i dette projekt. opret en mappe med navnet "image_data" i din hovedprojektmappe. Inde i mappen "image_data" skal du oprette nogle ekstra mapper med personens navn, hvor vi vil gemme dataene. for eksempel:
I mappen "image_data" har jeg oprettet yderligere to mapper ved navn "HRK" og "Yahiya". som vist på billedet ovenfor.
Opret nu dine egne mapper, og navngiv dem.
Når mapperne er oprettet, skal du begynde at indsamle billeder af den pågældende person. Jeg anbefaler at samle næsten 20 billeder pr. Person. Du kan også tilføje flere billeder, men sørg for, at data indsamlet for alle personerne indeholder det samme antal billeder. Det hjælper med at give nøjagtighed.
det er det nu lad os gå videre til trin 4.
Trin 4: Træning
Kort fortalt går vi igennem alle de mapper og billeder, der findes i mappen "image_data" og opretter en ordbog, der indeholder etiket -id'et og det tilsvarende navn. Samtidig indlæser vi billedet for at registrere ansigtet i hvert billede, som vi kalder det "Interessegruppe" og opretter en ".yml" -fil, der indeholder disse oplysninger.
Forudsat at du har indsamlet data for person X og Y.
vi vil mærke person X som 1, hvilket vil være hans etiket -ID og navn vil være X selv. Vi indlæser billedet for at finde hans ansigt, dvs. område af interesse og tilføjer dataene til en liste.
lignende trin vil blive fulgt for person Y. Og endelig vil vi oprette en ".yml" -fil.
Download filen "face_trainer.py", og anbring den i projektmappen. Al den nødvendige forklaring findes i selve filen.
Når du kører dette program, går det igennem alle billederne og opretter to filer med navnet "labels.pickle" og "trainner.yml". Nu har du trænet din egen model. så lad os gå videre til trin 5.
Trin 5: Ansigtsgenkendelse
Hvis du har gennemgået alle trin korrekt, har du muligvis oprettet dine egne uddannede data. Nu vil vi bruge disse data til ansigtsgenkendelse.
Grundlæggende vil vi indlæse vores uddannede modeller i python -filen, få adgang til vores webcam og identificere ansigter i videostrømmen og foretage en sammenligning eller forudsigelse mellem det aktuelle ansigt, der er identificeret i videostrømmen, og den model, der blev trænet. hvis dataene matches, siger vi, at personen genkendes, at det er lige så enkelt …
Download "face_recognise.py" og kør det. Alle nødvendige oplysninger findes i den. Nu kan dit ansigt være blevet genkendt. hvis nøjagtigheden ikke er god, så prøv at opdatere dataene. Hvis du er klar til at gå, lad os gå videre til trin 6/
Trin 6: Programmering af Arduino
Det sidste og sidste trin er programmering af Arduino, og for at give en kommunikationsform mellem python og Arduino. Til kommunikation brugte jeg "Seriel kommunikation". Gå gennem videoen, som jeg har linket ovenfor for at finde ud af, hvordan seriel kommunikation fungerer, og for at etablere en. Du finder alle de nødvendige filer i videobeskrivelsen.
Hvis du har gennemgået videoen, så lad mig forklare dig, hvad jeg gjorde. Når mit ansigt genkendes, er det angivne label -ID 2. Når label -ID er 2 sender jeg '1' som serielle data til min Arduino. Hvilket vil tænde mit LED chaser kredsløb. Hvis etiket -ID er andet end 2, sender jeg '0' som serielle data, som vil slukke for mit LED -chaser -kredsløb.
Download filen "ard_chaser.ino". Det er et enkelt LED chaser -program, der bruger seriel kommunikation.
Download simuleret "face_recogniser1.py", der etablerer den serielle kommunikation mellem Arduino og python -programmet.
Værsgo. Jeg håber, at du har lært noget nyt. Abonner på min youtube -kanal for flere ting relateret til python og Arduino. Del dette, hvis du kunne lide det. Bliv ved med at støtte.
Tak skal du have.
Anbefalede:
QR -kodescanner ved hjælp af OpenCV i Python: 7 trin
QR-kodescanner ved hjælp af OpenCV i Python: I dagens verden ser vi, at QR-kode og stregkode bruges stort set alle steder fra produktemballage til online betalinger og nu om dagen ser vi QR-koder selv i restauranten for at se menuen. tvivler på, at det er den store tanke nu. Men har du nogensinde wo
Farvedetektering i Python ved hjælp af OpenCV: 8 trin
Farvedetektering i Python ved hjælp af OpenCV: Hej! Denne instruerbare bruges til at guide til, hvordan man udtrækker en bestemt farve fra et billede i python ved hjælp af openCV -bibliotek. Hvis du ikke er ny i denne teknik, skal du ikke bekymre dig, i slutningen af denne vejledning kan du programmere din helt egen farve
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Opencv ansigtsgenkendelse: 4 trin
Opencv ansigtsgenkendelse: 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
Opret OpenCV -billedklassificatorer ved hjælp af Python: 7 trin
Opret OpenCV Image Classifiers Brug af Python: Haar classifiers i python og opencv er en temmelig vanskelig, men let opgave. Vi står ofte over for problemerne med billeddetektering og klassificering. den bedste løsning er at oprette din egen klassifikator. Her lærer vi at lave vores egne billedklassifikatorer med et par komm