Szegmentáció módszerei

Fogalmak tisztázása

A szegmentáció egy kép több szegmensre vagy régióra történő felosztását jelenti bizonyos jellemzők, például szín, intenzitás, textúra vagy élek alapján. Célja, hogy a képeket ésszerűen részekre osztva egyszerűbbé tegye azoknak elemzés és megértés céljából történő ábrázolását.

Képek osztályozása során a kép egésze vagy régiói különböző megadott vagy megtanult jellemzők alapján előre meghatározott osztályokba vannak sorolva. Gyakran a szegmentálás része az osztályozás, nem teljesen különálló fogalmak. Annak felismerése, hogy egy fotón milyen állat látható, egy osztályozási feladat.

A klaszterezés olyan gépi tanuló technika, amelynek célja, hogy természetesen kialakuló csoportokat találjon az osztályok vagy kategóriák előzetes ismerete nélkül. Nem kell annotált tanító adathalmaz, a csoportokat az algoritmus magától, az adat egésze alapján alakítja ki. Egyszerű példa a streaming szolgáltatók felhasználói viselkedés alapján működő ajánlórendszere, ahol nem adott osztályok vannak, hanem hasonló minták.

CCA

Két lépésben egyszerűen szegmentálhatók bináris képek. Az első lépésben balról jobbra, fentről lefelé haladva az algoritmus minden fehér pixelnek megtekinti a szomszédjait. Ha azok mindegyike háttér, akkor új címkét kap az aktuális pixel. Ha a szomszédok nem hátterek és megegyeznek, akkor az ő címkéjüket kapja a vizsgált pixel. Ha különböző címkéjű fehér szomszédok vannak, a legkisebb címkét kell hozzárendelni, majd felírni az ekvivalenciát. A második lépés az ekvivalenciák alapján újracímkézi az összetartozó pixeleket.

Region growing

Az algoritmus a kijelölt pontokból indulva növeszt régiókat szomszédos pixelek hasonlósága alapján. Fontos megfelelően megadni a toleranciát, amely a megengedett százalékos eltérés szomszédok között. Lista készül a meglátogatandó szomszédokról, majd azoknak a szomszédai is felkerülnek a listára, a már meglátogatott pixelek pedig lekerülnek a listáról. Addig megy a folyamat, ameddig a lista teljesen ki nem ürül.

K-means

Egy iteratív klaszterezési módszer, amely képek szegmentálására is jól alkalmazható. Az algoritmus először véletlenszerűen kiválaszt K középpontot, ezután minden pixel hozzárendelődik a legközelebbi klaszterhez az intenzitásérték vagy egyéb jellemző alapján. Ezután az egyes klaszterekhez tartozó pixelek átlaga alapján új középpontokat kalkulál az algoritmus. Ez a folyamat ismétlődik addig, amíg a klaszterközéppontok már nem változnak jelentősen, vagy el nem ér egy előre meghatározott iterációs határt. A hasonló tulajdonságokkal rendelkező pixelek csoportokba rendeződnek, így elkülöníthetők az eltérő régiók.

További algoritmusok

Képek szegmentálása számtalan további módszerrel megvalósítható. A Watershed algoritmus hasznos lehet összetett, egymással érintkező objektumok szegmentálására. A DBSCAN vagy Mean-Shift klaszterezés alapú, felügyelet nélküli gépi tanulási módszerek, és nem igényelnek meghatározott klaszterszámot. A konvolúciós neurális hálózatok (CNN) manapság különösen népszerűek szegmentálási feladatok végrehajtására, mivel nagy mennyiségű adatot betáplálva kifejezetten a megtanult objektumokat ismeri fel és szegmentálja.