Lisensi ini mengizinkan setiap orang untuk menggubah ...kc.umn.ac.id/1310/3/BAB II.pdf · Berikut...

21
Team project ©2017 Dony Pratidana S. Hum | Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis dan melisensikan ciptaan turunan dengan syarat yang serupa dengan ciptaan asli. Copyright and reuse: This license lets you remix, tweak, and build upon work non-commercially, as long as you credit the origin creator and license it on your new creations under the identical terms.

Transcript of Lisensi ini mengizinkan setiap orang untuk menggubah ...kc.umn.ac.id/1310/3/BAB II.pdf · Berikut...

Team project ©2017 Dony Pratidana S. Hum | Bima Agus Setyawan S. IIP 

 

 

 

 

 

Hak cipta dan penggunaan kembali:

Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis dan melisensikan ciptaan turunan dengan syarat yang serupa dengan ciptaan asli.

Copyright and reuse:

This license lets you remix, tweak, and build upon work non-commercially, as long as you credit the origin creator and license it on your new creations under the identical terms.

20

BAB II

Landasan Teori

2.1 Image Processing

2.1.1 Citra

Citra (Image) adalah data informasi yang dapat disampaikan

berupa gambar. Pada penelitian ini citra merupakan bahan dasar yang akan

disegmentasi dengan menggunakan tiga algoritma yaitu K-Means, Mean

Shift, dan Normalizet Cut.

2.1.2 Image Processing

Image processing adalah salah satu teknik untuk mengelola sebuah

gambar untuk mendapatkan gambar yang sudah siap untuk dikelola lebih

lanjut. Image processing dilakukan untuk memperbaiki kesalahan data

sinyal gambar yang diperoleh karena adanya gangguan transmisi sinyal

selama proses akuisisi sinyal seperti peningkatan kontras, transformasi

warna, restorasi citra, dan untuk meningkatkan kualitas gambar agar lebih

mudah diinterpretasi oleh penglihatan manusia baik dilakukan dengan

manipulasi dan juga dengan analisis terhadap gambar. Input untuk

segmentasi citra adalah citra itu sendiri, sedangkan output–nya adalah citra

hasil dari segmentasi citra tersebut

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

21

Image processing dapat dilakukan dengan berbagai teknik yaitu

image enhancement, color image processing, image feature extraction,

image compression dan image segmentation. Dari semua teknik di atas

tujuannya adalah untuk memperbaiki gambar supaya lebih baik.

Algoritma K-Means, Mean Shift, dan Normalized Cut merupakan

tiga algoritma yang dapat digunakan untuk mengelola sebuah gambar

untuk mendapatkan gambar yang baru yang telah di segmentasi dimana

gambar ini sudah siap untuk di proses lebih lanjut dalam hal penelitian ini

melakukan analisis terhadap gambar yang telah disegmentasi. Oleh karena

itu algoritma K-Means, Mean Shift, dan Normalized Cut akan di uji tingkat

keberhasilannya untuk mensegmentasi sebuah citra.

2.2 K- means

K-mean clustering merupakan algoritma iterative dengan

meminimalkan jumlah kuadrat error antara vektor objek dengan pusat

cluster terdekatnya dengan rumus sebagai berikut :

µk =

---------------------------------(2.1)

Di mana : µk : titik centroid dari cluster ke-k

: banyaknya data pada cluster ke-k

: data ke-q pada cluster ke-k

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

22

Proses segmentasi citra di mulai dengan memilih secara acak nilai

„k‟ buah dokumen sebagai pusat cluster awal, dan anggotanya akan

mengikuti jarak terdekat pada pusat cluster yang telah di bentuk.

Menentukan anggota pada setiap cluster yang telah di bentuk dapat

ditentukan dengan cara melihat jarak terdekat pada pusat centroid yang

telah di bentuk, jarak antara pusat centroid dengan anggota-anggotanya

dapat di hitung dengan tiga cara yaitu, Euclidian distance, City Block, dan

Minkowski. Pada segmentasi gambar ini persamaan yang digunakan adalah

Euclidian distance yaitu dengan cara menghitung jarak dari anggota

cluster ke pusat cluster dengan rumus sebagai berikut :

D( ) = √∑ --------------------------- (2.2)

Dimana: d = jarak

j = banyak data

c = centroid

x = data

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

23

Data clustering menggunakan metode K-means ini secara umum

dapat digambarkan pada flowchart diagram 2.1 berikut ini.

no Yes

Gambar 2.1 Flowchart Algoritma K-means

start

Menentukan

Asumsi titik

pusat cluster

Menentukan

Jumlah cluster

Hitung jarak objek

Ke centre

Kelompokkan objek

berdasarkan jarak

minimum

Adakah objek

yang pindah?

end

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

24

Berikut adalah penjelasan dari flowchart diagram 2.1 pada algoritma K-

Means.

a) Algoritma menerima jumlah cluster, dalam penelitian ini jumlah cluster di

input secara langsung oleh penelitit,

b) Menentukan jumlah cluster dengan jumlah cluster maksimal 255 karena

nilai maksimal dari warna adalah 255, pada penelitian ini jumlah cluster

dimasukkan langsung oleh peneliti. Contoh jika diberikan data 1.000 baris

di dalam dataset dan dari data yang diberikan akan di bentuk 3 cluster.

Maka peneliti memasukkan nilai k = 3 sebagai cluster awal yang akan di

buat. Cluster awal akan mengambil record secara acak dari dataset, dan

setiap cluster awal yang di bentuk hanya mempunyai satu record data,

c) Setiap cluster yang sudah terbentuk akan di hitung nilai rata-ratanya hal ini

bertujuan untuk menentukan pusat cluster. Rata-rata dari suatu cluster

adalah rata-rata dari semua record yang terdapat di dalam cluster tersebut,

d) Setelah pusat cluster ditentukan maka langkah selanjutnya adalah

mengalokasian anggota cluster ke pusat cluster dengan cara menghitung

jarak terdekat pada pusat cluster.

e) Ulangin langkah-langkah yang sebelumnya sampai terbentuk cluster-

cluster yang stabil dan prosedur k-means selesai dengan iterasi maksimal =

10 kali atau cluster akan stabil terbentuk ketika iterasi dari K-means tidak

membuat cluster baru sebagai pusat cluster atau nilai rata-rata aritmatika

dari semua cluster baru sama dengan nilai rata-rata cluster lama.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

25

2.2.1 Metode Pengalokasian Data ke Dalam Masing Masing Cluster

Ada dua cara pengalokasian data kembali ke dalam masing-masing

cluster pada saat proses pengulangan clustering yaitu Hard K-means dan

fuzzy K-means. Perbedaan kedua metode ini terletak pada asumsi yang di

pakai sebagai dasar pengalokasian.

Hard K-means

Dalam metode ini pengalokasian data ke dalam masing-masing

cluster didasarkan pada perbandingan jarak antara data dengan pusat data

pada setiap cluster yang ada. Data yang dimasukkan kedalam cluster yang

terdekat dengan pusat data. Pengalokasian ini dapat dirumuskan sebagai

berikut :

= { {( )}

------------------------------- (2.3)

Keterangan : : keanggotaan data ke – K cluster ke-i

: nilai centre cluster ke-i

Fuzzy K-means

Metode ini mengalokasikan kembali data ke dalam masing-masing

cluster dengan cara memanfaatkan teori Fuzzy yaitu memetakan suatu

ruang input kedalam ruang output dengan cara memanfaatkan himpunan

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

26

fuzzy. Dalam metode fuzzy K-means dipergunakan variable membership

function, , yang merujuk pada seberapa besar kemungkinanan suatu

data bisa menjadi anggota ke dalam suatu cluster. Pada Fuzzy K-mean

diperkenalkan juga suatu variable m yang merupakan weighting exponent

dari membership function. Variable ini dapat mengubah besaran pengaruh

dari membership function, , , dalam proses clustering menggunakan

metode membership function. m mempunyai wilayah nilai m < 1. Tetapi

sekarang ini tidak ada ketentuan yang jelas seberapa besar nilai m yang

optimal dalam melakukan proses optimasi suatu permasalahan clustering.

Nilai m yang umumnya digunakan adalah 2.

2.2.2 Beberapa Permasalahan yang Terkait dengan K-Means

Beberapa permasalahan yang sering dijumpai pada saat

menggunakan metode K-means untuk melakukan pengelompokan pada K-

means adalah sebagai berikut :

a) Ditentukannya beberapa model clustering yang berbeda,

b) Pemilihan jumlah cluster yang tepat,

c) Kegagalan untuk converge,

d) Pendekatan outliers,

e) Bentuk dari masing-masing cluster,

f) Masalah overlapping.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

27

Beberapa permasalahan di atas perlu diperhatikan pada saat

menggunakan K-means. Permasalahan pertama umumnya disebabkan oleh

perbedaan proses inisialisasi dari anggota masing-masing cluster. Di mana

proses inisialisasi dilakukan secara acak. Proses inisialisasi secara acak

mempunyai kecenderungan untuk memberikan hasil yang lebih baik,

walaupun dari segi kecepatan untuk converge lebih lambat. Pada

permasalahan yang kedua merupakan masalah yang sering terjadi dalam

metode K-mean. Untuk mengatasi masalah pada pemilihan jumlah cluster

yang tepat yaitu dilakukan pendekatan untuk menentukan jumlah cluster

yang tepat untuk suatu dataset.

Permasalahan ketiga adalah kegagalan untuk converge, hal ini

secara teori terjadi pada kedua metode K-means yaitu Hard K-means dan

Fuzzy K-means. Pada Hard K-means hal ini akan lebih sering terjadi

karena setiap data di dalam dataset dialokasikan secara tegas untuk

menjadi bagian dari cluster tertentu. Perpindahan dari satu data ke satu

cluster tertentu dapat mengubah karakteristik model clustering sehingga

dapat menyebabkan data yang telah dipindahkan tersebut lebih sesuai

berada di cluster yang awal sebelum data tersebut dipindahkan. Demikian

juga dengan keadaan sebaliknya, kejadian seperti ini akan mengakibatkan

pemodelan tidak akan berhenti dan kegagalan untuk converge akan terjadi.

Namun permasalahan tersebut kecil kemungkinan untuk terjadi pada Fuzzy

K-means, karena setiap data dilengkapi dengan membership untuk menjadi

anggota cluster yang ditemukan.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

28

Permasalahan pendekatan outliers merupakan permasalahan umum

yang hampir terjadi di setiap metode yang melakukan pemodelan terhadap

data, khususnya pemodelan untuk data metode K-means. Hal ini memang

menjadi permasalahan yang sangat krusial. Beberapa hal yang perlu

diperhatikan dalam melakukan pendekatan outliers dalam pengelompokan

data termasuk bagaimana cara menentukan apakah data item tersebut

merupakan outliers dari suatu cluster tertentu dan apakah data dalam

jumlah kecil yang membentuk suatu cluster sendiri dapat dianggap sebagai

outliers. Proses ini memerlukan suatu pendekatan khusus yang berbeda

dengan proses pendeteksian outliers di dalam suatu dataset yang hanya

terdiri dari satu populasi yang homogen.

Permasalahan pembentukan dari masing-masing cluster yang

ditentukan, tidak seperti metode data clustering lainnya termasuk mixture,

K-means, umumnya tidak mengindahkan bentuk dari masing-masing

cluster yang mendasari model yang terbentuk, walaupun secara alamiah

masing-masing dari cluster umumnya berbentuk bundar. Untuk dataset

yang diperkirakan mempunyai bentuk yang tidak biasa, beberapa

pendekatan perlu diterapkan.

Masalah overlapping adalah permasalahan yang sering diabaikan

karena umumnya masalah ini sulit untuk diketahui. Hal ini terjadi pada

metode Hard K-means dan Fuzzy K-means, karena secara teori metode ini

tidak dilengkapi fitur untuk mendeteksi apakah di dalam suatu cluster ada

cluster yang lain yang kemungkinan tersebunyi atau tidak terlihat.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

29

Maka dari beberapa permasalahan dapat diketahui bahwa K-means

merupakan metode pemodelan yang besifat tanpa arah. Karena

pengkategorian metode-metodenya pengklasifikasian data didasarkan pada

adanya dataset yang item awalnya mempunyai label kelas dan dataset yang

tidak mempunyai kelas. Jika data sudah memiliki label kelas maka akan

diklasifikasikan menggunakan label kelas yang sama tersebut dalam

melakukan pengklasifikasian Klusternya. Semetara data yang belum dapat

label kelas maka akan diklasifikasikan dengan menggunakan metode tanpa

arah klasifikasi.

Selain permasalahan pengelompokan data ke masing-masing

cluster, ada beberapa hal permasalahan kecil yang harus diperhatikan yaitu

bagaimana cara menentukan jumlah cluster yang tepat dan menempatkan

sejumlah data pada cluster yang tepat supaya lebih mudah untuk

dianalisis. Untuk metode K-means dalam menentukan jumlah cluster dari

dataset yang disediakan umumnya menggunakan dua metode saja, yaitu

metode tanpa arahan (unsupervised) dan metode supervised, atau bisa juga

ditentukan dari awal oleh user sendiri.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

30

2.2.3 K-Means untuk Data yang Mempunyai Bentuk Khusus

Beberapa dataset yang mempunyai bentuk yang khusus

memerlukan metode pemecahan masalah yang khusus pula. Untuk

keperluan seperti ini beberapa peneliti telah mengusulkan pengembangan

metode K-means yang secara khusus memanfaatkan kernel trik, di mana

data space untuk data awal di-mapping ke dalam feature space yang

berdimensi tinggi.

Pengembangan metode K-means dengan kernel trik ini adalah

bahwa data pada feature space tidak lagi dapat didefinisikan secara

explisit, sehingga perhitungan nilai membership function dan central tidak

lagi dapat dilakukan secara langsung. Beberapa cara yang diusulkan untuk

menurunkan nilai variable yang diperlukan tersebut adalah objective

function yang digunakan dalam menilai suatu proses pengelompokan

apakah sudah converge atau tidak.

2.3 Mean Shift

Mean shift adalah metode untuk menentukan nilai maksimum lokal

dari suatu probabilitas kepadatan yang diberikan. Dengan menggunakan

segmentasi mean shift, suatu citra akan memiliki warna-warna yang

homogen dalam suatu wilayah, metode mean shift digunakan untuk

menemukan kepadatan mode dari suatu gambar. Dapat dirumuskan seperti

persamaan 2.4 berikut :

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

31

{ } n

I = 1 C ------------------------------------ (2.4)

di mana nilai estimasi kepadatan mengarah pada nilai x

(x) =

---------------------------(2.5)

Dimana D merupakan dimensi dari data, untuk lebih sederhananya

kita dapat melihat rumus di bawah ini dengan asumsi kernel lebar adalah

sama. Maka kernel tujuan dapat dirumuskan seperti persamaan 2.6 berikut

:

(x) =

----------------------------- (2.6)

Maka jika mean shift vector diberikan maka dapat dirumuskan

seperti persamaan 2.7 berikut :

m(x) = ∑

– x -------------------------- (2.7)

Karena setiap titik yang bersatu dengan mode yang sama, akan

dijadikan sabagai satu cluster. Sehingga proses segmentasi clustering akan

selesai jika semua mode sudah bersama dalam satu cluster yang sama.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

32

Berikut adalah flowchart dari Means Shift

v yes

no

Gambar 2.2 Flowchart Algoritma Mean Shift

start

Menentukan

nilai „bw‟

Menentukan

Asumsi titik

pusat cluster

Kelompokkan objek

berdasarkan

banwidth minimum

Hitung jarak objek

Ke centre

Adakah objek

yang pindah?

end

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

33

Berikut adalah penjelasan dari flowchart diagram 2.2 pada algoritma K-

Means.

a) Program dijalankan,

b) Algoritma menerima jumlah „bw‟ jumlah bw pada penelitian ini

ditentukan langsung oleh peneliti,

c) Jumlah cluster akan di bentuk berdasarkan nilai bandwidth yang

dimasukkan, dimana jumalah bandwidth akan mempengaruhi

jumlah cluster yang di bentuk, jika jumalah bandwidth semakin

kecil maka jumlah cluster akan semakin besar

d) Setiap cluster yang sudah terbentuk akan dihitung nilai rata-

ratanya. Rata-rata dari suatu cluster adalah rata-rata dari semua

record yang terdapat di dalam cluster tersebut. Pengalokasian data

ke dalam cluster dilakukan berdasarkan bandwidth minimum,

dimana setiap anggota akan dihitung bandwitdth terkecil ke pusat

cluster

e) Ulangin langkah-langkah yang sebelumnya sampai terbentuk

cluster-cluster yang stabil dan prosedur k-means selesai. cluster

akan stabil terbentuk ketika iterasi dari K-means tidak membuat

cluster baru sebagai pusat cluster atau nilai rata-rata aritmatika dari

semua cluster baru sama dengan nilai rata-rata cluster lama,

f) Program selesai.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

34

2.4 Normalized Cut

Normalized cut adalah algoritma yang membagi beberapa cluster

berdasarkan satu elemen yang sama yang hanya didasarkan pada nilai-nilai

ukuran yang sama antara semua pasangan dan dari unsur-unsur yang sama

pula. Pedekatan yang dilakukan adalah dengan menggunakan metode

spectral hal ini didasarkan pada sifat-sifat vector eigen dari matriks yang

di hitung menggunakan persamaan antar setiap pasangan element.

Normalized cut membagi gambar dengan dua node yaitu node A

dan node B dengan cara menghapus titik tepi penghubung kedua node

tersebut. Tingkat ketidaksamaan antara kedua node dapat dirumuskan pada

persamaan 2.8.

Cut (A,B) = ∑ --------------------- (2.8)

Dimana u dan v adalah dua node dan w merupakan bobot masukan

pada segmentasi. Karena semua gambar yang bersifat seperti texture,

warna, dan gradient dapat digunakan untuk membangun suatu nilai

matriks, salah satu cara untuk mengurangi nilai pada gambar adalah

dengan algoritma minimum cut. Algoritma minimum cut adalah algoritma

yang memotong nilai yang lebih kecil dari dua node yang terpisah

sehingga nilai dari kedua node tersebut tidak rusak, sehingga kemungkinan

gagal untuk menentukan node sangat kecil.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

35

Unutk mendefenisikan Ncut dapat dirumuskan sebagai berikut

gambar 2.5:

Gambar 2.3 Pembagian node [4]

Dengan rumus sebagai berikut

Cut (A,B) = ∑ ------------------------(2.9)

Keeratan kedua hubungan pada kedua node yang terpisah dapat

dirumuskan seperti persamaan 2.10 berikut :

Ncut (A,B) =

=

+

= 2 –(

) +

= 2 - (A,B) ---------------------------------(2.10)

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

36

Dari rumus di atas dapat disimpulkan bahwa keeratan kedua

hubungan antara node sangat erat hal ini diketahui karena nilai yang di

potong antara kedua node sangat kecil, lebih lanjut dapat disederhanakan

dengan persamaan berikut ini :

Dari persamaan di atas disimpulkan meminimalkan bahwa,

pemisahan antara node dan memaksimalkan hubungan dalam satu node

dapat memberikan nilai yang lebih bagus pada tiap-tiap node. Di sini

dibutuhkan beberapa metode pendekatan untuk menyelesaikan pemberian

nilai secara umum. Berikut adalah langkah-langkah untuk menggunakan

nilai pada algoritma yang digunakan :

a) Langkah 1

Dalam sebuah gambar, yang pertama adalah membangun sebuah

graf dengan bobot. dapat dihitung dengan menggunakan rumus

beritikut :

w(i,j) =

-----------------(2.11)

Dimana || X(i) – X(j)||2 < r, jika w(I,j) = 0, dimana X(i) adalah

lokasi spesial pada simpul dalam node I, F(i) merupakan vector

gambar. Fitur vector adalah pemisahan gambar berdasakan

warna yang dimiliki oleh objek.

b) Langkah 2

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

37

Memecahkan sistem persamaan, di mana perumusan pada

langkah pertama akan diselesaikan pada tahap 2. Dapat

dirumuskan sebagai berikut :

( ----------------------------- (2.12)

Dengan memberikan nilai eigen vector y dan eigen λ

c) Langkah 3

Memberikan nilai eigen terkecil pada kedua node yang telah

dipisahkan untuk meminimalkan nilai normalized cut

d) Langkah 4

Memeriksa kembali node yang telah dipisahkan apakah node

masih harus dipartisi kembali atau tidak. Jika dipartisi kembali,

maka pengerjaan akan kembali pada langkah yang pertama,

tetapi jika tidak ada partisi lagi maka node sudah terbentuk.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

38

Dalam metode Ncut semua partisi harus benar-benar diperiksa supaya

lanjut ke tahap berikutnya, berikut adalah flowchart Normalizet Cut

Yes yes

no

Gambar 2.4 Flowchart Normalizet Cut

Berikut adalah penjelasan dari flowchart dari Normalizer Cut di atas :

a) Program mulai dijalankan.

b) Setelah program dijalankan maka program akan membuat matriks

berdasarkan kesamaan warna pada gambar, dari matriks yang

start

Cek kesamaan warna

Get Matrik W,D

Mendapatkan

Nilai eigen value (y)

Memisahkan

segment

2 bagian

Cek Threshold

end

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016

39

terbentuk maka setiap matriks akan memiliki bobot yang disebut „W‟

dan dari matriks yang sudah ada akan dihitung matriks diagonalnya

untuk mendapatkan nilai „D‟

c) Langkah berikutnya adalah mendapatkan nilai threshold, nilai ini

nantinya untuk memotong titik tengah dari pixel yang ada pada citra,

nilai threshold pada penelitian ini ditentukan langsung oleh peneliti.

d) Setelah pemisahan gambar berhasil dilakukan maka langkah

selanjutnya adalah mengecek kembali apakah masih ada nilai

threshold pada gambar. Jika masih ada nilai threshold maka proses

akan kembali ke langkah yang ke 2 tetapi jika nilai threshold sudah

tidak ada maka program akan berhenti dan akan menampilkan hasil

dari segmentasi gambar yang di proses.

e) Program selesai.

Analisis segmentasi..., Jhon Hendro Panjaitan, FTI UMN, 2016