Teori Konvolusi dan Fourier Transform Sigit Widiyanto Dua

  • Slides: 50
Download presentation
Teori Konvolusi dan Fourier Transform Sigit Widiyanto

Teori Konvolusi dan Fourier Transform Sigit Widiyanto

Dua Operasi matematis yang penting! • Operasi Konvolusi (Spatial Filter) – Operasi pengolahan citra

Dua Operasi matematis yang penting! • Operasi Konvolusi (Spatial Filter) – Operasi pengolahan citra yang mengalikan sebuah citra dengan sebuah mask atau kernel (Convolution Mask) • Transformasi Fourier – Citra dimanipulasi dalam ranah (domain) frekuensi ketimbang dalam ranah spasial.

Konvolusi • Konvolusi diskrit sangat banyak dipergunakan dalam pengolahan citra untuk – Memperhalus (smoothing)

Konvolusi • Konvolusi diskrit sangat banyak dipergunakan dalam pengolahan citra untuk – Memperhalus (smoothing) – Menajamkan (sharpening) – Mendeteksi tepi (edge detection) • Konvolusi = jumlah berbobot dari pixel-pixel disekeliling pixel sumber • Bobot ditentukan oleh matrix kecil yang disebut convolution mask)

Konvolusi • Dimensi convolution mask biasanya ganjil dan posisi tengahnya berkaitan dengan posisi pixel

Konvolusi • Dimensi convolution mask biasanya ganjil dan posisi tengahnya berkaitan dengan posisi pixel output • Frame matriks konvolusi bergerak dengan berpusat pada tiap pixel pada citra input untuk menghasilkan pixel-pixel yang baru. • Pixel output merupakan citra baru • Nilai bobok pada convolution mask berpengaruh pada intensitas keseluruhan dari citra yang baru – Jika nilai = 1, maka intensitas citra output = intensitas citra input – Jika nilai = 0, maka pixel yang baru bernilai negatif dan harus ditambahkan dengan suatu konstanta.

Convolution Function • Konvolusi dua buah fungsi f(x) dan g(x) didefinisikan sebagai berikut :

Convolution Function • Konvolusi dua buah fungsi f(x) dan g(x) didefinisikan sebagai berikut : Integral dari – tak hingga sampai tak terhingga Untuk fungsi diskrit , konvolusi didefinisikan sebagai g(x) disebut dengan kernel konvolusi (filter) , kernel g(x) merupakan jendela yang dioperasikan secara bergeser pada sinyal masukan f(x) hasil konvolusi dinyatakan dengan keluaran h(x) Perhitungan hasil konvolusi diperlihatkan pada gambar a – f, dan hasil konvolusi ditunjukkan pada gambar g x/2 , 0 <= x <= 1 f(x) * g(x) = X – x/2, 1<= x <= 2 0, Lainnya 5

Ilustrasi Konvolusi

Ilustrasi Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Proses Konvolusi

Konvolusi Dua Dimensi

Konvolusi Dua Dimensi

Ilustrasi

Ilustrasi

Contoh • Misalkan citra f(x, y) yang berukuran 5 x 5 dan sebuah kernel

Contoh • Misalkan citra f(x, y) yang berukuran 5 x 5 dan sebuah kernel yang berukuran 3 x 3 sebagai berikut:

Solusi • Operasi konvolusi antara citra f(x, y) dengan penapis g(x, y): f(x, y)*g(x,

Solusi • Operasi konvolusi antara citra f(x, y) dengan penapis g(x, y): f(x, y)*g(x, y)

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi

Solusi • Jika hasil konvolusi menghasilkan nilai pixel negatif, maka nilai tersebut dijadikan 0,

Solusi • Jika hasil konvolusi menghasilkan nilai pixel negatif, maka nilai tersebut dijadikan 0, sebaliknya jika hasil konvolusi menghasilkan nilai pixel lebih besar dari nilai keabuan maksimum, maka nilai tersebut dijadikan ke nilai keabuan maksimim (clipping atau threshold)

Permasalahan

Permasalahan

Solusi Permasalahan • Pixel-pixel pinggit diabaikan, tidak di-konvolusi. Sehingga pixel-pixel pinggir nilainya tetap sama

Solusi Permasalahan • Pixel-pixel pinggit diabaikan, tidak di-konvolusi. Sehingga pixel-pixel pinggir nilainya tetap sama seperti citra asal. • Duplikasi elemen citra, misalnya elemen komom pertama disalin ke kolom M+1, begitu juga sebaliknya, lalu konvolusi dapat dilakukan terhadap pixel-pixel pinggir tersebut. • Elemen yang ditandai “? ” diasumsikan bernilai 0 atau konstanta yang lain, sehingga konvolusi pixel -pixel pinggir dapat dilakukan.

Hasil

Hasil

Embossing

Embossing

Blurring

Blurring

Blurring

Blurring

Sharpening

Sharpening

Sharpening

Sharpening

Sharpening

Sharpening

Contoh di matlab

Contoh di matlab

Permasalahan • Konvolusi dilakukan per pixel, dan untuk setiap pixel dilakukan operasi perkalian dan

Permasalahan • Konvolusi dilakukan per pixel, dan untuk setiap pixel dilakukan operasi perkalian dan penjumlahan, maka jelas konvolusi mengkonsumsi banyak waktu. Jika citra berukuran N x N dan kernel berukuran m x m, maka jumlah perkalian adalah N 2 m 2 • Contoh: Citra 512 x 512 dan kernel 16 x 16, maka akan ada sekitar 32 juta perkalian. • Permasalahan ini akan bermasalah untuk sistem realtime. • Solusi mengurangi komputasi adalah transformasi citra dan kernel ke dalam ranah frekuensi menggunakan Fourier Transfrom.

Transformasi Fourier • Mengapa perlu transformasi ? – Setiap orang pada suatu saat pernah

Transformasi Fourier • Mengapa perlu transformasi ? – Setiap orang pada suatu saat pernah menggunakan suatu teknik analisis dengan transformasi untuk menyederhanakan penyelesaian suatu masalah [Brigham, 1974] – Contoh: penyelesaian fungsi y = x/z • Analisa konvensional : pembagian secara manual • Analisa transformasi : melakukan transformasi – log(y) = log(x) – log(z) – look-up table pengurangan look-up table 33

 • Transformasi juga diperlukan bila kita ingin mengetahui suatu informasi tertentu yang tidak

• Transformasi juga diperlukan bila kita ingin mengetahui suatu informasi tertentu yang tidak tersedia sebelumnya • Contoh : – jika ingin mengetahui informasi frekuensi kita memerlukan transformasi Fourier – Jika ingin mengetahui informasi tentang kombinasi skala dan frekuensi kita memerlukan transformasi wavelet Transformasi Citra • Transformasi citra, sesuai namanya, merupakan proses perubahan bentuk citra untuk mendapatkan suatu informasi tertentu • Transformasi bisa dibagi menjadi 2 : – Transformasi piksel/transformasi geometris: – Transformasi ruang/domain/space 34

Transformasi Pixel • Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya

Transformasi Pixel • Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya posisi piksel yang kadang diubah • Contoh: rotasi, translasi, scaling, invers, shear, dll. • Transformasi jenis ini relatif mudah diimplementasikan dan banyak aplikasi yang dapat melakukannya (Paint, ACDSee, dll) 35

Transformasi Ruang • Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke ruang/domain

Transformasi Ruang • Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke ruang/domain lainnya, contoh: dari ruang spasial ke ruang frekuensi • Masih ingat istilah ‘ruang’ ? Ingat-ingat kembali pelajaran Aljabar Linier tentang Basis dan Ruang – Contoh : Ruang vektor. Salah satu basis yang merentang ruang vektor 2 dimensi adalah [1 0] dan [0 1]. Artinya, semua vektor yang mungkin ada di ruang vektor 2 dimensi selalu dapat direpresentasikan sebagai kombinasi linier dari basis tersebut.

 • Ada beberapa transformasi ruang yang akan kita pelajari, yaitu : – Transformasi

• Ada beberapa transformasi ruang yang akan kita pelajari, yaitu : – Transformasi Fourier (basis: cos-sin) – Transformasi Hadamard/Walsh (basis: kolom dan baris yang ortogonal) – Transformasi DCT (basis: cos) – Transformasi Wavelet (basis: scaling function dan mother wavelet) 37

Transformasi Fourier • Pada tahun 1822, Joseph Fourier, ahli matematika dari Prancis menemukan bahwa:

Transformasi Fourier • Pada tahun 1822, Joseph Fourier, ahli matematika dari Prancis menemukan bahwa: setiap fungsi periodik (sinyal) dapat dibentuk dari penjumlahan gelombang-gelombang sinus/cosinus. • Contoh : Sinyal kotal merupakan penjumlahan dari fungsi-fungsi sinus berikut (lihat gambar pada halaman berikut) f(x) = sin(x) + sin(3 x)/3 + sin(5 x)/5 + sin(7 x)/7 + sin(9 x)/9 …

Hasil dalam transformasi fourier Fungsi kotak sebagai penjumlahan fungsi-fungsi sinus Cobakan juga program matlab

Hasil dalam transformasi fourier Fungsi kotak sebagai penjumlahan fungsi-fungsi sinus Cobakan juga program matlab berikut untuk melihat sampai batas n berapa fungsi yang dihasilkan sudah berbentuk fungsi kotak. function kotak(n) t = 0: pi/200: 8*pi; kot = sin(t); for i = 3 : 2: n kot = kot + (sin(i*t))/i; end plot(kot) 39

(a) (c) (b) (d) Gambar a) n = 1, b) n =3, c) n

(a) (c) (b) (d) Gambar a) n = 1, b) n =3, c) n = 7, d) n = 99 40

FT - Motivasi • Jika semua sinyal periodik dapat dinyatakan dalam penjumlahan fungsi-fungsi sinus-cosinus,

FT - Motivasi • Jika semua sinyal periodik dapat dinyatakan dalam penjumlahan fungsi-fungsi sinus-cosinus, pertanyaan berikutnya yang muncul adalah: – Jika saya memiliki sebuah sinyal sembarang, bagaimana saya tahu fungsi-fungsi cos – sin apa yang membentuknya ? • Atau dengan kata lain – Berapakah frekuensi yang dominan di sinyal tersebut ? • Pertanyaan di atas dapat dijawab dengan menghitung nilai F(u) dari sinyal tersebut. Dari nilai F(u) kemudian dapat diperoleh kembali sinyal awal dengan menghitung f(x), menggunakan rumus: 41

Rumus FT – 1 dimensi • Rumus FT kontinu 1 dimensi • Rumus FT

Rumus FT – 1 dimensi • Rumus FT kontinu 1 dimensi • Rumus FT diskret 1 dimensi Misalkan kita memiliki sinyal x(t) dengan rumus sbb: x(t) = cos(2*pi*5*t) + cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t) Sinyal ini memiliki empat komponen frekuensi yaitu 5, 10, 20, 50 42

Contoh FT 1 dimensi Contoh berikut diambil dari Polikar (http: //engineering. rowan. edu/~polikar/WAVELETS/WTtutorial. html)

Contoh FT 1 dimensi Contoh berikut diambil dari Polikar (http: //engineering. rowan. edu/~polikar/WAVELETS/WTtutorial. html) Misalkan kita memiliki sinyal x(t) dengan rumus sbb: x(t) = cos(2*pi*5*t) + cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t) Sinyal ini memiliki empat komponen frekuensi yaitu 5, 10, 20, 50 43

Contoh sinyal 1 Dimensi x(t) Gambar sinyal satu dimensi dengan rumus x(t)= cos(2*pi*5*t) +

Contoh sinyal 1 Dimensi x(t) Gambar sinyal satu dimensi dengan rumus x(t)= cos(2*pi*5*t) + cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t) (Sumber: Polikar) 44

FT dari sinyal tersebut. Terlihat bahwa FT dapat menangkap frekuensi-frekuensi yang dominan dalam sinyal

FT dari sinyal tersebut. Terlihat bahwa FT dapat menangkap frekuensi-frekuensi yang dominan dalam sinyal tersebut, yaitu 5, 10, 20, 50 (nilai maksimum F(u) berada pada angka 5, 10, 20, 50) 45

Contoh Penghitungan FT 1 dimensi (Gonzalez hlm 90 -92) 46

Contoh Penghitungan FT 1 dimensi (Gonzalez hlm 90 -92) 46

Contoh Penghitungan FT • Hasil penghitungan FT biasanya mengandung bilangan real dan imajiner •

Contoh Penghitungan FT • Hasil penghitungan FT biasanya mengandung bilangan real dan imajiner • Fourier Spectrum didapatkan dari magnitude kedua bilangan tersebut shg|F(u)| = [R 2(u) + I 2(u)]1/2 • Untuk contoh di halaman sebelumnya, Fourier Spectrumnya adalah sebagai berikut: • |F(0)| = 3. 25 |F(1)| = [(-0. 5)2+(0. 25)2]1/2 = 0. 5590 • |F(2)| = 0. 25 |F(3)| = [(0. 5)2+(0. 25)2]1/2 = 0. 5590 47

Rumus FT – 2 dimensi • Rumus FT 2 dimensi 48

Rumus FT – 2 dimensi • Rumus FT 2 dimensi 48

Contoh FT 2 Dimensi Untuk menampilkan nilai FT suatu citra, karena keterbatasan display, seringkali

Contoh FT 2 Dimensi Untuk menampilkan nilai FT suatu citra, karena keterbatasan display, seringkali digunakan nilai D(u, v)= c log [1 + |F(u, v)|] 49

50

50