8. kurzus Szegmentálás (Segmentation) Dr. Vajda Tamás
Képfeldolgozás általános modellje
Szegmentálási módszerek típusai n Küszöböléses (Thresholding) n Él-alapú (Edge-based segmentation) n Régió-alapú (Region-based segmentation) n Illesztésen alapuló (Matching-based segmentation)
Él-alapú szegmentálás n Az él két régió határa, amelyek relatíve különböző szürkeségi tulajdonsággal (intenzitással) rendelkeznek n Nagyfrekvenciás ugrások keresése n Irány érzékeny is lehet n Képtérbeli szűrés: nagyfrekvenciás konvolúciós ablakkal n Konvolúció után binarizálás
Hough transzformáció n Feladata egyszerű formák keresése, mint egyenesek, körök, ellipszisek n Egyeneseket vagy szakaszokat illeszt n Előkészítő lépések: –Él keresés –Binarizálás –Szűrés
Egyenes leírása Általános egyenlet: y = mx + b Ezzel a módszerrel a függőleges (vagy a függőlegeshez közeli) egyeneseket nem lehet leírni (végtelen m ) n Hesse féle normálalakos reprezentáció: –r : Az origótól mért távolság –θ : A pozitív valós féltengellyel bezárt szög θ r P0(x0, y0)P0(x0, y0)P0(x0, y0)P0(x0, y0) P(x, y)
Egyenes-sereg illesztése n Egy pontra végtelen sok egyenest lehet illeszteni Minden egyenest egy (r, θ) paraméter-párral lehet leírni Ábrázoljuk ezeket az egyenesek az (r, θ) térben (Hough- tér) r x y O
Egyenes-sereg illesztése
Hough transzformáció - Példák Forrás:
Hough transzformáció - Példák Forrás:
Régió-alapú szegmentálási módszerek –Régiónövesztéses technika –Régiószeleteléses módszer
Régióorientált szegmentálási eljárások n Legyen R a teljes képtér Szegmentáljuk a képet az alábbi kritériumokat kielégítő R 1, R 2, …, R n régióhalmazba: 1.A szegmentálás teljes: 2.R i kapcsolódó terület 3.A régiók nem lapolnak át: 4.Egy régióban azonos tulajdonságú pontok tartoznak: 5.A szomszédos régiók nem vonhatók össze: P(R i ) homogenitási kritérium
Homogenitási kritérium n A régiók meghatározásához definiálni kell egy ún. homogenitási kritériumot n A kialakult régiók megfeleljenek a képen található objektumoknak n A képtér számos tulajdonságából származhat –Intenzitás (szín) –Sebesség (mozgás alapú szegmentálás) –…
Homogenitási kritérium 2. n Lokális v. globális szinten vizsgálja a régiókat n Globális –A teljes régióra írunk fel egy kritériumot –Példa: n Lokális –Csak a régió egy kis szegmensét vizsgáljuk –Ha a régió minden apró szegmensére igaz, akkor tekintjük a régiót összefüggőnek –Példa:
Régiónövesztés (region growing) n Algoritmus-vázlat: –0. Kitüntetett gyökérpont kiválasztása és hozzáadása a régióhoz –1. A (még vizsgálatlan) szomszédos pontok vizsgálata a homogenitási kritérium segítségével a. Ha teljesül a kiegészített régióban is a homogenitási kritérium új pont felvétele a régióba b. Ha nem teljesül pont eldobása –2. Ha volt újonnan felvett pont rekurzív folytatás a 1. lépéstől n Ha minden pontot megvizsgáltunk, vagy nem tudtuk új ponttal kiegészíteni a régiót, akkor az adott régió elkészült n Ha van még jelöletlen (egy régióhoz sem tartozó pont) új gyökérpont választásával az algoritmus elölről kezdődik
Régiónövesztés – Mintapélda Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3
Régiónövesztés – Mintapélda Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3
Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3 Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3 Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3
2 Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3 Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3 Régiónövesztés – Mintapélda
Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3
Régiónövesztés – Mintapélda Homogenitási kritérium: A szomszédos pontok (4 szomszédság) intenzitásának különbsége kisebb, mint 3
Régiónövesztés – Fontos megfontolások n Néhány fontos megfontolás: –Milyen homogenitási kritériumot használjunk? –Milyen szomszédsági fokot vegyünk figyelembe? –Milyen sorrendben vizsgáljuk a szomszédokat (esetleg egyszerre)? –Pontok újravizsgálata lehetséges –e?
Régiónövesztés – Fontos megfontolások n Milyen homogenitási kritériumot használjunk? Az intenzitás-különbség kisebb, mint 4
4 Régiónövesztés – Fontos megfontolások n Milyen homogenitási kritériumot használjunk? Az intenzitás-különbség kisebb, mint 4
Régiónövesztés – Fontos megfontolások n Milyen P(Ri)-t használunk? Az intenzitás-különbség kisebb, mint 4
Régiónövesztés – Fontos megfontolások n Milyen szomszédsági fokot használjunk? szomszédság
Régiónövesztés – Fontos megfontolások n Milyen szomszédsági fokot használjunk? szomszédság
Régiónövesztés – Fontos megfontolások n Milyen szomszédsági fokot használjunk? szomszédság
Régiónövesztés – Fontos megfontolások n Újravizsgálás lehetséges? & Szomszédok sorrendje? szomszédság, <3 intenzitás-különbség
Régiónövesztés – Fontos megfontolások n Újravizsgálás lehetséges? & Szomszédok sorrendje? szomszédság, <3 intenzitás-különbség
Régiónövesztés – Fontos megfontolások n Újravizsgálás lehetséges? & Szomszédok sorrendje? szomszédság, <3 intenzitás-különbség
Régiónövesztés – Valós példa n Homogenitási kritérium: –p új : Az vizsgált képpont –μ : A régió várható értéke –σ : A régió szórása
Régiónövesztés – Valós példa Forrás:
Régiószeletés (Split and Merge) n Algoritmus vázlat: –0. Init: Kezdetben egy nagy régió –1. Split: P(Ri) = TRUE : A régió készen van FALSE : A régiót felosztjuk 4 részre, majd rekurzíven az 1. lépés minden új régióra –2. Merge: Ha R i és R j szomszédos régió és P(R i U R j ) = TRUE, akkor a két régió összevonásra kerül Eredeti kép 1. felosztás R1R1R1R1 R2R2R2R2 R4R4R4R4 R3R3R3R3 2. felosztás R1R1R1R1 R2R2R2R2 R3R3R3R3 R 41 R 42 R 43 R 44 Összefésülés R1R1R1R1 R2R2R2R2 R3R3R3R3 R 41 R 42 R 43
Régiószeletelés – MintapéldaR R1R2R3R4R
R R1R2R3R4 R1R1R1R1 R2R2R2R2 R3R3R3R3 R4R4R4R4
R R1R2 R21 R22 R23 R24 R3R4 R1R1R1R1 R3R3R3R3 R4R4R4R4 R 23 R 21 R 22 R 24
Régiószeletelés – MintapéldaR R1R2 R21 R22 R23 R24 R3R4 R41R42R43R44 R1R1R1R1 R3R3R3R3 R 23 R 21 R 22 R 24 R 43 R 41 R 42 R 44
Régiószeletelés – MintapéldaR R1R2 R21 R22 R23 R24 R3R4 R41R42 R42 1 R42 2 R42 3 R42 4 R43 R43 1 R43 2 R43 3 R43 4 R44 R1R1R1R1 R3R3R3R3 R 23 R 21 R 22 R 24 R 44 R 421 R 422 R 423 R 424 R 431 R 432 R 433 R 434 R 41
Régiószeletelés – MintapéldaR R1R2 R21 R22 R23 R24 R3R4 R41R42 R42 1 R42 2 R42 3 R42 4 R43 R43 1 R43 2 R43 3 R43 4 R44
Régiószeletelés – Valós példa Forrás: Eredeti kép Szeletelés után Összefésülés után
Víztárolók módszere (Morphological Watersheds)
Bevezetés n Hogy néz ki 3D-ben egy intenzitás kép imshow(I,[ ])mesh(I)
Bevezetés n Ezt a módszert gyakran a gradiens képen hajtják végre az intenzitás kép helyett. –Ebben az esetben az objektum elkülönül a háttértől a kiemelkedő élek segítségével
Alapfogalmak n Lokális minimum olyan pont vagy ponthalmaz ahonnan nem lehet alacsonyabban fekvő pontot elérni anélkül, hogy előbb mászni kellene n Három típusú pont –A lokális minimumhoz tartozó pontok –Lokális minimum gyűjtő bazinja (vízgyűjtő) Olyan pontok ahonnan a víz mindig ugyan azon lokális minimum felé folyik –Osztó vonal/ vízválasztó vonalak Olyan pontok ahonnan a víz egyenlő eséllyel több vízgyűjtőbe is folyhat Gerincvonalak a topológiai felülete n A módszer célja a vízválasztó vonal típusú pontok megkeresése
Főbb lépések 1. Minden lokális minimumot „kilyukasztunk” 2. A 3D felületet (topológiát) elkezdjük alulról fokozatosan elárasztani 3. Amikor két vízgyűjtő bazin összefolyna akkor gátakat építünk
4. A gátak képezik azokat a körvonalakat amelyeket a víztározó módszerrel kinyerünk a képből
Gátépítés n Alapja a bináris morphológiai tágítás n Minden lépés eredménye egy bináris kép amelyet a következő képen kapunk meg 1.Inicializáláskor a legkisebb szürke árnyalatú pixelek 1-ek, a többi 0. 2.Minden egyes lépésben növeljük a víz szintet és a víz által elárasztott terület 1-es lesz és a többi 0
Jelölés n M1, M2: –Két koordináta halmaz amely megfelel a két lokális minimumnak n C n-1 (M 1 ), C n-1 (M 2 ) –Az M1 M2 lokális minimumai tartozó vízgyűjtő bazinok n-1- dik lépésében már elárasztott pixeleinek a koordináta halmazai n C[n-1] –C n-1 (M 1 ), C n-1 (M 2 ) egyesítése
Gátépítés n Az elárasztás (n-1)-ik lépésében 2 összefüggő komponens van, az n-dik lépésben csak 1 –Ez jelzi hogy a két bazin összeolvad az n-dik lépésben –“q”-val jelöljük a egyesített vízgyűjtőket n Gátat építünk oda ahol a dilatáció eredményeként két vízgyűjtő bazin egybefolyna. –Eredmény egy pixel széles gát amelynek az értéke a maximális szürkeárnyalat+1
Watershed Transform MiMi C(M i ) n-1 T(n) MiMi C(M i ) n-1 T(n) C n (M i ) C(n) MiMi C(M i ) n-2 T(n-1) C(n- 1) n-1 T(n) q1q1 q2q2 q3q3 Dam C(n)
Példa
Példa 2
Gyors változáson alapuló szegmentálási módszerek
n Az objektumokat azért tudjuk megkülönböztetni a környezetétől, mert éles átmenet határolja őket n A régióorientált módszerek esetén a „kitöltő- algoritmus” nem tudott áthatolni ezeken az átmeneteken így keletkeztek a régiók n „Fordított hozzáállás” keressük meg közvetlenül ezeket a határátmeneteket és ebből következtessünk az objektumokra n Éles átmenet = élek
Gyors változáson alapuló szegmentálási módszerek
Mozgásalapú szegmentálás
A mozgás mesterséges ábrázolásat.t+1.
Az optical flow definíciója n Képpontokhoz vektor hozzárendelése hogyan jutunk el a következő képkockához n Vektormező optical flow (mező) n (Igazából nem elmozdulás, hanem sebességmező)
Példa
FeldolgozásFeldolgozásFeldolgozásFeldolgozás
Mozgásalapú szegmentálás n Pingpongozó ember – Példavideó