Innehållsförteckning:

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 .: 6 steg

Video: Ansiktsigenkänning och identifiering - Arduino Face ID med OpenCV Python och Arduino .: 6 steg

Video: Ansiktsigenkänning och identifiering - Arduino Face ID med OpenCV Python och Arduino .: 6 steg
Video: POE комплект видеонаблюдения РАБОТА ПО ОДНОМУ КАБЕЛЮ!!! 2024, Juli
Anonim
Image
Image

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

Tillgång till webbkamera
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

Ansiktsidentifiering
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

Datainsamling
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

Ansiktsigenkänning
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: