Obsah:

Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov
Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov

Video: Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov

Video: Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov
Video: Как настроить и использовать камеру ESP32 с камерой Micro USB WiFi 2024, November
Anonim
Image
Image

Rozpoznávanie tváre AKA face ID je v dnešnej dobe jednou z najdôležitejších funkcií mobilných telefónov.

Preto som mal otázku „môžem mať pre svoj projekt Arduino identifikátor tváre“a odpoveď je áno …

Moja cesta začala takto:

Krok 1: Prístup k webovej kamere

krok 2: Identifikácia tváre.

krok 3: Zhromažďovanie údajov

Krok 4: Školenie

krok 5: Rozpoznanie tváre

krok 6: Programovanie Arduina

Všetky kroky vysvetlím nižšie. Dúfam, že vám to pomôže.

Krok 1: Prístup k webovej kamere

Prístup k webovej kamere
Prístup k webovej kamere

Prvým krokom k rozpoznaniu tváre bolo mať prístup k fotoaparátu alebo počítačovému videniu. Keďže India je zablokovaná, najlacnejším riešením, ktoré som zistil, bolo použitie webovej kamery môjho počítača, ku ktorej som mal prístup pomocou programu python pomocou modulu openCV.

Možno si hovoríte, čo je OpenCV, však?

OpenCV (Open Source Computer Vision Library) je softvérová knižnica počítačového videnia a strojového učenia s otvoreným zdrojovým kódom. OpenCV bol vytvorený tak, aby poskytoval spoločnú infraštruktúru pre aplikácie počítačového videnia a aby urýchlil používanie strojového vnímania v komerčných produktoch.

Ak je na vašom počítači nainštalovaný Opencv, môžete ísť. Ak nie, postupujte podľa tohto kroku.

otvorte príkazový riadok a zadajte príkaz „pip install opencv“.

Varovanie: Môže sa zobraziť chyba, pretože „„ pip “nie je rozpoznaný ako interný alebo externý príkaz“. pre ktorý musíte do svojej systémovej premennej PATH pridať cestu inštalácie pip. Prejdite si tento príspevok, možno vám to pomôže.

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

Akonáhle je OpenCV nainštalovaný, môžeme začať … Ak chcete skontrolovať, či je správne nainštalovaný, otvorte interpret Pythonu a importujte knižnicu. Pozrite sa na obrázok vyššie, ktorý by mal byť vašim výstupom.

Stiahnite si súbor python „AccessTo_webcam.py“a spustite ho. Poskytol som tam všetky potrebné pripomienky.

Nech sa páči, teraz máte prístup k webovej kamere. Dobre. prejdeme ku kroku 2.

Krok 2: Identifikácia tváre

Identifikácia tváre
Identifikácia tváre

pomocou rovnakého modulu OpenCV musíme identifikovať, či je vo video streame tvár alebo nie.

OpenCV poskytuje tréningovú metódu alebo vopred vyškolené modely nazývané Cascade Classifier. Vopred pripravené modely sú umiestnené v priečinku s údajmi v inštalácii OpenCV. Poskytujem tento súbor, stačí ho stiahnuť a umiestniť do priečinka projektu. Priečinok, kde je uložený súbor „AccessTo_webcam.py“. Ak ste ho ešte nevytvorili, urobte to.

Stiahnite si „haarcascade_frontalface_default“a umiestnite ho do hlavného priečinka projektu.

Stiahnite si „Face_identification.py“a umiestnite ho do hlavného priečinka projektu. Je v ňom uvedené všetky vysvetlenia.

Teraz môžete vo video streame identifikovať tváre. Prejdeme teda ku kroku 3.

Krok 3: Zhromažďovanie údajov

Zber dát
Zber dát

Aby sme rozpoznali tváre, musíme trénovať náš program python. Na to potrebujeme nejaké údaje.

Zhromažďovanie údajov je v tomto projekte skôr najľahším krokom. vytvorte priečinok s názvom „image_data“vo svojom hlavnom priečinku projektu. V priečinku „image_data“vytvorte niekoľko ďalších priečinkov s menom osoby, do ktorých budeme údaje ukladať. napríklad:

V priečinku „image_data“som vytvoril ďalšie dva priečinky s názvom „HRK“a „Yahiya“. ako je znázornené na obrázku vyššie.

Teraz si vytvorte vlastné priečinky a pomenujte ich.

Po vytvorení priečinkov začnite zbierať obrázky konkrétnej osoby. Odporúčam zhromaždiť takmer 20 obrázkov na osobu. Môžete tiež pridať ďalšie obrázky, ale dohliadnuť na to, aby údaje zhromaždené pre všetky osoby obsahovali rovnaký počet obrázkov. Pomáha zaistiť presnosť.

to je všetko, prejdeme ku kroku 4.

Krok 4: Školenie

Stručne povedané, prejdeme všetky priečinky a obrázky, ktoré sa nachádzajú v priečinku „image_data“, a vytvoríme slovník, ktorý bude obsahovať ID štítka a zodpovedajúci názov. Súčasne načítame obrázok, aby sme rozpoznali tvár na každom obrázku, ktorý nazývame „oblasť záujmu“, a vytvoríme súbor „.yml“, ktorý obsahuje tieto informácie.

Za predpokladu, že máte údaje zhromaždené pre osobu X a Y.

osobu X označíme ako 1, čo bude jeho ID štítka a meno bude samotné X. Načítame obrázok, aby sme našli jeho tvár, tj. Oblasť záujmu, a pridáme údaje do zoznamu.

podobné kroky sa budú vykonávať pre osobu Y. A nakoniec vytvoríme súbor „.yml“.

Stiahnite si súbor "face_trainer.py" a umiestnite ho do hlavného priečinka projektu. Všetky potrebné vysvetlenia sú uvedené v samotnom súbore.

Keď spustíte tento program, prejde všetkými obrázkami a vytvorí dva súbory s názvom „labels.pickle“a „trainner.yml“. Teraz ste si natrénovali svoj vlastný model. pokračujme teda krokom 5.

Krok 5: Rozpoznávanie tváre

Rozpoznávanie tváre
Rozpoznávanie tváre

Ak ste správne prešli všetkými krokmi, možno ste vytvorili svoje vlastné vyškolené údaje. Teraz tieto údaje použijeme na rozpoznanie tváre.

V zásade načítame naše trénované modely do súboru python, pristupujeme k našej webovej kamere a identifikujeme tváre vo video streame a urobíme porovnanie alebo predpoveď medzi aktuálnou tvárou, ktorá je identifikovaná vo video streame, a modelom, ktorý bol natrénovaný. ak sú údaje zhodné, potom hovoríme, že je osoba rozpoznaná, je to také jednoduché …

Stiahnite si „face_recognise.py“a spustite ho. Sú v ňom uvedené všetky potrebné informácie. Teraz mohla byť vaša tvár rozpoznaná. ak presnosť nie je dobrá, skúste aktualizovať údaje. ak ste v poriadku, pokračujte krokom 6/

Krok 6: Programovanie Arduina

Posledným a posledným krokom je programovanie Arduina a zabezpečenie režimu komunikácie medzi pythonom a Arduinom. Na komunikáciu som použil „Sériovú komunikáciu“. Prejdite na video, ktoré som prepojil vyššie, zistíte, ako sériová komunikácia funguje, a vytvorte si ju. V popise videa nájdete všetky požadované súbory.

Ak ste si video prešli, dovoľte mi, aby som vám vysvetlil, čo som urobil. Keď je moja tvár rozpoznaná, potom je poskytnuté ID štítku 2. Keď bude ID štítku 2, pošlem do svojho Arduina „1“ako sériové údaje. Čo zapne môj obvod LED chaser. Ak je ID štítka iné ako 2, pošlem ako sériové údaje „0“, čím sa vypne môj obvod LED diódy.

Stiahnite si súbor „ard_chaser.ino“. Jedná sa o jednoduchý program LED chaser, ktorý používa sériovú komunikáciu.

Jednoducho si stiahnite „face_recogniser1.py“, ktorý nadviaže sériovú komunikáciu medzi Arduinom a programom python.

Nech sa páči. Dúfam, že ste sa dozvedeli niečo nové. Prihláste sa na odber môjho kanála youtube a získajte ďalšie informácie o pythone a Arduine. Ak sa vám to páči, zdieľajte to. Podporujte aj naďalej.

Ďakujem.

Odporúča: