07 - Segmentasi Citra I
07 - Segmentasi Citra I
Tujuan
Memberikan pemahaman kepada
mahasiswa tentang:
karakteristik dasar dari berbagai algoritma
segmentasi
proses filtering untuk mendeteksi titik, garis,
dan tepi
Gambaran Umum
Segmentasi membagi citra menjadi
region-region atau objek-objek. Level
sampai sejauh mana pembagian bisa
dilakukan tergantung pada permasalahan
yang diselesaikan.
Gambaran Umum
Secara umum algoritma-algoritma segmentasi
didasarkan pada satu di antara dua buah
karakteristik intensitas, yaitu diskontinuitas dan
similaritas. Pada kategori pertama, pendekatan
yang dilakukan adalah mempartisi citra
berdasarkan pada perubahan intensitas yang
cukup cepat, seperti tepian citra. Kategori kedua
didasarkan pada kemiripan area citra menurut
kriteria yang sudah ditentukan. Thresholding,
region growing, dan region splitting/merging
adalah contoh-contoh metode pada kategori
dua.
4
Deteksi Diskontinyuitas
Ada beberapa teknik untuk mendeteksi tiga macam
diskontinyuitas tingkat keabuan dalam citra, yaitu : titik,
garis dan tepi.
Cara yang paling umum digunakan untuk mencari
diskontinyuitas adalah dengan menjalankan suatu
filter/mask pada seluruh area citra.
Deteksi Diskontinyuitas
Respon dari mask pada sembarang titik dihitung
dengan:
R w1 z1 w2 z 2 ... w9 z 9
9
wi z i
i 1
Deteksi Titik
Suatu titik dinyatakan ada di pusat mask jika |R|
T, dengan T adalah threshold nonnegatif.
Idenya adalah, bahwa suatu titik terisolasi ( titik
dengan tingkat keabuan yang sangat berbeda
dengan background dan berlokasi di area yang
homogen atau hampir homogen) akan sangat
berbeda dengan sekitarnya, sehingga akan
mudah dideteksi menggunakan tipe mask
seperti pada gambar 10.2.a.
Koefisien mask jika dijumlahkan adalah nol. Hal
ini menunjukkan bahwa respon mask adalah nol
pada area dengan tingkat keabuan konstan.
7
Deteksi Titik
Deteksi Garis
Deteksi Garis
Misalkan R1, R2, R3, dan R4, menyatakan
respons dari mask. Anggaplah bahwa setiap
mask dijalankan sendiri-sendiri pada suatu citra.
Jika, pada satu titik citra, |Ri|>|Rj|, untuk semua
ji, titik tersebut dikatakan lebih berasosiasi
dengan garis dengan arah mask i.
Jika kita ingin mendeteksi garis dengan arah
yang sudah ditentukan, kita bisa menggunakan
mask yang sesuai dengan arah tersebut dan
melakukan thresholding terhadap outputnya.
10
Deteksi Garis
11
Deteksi Tepi
Tepi (edge) adalah himpunan piksel terhubung yang terletak
pada boundary di antara dua region.
Tepi ideal seperti diilustrasikan pada gambar 10.5.a adalah
himpunan piksel terhubung (dalam arah vertikal), masingmasing terletak pada transisi step orthogonal dari tingkat
keabuan.
Pada prakteknya, ketidaksempurnaan optik, sampling, dan
proses pengambilan data citra, akan menghasilkan tepi-tepi
yang kabur, dengan derajat kekaburan ditentukan oleh faktorfaktor seperti kualitas peralatan yang digunakan untuk
mengambil data citra, rata-rata sampling, dan kondisi
pencahayaan. Akibatnya, tepi lebih banyak dimodelkan seperti
ramp (lihat gambar fig 10.5.b). Ketebalan tepi ditentukan oleh
panjang ramp. Panjang ramp ditentukan oleh kemiringan
(slope), dan slope ditentukan oleh derajat kekaburan. Tepian
yang kabur cenderung lebih tebal, dan tepian yang tajam
cenderung lebih tipis.
12
Deteksi Tepi
13
Deteksi Tepi
14
Deteksi Tepi
Magnitude dari turunan pertama bisa digunakan
untuk mendeteksi keberadaan edge pada suatu titik
dalam citra (misalnya, menentukan apakah suatu
titik berada pada ramp atau tidak).
Tanda dari turunan kedua bisa digunakan untuk
menentukan apakah suatu piksel edge terletak pada
sisi gelap atau sisi terang dari edge.
Property zero-crossing (garis lurus imajiner yang
menghubungkan nilai ekstrim positif dan negatif dari
turunan kedua akan melintasi nol di pertengahan
edge) cukup berguna untuk menentukan pusat dari
edge yang tebal.
15
Deteksi Tepi
16
Deteksi Tepi
Operator Gradient
mag (f ) G G
2
x
2
y
( x, y ) tan
G
x
1
18
Operator Gradient
Perhitungan gradien citra dilakukan dengan menghitung
turunan parsial pada setiap lokasi piksel.
Misalkan area 3x3 pada gambar 10.8.a menyatakan
tingkat keabuan neighborhood suatu citra. Cara paling
sederhana untuk mengimplementasikan turunan parsial
order pertama pada titik z5 adalah dengan menggunakan
operators gradient Roberts :
Gx=(z9-z5) dan Gy=(z8-z6)
Mask berukuran 2x2 menyulitkan untuk
diimplementasikan karena tidak memiliki titik pusat.
Pendekatan yang lebih sering digunakan adalah
menggunakan mask berukuran 3x3.
19
Operator Gradient
20
Operator Gradient
Hasil penjumlahan semua koefisien dalam mask adalah
nol, yang menunjukkan bahwa mask akan memberikan
respon 0 pada area dengan tingkat keabuan konstan.
Pendekatan berikut sering digunakan untuk
mengaproksimasi magnitude dari gradient :
f|Gx|+|Gy|
Mask memberikan hasil yang invariant hanya untuk edge
vertikal dan horisontal, tetapi tidak isotropic (invariant
terhadap rotasi)
Dimungkinkan untuk memodifikasi mask berukuran 3x3
sehingga mask memiliki respon paling kuat pada arah
diagonal.
21
Operator Gradient
22
Operator Gradient
23
Operator Gradient
24
Operator Gradient
25
Laplacian
Laplacian fungsi 2-D f(x,y) adalah turunan kedua
yang didefinisikan sebagai
berikut :
2
2
2 f
f f
2
2
x
y
Laplacian
Laplacian
h( r ) e
2 2
2 h( r )
r2
2 2
28
Laplacian
29
Laplacian
Karena turunan kedua adalah operasi
linier, maka mengkonvolusikan citra
dengan 2h sama halnya dengan
mengkonvolusikan citra dengan fungsi
penghalusan, diikuti dengan menghitung
Laplacian dari hasil penghalusan.
30
Laplacian
31
Referensi
Bab 10, Image Segmentation, Digital
Image Processing, edisi 2, Rafael C.
Gonzales dan Richard E. Woods, Prentice
Hall, 2002
32