Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10
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 webbkamera
steg 2: Ansiktsidentifiering.
steg 3: Datainsamling
Steg 4: Träning
steg 5: Ansiktsigenkänning
steg 6: Programmering av Arduino
Jag kommer att förklara alla steg nedan. Jag hoppas att detta kommer att hjälpa dig.
Steg 1: Tillgång till webbkamera
Det första steget för ansiktsigenkänning var att ha tillgång till en kamera eller en datorsyn. Eftersom Indien är inlåst var den billigaste lösningen som jag hittade att använda datorns webbkamera som jag hade tillgång till med ett python -program med openCV -modul.
Du kanske tänker på vad som är OpenCV, eller hur?
OpenCV (Open Source Computer Vision Library) är ett bibliotek med öppen källkod för datorsyn och maskininlärning. OpenCV byggdes för att tillhandahålla en gemensam infrastruktur för datorvisionsapplikationer och för att påskynda användningen av maskinuppfattning i kommersiella produkter.
Om Opencv är installerat på din dator är du klar att gå. Om inte, följ detta steg.
öppna kommandotolken och skriv "pip install opencv".
Varning: Du kan få ett fel eftersom "pip" inte känns igen som ett internt eller externt kommando ". för vilken Du måste lägga till sökvägen för din pipinstallation till din PATH -systemvariabel. Gå igenom det här inlägget, det kan hjälpa dig.
stackoverflow.com/questions/23708898/pip-i…
När OpenCV är installerat är vi redo att gå … För att kontrollera om det är korrekt installerat öppnar du din Python -tolk och importerar biblioteket. Se bilden ovan som borde vara din produktion.
Ladda ner python -filen "AccessTo_webcam.py" och kör den. Jag har lämnat alla nödvändiga kommentarer där.
Nu har du tillgång till webbkameran. Bra gjort. låt oss gå vidare till steg 2.
Steg 2: Ansiktsidentifiering
med hjälp av samma OpenCV -modul måste vi identifiera om det finns ett ansikte på videoströmmen eller inte.
OpenCV tillhandahåller en träningsmetod eller förutbildade modeller som kallas Cascade Classifier. De förutbildade modellerna finns i datamappen i OpenCV-installationen. Jag ger den filen bara ladda ner den och placera den i din projektmapp. Mappen där filen "AccessTo_webcam.py" är lagrad. Om du inte har skapat en så gör det.
Ladda ner "haarcascade_frontalface_default" och placera den i huvudprojektmappen.
Ladda ner "Face_identification.py" och placera den i projektmappen. All förklaring finns i den.
Nu kan du identifiera ansiktena i en videoström. Så låt oss gå vidare till steg 3.
Steg 3: Datainsamling
För att känna igen ansikten måste vi träna vårt pythonprogram. För vilket vi behöver lite data.
Datainsamling är snarare det enklaste steget i detta projekt. skapa en mapp med namnet "image_data" i din huvudprojektmapp. Inne i mappen "image_data" skapar du ytterligare mappar med personens namn, där vi kommer att lagra data. till exempel:
I mappen "image_data" har jag skapat ytterligare två mappar med namnet "HRK" och "Yahiya". som visas i bilden ovan.
Skapa nu dina egna mappar och namnge dem.
När mapparna har skapats börjar du samla bilder av den specifika personen. Jag rekommenderar att du samlar nästan 20 bilder per person. Du kan också lägga till fler bilder men se till att data som samlas in för alla personer innehåller samma antal bilder. Det hjälper till att ge noggrannhet.
det är det nu, låt oss gå vidare till steg 4.
Steg 4: Träning
I korthet går vi igenom alla mappar och bilder som finns i mappen "image_data" och skapar en ordlista som innehåller etikett -ID och motsvarande namn. Samtidigt laddar vi in bilden för att upptäcka ansiktet i varje bild som vi kallar den "Region of Interest" och skapar en ".yml" -fil som innehåller den informationen.
Förutsatt att du har samlat in data för person X och Y.
vi kommer att märka person X som 1 vilket blir hans etikett -ID och namnet kommer att vara X själv. Vi laddar bilden för att hitta hans ansikte, dvs intresseområde och lägger till uppgifterna i en lista.
liknande steg kommer att följas för person Y. Och slutligen kommer vi att skapa en ".yml" -fil.
Ladda ner "face_trainer.py" -filen och placera den i projektmappen. All nödvändig förklaring finns i själva filen.
När du kör detta program går det igenom alla bilder och skapar två filer med namnet "labels.pickle" och "trainner.yml". Nu har du tränat din egen modell. så låt oss gå vidare till steg 5.
Steg 5: Ansiktsigenkänning
Om du har gått igenom alla steg ordentligt kan du ha skapat din egen utbildade data. Nu kommer vi att använda den informationen för ansiktsigenkänning.
I grund och botten kommer vi att ladda våra utbildade modeller i python -filen, få tillgång till vår webbkamera och identifiera ansikten i videoströmmen och göra en jämförelse eller förutsägelse mellan det aktuella ansiktet som identifieras i videoströmmen och modellen som utbildades. om data matchas så säger vi att personen känns igen det är bara så enkelt …
Ladda ner "face_recognise.py" och kör det. All nödvändig information finns i den. Nu kan ditt ansikte ha blivit igenkänt. om noggrannheten inte är bra, försök att uppdatera data. Om du är bra att gå, låt oss gå vidare till steg 6/
Steg 6: Programmering av Arduino
Det sista och sista steget är att programmera Arduino, och för att tillhandahålla ett kommunikationssätt mellan python och Arduino. För kommunikation använde jag "Serial Communication". Gå igenom videon som jag har länkat ovan för att hitta hur seriell kommunikation fungerar och för att upprätta en. Du hittar alla nödvändiga filer i videobeskrivningen.
Om du har gått igenom videon, låt mig förklara för dig vad jag gjorde. När mitt ansikte känns igen är etikett -ID: t 2. När etikett -ID är 2 skickar jag "1" som seriell data till min Arduino. Vilket kommer att slå på min LED -chaser -krets. Om etikett -ID är annat än 2 skickar jag '0' som seriell data, vilket stänger av min LED -chaser -krets.
Ladda ner filen "ard_chaser.ino". Det är ett enkelt LED -chaser -program som använder seriell kommunikation.
Ladda ner "face_recogniser1.py" på samma sätt som kommer att skapa den seriella kommunikationen mellan Arduino och python -programmet.
Varsågod. Jag hoppas att du har lärt dig något nytt. Prenumerera på min youtube -kanal för fler saker relaterade till python och Arduino. Dela detta om du gillade det. Fortsätt stödja.
Tack.
Rekommenderad:
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
Dörrklocka med ansiktsigenkänning: 7 steg (med bilder)
Dörrklocka med ansiktsigenkänning: Motivation Det har nyligen skett en våg av rån i mitt land som är riktade mot äldre i deras egna hem. Vanligtvis beviljas tillträde av de åkande själva eftersom besökarna övertygar dem om att de är vårdgivare/sjuksköterskor. Den
Ansiktsigenkänning Smart Lock med LTE Pi HAT: 4 steg
Ansiktsigenkänning Smart Lock Med LTE Pi HAT: Ansiktsigenkänning används mer och mer allmänt, vi kan använda det för att skapa ett smart lås
Opencv ansiktsigenkänning: 4 steg
Opencv ansiktsigenkänning: 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 etc. som använder några inbäddade inbyggda SOC -plattformar som hallon
IPod -identifiering: 5 steg
IPod -identifiering: Ville du inte gravera graveringen? Vill du fortfarande att din iPod ska bära ditt namn? Det här är en enkel, men effektiv idé för dem som äger ett av de populära plastfodralen för nya iPod 5G