Upload
vutuong
View
219
Download
0
Embed Size (px)
Citation preview
Modifikasi Algoritma Pengelompokan
K-Means untuk Segmentasi Citra Ikan
Berdasarkan Puncak Histogram
Shabrina Mardhi Dalila (5109100049)
Dosen Pembimbing 1
Prof. Ir. Handayani Tjandrasa, M.Sc., Ph.D.
Dosen Pembimbing 2
Dr. Eng. Nanik Suciati, S.Kom., M.Kom.
1
Latar Belakang
Segmentasi citra
ikan adalah salah
satu langkah dasar
dalam memperoleh
hasil ekstraksi kontur
tubuh citra ikan [1].
2
Rumusan Masalah
Bagaimana mengimplementasikan tahap preprocessing pada
modifikasi algoritma pengelompokan K-Means.
Bagaimana mengimplementasikan segmentasi citra ikan
dengan menggunakan algoritma pengelompokan K-Means
yang telah dimodifikasi.
Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari
hasil segmentasi.
3
Batasan Masalah
Masukan berupa citra ikan berwarna dengan ekstensi file JPG.
Aplikasi digunakan untuk melihat hasil segmentasi dan hasil
ekstraksi kontur citra ikan.
Metode segmentasi yang digunakan adalah modifikasi
algoritma pengelompokan K-Means dengan cluster sejumlah
puncak histogram yang telah di-smoothing.
4
Tujuan
Melakukan modifikasi terhadap algoritma pengelompokan K-
Means guna memberikan hasil segmentasi citra yang lebih
akurat dan stabil dibandingkan dengan algoritma
pengelompokan K-Means biasa.
Mendapatkan hasil ekstraksi kontur tubuh ikan dari citra
tersegmentasi.
Sebagai salah satu metode dasar yang dapat digunakan
untuk aplikasi citra ikan.
5
Definisi
Algoritma pengelompokan K-Means adalah salah satu
algoritma yang digunakan untuk melakukan segmentasi citra.
Algoritma ini membagi piksel-piksel ke dalam cluster sejumlah
k.
Modifikasi algoritma pengelompokan K-Means dilakukan
dengan menghitung jumlah puncak histogram yang telah di-
smoothing sebagai jumlah k dan melakukan seleksi pusat
cluster awal.
6
Gambaran Umum Aplikasi
Aplikasi dibuat menggunakan tools Matlab R2008a.
Aplikasi digunakan untuk melakukan segmentasi terhadap
citra ikan dengan menggunakan algoritma pengelompokan
K-Means yang dimodifikasi.
Aplikasi dapat melihat hasil segmentasi, dan hasil ekstraksi
kontur tubuh ikan dengan menggunakan morfologi
matematika, serta proses yang terjadi.
7
Pre-processing
1 •Citra berwarna
•Ubah menjadi citra grayscale
2 •Citra grayscale
•Lakukan filter homomorphic
3 •Bentuk histogram
4 •Smoothing histogram
5 •Hitung jumlah puncak pada histogram
6 •Hitung nilai rata – rata piksel
8
Proses
9
Cluster sejumlah puncak
histogram yang telah di-smoothing
Pusat cluster awal dipilih secara acak sejumlah puncak
histogram & diseleksi
Hitung jarak masing- masing piksel ke
masing-masing pusat cluster
Hitung nilai rata-rata cluster untuk menjadi pusat cluster baru
Cluster berubah? Hasil segmentasi
Ya
Tidak
Keluaran
10
Tepi diperoleh dengan dilasi-erosi
Lakukan erosi pada citra
Lakukan dilasi pada citra
Ubah citra hasil segmentasi menjadi citra hitam-putih
Citra segmentasi hasil modifikasi algoritma pengelompokan K-Means diperoleh
Visualisasi Proses
11
Citra berwarna
Citra grayscale
Citra homomorphic
Histogram
Smoothing histogram
Turunan
Segmentasi
Segmentasi (Hitam-Putih)
Tepi objek
Tepi pada citra grayscale
Percobaan
Uji coba akurasi terhadap hasil segmentasi citra algoritma
pengelompokan K-Means biasa yang diubah menjadi citra
biner.
Uji coba akurasi terhadap hasil segmentasi citra algoritma
pengelompokan K-Means yang dimodifikasi yang diubah
menjadi citra biner.
Perbandingan akurasi antara hasil segmentasi citra algoritma
pengelompokan K-Means biasa dan hasil segmentasi citra
modifikasi algoritma pengelompokan K-Means yang diubah
menjadi citra biner.
12
Uji coba akurasi terhadap hasil segmentasi citra
algoritma pengelompokan K-Means biasa yang
diubah menjadi citra biner
13
Akurasi terhadap hasil segmentasi citra
algoritma pengelompokan K-Means biasa
yang diubah menjadi citra biner Tabel 1
14
No. Nama Citra Pusat Cluster Akurasi (%)
1 fish_01.jpg 76, 46, 165, 216, 111 83.12 2. fish_02.jpg 70, 208, 94, 242, 163 93.24 3. fish_03.jpg 30, 54, 85, 130, 202 86.52 4. fish_04.jpg 77, 100, 39, 27, 212 93.84 5. fish_05.jpg 98, 43, 63, 124, 237 86.23 6. fish_06.jpg 230, 50, 73, 136, 193 89.91 7. fish_07.jpg 69, 168, 120, 205, 49 85.79 8. fish_08.jpg 83, 64, 151, 195, 49 97.32 9. fish_09.jpg 69, 27, 160, 122, 209 83.53 10. fish_10.jpg 205, 96, 65, 170, 125 73.13 11. fish_11.jpg 34, 71, 126, 178, 213 72.78 12. fish_12.jpg 224, 89, 199, 127, 54 93.01 13. fish_13.jpg 65, 97, 132, 233, 187 73.21 14. fish_14.jpg 108, 79, 174, 208, 139 80.57 15 fish_15.jpg 179, 52, 126, 234, 203 78.46 16. fish_16.jpg 79, 140, 188, 55, 225 95.59 17. fish_17.jpg 70, 237, 200, 147, 47 96.71 18. fish_18.jpg 112, 73, 40, 157, 210 87.79 19. fish_19.jpg 141 225, 188, 91, 39 91.82 20. fish_20.jpg 225, 82, 182, 114, 52 87.79 21. fish_21.jpg 175, 145, 206, 91, 13 93.61 22. fish_22.jpg 126, 43, 205, 180, 62 92.27 23. fish_23.jpg 66, 199, 165, 108, 228 96.98 24. fish_24.jpg 210, 92, 159, 70, 118 88.92 25. fish_25.jpg 138, 33, 207, 177, 237 96.73 26. fish_26.jpg 244, 84, 40, 125, 185 87.65
Rata-rata Akurasi 87.94
Hasil
Dapat dilihat pada Tabel 1 bahwa nilai rata-rata akurasi hasil
segmentasi menggunakan algoritma pengelompokan K-
Means biasa yang diubah menjadi citra biner terhadap
ground truth memiliki nilai rata-rata sebesar 87.94%
15
Akurasi terhadap hasil segmentasi citra algoritma
pengelompokan K-Means yang dimodifikasi
yang diubah menjadi citra biner.
16
Tabel 2 No. Nama Citra
Jumlah Cluster
Pusat Cluster Akurasi (%)
1 fish_01.jpg 4 223, 182, 131, 73 98.31 2. fish_02.jpg 5 249, 230, 198, 148, 73 96.06 3. fish_03.jpg 5 253, 247, 201, 119, 57 96.61 4. fish_04.jpg 5 36, 239, 209, 84, 164 98.21 5. fish_05.jpg 6 254, 55, 244, 223, 109, 172 95.09 6. fish_06.jpg 6 241, 217, 49, 188, 134, 72 90.12 7. fish_07.jpg 6 212, 46, 194, 158, 62, 107 90.63 8. fish_08.jpg 6 54, 235, 75, 204, 178, 143 97.34 9. fish_09.jpg 5 24, 226, 176, 136, 56 94.05
10. fish_10.jpg 6 238, 65, 205, 101, 181, 147 89.44 11. fish_11.jpg 5 217, 183, 137, 34, 75 87.34 12. fish_12.jpg 4 58, 224, 194, 97 95.30 13. fish_13.jpg 4 231, 183, 78, 117 85.23 14. fish_14.jpg 5 81, 215, 191, 159, 114 94.34 15 fish_15.jpg 4 52, 230, 194, 130 93.90 16. fish_16.jpg 6 52, 236, 209, 178, 75, 130 95.44 17. fish_17.jpg 6 244, 47, 222, 70, 190, 140 96.41 18. fish_18.jpg 5 40, 230, 76, 188, 143 95.19 19. fish_19.jpg 5 90, 238, 217, 188, 144 91.45 20. fish_20.jpg 4 222, 178, 67, 106 90.16 21. fish_21.jpg 4 10, 37, 183, 140 97.80 22. fish_22.jpg 6 221, 203, 183, 134, 43, 62 96.36 23. fish_23.jpg 4 220, 174, 112, 68 96.01 24. fish_24.jpg 4 218, 173, 84, 120 85.01 25. fish_25.jpg 6 241, 15, 215, 63, 187, 152 97.87 26. fish_26.jpg 5 247, 198, 142, 44, 95 86.23
Rata-rata Akurasi 90.14
Hasil
Dapat dilihat pada Tabel 2 bahwa nilai rata-rata akurasi
hasil segmentasi menggunakan algoritma
pengelompokan K-Means yang dimodifikasi yang
diubah menjadi citra biner terhadap ground truth memiliki nilai rata-rata sebesar 90.14%
17
Perbandingan Akurasi
18
No. Nama Citra Akurasi 1 (%) Akurasi 2 (%) Akurasi 1 > Akurasi 2
Akurasi 2 > Akurasi 1
1. fish_01.jpg 83.12 98.31 - √ 2. fish_02.jpg 93.24 96.06 - √ 3. fish_03.jpg 86.52 96.61 - √ 4. fish_04.jpg 93.84 98.21 - √ 5. fish_05.jpg 86.23 95.09 - √ 6. fish_06.jpg 89.91 90.12 - √ 7. fish_07.jpg 85.79 90.63 - √ 8. fish_08.jpg 97.32 97.34 - √ 9. fish_09.jpg 83.53 94.05 - √
10. fish_10.jpg 73.13 89.44 - √ 11. fish_11.jpg 72.78 87.34 - √ 12. fish_12.jpg 93.01 95.30 - √ 13. fish_13.jpg 73.21 85.23 - √ 14. fish_14.jpg 80.57 94.34 - √ 15 fish_15.jpg 78.46 93.90 - √ 16. fish_16.jpg 95.59 95.44 √ - 17. fish_17.jpg 96.71 96.41 √ - 18. fish_18.jpg 87.79 95.19 - √ 19. fish_19.jpg 91.82 91.45 √ - 20. fish_20.jpg 87.79 90.16 - √ 21. fish_21.jpg 93.61 97.80 - √ 22. fish_22.jpg 92.27 96.36 - √ 23. fish_23.jpg 96.98 96.01 √ - 24. fish_24.jpg 88.92 85.01 √ - 25. fish_25.jpg 96.73 97.87 - √ 26. fish_26.jpg 87.65 86.23 √ -
Rata-rata 87.94 90.14 - √
Tabel 3
Perbandingan Hasil Citra Hitam-Putih
19
Citra Ground Truth Hitam-Putih
Citra Segmentasi Menggunakan
Modifikasi Algoritma
Pengelompokan K-Means yang
Diubah Menjadi Hitam-Putih
Citra Segmentasi Menggunakan
Algoritma Pengelompokan K-
Means Biasa yang Diubah
Menjadi Hitam-Putih
Kesimpulan
Aplikasi ini merupakan aplikasi untuk segmentasi citra ikan
dengan algoritma pengelompokan K-Means yang
dimodifikasi.
Aplikasi pada tugas akhir ini dapat melakukan ekstraksi
terhadap hasil segmentasi berupa kontur objek.
Modifikasi aplikasi dilakukan dengan seleksi pusat cluster dan
jumlah cluster sebanyak puncak histogram yang di-smoothing.
Algoritma pengelompokan K-Means yang telah dimodifikasi
memberikan hasil citra ekstraksi yang lebih baik daripada
algoritma pengelompokan K-Means yang belum dimodifikasi.
20
Saran
Aplikasi dapat dikembangkan untuk segmentasi objek lain,
selain ikan.
Modifikasi pada algoritma pengelompokan K-Means dapat
ditingkatkan lagi kemampuannya dari aspek lain, selain
berdasarkan seleksi pusat cluster dan jumlah cluster sama
dengan jumlah puncak histogram yang telah di-smoothing.
Kemampuan aplikasi dalam mengolah citra masih kurang
optimal pada citra dengan latar yang terlalu terang atau
kompleks dan menghabiskan running time yang lama.
Diharapkan pada pengembangan selanjutnya dapat
dibangun sebuah aplikasi yang hasilnya lebih optimal.
21
Terima kasih
22
Akurasi
23
Homomorphic Filtering
1. Mengubah gambar ke dalam log domain.
2. Melakukan transformasi fourier pada gambar.
3. Melakukan proses filter terhadap gambar.
4. Melakukan invers fourier pada gambar.
5. Menghilangkan sifat log dari gambar.
24
Homomorphic Filtering
f(x,y) = i(x,y) * r(x,y)
z(x,y) = lnf(x,y) = lni(x,y) + lnr(x,y)
F{z(x,y)} = F{lnf(x,y)}= F{lni(x,y)} + F{lnr(x,y)}
Z(u,v) = Fi(u,v) + Fr(u,v)
S(u,v) = H(u,v) Z(u,v) = H(u,v) Fi(u,v) + H(u,v) Fr(u,v)
s(x,y) = F-1{S(u,v)}
= F-1{H(u,v) Fi(u,v)} + F-1{H(u,v)} Fr(u,v)}
= i’(x,y) + r’(x,y)
g(x,y) = es(x,y)
= ei’(x,y) . er’(x,y)
= i0(x,y) r0(x,y)
25
Histogram
Histogram pada citra merupakan informasi yang diekstrak dari
intensitas citra dan dapat menjadi dasar dari fungsi
transformasi intensitas.
Sumbu horizontal pada histogram menunjukkan nilai piksel
citra, sedangkan sumbu vertikal menunjukkan nilai jumlah
piksel citra [5].
Histogram Citra 26
Thresholding
Thresholding adalah proses mengubah citra berderajat
keabuan menjadi citra biner atau hitam-putih sehingga dapat
diketahui daerah mana yang termasuk objek dan latar dari
citra secara jelas.
Terdapat 2 macam metode thresholding, yaitu :
1.) Thresholding Global
2.) Thresholding Adaptif
27
Morfologi Matematika
Erosi : memperkecil ukuran segmen objek dengan mengurangi
lapisan di sekeliling objek.
Dilasi : memperluas ukuran segmen objek dengan menambah
lapisan disekeliling objek
Erosi = A ⊖ B = {x | B + x ⊆ A}
Dilasi = A ⊕ B = {x | B + x ≠ ∅}
28
Morfologi Matematika
Operasi Terbuka : melakukan erosi pada citra, kemudian pada
citra yang telah melalui erosi tersebut dilakukan dilasi.
Operasi Tertutup : melakukan dilasi pada citra, kemudian
pada citra yang telah melalui proses dilasi tersebut dilakukan
erosi.
Operasi terbuka = A ◦ B = {A ⊖ B} ⊕ B
Operasi tertutup = A . B = {A ⊕ B} ⊖ B
29
Daftar Pustaka
[1] Qingling Duan, Daoliang Li, and Wang Jianping Hong Yao, "An Improved K-Means Clustering Algorithm for Fish Image Segmentation," Elsevier, Dec. 2012.
[2] Rafael C Gonzales and Richard E Woods, "Image Enhancement in the Frequency Domain," in Digital Image Processing, 2nd ed. New Jersey, United States of America: Prentice Hall, 2002, ch. 4, pp. 191-194.
[3] Wolcott Henry. (2013, June) National Geographic. [Online]. http://animals.nationalgeographic.com/animals/fish/clown-anemonefish
[4] Feng Ge, Song Wang, and Liu Tiecheng, "Image Segmentastion Evaluation From the Perspective of Salient Object Extraction," IEEE Computer Society, 2006.
[5] (2013, June) Ebookbrowse. [Online]. http://ebookbrowse.com/histogram-citra-pdf-d359281839
30