Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szűrés és konvolúció Vámossy Zoltán 2004 (Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján)

Hasonló előadás


Az előadások a következő témára: "Szűrés és konvolúció Vámossy Zoltán 2004 (Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján)"— Előadás másolata:

1 Szűrés és konvolúció Vámossy Zoltán 2004 (Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján)

2 Vámossy Zoltán IAR 2004 2 CV rendszer általános modellje

3 Vámossy Zoltán IAR 2004 3 Maszk, vagy ablak alapú műveletek n g(x, y) = T[f(x, y)], T a szomszédos pixeleken operál (lokális művelet)

4 Vámossy Zoltán IAR 2004 4 Mit jelent a képszűrés (filtering)? n Maszk, vagy ablak alapú transzformációk n A kép adott pixelét a környezetében lévő pixelek függvényében módosítjuk n Az input és az output kép azonos méretű n Pixelről pixelre haladunk n A pont operációknál számítástechnikailag időigényesebbek, de hatékonyságuk jelentősebb 1053 451 117 7 Valamilyen fgv.

5 Vámossy Zoltán IAR 2004 5 Maszkok n A maszk egy mátrix, elemei a súlyok n Minden maszknak van origója n A szimmetrikus maszkok origója rendszerint a középső elem, a nem szimmetrikusoké választható n Lineáris eset a legegyszerűbb és leghasznosabb –Minden pixelt a környezetének lineáris kombinációjával helyettesítjük n A lineáris kombinációval történő leírást konvolúciós magnak, vagy maszknak is nevezik (convolution kernel) 1053 451 117 7 000 00.50 01.00.5 Maszk - k ernel  =

6 Vámossy Zoltán IAR 2004 6 Megj.: Nem lineáris szűrés n Ha az output nem a lineáris kombinációja az inputoknak, nem lineáris szűrésről beszélünk n Példa: erozió, dilatáció, médián, max, min, extrénum n Nem maszkkal valósítjuk meg

7 Vámossy Zoltán IAR 2004 7 Képtérben történő szűrések Lineáris szűrők Simítás: n Átlagoló (alul-áteresztő) szűrők Élesítés: n Felül áteresztő szűrők n Felül erősítő szűrők n Sávszűrők n Derivált szűrők Nem lineáris szűrők Simítás n Médián

8 Vámossy Zoltán IAR 2004 8 Maszkok használata n Az input minden pixelére egy maszkot helyezünk úgy, hogy annak origója az adott pixelre essék n Az input kép maszk alatti pixeleit megszorozzuk a maszkban szereplő súlyokkal n Az eredmény: az input helyzetének megfelelő pixel értéke a súlyozott értékek összege – esetleg skálázva

9 Vámossy Zoltán IAR 2004 9 Maszk használata

10 Vámossy Zoltán IAR 2004 10 Maszk használata n A diszkrét két dimenziós konvolúció definíciója (páratlan méretű maszkra): Figyeljük meg az indexek sorrendjét!

11 Vámossy Zoltán IAR 2004 11 Az 1D konvolúcióról n Két függvény között értelmezett lineáris művelet n Az egyik függvényből vett minta súlyozott mozgó átlagának számítása egy adott súlyfüggvény alapján n f(t) függvényből vett minta f 1, f 2,.... f 10 n Súlyfüggvény értékei w +2, w +1, w 0, w -1, w -2 f(t): f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 w(t): w 2 w 1 w 0 w -1 w -2 a mozgó átlag: a 6 n Az a 6 mennyiséget a következőképpen számítjuk ki: a 6 = w 2 f 4 + w 1 f 5 + w 0 f 6 + w -1 f 7 + w -2 f 8 n Általában w 0 -t f n -nel szorozzuk:

12 Vámossy Zoltán IAR 2004 12 Az 1D konvolúcióról n Előző súlyfüggvény 0 a (-2, 2) intervallumon kívül n Az a n sorozatot nevezzük diszkrét konvolúciónak: az összegzést kiterjeszthetjük a (-∞, ∞) intervallumba: n Ha a függvényből és súlyból vett minták f i -k és w i -k közötti részt végtelen kicsinek vesszük, akkor folytonos fgv-ek konvolúciós integrálját kapjuk: a = w  f = f  w

13 Vámossy Zoltán IAR 2004 13 1D konvolúció példa 1. n A következő két fgv. konvolúciója n 1. lépés g(-a) tükrözés!2. lépés g(x-a)

14 Vámossy Zoltán IAR 2004 14 1D konvolúció példa 2. n 3. lépés tekintsük az összes lehetséges x értéket n 1. eset: x < 0 n 2. eset: 0 <= x <= 1

15 Vámossy Zoltán IAR 2004 15 1D konvolúció példa 3. n 3. eset: 1 <= x <= 2 n 4. eset: 2 < x

16 Vámossy Zoltán IAR 2004 16 1D konvolúció példa 4. n Tehát n Megjegyzés: n x értékre a bal oldali határ a számítás során max( f(x) bal határa, g(x-a) bal határa) n x értékre a jobb oldali határ a számítás során min( f(x) jobb határa, g(x-a) jobb határa)

17 Vámossy Zoltán IAR 2004 17 Megj: Keresztkorreláció n A korreláció tükrözés nélkül transzformálja az eredeti képet n Gyakran használják olyan alkalmazásokban, ahol a hasonlóságot kell megmérni képek, vagy képrészek között n Ha a maszk szimmetrikus (a tükrözött ugyanaz, mint az eredeti), akkor a konvolúció és a korreláció eredménye ugyanaz n A diszkrét korreláció definíciója (páratlan méretű maszkra):

18 Vámossy Zoltán IAR 2004 18 Konvolúció és keresztkorreláció

19 Vámossy Zoltán IAR 2004 19 Maszksúlyok normalizálása n A maszk elemek összege meghatározza az output kép egészének intenzitását n Sok konvolúciós maszk esetében az összeg 1 (az eredmény képnek ugyanaz marad az átlagos intenzitása) n Néhány maszkban negatív súlyok is vannak és az összegük 0 n Ha negatív értékek vannak a maszkban, akkor negatív pixeleredmény is lehet n Negatív eredmény esetén lineáris normalizálást hajtunk végre az eredményképen

20 Vámossy Zoltán IAR 2004 20 Gyakorlati problémák n Kép szélének kezelése n A futási idő a maszk méretének exponenciális hatványával arányos

21 Vámossy Zoltán IAR 2004 21 Szűrő példák

22 Vámossy Zoltán IAR 2004 22 Szűrő példák

23 Vámossy Zoltán IAR 2004 23 Szűrő példák

24 Vámossy Zoltán IAR 2004 24 Példa: simítás (blurring) ImageBlurred Image -=

25 Vámossy Zoltán IAR 2004 25 Összefoglalás: Lineáris szűrők n Módszer: –Új képet készítünk, ahol a pixelek intenzitása az eredeti képen ugyanazon a helyen lévő pixel és szomszédjainak súlyozott intenzitás összegéből számoljuk ki n Tulajdonságok –Az output lineáris függvénye az inputnak –Az output eltolás invariáns (shift-invariant) függvénye az inputnak (pl. az input kép két pixellel balra tolva és szűrve, az output pixelei is két pixellel balra tolva jelennek meg) –A lineáris konvolúció asszociatív n Példa: simítás átlagolással –A szomszédok átlagából származik a célpixel n Példa: simítás Gauss szűrővel –A szomszédok súlyozott átlagából származik a célpixel n Példa: derivált meghatározása –A szomszédok súlyozott átlagából származik a célpixel

26 Simítás (aluláteresztő) szűrők n Zaj szűrésre és kép elmosásra használják n A finom részleteket is eltűnteti

27 Vámossy Zoltán IAR 2004 27 Átlagszűrő (averaging, mean filter) n A maszk elemei pozitívak n A maszk mérete határozza meg a simítás mértékét Box filterek:

28 Vámossy Zoltán IAR 2004 28 Átlagoló szűrő n Szeparalható n Rekurzívan számolható, pixelenként 4 operációval L pixels +  m,nm,n m,n+1

29 Vámossy Zoltán IAR 2004 29 Simító ablak méretének hatása 1 pixel3 pixels7 pixels

30 Vámossy Zoltán IAR 2004 30 Példa: simítás átlagolással n Begyűrűzés (ringing) effektus

31 Vámossy Zoltán IAR 2004 31 Simítás Gauss szűrővel n Az átlagoló simítás nem azonos a defókuszált lencsével készített képpel n A leginkább tapasztalható differencia: egy pont képe a defókuszált lencse esetében egy életlen folt; az átlagolás ezzel szemben téglalapot készít n A Gauss görbe jó modell a foltra

32 Vámossy Zoltán IAR 2004 32 n A simító maszk, mely arányos: n A Gauss maszk a szélen közel 0 n σ a simítás mértéket határozza meg (körkörösen szimmetrikus életlen folt képének modellje) Izotróp Gauss szűrő

33 Vámossy Zoltán IAR 2004 33 Simítás Gauss szűrővel

34 Vámossy Zoltán IAR 2004 34 Gauss szűrő n A súlyok a Gauss függvényből származnak Maszk (kernel): Gauss konvolúció magja σ = 0.5

35 Vámossy Zoltán IAR 2004 35 Képsimítás Gauss szűrővel figure(3); sigma = 3; width = 3 * sigma; support = -width : width; gauss2D = exp( - (support / sigma).^2 / 2); gauss2D = gauss2D / sum(gauss2D); smooth = conv2(conv2(bw, gauss2D, 'same'), gauss2D', 'same'); image(smooth); colormap(gray(255)); gauss3D = gauss2D ' * gauss2D; tic ; smooth = conv2(bw,gauss3D, ' same ' ); toc

36 Vámossy Zoltán IAR 2004 36 Szétválasztás I. (Separable kernels) g (i, j) = f  h = f  h y  h x

37 Vámossy Zoltán IAR 2004 37 Szétválasztás II. (Separable kernels) n A Gauss szűrőt hatékonyan lehet implementálni, mert szeparálható:

38 Vámossy Zoltán IAR 2004 38 Gauss szűrő algoritmusa n Az I kép Gauss szűrése n x n –es méretű, σ = σ g paraméterű G maszkkal n Készítsünk egy 1D Gauss n szélességű maszkot (g), σ g = σ G n Hajtsunk végre konvolúciót az I kép oszlopain g-vel, az új kép I c n Hajtsunk végre konvolúciót az I c kép sorain g-vel

39 Vámossy Zoltán IAR 2004 39 Gauss szűrő n A σ (simítás mértékének) növelésével a maszk méretének is nőnie kell n Magasság = szélesség = 5 σ (a terület 98.76%-át fedi le)

40 Vámossy Zoltán IAR 2004 40 Gauss szűrő n A σ=2 13x13-as maszk, 255-re felszorozva

41 Vámossy Zoltán IAR 2004 41 Binomiális szűrő I. n 3x3-as szimmetrikus Gauss szűrő n A binomialis sorozatok a Gauss függvény diszkrét közelítései: aluláteresztő szűrőként viselkednek n Az 1/16-os osztás általános esetben 1/2 2p n Az n=3 elemű első sor elemei [1, 2, 1] a p=n-1=2-od rendű binomiális együtthatók n A binomiális együtthatók a Pascal háromszögből is származtathatók n Konvolúció segítségével is megkaphatjuk azokat: [1, 1]  [1, 1] = [1, 2, 1], [1, 1]  [1, 2, 1] = [1, 3, 3, 1]

42 Vámossy Zoltán IAR 2004 42 Binomiális szűrő II. A méret növekedésével a szűrő egyre jobban közelíti a Gauss szűrőt

43 Vámossy Zoltán IAR 2004 43 Binomiális szűrő III. n Szeparálhatók a binomiális szűrők n A 2D konvolúció két 1D-s konvolúcióval számolható –Példa n = 3 2D konvolúció: 9 szorzás, 8 összeadás 1D konvolúciókkal: 6 szorzás, 4 összeadás –Példa általános eset n 2D konvolúció: n 2 szorzás, n 2 -1 összeadás 1D konvolúciókkal: 2*n szorzás, 2*(n-1) összeadás és 2*(n-1) shiftelés jobbra n Az 1D h n (x) maszk helyettesíthető n db [1 1] maszk konvolúciójával – ez 1 összeadás és egy shiftelés; 2D h n (x, y) ez 2*(n-1) összeadás, nincs szorzás és 2*(n-1) shiftelés

44 Vámossy Zoltán IAR 2004 44 Binomiális szűrő IV. EredetiBinomiális 5x5Átlagoló 5x5

45 Vámossy Zoltán IAR 2004 45 Élelmosás összehasonlítás n Élelmosás átlagolásnál és binomiális szűrőnél Lépcsős él L méretű átlagoló eredménye L L méretű binomiális eredménye

46 Vámossy Zoltán IAR 2004 46 Medián szűrő (nem lineáris) n A pixelt a környező pixelek mediánjával helyettesíti n Rank order szűrő n Nem lineáris: –median{ f1 + f2} ≠ median{ f1} + median{ f2}. n De: –median{ c f } = c median{ f }, –median{ c + f } = c + median{ f }. n Véletlenszerűen elhelyezkedő, impulzus szerű zaj kiszűrésére hatékony n Az éleket megtartja n Nagy zajnál nem hatékony n Gauss-féle zaj esetén nem hatékony

47 Vámossy Zoltán IAR 2004 47 Medián szűrő (nem lineáris) Kép5x5 médián5x5 átlagoló

48 Vámossy Zoltán IAR 2004 48 Medián szűrő megjegyzés Eredeti kép szűrők eredmény

49 Vámossy Zoltán IAR 2004 49 Medián szűrő megjegyzés n Pontokat, vonalakat és sarkokat törli a medián szűrő Teszt képek 3  3 médián

50 Vámossy Zoltán IAR 2004 50 Medián szűrő megjegyzés n A részleteket hatékonyabban “védi” m i = median( R i ), i =1,2,3,4. Result = median( m 1,m 2,m 3,m 4,m 5 ) R1R1 R2R2 R3R3 R4R4 m5m5           

51 Élesítés (felül-áteresztő) szűrők

52 Vámossy Zoltán IAR 2004 52 Élesítés (sharpening) n A kép finom részleteinek kiemelésére szolgál n A magas kontrasztú részeket a lokális környezetben számított intenzitás differenciák kaphatjuk meg n A maszk súlyai pozitív és negatív értékek n Közel konstans intenzitású rész felett a maszk eredményeként nulla közeli értéket kapunk n Hirtelen változó intenzitásoknál a konvolúció eredménye nagyobb érték n Ilyen pontok tipikusan az objektumok, vagy képrészek határain jelennek meg

53 Vámossy Zoltán IAR 2004 53 Élesítés (sharpening) példa 1/9 (-10 - 80 - 80 -10 + 640 -80 -10 -80 -80) = 210/9 > 0 1/9 (-10 - 10 - 10 -10 + 80 -10 -10 -10 -10) = 0

54 Vámossy Zoltán IAR 2004 54 Élesítés deriváltak használatával n Élesítést térbeli deriváltak használatával kapunk n Gradiens meghatározása (nagyságát használjuk) n Lineáris és eltolás invariáns művelet => konvolúció n A gradienst véges differenciákkal közelítjük, amik maszkokkal is számíthatók

55 Vámossy Zoltán IAR 2004 55 Differenciák pontossága n Első derivált pontosabb közelítése n Második derivált közelítésének pontossága

56 Vámossy Zoltán IAR 2004 56 Első és másodrendű differenciák

57 Vámossy Zoltán IAR 2004 57 Élesítés Első és másodrendű differenciák összehasonlítása n Elsőrendű differenciák vastagabb éleket generálnak n Másodrendű differenciáknak erőteljesebb a válasza olyan finom részletekre, mint vékony vonalak, vagy izolált pontok n Másodrendű differenciák dupla választ adnak az intenzitás lépcsős változásánál Élesítéshez gyakrabban alkalmaznak másodrendű deriváltakat

58 Vámossy Zoltán IAR 2004 58 Laplace szűrő n Izotrópikus szűrő: nem irányfüggő n Legegyszerűbb másodrendű differenciákat tartalmazó szűrő a Laplace

59 Vámossy Zoltán IAR 2004 59 Laplace szűrő n Folytonossági hiányok kiemelésére szolgál n Háttér eltűnik n A háttér visszakapható, ha az eredeti képet hozzáadjuk

60 Vámossy Zoltán IAR 2004 60 Laplace szűrő n Eredeti, szűrt kép, transzformált Laplace, élesített kép

61 Vámossy Zoltán IAR 2004 61 Laplace szűrő n Laplace élesítés

62 Vámossy Zoltán IAR 2004 62 Unsharp masking és felül erősítés n Sharpened image = original – blurred n Highpass = original - lowpass n Felül erősítő szűrő, A>=1

63 Vámossy Zoltán IAR 2004 63 Felül erősítés n Laplace, A=1, A=1.7

64 Vámossy Zoltán IAR 2004 64 Differencia szűrők n Gradiens és nagysága (nem lineáris operátor, erősségről ad infót, izotrópikus operátor) n Közelítések 1.

65 Vámossy Zoltán IAR 2004 65 Differencia szűrők n Közelítések 2. Prewitt n Közelítések 3. Sobel

66 Vámossy Zoltán IAR 2004 66 Kombináció / konvolúció 0.0030 0.0133 0.0219 0.0133 0.0030 0.0133 0.0596 0.0983 0.0596 0.0133 0.0219 0.0983 0.1621 0.0983 0.0219 0.0133 0.0596 0.0983 0.0596 0.0133 0.0030 0.0133 0.0219 0.0133 0.0030

67 Vámossy Zoltán IAR 2004 67 Differenciák


Letölteni ppt "Szűrés és konvolúció Vámossy Zoltán 2004 (Gonzales, Woods, Forsyth, Rehg, Hanson, Trucco, Verri, Thrun, Bradski anyagai alapján)"

Hasonló előadás


Google Hirdetések