Tartalomjegyzék:

Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés
Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés

Videó: Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés

Videó: Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés
Videó: Arcfelimeres, sci-fi filmekből beszivárgott a mindennapi valóságba. Egyszerű megépíteni, érdekes is. 2024, Június
Anonim
Image
Image

Arcfelismerés Az AKA arcazonosító manapság az egyik legfontosabb funkció a mobiltelefonokban.

Tehát egy kérdésem volt: "kaphatok -e arc -azonosítót az Arduino -projektemhez", és a válasz igen …

Utazásom a következőképpen kezdődött:

1. lépés: Hozzáférés a webkamerához

2. lépés: Arcazonosítás.

3. lépés: Adatgyűjtés

4. lépés: Képzés

5. lépés: Arcfelismerés

6. lépés: Az Arduino programozása

Az alábbiakban elmagyarázom az összes lépést. Remélem, hogy ez segíteni fog neked.

1. lépés: Hozzáférés a webkamerához

Hozzáférés a webkamerához
Hozzáférés a webkamerához

Az arcfelismerés első lépése az volt, hogy hozzáférhessen a fényképezőgéphez vagy a számítógépes látáshoz. Mivel India zárlatban van, a legolcsóbb megoldás, amelyet találtam, az volt, hogy a számítógépem webkameráját használtam, amelyhez hozzáférhettem egy python programmal az openCV modul használatával.

Gondolhatod, mi az OpenCV, nem?

Az OpenCV (Open Source Computer Vision Library) egy nyílt forráskódú számítógépes látás- és gépi tanulási szoftverkönyvtár. Az OpenCV -t azért hozták létre, hogy közös infrastruktúrát biztosítson a számítógépes látástechnikai alkalmazások számára, és felgyorsítsa a gépészlelés használatát a kereskedelmi termékekben.

Ha az Opencv telepítve van a számítógépen, akkor nyugodtan indulhat. Ha nem, akkor kövesse ezt a lépést.

nyissa meg a parancssort, és írja be a "pip install opencv" parancsot.

Figyelmeztetés: Hiba léphet fel, mivel a "pip" nem ismerhető fel belső vagy külső parancsként. amelyhez hozzá kell adnia a pip telepítés útvonalát a PATH rendszerváltozóhoz. Nézze meg ezt a bejegyzést, talán segít.

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

Miután telepítettük az OpenCV -t, már indulhatunk is … A megfelelő telepítés ellenőrzéséhez nyissa meg a Python -tolmácsot, és importálja a könyvtárat. Tekintse meg a fenti képet, amelynek a kimenetének kell lennie.

Töltse le az "AccessTo_webcam.py" python fájlt, és futtassa azt. Ott megadtam az összes szükséges megjegyzést.

Tessék, most már hozzáférhet a webkamerához. Szép munka. folytassuk a 2. lépéssel.

2. lépés: Arcazonosítás

Arcazonosítás
Arcazonosítás

Ugyanazon OpenCV modul segítségével meg kell határoznunk, hogy van -e arc a videófolyamban, vagy sem.

Az OpenCV betanítási módszert vagy előre betanított modelleket biztosít Cascade Classifier néven. Az előre betanított modellek az OpenCV telepítés adatmappájában találhatók. Biztosítom, hogy töltse le a fájlt, és helyezze el a projekt mappájába. A mappa, amelyben az "AccessTo_webcam.py" fájl található. Ha még nem hozott létre egyet, akkor tegye meg.

Töltse le a "haarcascade_frontalface_default" fájlt, és helyezze a projekt fő mappájába.

Töltse le a "Face_identifikáció.py" fájlt, és helyezze a projekt fő mappájába. Minden magyarázat benne van.

Mostantól azonosíthatja az arcokat egy videófolyamban. Tehát folytassuk a 3. lépéssel.

3. lépés: Adatgyűjtés

Adatgyűjtés
Adatgyűjtés

Ahhoz, hogy felismerjük az arcokat, ki kell képeznünk a python programunkat. Ehhez szükségünk van néhány adatra.

Az adatgyűjtés inkább a legegyszerűbb lépés ebben a projektben. hozzon létre egy "image_data" nevű mappát a projekt fő mappájában. Az "image_data" mappában hozzon létre további mappákat a személy nevével, ahol tároljuk az adatokat. például:

Az "image_data" mappában további két mappát hoztam létre, "HRK" és "Yahiya" néven. ahogy a fenti képen látható.

Most hozza létre saját mappáit, és nevezze el őket.

A mappák létrehozása után kezdje el gyűjteni az adott személy képeit. Javaslom, hogy személyenként közel 20 képet gyűjtsön össze. További képeket is hozzáadhat, de ügyeljen arra, hogy az összes személyre vonatkozóan gyűjtött adatok ugyanannyi képet tartalmazzanak. Segít a pontosság biztosításában.

ennyi most menjünk tovább a 4. lépéshez.

4. lépés: Képzés

Röviden, átnézzük az "image_data" mappában található összes mappát és képet, és létrehozunk egy szótárat, amely tartalmazza a címke azonosítóját és a megfelelő nevet. Egyidejűleg betöltjük a képet, hogy érzékeljük az arcot minden olyan képen, amelyet "Érdekes régiónak" nevezünk, és létrehozunk egy ".yml" fájlt, amely ezeket az információkat tartalmazza.

Feltételezve, hogy X és Y személyre vonatkozóan gyűjtött adatokat.

az X személyt 1 -nek fogjuk címkézni, ami a címke azonosítója lesz, a neve pedig maga X. Betöltjük a képet, hogy megtaláljuk az arcát, azaz az érdeklődési körzetet, és hozzáfűzzük az adatokat egy listához.

hasonló lépéseket fogunk követni Y személynél. Végül pedig létrehozunk egy ".yml" fájlt.

Töltse le a "face_trainer.py" fájlt, és helyezze a projekt fő mappájába. Minden szükséges magyarázat benne van a fájlban.

Amikor futtatja ezt a programot, átmegy az összes képen, és két fájlt hoz létre, amelyek a "labels.pickle" és a "trainner.yml" nevet viselik. Most betanította saját modelljét. tehát folytassuk az 5. lépéssel.

5. lépés: Arcfelismerés

Arcfelismerés
Arcfelismerés

Ha minden lépést megfelelően végigment, akkor lehet, hogy saját képzett adatait hozta létre. Most ezeket az adatokat fogjuk használni az arcfelismeréshez.

Alapvetően betöltjük betanított modelljeinket a python fájlba, hozzáférünk a webkameránkhoz, és azonosítjuk az Arcokat a videófolyamban, és összehasonlítást vagy előrejelzést készítünk a videófolyamban azonosított aktuális arc és a betanított modell között. ha az adatok egyeznek, akkor azt mondjuk, hogy a személy felismerhető, ez ilyen egyszerű…

Töltse le a "face_recognise.py" fájlt, és futtassa. Minden szükséges információ benne van. Most talán felismerték az arcodat. ha a pontosság nem megfelelő, próbálja meg frissíteni az adatokat. ha minden rendben, akkor folytassuk a 6. lépéssel/

6. lépés: Az Arduino programozása

Az utolsó és az utolsó lépés az Arduino programozása, és kommunikációs mód biztosítása a python és az Arduino között. A kommunikációhoz a "Soros kommunikációt" használtam. Nézze meg a videót, amelyet fent linkeltem, hogy megtudja, hogyan működik a soros kommunikáció, és hozzon létre egyet. Az összes szükséges fájlt megtalálja a videó leírásában.

Ha átnézted a videót, hadd magyarázzam el neked, mit tettem. Amikor felismerik az arcomat, akkor a címke azonosítója 2. Ha a címke azonosítója 2, elküldöm az 1 -et soros adatként az Arduino -nak. Ami bekapcsolja a LED üldöző áramkört. Ha a címke azonosítója nem 2, akkor "0" -ot küldök soros adatként, ami kikapcsolja a LED -es kergető áramkört.

Töltse le az "ard_chaser.ino" fájlt. Ez egy egyszerű LED üldöző program, amely soros kommunikációt használ.

Egyszerűen töltse le a "face_recogniser1.py" fájlt, amely létrehozza a soros kommunikációt az Arduino és a python program között.

Nesze. Remélem, hogy valami újat tanult. Iratkozzon fel a youtube csatornámra, ha további dolgokat szeretne tudni a pythonról és az Arduino -ról. Oszd meg ezt, ha tetszett. Támogassa tovább.

Köszönöm.

Ajánlott: