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 dismoothing 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 2 3 4 5 Citra berwarna Ubah menjadi citra grayscale Citra grayscale Lakukan filter homomorphic Bentuk histogram Smoothing histogram Hitung jumlah puncak pada histogram 6 Hitung nilai rata rata piksel 8
Proses Cluster sejumlah puncak histogram yang telah di-smoothing Pusat cluster awal dipilih secara acak sejumlah puncak histogram & diseleksi Hitung jarak masingmasing piksel ke masing-masing pusat cluster Ya Hasil segmentasi Tidak Cluster berubah? Hitung nilai rata-rata cluster untuk menjadi pusat cluster baru 9
Keluaran Citra segmentasi hasil modifikasi algoritma pengelompokan K-Means diperoleh Ubah citra hasil segmentasi menjadi citra hitam-putih Lakukan dilasi pada citra Lakukan erosi pada citra Tepi diperoleh dengan dilasi-erosi 10
Visualisasi Proses Citra berwarna Citra grayscale Citra homomorphic Histogram Smoothing histogram Turunan Segmentasi Segmentasi (Hitam-Putih) Tepi objek Tepi pada citra grayscale 11
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 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 14
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. 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 16
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 Tabel 3 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-18
Perbandingan Hasil Citra Hitam-Putih 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 19
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) F i (u,v)} + F -1 {H(u,v)} F r (u,v)} = i (x,y) + r (x,y) g(x,y) = e s(x,y) = e i (x,y). e r (x,y) = i 0 (x,y) r 0 (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. Erosi = A B = {x B + x A} Dilasi : memperluas ukuran segmen objek dengan menambah lapisan disekeliling objek 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 terbuka = A B = {A B} B Operasi Tertutup : melakukan dilasi pada citra, kemudian pada citra yang telah melalui proses dilasi tersebut dilakukan erosi. 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/histogramcitra-pdf-d359281839 30