Képfeldolgozás elosztott informatikai hálózatokban

A mindent elérő és behálózó hálózat, az olcsó és nagy teljesítményű eszközök, szenzorok, valamint a felhő megteremtik az alapokat napjaink egyik nagy forradalmának, a dolgok internetének (Internet of Things). Ez tulajdonképpen a klasszikus mérés/vezérlés paradigmát valósítja meg korlátok és kompromisszumok nélkül.

Az Internet és a hálózatok által teremtett lehetőségek

A dolgok internete által biztosított adat és annak felhasználása számos gazdasági ágban kitörési pontot biztosít. Ma már nem csak a repülőgépek tudnak „hazaszólni” a gyártó céghez, amennyiben valamilyen rendellenes dolgot tapasztalnak, de ez a képesség a modern mezőgazdasági gépektől kezdve az orvosi műszereken át a kávé automatákig már megtalálható, bevált gyakorlat. Vannak azonban olyan szürke területek, amelyek esetében a mérés mint folyamat jóval bonyolultabb, mint csupán szimpla adatrögzítés és továbbítás. Ezek azok a területek, ahol nagy mennyiségű adat közül kell kiszűrni a lényeges információt.

A videó megfigyelés a dolgok internetének egy olyan speciális területe, ahol a helyi intelligencia, a lokális kollaboráció szükséges ahhoz, hogy gyakorlatban is alkalmazható, jó minőségű megoldások szülessenek.

Videó- és képfeldolgozási alapok

A modern HD videó kamerarendszerek telepítése komoly kihívások elé állíthatják a rendszerintegrátorokat. Egy-egy HD videó folyam 5-10 MBit/s sávszélesség igénnyel bír. Egy telephelyen belül a strukturált kábelezés segítségével megoldható akár 20-30 kamera kiszolgálása is. Itt jelenleg gyakorlati korlátot jelent egy-egy szegmensnél a GBit/s–os interfészek használata a vertikális kábelezésnél. Jóval nagyobb probléma azonban a több telephelyet is magába foglaló videó rendszer kiépítése. Ma még ritka a céges telephelyek között a gigabites kapcsolat. Így vagy sziget rendszereket lehet telepíteni, vagy a problémát hierarchiában, elosztottan kell kezelni. Számos gyártó gyárt már különböző intelligenciával – képfeldolgozó képességgel – bíró kamerát/helyi feldolgozó egységet.

Mit lehet, és mit nem lehet egy-egy önálló intelligens kamerával/helyi koncentrátorral megvalósítani? Hol vannak a korlátai ezen eszközöknek? Ahhoz, hogy minden kérdésre korrekt választ adjunk, előbb át kell tekinteni a fontosabb képfeldolgozási lépéseket, majd ezen lépések mentén megvizsgálni az egyes feldolgozási elemek kihelyezhetőségét.  Maga a képfeldolgozási folyamat függ természetesen a kitűzött céltól is. Jelen példánkban mi a legkomplexebb folyamatot, az arcfelismerést vesszük alapul. A következő ábrán tekinthetjük át a feldolgozás legfontosabb lépéseit.

 

Képfeldolgozás elosztott informatikai hálózatokbanKépfeldolgozás elosztott hálózatokban

A feldolgozási folyamaton végighaladva a videó dekódolása/kódolása ugyan egy nagy feldolgozási kapacitást igénylő lépés lenne, de erre számos célhardver található már. A háttérkivonást és mozgásérzékelést – akár maszkok beállításával is – sok digitális kamera támogatja. Azonban ha ennél többet tudó háttérmodellezés megvalósítása a cél, például olyan esetben, amikor hosszabb és rövidebb távú változás detektálása is feladat – eltűnt vagy ottfelejtett tárgyak detektálása –, akkor már komolyabb időablakkal kell dolgozni. Ezek a háttér modellezési módszerek általában kevés processzoridőt igényelnek.

Érdemes megemlíteni, hogy a háttérkivonás, a mozgásérzékelés, majd a különböző detektálási feladatok nem igényelnek nagyfelbontású képet, ezáltal is jelentősen gyorsítható a végrehajtásuk. A háttérkivonó algoritmusok egyik eredménye egy olyan maszk, ami megmutatja, hogy hol történt változás a képen egy háttérmodellhez viszonyítva. Ezek a tartományok egy kezdeti hipotézist adnak arra, hogy hol érdemes embert keresni a képkockákon. A detektáló módszerek összetett gépi tanuló algoritmusokat futtatnak, ezek az algoritmusok kvázi a képkocka sok-sok régiójára ellenőrzik, hogy abban a detektálandó objektum (ember, arc) található-e. Ezen detektáló módszerek úgy tudnak valós időben működni, ha a keresési tér (az átvizsgálandó régiók száma) minél szűkebb, illetve a jellemzők, ami alapján az algoritmus dönt, az minél kevesebb és minél gyorsabban számlálható. Ebben az esetben ezért célszerű egy nagyon gyorsan számítható módszert futtatni először (pl. Haar-cascade jellegű detektálót), majd a kapott hamis találatokat még megszűrni többféleképpen.

Az, hogy milyen szűrés kerül alkalmazásra, több feltételen is múlik: egyrészt mennyi hamis találat marad, másrészt a valós idejű feldolgozás még megvalósul-e egy adott feldolgozó egységen. Ilyen szűrési lehetőség például a HOG (Histogram of Oriented Gradients, azaz Gradiens irány hisztogram) jellemzők használata SVM osztályozóval (Support Vector Machine, ami egy előre definiált alakzat észlelésére használatos), valamint a jóval összetettebb arcrész keresés alapú megoldás.

Az arcrész keresés (Facial Landmark Detection – értve ez alatt a szemek, orr, száj, esetleg más részek detektálását) alapvetően szükséges később a detektált arcok transzformációjához. A következő szekvenciális lépések az arc normalizálását tartalmazzák, ami állhat egy megvilágítás-normalizálásból, valamint térbeli helyzet normalizálásból (az arc jellemző pontjai helyzetének alapján), majd a normalizált arcképből olyan jellemzők kinyerése történik, amik alapján eldönthető, hogy két arckép mennyire hasonlít egymáshoz.

Az arcjellemző pontok detektálása, ezek valós idejű feldolgozása az a határ, amely nagy arcszám esetén már komolyabb számítási kapacitást igényelhet. Egyszerű esetben a videó folyam helyi feldolgozása csak a mozgó régiók felderítéséig, emberek és arcok alapvető detektálásáig valósul meg, a további szűréseket, a jellemzők kiszámítását már a központi egység végzi. Fejlettebb rendszerek ezen feldolgozást is megoldják a kihelyezett egységeken, és a központba csak az ezekből származó metainformációkat küldik be.

A központi szerver feladata a különböző kamerák feldolgozott adatainak összesítésével kapható események detektálása. Ilyen események az egyes emberek kamerákat áthidaló követése, valamint maga az arcazonosítás. Az arcazonosítás során egy ritka gráf készül el az egyes arcok jellemzőinek hasonlósága alapján, amit partícionáló, klaszterező módszerrel egymáshoz hasonló csoportokra oszt fel a rendszer. A módszer támogatja azt, hogy ember bevonásával megadhatók azok a képsorozatok, amelyek egyazon személy arcáról készültek, illetve amik biztosan különböző embertől származnak,   így ezekkel a megszorításokkal egy félig felügyelt gépi tanuló módszer rendezi csoportokba az egyes – akár különböző kamerákból származó – arcképsorozatokat.

Megfelelő módszerek alkalmazásával tehát viszonylag szűk sávszélességen is rendszerbe szervezhetőek a HD kamerák, melyek képe csak igény/riasztás esetén küldendő át. A szükséges intelligencia az adott telephelyekre kiszervezhető, így már jól szegmentálható a rendszer.

kapcsolódó cikkek:

Irány az IP, a kiskereskedelemben! Jelentés egy Angol – Észak-Európai felmérésről a kiskereskedelmi szektorban

Karbantartási és szervizelési szempontok az IP kamerák használata során

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