Computer
Visi n
Apa itu Noise dan Cara
Menanganinya
Bagian 1
Noise
• Merupakan gangguan yang terjadi ketika pengukuran dilakukan.
• Umumnya berasal dari keterbatasan sensor dalam melakukan pengukuran.
• Noise tidak dapat dihindari, setiap sensor pasti punya noise
Menyimulasikan Noise
Ide untuk Menghilangkan Noise?
Petunjuk:
1. Nilai yang “asli” pasti serupa dengan nilai-nilai disekelilingnya. 2. Karena ada noise, nilai “asli” jadi lebih naik atau turun.
Solusi Menghilangkan Noise (1D)
Ganti nilai pixel dengan rata-rata dari nilai tetangga-tetangganya – moving average
Dikusi
Jika noise sebenarnya hanyalah berupa fungsi yang ditambahkan ke dalam gambar, kita bisa saja menghilangkan noise dengan melakukan pengurangan gambar terhadap terhadap fungsi tersebut.
Sehingga, penghilangan noise sebenarnya adalah reversible
a) Benar, menghilangkan noise sebenarnya mudah, tapi terdapat konspirasi dunia yang menutupinya dan membuatnya terlihat sulit.
b) Benar, tapi kita tidak tahu fungsi noisenya apa, jadi kita tetap saja tidak bisa melakukan pengurangan.
Jawaban
Jika noise sebenarnya hanyalah berupa fungsi yang ditambahkan ke dalam gambar, kita bisa saja menghilangkan noise dengan melakukan pengurangan gambar terhadap terhadap fungsi tersebut.
Sehingga, penghilangan noise sebenarnya adalah reversible
a) Benar, menghilangkan noise sebenarnya mudah, tapi terdapat konspirasi dunia yang menutupinya dan membuatnya terlihat sulit.
b) Benar, tapi kita tidak tahu fungsi noisenya apa, jadi kita tetap saja tidak bisa melakukan pengurangan.
c) Salah total.
Solusi Lebih Baik Menghilangkan Noise
• Yang dilakukan sebelumnya, nilai pixel yang terlibat dalam operasi rata-rata memiliki bobot yang sama.
Apakah nilai pixel yang jaraknya 100 pixel juga mempengaruhi interest pixel kita?
• Pixel yang sangat jauh sepertinya tidak ada pengaruhnya terhadap interest pixel kita.
• Pixel tetangga dari interest pixel kita, memiliki peran yang lebih besar dibanding pixel-pixel yang letaknya jauh.
Solusi Lebih Baik Menghilangkan Noise
Pembobotan
[
1 1 1 1 1
] / 5
Pembobotan
[
1 4 6 4 1
] / 16
Solusi Baik Menghilangkan Noise
• Gunakan weighted moving average, terhadap seluruh pixel yang ada
Correlation Filtering
Bagian 2
Moving-Average di 2D
Moving-Average di 2D
Dennis Christie - Universitas Gunadarma 14
Correlation Filtering
• Generalisasi dari operasi kita dalam slide sebelumnya adalah:
𝐺 𝑖, 𝑗 =
• Operasi ini dinamakan cross-correlation, dinotasikan dengan 𝐺 = 𝐻⨂𝐹
Gambar hasil Koordinat disekitar
interest pixel non-uniformBobot Gambar asal
Correlation Filtering |
Average Kernel
Dennis Christie - Universitas Gunadarma 16
Correlation Filtering |
Average Kernel
Artefak tajam (kotak-kotak)
Correlation Filtering |
Average Kernel
• Kernel berbentuk kotak tidaklah halus.
• Bentuk apa yang kira-kira merepresentasikan “halus”?
• Lingkaran!
Correlation Filtering |
Gaussian Kernel
Dennis Christie - Universitas Gunadarma 20
1 2 1
Nilai kernel merupakan aproksimasi fungsi gaussian
Catatan Mengenai Gaussian Kernel
• Lebar kernel 𝑤 tidak menentukan besar variance Σ2
Dennis Christie - Universitas Gunadarma 22
Diskusi
• Mana diantara kernel gaussian berikut yang memiliki efek blur yang lebih halus?
(a) (b) (c)
Jawaban
• Semakin kecil variance Σ2 semakin tajam pembobotan, sehingga kernel gaussian dengan variance besar lah yang membuat efek blur yang lebih halus.
Dennis Christie - Universitas Gunadarma 24
(a) (b) (c)
Correlation Kurang Intuitif
Dennis Christie - Universitas Gunadarma 26
Correlation Kurang Intuitif
• Correlation Filtering kurang intuitif untuk dipahami / diingat.
• Jika sebuah gambar impulse di korelasikan dengan sebuah kernel, gambar yang dihasilkan merupakan cerminan-terbalik dari kernel yang kita miliki.
Correlation vs Convolution
• Cross-correlation filtering
𝐺 𝑖, 𝑗 =
• Convolution filtering
𝐺 𝑖, 𝑗 =
Dennis Christie - Universitas Gunadarma 28
Flip di kedua dimensi
(bawah jadi atas) (kanan jadi kiri)
F
Convolution Filtering
• 𝐺 = 𝐻 ∗ 𝐹
Diskusi
Ketika gambar impulse dikonvolusikan dengan sebuah filter (kernel), akan menghasilkan kembali filter (kernel) kita.
Jika sebuah filter (kernel) dikonvolusikan dengan gambar impulse, apa yang akan dihasilkan?
a) Versi blur dari gambar kita. b) Gambar original kita.
c) Gambar original kita yang bergeser. d) Bingung.
Jawaban
Ketika gambar impulse dikonvolusikan dengan sebuah filter (kernel), akan menghasilkan kembali filter (kernel) kita.
Jika sebuah filter (kernel) dikonvolusikan dengan gambar impulse, apa yang akan dihasilkan?
a) Versi blur dari gambar kita.
b) Gambar original kita.
Diskusi
Jika terdapat sebuah gambar berukuran 𝑁 × 𝑁 dan filter (kernel) berukuran 𝑊 × 𝑊 Berapa banyak jumlah perkalian yang dibutuhkan untuk menghitung konvolusi?
Dennis Christie - Universitas Gunadarma 32
Jawaban
Setiap 1 pixel pada gambar, terdapat 𝑊 × 𝑊 perkalian. Dalam satu gambar terdapat
𝑁 × 𝑁 pixel, maka seluruh perkalian yang terjadi dalam konvolusi adalah
Kernel dapat Dipecah
• Dalam beberapa kasus, filter (kernel) dapat dipecah
• Kita bisa mendapatkan kernel persegi dengan melakukan konvolusi kernel kolom
dengan kernel baris.
Dennis Christie - Universitas Gunadarma 34
Kompleksitas Komputasi Convolution
• Operasi Konvolusi bersifat linear
• Komutatif dan Distributif
• Total operasi perkalian yang terjadi adalah 2 × 𝑊𝑁2 ≪ 𝑊2𝑁2
=
=
𝐻 ∗ 𝐹 (𝑐 ∗ 𝑟) ∗ 𝐹 𝑐 ∗ (𝑟 ∗ 𝐹)
Permasalahan di Ujung Gambar
Dennis Christie - Universitas Gunadarma 36
Permasalahan di Ujung Gambar
Beragam Penyelesaian
•
Clip Filter (Hitam)
Beragam Penyelesaian
•
Clip Filter (Hitam)
Beragam Penyelesaian
•
Clip Filter (Hitam)
•
Wrap Around (Fourrier)
•
Copy Edge
Beragam Penyelesaian
•
Clip Filter (Hitam)
•
Wrap Around (Fourrier)
•
Copy Edge
Tipe Noise
Bagian 4
Beberapa Tipe Noise
Salt and Pepper Noise
• Merupakan noise yang terdiri dari impulse (nilai max atau nilai min). Biasanya terjadi dikarenakan malfungsi dari sensor.
• Tidak bisa diselesaikan dengan gaussian / average filter.
Median Filter
Dennis Christie - Universitas Gunadarma 46
Median Filter
Properti dari Konvolusi
Properti dari Konvolusi
• Median filter bukanlah proses konvolusi!
• Median filter juga bukanlah operasi linear
• Bergantung pada seberapa acaknya nilai yang berada dalam kernel.
Dennis Christie - Universitas Gunadarma 50