Turinys:
- 1 žingsnis: Prieiga prie kameros
- 2 veiksmas: veido atpažinimas
- 3 žingsnis: duomenų rinkimas
- 4 žingsnis: mokymas
- 5 veiksmas: veido atpažinimas
- 6 žingsnis: „Arduino“programavimas
Video: Veido atpažinimas ir identifikavimas - „Arduino“veido ID naudojant „OpenCV Python“ir „Arduino“.: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Veido atpažinimas AKA veido ID yra viena iš svarbiausių šių dienų mobiliųjų telefonų funkcijų.
Taigi, man kilo klausimas „ar galiu turėti savo„ Arduino “projekto ID“, o atsakymas yra „taip“…
Mano kelionė prasidėjo taip:
1 veiksmas: prieiga prie internetinės kameros
2 žingsnis: veido atpažinimas.
3 žingsnis: duomenų rinkimas
4 žingsnis: mokymas
5 veiksmas: veido atpažinimas
6 veiksmas: „Arduino“programavimas
Toliau paaiškinsiu visus veiksmus. Tikiuosi, kad tai jums padės.
1 žingsnis: Prieiga prie kameros
Pirmasis veido atpažinimo žingsnis buvo turėti prieigą prie fotoaparato ar kompiuterio vizijos. Kadangi Indija yra užblokuota, pigiausias sprendimas, kurį radau, buvo naudoti kompiuterių internetinę kamerą, prie kurios turėjau prieigą, naudodami „python“programą, naudodamas „openCV“modulį.
Galbūt jūs galvojate, kas yra „OpenCV“, ar ne?
„OpenCV“(„Open Source Computer Vision Library“) yra atvirojo kodo kompiuterinės vizijos ir mašininio mokymosi programinės įrangos biblioteka. „OpenCV“buvo sukurta siekiant sukurti bendrą kompiuterinio matymo programų infrastruktūrą ir pagreitinti mašinų suvokimo naudojimą komerciniuose produktuose.
Jei „Opencv“yra įdiegta jūsų kompiuteryje, galite pradėti. Jei ne, atlikite šį žingsnį.
atidarykite komandų eilutę ir įveskite „pip install opencv“.
Įspėjimas: galite gauti klaidą, nes „pip“neatpažįstama kaip vidinė ar išorinė komanda “. prie kurio PATH sistemos kintamojo turite pridėti savo pip instaliacijos kelią. Peržiūrėkite šį įrašą, tai gali jums padėti.
stackoverflow.com/questions/23708898/pip-i…
Įdiegę „OpenCV“, galime pradėti… Norėdami patikrinti, ar jis tinkamai įdiegtas, atidarykite „Python“vertėją ir importuokite biblioteką. Žiūrėkite aukščiau esantį paveikslėlį, kuris turėtų būti jūsų rezultatas.
Atsisiųskite „Python“failą „AccessTo_webcam.py“ir paleiskite jį. Ten pateikiau visus būtinus komentarus.
Na, dabar jūs turite prieigą prie internetinės kameros. Šauniai padirbėta. pereikime prie 2 veiksmo.
2 veiksmas: veido atpažinimas
to paties „OpenCV“modulio pagalba turime nustatyti, ar vaizdo sraute yra veidas, ar ne.
„OpenCV“siūlo mokymo metodą arba iš anksto apmokytus modelius, vadinamus „Cascade Classifier“. Iš anksto apmokyti modeliai yra „OpenCV“diegimo duomenų aplanke. Aš siūlau tą failą tiesiog atsisiųsti ir įdėti į savo projekto aplanką. Aplankas, kuriame saugomas failas „AccessTo_webcam.py“. Jei to nesukūrėte, padarykite tai.
Atsisiųskite „haarcascade_frontalface_default“ir įdėkite jį į pagrindinį projekto aplanką.
Atsisiųskite „Face_identification.py“ir įdėkite jį į pagrindinį projekto aplanką. Jame pateikiamas visas paaiškinimas.
Dabar galite atpažinti veidus vaizdo įrašų sraute. Taigi pereikime prie 3 veiksmo.
3 žingsnis: duomenų rinkimas
Norėdami atpažinti veidus, turime išmokyti savo python programą. Tam mums reikia tam tikrų duomenų.
Duomenų rinkimas yra lengviausias šio projekto žingsnis. pagrindiniame projekto aplanke sukurkite aplanką pavadinimu „image_data“. Aplanko „image_data“viduje sukurkite keletą papildomų aplankų su asmens vardu, kuriame mes saugosime duomenis. pavyzdžiui:
Aplanke „image_data“sukūriau dar du aplankus, pavadintus „HRK“ir „Yahiya“. kaip parodyta aukščiau esančiame paveikslėlyje.
Dabar sukurkite savo aplankus ir pavadinkite juos.
Sukūrę aplankus, pradėkite rinkti konkretaus asmens atvaizdus. Aš rekomenduoju surinkti beveik 20 vaizdų vienam asmeniui. Taip pat galite pridėti daugiau vaizdų, tačiau pasirūpinkite, kad visų asmenų surinktuose duomenyse būtų tas pats vaizdų skaičius. Tai padeda užtikrinti tikslumą.
tai dabar pereikime prie 4 žingsnio.
4 žingsnis: mokymas
Trumpai tariant, mes peržiūrėsime visus aplankus ir vaizdus, esančius aplanke „image_data“, ir sukursime žodyną, kuriame bus etiketės ID ir atitinkamas pavadinimas. Tuo pačiu metu įkeliame vaizdą, kad aptiktų veidą kiekviename vaizde, kurį mes vadiname „dominančiu regionu“, ir sukursime „.yml“failą, kuriame yra ši informacija.
Darant prielaidą, kad turite duomenų apie asmenis X ir Y.
pažymėsime asmenį X kaip 1, kuris bus jo etiketės ID, o vardas - pats X. Įkeliame vaizdą, kad surastume jo veidą, ty dominantį regioną, ir pridedame duomenis prie sąrašo.
panašūs veiksmai bus atliekami asmeniui Y. Ir galiausiai sukursime failą „.yml“.
Atsisiųskite „face_trainer.py“failą ir įdėkite jį į pagrindinį projekto aplanką. Visi reikalingi paaiškinimai pateikiami tame pačiame faile.
Kai paleisite šią programą, ji peržiūrės visus vaizdus ir sukurs du failus pavadinimais „labels.pickle“ir „trainner.yml“. Dabar jūs išmokėte savo modelį. taigi pereikime prie 5 veiksmo.
5 veiksmas: veido atpažinimas
Jei tinkamai atlikote visus veiksmus, galbūt sukūrėte savo apmokytus duomenis. Dabar tuos duomenis naudosime veido atpažinimui.
Iš esmės mes įkelsime savo apmokytus modelius į „python“failą, pateksime į savo internetinę kamerą, vaizdo įrašo sraute nustatysime veidus ir palyginsime ar numatysime dabartinį vaizdo įrašo sraute nurodytą veidą ir apmokytą modelį. jei duomenys sutampa, sakome, kad asmuo yra atpažįstamas, tai yra taip paprasta …
Atsisiųskite „face_recognise.py“ir paleiskite ją. Jame pateikiama visa reikalinga informacija. Dabar jūsų veidas galėjo būti atpažintas. jei tikslumas nėra geras, pabandykite atnaujinti duomenis. jei viskas gerai, pereikime prie 6 veiksmo/
6 žingsnis: „Arduino“programavimas
Paskutinis ir paskutinis žingsnis yra „Arduino“programavimas ir bendravimo tarp python ir Arduino būdas. Bendravimui naudojau „Serial Communication“. Peržiūrėkite vaizdo įrašą, kurį susiejau aukščiau, kad sužinotumėte, kaip veikia serijinis ryšys ir jį sukuriate. Vaizdo įrašo apraše rasite visus reikalingus failus.
Jei peržiūrėjote vaizdo įrašą, leiskite man paaiškinti, ką aš padariau. Kai mano veidas atpažįstamas, pateikiamas etiketės ID yra 2. Kai etiketės ID bus 2, aš išsiųsiu „1“kaip serijos duomenis į savo „Arduino“. Kuris įjungs mano LED persekiojimo grandinę. Jei etiketės ID yra kitoks nei 2, aš atsiųsiu „0“kaip serijinius duomenis, kurie išjungs mano šviesos diodų grandinės grandinę.
Atsisiųskite failą „ard_chaser.ino“. Tai paprasta LED persekiojimo programa, naudojanti nuoseklųjį ryšį.
Tiesiog atsisiųskite „face_recogniser1.py“, kuris užmezgs serijinį ryšį tarp „Arduino“ir „python“programos.
Štai taip. Tikiuosi, kad sužinojote ką nors naujo. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau informacijos apie „python“ir „Arduino“. Pasidalinkite, jei jums tai patiko. Toliau palaikykite.
Ačiū.
Rekomenduojamas:
Dirbtinis intelektas ir vaizdo atpažinimas naudojant „HuskyLens“: 6 žingsniai (su nuotraukomis)
Dirbtinis intelektas ir vaizdo atpažinimas naudojant „HuskyLens“: Ei, kas, vaikinai! Akarsh čia iš CETech. Šiame projekte mes pažvelgsime į „DFRobot“„HuskyLens“. Tai dirbtiniu intelektu varomas fotoaparato modulis, galintis atlikti keletą dirbtinio intelekto operacijų, tokių kaip veido atpažinimas
Pirštų atspaudų identifikavimas: 4 žingsniai
Pirštų atspaudų atpažinimas: kasdieniame gyvenime galime matyti pirštų atspaudų aplikaciją. Tobulėjant mobiliųjų telefonų pramonei, beveik visų mobilusis telefonas turi pirštų atspaudų atrakinimo funkciją. Šiandien pristatysiu pirštų atspaudų atrakinimo įrenginį, kurį galima naudoti
Žvaigždžių atpažinimas naudojant kompiuterio viziją („OpenCV“): 11 žingsnių (su paveikslėliais)
Žvaigždžių atpažinimas naudojant kompiuterio viziją („OpenCV“): šioje instrukcijoje bus aprašyta, kaip sukurti kompiuterio vizijos programą, kuri automatiškai atpažintų žvaigždžių raštus vaizde. Šis metodas naudoja „OpenCV“(atviro kodo kompiuterinės vizijos) biblioteką, kad sukurtų apmokytų HAAR kaskadų rinkinį, kuris gali būti
Kalbos atpažinimas naudojant „Google Speech“API ir „Python“: 4 veiksmai
Kalbos atpažinimas naudojant „Google Speech“API ir „Python“: kalbos atpažinimas Kalbos atpažinimas yra natūralios kalbos apdorojimo dalis, kuri yra dirbtinio intelekto dalis. Paprasčiau tariant, kalbos atpažinimas yra kompiuterinės programinės įrangos galimybė atpažinti žodžius ir frazes šnekamąja kalba
„IPod“identifikavimas: 5 žingsniai
„IPod“identifikavimas: nenorėjote graviruoti lazerio? Vis dar norite, kad jūsų „iPod“būtų jūsų vardas? Tai paprasta, bet efektyvi idėja tiems, kuriems priklauso vienas populiariausių plastikinių dėklų, skirtų naujiems „iPod 5G“