Konvolusi Esther Wibowo ‐
[email protected] Erick Kurniawan ‐
[email protected]
Filter / Penapis y
Digunakan untuk proses pengolahan citra: ◦ ◦ ◦ ◦ ◦ ◦
Perbaikan kualitas citra (image enhancement) Penghilangan derau Mengurangi erotan Penghalusan/pelembutan citra Deteksi tepi, penajaman tepi Dll.
Teori Konvolusi (1) Untuk mengaplikasikan penapis pada citra, digunakan metode konvolusi. y Konvolusi 2 fungsi f(x) dan g(x): y
α = peubah bantu
y
Fungsi diskrit:
Konvolusi 2D y
Fungsi malar : ∞
f ( x, y ) * g ( x, y ) =
∞
∫ ∫ f (a, b) g ( x − a, y − b)dadb
−∞ −∞
y
Fungsi diskrit :
f ( x, y ) * g ( x, y ) =
∞
∞
∑ ∑ f ( a, b) g ( x − a, y − b)
a = −∞ b = −∞
Teori Konvolusi (2) g(x) → convolution mask / filter / kernel atau template. y Notasi lain : f ( x, y ) * g ( x , y ) = f ( x , y ) ⊗ g ( x , y ) y Konvolusi bisa dinyatakan dalam matriks. y Tiap elemen matriks penapis : koefisien konvolusi. y Operasi konvolusi → menggeser kernel pixel per pixel ‐ hasil disimpan dalam matriks baru. y
Ilustrasi Konvolusi
f (i, j ) = Ap1 + Bp2 + Cp3 + Dp4 + Ep5 + Fp6 + Gp7 + Hp8 + Ip9
Contoh Konvolusi y
Citra f(x,y) berukuran 5x5 dan sebuat kernel berukuran 3x3 :
Tanda • → posisi (0,0) dari kernel
Hasil Contoh Konvolusi
y y
Bila hasil konvolusi negatif, maka nilai dijadikan 0. (clipping) Bila hasil konvolusi > derajat keabuan maksimum, maka nilai diubah ke derajat keabuan maksimum. (clipping)
Masalah! y
Bagaimana meng‐konvolusi pixel pinggir (border) ?
Beberapa Solusi Pixel‐pixel pinggir diabaikan, tidak dikonvolusi → nilai pixel pinggir = nilai pada citra semula. y Duplikasi elemen citra, misalnya elemen kolom pertama disalin ke kolom M‐1 dst. y Elemen bertanda “?” diasumsikan bernilai 0 atau konstanta lain. y
Memberi Elemen Tambahan
padding
diberi kolom dan baris tambahan, dan diisi dengan
0
nilai 0 (nol), atau
c
konstanta
© 2005 ‐ Petrus Paryono
17
Hasil Konvolusi Pinggir Diabaikan
y
Solusi ketiga elemen pinggir tadi mengasumsikan bahwa pixel pinggir berukuran amat kecil → mata tidak bisa melihat.
Contoh Aplikasi Konvolusi
Penapisan (Filtering) y
Penapisan (filtering) termasuk pengolahan lokal, yaitu dalam transformasinya melibatkan: ◦ nilai‐nilai pixel tetangganya ◦ nilai‐nilai suatu sub‐citra yang memiliki dimensi yang sama. x Sub‐citra ini dikenal sebagai filter, mask, kernel, template, atau window. x Nilai dalam sub‐citra tidak disebut sebagai nilai intensitas pixel, tetapi sebagai koefisien
y
Penapisan yang dibicarakan saat ini adalah penapisan spasial (spatial filtering)
© 2005 ‐ Petrus Paryono
20
Konsep Penapisan kernel
pixel citra di bawah kernel
kernel
Citra
Ukuran kernel m x n dengan: m = 2a + 1 n = 2b +1 a dan b adalah integer non‐negatif Secara umum dikatakan ukuran kernel selalu ganjil/gasal Contoh: 3x3, 5x5, 7x7, 3x5, 3x7, dst. Pada umumnya m = n © 2005 ‐ Petrus Paryono
21
Penapis (filter) y
Beberapa penapis yang sering dipakai: ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
Lolos‐bawah (low‐pass) Median Lolos‐atas (high‐pass) Laplacian Directional Roberts Sobel Gaussian
© 2005 ‐ Petrus Paryono
22
Penapis lolos‐bawah y y
y
1 × 9
Penapis lolos‐bawah (low‐pass filter) juga disebut penapis perataan (averaging filter) Penapisan ini akan menghasilkan citra yang lebih lembut (smooth) sehingga terkesan kabur (blur); dan mengurangi kisaran aras abu‐abu Jumlah koefisien = 1 → > 1 menghasilkan penguatan.
1
1
1
1
1
1
1
1
1
1 × 16
Kernel penapis perata 3x3 Penapis dengan semua koefisien sama disebut penapis kotak (box filter)
1
2
1
2
4
2
1
2
1
Kernel penapis perata berbobot (weighted averaging) 3x3
© 2005 ‐ Petrus Paryono
23
Penapis lolos‐bawah
© 2005 ‐ Petrus Paryono
24
Matriks hasil lolos‐bawah 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
135 142 151 161 169 178 183 186 190 194
135 139 147 157 166 172 176 179 184 187
135 136 142 151 159 165 166 170 172 176
138 138 141 150 159 165 167 165 165 165
143 141 142 146 155 164 166 163 157 157
150 145 142 145 152 159 163 160 155 152
160 152 144 142 145 150 153 152 149 148
172 161 149 143 142 142 144 144 145 144
180 171 159 148 143 141 140 140 140 141
187 182 172 161 151 146 142 142 139 139
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
142 = (138 + 125 + 145 + 145 + 139 + 133 + 154 + 157 + 145) / 9 = 1281 / 9 = 142.33 Matriks citra hasil penapisan Sampel 10x10 kiri atas
25
Penapis median y
y
y
Penapis median merupakan penapis spasial nonlinear, yang hasil prosesnya berdasarkan pada peringkat (rangking) nilai pixel Median dalam statistik berarti mencari nilai yang berada di tengah deretan semua angka yang telah diurutkan Penapis median ini bermanfaat untuk mengatasi masalah derau (noise).
© 2005 ‐ Petrus Paryono
26
Penapis median
© 2005 ‐ Petrus Paryono
27
Matriks hasil median 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
136 143 157 165 174 185 190 192 192 205
127 139 145 157 167 169 177 180 184 186
142 138 145 154 159 162 166 170 172 175
135 139 143 146 159 162 167 170 170 170
143 143 145 146 158 162 162 162 158 158
152 143 143 146 147 158 161 159 157 154
172 147 145 146 146 146 149 149 147 145
173 171 147 146 143 142 143 141 142 145
189 173 158 147 143 141 141 140 140 141
184 185 175 158 146 145 141 141 140 140
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas 125 133 138 139 145 145 145 154 157
median
Matriks citra hasil penapisan Sampel 10x10 kiri atas
28
Penapis lolos‐atas Penapisan lolos‐atas (high‐pass filtering) akan menghasilkan citra yang lebih tajam (sharp) atau rinci dan histogram yang relatif sempit yang terpusat di tengah aras abu‐abu nol y ∑ koefisien = 0 → komponen freq. rendah turun. y ∑ koefisien = 1 → komponen freq. rendah tetap. y
‐1 ‐1 ‐1 ‐1
8
‐1
‐1 ‐1 ‐1
∑ = 0
0
‐1
0
‐1
5
‐1
0
‐1
0
© 2005 ‐ Petrus Paryono
29
∑ = 1
Penapis lolos‐atas
© 2005 ‐ Petrus Paryono
30
‐1
‐1
‐1
‐1
8
‐1
‐1
‐1
‐1
Matriks hasil lolos‐atas 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
2 5 46 36 37 60 61 48 14 94
0 0 0 0 0 0 33 0 18 0
62 0 0 53 65 18 0 61 0 66
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
0 0 14 101 59 0 0 0 0 33 0 0 0 0 14 41 20 21 0 5 0 142 4 0 0 51 128 0 0 73 0 77 57 0 31 0 0 22 0 81
6 82 0 0 0 2 0 0 0 0
78 30 0 0 0 0 1 0 0 0
0 26 0 0 0 0 0 0 3 11
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
0 = (‐138 ‐ 125 ‐ 145 ‐145 + 8x139 ‐ 133 ‐154 ‐ 157 ‐ 145) = ‐1142 + 1112 = ‐30
Matriks citra hasil penapisan Sampel 10x10 kiri atas
31
Edge Detection (Pendeteksian Tepi) y
Analisis citra: ekstraksi ciri ‐ segmentasi ‐ klasifikasi. ◦ Pertama harus deteksi keberadaan tepi. ◦ Segmentasi : mereduksi citra menjadi objek atau region. ◦ Klasifikasi : memetakan segmen‐segmen dalam kelas dan objek yang berbeda.
Tepi Dalam Citra Digital y
Tepi curam ◦ Perubahan intensitas tajam, berkisar 90⁰
y
Tepi landai ◦ Tepi lebar, sudut arah kecil. Terdiri dari sejumlah tepi‐tepi lokal yang lokasinya berdekatan.
y
Tepi mengandung derau ◦ Lakukan operator image enhancement dahulu sebelum mendeteksi tepi. Mis. Operator Gaussian (menghaluskan citra).
Penapis Laplacian y y y
Disebut pula Operator Turunan Kedua. Termasuk dalam penapis lolos tinggi. Lebih akurat khususnya pada tepi‐tepi curam.
© 2005 ‐ Petrus Paryono
35
Penapis Laplacian
Penapis dari rumus Laplacian
Penapis Laplacian lain
0
1
0
1
1
1
1
‐4
1
1
8
1
0
1
0
1
1
1
0
‐1
0
1
4
1
‐1
4
‐1
4
‐20
4
0
‐1
0
1
4
1
© 2005 ‐ Petrus Paryono
36
Penapis dari rumus Laplacian yang diperluas
Penapis Laplacian untuk bobot lebih pada pixel tengah di antara pixel tetangga
Penapis Laplacian
© 2005 ‐ Petrus Paryono
37
0
‐1
0
‐1
4
‐1
0
‐1
0
Matriks hasil Laplacian 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
2 0 18 10 14 22 13 28 0 42
0 12 0 0 0 0 34 0 32 0
39 0 0 23 24 12 0 53 0 56
0 49 0 0 19 0 0 0 62 0
4 0 31 0 0 71 0 56 0 46
0 14 0 12 0 0 75 0 45 0
54 0 0 26 4 0 0 48 0 52
0 52 0 0 0 8 0 0 0 0
35 0 0 0 0 0 10 0 6 0
0 24 0 0 0 10 0 5 0 14
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
Matriks citra hasil penapisan Sampel 10x10 kiri atas
38
Penapis Directional
© 2005 ‐ Petrus Paryono
39
‐1
0
1
‐1
0
1
‐1
0
1
Matriks hasil directional 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
23 3 0 0 0 0 0 0 0 0
15 21 6 0 0 15 19 0 0 0
34 23 8 0 0 2 15 1 0 0
57 18 0 0 0 0 0 0 0 0
68 55 20 0 0 0 0 0 0 0
72 76 58 16 0 0 0 0 0 0
36 42 56 51 36 9 0 0 0 0
32 64 89 91 60 42 28 26 1 0
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
Matriks citra hasil penapisan Sampel 10x10 kiri atas
40
Penapis Roberts
p1
p2
p3
p4
p5
p6
p7
p8
p9
‐1
0
0
‐1
0
1
1
0
p = p9 − p5 + p8 − p6 ' 5
Citra semula
© 2005 ‐ Petrus Paryono
41
Penapis Roberts
© 2005 ‐ Petrus Paryono
42
Matriks hasil Roberts 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
18 21 23 27 32 26 36 32 27 25
6 21 27 14 11 21 8 13 16 19
13 14 30 27 13 7 18 17 30 31
5 6 11 32 19 31 24 12 18 17
16 2 5 15 35 14 22 23 5 14
42 11 19 1 15 43 24 11 7 4
37 45 3 20 9 11 25 27 25 15
20 42 25 15 4 6 7 4 5 14
13 39 19 19 15 6 2 4 1 11
20 40 52 33 21 16 18 8 16 23
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
30 = ⏐145‐139⏐+ ⏐157‐133 ⏐ = ⏐6 ⏐+ ⏐24 ⏐
Matriks citra hasil penapisan Sampel 10x10 kiri atas
43
Penapis Sobel
‐1
‐2
‐1
‐1
0
1
0
0
0
‐2
0
2
1
2
1
‐1
0
1
© 2005 ‐ Petrus Paryono
44
Penapis Sobel
© 2005 ‐ Petrus Paryono
45
Matriks hasil Sobel 136 143 157 165 174 185 190 192 192 205 0 0 0 0 0 0 0 0 0 0
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
0 0 0 0 0 0 0 0 0 102 20 38 32 76 192 234 166 154 148 106 50 26 36 44 174 196 226 112 124 128 66 52 48 34 128 202 100 60 94 128 116 66 28 66 148 126 44 36 62 182 116 34 22 78 102 70 30 52 92 130 66 8 52 104 82 26 62 110 110 74 10 40 136 94 94 82 56 80 60 6 18 110 114 110 68 18 38 60 34 40 © 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
106 = ⏐(154 + 2x157 + 145) ‐ (138 + 2x125 + 145)⏐ + ⏐(145 + 2x133 + 145) ‐ (138 + 2x145 + 154)⏐ = ⏐633‐533 ⏐+⏐556‐582 ⏐ = 90 + 16
Matriks citra hasil penapisan Sampel 10x10 kiri atas
46
Penapis Gaussian‐bawah
© 2005 ‐ Petrus Paryono
47
0.0008
0.0286
0.0008
0.0286
1.0000
0.0286
0.0008
0.0286
0.0008
Matriks hasil Gaussian‐bawah 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
135 143 156 164 173 184 189 191 192 203
127 137 145 154 158 169 179 167 185 184
140 126 139 156 166 166 162 175 170 182
135 143 134 145 161 159 162 159 170 154
142 138 145 143 157 178 172 170 148 158
152 144 139 146 147 160 176 157 157 143
170 138 136 146 145 146 149 159 147 155
173 169 147 134 140 142 141 144 137 142
188 175 157 146 142 137 140 137 139 140
184 184 165 158 149 144 139 140 140 140
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
0.0008
0.0286
0.0008
0.0286
1.0000
0.0286
0.0008
0.0286
0.0008
Matriks citra hasil penapisan Sampel 10x10 kiri atas
48
Penapis Gaussian‐atas
© 2005 ‐ Petrus Paryono
49
‐0.0008
‐0.0286
‐0.0008
‐0.0286
0.1052
‐0.0286
‐0.0008
‐0.0286
‐0.0008
Matriks hasil Gaussian‐atas 136 143 157 165 174 185 190 192 192 205
127 138 145 154 158 169 180 166 186 184
142 125 139 157 167 167 161 177 170 184
135 145 133 145 162 159 162 158 172 152
143 138 146 143 158 180 172 172 146 160
152 145 139 147 147 160 178 156 159 142
172 137 136 147 146 146 149 161 147 157
173 171 147 133 140 143 141 144 137 142
189 175 157 146 142 137 141 137 140 140
184 185 164 158 149 145 139 141 140 141
131 147 113 140 140 131 156 125 206 104
210 111 164 176 234 202 101 255 112 255
50 255 149 101 108 138 255 53 255 53
193 31 234 181 118 241 169 255 29 255
134 200 74 199 156 11 177 41 255 55
160 113 181 119 202 184 1 255 55 255
44 255 199 85 136 179 218 48 206 34
201 48 168 247 150 124 172 144 197 168
105 177 167 160 151 191 118 179 126 172
226 129 255 171 175 123 199 130 157 108
© 2005 ‐ Petrus Paryono
Matriks citra semula Sampel 10x10 kiri atas
‐0.0008
‐0.0286
‐0.0008
‐0.0286
0.1052
‐0.0286
‐0.0008
‐0.0286
‐0.0008
Matriks citra hasil penapisan Sampel 10x10 kiri atas
50