Sisällysluettelo:

Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta
Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta

Video: Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta

Video: Kasvojen tunnistus ja tunnistus - Arduino -kasvotunnus OpenCV Pythonin ja Arduinon avulla .: 6 vaihetta
Video: Leap Motion SDK 2024, Marraskuu
Anonim
Image
Image

Kasvojentunnistus AKA face ID on yksi tärkeimmistä ominaisuuksista matkapuhelimissa nykyään.

Joten minulla oli kysymys "voinko saada kasvotunnuksen Arduino -projektilleni", ja vastaus on kyllä …

Matkani alkoi seuraavasti:

Vaihe 1: Pääsy verkkokameraan

vaihe 2: Kasvojen tunnistus.

vaihe 3: Tiedonkeruu

Vaihe 4: Koulutus

vaihe 5: Kasvojentunnistus

vaihe 6: Arduinon ohjelmointi

Selitän kaikki vaiheet alla. Toivon, että tämä auttaa sinua.

Vaihe 1: Pääsy verkkokameraan

Pääsy verkkokameraan
Pääsy verkkokameraan

Ensimmäinen vaihe kasvojentunnistuksessa oli päästä käsiksi kameraan tai tietokoneen visioon. Koska Intia on lukittu, halvin ratkaisu, jonka löysin, oli käyttää tietokoneideni verkkokameraa, johon minulla oli pääsy python -ohjelmalla openCV -moduulin avulla.

Saatat miettiä, mikä on OpenCV, eikö niin?

OpenCV (Open Source Computer Vision Library) on avoimen lähdekoodin tietokoneen visio- ja koneoppimisohjelmistokirjasto. OpenCV rakennettiin tarjoamaan yhteinen infrastruktuuri tietokonenäkösovelluksille ja nopeuttamaan koneen havaitsemisen käyttöä kaupallisissa tuotteissa.

Jos Opencv on asennettu tietokoneellesi, voit aloittaa. Jos ei, seuraa tätä vaihetta.

avaa komentokehote ja kirjoita "pip install opencv".

Varoitus: Saatat saada virheen, koska "pip" ei tunnisteta sisäiseksi tai ulkoiseksi komentoksi. joille sinun on lisättävä pip -asennuksen polku PATH -järjestelmämuuttujaasi. Käy läpi tämä viesti, se voi auttaa sinua.

stackoverflow.com/questions/23708898/pip-i…

Kun OpenCV on asennettu, voimme aloittaa… Tarkistaaksesi, onko se asennettu oikein, avaa Python -tulkki ja tuo kirjasto. Katso yllä oleva kuva, jonka pitäisi olla tuotoksesi.

Lataa python -tiedosto "AccessTo_webcam.py" ja suorita se. Olen antanut kaikki tarvittavat kommentit siellä.

Noniin, nyt sinulla on pääsy verkkokameraan. Hyvin tehty. siirrymme vaiheeseen 2.

Vaihe 2: Kasvojen tunnistus

Kasvojen tunnistus
Kasvojen tunnistus

saman OpenCV -moduulin avulla meidän on tunnistettava, onko videovirrassa kasvot vai ei.

OpenCV tarjoaa koulutusmenetelmän tai esikoulutettuja malleja, joita kutsutaan nimellä Cascade Classifier. Esikoulutetut mallit sijaitsevat OpenCV-asennuksen tietokansiossa. Tarjoan tiedoston lataamalla sen ja sijoittamalla sen projektikansioosi. Kansio, johon AccessTo_webcam.py -tiedosto on tallennettu. Jos et ole luonut sellaista, tee se.

Lataa "haarcascade_frontalface_default" ja aseta se projektin pääkansioon.

Lataa "Face_identifikation.py" ja aseta se projektin pääkansioon. Kaikki selitykset ovat siinä.

Nyt voit tunnistaa videovirran kasvot. Jatketaan siis vaiheeseen 3.

Vaihe 3: Tiedonkeruu

Tiedonkeruu
Tiedonkeruu

Jotta voimme tunnistaa kasvot, meidän on harjoiteltava python -ohjelmaa. Joille tarvitsemme tietoja.

Tiedonkeruu on melko helpoin vaihe tässä projektissa. luo kansio nimeltä "image_data" projektin pääkansioon. Luo "image_data" -kansion sisälle joitakin muita kansioita henkilön nimellä, jonne tallennamme tiedot. esimerkiksi:

Olen luonut "image_data" -kansioon vielä kaksi kansiota nimeltä "HRK" ja "Yahiya". kuten yllä olevassa kuvassa näkyy.

Luo nyt omat kansiot ja nimeä ne.

Kun kansiot on luotu, ala kerätä kuvia kyseisestä henkilöstä. Suosittelen keräämään lähes 20 kuvaa per henkilö. Voit myös lisätä kuvia, mutta varmista, että kaikista henkilöistä kerätyt tiedot sisältävät saman määrän kuvia. Se auttaa antamaan tarkkuutta.

siinä se nyt, siirrymme vaiheeseen 4.

Vaihe 4: Koulutus

Lyhyesti sanottuna käymme läpi kaikki "image_data" -kansiossa olevat kansiot ja kuvat ja luomme sanakirjan, joka sisältää tarran tunnuksen ja vastaavan nimen. Samaan aikaan lataamme kuvan tunnistamaan kasvot jokaisessa kuvassa, jota kutsumme sitä "kiinnostavaksi alueeksi", ja luomme ".yml" -tiedoston, joka sisältää nämä tiedot.

Jos olet kerännyt tietoja henkilöstä X ja Y.

merkitsemme henkilön X yhdeksi, mikä on hänen tunnistetunnuksensa ja nimi on X itse. Lataamme kuvan löytääksemme hänen kasvonsa eli kiinnostavan alueen ja liitämme tiedot luetteloon.

vastaavia vaiheita noudatetaan myös henkilölle Y. Ja lopuksi luomme ".yml" -tiedoston.

Lataa face_trainer.py -tiedosto ja aseta se projektin pääkansioon. Kaikki tarvittavat selitykset löytyvät kyseisestä tiedostosta.

Kun suoritat tämän ohjelman, se käy läpi kaikki kuvat ja luo kaksi tiedostoa nimeltä "labels.pickle" ja "trainner.yml". Nyt olet kouluttanut oman mallisi. joten jatketaan vaiheeseen 5.

Vaihe 5: Kasvontunnistus

Kasvojen tunnistus
Kasvojen tunnistus

Jos olet käynyt kaikki vaiheet oikein, olet saattanut luoda omia koulutettuja tietoja. Nyt käytämme näitä tietoja kasvojen tunnistamiseen.

Pohjimmiltaan lataamme koulutetut mallimme python -tiedostoon, käytä verkkokameraamme ja tunnistamme kasvot videovirrassa ja suoritamme vertailun tai ennusteen videovirrassa tunnistetun nykyisen kasvon ja koulutetun mallin välillä. jos tiedot täsmäävät, sanomme, että henkilö tunnistetaan, se on niin yksinkertaista …

Lataa "face_recognise.py" ja suorita se. Siinä on kaikki tarvittavat tiedot. Nyt kasvosi on ehkä tunnistettu. jos tarkkuus ei ole hyvä, yritä päivittää tiedot. jos kaikki on kunnossa, siirry vaiheeseen 6/

Vaihe 6: Arduinon ohjelmointi

Viimeinen ja viimeinen vaihe on Arduinon ohjelmointi ja yhteyden muodostaminen pythonin ja Arduinon välillä. Viestinnässä käytin "Sarjaliikennettä". Käy läpi yllä linkittämäni video, jotta löydät kuinka sarjaliikenne toimii ja voit luoda sellaisen. Löydät kaikki tarvittavat tiedostot videon kuvauksesta.

Jos olet käynyt videon läpi, anna minun selittää sinulle, mitä tein. Kun kasvoni tunnistetaan, tarratunnus on 2. Kun tarran tunnus on 2, lähetän sarjatiedoksi '1' Arduinolleni. Joka käynnistää LED -jahtajapiirini. Jos tarran tunnus on muu kuin 2, lähetän sarjatiedoksi '0', joka sammuttaa LED -jahtajapiirini.

Lataa tiedosto "ard_chaser.ino". Se on yksinkertainen LED -jahtajaohjelma, joka käyttää sarjaliikennettä.

Lataa yksinkertaisesti "face_recogniser1.py", joka muodostaa sarjaliikenteen Arduinon ja python -ohjelman välillä.

Ole hyvä. Toivottavasti olet oppinut jotain uutta. Tilaa youtube -kanavani saadaksesi lisää pythoniin ja Arduinoon liittyviä asioita. Jaa tämä, jos pidit siitä. Jatka tukemista.

Kiitos.

Suositeltava: