SEGMENTASI CITRA MENGGUNAKAN K-MEANS DAN FUZZY C- MEANS DENGAN BERBAGAI RUANG WARNA Kamil Malik Jurusan Teknik Informatika – STT Nurul Jadid Paiton
[email protected] Andi Hutami Endang Jurusan Teknik Informatika – STTS Surabaya
[email protected] ABSTRAK Segementasi merupakan proses yang penting dalam pengolahan citra. Beberapa metode pendekatan telah dilakukan untuk dapat melakukan segmentasi citra. Pendekatan clustering adalah salah satu dari teknik pertama yang digunakan untuk segmentasi dari citra bertekstur. Metode clustering yang populer digunakan adalah KMeans dan Fuzzy C-Means dikarenakan kesederhanaan metode tersebut. Tujuan dari final project ini adalah mengimplementasikan metode clustering KMeans dan Fuzzy C-Means dengan menggunakan Matlab. Untuk menyelesaikan Final Project ini, maka dilakukan langkah-langkah sebagai berikut: Pengumpulan data citra yang akan digunkan sebagai input program, Mempelajari konsep metode clustering KMeans dan Fuzzy C-Means untuk segmentasi citra dengan Matlab, Perancangan program pada Matlab, Pembuatan program dengan Matlab, Pengujian program dengan input data citra yang diperoleh, Pembuatan laporan Kata Kunci: Segmentasi Citra, Clustering K-Means dan Fuzzy C-Means.
I. PENDAHULUAN 1.1 Latar Belakang Segementasi merupakan proses yang penting dalam pengolahan citra. Berbagai macam pembahasan terkait dengan bidang segmentasi dapat ditemui. Segmentasi juga telah secara luas dipelajari dan digunakan. Beberapa metode pendekatan telah dilakukan untuk dapat melakukan segmentasi citra. Pendekatan clustering adalah salah satu dari teknik pertama yang digunakan untuk segmentasi dari citra bertekstur. Metode clustering yang populer digunakan adalah K-Means dan Fuzzy C-Means dikarenakan kesederhanaan metode tersebut. Pada final project ini akan dibuat program yang mengimplementasikan metode clustering K-Means dan Fuzzy C-Means. Program yang dibangun ini nantinya akan mengambil input citra berupa gambar bewarna. Fitur warna merupakan fitur yang penting dan sering digunakan untuk merepresentasikan ciri yang menonjol dari citra terkait dengan pengolahan citra. Dengan metode clustering K-Means dan Fuzzy C-Means akan dikelompokkan piksel-piksel dari citra yang memiliki kemiripan sifat. Piksel yang mimiiki kemiripan sifat akan berada dalam satu segment atau daerah. Sehingga keluaran dari program ini berupa citra yang tersegmentasi.
1.2 Rumusan Masalah Rumusan masalah dari final project ini adalah bagaimana cara mengimplementasikan metode clustering K-Means dan Fuzzy C-Means dengan menggunakan berbagai ruang warna pada citra sehingga keluaran dari program berupa citra yang tersegmentasi. 1.3 Tujuan dan Manfaat Tujuan dari final project ini adalah mengimplementasikan metode clustering K-Means dan Fuzzy C-Means dengan menggunakan Matlab. II. TINJAUAN PUSTAKA Berikut ini beberapa dasar teori yang digunakan untuk implementasi program segementasi citra bewarna dengan metode K-Means dan Fuzzy C-Means. 2.1 Segmentasi Citra Segmentasi citra masih menjadi topik pilihan yang sangat menarik dan penting untuk dikembangkan. Salah satu penyebabnya adalah hasil segmentasi citra asli akan berpengaruh pada proses berikutnya, seperti pengenalan pola karakter, klasifikasi penyakit berdasarkan citra yang didapat, dan pengenalan wajah. [1] Terdapat beberapa metode segmentasi citra yang sudah lama digunakan, seperti teknik deteksi tepi (edge detection) dengan menggunakan Sobel, Prewitt, Robert, Canny, LOG, Algoritma EM, OSTU dan Algoritma Genetika [2]. Pendekatan lain yang dapat digunakan segmentasi citra adalah dengan menggunakan teknik clsutering pada data mining, seperti K-Means dan Fuzzy CMeans. Pada implementasi program segmentasi citra ini digunakan metode KMeans dan Fuzzy C-Means. 2.2 K-Means K-Means merupakan salah satu algoritma untuk menyelesaikan permasalahan clustering. K-Means pertama kali diperkenalkan oleh J.B. MacQueen pada tahun 1967. K-Means melakukan clustering data dengan menentukan titik centroid sebagai acuan. Titik-titik yang berada dekat dengan centroid berada pada satu cluster. Proses penentuan centroid dan pengelompokkan titik-titik terdekat centroid menjadi satu cluster dilakukan sampai centroid tidak berubah lagi. [3] Pada implementasi program segementasi citra ini K-Means digunakan untuk melakukan clustering piksel pada citra dengan output berupa citra tersegmentasi. 2.3 Fuzzy C-Means Fuzzy C-Means (FCM) adalah teknik pengelompokkan data (clustering) dimana masing-masing data termasuk dalam sebuah cluster berdasarkan membership grade. Teknik ini pertama kali diperkenalkan oleh Jim Bezdek pada tahun 1981 sebagai cara untuk meningkatkan metode clustering. [3] Pada implementasi program segementasi citra ini Fuzzy C-Means digunakan untuk melakukan clustering piksel pada citra dengan output berupa citra tersegmentasi.
III. METODE PENELITIAN Untuk menyelesaikan Final Project ini, maka dilakukan langkahlangkah sebagai berikut: 1. Pengumpulan data citra yang akan digunkan sebagai input program, 2. Mempelajari konsep metode clustering K-Means dan Fuzzy C-Means untuk segmentasi citra dengan Matlab, 3. Perancangan program pada Matlab, 4. Pembuatan program dengan Matlab, 5. Pengujian program dengan input data citra yang diperoleh, 6. Pembuatan laporan IV. HASIL DAN PEMBAHASAN 4.1 Rancangan Program Program yang akan dibangun adalah sebuah perangkat lunak yang mengimplementasikan metode clustering K-Means dan Fuzzy C-Means untuk kebutuhan segmentasi citra. Berikut ini adalah kebutuhan data dari program yang akan dibangun: 1. Kebutuhan Input
Kebutuhan input berupa berupa citra bewarna, seperti yang ditunjukkan pada Gambar 4.1 Gambar 4 . 1. Contoh Input Citra (Citra Bewarna) 2. Kebutuhan Output Output berupa citra tersegmentasi hasil dari proses clustering dengan metode KMeans dan Fuzzy C-Means. Pada citra tersegmentasi ditunjukkan daerah hasil segmentasi dengan adanya garis segmentasi, seperti yang ditnjukkan pada Gambar 4.2.
Gambar 4 . 2. Contoh Output Citra (Citra Tersegmentasi)
Rancangan program seperti yang ditunjukkan diagram blok pada Gambar 4.3. Jalannya program dapat dijelaskan sebagai berikut: 1. Memilih citra tekstur yang akan disegmentasi 2. Mengubah citra dalam bentuk piksel array yang merepresentasikan nilai warna dari citra 3. Memilih ruang warna yang akan digunakan sebagai fitur citra 4. Memilih banyaknya kelas yang digunakan pada K-Means dan Fuzzy C-Means 5. Mengubah nilai warna sesuai nilai ruang warna yang dipilih 6. Menggunakan nilai ruang warna dan banyaknya kelas untuk kemudian dilakukan proses clustering dengan K-Means dan Fuzzy C-Means 7. Menampilkan hasil clustering 8. Menampilkan hasil segmentasi yang ditunjukkan dengan garis segmentasi pada citra bewarna
Gambar 4 . 3. Diagram Blok Program Segmentasi Citra Pada Gambar 4.4 menunjukkan rancangan antarmuka program untuk segementasi citra dengan menggunakan algoritma K-Means dan Fuzzy C-Means dimana terdapat beberapa kontrol berikut ini: 1. Lima jendela untuk menampilkan gambar 2. Dua tombol (memilih gambar dan memulai segmentasi citra) 3. Dua menu pilihan (pilihan algoritma distance dan jumlah kelas)
Gambar 4.4 Rancangan Anttarmuka Program Segmentasi Citra Implementasi program segm mentasi citra bewarna dengan metode K-Means dan Fuzzy C-Means menggunakan M Matlab. 4.2 Implementasi Program Berikut ini adalah penjelasaan implementasi program segmentasi citra bewarna dengan metode K-Means dann Fuzzy C-Means. 1. Implementasi Antarmuka Progrram Pada Gambar 4.5 menunjukkann hasil implementasi antarmuka program pada Matlab.
Gambar 4 . 5. Impleementasi Antarmuka Program
Pada antarmuka ini, terdapat beberapa kontrol berikut ini: a. Jendela untuk menampilkan input citra pilihan b. Jendela untuk menampilkan output hasil segmentasi citra dengan metode K- Means c. Jendela untuk menampilkan output hasil segementasi citra dengan metode d. Fuzzy C-Means e. Kontrol untuk memasukkan parameter kelas (k) f. Kontrol untuk memilih fitur (‘Warna’ atau ‘Warna dan tekstur’) g. Kontrol untuk memilih distance (‘euclidean’ dan ‘manhattan’) h. Kontrol untuk memilih ruang warna (‘RGB’, ‘YIQ’,’YCBCR’, dan ‘HSV’) i. Tombol untuk memilih citra j. Tombol untuk melakukan segmentasi citra 2. Implementasi Konversi Ruang Warna Citra Berikut ini adalah potongan baris kode program untuk mengubah ruang warna citra sesuai ruang warna pilihan pada antarmuka.
3. Implementasi Citra dengan Warna
4. Implementasi Citra dengan Warna dan Tekstur
5. Implementasi Segmentasi Citra dengan K-Means Berikut ini adalah potongan baris kode program hasil implementasi segmentasi citra dengan menggunakan K-Means.
6. Implementasi Fuzzy C-Means Berikut ini adalah potongan baris kode program hasil implementasi segmentasi citra dengan menggunakan Fuzzy C-Means
4.3 Uji Coba Berikut ini adalah uji coba beberapa citra bewarna (300 Dataset UC Berkeley) pada program segmentasi citra dengan metode K-Means dan Fuzzy CMeans.
1. Uji Coba Segmentasi Citra 163014_320.ppm Pada Gambar 4 . 6 menunjukkan hasil running program dengan citra bewarna 163014_320.ppm, jumlah kelas : 3 (k = 3), fitur : Warna dan Tekstur, distance : euclidean, ruang warna : RGB.
Gambar 4 . 6. Hasil Running Program dengan Input Citra 163014_320.ppm Pada Gambar 4 . 7 menunjukkan hasil running program dengan citra bewarna 163014_320.ppm, jumlah kelas : 3 (k = 3), fitur : Warna dan Tekstur, distance : manhattan, ruang warna : RGB
Gambar 4 . 7. Hasil Running Program dengan Input Citra 163014_320.ppm
Pada Gambar 4 . 8 menunjukkan hasil running program dengan citra bewarna 163014_320.ppm, jumlah kelas : 3 (k = 3), fitur : Warna dan Tekstur, distance : euclidean, ruang warna : HSV.
Gambar 4 . 8. Hasil Running Program dengan Input Citra 163014_320.ppm 2. Uji Coba Segmentasi Citra 124084_320.ppm Pada Gambar 4 . 9 menunjukkan hasil running program dengan citra bewarna 124084_320.ppm, jumlah kelas : 4 (k = 4), fitur : Warna dan Tekstur, distance : euclidean, ruang warna : RGB.
Gambar 4 . 9. Hasil Running Program dengan Input Citra 124084_320.ppm
Pada Gambar 4.10 menunjukkan hasil running program dengan citra bewarna 124084_320.ppm, jumlah kelas : 4 (k = 4), fitur : Warna, distance : euclidean, ruang warna : RGB
Gambar 4 . 10. Hasil Running Program dengan Input Citra 124084_320.ppm Pada Gambar 4.11 menunjukkan hasil running program dengan citra bewarna 124084_320.ppm, jumlah kelas : 2 (k = 2), fitur : Warna dan Tekstur, distance : euclidean, ruang warna : RGB
Gambar 4 . 11. Hasil Running Program dengan Input Citra 124084_320.ppm
DAFTAR PUSTAKA [1] Segmentasi Citra RGB dengan K-Means , diakses 8 Januari 2013
[2] Poornima, B, Ramadevi, P, Sridevi, T. Threshold Based Edge Detection Algorithm. IACSIT International Journal of Engineering and Technology, Vol.3, No. 4. Agustus, 2011. [3] A Tutorial on Clustering Algorithm, diakses 8 Januari 2013