Â
SEGMENTASI CITRA PADA PETA DENGAN METODE FUZZY C- MEANS Novanto Yudistira, S.Kom., M.Sc, Dinda Novitasari, W. Lisa Yunita, Nur Alfiyah, Chasandra Puspitasari, Arista Welasari Laboratorium Komputasi Cerdas dan Visualisasi, Jurusan Teknik Informatika, Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya (UB), Malang, 65145, Indonesia E-mail:
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected]
Abstrak â Perkembangan teknologi membuat banyak orang tertarik untuk meneliti dan menganalisis lebih lanjut seberapa besar peranannya dalam implementasi kehidupan seharihari. Proses pengenalan obyek yang dilakukan menggunakan segmentasi citra bermanfaat untuk membagi citra ke dalam beberapa bagian dengan menggunakan thresholding. Proses pengenalan obyek memerlukan beberapa pemisahan region atau wilayah untuk memisahkan gambar asli dengan gambar yang telah di olah. Segementasi citra yang akan diolah harus melalui beberapa tahap untuk selanjutnya di dapatkan citra baru yang memiliki contour, tekstur, dan penghitungan atas warna yang telah ter-cluster. Untuk melakukan segementasi peta, kami menggunakan metode Fuzzy c-Means Clustering. Metode ini mendefinisikan derajad keanggotaan untuk mendapatkan penghitungan clustering yang akan dilakuakn Kata kunci: segmentasi, citra, region, contour, tekstur, Fuzzy c-Means Clustering, derajad keanggotaan.
clustering dimana citra akan dihitung, hal ini dilakukan karena untuk mengelompokkan ruang warna yang berbeda menjadi satu sehingga dapat dilakukan penghitungan. 2. Segmentasi tepi (edge segmentation), Yaitu penggunaan tepi sebagai pembatas untuk menentukan wilayah yang ada pada himpunan pixel yang ada pada 2 wilayah yang berbeda. Jika terdapat banyak segmen, dapat diminimalkan dengan penghitungan property zero crossing dari turunan kedua. Pada segmentasi tepi berfungsi untuk mengidentifikasi garis batas (boundary) dari obyek yang ada pada citra. 3. Segmentasi wilayah (region segmentation) Yaitu pemisahan wilayah dengan menggunakan metode wilayah yang memiliki nilai threshold tertinggi. Pada segmentasi yang dilakukan, wilayah yang memiliki warna akan diubah menjadi keabuan, dimana wilayah yang memiliki nilai keabuan yang sama adalah wilayah yang ingin untuk dikelompokkan. Dengan memanfaatkan segmentasi yang ada, citra peta yang kami uji harus melalui 3 segmentasi yang telah dituliskan diatas. Awalnya citra akan dilakukan segmentasi tepi, kemudian dilakukan segmentasi clusteringkan dan kemudian dilakukan segmentasi wilayah. Untuk melakukan pengelompokkan kami menggunakan fuzzy c-means untuk meng-clusterkan wilayah yang akan dikonversi. Pada segmentasi yang kami lakukan terdapat beberapa fitur untuk mengubah peta yang ada untuk melakukan peningkatan kualitas citra dengan konversi. Konversi yang digunakan antara lain dengan konversi RGB..
I. PENDAHULUAN 1.1 Latar Belakang Segmentasi citra adalah proses pembagian wilayah berdasarkan kesamaan bagian pada nilai thresholding, yaitu suatu piksel dengan perbandingan tingkat thresholding piksel-piksel tetangganya. Thresholding adalah langkah awal untuk menentukan segmentasi citra, dimana nilai thresholding didapat dari nilai tengah yang dihitung dari skala keabuan yang didapat. Segmentasi citra biasa diimplementasikan dengan penggunaan clusterisasi suatu masalah. Pada paper ini akan dijelaskan jika segementasi dapat dilakukan dengan menggunakan metode fuzzy c-means clustering. Terdapat 3 pembagian wilayah segmentasi yaitu segmentasi clustering (classification segmentation), segmentasi tepi (edge segmentation), dan segmentasi wilayah (region segmentation). Pembagian wilayah segmentasi di atas, dapat dijabarkan dengan :[1] 1. Segmentasi clustering (classification segmentation) Yaitu pemisahan citra menggunakan metode
1.2 Rumusan Masalah 1. Apa bahasa pomrograman yang digunakan dalam melakukan implementasi? 2. Apa penghitungan yang digunakan aplikasi untuk mengelompokkan wilayah dalam peta ? 3. Apa saja fitur yang digunakan dalam melakukan konversi citra?
1 Â
1.3 Batasan Masalah Dalam implementasinya di kehidupan nyata, digunakan batasan masalah dalam pembuatannya, berikut adalah batasan masalah: 1. Informasi diperoleh dari gambar yang diambil dan diuji oleh aplikasi yang dirancang. 2. Peta yang diinputkan sebagai media konversi akan ditampilkan kembali 3. Peta hasil konversi akan muncul sesuai dengan fitur yang dipilih oleh user untuk melakukan pengujian. 4. Aplikasi ini dilakukan dengan bahasa pemrograman MATLAB dengan bantuan tools interface.
Tahap-tahap diatas berisfat interaktif dimana penghitungan fuzzy c-means digunakan untuk melakukan penandaan kelas sebelum dilakukan outputan. Sehingga proses satu dengan yang lain saling berhubungan dan terkait.
1.4 Tujuan dari penggunaan aplikasi Metode fuzzy c-means yang digunakan untuk mengelompokkan wilayah pada gambar kasus uji dapat didapat setelah melalui penghitungan. Setelah selesai melakukan penghitungan, maka user dapat melakukan pilihan output gambar tergantung fitur yang dipilih, sehingga masing-masing fitur yang telah ada memiliki karakteristik yang berbeda-beda untuk menampilkan outputan/ hasil dari pengolahan citra.
Teori ini juga disebut dengan metode hard CMeans, dimana pixel-pixel yang ada menjadi data olahan. Data yang telah masuk ini diproses dari semua kelas yang terbentuk dengan derajad keanggotaan berbeda-beda, rentang derajad keanggotaan ini antara 0-1. Data yang ada ditentukan wilayahnya sesuai dengan derajad keanggotaan yang didapat.
2.2 FUZZY C-MEANS (FCM) [4] Fuzzy c-means adalah pengelompokkan dengan menggunakan nilai keanggotaan. Metode ini memungkinkan jika 1 bagian segmen citra memiliki 2/ lebih kelompok. Hal ini dilakukan dengan memperbaiki nilai keanggotaan pusat pengelompokkan yang telah dihitung secara berulang.
Pada kondisi awal penghitungan tidak mendapat nilai yang akurat, sehingga diperlukan pengulangan untuk mendapatkan hasil yang akurat, dimana pada setiap perulangan akan dilakukan perbaikan pusat pengelompokkan. Pengulangan dilakukan untuk menghitung jarak dari titik data yang telah dihitung pada pusat pengelompokkan yang telah memiliki derajad keanggotaan.
II. DASAR TEORI 2.1 Segmentasi Citra Segmentasi dilakukan untuk mendapatkan hasil citra yang lebih baik dibanging dari citra original, yaitu terlihat jelas obyek yang disegmentasi akan memiliki warna yang lebih mencolok akan terlihat lebih putih setelah segementasi[6]. Tujuan dari segmentasi citra adalah melakukan pemisahan menurut metode yang digunakan. Berikut adalah gambaran dari proses yang dilakukan segmentasi citra :
Berikut adalah algoritma dari Fuzzy C-Means yang digunakan : 1.
Menginputkan peta yang cluster X, dimana cluster X b. ðĨ!! âĶ ð= âĶ âĶ ðĨ!! âĶ
akan diuji pada adalah matriks a x ðĨ!! âĶ ðĨ!"
a = jumlah data yang akan dikelompokkan b = jumlah variable. ððð = data contoh ke-i (i=1,2,3,âĶ..a) dan data contoh ke-j (j=1,2,3,âĶâĶ.b) 2. Menentukan beberapa variable seperti : - jumlah kelompok yang akan dibentuk C = (âĨ 2); pangkat = w; - maksximum iterasi = MaxIter ; - error terkecil yang diharapkan = Æ - fungsi obyektif awal ð! = 0 - Iterasi awal = t =1 ; 3. Mentriger bilangan random ð!" dimana i = (1,2,âĶ..a); k = (1,2,3,âĶâĶ..c); sebagai elemen matriks partisi awal U.
Gambar 1. Alur Penghitungan 1. Citra peta yang ada dimasukkan ke dalam aplikasi test uji 2. Akan terdeteksi ciri wilayah yang didapat dari peta, misalnya laut bewarna biru akan berbeda dengan daratan yang bewarna coklat. 3. Citra yang telah dideteksi ciri-cirinya akan dilakukan pemetaan untuk setiap kesamaan 4. Dilakukan pengelompokan fuzzy dengan menggunakan metode fuzzy c-means 5. Setelah dilakukan penghitungan, maka akan diberikan tanda hasil penghitungan pengelompokkan fuzzy 6. Output berupa segmentasi citra akan terlihat.
2
Menghitung jumlah tiap atribut : ð! = Â Hitung : ð!" = 4.
! !!! ð!"
saja, melainkan terdiri dari data random yang selanjutnya di lihat berdasarkan kemirimpan yang ada. Tingkat kemiripan ini tergantung dari apa yang akan di samakan untuk dilakukan penghitungan, setiap kesamaan data satu dengan yang lain akan memiliki perbedaan yang berbeda dengan data yang lain. Karenanya tipe data yang akan dilakukan clustering baik secara kualitas ataupun kuantitas akan menentukan ukuran apa yang nantinya digunakan dalam pembuatan algoritma[5].
ð!" ð!
Menghitung pusat kelompuk ke â k : ð!" , dengan k = 1,2,âĶâĶâĶâĶ.c dan j = 1,2,âĶâĶ.b ð!" = Â ðĢ!! ð= âĶ ðĢ!!
5.
Â
! ! !!!((ð!" ) ð!" ! ! !" (ð!" )
âĶ âĶ âĶ
2.5 Color Based Metode clustering yang kami lakukan adalah dengan menggunakan color based yaitu warna yang menjadi dasar dalam penentuan clustering yang dilakukan dalam melakukan pemetaan warna. Pada tahap, setiap wilayah atau region yang ada akan dibedakan menurut warna yang dihasilkan oleh tingkat penentuan warna RGB yang diambil dari proses deteksi peta yang diinputkan. RGB memiliki penghitungan rentang warna antara 0 hingga 0-255. Nilai 0 adalah warna hitam dan 255 adalah warna putih. Dengan menggunakan penghitungan clustering, maka akan dikelompokkan warna yang didapat dengan hasil yang muncul. Kami meng-cluster peta menjadi 3 warna untuk dibedakan, berikut adalah warna dasar untuk yang digunakan untuk clustering peta yang diuji.
ðĢ!! âĶ ðĢ!"
Menghitung fungsi obyektif iterasi ke = t, ð! = Â
6.
!
!
!
!!!
!!!
ð!" â ð!" )! ](ð!" )!
([ !!!
Menghitung perubahan matriks partisi : ð!" = Â
[
! !!!(ð!"
! !!![
!!
â ð!" )! ]!!!
! !!!(ð!"
!!
â ð!" )! ]!!!
Dengan i =( 1,2,âĶâĶa) dan k =( 1,2,âĶ.c) -
Cek kondisi berarti berhenti
-
Jika (ð! â ð!!! < ð} atau (t>Maciter) maka stop
-
Jika tidak : t = t+1, ulangi langkah ke-4
Gambar 2. Color based yang tampak setelah clustering 3. Implementasi 3.1 Proses algoritma fuzzy c-means dalam implementasi Setelah image diinputkan pada program maka akan dimasukkan ke dalam fungsi RGB, dimana RGB akan dilakukan pemisahan warna Red, Green Blue yang memiliki tingkat nilai yang berbeda-beda pada setiap citra yang diinputkan. Berikut adalah code program untuk melakukan pemisahan warna berdasarkan RGB pada citra %==============RGB================% get individual RGB colours included in segmentation [a,b,c]=size(img.read); rc=img.read(:,:,1); gc=img.read(:,:,2); bc=img.read(:,:,3);
Hasil dari FCM akan menampilkan kelompok data dalam bentuk bulat. Hal ini dikarenakan semua kelompok diasumsikan memiliki ukuran yang sama [2]. 2.3 Fitur RGB RGB adalah citra asli yang dikelompokkan dalam 3 warna utama yaitu Red, Green, Blue dimana masing-masing warna memiliki kapasitas sendirisendiri. Berikut adalah perhitungan RGB : - Lightness Method Gray = (max(R, G, B) + min(R, G, B)) / 2 - Average Method Gray = (R + G + B) / 3 - Luminosity Method Gray = 0.21 R + 0.71 G + 0.07 B
Image yang telah dikelompokkan menurut RGB, akan dimasukkan pada segmentasi sesuai dengan 3 cluster yang akan dilakukan. Berikut adalah code program saat melakukan segmentasi dengan memasukkan nilai RGB pada variabel baru : segcolors = double([rc(:) gc(:) bc(:)]); img.temp=img.read;
2.4 Clustering Pengertian Clustering adalah pemisahan data menjadi beberapa bagian/kelompok tersendiri berdasarkan pola kemiripan atribut yang ada didalamnya[5]. Dalam melakukan clustering data yang akan dipisah ini tidak langsung terpisah begitu
3
% ============================== axes(handles.image3); img.load = imshow (img.temp); nClusters = 3; title('Segmenting. Please wait.......'); drawnow; Setelah dimasukkan dalam variabel baru maka akan dilakukan penghitungan fuzzy c-means dengan melakukan memasukkan hasil segmentasi dengan cluter yang ada. [Idx,U,obj_fcn] = fcm(segcolors,nClusters); [g,j]=size(U); % ============================== img.status = zeros(a,b); img.clus1 = 0; img.clus2 = 0; img.clus3 = 0; Penghitungan Fuzzy c-means membutuhkan penghitungan derajad keanggotaan untuk mendapat cluster-clusternya. Berikut adalah code program untuk menghitung derajad keanggotaan : degree = max(U); for i=1 : j if ( U(1,i)== degree(1,i) ) Id(i,:) = Idx(1,:); img.clus1 = img.clus1+1; elseif ( U(2,i)== degree(1,i) ) Id(i,:) = Idx(2,:); img.clus2 = img.clus2+1; elseif ( U(3,i)== degree(1,i) ) Id(i,:) = Idx(3,:); img.clus3 = img.clus3+1; end end
I(batasx-1,:) = 0; I(:,batasy) = 0; I(:,batasy-1) = 0; for x=1 : a for y=1 :b if I(x,y) == 255 img.imagecluster1(x,y,1)=Idx(1,1); img.imagecluster1(x,y,2)=Idx(1,2); img.imagecluster1(x,y,3)=Idx(1,3); end end end Dari hasil penghitungan FCM yang kami lakukan didapat bahwa - kelas keanggotaan C1(warna abu-abu) lebih rendah dibanding C2(warna hitam) - kelas keanggotaan C3(warna biru) lebih rendah disbanding C2(warna hitam) - kelas keanggotaan C2(warna hitam) lebih tinggi dari C3(warna biru) dan C1(warna abuabu) Dengan percobaan yang dilakukan, maka hasil penghitungan tidak dapat diabaikan begitu saja. Perkiraan representative dari cluster lain tetap dekat dengan volume utama kumpulan data. [3] Segmentasi yang kami lakukan dapat menginputkan gambar setelah menekan tombol open image dimana image harus di load untuk selanjutnya dilakukan penghitungan. Berikut adalah tampilan GUI dari program yang kami buat :
img.size = j; Untuk mendapat clustering, Berikut adalah contoh penghitungan Cluster yang dihitung oleh penghitungan derajad keanggotaan, dapat dilihat pada code berikut ini : % Cluster #1 clus1(1,:) = U(1,:); cluster1 = reshape(clus1,size(img.read(:,:,1)) ); markcluster1 = zeros(a,b); img.imagecluster1 = zeros(a,b,c); for x=1 : a for y=1 :b if cluster1(x,y)> 0.5 markcluster1(x,y) = 1; end end end [pixel,I] = contour_trace(markcluster1,1,1); [batasx,batasy]=size(I); I(batasx,:) = 0;
Gambar 3. GUI Aplikasi Dalam implementasi peng-clusteran peta yang kami uji, kami mendapatkan hasil dengan menggunakan metode segmentasi fuzzy c-means dan mendapatkan hasil yang akurat. Berikut ini adalah gambar implementasi program yang kami buat :
4
Gambar 4. Implementasi dengan memasukkan peta PENUTUP 4.1 Kesimpulan Kesimpulan dari penulisan ini antara lain adalah : 1. Clustering citra dapat dilakukan dengan menggunakan metode fuzzy c- means dimana akan diclusteringkan sesuai dengan rule yang kita inginkan dalam mengkategorikan wilayah pada peta. 2. Beberapa metode pengubahan citra dapat digunakan untuk memperbaiki citra. 3. Model pengubahan citra dapat dilakukan dengan mengubah warna menjadi beberapa bagian kemudian dihitung sesuai dengan konversi yang diinginkan. 4. Deteksi wilayah peta dapat dilakukan dengan bantuan clustering menggunakan metode fuzzy c-means 5. Jika nilai confidence kurang dari batas yang ditentukan, maka akan dilakukan delete item. 4.2 Saran kami menerima kritik dan saran jika ingin mengetaui lebih lanjut tentang paper yang kami gunakan atau ingin mengembangkan lebih lanjut sistem ini. REFERENSI [1] Apriliani, Dya. Murinto.. Analisis perbandingan teknik segmentasi citra digital menggunakan metode level-set chan & vase dan lankton. [2]Reandy Sasmita, Novi. Sofyan, Hizir. Subianto, Muhammad. Perbandingan metode fuzzyc-means (FCM) dan fuzzy c- sheel (FCS) menggunakan data citra satelit quicbird. [3]Subkhan, muhammad. Algoritma Clustering. Yogyakarta, 2006. [4] Irandha.P.W, Irma, Fariza, Arna, Martiana K, Entin. Analisa keluarga miskin dengan menggunakan metode fuzzy c-means clustering. [5]Bahar, Penentuan jurusan sekolah menengah atas denganalgortima fuzzy c-means 2011. [6]Witeti. Identifikasi Sel kanker Prostat menggunakan metode segmentasi berdasar ukuran objek pada citra.
5