implementasi support vector machine pada klasifikasi...
TRANSCRIPT
1
IMPLEMENTASI SUPPORT VECTOR MACHINE PADA KLASIFIKASI
PIKSEL UNTUK SEGMENTASI CITRA
Irawati Nurmala Sari1, Yudhi Purwananto
2, Rully Soelaiman
3
Teknik Informatika, Fakultas Teknologi Informasi, ITS
email : [email protected]
ABSTRAKSI
Segmentasi citra adalah suatu metode dari
pengolahan citra digital yang bertujuan untuk membagi
citra menjadi beberapa region yang homogen berdasarkan
kriteria kemiripan tertentu. Pada umumnya, suatu metode
segmentasi citra hanya menggunakan classifier yang linier
sehingga menghasilkan citra boundary yang kurang
optimal. Oleh karena itu, dibutuhkan suatu metode
segmentasi citra yang dapat memisahkan piksel secara
linier dan non-linear sehingga menghasilkan citra
boundary yang optimal dan dapat mengurangi noise
disekitar objek yang diamati.
Pada makalah ini, segmentasi citra yang diusulkan
menggunakan metode Local Homogeneity yang
digunakan untuk ekstraksi fitur warna, metode Gabor
Filter yang digunakan untuk ekstraksi fitur tekstur,
metode Fuzzy C-Means (FCM) yang digunakan untuk
clustering piksel, dan metode Support Vector Machine
(SVM) yang digunakan untuk klasifikasi piksel. Ekstraksi
dua fitur ini dapat meningkatkan akurasi dan performa
sistem menjadi lebih baik.
Dari hasil uji coba terhadap metode ini memiliki
tingkat akurasi hingga mencapai 98%.
Kata kunci : segmentasi citra, Local Homogeneity, Gabor
Filter, Fuzzy C-Means, Support Vector Machine.
1 PENDAHULUAN
Segmentasi citra adalah suatu metode dari
pengolahan citra digital yang bertujuan untuk membagi
citra menjadi beberapa region yang homogen berdasarkan
kriteria kemiripan tertentu. Segmentasi citra merupakan
masalah klasifikasi, yaitu bagaimana memprediksikan
suatu piksel termasuk edge atau non-edge. Terdapat syarat
utama yang harus dimiliki oleh metode segmentasi citra,
yaitu :
a. Memiliki tahap preprocessing yang tepat dan
efisien.
b. Robust terhadap terjadinya noise.
c. Terdapat suatu classifier yang menghasilkan
boundary citra yang optimal.
Pada umumnya, suatu metode segmentasi citra
hanya menggunakan classifier yang linier sehingga
menghasilkan boundary citra yang kurang optimal dan
masih mengandung noise. Noise yang terjadi pada hasil
segmentasi citra disebabkan karena adanya piksel yang
misclassification. Oleh karena itu, dibutuhkan suatu
metode segmentasi citra yang dapat memisahkan piksel
secara non-linear sehingga dapat menghasilkan boundary
citra yang optimal dan dapat mengurangi noise disekitar
objek yang diamati.
Pada makalah ini, segmentasi citra yang diusulkan
menggunakan metode Support Vector Machine (SVM).
SVM merupakan salah satu metode pada permasalahan
klasifikasi pola dan diperkenalkan oleh Vapnik pada
tahun 1995. Meskipun usia SVM relatif masih muda,
tetapi evaluasi kemampuan dalam berbagai aplikasi
menempatkannya sebagai state of the art dalam
pengenalan pola dan merupakan salah satu tema
penelitian yang berkembang pesat. Berbeda dengan
neural network yang hanya berusaha mencari hyperplane
terbaik pada input space. Prinsip dasar SVM adalah
classifier linier, dan selanjutnya dikembangkan agar dapat
bekerja pada permasalahan non-linear dengan
memasukkan konsep trik kernel pada ruang kerja
berdimensi tinggi (feature space).
Pada sistem ini menggunakan dua tahap
prepocessing sehingga dapat meningkatkan keakuratan
dan performa segmentasi citra. Dua tahap prepocessing
tersebut adalah ekstraksi fitur warna dengan
menggunakan metode Local Homogeneity dan ekstraksi
fitur tekstur dengan menggunakan metode gabor filter.
Selanjutnya, dilakukan proses clustering piksel
dengan menggunakan metode Fuzzy C-Means (FCM)
sehingga menghasilkan training set dan testing set yang
akan digunakan pada tahap selanjutnya, yaitu pada tahap
klasifikasi piksel dengan menggunakan metode SVM.
2 LOCAL HOMOGENEITY
Pada segmentasi citra dibutuhkan suatu proses
ekstraksi fitur sebagai tahap preprocessing. Salah satu
ekstraksi fitur yang digunakan adalah fitur warna dengan
menggunakan metode Local Homogeneity. Local
Homogeneity digunakan untuk mendapatkan informasi
warna yang sama dengan piksel tetangga secara lokal
sehingga dapat dikelompokkan sesuai dengan kriteria
yang sama. Perhitungan Local Homogeneity terdiri dari
dua komponen, yaitu standar deviasi dan discountinuity.
2.1 Standar Deviasi
Pada metode Local Homogeneity dibutuhkan
perhitungan standar deviasi pada setiap piksel citra.
Standar deviasi digunakan untuk mengukur luas
penyimpangan antara nilai piksel pada citra tersebut
2
dengan nilai rata-rata pada piksel tetangganya. Standar
deviasi dari komponen warna seperti CIELAB
dapat dirumuskan sebagai berikut ini :
2
1)/2-((d+i
1)/2-((d-i=m
1)/2-((d+j
1)/2-((d-j=n
)ij
( 2
d
1 =
kv
kk
mnP
ij
(1)
dimana :
a. M x N = ukuran citra
b. i,j = indeks piksel citra ; 0 ≤ i, m ≤ M–1 ; 0
≤ j, n ≤ N-1
c. d x d = ukuran local window
d. m,n = indeks piksel tetangga
e. Pijk(k = L,a,b) = piksel tetangga dengan indeks
m,n pada komponen CIELAB color space.
f. μijk(k = L,a,b) = nilai rata-rata piksel citra dengan
indeks i,j pada komponen CIELAB color space.
Nilai rata-rata piksel citra dengan indeks i,j pada
komponen warna CIELAB Pijk(k = L,a,b) dapat
dirumuskan sebagai berikut :
k
mnP
k
1)/2-((d+i
1)/2-((d-i=m
1)/2-((d+j
1)/2-((d-j=n
2
d
1 =
ij
(2)
2.2 Discountinuity
Discountinuity dari komponen warna seperti
CIELAB Pijk(k = L,a,b) digunakan untuk menentukan
nilai edge. Nilai edge pada sebuah citra dapat ditentukan
dengan menggunakan operator edge.
Operator edge yang sering digunakan adalah Canny
dan Sobel. Canny menghasilkan edge yang sangat detail
sehingga sulit untuk membedakan edge objek dengan
edge yang bukan objek dari citra tersebut. Sedangkan,
Sobel dapat dengan mudah dan lebih fokus untuk
mengetahui edge objek karena tidak menampilkan edge
yang lain seperti edge yang bukan objek. Oleh karena itu,
dibutuhkan operator edge yang sederhana sehingga
mempermudah sistem ini untuk mengetahui edge objek
dari suatu citra, yaitu dengan menggunakan operator
Sobel.
Operator Sobel digunakan untuk menghitung nilai
discountinuity dengan menggunakan nilai magnitude dari
gradien horisontal dan vertikal pada citra yang
dirumuskan pada persamaan berikut ini :
AxG *
101
202
101
(3)
AGy *
121
000
121
(4)
Pada persamaan diatas, variabel A merupakan citra
asli yang dikonvolusikan dengan filter gradien sehingga
menghasilkan Gx dan Gy. Gx dan Gy merupakan dua citra
dimana setiap pikselnya terdiri dari gradien horisontal dan
vertikal. Untuk menentukan magnitude dari gradien
horisontal dan vertikal pada citra dapat menggabungkan
nilai gradien horisontal pada persamaan (3) dan gradien
vertikal pada persamaan (4) seperti berikut ini :
2yG +2xG =G (5)
2.3 Perhitungan Hasil Ekstraksi Fitur Warna
Hasil dari standar deviasi dan discountinuity
dinormalisasikan agar memiliki rentang nilai yang sama
sehingga mencapai perhitungan yang konsisten seperti
rumus berikut ini :
k
maxG
k
ijG
=k
ijG ,
k
maxv
k
ijv
=k
ijv
(6)
dimana :
a. vmaxk = max {vij
k} , Gmax
k = max {Gij
k}.
b. 0 ≤ i ≤ M-1 , 0 ≤ j ≤ N-1.
c. k = (L,a,b), yaitu CIELAB color space.
Sehingga, dapat ditentukan hasil ekstraksi fitur warna
dengan menggunakan metode local homogeneity, yaitu :
kkk
ijH
kij
v.ij
G1ij
CF
),,(ij
CFb
ijH
a
ijH
L
ijH
k (7)
3 GABOR FILTER
Untuk menghasilkan segmentasi citra yang lebih
baik, tidak hanya menggunakan satu macam ekstraksi
fitur, yaitu fitur warna tetapi juga menggunakan ekstraksi
fitur tekstur dengan metode Gabor Filter agar
menghasilkan segmentasi citra yang lebih optimal. Gabor
Filter digunakan untuk menganalisis ciri tekstur dari suatu
citra berdasarkan parameter scale dan orientation yang
selanjutnya akan digunakan sebagai acuan untuk
mengenali dan menampilkan kembali suatu citra dengan
ciri tekstur yang hampir sama dengan citra aslinya [5].
3.1 Gabor Filter Dua Dimensi (2D)
Gabor filter 2D dapat dinyatakan sebagai ruang
sinusoida dari frekuensi, scale dan orientation yang
3
dimodulasikan dengan fungsi Gaussian 2D, sehingga
Gabor Filter 2D dengan frekuensi W dapat dirumuskan
sebagai berikut :
),(),(),( yxhyxfyxg (8)
dimana :
a. ),( yxf = fungsi Gaussian 2D (envelope).
b. ),( yxh = sinusoida kompleks (carrier).
Fungsi Gaussian 2D (envelope) dirumuskan sebagai
berikut :
22
2
1exp
2
1),(
y
y
x
x
yx
yxf
(9)
Sinusoida kompleks (carrier) dirumuskan sebagai berikut:
]2exp[),( jWxyxh (10)
Sehingga, Gabor Filter 2D dapat dinyatakan sebagai
berikut :
),(),(),( yxhyxfyxg
]2exp[
22
2
1exp
2
1jWx
y
y
x
x
yx
jWx
y
y
x
x
yx
2
22
2
1exp
2
1
(11)
dimana 1j dan W adalah frekuensi dari sinusoida
yang termodulasi. Dengan menerapkan persamaan Euler
yang ada pada domain frekuensi [3], yaitu :
sincos jj
e (12) (2.3.1-5)
Jadi, persamaan sinusoida kompleks dapat menjadi seperti
berikut ini :
WxjWxWxj
e sin2cos)(2
(13) (2.3.1-6)
Sehingga, persamaan Gabor Filter 2D menjadi :
),(),(),( yxhyxfyxg
]2exp[
22
2
1exp
2
1jWx
y
y
x
x
yx
]sin2[cos
22
2
1exp
2
1WxjWx
y
y
x
x
yx
...)cos(
22
2
1exp
2
1
Wx
y
y
x
x
yx
)sin(2
22
2
1exp
2
1Wxj
y
y
x
x
yx
...)cos(
22
2
1exp
2
1
Wx
y
y
x
x
yx
)sin(
22
2
1exp
1Wxj
y
y
x
x
yx
(14)
3.2 Komponen Real dan Imajiner
Mengingat bahwa 1j adalah bilangan imajiner,
maka bentuk persamaan diatas adalah bilangan kompleks
dengan bentuk z = a + bj. Oleh karena itu, koefisien pada
output Gabor Filter g(x,y) adalah bilangan kompleks.
Bilangan kompleks dengan bentuk z = a + bj.
memiliki komponen bilangan real (a) dan bilangan
imajiner (b) yang dapat dipisahkan. Komponen bilangan
real dinyatakan sebagai berikut :
)cos(
22
2
1exp
2
1)],(Re[ Wx
y
y
x
x
yx
yxg
(15)
Komponen bilangan imajiner dinyatakan sebagai berikut :
)sin(
22
2
1exp
1)],(Im[ Wx
y
y
x
x
yx
yxg
(16)
Sehingga, untuk mendapatkan Gabor Filter 2D adalah
)],(Im[)],(Re[),( yxgyxgyxg (17)
Untuk perhitungan ekstraksi fitur tekstur
menggunakan Gabor Filter beserta wavelet-nya yang
disebut dengan Gabor Wavelet. Tujuan Gabor Wavelet
adalah menganalisis frekuensi citra dengan cara proses
dilatasi dan rotasi dengan parameter scale dan orientation
yang berbeda, sehingga dapat memunculkan suatu
karakter atau ciri-ciri khusus pada citra yang telah
dikonvolusikan dengan Gabor Wavelet tersebut.
4
Dilatasi adalah proses mengubah ukuran
(memperbesar atau memperkecil) suatu bentuk tetapi
tidak mengubah bentuk dasarnya. Dilatasi ditentukan oleh
titik pusat dan parameter scale. Sedangkan, rotasi adalah
perputaran pada bidang geometri yang ditentukan oleh
titik pusat, besar sudut, dan arah sudut rotasi. Sudut rotasi
memiliki arah positif jika berlawanan arah dengan jarum
jam dan memiliki arah negatif jika searah dengan jarum
jam. Rumus Gabor Wavelet pada scale (m) dan
orientation (n) yang didapatkan dari hasil dilatasi dan
rotasi pada fungsi Gabor Filter dapat dinyatakan sebagai
berikut :
)','(),( yxgm
ayxmn
g
(18)
)sincos(' yxm
ax
(19)
)cossin(' yxm
ay
(20)
Gabor Wavelet pada komponen bilangan real, yaitu :
)]','(Re[)],(Re[ yxgm
ayxmn
g
(21)
Gabor Wavelet pada komponen bilangan imajiner, yaitu :
)]','(Im[)],(Im[ yxgm
ayxmn
g
(22)
dimana :
a. g(x’,y’) = fungsi Gabor Filter yang telah
dilakukan proses dilatasi dan rotasi sesuai
dengan scale (m) dan orientation (n) yang
ditentukan.
b. m
a
= faktor skala (a > 1), m dan n adalah
integer.
c. Nilai K
n , K adalah jumlah total rotasi.
3.3 Konvolusi Citra
Konvolusi pada citra dengan menggunakan Gabor
Wavelet merupakan operasi pengolahan citra yang
mengalikan sebuah citra dengan Gabor Wavelet. Pada
konsep konvolusi menggunakan operator (*) sebagai
tanda proses konvolusi antara input berupa citra )),(( yxI
dengan Gabor Wavelet )),(( yxmn
g . Hasil konvolusi citra
dengan Gabor Wavelet menggunakan operator (*), yaitu :
|)),((*)),((|),( yxmn
gyxIyxmn
W (23)
Agar operator (*) dapat diganti dengan operator perkalian
(x), maka )),(( yxI dan )),(( yxmn
g dimasukkan ke dalam
domain frekuensi dengan cara mentransformasikan
Fourier Transform dengan menggunakan )),(( yxI dan
)),(( yxmn
g sehingga menghasilkan rumus seperti berikut
[Gon03] :
|)),(ˆ()),(ˆ(|),( vumn
gxvuIvumn
W (24)
Karena output pada Gabor Filter merupakan
bilangan kompleks, maka output pada ),( yxmn
W juga
merupakan bilangan kompleks sehingga harus
diabsolutkan melalui operator magnitude untuk menjadi
bilangan nyata dan menggunakan persamaan seperti
berikut :
))},(()),({(2
Im))},(()),({(2
Re
),(
vumn
gxvuIvumn
gxvuI
yxmn
W
(25)
4 FUZZY C-MEANS (FCM)
Clustering piksel merupakan proses pengelompokan
piksel ke dalam beberapa cluster dimana piksel pada
suatu cluster memiliki tingkat kesamaan yang tinggi antar
piksel satu dengan lainnya, tetapi sangat berbeda dengan
piksel pada cluster yang lain. Pada hard clustering, setiap
piksel akan terbagi ke dalam satu cluster sehingga tidak
dimungkinkan adanya setiap piksel yang menjadi anggota
lebih dari satu cluster.
Gambar 1 Data piksel dapat dikelompokkan
berdasarkan nilai membership
Fuzzy C-Means yang diperkenalkan pertama kali
oleh Jim Bezdek pada tahun 1981, dimana setiap piksel
dimungkinkan menjadi anggota terhadap masing-masing
cluster berdasarkan dengan derajat keanggotaan
(membership) yang dimilikinya dengan rentang nilai
antara 0 hingga 1 dan jumlah dari semua nilai membership
setiap piksel terhadap semua cluster adalah 1. Fuzzy C-
Means adalah suatu teknik clustering data piksel dengan
keberadaan setiap piksel dalam suatu cluster ditentukan
oleh derajat keanggotaan (membership) yang maksimum
terhadap semua cluster. FCM merupakan algoritma
iteratif. Konsep dasar FCM yaitu menentukan pusat
cluster yang akan ditandai sebagai lokasi rata-rata pada
setiap cluster. Pada kondisi awal, pusat cluster masih
5
belum akurat. Setiap piksel memiliki nilai membership
untuk setiap cluster. Dengan cara memperbaiki pusat
cluster setiap cluster dan nilai membership setiap piksel
secara berulang, maka dapat dilihat bahwa pusat cluster
akan menuju ke lokasi yang tepat. Pada gambar 1
menunjukkan bahwa terdapat sebaran data piksel yang
ditentukan oleh nilai membership dan merupakan konsep
dasar dari metode FCM.
4.1 Algoritma Fuzzy C-Means
Berikut ini adalah algoritma clustering piksel dengan
menggunakan metode Fuzzy C-Means, yaitu :
1. Tentukan :
a. Matriks input Y yang berukuran m x n, dimana
m adalah jumlah piksel dan n adalah jumlah
atribut (kriteria).
b. Jumlah cluster yang akan dibentuk (C ≥ 2).
c. Pangkat pembobotan (m > 1).
d. Iterasi awal (t = 1).
e. Kriteria penghentian iterasi / convergence error
(ξ = nilai positif yang sangat kecil).
2. Membuat matriks partisi awal ))],([( jikU , yaitu
matriks yang berisi nilai membership setiap piksel
terhadap semua cluster secara random sesuai
dengan batasan.
3. Tentukan pusat cluster (vk) untuk setiap cluster
n
ij
mji
k
mji
k
n
ij
jif
kv
)),((
)),((),(
(26)
4. Hitung fungsi objektif pada iterasi ke–t, dengan
menggunakan persamaan :
n
ji
c
kji
kd
mji
kVUJ
, 1
2)),(()),((),( (27)
5. Memperbaiki nilai membership setiap piksel
terhadap semua cluster (memperbaiki matriks partisi
))],([( jikU )
c
k
m
kvjif
ivjif
jik
1
1
1
2| |),(| |
2| |),(| |
1),(
(28)
6. Cek kondisi berhenti,
a. Jika fungsi objektif menghasilkan nilai yang tidak
berubah lagi (konstan), yaitu ])1()([ tJtJ ,
maka iterasi akan berhenti.
b. Jika fungsi objektif menghasilkan nilai yang masih
berubah (continue), yaitu ])1()([ tJtJ , maka
ulangi langkah ke-3.
5 SUPPORT VECTOR MACHINE (SVM)
Teori yang mendasari Support Vector Machine
sudah berkembang sejak tahun 1960-an, tetapi baru
diperkenalkan oleh Vapnik, Boser dan Guyon pada tahun
1992 dan sejak itu SVM berkembang dengan pesat.
Support Vector Machine adalah suatu teknik relatif baru
yang digunakan untuk melakukan prediksi dalam kasus
klasifikasi yang dapat bekerja pada permasalahan data
yang dapat dipisahkan secara linier dan non-linear,
sehingga memiliki performa yang baik di berbagai bidang
aplikasi seperti bioinformatics, pengenalan pola,
klasifikasi teks dan lain sebagainya. Metode Support
Vector Machine yang akan digunakan pada sistem ini
berdasarkan perkembangan dari toolbox Steve R Gunn
[2].
5.1 SVM pada Linearly Separable Data
SVM termasuk dalam kelas supervised learning.
Supervised learning adalah metode yang memerlukan
training (melatih) dan testing (menguji). Metode SVM
berusaha mencari suatu fungsi pemisah (hyperplane) yang
memiliki generalisasi yang baik. Generalisasi adalah
kemampuan sebuah hipotesis untuk mengklasifikasikan
training set dengan benar. Hyperplane yang optimal
adalah hyperplane yang terletak di tengah-tengah antara
dua kelas. Mencari hyperplane yang optimal ekuivalen
dengan memaksimalkan margin atau jarak antara bidang
pembatas kedua kelas.
Gambar 2 Hyperplane yang optimal dengan margin
terbesar
Jika terdapat training set sebagai sampel pada
sebuah input space dengan label ke-i, yaitu {(xi,yi), i
1,...,N} dimana xi Є Rn
adalah anggota dari salah satu
kelas yang dilabeli dengan yiЄ{-1,1}, maka tujuan SVM
adalah mencari hyperplane optimal yang memisahkan
sekumpulan sampel sehingga seluruh sampel dengan label
yang sama berada pada bagian yang sama. Hal ini
ditunjukkan pada gambar 2, dimana data yang berupa
piksel-piksel dipisahkan oleh hyperplane yang optimal.
Hyperplane yang optimal ditunjukkan pada garis lurus
berwarna biru antara data piksel warna biru (kelas 1) dan
data piksel warna merah (kelas -1).
6
Adapun piksel yang berada pada bidang pembatas
dari kedua kelas tersebut disebut sebagai support vector
dan jarak antara bidang pembatas kedua kelas merupakan
margin. Pada contoh di atas, dua kelas dapat dipisahkan
oleh sepasang bidang pembatas yang sejajar. Bidang
pembatas pertama membatasi kelas pertama sedangkan
bidang pembatas kedua membatasi kelas kedua, sehingga
diperoleh persamaan pembatas, yaitu :
11. iybixw (29)
11. iybixw (30)
Nilai margin antara bidang pembatas kedua kelas,
dapat dicari dengan cara perhitungan jarak );,( xbwd dari
titik x terhadap hyperplane (w,b), yaitu :
||
|,|);,(
w
bixwxbwd
(31)
dengan batasan, yaitu :
libixwi
y ,...,1,1|,| (32)
dimana adalah piksel yang akan diproses. Karena
margin merupakan jarak antara bidang pembatas dari
kedua kelas, maka diperoleh persamaan margin seperti
berikut ini :
):,(1:
min):,(
1:
min),( ixbwd
iyixixbwdiyix
bw
||
|,|
1:
min
||
|,|
1:
min
w
bixw
iyixw
bixw
iyix
|,|
1:
min|,|
1:
min
| || |
1bixw
iyixbixw
iyixw
| || |
2
w
(33)
Memaksimalkan||||
2
w
sama dengan meminimumkan
||w||2. Oleh karena itu, hyperplane yang memisahkan data
piksel secara optimal dapat diperoleh dengan
meminimalkan persamaan berikut ini :
2| || |
2
1)min( ww (34)
dengan batasan yang sesuai dengan persamaan 30. Agar
lebih mudah untuk diselesaikan, persamaan 32 diubah ke
dalam persamaan Lagrangian dengan menggunakan
Lagrange Multiplier. Lagrange Multiplier digunakan
untuk menyelesaikan masalah optimasi dengan pembatas
(constrained optimization) menjadi masalah optimasi
tanpa pembatas (unconstrained optimization). Dengan
demikian, permasalahan optimasi dengan pembatas dapat
diubah menjadi :
l
i
bi
xwi
yi
wbwL
1
1|,|(2
| || |2
1),,(
(35)
dimana α adalah lagrange multiplier. Persamaan
lagrangian diatas harus diminimalkan terhadap w, b dan
dimaksimalkan terhadap α . Nilai minimum persamaan
lagrangian ),,( bwL terhadap w dan b , yaitu :
l
iixiyiw
w
L
10
(36)
l
iiyiw
b
L
100
(37)
Primal Lagrangian klasik memungkinkan untuk
diubah ke bentuk dual problem agar lebih mudah dalam
penyelesaiannya. Bentuk dual problem dari persamaan 35
seperti persamaan dibawah ini :
),,(
,
minmax)(
max
bwL
bwW (38)
Oleh karena itu, dari persamaan 35, 36, 37, dan 38
didapatkan persamaan dual seperti berikut ini:
l
k kjxixl
i
l
jjyiyjiW
1,
1 12
1max)(
max
(39)
Sehingga, terdapat solusi untuk persamaan 39, yaitu :
l
k kjxixl
i
l
jjyiyji
1,
1 12
1minarg
(40)
dengan batasan,
l
iiyi
lii
10
,...,1,0
(41)
Dengan demikian, dapat diperoleh nilai i yang akan
digunakan untuk menentukan nilai w. Nilai i terdapat
pada setiap piksel. Piksel yang memiliki nilai 0i
merupakan support vector. Sehingga, fungsi keputusan
yang dihasilkan hanya dipengaruhi oleh support vector.
Proses perhitungan nilai i dapat dilakukan dengan
menggunakan Quadratic Programming yang telah
disediakan dengan merumuskannya ke dalam Quadratic
Programming problem dan diselesaikan dengan library
7
yang banyak tersedia dalam analisa numerik. Sehingga,
fungsi klasifikasi pada masalah data piksel yang dapat
dipisahkan secara linier dirumuskan seperti berikut :
l
i
l
jbjxixiyijxf
1 1)( (42)
dimana xi adalah support vector dan xj adalah data piksel
yang akan diklasifikasikan.
5.2 SVM pada Non-Linearly Separable Data
Untuk mengklasifikasikan data piksel yang tidak
dapat dipisahkan secara linier, formula SVM harus
dimodifikasi karena tidak akan ada solusi yang ditemukan
jika tetap menggunakan formula SVM sebelumnya. Oleh
karena itu, bidang pembatas dari kedua kelas harus diubah
sehingga lebih fleksibel dengan menambahkan variabel ξ.
Sehingga, menghasilkan batasan baru yaitu :
libixwi
y ,...,1,1|,| (43)
Pencarian hyperplane optimal dengan penambahan
variabel sering disebut juga sebagai soft margin
hyperplane. Dengan demikian, formula pencarian
hyperplane dapat berubah menjadi :
n
ii
Cww
1
2| || |
2
1)min( (44)
dimana ξi ≥ 0 dan C adalah parameter yang menentukan
besar penalti akibat kesalahan pada proses klasifikasi data
piksel (misclassification) yang nilainya ditentukan oleh
pengguna.
Selanjutnya, bentuk permasalahan primal
sebelumnya pada persamaan 35 berubah menjadi :
),,( bwL
i
l
ji
l
ii
bi
xwi
yi
n
ii
Cw
11
1|,
1
2| || |
2
1
(45)
Pengubahan primal Lagrangian dari persamaan
diatas L(w,b,α) ke dalam dual problem menghasilkan
persamaan dual yang sama dengan persamaan 38. Dengan
demikian, dari persamaan dual tersebut dapat
menghasilkan solusi, yaitu :
l
k kjxixKl
i
l
jjyiyji
1,
1 12
1minarg
(46)
Sehingga, pencarian hyperplane optimal dilakukan
dengan cara yang hampir sama dengan kasus dimana data
piksel dapat dipisahkan secara linier, tetapi bedanya pada
rentang nilai αi adalah 0 ≤ αi ≤ C, dimana piksel yang
memiliki αi dengan syarat tersebut disebut support
vector.
Meminimumkan variabel
n
ii
C
1
ekuivalen
dengan meminimumkan error pada training set yang
ditunjukkan seperti gambar 3 dan 4 berikut ini :
Gambar 3 Perbedaan nilai parameter C
Gambar 4 Hard Margin SVM dan Soft Margin SVM
Metode lain untuk mengklasifikasikan data piksel
yang tidak dapat dipisahkan secara linier adalah dengan
mentransformasikan data piksel ke dalam dimensi ruang
fitur (feature space) sehingga dapat dipisahkan secara
linier pada feature space. Dengan menggunakan fungsi
transformasi )(i
xi
x ke dalam feature space, maka
persamaan w menjadi :
l
iixiyiw
1)( (47)
Fungsi klasifikasi pada masalah data piksel yang
dipisahkan secara non-linear dapat dirumuskan menjadi :
l
i
l
jbjxixiyijxf
1 1)()()( (48)
Feature space memiliki dimensi yang lebih tinggi
daripada input space. Hal ini mengakibatkan komputasi
8
pada feature space menjadi sangat besar karena ada
kemungkinan feature space dapat memiliki jumlah fitur
yang tidak terhingga. Untuk mengatasi masalah ini, pada
SVM digunakan ‘kernel trick’. Dari persamaan 44 dapat
dilihat terdapat dot product )).().(( jxix
Jika terdapat suatu fungsi kernel K
sehingga ))()((, jxixj
xi
xK , maka fungsi
transformasi )(k
x tidak perlu diketahui. Dengan
demikian, fungsi klasifikasi pada masalah data piksel
yang dipisahkan secara non-linear dapat dirumuskan
menjadi :
l
i
l
jb
jx
ixKiyijxf
1 1,)( (49)
Metode kernel yang digunakan untuk memetakan dari
input space ke feature space pada proses klasifikasi, yaitu
menggunakan metode kernel polynomial. Fungsi kernel
polynomial memiliki persamaan seperti berikut ini :
p
jx
ix
jx
ixK )1,(, (50)
6 METODOLOGI
Secara umum, implementasi SVM pada klasifikasi
piksel untuk segmentasi citra dapat dilihat pada Gambar 5
yang terdiri dari ekstraksi fitur warna dengan
menggunakan Local Homogeneity, ekstraksi fitur tekstur
dengan menggunakan metode Gabor Filter, proses
clustering piksel menggunakan metode Fuzzy C-Means,
dan klasifikasi piksel menggunakan metode Support
Vector Machine.
Pada gambar tersebut dapat dilihat bahwa proses
pertama adalah ekstraksi fitur warna dengan metode Local
Homogeneity dan ekstraksi fitur tekstur dengan metode
Gabor Filter pada citra berwarna dari database Berkeley
[3]. Kemudian, tahap kedua adalah proses clustering
piksel dengan menggunakan metode Fuzzy C-Means
sehingga menghasilkan training set dan testing set yang
akan digunakan pada tahap selanjutnya. Pada training set
terdapat dua jenis data piksel, yaitu data piksel yang
merupakan edge dan non-edge. Tahap ketiga adalah
mencari hyperplane (classifier) SVM yang optimal
dengan data input berupa training set yang telah
ditentukan edge dan non-edge dari proses sebelumnya.
Tahap keempat adalah memprediksikan testing set
termasuk ke dalam kelas edge atau non-edge dengan
menggunakan hyperplane optimal SVM yang dihasilkan
dari tahap ketiga. Tahap kelima adalah menggabungkan
training set dari proses FCM (tahap kedua) dengan testing
set dari proses SVM (tahap keempat) yang berupa data
piksel edge dan non-edge sehingga menghasilkan
segmentasi citra.
MULAI
Ekstraksi fitur
warna
(Local
Homogeneity)
Ekstraksi fitur
tekstur
(Gabor Filter)
Citra
berwarna
Clustering piksel
(FCM)
Training set Testing set
Mencari
hyperplane
optimal (SVM)
Klasifikasi piksel
(SVM)
Menggabungkan
training set dan
testing set
Hasil
segmentasi
citra
SELESAI
Hyperplane
optimal
Gambar 5 Diagram alir proses implementasi SVM
pada klasifikasi piksel untuk segmentasi citra.
7 UJI COBA DAN EVALUASI
7.1 Perbandingan Ukuran Local Window
Peningkatan ukuran local window dapat
mempengaruhi hasil citra boundary dan waktu komputasi
dari proses segmentasi citra terutama pada proses
ekstraksi fitur warna dengan menggunakan metode Local
Homogeneity. Semakin besar ukuran local window, maka
akan semakin memiliki waktu komputasi yang lebih cepat
tetapi memiliki hasil citra boundary yang terputus-putus.
Sedangkan, jika ukuran local window semakin kecil,
maka memiliki waktu komputasi yang lama tetapi
memiliki citra boundary yang terhubung dengan lebih
baik. Hal ini ditunjukkan pada gambar 6. Berikut ini
menunjukkan perbandingan akurasi dengan perhitungan
waktu komputasi pada setiap local window ukuran 3x3,
5x5, dan 7x7, yaitu :
Tabel 1 Perbandingan perhitungan waktu komputasi
pada setiap ukuran local window (bagian 1)
No. Nama Citra Ukuran
Local
Window
Waktu
Komputasi
(menit)
Akurasi
1. Burung.jpg
3x3 27 97.08%
2. 5x5 26 97.09%
9
Tabel 2 Perbandingan perhitungan waktu komputasi
pada setiap ukuran local window (bagian 2)
3. Burung.jpg 7x7 23 97.06%
4.
Elang.jpg
3x3 27 98.07%
5. 5x5 26 98.07%
6. 7x7 23 97.87%
7.
Bunga.jpg
3x3 27 93.24%
8. 5x5 26 93.24%
9. 7x7 23 93.04%
10.
Gereja.jpg
3x3 27 92.63%
11. 5x5 26 92.63%
12. 7x7 23 92.58%
13. Gereja
putih.jpg
3x3 27 93.28%
14. 5x5 26 93.28%
15. 7x7 23 93.22%
(a)
(c)
(b)
(d)
(e) (f)
Gambar 6 Perbandingan terhadap local window pada
citra gereja putih.jpg (a) dan (b) Citra dengan local
window ukuran 3x3, (c) dan (d) Citra dengan local
window ukuran 5x5, (e) dan (f) Citra dengan local
window ukuran 7x7.
7.2 Perbandingan Nilai Scale
Nilai scale dapat mempengaruhi hasil citra
boundary dari proses segmentasi citra terutama pada
proses ekstraksi fitur tekstur dengan menggunakan
metode Gabor Filter. Citra yang menggunakan nilai scale
(0.5, 1, 2) menghasilkan nilai akurasi paling tinggi
daripada perbandingan nilai scale (0, 0.5, 1) dan (3, 4, 5) .
Pada hasil citra yang diperoleh, citra yang menggunakan
nilai scale (0, 0.5, 1) dan (0.5, 1, 2) menghasilkan citra
boundary yang terputus-putus. Sedangkan, citra yang
menggunakan nilai scale (3, 4, 5) menghasilkan citra
boundary yang terhubung dengan lebih baik. Berikut ini
menunjukkan perbandingan akurasi yang dilakukan pada
scale dengan nilai (0,0.5,1), (0.5,1,2), (3,4,5), yaitu :
Tabel 3 Hasil akurasi pada perbandingan nilai scale
No. Nama
Citra
Scale Orien-
tation
(derajat)
Akurasi
1.
Elang.jpg
0,0.5,1 0,45,90,135 97.36%
2. 0.5,1,2 0,45,90,135 97.44%
3. 3,4,5 0,45,90,135 97.44%
4.
Gereja.jpg
0,0.5,1 0,45,90,135 92.07%
5. 0.5,1,2 0,45,90,135 92.1%
6. 3,4,5 0,45,90,135 92.09%
7.
Bunga.jpg
0,0.5,1 0,45,90,135 92.45%
8. 0.5,1,2 0,45,90,135 92.48%
9. 3,4,5 0,45,90,135 92.43%
10.
Burung.jpg
0,0.5,1 0,45,90,135 97.15%
11. 0.5,1,2 0,45,90,135 97.17%
12. 3,4,5 0,45,90,135 97.16%
13. Gereja
putih.jpg
0,0.5,1 0,45,90,135 93.14%
14. 0.5,1,2 0,45,90,135 93.16%
15. 3,4,5 0,45,90,135 93.15%
(a)
(c)
(e)
(b)
(d)
(f)
Gambar 7 Perbandingan terhadap nilai scale pada
citra gereja.jpg (a) dan (b) Citra dengan scale 0, 0.5, 1,
(c) dan (d) Citra dengan scale 0.5, 1, 2, (e) dan (f) Citra
dengan scale 3, 4, 5.
10
Sehingga, dapat ditarik kesimpulan bahwa nilai
akurasi yang tinggi tidak menjamin suatu citra
menghasilkan citra boundary yang terhubung dengan
lebih baik. Semakin kecil nilai scale, maka akan semakin
menghasilkan citra boundary yang terputus-putus, namun
apabila nilai scale telah mencapai nilai optimal maka akan
menghasilkan boundary yang terhubung dengan lebih
baik.
7.3 Perbandingan Nilai Orientation
Dari percobaan yang ditunjukkan pada tabel 4
melakukan perbandingan nilai orientation, yaitu (0, 15,
20, 30), (0, 45, 90, 135), dan (90, 120, 180, 270)
membuktikan bahwa nilai orientation dapat
mempengaruhi hasil citra boundary dari proses
segmentasi citra terutama pada proses ekstraksi fitur
tekstur dengan menggunakan metode Gabor Filter.
(a) (b)
(c) (d)
(e) (f)
Gambar 8 Perbandingan terhadap nilai orientation
pada citra gereja.jpg (a) dan (b) Citra dengan
orientation0,15,20,30, (c) dan (d) Citra dengan
orientation 0, 45, 90, 135, (e) dan (f) Citra dengan
orientation 90, 120, 180, 270.
Hasil dari uji coba dengan 3 perbandingan nilai
orientation yang sesuai dengan tabel diatas, yaitu pada
citra yang menggunakan nilai orientation (90, 120, 180,
270) menghasilkan nilai akurasi yang paling tinggi
daripada perbandingan nilai orientation (0, 15, 20, 30)
dan (0, 45, 90, 135). Pada hasil citra yang diperoleh, citra
yang menggunakan nilai orientation (0, 15, 20, 30) dan
(90, 120, 180, 270) menghasilkan citra boundary yang
terputus-putus. Sedangkan, citra yang menggunakan nilai
orientation (0, 45, 90, 135) menghasilkan citra boundary
yang terhubung dengan lebih baik seperti yang
ditunjukkan pada gambar 8. Sehingga, dapat ditarik
kesimpulan bahwa nilai akurasi yang tinggi tidak
menjamin suatu citra menghasilkan citra boundary yang
sempurna namun, apabila nilai orientation telah mencapai
nilai optimal maka akan menghasilkan citra boundary
yang terhubung dengan lebih baik.
Tabel 4 Hasil akurasi pada perbandingan nilai
orientation
No. Nama
Citra
Scale Orient-
ation
(derajat)
Akurasi
1.
Elang.jpg
0.5,1,2 0,15,20,30 97.40%
2. 0.5,1,2 0,45,90,135 97.44%
3. 0.5,1,2 90,120,180,270 97.48%
4.
Gereja.jpg
0.5,1,2 0,15,20,30 92.11%
5. 0.5,1,2 0,45,90,135 92.62%
6. 0.5,1,2 90,120,180,270 92.65%
7.
Bunga.jpg
0.5,1,2 0,15,20,30 92.48%
8. 0.5,1,2 0,45,90,135 92.48%
9. 0.5,1,2 90,120,180,270 92.49%
10.
Burung.jpg
0.5,1,2 0,15,20,30 97.19%
11. 0.5,1,2 0,45,90,135 97.17%
12. 0.5,1,2 90,120,180,270 97.19%
13. Gereja
putih.jpg
0.5,1,2 0,15,20,30 93.16%
14. 0.5,1,2 0,45,90,135 93.16%
15. 0.5,1,2 90,120,180,270 93.24%
7.4 Perbandingan Jumlah Scale .
Jumlah scale dapat mempengaruhi hasil citra
boundary dari proses segmentasi citra terutama pada
proses ekstraksi fitur tekstur dengan menggunakan
metode GaborFilter. Citra yang menggunakan jumlah
scale 6 menghasilkan nilai akurasi paling tinggi daripada
perbandingan jumlah scale 1 dan 3. Pada hasil citra yang
diperoleh, citra yang menggunakan jumlah scale 1 dan 6
menghasilkan citra boundary yang terputus-putus.
Sedangkan, citra yang menggunakan jumlah scale 3
menghasilkan citra boundary yang terhubung dengan
lebih baik seperti yang ditunjukkan pada gambar 9.
Tabel 5 Hasil akurasi pada perbandingan jumlah scale
(bagian 1)
No. Nama
Citra
Jumlah
Scale
Akurasi
1.
Burung.jpg
1 97.06%
2. 3 97.06%
3. 6 97.09%
11
Tabel 6 Hasil akurasi pada perbandingan jumlah scale
(bagian 2)
4. Gereja putih.jpg
1 93.26%
5. 3 93.27%
6. 6 93.27%
7.
Bunga.jpg
1 93.08%
8. 3 93.09%
9. 6 93.10%
10.
Gereja.jpg
1 92.08%
11. 3 92.09%
12. 6 92.09%
13.
Elang.jpg
1 98.03%
14. 3 98.03%
15. 6 98.04%
(a) (b)
(c) (d)
(e) (f)
Gambar 9 Perbandingan terhadap jumlah scale pada
citra burung.jpg dengan ukuran 289 x 193 (a) dan (b)
Citra dengan jumlah scale 1, (c) dan (d) Citra dengan
jumlah scale 3 (e) dan (f) Citra dengan jumlah scale 6.
Sehingga, dapat ditarik kesimpulan bahwa
semakin besar jumlah scale yang digunakan oleh sebuah
citra, maka semakin menghasilkan nilai akurasi yang
lebih baik namun, hal itu tidak menjamin suatu citra dapat
menghasilkan citra boundary yang sempurna. Apabila
jumlah scale telah mencapai nilai optimal maka akan
menghasilkan citra boundary yang terhubung dengan
lebih baik.
7.5 Perbandingan Jumlah Orientation
Citra yang menggunakan jumlah orientation 6
menghasilkan nilai akurasi paling tinggi daripada
perbandingan jumlah orientation 2 dan 4. Sedangkan,
citra yang menggunakan jumlah orientation 4
menghasilkan citra boundary yang terhubung dengan
lebih baik. Sehingga, dapat ditarik kesimpulan bahwa
semakin besar jumlah orientation yang digunakan oleh
sebuah citra, maka semakin menghasilkan nilai akurasi
yang lebih baik namun, hal ini tidak menjamin suatu citra
dapat menghasilkan citra boundary yang sempurna.
Apabila jumlah orientation telah mencapai nilai optimal
maka akan menghasilkan citra boundary yang terhubung
dengan lebih baik.
(a) (b)
(c) (d)
(e) (f)
Gambar 10 Perbandingan terhadap jumlah orientation
pada citra elang.jpg (a) dan (b) Citra dengan jumlah
orientation 2, c) dan (d) Citra dengan jumlah
orientation 4, (e) dan (f) Citra dengan jumlah
orientation 6
12
Tabel 7 Hasil akurasi pada perbandingan jumlah
orientation
No. Nama
Citra
Jumlah
Orienta-
tion
Akurasi
1.
Elang.jpg
2 98.23%
2. 4 98.14%
3. 6 98.23%
4.
Burung.jpg
2 97.24%
5. 4 97.25%
6. 6 97.25%
7.
Bunga.jpg
2 92.30%
8. 4 93.27%
9. 6 93.29%
10.
Gereja.jpg
2 92.08%
11. 4 92.71%
12. 6 92.72%
13.
Gereja putih.jpg
2 93.27%
14. 4 93.27%
15. 6 93.4%
7.6 Perbandingan Jumlah Cluster
Jumlah cluster dapat mempengaruhi hasil citra
boundary dan waktu komputasi dari proses segmentasi
citra terutama pada proses clustering piksel dengan
menggunakan metode FCM. Hal ini ditunjukkan pada
hasil dari tabel diatas dengan 3 perbandingan jumlah
cluster, yaitu pada citra yang menggunakan jumlah
cluster 3 menghasilkan waktu komputasi selama 25 menit
dengan nilai akurasi yang paling baik daripada jumlah
cluster 4 dan 6. Selain itu, dengan jumlah cluster 3 juga
memperoleh hasil citra boundary yang tidak terputus-
putus dan lebih optimal dari perbandingan jumlah cluster
yang lain.
Tabel 8 Perbandingan waktu komputasi pada setiap
jumlah cluster
No. Nama Citra Jumlah
Cluster
Waktu
Komputasi
(menit)
Akurasi
1.
Burung.jpg
3 25 97.07%
2. 4 30 97.06%
3. 6 60 96.95%
4.
Elang.jpg
3 25 93.45%
5. 4 30 93.37%
6. 6 60 93.14%
7.
Bunga.jpg
3 25 92.16%
8. 4 30 92.03%
9. 6 60 92.01%
10.
Gereja.jpg
3 25 92.36%
11. 4 30 91.89%
12. 6 60 92.22%
13. Gereja
putih.jpg
3 25 97.25%
14. 4 30 82.57%
15. 6 60 97.15%
(a) (b)
(c) (d)
(e) (f)
Gambar 11 Perbandingan terhadap jumlah cluster
pada citra burung.jpg (a) dan (b) Citra dengan jumlah
cluster 3, (c) dan (d) Citra dengan jumlah cluster 4, (e)
dan (f) Citra dengan jumlah cluster 6
Sehingga, dapat ditarik kesimpulan bahwa semakin
besar jumlah cluster yang digunakan oleh sebuah citra,
maka semakin menghasilkan nilai akurasi yang lebih
rendah dan boundary yang terputus-putus. Selain itu, juga
memiliki waktu yang komputasi yang lebih lama. Namun,
hal ini tidak dapat digeneralisasikan untuk semua citra
warna lainnya karena setiap citra memiliki warna yang
berbeda. Apabila jumlah cluster telah mencapai nilai
optimal maka akan menghasilkan citra boundary yang
terhubung dengan lebih baik.
7.7 Perbandingan Derajat Polinom
Citra yang menggunakan derajat polinom 4
menghasilkan nilai akurasi paling tinggi daripada
perbandingan derajat polinom 1 dan 3.
13
Tabel 9 Hasil waktu komputasi pada perbandingan
derajat polinom
No. Nama
Citra
Dera-
jat
Polino
m
Waktu
Kompu-
tasi
(menit)
Akurasi
1.
Burung.jpg
1 20 97.26%
2. 3 25 97.27%
3. 4 120 97.28%
4. Elang.jpg
1 20 98.14%
5. 3 25 98.14%
6. 4 120 98.15%
7. Gereja
putih.jpg
1 20 93.23%
8. 3 25 93.27%
9. 4 120 93.28%
10.
Bunga.jpg
1 20 93.24%
11. 3 25 93.28%
12. 4 120 93.29%
13.
Gereja.jpg
1 20 92.17%
14. 3 25 92.17%
15. 4 120 92.18%
(a) (b)
(c) (d)
(e) (f)
Gambar 12 Perbandingan terhadap derajat polinom
pada citra elang.jpg (a) dan (b) Citra dengan derajat
polinom 1, (c) dan (d) Citra dengan derajat polinom 3,
(e) dan (f) Citra dengan derajat polinom 4
Sehingga, dapat ditarik kesimpulan bahwa semakin
besar derajat polinom yang digunakan oleh sebuah citra,
maka semakin menghasilkan nilai akurasi yang lebih
tinggi dan citra boundary yang terhubung dengan lebih
baik. Namun, dengan menggunakan derajat polinom yang
besar memiliki kelemahan, yaitu waktu komputasi yang
lebih lama dari pada derajat polinom yang bernilai lebih
kecil.
7.8 Perbandingan Toleransi Parameter C
Toleransi parameter C tidak dapat mempengaruhi
hasil citra boundary tetapi hanya mempengaruhi waktu
komputasi dari proses segmentasi citra. Hal ini
dikarenakan pada uji coba yang ditunjukkan oleh tabel 10
melakukan perbandingan paramater C yang membuktikan
bahwa toleransi parameter C tidak mempengaruhi hasil
citra boundary tetapi hanya mempengaruhi waktu
komputasi dari proses segmentasi citra. Hal ini
dikarenakan pada uji coba ini menghasilkan hasil citra
boundary yang sama dan memiliki perhitungan waktu
komputasi yang berbeda-beda. Hasil perbedaan waktu
komputasi dapat dilihat pada citra dengan menggunakan
toleransi parameter 1000 memiliki waktu komputasi 2 kali
lipat lebih besar dari perbandingan toleransi parameter 1e-
9 sedangkan pada toleransi parameter 1e-999 memiliki
waktu komputasi yang lebih cepat daripada toleransi
parameter 1e-9 sehingga dapat ditarik kesimpulan bahwa
semakin besar toleransi parameter C yang digunakan oleh
sebuah citra, maka semakin menghasilkan waktu
komputasi yang lama dan tidak mempengaruhi hasil citra
boundary. Hal ini dapat dibuktikan pada hasil citra pada
gambar 13 yang diperoleh dari hasil uji coba ini.
Tabel 10 Hasil waktu komputasi pada perbandingan
toleransi parameter C
No. Nama
Citra
Para-
meter
C
Waktu
Komputasi
(menit)
Akurasi
1.
Gereja.jpg
1000 58 92.17%
2. 1e-9 23 92.17%
3. 1e-999 22 92.17%
4.
Burung.jpg
1000 58 97.27%
5. 1e-9 23 97.27%
6. 1e-999 22 97.27%
7.
Bunga.jpg
1000 58 93.28%
8. 1e-9 23 93.28%
9. 1e-999 22 93.28%
10. Gereja
putih.jpg
1000 58 93.27%
11. 1e-9 23 93.27%
12. 1e-999 22 93.27%
13.
Elang.jpg
1000 58 98.14%
14. 1e-9 23 98.14%
15. 1e-999 22 98.14%
14
(a) (b)
(c) (d)
(e) (f)
Gambar 13 Perbandingan terhadap toleransi
parameter C pada citra elang.jpg (a) dan (b) Citra
toleransi parameter C bernilai 1000, (c) dan (d) Citra
dengan toleransi parameter C bernilai 1e-9, (e) dan (f)
Citra dengan toleransi parameter C 1e-999
7.9 Perbandingan Threshold Training Set dan
Testing Set
Threshold training set dan testing set dapat
mempengaruhi hasil segmentasi citra untuk menentukan
citra boundary yang optimal. Hal ini dikarenakan nilai
threshold training set dan threshold testing set sangat
berpengaruh untuk menentukan suatu piksel termasuk
edge atau bukan edge. Hasil citra dari uji coba threshold
training set dan threshold testing set yang sesuai dengan
tabel diatas memiliki bermacam-macam nilai akurasi.
Nilai akurasi yang tinggi tidak menjamin suatu citra
menghasilkan citra boundary yang terhubung yang
sempurna. Setiap citra memiliki nilai threshold training
set dan threshold testing set yang berbeda untuk
menghasilkan citra boundary yang optimal.
(a) (b)
(c) (d)
(e) (f)
Gambar 14 Perbandingan terhadap Threshold training
set dan testing set pada citra bunga.jpg (a) dan (b)
Threshold training set = 0.9 dan testing set = 0.6, (c)
dan (d) Threshold training set = 0.9 dan testing set
= -0.7, (e) dan (f) Threshold training set = 0.8 dan
testing set = 0.9
Tabel 11 Hasil akurasi pada perbandingan threshold
training set dan threshold testing set
8 KESIMPULAN
Kesimpulan yang diperoleh berdasarkan uji coba
dan evaluasi yang telah dilakukan adalah sebagai berikut :
No. Nama
Citra
Threshold
Training
set
Threshold
Testing set
Akurasi
1.
Gereja.jpg
0.9 -0.7 91.86%
2. 0.9 0.6 92.08%
3. 0.8 0.1 92.13%
4.
Burung.jpg
0.9 -0.7 97.13%
5. 0.9 0.6 97.18%
6. 0.8 0.1 97.12%
7.
Bunga.jpg
0.9 -0.7 92.16%
8. 0.9 0.6 93.48%
9. 0.8 0.1 93.17%
10. Gereja
putih.jpg
0.9 -0.7 93.45%
11. 0.9 0.6 93.48%
12. 0.8 0.1 93.27%
13.
Elang.jpg
0.9 -0.7 93.18%
14. 0.9 0.6 98.13%
15. 0.8 0.1 98.10%
15
1. Segmentasi dengan metode Support Vector
Machine dapat melakukan seluruh proses
segmentasi citra secara otomatis. Hal ini
dibuktikan dengan tidak dibutuhkannya
keterlibatan pengguna selama proses segmentasi. 2. Untuk membedakan suatu piksel termasuk edge
dan non-edge ditentukan oleh parameter
threshold training set dan threshold testing set.
Setiap citra memiliki nilai threshold training set
dan threshold testing set yang berbeda untuk
menghasilkan citra boundary yang optimal. 3. Ekstraksi fitur warna dengan menggunakan
metode Local Homogeneity dipengaruhi oleh
parameter ukuran local window dalam
menentukan citra boundary yang sempurna.
Selain itu, ukuran local window juga
mempengaruhi waktu komputasi pada proses
segmentasi citra. Semakin besar ukuran local
window, maka akan semakin memiliki waktu
komputasi yang lebih cepat tetapi memiliki hasil
citra boundary yang terputus-putus. Sedangkan,
jika ukuran local window semakin kecil, maka
memiliki waktu komputasi yang lama tetapi
memiliki citra boundary yang terhubung dengan
lebih baik.
4. Ekstraksi fitur tekstur dengan menggunakan
metode Gabor Filter dipengaruhi oleh parameter
nilai scale, nilai orientation, jumlah scale dan
jumlah orientation dalam menentukan citra
boundary yang sempurna. Parameter tersebut
dapat dinaikkan apabila belum mencapai nilai
optimal. Apabila sudah optimal, maka akan
menghasilkan citra boundary yang terhubung
dengan baik.
5. Proses clustering piksel dengan menggunakan
metode Fuzzy C-Means dipengaruhi oleh jumlah
cluster dalam menentukan citra boundary yang
sempurna. Selain itu, jumlah cluster juga
mempengaruhi waktu komputasi pada proses
segmentasi citra. Jika hasil citra boundary yang
diperoleh masih kurang sesuai, maka perlu
dilakukan penambahan jumlah cluster.
Sedangkan, jika jumlah cluster berlebih atau
besar, maka hasilnya akan mengikuti hasil
segmentasi dengan jumlah cluster yang hasilnya
paling baik.
6. Proses training SVM dipengaruhi oleh parameter
derajat polinom dalam menentukan citra
boundary yang sempurna. Selain itu, derajat
polinom juga mempengaruhi waktu komputasi
pada proses segmentasi citra. Parameter derajat
polinom dibutuhkan pada proses pemetaan
training set dari input space ke feature space
dengan menggunakan kernel polynomial. Jika
hasil citra boundary yang diperoleh masih
kurang sesuai, maka perlu dilakukan
penambahan derajat polinom. Jika jumlah derajat
polinom berlebih atau besar, maka hasilnya akan
mengikuti hasil segmentasi dengan derajat
polinom yang hasilnya paling baik. Selain itu,
pada proses ini juga dipengaruhi oleh parameter
toleransi C yang digunakan untuk menentukan
besar penalti akibat kesalahan dalam klasifikasi
piksel (misclassification). Parameter toleransi C
hanya mempengaruhi waktu komputasi dari
proses segmentasi citra. Semakin besar
parameter toleransi C, maka akan semakin
membutuhkan waktu komputasi yang lama.
7. Tidak dapat dipastikan bahwa semakin besar
hasil akurasi dari parameter-parameter yang telah
diujicobakan, maka semakin baik pula hasil citra
boundary. Karena nilai akurasi juga dipengaruhi
oleh error dari segmentasi citra yang dihasilkan.
Untuk mendapatkan hasil yang akurat, pengguna
dapat melakukan beberapa uji coba dengan
variasi parameter yang berbeda-beda. Sehingga
didapatkan citra segmentasi yang bagus secara
visual. Nilai akurasi digunakan untuk
memastikan apakah citra segmentasi yang
dihasilkan sudah sesuai dengan ground truth
yang ada atau tidak.
8. Dari hasil uji coba terhadap metode ini memiliki
tingkat akurasi hingga mencapai 98%.
REFERENSI
[1] Wang, X.Y., Wang,T., Bu, J., Color Image
Segmentation Using Pixel-Wise Support Vector
Machine Classification, 2011..
[2] Gunn, R.S, Support Vector Machine for
Classification and Regression, 1998.
[3] Gonzalez R.C., Woods R.E, Digital Image
Processing, Third Edition, Prentice Hall, 2008.
[4] Cristianini, Nello dan John S. Taylor. 2000. “An
Introduction to Support Vector Machines and Other
Kernel-based learning Methods,” Cambridge
University Press.
[5] Dunn, D. and Higgins, W.E., Optimal Gabor Filter
for Texture Segmentation, IEEE Transactions on
Image Processing, Vol. 10, No. 7, July 1995.