Obsah:
- Krok 1: Prístup k webovej kamere
- Krok 2: Identifikácia tváre
- Krok 3: Zhromažďovanie údajov
- Krok 4: Školenie
- Krok 5: Rozpoznávanie tváre
- Krok 6: Programovanie Arduina
Video: Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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
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
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
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
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:
Zrkadlo na rozpoznávanie tváre s tajným oddelením: 15 krokov (s obrázkami)
Zrkadlo na rozpoznávanie tváre s tajným oddelením: Vždy ma fascinovali stále kreatívne tajné oddelenia používané v príbehoch, filmoch a podobne. Keď som teda videl súťaž Secret Compartment Contest, rozhodol som sa s touto myšlienkou experimentovať a vytvoriť obyčajné zrkadlo, ktoré otvára
Zámok dverí na rozpoznávanie tváre: 8 krokov
Zámok dverí na rozpoznávanie tváre: Asi mesiac na výrobu predstavujem zámok dverí na rozpoznanie tváre! Snažil som sa, aby to vyzeralo tak úhľadne, ako to len bude možné, ale môžem len toľko, ako len 13-ročný. Tento zámok dverí na rozpoznanie tváre ovláda Raspberry Pi 4 so špeciálnou prenosnou batériou
Opencv Detekcia tváre, školenie a rozpoznávanie: 3 kroky
Opencv Rozpoznávanie, školenie a rozpoznávanie tváre: OpenCV je knižnica počítačového videnia s otvoreným zdrojovým kódom, ktorá je veľmi obľúbená pri vykonávaní základných úloh spracovania obrazu, ako je rozmazanie, miešanie obrazu, vylepšovanie kvality obrazu a videa, prahové hodnoty atď. Okrem spracovania obrazu, dokazuje to
Rozpoznávanie tváre v praxi: 21 krokov
Rozpoznávanie tváre v praxi: Toto je predmet, ktorý ma tak fascinuje, že mi nedáva spať: Počítačové videnie, detekcia predmetov a ľudí prostredníctvom vopred vycvičeného modelu
Rozpoznávanie tváre Opencv: 4 kroky
Opencv Face Recognition: Rozpoznávanie tváre je v dnešnej dobe celkom bežná vec, v mnohých aplikáciách, ako sú chytré telefóny, mnoho elektronických pomôcok. Tento druh technológie zahŕňa množstvo algoritmov a nástrojov atď., Ktorá používa niektoré vstavané platformy SOC, ako je Raspberry