Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi...

30
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

Transcript of Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi...

Page 1: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 2: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

Latar Belakang

Segmentasi citra

ikan adalah salah

satu langkah dasar

dalam memperoleh

hasil ekstraksi kontur

tubuh citra ikan [1].

2

Page 3: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 4: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 5: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 6: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 7: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 8: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 9: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 10: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 11: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

Visualisasi Proses

11

Citra berwarna

Citra grayscale

Citra homomorphic

Histogram

Smoothing histogram

Turunan

Segmentasi

Segmentasi (Hitam-Putih)

Tepi objek

Tepi pada citra grayscale

Page 12: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 13: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

Uji coba akurasi terhadap hasil segmentasi citra

algoritma pengelompokan K-Means biasa yang

diubah menjadi citra biner

13

Page 14: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 15: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 16: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 17: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 18: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 19: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 20: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 21: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 22: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

Terima kasih

22

Page 23: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

Akurasi

23

Page 24: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 25: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 26: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 27: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 28: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 29: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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

Page 30: Modifikasi Algoritma Pengelompokan K-Means untuk ... · Bagaimana mendapatkan hasil ekstraksi kontur tubuh ikan dari hasil segmentasi. 3 . Batasan Masalah ... Dapat dilihat pada Tabel

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