Kaszkádos osztályozók

Ez a szakasz nem hivatkozik forrásokra. Kérjük, segítsen javítani ezt a részt megbízható forrásokra való hivatkozások hozzáadásával. A forrás nélküli anyagokat megkérdőjelezhetjük és eltávolíthatjuk.
Forráskeresés: “Cascading classifiers” – news – newspapers – books – scholar – JSTOR (June 2019) (Learn how and when to remove this template message)

Scaling and rotationsEdit

A leírásból látható, hogy az osztályozó nem fogadja el a fejjel lefelé (a szemöldök nincs megfelelő helyzetben) vagy az oldalra fordított arcokat (az orr már nem középen van, és az orr oldalán lévő árnyékok hiányozhatnak). Külön kaszkádosztályozókat kell betanítani minden olyan elforgatáshoz, amely nem a képsíkon belül van (az arc oldala), és minden olyan elforgatáshoz, amely a képsíkon belül van (az arc fejjel lefelé vagy oldalra dől), újra kell tanítani vagy elforgatott jellemzőkkel futtatni. A méretezés nem jelent problémát, mivel a jellemzők méretezhetők (a centerpixel, a leftpixel és a rightpixel dimenziója csak a vizsgált téglalaphoz képest van). A legújabb kaszkádokban a téglalap egy bizonyos részének pixelértékét egy másikhoz képest Haar hullámokkal helyettesítették.

A szakaszok tulajdonságaiSzerkesztés

A jó általános teljesítményhez a következő kritériumoknak kell teljesülniük:

  1. Minden szakasznak minden arcot érvényesítenie kell, és sok hamis pozitív eredményt produkálhat. Például, ha az 1. szakasz az arcot tartalmazó téglalapok 20%-át jelölné meg “nem tartalmaz arcot” (hamis negatív arány=20%), akkor a lánc összteljesítménye nem lehet 80%-nál nagyobb igaz pozitív, függetlenül a következő szakaszoktól, mivel az arcok 20%-át már elutasították.
  2. Ez arra utal, hogy egy jó szakasznak 100% igaz pozitív és például 40% hamis pozitív értékkel kell rendelkeznie, azaz minden arcot tartalmazó téglalapot el kell fogadnia, és sok téglalapot tévesen potenciálisan arcot tartalmazónak kell jelölnie, amelyeket a későbbi szakaszok kiiktatnak. Az első szakasz esetében a 100% igaz pozitív és 40% hamis pozitív még mindig sok hamis negatívot eredményez, ha egy képen 1000 téglalapból csak 1 tartalmaz arcot, akkor az első szakasz után még mindig 400-1 hamis lehetséges arc marad.
  3. Ha az első szakasz nagyon gyors (néhány művelet), akkor az arcot nem tartalmazó téglalapok 60%-át nagyon gyorsan eltávolítottuk.

Az egy szakaszra vonatkozó képzési eljárás tehát az, hogy legyen sok gyenge tanuló (egyszerű pixelkülönbség-operátorok), ezeket csoportosan képezzük (növeljük a súlyukat, ha helyes eredményt adnak), de figyeljünk arra, hogy csak néhány aktív gyenge tanuló legyen, így a számítási idő alacsony marad.

Viola & Jones első detektorának 38 szakasza volt, 1 jellemzővel az első szakaszban, majd 10, 25, 25, 25, 50 a következő öt szakaszban, összesen 6000 jellemzővel. Az első szakaszok gyorsan eltávolítják a nem kívánt téglalapokat, hogy elkerüljék a következő szakaszok számítási költségeit, így a számítási időt a kép azon részének mélyelemzésére fordítják, amely nagy valószínűséggel tartalmazza az objektumot.

KaszkádképzésEdit

A kaszkádképzés általában költségtudatos ADAboost segítségével történik. Az érzékenységi küszöbérték (példánkban 0,8) úgy állítható be, hogy közel 100%-os igaz pozitív és néhány hamis pozitív eredmény legyen. Ezután az eljárást újra lehet kezdeni a 2. fázissal, amíg a kívánt pontosságot/számítási időt el nem érjük.

A kezdeti algoritmus után megértették, hogy a kaszkád egészének képzése optimalizálható, hogy minimális komplexitással elérjük a kívánt igaz felismerési arányt. Ilyen algoritmusokra példa az RCBoost, az ECBoost vagy az RCECBoost. Legegyszerűbb változataikban úgy értelmezhetők, hogy minden egyes lépésnél választanak egy fokozat hozzáadása vagy egy gyenge tanuló hozzáadása egy előző fokozathoz, attól függően, hogy melyik a kevésbé költséges, amíg a kívánt pontosságot el nem érik. Az osztályozó minden szakaszának nem lehet a kívánt arány alatti felismerési aránya (érzékenysége), így ez egy korlátozott optimalizálási probléma. Pontosabban, a teljes érzékenység a fokozat érzékenységek szorzata lesz.

A kaszkád osztályozók elérhetőek az OpenCV-ben, előre betanított kaszkádokkal a frontális arcokra és a felsőtestre. Az OpenCV-ben új kaszkád képzése is lehetséges a haar_training vagy a train_cascades módszerekkel. Ez specifikusabb célpontok gyors objektumfelismerésére használható, beleértve a Haar-szerű jellemzőkkel rendelkező nem emberi objektumokat is. A folyamathoz két mintakészletre van szükség: negatív és pozitív mintákra, ahol a negatív minták tetszőleges nem tárgyas képeknek felelnek meg. A kaszkádosztályozó képzésének időbeli korlátja megkerülhető a felhőalapú számítástechnikai módszerek alkalmazásával.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.