- Előfeltételek
- Hogyan működik az arcfelismerés az OpenCV-vel
- Arcfelismerés kaszkád osztályozókkal az OpenCV-ben
Az arcfelismerés egyre népszerűbb és a legtöbben már használjuk is anélkül, hogy észrevennénk. Legyen szó egyszerű Facebook Tag-javaslatról vagy Snapchat Filterről, vagy fejlett reptéri biztonsági felügyeletről, az Arcfelismerés már beváltotta varázsát. Kína megkezdte az arcfelismerés alkalmazását az iskolákban a diákok részvételének és viselkedésének figyelemmel kísérésére. A kiskereskedelmi üzletek megkezdték az Arcfelismerés használatát ügyfeleik kategorizálására és az olyan személyek elszigetelésére, akiknél korábban csalás volt. Sokkal több változás van folyamatban, nem kétséges, hogy ez a technológia a közeljövőben mindenhol látható lesz.
Ebben az oktatóanyagban megtudhatjuk, hogyan építhetjük fel saját Arcfelismerő rendszerünket a Raspberry Pi-n található OpenCV könyvtár segítségével. A hordozható Raspberry Pi telepítésének előnye, hogy bárhová telepítheti, hogy felügyeleti rendszerként működjön. Mint minden Arcfelismerő rendszer, az oktatóprogram is két python szkriptet tartalmaz, az egyik egy Trainer program, amely elemzi egy adott személy fotósorozatát, és létrehoz egy adatkészletet (YML fájl). A második program a Recognizer programamely felismer egy arcot, majd ezt az YML fájlt használja az arc felismerésére és a személy neve megemlítésére. Mindkét program, amelyet itt megvitatunk, a Raspberry Pi (Linux) -ra vonatkozik, de a Windows Computers-en is működni fog, nagyon kis változtatásokkal. Már rendelkezünk oktatósorozatok kezdőknek az OpenCV használatának megkezdéséhez, itt megtekintheti az összes OpenCV oktatóanyagot.
Előfeltételek
Mint korábban elmondtuk, az OpenCV könyvtárat fogjuk használni az arcok felderítésére és felismerésére. Ezért az oktatóanyag folytatása előtt feltétlenül telepítse az OpenCV könyvtárat a Pi-re. A Pi-t is táplálja 2A adapterrel, és HDMI-kábelen keresztül csatlakoztassa a kijelzőhöz, mivel nem tudjuk az SSH-n keresztül kimenni a videót.
Azt sem fogom elmagyarázni, hogy az OpenCV pontosan hogyan működik, ha érdekli a képfeldolgozás elsajátítása, akkor nézze meg ezt az OpenCV alapokat és a fejlett képfeldolgozó oktatóanyagokat. Ezen a képszegmentációs oktatóanyagon a kontúrokról, a Blob-felismerésről stb.
Hogyan működik az arcfelismerés az OpenCV-vel
Mielőtt nekilátnánk, fontos megértenünk, hogy az Arcfelismerés és az Arcfelismerés két különböző dolog. Az Arcfelismerés során csak egy személy arcát érzékeli a szoftver, és nincs ötlete, ki az a személy. Az arcfelismerés során a szoftver nemcsak felismeri az arcot, hanem felismeri az illetőt is. Most világosnak kell lennie, hogy az Arcfelismerés elvégzése előtt el kell végeznünk az Arcfelismerést. Nem tudnám elmagyarázni, hogy az OpenCV pontosan miként észlel egy arcot vagy bármilyen más tárgyat ebben a kérdésben. Tehát, ha kíváncsi arra, hogy kövesse ezt az Objektumészlelés oktatóanyagot.
A webkameráról érkező videócsatorna nem más, mint az egymás után frissített állóképek hosszú sora. Ezek a képek mindegyike csak a különböző pozíciójú pixelek összessége. Tehát hogyan lehet egy program felismerni egy arcot ezekből a képpontokból, és tovább ismerni a benne lévő személyt? Nagyon sok algoritmus áll mögötte, és megpróbálja megmagyarázni ezeket a cikkeket.
Arcfelismerés kaszkád osztályozókkal az OpenCV-ben
Csak akkor vagyunk képesek felismerni vagy emlékezni rá, ha képesek vagyunk felismerni egy arcot. Az objektum, például az arc észleléséhez az OpenCV úgynevezett Osztályozókat használ. Ezek az osztályozók előre kiképzett adatkészletek (XML fájl), amelyek felhasználhatók egy adott objektum észlelésére, esetünkben egy arcra. Itt többet megtudhat az arcfelismerési osztályozókról. Az arc észlelésén kívül az osztályozók más tárgyakat is felismerhetnek, például orrot, szemet, gépjármű rendszámtáblát, mosolyt stb. Az esetosztályozók listája letölthető az alábbi ZIP fájlból
Osztályozók az objektum észleléséhez Pythonban
Alternatív megoldásként az OpenCV lehetővé teszi saját osztályozó létrehozását is, amely felhasználható bármely más objektum észlelésére a képen a kaszkád osztályozó képzésével. Ebben az oktatóanyagban a „haarcascade_frontalface_default.xml” nevű osztályozót fogjuk használni, amely az arcot elölről érzékeli. Meglátjuk