Pertemuan ke-4
description
Transcript of Pertemuan ke-4
![Page 1: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/1.jpg)
Pertemuan ke-4
KONVOLUSI DAN TRANSFORMASI FOURIER
![Page 2: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/2.jpg)
• Dua operasi matematis penting dalam pengolahan citra: Operasi konvolusi (spatial filter/ discret
convolution filter) Transformasi Fourier
• Konvolusi 2 buah fungsi f(x) dan g(x) didefinisikan sebagai berikut:
Tanda * menyatakan operator konvolusi, dan peubah (variable) a adalah peubah bantu (dummy variable)
Konvolusi
daaxgafxgxfxh )()()(*)()(
![Page 3: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/3.jpg)
Cont.
• Konvolusi merupakan proses penting pada analisis domain frekwensi karena f(x)*g(x) dan F(u)G(u) membentuk suatu pasangan transformasi Fourier (Fourier transform pair).
• Teori konvolusi:f(x)*g(x) F(u)G(u)f(x)g(x) F(u)*G(u)
![Page 4: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/4.jpg)
Konvolusi pada Domain DiskritBila A adalah periode dalam diskritisasi f(x) dan Badalah periode dalam diskritisasi g(x), maka hasil konvolusi akan mempunyai periode M dimana M=A+BPeriode f(x) dan g(x) masing-masing dibesarkan menjadi M dengan menyisipkan 0f(x)=f(x) bila 0 ≤ x ≤ A-1 dan f(x)=0 bila A ≤ x ≤ M-1g(x)=g(x) bila 0 ≤ x ≤ B-1 dan f(x)=0 bila B ≤ x ≤ M-1Konvolusi diskrit dilakukan melalui proses flip dan shift terhadap fungsi g(x).
1
0
)()()(*)()(M
m
mxgmfxgxfxh
![Page 5: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/5.jpg)
Cont.
g(x) disebut kernel konvolusi atau kernel penapis (filter).
Kernel g(x) merupakan suatu jendela yang dioperasikan secara bergeser pada sinyal masukan f(x), yang dalam hal ini, jumlah perkalian kedua fungsi pada setiap titik merupakan hasil konvolusi yang dinyatakan dengan keluaran h(x).
![Page 6: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/6.jpg)
Pendekatan Shift Kernel Operator 000000141
1-41- tetapflip-di simetrikarena 141)(
0004321000432100)(
xg
xf
Maka f(x)*g(x)= 0x-1 + 0x4 + 1x-1 + 2x0 + 3x0 + 4x0 + 0x0 + 0x0 + 0x0 = -1 0x0 + 0x-1 + 1x4 + 2X-1 + 3x0 + 4x0 + 0x0 + 0x0 +0x0 = 20x0 + 0x0 + 1x-1 + 2x4 + 3x-1 + 4x0 + 0x0 + 0x0 + 0x0 = 40x0 + 0x0 + 1x0 + 2x-1 + 3x4 + 4x-1 + 0x0 + 0x0 + 0x0 = 60x0 +0x0 + 1x0 + 2x0 + 3x-1 + 4x4 + 0x-1 + 0x0 + 0x0 = 130x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x-1 + 0x0 + 0x0 + 0x0 = -40x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x-1 + 0x4 + 0x-1 = 00x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x0 + 0x-1 + 0x4 = 00x0 + 0x0 + 1x0 + 2x0 + 3x0 + 4x0 + 0x0 + 0x0 + 0x-1 = 0
F(x)*g(x) = [-1 2 4 6 13 -4 0 0 0]
![Page 7: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/7.jpg)
Pendekatan Rumus Konvolusi
Kita lihat kembali rumusan konvolusi:
f(0)=0; f(1)=0; f(2)=1; f(3)=2; f(4)=3; f(5)=4; f(6)=0; ...; f(8)=0g(6)=0; ...; g(1)=0; g(0)=-1; g(-1)=4; g(-2)=-1f(0)*g(0) = f(0)g(0) + f(1)g(-1) + f(2)g(-2) + dst = -1f(1)*g(1) = f(0)g(1) + f(1)g(0) + f(2)g(-1) + dst = 2f(2)*g(2) = f(0)g(2) + f(1)g(1) + f(2)g(0) + dst = 4DstHasil yang diperoleh sama dengan cara sebelumnya!
1
0
)()()(*)()(M
m
mxgmfxgxfxh
![Page 8: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/8.jpg)
Proses Konvolusi pada Citra 2-D
• Bentuk Kontinue dan Diskrit:
8
![Page 9: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/9.jpg)
Ilustrasi konvolusi
9
![Page 10: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/10.jpg)
Contoh : citra f(x,y) berukuran 5 X3
5dengan kernel atau mask 3 X
• f(x,y) * g(x,y)
• Operasinya :Tempatkan kernel pada sudut kiri atas kemudian pada posisi (0,0) dari kernel
hitung nilai piksel
Geser kernel satu piksel ke kanan kemudian hitung nilai pikselpada posisi (0,0) kernel, begitu seterusnya hingga geser satu piksel ke bawah, lalu mulai lagi melakukan konvolusi dari sisi kiri citra.
10
![Page 11: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/11.jpg)
• Dengan cara dikovolusi
yang sama, setiap baris piksel
11
![Page 12: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/12.jpg)
Hasil konvolusi :
• Jika nilai piksel (-), nilai tsb dijadikan level maka dilakukan clipping
0, jika nilai > nilai max gray
• Untuk masalah piksel pinggir, solusi untuk masalah ini adalah :––
Piksel pinggir diabaikan, tidak dikonvolusiDuplikasi elemen citra, elemen kolom ke-1 disalin ke kolom M+1, begitu juga sebaliknya lalu konvolusikan.Elemen yang ditandai dengan (?) diasumsikan bernilai 0 atau konstanta yang lain sehingga konvolusi piksel pinggir dapat dilakukan.
–
• Konvolusi piksel pinggir tidak memperlihatkan efek yang kasat mata.
12
![Page 13: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/13.jpg)
Proses Konvolusi dan Dekonvolusi (1)
• Blurring merupakan efek pemerataan (integrasi),sedangkan deblurring / sharpening / outlining merupakan efek differensiasiProses blurring dapat diperoleh dengan mengaplikasikan low pass filter dan sebaliknya, proses sharpening dapat diperoleh dengan mengaplikasikan high pass filterFiltering akan dipelajari pada proses peningkatan mutu citra (image enhancement)
•
•
13
![Page 14: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/14.jpg)
Proses Konvolusi dan Dekonvolusi (2)
• Contoh efek blurring (bayangkanpiksel citra 2-dimensi)
bila terjadi pada
point response function ideal response(averaging)
deconvolution function(filtering) 14
![Page 15: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/15.jpg)
• Filter/ mask/ kernel gaussian
15
![Page 16: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/16.jpg)
TRANSFORMASI
Mengapa perlu transformasi ?
CITRA
•
– Setiap orang pada suatu saat pernah menggunakan suatuanalisis 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
teknik
–
• Transformasi juga diperlukan bila kita ingin mengetahui suatuinformasi tertentu yang tidak tersedia sebelumnya
16
![Page 17: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/17.jpg)
Transformasi Citra
• 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, sesuai namanya, merupakan proses perubahanbentuk citra untuk mendapatkan suatu informasi tertentu
• Transformasi bisa dibagi menjadi 2 :– Transformasi piksel/transformasi geometris
– Transformasi ruang/domain/space
17
![Page 18: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/18.jpg)
Transformasi Piksel dan Ruang
• 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)
Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain ke ruang/domain lainnya, contoh: dari ruang spasial ke ruang frekuensiAda beberapa transformasi ruang yaitu :
••
•
•
––
Transformasi
Transformasi ortogonal)Transformasi
Fourier (basis: cos-sin)Hadamard/Walsh (basis: kolom dan baris yang
– DCT (basis: cos)
18
![Page 19: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/19.jpg)
19
![Page 20: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/20.jpg)
Transformasi Fourier (FT)
• 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 kotak merupakan penjumlahan fungsi sinus berikut
dari fungsi-
f(x) = sin(x) + sin(3x)/3 + sin(5x)/5 +sin(7x)/7 + sin(9x)/9
…
20
![Page 21: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/21.jpg)
Fungsi kotak sebagai penjumlahanfungsi-fungsi sinus
• Cobakan juga program matlab berikut untuk melihatsampai batas n berapa fungsiberbentuk fungsi kotak.
yang dihasilkan sudah
– 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)
21
![Page 22: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/22.jpg)
(a) (b)
(c)Gambar
(d)a) n = 1, b) n =3, c) n = 7, d) n = 99
22
![Page 23: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/23.jpg)
FT - Motivasi
• Jika semua sinyal periodik dapat dinyatakan dalampenjumlahan 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) kemudiandapat diperoleh kembali sinyal awal dengan menghitungf(x), menggunakan rumus:
23
![Page 24: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/24.jpg)
Rumus FT – 1 D
• Rumus FT kontinu 1 dimensif (x) exp[−2 jπux]dx
∞
∫−
∞
∫−
∞
F (u) =
∞
F (u) exp[2 jπux]du
f (x) =Euler's formula: exp[−2 jπux] = cos2πux −
j sin 2πux
• Rumus FT diskret 1 dimensi
f ( x) exp[−2 jπux / N ]
1 N −1∑ x =0
F (u) = N
1 N −1∑ x =0
F (u) exp[2 jπux / N ]
f ( x) = N 24
![Page 25: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/25.jpg)
Contoh FT 1 D
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 komponen5,10,20,50
frekuensi yaitu
25
![Page 26: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/26.jpg)
Contoh sinyal 1 Dimensi x(t)
Gambar sinyal satudimensi 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)
26
![Page 27: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/27.jpg)
FT dari sinyal tersebut
FT dari sinyal tersebut.Terlihat bahwa FT dapat menangkap frekuensi-frekuensi yang dominandalam sinyal tersebut, yaitu5,10, 20, 50
(nilaipada
maksimum F(u)angka 5,10, 20,
berada50)
27
![Page 28: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/28.jpg)
Contoh Penghitungan FT 1 dimensi(Gonzalez hlm 90-92)
1 1N −1
N −1∑ ∑f (x) exp[−2 jπux /
N] =f (x)(cos(2πux / N) −
j sin(2πux / N))]
F(u) =
x=0
x=0N N
contoh: f (0) = 2, f (1) = 3, f (2) = 4, f (3) = 4 1 N
−1∑ f (x)(cos(2π 0x / N) − j sin(2π 0x /
N))]F(0) =
x=0N
= 1
[ f (0) + f (1) + f (2) + f (3)] =
3.2541 ∑3
f (x)(cos(2πx / 4) − j sin(2πx / 4))]
F(1) =
x=04
= 1
[2(1− 0) + 3(0 − j) + 4(−1− 0) + 4(0 +
j)4
= 1 (2 − 3 j − 4 + 4 j) = 1
(−2 + j) =
−0.5 + 0.25 j
4
F(2) =
− 1
[1]
= −0.254
4
F(3) = − 1
[2 + j] = −0.5 −
0.25 j4
28
![Page 29: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/29.jpg)
Contoh Penghitungan FT
• Hasil penghitungan FT biasanya mengandung bilanganreal 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, FourierSpectrumnya 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
••
29
![Page 30: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/30.jpg)
Rumus
Rumus FT 2 dimensi
FT – 2 D
•
M −1 N −1
∑∑ 1 f ( x, y) exp[−2 jπ (ux / M
FT : F (u, v) =
+ vy / N )]MN x =0 y
=0M −1 N −1
InversFT : f ( x, y) = ∑∑ F
(u, v) exp[2 jπ (ux / Mu =0 v
=0
M = tinggi citra (jumlah baris)
N = lebar citra (jumlah kolom)
+ vy /
N )]
30
![Page 31: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/31.jpg)
Contoh FT 2 DimensiSumber: http://www.icaen.uiowa.edu/~dip/LECTURE/LinTransforms.html
Untuk menampilkan nilai FT suatu citra, karena keterbatasan display, seringkalidigunakan nilai D(u,v)= c log [1 + |F(u,v)|] 31
![Page 32: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/32.jpg)
Sifat-sifat
Separable :
FT 2 dimensi
•– Pemrosesan FT 2 dimensi dapat
dengan melakukan FT 1 dimensi kemudian dilanjutkan dengan FT terhadap baris
Translasi :
dilakukanterhadap kolom,1 dimensi
•
f (x, y) exp[−2 jπ(u0 x +v0 y) / N] ⇔ F(u −u0 , v
−v0 )
f (x − x, y − y) ⇔ F(u, v) exp[−2 jπ(ux0 +vy0 ) /
N]32
![Page 33: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/33.jpg)
Sifat-sifat
Periodik
FT 2 dimensi
•– FT dan IFT bersifat periodik dengan periode N
adalah jumlah titik)
Rotasi– Jika kita merotasikan f(x,y) sebanyak θ0. maka
(N
•F(u,x)
θ0, demikian pulajuga akan berotasi sebanyaksebaliknya.
Distributif– FT dan IFT bersifat distributif
tapi tidak terhadap perkalian
•terhadap penjumlahan
33
![Page 34: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/34.jpg)
Sifat-sifat
Penskalaan
FT 2 dimensi
•
af (x, y) ⇔ aF(u, v)
f (ax,by) ⇔ 1 F(u / a, v /
b)ab
• Nilai rata-rataN −1 N −1
∑ ∑x = 0 y = 0
1 1y ) =
=f ( x ,
f ( x ,
y ) F ( 0,0 )
2N N
34
![Page 35: Pertemuan ke-4](https://reader038.fdocument.pub/reader038/viewer/2022102702/56814023550346895dab818b/html5/thumbnails/35.jpg)
Fast Fourier Transform (FFT)
• Merupakan algoritma penghitungan yangN2mengurangi kompleksitas FT biasa dari
menjadi N log2N saja• Pada implementasinya, FFT merupakan cara
yang umum digunakan untuk menghitung FT diskret
• InversFT juga dapat dihitung dengan kompleksitas N log2N (IFFT)– Di Matlab : fft(x) atau fft2(X) untuk FT
dan ifft2(X) untuk invers FTifft(x) atau
35