Pertemuan 3 Perbaikan Citra pada Domain Spasial (1) Anny Yuniarti, S.Kom, M.Comp.Sc
Tujuan
Memberikan pemahaman kepada mahasiswa mengenai berbagai teknik perbaikan citra pada domain spasial, antara lain :
Transformasi negatif/identitas, log/inverse log, pangkat/akar Transformasi linier sepotong-sepotong untuk “contrast stretching” Gray-level slicing Bit-plane slicing Histogram Equalization Penggunaan nilai statistik dari histogram
Created on 2009
Anny Yuniarti
2
Gambaran Umum
Tujuan perbaikan adalah memproses citra sehingga didapatkan hasil yang lebih sesuai dibandingkan citra aslinya, untuk dipergunakan pada aplikasi tertentu.
Metode-metode perbaikan citra dikelompokkan menjadi dua, yaitu:
Metode-metode pada domain spasial Metode-metode pada domain frekuensi
Created on 2009
Anny Yuniarti
3
Gambaran Umum
Teknik pemrosesan pada domain spasial didasarkan pada manipulasi piksel dalam citra secara langsung.
Teknik pemrosesan pada domain frekuensi didasarkan pada manipulasi terhadap transformasi Fourier dari suatu citra.
Created on 2009
Anny Yuniarti
4
Gambaran Umum
Proses-proses pada domain spasial dinyatakan dengan ekspresi berikut: g(x,y) = T [ f(x,y) ]
f(x,y) adalah citra input g(x,y) adalah citra output T adalah operator terhadap f, yang didefinisikan pada ketetanggaan (neighborhood) dari (x,y).
Created on 2009
Anny Yuniarti
5
Gambaran Umum
Tetangga di sekitar titik (x,y) didefinisikan sebagai sub citra berupa segi empat dengan titik pusat pada (x,y).
Pusat dari sub citra dipindahkan piksel demi piksel, mulai dari sudut kiri atas citra.
Operator T diaplikasikan pada setiap lokasi (x,y) untuk menghasilkan output g pada lokasi tersebut.
Perhitungan hanya menggunakan piksel-piksel pada area citra yang direntang oleh neighborhood.
Created on 2009
Anny Yuniarti
6
Gambaran Umum
Created on 2009
Anny Yuniarti
7
Gambaran Umum
Bentuk paling sederhana dari T adalah ketika ukuran neighborhood 1x1 (piksel tunggal). Dalam kasus tersebut, g hanya tergantung pada nilai f pada (x,y), dan T menjadi fungsi transformasi tingkat keabuan (atau intensitas) berbentuk: s = T(r) r dan s adalah variabel yang menyatakan tingkat keabuan dari f(x,y) dan g(x,y) pada sembarang titik (x,y).
Created on 2009
Anny Yuniarti
8
Gambaran Umum
Efek dari transformasi (a) akan menghasilkan citra dengan kekontrasan yang lebih tinggi dibandingkan citra asal. Hal ini dilakukan dengan cara menggelapkan intensitas di bawah m dan memperterang intensitas di atas m. Teknik seperti ini disebut contrast stretching.
Transformasi (b) akan menghasilkan citra dua level (biner). Pemetaan semacam ini disebut fungsi thresholding.
Dua teknik di atas termasuk kategori “point processing”, yaitu teknik perbaikan di mana intensitas sembarang piksel pada citra output hanya tergantung pada intensitas piksel pada citra input pada lokasi yang sama.
Created on 2009
Anny Yuniarti
9
Gambaran Umum
Jika ukuran neighborhood lebih besar dari 1x1, biasanya digunakan filter (disebut juga kernel atau window).
Filter biasanya berukuran kecil (mis, 3x3).
Setiap elemen dari filter memiliki koefisien tertentu.
Intensitas dari sembarang piksel pada citra output tergantung pada intensitas dari piksel-piksel pada citra input dalam neighborhood yang direntang oleh filter, dengan bobot seperti koefisien yang tercantum pada filter.
Teknik perbaikan dengan model seperti ini disebut mask processing atau filtering. Created on 2009
Anny Yuniarti
10
Transformasi Tingkat Keabuan Dasar Tiga tipe transformasi tingkat keabuan dasar yang sering digunakan untuk perbaikan citra adalah:
Linear (transformasi negatif dan identitas) Logaritmik (transformasi log dan inverse-log) Pangkat (transformasi pangkat n dan akar n)
Created on 2009
Anny Yuniarti
11
Transformasi Tingkat Keabuan Dasar
Created on 2009
Anny Yuniarti
12
Negatif dari Citra
Negatif dari suatu citra dengan tingkat keabuan antara [0, L-1] dapat dihitung menggunakan transformasi negatif dengan rumus berikut: s=L–1–r L adalah jumlah intensitas citra r adalah nilai intensitas input s adalah nilai intensitas output
Contoh sederhana: L = 2 (citra hitam putih), jika inputnya: r = 0 maka outputnya: s = 2 – 1 – 0 = 1.
Membalik intensitas citra dengan rumus seperti di atas akan menghasilkan negatif dari photo.
Pencarian negatif dari suatu citra cocok untuk memperbaiki gambar yang memiliki rincian sub citra terang pada area yang gelap, khususnya jika ukuran dari area gelap cukup dominan.
Created on 2009
Anny Yuniarti
13
Negatif dari Citra
Created on 2009
Anny Yuniarti
14
Transformasi Log
Bentuk umum dari transformasi log adalah: s = c log (1+r) dengan c adalah konstanta, dan diasumsikan bahwa r ≥ 0.
Transformasi log memetakan rentang yang sempit dari nilai-nilai tingkat keabuan gelap pada citra input ke dalam rentang yang lebih luas pada citra output. Kebalikannya berlaku untuk tingkat keabuan terang.
Transformasi inverse log memperbanyak jumlah piksel bernilai gelap dan mengurangi jumlah piksel bernilai terang. Pada transformasi log, yang terjadi adalah kebalikannya.
Created on 2009
Anny Yuniarti
15
Transformasi Log
Created on 2009
Anny Yuniarti
16
Transformasi Pangkat
Transformasi pangkat dirumuskan sbb: s = crγ dengan c dan γ adalah konstanta positif.
Created on 2009
Anny Yuniarti
17
Transformasi Pangkat
Created on 2009
Anny Yuniarti
18
Transformasi Pangkat
Created on 2009
Anny Yuniarti
19
Fungsi Transformasi Linier Sepotongsepotong
Selain tiga fungsi transformasi dasar yang dibahas sebelumnya, fungsi transformasi linear sepotong-sepotong juga biasa digunakan.
Keuntungannya, bentuk dari fungsi sepotongsepotong bisa lebih kompleks dibandingkan fungsi transformasi dasar.
Created on 2009
Anny Yuniarti
20
Contrast stretching
Salah satu di antara fungsi linier sepotong-sepotong yang paling sederhana adalah transformasi “contrast stretching”.
Citra dengan kekontrasan rendah bisa disebabkan oleh kurangnya pencahayaan, kurangnya rentang dinamis dari peralatan sensor citra, atau setting lensa yang salah pada saat pengambilan citra.
Ide dibalik “contrast stretching” adalah meningkatkan rentang dinamis tingkat keabuan dari citra.
Created on 2009
Anny Yuniarti
21
Contrast stretching
Lokasi titik-titik (r1,s1) dan (r2,s2) mengontrol bentuk dari fungsi transformasi.
255
Jika r1=s1 dan r2=s2, transformasi adalah fungsi linear yang tidak mengubah tingkat keabuan.
(r2,s2)
Jika r1=r2, s1=0 dan s2=L-1, transformasi menjadi s fungsi thresholding yang akan menghasilkan citra biner. Nilai-nilai di antara (r1,s1) dan (r2,s2) menghasilkan berbagai derajat penyebaran tingkat keabuan dari citra output, sehingga mempengaruhi kekontrasan citra.
T(r) (r1,s1) 0
r
255
Secara umum, r1 ≤ r2 dan s1 ≤ s2 diasumsikan sedemikian sehingga fungsi bernilai tunggal dan “monotonically increasing”.
Created on 2009
Anny Yuniarti
22
Contrast stretching
Created on 2009
Anny Yuniarti
23
Contrast stretching
Gambar (c) menunjukkan hasil “contrast stretching” yang didapat dengan men-set (r1,s1)=(rmin,0) dan (r2,s2)=(rmax,L-1) dengan rmin dan rmax menyatakan tingkat keabuan minimum dan maksimum pada citra asal.
Jadi, fungsi transformasi menarik tingkat keabuan secara linier dari rentang asal ke rentang penuh [0, L-1].
Gambar (d) menunjukkan hasil penggunaan fungsi thresholding dengan r1 = r2 = m, m adalah tingkat keabuan rata-rata dari citra.
Created on 2009
Anny Yuniarti
24
Gray-level slicing
Terkadang diperlukan untuk menonjolkan rentang tertentu dari tingkat keabuan yang ada dalam citra. Misalnya, menonjolkan gumpalan air yang ada pada citra satelit dan menonjolkan cacat yang ada pada citra sinar X.
Salah satu cara yang bisa dilakukan adalah dengan menampilkan secara lebih terang semua tingkat keabuan dalam range yang ingin ditonjolkan, dan menampilkan secara lebih gelap semua tingkat keabuan lainnya.
Cara lain adalah dengan menampilkan secara lebih terang semua tingkat keabuan dalam range yang ingin ditonjolkan, dengan tetap mempertahankan proporsi tingkat keabuan lainnya.
Created on 2009
Anny Yuniarti
25
Gray-level slicing
Created on 2009
Anny Yuniarti
26
Bit-plane slicing
Selain menonjolkan range tingkat keabuan tertentu, menonjolkan kontribusi dari bit tertentu pada kemunculan citra, terkadang juga dilakukan.
Misalkan intensitas tiap piksel dalam citra dinyatakan dengan 8 bit. Sehingga citra tersusun atas 8 bidang 1-bit, mulai dari bidang bit 0 untuk “least significant bit” sampai bidang bit 7 untuk “the most significant bit”.
Created on 2009
Anny Yuniarti
27
Bit-plane slicing
Created on 2009
Anny Yuniarti
28
Bit-plane slicing
Created on 2009
Anny Yuniarti
29
Bit-plane slicing
Created on 2009
Anny Yuniarti
30
Pemrosesan Histogram
Histogram dari suatu citra digital dengan range tingkat [0…L-1] adalah sebuah fungsi diskrit h(rk)=nk, dengan rk adalah tingkat keabuan ke-k dan nk adalah jumlah piksel dalam citra yang memiliki tingkat keabuan rk.
Histogram: diagram yang menunjukkan jumlah kemunculan grey level (0-255) pada suatu citra
Normalisasi histrogram dilakukan dengan membagi setiap nilai nk dengan total jumlah piksel dalam citra, yang dinyatakan dengan n. Histogram yang sudah dinormalisasi dinyatakan dengan p(rk)= nk/n, untuk k=0,1,…,L-1.
p(rk) menyatakan estimasi probabilitas kemunculan tingkat keabuan rk. Jumlah dari semua komponen “normalized histogram” sama dengan 1.
Created on 2009
Anny Yuniarti
31
Pemrosesan Histogram
Created on 2009
Anny Yuniarti
Empat tipe citra: gelap, terang, kekontrasan rendah dan kekontrasan tinggi, beserta histogramnya.
32
Pemrosesan Histogram
Sumbu horisontal dari histogram menyatakan nilai tingkat keabuan rk.
Sumbu vertikal menyatakan nilai dari h(rk)=nk atau p(rk) = nk/n (jika nilainya dinormalisasi).
Histogram adalah dasar dari sejumlah teknik pemrosesan citra pada domain spasial, seperti perbaikan, kompresi dan segmentasi citra.
Created on 2009
Anny Yuniarti
33
Histogram Equalization
“Histogram equalization” digunakan untuk memperlebar range tingkat keabuan, sehingga akan meningkatkan kekontrasan citra.
Transformation berikut:
sk = T ( rk ) = =
k
∑
j=0
nj
k
∑
j= 0
pr ( r j )
n
untuk k=0,1,2,…,L-1 disebut “histogram equalization” atau “histogram linearization”.
Created on 2009
Anny Yuniarti
34
Histogram Equalization
Ide: mengubah pemetaan greylevel agar sebarannya (kontrasnya) lebih menyebar pada kisaran 0-255 Sifat:
Grey level yang sering muncul lebih dijarangkan jaraknya dengan grey level sebelumnya Grey level yang jarang muncul bisa lebih dirapatkan jaraknya dengan grey level sebelumnya Histogram baru pasti mencapai nilai maksimal keabuan (contoh: 255)
Created on 2009
Anny Yuniarti
35
Histogram Equalization
Created on 2009
Anny Yuniarti
36
Contoh
Citra Akhir: 19 9 95 95 9 55 91 5 55 5 9 10 10 1
Citra awal: 35554 54544 53444 45663
Contoh : citra dengan derajat keabuan hanya berkisar 0-10
Derajat Keabuan
0
1
2
3
4
5
6
7
8
9
10
Kemunculan
0
0
0
3
8
7
2
0
0
0
0
Probabilitas Kemunculan
0
0
0
0.15
0.40
0.35
0.1
0
0
0
0
Sk
0
0
0
0.15
0.55
0.90
1
1
1
1
1
SK * 10
0
0
0
1.5
5.5
9
10
10
10
10
10
Derajat keabuan baru
0
0
0
1
5
9
10
10
10
10
10
Created on 2009
Anny Yuniarti
37
Perbaikan Lokal
Metode pemrosesan histogram yang sudah dibahas, yaitu “histogram equalization” bersifat global, karena piksel-piksel dimodifikasi menggunakan fungsi transformasi berbasis pada intensitas seluruh piksel pada citra.
Seringkali diperlukan perbaikan pada suatu daerah yang kecil pada di dalam citra.
Created on 2009
Anny Yuniarti
38
Perbaikan Lokal
Teknik “histogram equalization” bisa diterapkan untuk perbaikan lokal.
Caranya, definisikan daerah ketetanggaan (neighborhood), dan pindahkan pusat neighborhood piksel demi piksel pada keseluruhan citra.
Pada setiap lokasi piksel, histogram dari piksel-piksel dalam neighborhood dihitung.
Selanjutnya dispesifikasikan fungsi transformasi “histogram equalization” dan fungsi ini digunakan untuk memetakan intensitas piksel pada pusat neighborhood.
Ulangi langkah tersebut pada seluruh piksel dalam citra.
Created on 2009
Anny Yuniarti
39
Perbaikan Lokal
Created on 2009
Anny Yuniarti
40
Perbaikan Lokal
Created on 2009
Anny Yuniarti
41
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Selain menggunakan histogram secara langsung untuk perbaikan citra, dapat pula digunakan parameter-parameter statistik yang didapat dari histogram.
Untuk keperluan perbaikan citra, parameter statistik yang bisa digunakan adalah mean, yaitu rata-rata tingkat keabuan dalam citra, dan variance (atau deviasi standard), yaitu rata-rata kekontrasan citra. Deviasi standard didefinisikan sebagai akar dari variance.
Created on 2009
Anny Yuniarti
42
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Misalkan r adalah variabel random diskrit yang menyatakan tingkat keabuan diskrit dalam range [0, L-1], dan p(ri) adalah komponen “normalized histogram” pada nilai ke-i dari ri. Bisa diasumsikan bahwa p(ri) adalah estimasi probabilitas kemunculan tingkat keabuan ri. Mean dari r bisa dihitung dengan: L− 1
m=
∑
i= 0
ri p( ri )
Variance dari r bisa dihitung dengan:
σ
2
L− 1
2
( r ) = ∑ ( ri − m ) p( ri ) i= 0
Created on 2009
Anny Yuniarti
43
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Mean dan variance global diukur terhadap seluruh citra dan digunakan untuk menilai intensitas dan kekontrasan citra secara keseluruhan.
Mean dan variance lokal digunakan sebagai dasar untuk membuat perubahan di dalam citra, dimana perubahan tersebut tergantung pada karakteristik di suatu sub daerah di dalam citra.
Created on 2009
Anny Yuniarti
44
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Misalkan (x, y) adalah koordinat piksel, dan Sxy menyatakan neighborhood (subimage) dengan ukuran tertentu serta berpusat di (x, y). Mean msxy dari piksel-piksel dalam Sxy dapat dihitung sebagai berikut:
ms xy =
∑)
rs ,t p ( rs ,t )
( s ,t ∈ S xy
rs,t adalah tingkat keabuan pada koordinat (s,t) dalam neighborhood, dan p(rs,t) adalah komponen “normalized histogram” pada neighborhood untuk tingkat keabuan rs,t.
Created on 2009
Anny Yuniarti
45
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Variance dari piksel-piksel pada daerah Sxy dapat dihitung dengan:
σ
2 S xy
=
∑)
[r
( s ,t ∈ S xy
s ,t
]
− mS xy p ( rs ,t ) 2
Mean lokal adalah ukuran tingkat keabuan rata-rata dalam neighborhood Sxy dan variance adalah ukuran kekontrasan dalam neighborhood.
Created on 2009
Anny Yuniarti
46
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Permasalahan adalah bagaimana mempertajam daerah gelap dengan tetap mempertahankan daerah terang.
Created on 2009
Anny Yuniarti
47
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Misalkan f(x,y) menyatakan intensitas piksel pada koordinat (x,y), dan g(x,y) menyatakan piksel yang sudah diperbaiki pada koordinat yang sama. Maka:
E. f ( x, y ) jika mS xy ≤ k0 M G dan k1DG ≤ σ g ( x, y ) = f ( x, y ) lainnya
S xy
≤ k 2 DG
E, k0, k1, k2 adalah parameter-parameter yang harus ditentukan. MG adalah mean global dan DG adalah deviasi standard global.
Created on 2009
Anny Yuniarti
48
Penggunaan Nilai Statistik dari Histogram untuk Perbaikan Citra
Citra yang sudah diperbaiki dengan pemilihan parameter E=4.0, k0=0.4, k1=0.02, k0 k2=0.4 dan daerah lokal berukuran (3x3).
Created on 2009
Anny Yuniarti
49
Referensi
Bab 3, “Image Enhancement in Spatial Domain”, Digital Image Processing, edisi 2, Rafael C. Gonzales dan Richard E. Woods, Prentice Hall, 2002
Nanik Suciati, S.Kom, M.Kom, “Slide kuliah PCD Teknik Informatika ITS”.
Created on 2009
Anny Yuniarti
50