Obsah:

Rozpoznávání a identifikace obličeje - Arduino Face ID pomocí OpenCV Python a Arduino .: 6 kroků
Rozpoznávání a identifikace obličeje - Arduino Face ID pomocí OpenCV Python a Arduino .: 6 kroků

Video: Rozpoznávání a identifikace obličeje - Arduino Face ID pomocí OpenCV Python a Arduino .: 6 kroků

Video: Rozpoznávání a identifikace obličeje - Arduino Face ID pomocí OpenCV Python a Arduino .: 6 kroků
Video: ESP32-CAM erROR ENROLL Face Detection, Face Recognation (Subtittled) 2024, Listopad
Anonim
Image
Image

Rozpoznávání obličeje AKA face ID je v dnešní době jednou z nejdůležitějších funkcí mobilních telefonů.

Měl jsem tedy otázku „mohu mít pro svůj projekt Arduino ID tváře“a odpověď zní ano…

Moje cesta začala takto:

Krok 1: Přístup k webové kameře

krok 2: Identifikace obličeje.

krok 3: Sběr dat

Krok 4: Školení

krok 5: Rozpoznání tváře

krok 6: Programování Arduina

Níže vysvětlím všechny kroky. Doufám, že vám to pomůže.

Krok 1: Přístup k webové kameře

Přístup k webové kameře
Přístup k webové kameře

Prvním krokem pro rozpoznávání obličeje bylo mít přístup k fotoaparátu nebo počítačovému vidění. Jelikož je Indie pod zámkem, nejlevnějším řešením, které jsem našel, bylo použití webové kamery mých počítačů, ke které jsem měl přístup pomocí programu python pomocí modulu openCV.

Možná si říkáte, co je OpenCV, že?

OpenCV (Open Source Computer Vision Library) je open-source knihovna softwaru pro počítačové vidění a strojové učení. OpenCV byl vytvořen tak, aby poskytoval společnou infrastrukturu pro aplikace počítačového vidění a urychlil používání vnímání strojů v komerčních produktech.

Pokud je na vašem počítači nainstalován Opencv, můžete jít. Pokud ne, postupujte podle tohoto kroku.

otevřete příkazový řádek a zadejte „pip install opencv“.

Varování: Může se zobrazit chyba, protože „'pip' není rozpoznán jako interní nebo externí příkaz“. pro které musíte do systémové proměnné PATH přidat cestu instalace pipu. Projděte si tento příspěvek, třeba vám to pomůže.

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

Jakmile je OpenCV nainstalován, můžeme začít… Chcete -li zkontrolovat, zda je správně nainstalován, otevřete interpret Pythonu a importujte knihovnu. Viz obrázek výše, který by měl být vaším výstupem.

Stáhněte si soubor pythonu „AccessTo_webcam.py“a spusťte jej. Poskytl jsem tam všechny potřebné komentáře.

Tady to máte, nyní máte přístup k webové kameře. Výborně. přejdeme ke kroku 2.

Krok 2: Identifikace tváře

Identifikace tváře
Identifikace tváře

pomocí stejného modulu OpenCV musíme identifikovat, zda je ve video streamu tvář nebo ne.

OpenCV poskytuje tréninkovou metodu nebo předem vyškolené modely nazývané jako Cascade Classifier. Předtrénované modely jsou umístěny v datové složce v instalaci OpenCV. Poskytuji tento soubor, stačí jej stáhnout a umístit do složky projektu. Složka, kde je uložen soubor „AccessTo_webcam.py“. Pokud jste žádný nevytvořili, udělejte to.

Stáhněte si „haarcascade_frontalface_default“a umístěte jej do hlavní složky projektu.

Stáhněte si „Face_identification.py“a umístěte jej do hlavní složky projektu. Je v něm obsaženo veškeré vysvětlení.

Nyní můžete identifikovat tváře ve video streamu. Přejdeme tedy ke kroku 3.

Krok 3: Sběr dat

Sběr dat
Sběr dat

Abychom rozpoznali tváře, musíme trénovat náš pythonový program. K tomu potřebujeme nějaká data.

Sběr dat je v tomto projektu spíše nejsnadnějším krokem. vytvořte složku s názvem „image_data“ve své hlavní složce projektu. Ve složce „image_data“vytvořte další složky se jménem osoby, kam data uložíme. například:

Ve složce „image_data“jsem vytvořil další dvě složky s názvem „HRK“a „Yahiya“. jak je znázorněno na výše uvedeném obrázku.

Nyní si vytvořte vlastní složky a pojmenujte je.

Jakmile jsou složky vytvořeny, začněte sbírat obrázky konkrétní osoby. Doporučuji shromáždit téměř 20 obrázků na osobu. Můžete také přidat další obrázky, ale postarat se o to, aby data shromážděná pro všechny osoby obsahovala stejný počet obrázků. Pomáhá zajistit přesnost.

to je teď, přejdeme ke kroku 4.

Krok 4: Školení

Stručně řečeno, projdeme všechny složky a obrázky, které jsou ve složce „image_data“, a vytvoříme slovník, který bude obsahovat ID štítku a odpovídající název. Současně načteme obrázek, abychom detekovali tvář v každém obrázku, kterému říkáme „Oblast zájmu“, a vytvoříme soubor „.yml“, který tyto informace obsahuje.

Za předpokladu, že máte data shromážděná pro osobu X a Y.

označíme osobu X jako 1, což bude jeho ID štítku a jméno bude samotné X. Načteme obrázek, abychom našli jeho tvář, tj. Oblast zájmu, a připojíme data do seznamu.

podobné kroky budou následovat u osoby Y. A nakonec vytvoříme soubor „.yml“.

Stáhněte si soubor "face_trainer.py" a umístěte jej do hlavní složky projektu. Všechna potřebná vysvětlení jsou uvedena v samotném souboru.

Když spustíte tento program, projde všechny obrázky a vytvoří dva soubory s názvem „labels.pickle“a „trainner.yml“. Nyní jste vycvičili svůj vlastní model. přejdeme tedy ke kroku 5.

Krok 5: Rozpoznání tváře

Rozpoznávání obličejů
Rozpoznávání obličejů

Pokud jste správně prošli všemi kroky, možná jste vytvořili vlastní trénovaná data. Nyní tato data použijeme pro rozpoznávání tváří.

V zásadě načteme naše natrénované modely do souboru pythonu, přistupujeme k naší webové kameře a identifikujeme tváře ve video streamu a provedeme srovnání nebo předpověď mezi aktuálním obličejem, který je identifikován ve video streamu, a modelem, který byl natrénován. pokud jsou data shodná, pak říkáme, že osoba je rozpoznána, je to tak jednoduché …

Stáhněte si „face_recognise.py“a spusťte jej. Jsou v něm uvedeny všechny potřebné informace. Nyní mohl být váš obličej rozpoznán. pokud přesnost není dobrá, zkuste data aktualizovat. pokud jste všichni v pořádku, pokračujte krokem 6/

Krok 6: Programování Arduina

Posledním a posledním krokem je programování Arduina a zajištění způsobu komunikace mezi pythonem a Arduinem. Pro komunikaci jsem použil „Sériovou komunikaci“. Projděte si video, které jsem propojil výše, abyste zjistili, jak sériová komunikace funguje, a vytvořte si ji. V popisu videa najdete všechny požadované soubory.

Pokud jste si video prošli, dovolte mi, abych vám vysvětlil, co jsem udělal. Když je můj obličej rozpoznán, pak je poskytnuto ID štítku 2. Jakmile ID štítku je 2, pošlu '1' jako sériová data do mého Arduina. Což zapne můj obvod LED chaser. Pokud je ID štítku jiné než 2, pošlu jako sériová data „0“, což vypne můj obvod LED chaser.

Stáhněte si soubor „ard_chaser.ino“. Jedná se o jednoduchý program LED chaser, který využívá sériovou komunikaci.

Jednoduše si stáhněte „face_recogniser1.py“, který naváže sériovou komunikaci mezi Arduinem a programem python.

Tady máš. Doufám, že jste se dozvěděli něco nového. Přihlaste se k odběru mého youtube kanálu a získejte další informace týkající se pythonu a Arduina. Sdílejte to, pokud se vám to líbilo. Podporujte dál.

Děkuji.

Doporučuje: