3. Szűrés képtérben Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE http://www.inf.u-szeged.hu/~kato/teaching/
2 Kép transzformációk típusai Kép értékkészletének radiometriai információ átalakítása: J i, j f I, i, j Kép értelmezési tartományának geometriai transzformációja warping: J i, j I t i, j, t i, j i j Mind az értékkészlet mind pedig az értelmezési tartomány átalakítása: J i, j f I, t i, j, t i, j i j
3 Értékkészlet transzformációk Lokális: Az új pixelérték a kiindulási pixel adott méretű S környezetének pixelértékeitől függ pl. konvolúció adott méretű maszkkal Ha függ a pozíciótól is, akkor lokálisan adaptív Globális: Ha S=teljes kép Pont operáció: ha S egyetlen pixelből áll. j Lokális operáció pl. szűrőzés: Jx,y = f {Iu,v u,v є Si,j} j i Si.j lokális környezet i,j körül Input: I=[Ii,j] i Output: J =[Ji,j]
4 Szenzor zaj Tipikusan additív Poisson Becsapódó fotonok/elektronok/ számától k és átlagától λ függő Nagyszámú foton additív Gauss zaj Speckle zaj radar/ultrahang képeken: multiplikatív Gauss zaj
5 Képi zaj só/bors Zajmentes kép Só/bors zaj Gauss Gauss zaj σ=5 Poisson Poisson
6 Gauss zaj szűrése Hogyan tudjuk a zaj mértékét megbecsülni és az ideális intenzitásértéket helyreállítani? I' i, j I i, j N0, Ha több kép áll rendelkezésünkre, akkor minden pixelhez több mérés áll rendelkezésünkre Mivel az additív zaj középértéke 0, ezért egyszerű átlagolással kaphatunk a várható értékre ideális intenzitásérték vonatkozó becslést.
7 Gauss zaj szűrése átlagoló szűrővel A gyakorlatban csak egyetlen kép áll rendelkezésünkre. Átlagoljuk a pixelek egy kis környezetét Feltételezzük, hogy a kép lokálisan homogén és a zaj pixelenként független korrelálatlan. Átlagoló szűrő Megvalósíthatjuk kereszt korreláció vagy konvolúció segítségével.
8 Mozgó átlag 0 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 Source: S. Seitz
9 Mozgó átlag 0 0 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 Source: S. Seitz
0 Mozgó átlag 0 0 20 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 Source: S. Seitz
Mozgó átlag 0 0 20 30 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 Source: S. Seitz
2 Mozgó átlag 0 0 20 30 30 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 Source: S. Seitz
3 Mozgó átlag 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 0 0 20 30 30 30 20 0 0 20 40 60 60 60 40 20 0 30 60 90 90 90 60 30 0 30 50 80 80 90 60 30 0 30 50 80 80 90 60 30 0 20 30 50 50 60 40 20 0 20 30 30 30 30 20 0 0 0 0 0 0 0 0 0 Source: S. Seitz
4 Az átlagoló szűrő tulajdonságai Simítás: a képpontok közelebb kerülnek környezetük átlagához, azaz a kép simább lesz, a szűrt kép intenzitásértékei a kiindulási kép intenzitástartományában maradnak, lineáris operátor Csökkenti a zajt, DE Elmossa az éleket, homályossá teszi a képet. Átlagoló szűrő
Szűrés során minden pixel értéket a szomszédainak lineáris kombinációjával cserélünk le. A Hu,v szűrő mag kernel vagy maszk adja meg a szomszédság méretét és a súlyokat. Korrelációs szűrők 5 Átlagoló szűrő,,, j i J v u H j i I U U u V V v v j u i I v u H j i J,,,
Konvolúciós szűrők Tükrözzük a maszkot, majd számoljunk kereszt korrelációt Képfeldolgozásban a szűrő tipikusan szimmetrikus Nincs különbség a korreláció és konvolúció között 6 U U u V V v v j u i I v u F j i J,,,,,, j i I v u F j i J F I szimmetrikus,, és négyzetes 2 2, - es, v u F v u F K K v u F F N M j i I I
7 Példa Az F maszk mérete: 3x3 K= 4 /0 /0 /0 /0 /5 /0 /0 /0 /0 A J=F*I konvolvált kép adott pontjának számítása: /0+3 /0+ 6 /0+ 8 /0+0 /5+ 2 /0+ 9 /0+4 /0+ 7 /0= 6 6 3 5 0 8 2 7 8 3 6 8 5 0 6 3 6 0 8 4 5 9 9 2 4 8 0 2 6 9 0 3 4 7 8 9 4 7 8 2 5 7 2 9 0 2 3 5 6 3 0 6 4 8 9
' ' ' g f g f g f h f g f h g f h g f h g f g a f g f a g f a f g g f A konvolúció tulajdonságai 8
9 Gauss szűrő Egyenlő súly helyett célszerűbb a közelebbi pixeleket nagyobb súllyal számolni 0 0 0 90 0 90 90 90 0 0 0 0 90 0 0 0 0 0 0 0 2 2 4 2 2 2 változós, 0 középértékű Gauss függvény közelítése: Source: S. Seitz
20 Gauss szűrő A szűrő paraméterei: σ: a Gauss függvény szórása megadja, hogy a középponttól távolodva milyen gyorsan csökkennek a súlyok. Maszk mérete: a Gauss függvény a teljes síkon értelmezett és >0. A maszk véges csak a nagyobb súlyú környezet megtartása a maszkban. Nagy σ kicsi maszkmérettel közel átlagoló szűrő σ = 2, 30 x 30 kernel σ = 5, 30 x 30 kernel
2 Gauss simítás Nagyobb zaj Nagyobb simító maszk
22 Átlagoló és Gauss szűrő hatása
23 Szeparálható szűrők Ha egy 2D szűrőt felbonthatunk két D szűrőre, akkor a szűrőt szeparálhatónak nevezzük Jelentős komplexitás-beli nyereség A Gauss szűrő szeparálható 2D konvolúció: előbb 2 majd 2 ekvivalens: 2 2 2 2 4 2 2 Ugyanannak az nxn konvolúciónak a műveletigénye Szeparált szűrő esetén: O 2 n 2D szűrő esetén: O n 2
24 Mi történik a kép szélén? Mekkora lesz az eredmény kép? MATLAB: filter2h, I, shape shape = full : I és h együttes mérete shape = same : megegyezik I méretével shape = valid : I és h méretének különbsége h full same valid h h h h h I I I h h h h h h Source: S. Lazebnik
25 Mi történik a kép szélén? A szűrő kilóg a kép szélén Hiányzó pixelértékeket extrapolálni kell Lehetséges módszerek: Kilógó szűrő levágása a hatás megegyezik egy megfelelő méretű fekete szegély hozzáadásával A kép széleinek összeillesztése gyűrűvé transzformálás A képszélek másolása a kilógó rész alá Tükrözés a kép széleire Source: S. Marschner
26 Medián szűrő Az a, a 2,, a 2n+ számok mediánja: a nagyság szerint rendezett számsorozat középső, n+-dik eleme, jelölés: med{a, a 2,, a 2n+ } A medián tulajdonságai: min{a i } med{a i } max{a i } nem lineáris, de med{a i +c} = med{a i }+c, med{c a i } = c med{a i } Medián szűrés: J i, j med I i u, j v u, v S A mediánszűrés eredményét az S környezet mérete és alakja határozza meg.
27 Medián szűrés a rendezett környezet a medián egy képpont 3x3-as környezete a képpont új intenzitása
28 Só/bors zaj szűrése medián szűrővel Só/bors zaj eltüntetésére ideális a medián szűrő Eltünteti a kis méretű kiugró értékeket Nem változnak az intenzitásértékek Éleket jobban megtartja, mint az átlagoló vagy a Gauss szűrő Medián szűrő
29 Source: D. Lowe Élesítés Élesítő hatású szűrő: Kielemli a környezeti átlagtól való eltérést 0 0 0 0 2 0 0 0 0 - Élesítő szűrő Original
30 Élesítés
3 Morfológiai szűrők min-max szűrők Az S környezettől is függ az eredmény! Általában kör alakú környezet J min x, y min u, v S { I x u, y v} J max x, y max u, v S { I x u, y v} Nemlineáris morfológiai operátorok: min: erózió max: dilatáció
32 Erózió
33 Dilatáció
34 Morfológiai szűrés Ugyanazon környezettel az alábbi 4-elemű műveletlánc végrehajtása:. erózió 2. dilatáció 3. dilatáció 4. erózió Tipikusan bináris képeken pl. szegmentálás eredményén környezettől függő mértékben Kis foltok eltüntetése Kis lyukak betömése
35 Morfológiai szűrés példa
36 Morfológiai szűrés példa
37 Felhasznált anyagok Palágyi Kálmán: Digitális Képfeldolgozás /pub/digitalis_kepfeldolgozas Trevor Darrell: C280, Computer Vision http://www.cs.cmu.edu/afs/cs/academic/class/5385- s06/lectures/ppts/ Richard Alan Peters: EECE/CS 253 Image Processing http://www.archive.org/details/lectures_on_image_processing További források az egyes diákon megjelölve