Sisukord:

Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu
Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu

Video: Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu

Video: Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu
Video: Face Masks & Face Recognition Accuracy 2024, Juuni
Anonim
Image
Image

Näotuvastus AKA näo ID on tänapäeval üks olulisemaid funktsioone mobiiltelefonides.

Niisiis, mul oli küsimus "kas mul on oma Arduino projekti nägu" ja vastus on jah …

Minu teekond algas järgmiselt:

Samm: juurdepääs veebikaamerale

samm: näo tuvastamine.

samm: andmete kogumine

4. samm: koolitus

samm: näotuvastus

samm: Arduino programmeerimine

Allpool selgitan kõiki samme. Loodan, et see aitab teid.

Samm: juurdepääs veebikaamerale

Juurdepääs veebikaamerale
Juurdepääs veebikaamerale

Näotuvastuse esimene samm oli juurdepääs kaamerale või arvutinägemisele. Kuna India on lukus, oli odavaim lahendus, mille leidsin, kasutada oma arvutite veebikaamerat, millele mul oli juurdepääs python -programmiga, kasutades openCV moodulit.

Võib -olla mõtlete, mis on OpenCV, kas pole?

OpenCV (Open Source Computer Vision Library) on avatud lähtekoodiga arvutite nägemise ja masinõppe tarkvararaamatukogu. OpenCV ehitati selleks, et pakkuda arvutinägemise rakendustele ühist infrastruktuuri ja kiirendada masina tajumise kasutamist kaubanduslikes toodetes.

Kui teie arvutisse on installitud Opencv, on teil hea minna. Kui ei, siis järgige seda sammu.

avage käsuviip ja tippige "pip install opencv".

Hoiatus: võite saada vea, kuna "pip" ei tunnistata sisemise või välise käsuna. mille jaoks peate lisama oma pip -i paigaldamise tee oma PATH -süsteemi muutujale. Vaadake seda postitust, see võib teid aidata.

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

Kui OpenCV on installitud, on meil hea minna … Et kontrollida, kas see on õigesti installitud, avage Pythoni tõlk ja importige kogu. Vaadake ülaltoodud pilti, mis peaks olema teie väljund.

Laadige alla püütoni fail "AccessTo_webcam.py" ja käivitage see. Esitasin seal kõik vajalikud kommentaarid.

Selge, nüüd on teil juurdepääs veebikaamerale. Hästi tehtud. jätkame sammuga 2.

2. samm: näo tuvastamine

Näo tuvastamine
Näo tuvastamine

sama OpenCV mooduli abil peame tuvastama, kas videovoos on nägu või mitte.

OpenCV pakub koolitusmeetodit või eelnevalt koolitatud mudeleid, mida nimetatakse kaskaadi klassifikaatoriks. Eelkoolitatud mudelid asuvad OpenCV installi andmekaustas. Pakun selle faili lihtsalt alla ja asetage see oma projekti kausta. Kaust, kuhu fail "AccessTo_webcam.py" on salvestatud. Kui te pole seda loonud, tehke seda.

Laadige alla "haarcascade_frontalface_default" ja asetage see projekti põhikausta.

Laadige alla "Face_identifikatsioon.py" ja asetage see projekti põhikausta. Kõik selgitused on selles esitatud.

Nüüd saate videovoos nägusid tuvastada. Nii et jätkame 3. sammuga.

3. samm: andmete kogumine

Andmete kogumine
Andmete kogumine

Nägude äratundmiseks peame treenima oma püütoniprogrammi. Selleks vajame mõningaid andmeid.

Andmete kogumine on selles projektis lihtsaim samm. looge oma projekti põhikausta kaust nimega "image_data". Looge kausta "image_data" mõned täiendavad kaustad inimese nimega, kuhu me andmed salvestame. näiteks:

Olen loonud kausta "image_data" veel kaks kausta nimega "HRK" ja "Yahiya". nagu ülaltoodud pildil näidatud.

Nüüd looge oma kaustad ja pange neile nimi.

Kui kaustad on loodud, alustage selle konkreetse inimese piltide kogumist. Soovitan koguda ligi 20 pilti inimese kohta. Saate lisada ka rohkem pilte, kuid veenduge, et kõigi isikute kohta kogutud andmed sisaldavad sama arvu pilte. See aitab täpsust pakkuda.

see on kõik, liigume edasi 4. sammu juurde.

4. samm: koolitus

Lühidalt, vaatame läbi kõik kaustad ja pildid, mis on kaustas "image_data", ja loome sõnastiku, mis sisaldab sildi ID -d ja vastavat nime. Samal ajal laadime pildi, et tuvastada nägu igal pildil, mida me nimetame seda "huvipakkuvaks piirkonnaks", ja loome ".yml" faili, mis sisaldab seda teavet.

Eeldusel, et teil on isiku X ja Y kohta andmeid kogutud.

märgime isiku X 1 -ks, mis on tema sildi ID ja nimi X ise. Laadime pildi, et leida tema nägu, st huvipakkuv piirkond, ja lisame andmed loendisse.

sarnaseid samme järgitakse isiku Y puhul. Ja lõpuks loome faili ".yml".

Laadige alla fail "face_trainer.py" ja asetage see projekti põhikausta. Kõik vajalikud selgitused on selles failis endas olemas.

Selle programmi käivitamisel läbib see kõik pildid ja loob kaks faili nimega "labels.pickle" ja "trainner.yml". Nüüd olete oma mudeli välja koolitanud. nii et jätkame 5. sammuga.

Samm: näotuvastus

Näotuvastus
Näotuvastus

Kui olete kõik toimingud korralikult läbinud, olete võib -olla loonud oma koolitatud andmed. Nüüd kasutame neid andmeid näotuvastuseks.

Põhimõtteliselt laadime oma koolitatud mudelid pythoni faili, pääseme juurde meie veebikaamerale ja tuvastame videovoos näod ning teeme võrdluse või ennustuse videovoos tuvastatud praeguse näo ja koolitatud mudeli vahel. kui andmed on sobitatud, siis ütleme, et inimene tuntakse ära, see on lihtsalt nii lihtne …

Laadige alla "face_recognise.py" ja käivitage see. Selles on esitatud kogu vajalik teave. Nüüd võis teie nägu ära tunda. kui täpsus pole hea, proovige andmeid värskendada. kui teil on kõik korras, jätkake sammuga 6/

6. samm: Arduino programmeerimine

Viimane ja viimane samm on Arduino programmeerimine ning pythoni ja Arduino vahelise suhtlusviisi pakkumine. Suhtlemiseks kasutasin "Serial Communication". Sirvige ülaltoodud videot, et leida, kuidas jadakommunikatsioon töötab ja selle luua. Leiate kõik vajalikud failid video kirjeldusest.

Kui olete video läbi vaadanud, siis lubage mul teile selgitada, mida ma tegin. Kui mu nägu ära tuntakse, on märgise ID 2. Kui sildi ID on 2, saadan oma Arduinole seeriaandmetena „1”. Mis lülitab minu LED -i tagaajamisahela sisse. Kui sildi ID on muu kui 2, saadan seeriaandmetena '0', mis lülitab minu LED -jälitaja ahela välja.

Laadige alla fail "ard_chaser.ino". See on lihtne LED -jälitaja programm, mis kasutab jadaühendust.

Lihtsalt laadige alla "face_recogniser1.py", mis loob jadaühenduse Arduino ja pythoni programmi vahel.

Palun. Loodan, et olete õppinud midagi uut. Tellige minu youtube'i kanal, et saada rohkem asju, mis on seotud pythoni ja Arduinoga. Jagage seda, kui teile meeldis. Toetage jätkuvalt.

Aitäh.

Soovitan: