bab 3 prosedur dan metodologi 3.1 permasalahanthesis.binus.ac.id/doc/bab3/2011-1-00327-if 3.pdf ·...
TRANSCRIPT
53
BAB 3
PROSEDUR DAN METODOLOGI
3.1 Permasalahan
CBIR ( Content Based Image Retrieval) akhir-akhir ini merupakan salah satu
bidang riset yang sedang berkembang pesat (Carneiro, 2005, p1). CBIR ini
menawarkan pencarian citra dengan menggunakan fitur low level yang terdapat
pada sebuah citra. Menurut Liu et al.(2008, p1), ada dua kelemahan utama yang
didapat ketika menggunakan sistem CBIR. Yang pertama dalam penggunaan
informasi yang bersifat low level untuk ekstraksi fitur, indexing, dan kueri dalam
sistem CBIR. Masalah terjadi ketika pengguna melakukan kueri dalam sistem
pencarian. Akan terjadi kesenjangan semantik pada saat pencarian dilakukan,
dimana pengguna akan melakukan pencarian dalam bentuk kata-kunci (fitur high
level) dan dibandingkan dengan fitur low level hasil proses dari sebuah citra.
Kesenjangan semantik adalah perbedaan intepretasi sebuah citra dari sudut pandang
pengguna (bersifat high level) dengan sudut pandang sistem (bersifat low level,
karena diperoleh langsung dari citra yang bersangkutan) dimana hasil pemrosesan
merupakan hasil pengolahan citra piksel demi piksel. Sehingga hasil pencarian
kurang mewakili maksud dari pengguna. Yang kedua ada pada teknik pencarian
yang dilakukan, CBIR pada umumnya menggunakan sistem kueri-dengan-contoh
dimana pengguna perlu memasukkan parameter-parameter yang dibutuhkan sistem
untuk melakukan proses pencarian (biasanya berupa citra yang mirip dengan citra
yang dikehendaki). Bandingkan dengan sistem kueri-dengan-kata-kunci, dimana
54
pengguna hanya perlu memasukkan kata-kunci yang diharapkan muncul sebagai
konten di dalam citra yang dikehendaki. Dari sisi kemudahan, kueri-dengan-kata-
kunci menawarkan cara yang lebih alami untuk melakukan pencarian dibandingkan
kueri-dengan-contoh yang membutuhkan citra lain sebagai bahan pembandin g
untuk pencarian. Dari sisi kecepatan, kueri-dengan-kata-kunci hanya membutuhkan
pengguna memasukkan kata-kunci yang diharapkan muncul sebagai konten dari
citra yang dinginkan, sedangkan kueri-dengan-contoh membutuhkan pengguna
memasukkan citra pembanding untuk melakukan pencarian, tentu saja hal ini
menyulitkan karena tidak setiap saat pengguna selalu memiliki citra untuk
melakukan pencarian sesuai yang dinginkan. (Zhang, 2003, p4) menyatakan dari
karya ilmiah akhir-akhir ini ada perubahan kecenderungan sistem dari kueri-
dengan-contoh menjadi kueri-dengan-kata-kunci.
Teknik lainnya yang pernah diajukan dalam pencarian citra adalah pencarian
citra berdasarkan anotasi. Citra-citra tersebut akan di tag dengan keyword / kata
kunci secara manual oleh manusia berdasarkan pada pengertian manusia terhadap
konten yang ada pada citra. Memang dengan teknik ini akan membantu
meningkatkan akurasi pencarian citra. Namun melakukan tag atau memberi kata
kunci pada citra membutuhkan waktu yang panjang dan membutuhkan campur
tangan manusia untuk melakukannya. Teknik tersebut lebih dikenal dengan nama
Manual Image Annotation ( Zhang, 2003, p9).
Penelitian kembali dilanjutkan dan menghasilkan teknik pencarian citra
dengan mengesktrak fitur yang ada pada citra. Pengembangan teknik ini dilakukan
secara semi automatic. Dengan teknik ini, pengguna dapat mencari citra dengan
55
mudah, dimana sistem pencari citra tersebut akan menampilkan citra dengan fitur
yang telah dilatih sebelumnya ke sistem sehingga menghasilkan tag yang secara
otomatis telah ada. Selain itu, jika terdapat kesalahan tagging, sistem akan meminta
feedback dari pengguna untuk mengoreksi tag yang telah ada. Teknik seperti ini
akan meningkatkan efisiensi waktu menjadi lebih baik dibanding teknik
sebelumnya, namun tetap membutuhkan peran pengguna dan menghabiskan waktu
yang lama. Sistem tag pun akan menjadi rentan terhadap perubahan dan kebenaran
tagging diragukan karena pengguna diberi hak untuk mengubah tag yang telah ada
sebelumnya. Teknik tersebut dikenal sebagai teknik Semi-Automatic Image
Annotation (Varytimidis, 2008, pp1-8). Teknik tersebut memerlukan fitur yang
tepat untuk mendeskripsikan citra yang ada. Fitur-fitur yang dapat digunakan dapat
berupa warna, citra, dan tekstur. Untuk memperoleh informasi data fitur yang lebih
lengkap tentu dibutuhkan fitur fitur yang tepat yang semuanya digabungkan.
Namun masalah kembali muncul jika fitur citra yang diambil terlalu besar sehingga
memperlambat proses pencarian citra. Oleh karena itu, perlu adanya reduks i
dimensi fitur guna mempercepat proses pencarian citra.
Teknik anotasi citra otomatis akan membantu proses pencarian citra menjadi
lebih cepat karena teknik ini tidak memerlukan keterlibatan pengguna dalam tag
citra. Sehingga fitur akan diekstraksi secara otomatis, yang kemudian dilatih ke
dalam sistem. Tentu dibutuhkan fitur yang tepat guna mendeskripsi informasi pada
citra, yaitu salah satunya fitur warna. Fitur warna dapat direpresentasikan dalam
histogram warna. Keuntungan dari fitur ini adalah dapat diaplikasikan pada semua
citra berwarna. Untuk otomatisasi, digunakan machine learning salah satunya
56
dengan SVM (Support Vector Machine). SVM ini yang nantinya akan dilatih agar
menghasilkan klasifikasi objek-objek di dalam citra kedalam label-label tertentu.
Hasil klasifikasi akan disimpan kedalam metadata untuk sebuah citra. Ketika proses
pencarian dilakukan, maka sistem akan mecari kedalam metadata untuk
menemukan kata yang dimaksud, jika ditemukan maka sistem akan menampilkan
citra yang memiliki metadata tersebut.
57
3.2 Metodologi
Gambar 3.1 Metodologi Sistem
58
Disini dibagi kerja sistem menjadi 3 bagian yaitu, Pelatihan, Klasifikasi, dan
Pencarian. Pada sistem ini juga terdapat bagian offline (tidak melibatkan pengguna)
dan bagian online (melibatkan pengguna). Pelatihan dilakukan secara offline dan
klasifikasi serta pencarian dilakukan secara online. Pada bagian Pelatihan, sejumlah
citra akan digunakan sebagai masukan dasar untuk sistem agar membentuk model
pengetahuan yang nantinya akan digunakan dalam mengklasifikasikan objek di
dalam citra pada bagian Klasifikasi. Sedangkan pada bagian Klasifikasi, sejumlah
citra akan digunakan untuk menghasilkan anotasi atau label setiap objek yang ada di
dalam citra-citra tersebut. Anotasi ini akan disimpan kedalam file jenis xml yang
akan digunakan sebagai metadata dari basis data. Metadata ini akan digunakan
untuk melakukan proses Pencarian. Pada bagian Pencarian, pengguna akan
memasukkan kata-kunci yang mewakili konten yang dikehendaki ada pada sebuah
citra, sistem kemudian akan menampilkan hasil-hasil yang mengandung kata-kunci
yang dimasukkan oleh pengguna.
3.2.1 Pelatihan Citra (Image Training)
Tujuan dari tahap pelatihan ini adalah agar terbentuk model pengetahuan
yang nantinya dijadikan kemampuan ”berpikir” dari sistem anotasi ini. Pada
tahap pelatihan, sejumlah citra yang mewakili sebuah objek dengan labelnya
akan dimasukkan ke dalam SVM sehingga terbentuk pola pengetahuannya untuk
objek tersebut. Disini dimasukkan sejumlah kelas label dengan tujuan nantinya
sistem klasifikasi dapat mengenali beberapa jenis kelas sesuai jumlah kelas yang
dilatih kedalam sistem.
59
Urutan dari proses pelatihan ini adalah mula-mula citra yang akan
digunakan sebagai materi pelatihan dimasukkan ke dalam sistem. Sistem
kemudian memproses citra yang dimasukkan ini dengan me-resize ukuran citra
sehingga diperoleh ukuran citra yang sama selama proses dilakukan. Tujuan
resize ini adalah agar diperoleh hasil yang lebih optimal dan konsisten. Optimal
berarti memungkinkan sistem untuk berkerja lebih cepat. Kemudian sistem akan
melanjutkan proses ke tahap ekstraksi fitur. Disini “sidik jari” dari citra akan
direkam dan disimpan dalam fitur vektor. Fitur vektor merupakan kumpulan
fitur-fitur yang telah diindeks dengan urutan tertentu sehingga setiap citra akan
memiliki nilai fitur vektor yang relatif berbeda satu sama lainnya pada indeks-
indeks yang ada. Kemudian untuk setiap kelas label, digunakan sejumlah citra
yang berbeda, tujuannya agar sistem bersifat fleksibel terhadap perbedaan kecil
yang terjadi sehingga lebih toleran terhadap perbedaan atau perubahan.
Sekumpulan fitur vektor untuk sebuah kelas label kemudian dimasukkan
kedalam SVM sehingga SVM membentuk pola khusus untuk label tersebut.
Proses ini diulang sejumlah label yang ingin diajarkan kepada sistem. Hasil
akhirnya berupa model pengetahuan untuk berbagai label dengan
karakteristiknya ( kumpulan fitur vektor) masing-masing.
60
3.2.1.1 Sebelum Pengolahan (Preprocessing)
Input :
Gambar 3.2 Citra dengan Resolusi 1024 x 769
Proses :
Tahap ini memegang peranan penting dalam keberhasilan sistem
mengenali ciri dari sebuah objek. Sebelum melakukan ekstraksi fitur, dilakukan
preprocessing berupa resize. Pengubahan ukuran citra bertujuan agar citra-
citra yang nantinya akan diambil fiturnya lebih konstan dalam ukuran, sehingga
tidak terdapat error dari perbedaan ukuran citra, sekaligus memudahkan dalam
mengindeksan fitur vektornya. Selain itu pengubahan ukuran citra akan
mempercepat pemrosesan citra. Disini citra di-resize menjadi ukuran 250 piksel
x 250 piksel ( berbentuk bujur sangkar). Resize dengan ukuran 250 piksel x 250
piksel bertujuan untuk menyeragamkan ukuran citra yang berbeda-beda serta
untuk menghemat ruang penyimpanan, biaya komputasi menjadi lebih kecil
61
(sistem dapat bekerja lebih cepat) dibandingkan jika tidak di-resize,dan tingkat
error dalam pengindeksan menjadi lebih rendah, karena ukuran citra satu
dengan yang lainnya sama (Ghandi, 2009, p188).
Output :
Gambar 3.3 Citra keluaran dengan Resolusi 250 x 250
3.2.1.2 Ekstraksi Fitur (Feature Extraction)
Input :
Gambar 3.4 Citra masukan dengan Resolusi 250 x 250
62
Proses :
Fitur yang digunakan adalah warna, yang direpresentasikan dengan
histogram warna dan color moment. Warna merupakan fitur yang umum
digunakan sebagai fitur vektor dari sebuah citra (Huang, 1997, p1). Histogram
warna dari sebuah citra hampir merupakan sebuah “sidik jari” dari citra dan
perbedaan histogram antar citra dapat digunakan untuk pencarian citra dalam
basis data (Duckley, 2003, p40). Keuntungan histogram warna adalah mudah
untuk dihitung dan tidak rentan terhadap perubahan orientasi sudut pandang.
Peggunaan fitur sendiri merupakan salah satu variabel penelitian, dimana
nantinya akan terlihat fitur yang paling optimal untuk digunakan di dalam
sistem ini. Adapun beberapa fitur warna yang digunakan antara lain, ruang
warna (color space) digunakan HSV, RGB, dan RGBL dikombinasikan dengan
fitur momen warna (color moment) . Dimana dengan kombinasi ini, diharapkan
keakuratan sistem dalan hal pengenalan warna menjadi lebih baik dibandingkan
hanya menggunakan RGB saja tanpa melakukan perhitungan empiris untuk
ruang warna yang lainnya dan menjadi lebih toleran terhadap noise yang ada
pada sebuah citra yang akan di proses.
Citra setelah melalui tahap preprocessing maka akan dilakukan ekstraksi
fitur berupa histogram warna sebesar 32 bins dengan atau tanpa color moment
dan diindeks kedalam file khusus yang digunakan sejumlah 96 dimensi untuk
ruang warna HSV, 96 dimensi untuk ruang warna RGB, 128 dimensi untuk
ruang warna RGBL . Untuk color moment terdiri dari 12 dimensi untuk
RGBL( 4 dimensi untuk mean, 4 dimensi untuk variance, dan 4 dimensi untuk
63
gradient) dan 9 dimensi untuk HSV atau RGB (3 dimensi untuk mean, 3
dimensi untuk variance, dan 3 dimensi untuk gradient).
Nilai histogram diderivasi hanya dari jumlah piksel-piksel yang berwarna
selain hitam pekat (intensitas piksel bernilai 0 di dalam sebuah citra . Hal ini
dilakukan karena selama proses pelatihan, kumpulan citra-citra merupakan
hasil segmentasi dari sebuah citra yang utuh. Misalnya jika mau melatih label
“gunung” maka kumpulan citra-citra yang akan digunakan dalam proses
pelatihan hanya merupakan citra-citra hanya diambil segmen gunungnya saja,
sedangkan area sisa disekitarnya diubah nilainya menjadi 0. Ini bertujuan agar
proses pengenalan menjadi lebih akurat. Pada bagian normalisasi, proses
perhitungan nilai histogram hanya memperhitungkan intensitas piksel selain
nilai 0, ini bertujuan agar setiap citra dapat dihitung dengan adil. Jika
memperhitungkan nilai 0, maka nilai histogram akan menjadi tidak akurat,
sebab setiap segmen citra yang akan digunakan dalam tahap pengenalan,
memiliki area sisa (yang tidak diproses) yang berbeda-beda. Contohnya :
segmen gunung dari satu citra dengan citra yang lainnya tentu berbeda-beda
ukurannya, sehingga area sisa untuk setiap citra juga berbeda-beda, ada yang
banyak dan ada yang sedikit. Dengan menghilangkan piksel dengan nilai 0 di
setiap citra, maka hasil perhitungan nilai histogram akan menjadi lebih akurat.
64
Output :
Gambar 3.5 Fitur vektor HSV yang akan di training
3.2.1.3 Pelatihan SVM (SVM Training)
Input :
Gambar 3.6 Kumpulan Fitur Vektor HSV yang telah terindeks
Proses :
Machine learning yang digunakan disini adalah berjenis supervised
machine learning, yaitu SVM (Support Vector Machine). Adapun tujuan
digunakannya machine learning disini adalah untuk mengotomatisasi
pengklasifikasian jenis objek yang disimbolkan dengan sekumpulan kata.
Selama ini SVM dikenal sebagai binerize machine learning, yakni machine
learning yang hanya dapat membagi kelasnya menjadi 2 kelas ( kelas positif
65
dan kelas negatif). Dengan mengikuti perkembangan terkini dalam SVM,
akhirnya digunakan multi-class SVM. Dengan multi-class SVM ini, dapat
digunakan untuk membentuk lebih dari 2 kelas yang merupakan model
pengetahuan dalam menentukan label yang cocok untuk suatu objek.
Sebelum kumpulan fitur vektor dari sebuah objek di citra di latih ke
dalam SVM, fitur vektor tersebut di scale terlebih dahulu. Keuntungan meng-
scale nilai-nilai tersebut untuk menghindari atribut dalam rentang nilai yang
lebih besar mendominasi atribut dengan rentang nilai yang lebih kecil, juga
untuk menghindari kesulitan numerik pada saat kalkulasi. Karena nilai kernel
biasanya tergantung pada inner product dari fitur vektor.
Kemudian kumpulan fitur vektor dari setiap label di-map kedalam ruang
k-dimensi. K merupakan jumlah fitur vektor yang digunakan pada sebuah
objek. Sebagai ilustrasi, jika fitur vektor yang digunakan sebanyak 3 buah,
maka dapat digambarkan dengan meletakkan salah satu objek ke dalam ruang
3 dimensi. Nantinya setiap objek akan memiliki “koordinat” masing-masing
sesuai fitur vektornya.
Pemilihan kernel juga merupakan salah satu faktor yang penting, kernel
digunakan untuk membuat hyperplane pada SVM sebagai classifier. Dalam
kasus ini digunakan kernel RBF (Radial Basis Function) yang tergolong kernel
non-linear. Tujuan digunakannya kernel non-linear adalah agar nantinya hasil
pengklasifikasiannya dapat lebih akurat, karena tidak terhambat oleh
kekurangan dari kernel linear. Kernel linear hanya dapat membentuk
hyperplane yang berbentuk garis lurus saja, sehingga memungkinkan terjadi
66
kesalahan dalam pengklasifikasian objek. Dengan kernel non-linear akan
didapat hyperplane yang tidak berupa garis lurus, sehingga tingkat kesalahan
yang mungkin terjadi akan lebih kecil dibandingkan dengan kernel linear.
Output :
Gambar 3.7 Image Model berupa informasi Support Vector
3.2.2 Klasifikasi Citra (Image Classification)
Pengguna memberikan inputan citra dengan tujuan mendapat label dari
objek-objek yang ada di dalam citra sesuai dengan jenis kelas yang terdapat
dalam mesin pembelajaran.
Adapun urutan prosesnya berupa preprocessing dari citra inputan dengan
tujuan agar hasilnya lebih optimal dan konsisten. Dari tahap preprocessing, citra
kemudian disegmentasi menjadi bagian-bagian yang lebih kecil, bagian-bagian
ini dimaksudkan dengan pemisahan objek-objek yang ada di dalam citra agar
berdiri sendiri dan dapat di proses masing-masing. Setelah itu, masing-masin g
67
objek ini akan diambil fiturnya dan disimpan ke dalam fitur vektor. Fitur vektor
inilah yang nantinya digunakan dalam tahap klasifikasi untuk mengklasifikasikan
label dari objek, label didapat dengan membandingkan fitur vektor dari citra
yang diberikan oleh pengguna dengan model pengetahuan yang telah terbentuk
dari proses pelatihan sebelumnya.
3.2.2.1 Sebelum Pengolahan (Preprocessing)
Input :
Gambar 3.8 Citra dengan Resolusi 1024 x 768
Proses :
Tahap ini memegang peranan penting dalam keberhasilan sistem
mengenali ciri dari sebuah objek. Sebelum melakukan ekstraksi fitur, dilakukan
preprocessing berupa resize. Pengubahan ukuran citra bertujuan agar citra-
citra yang nantinya akan diambil fiturnya lebih konstan dalam ukuran, sehingga
68
tidak terdapat error dari perbedaan ukuran citra, sekaligus memudahkan dalam
mengindeksan fitur faktornya. Disini citra di-resize menjadi ukuran 250 piksel
x 250 piksel (berbentuk bujur sangkar). Resize dengan ukuran 250 piksel x 250
piksel bertujuan untuk menyeragamkan ukuran citra yang berbeda-beda serta
untuk menghemat ruang penyimpanan, biaya komputasi menjadi lebih kecil
(sistem dapat bekerja lebih cepat) dibandingkan jika tidak di-resize, dan tingkat
error dalam pengindeksan menjadi lebih rendah, karena ukuran citra satu
dengan yang lainnya sama (Ghandi, 2009, p188). Perbedaan tahap
preprocessing pada pelatihan citra dengan preprocessing pada klasifikasi citra
adalah pada citra yang menjadi masukkan pada masing-masing tahap.
Output :
Gambar 3.9 Citra Keluaran yang Resolusi 250 x 250
69
3.2.2.2 Segmentasi (Segmentation)
Input :
Gambar 3.10 Citra Masukkan yang Resolusi 250 x 250
Proses :
Di tahap ini segementasi dilakukan dengan algoritma k-means. Adapun
segmentasi k-means merupakan region based segmentation, dimana hasil
segmentasi nantinya berupa region dengan bentuk ataupun batasan yang
bersifat acak atau random, tergantung dari bentuk penyebaran warna pada
sebuah citra. Proses pada segmentasi dengan algoritma k-means sendiri disini
dibatasi dengan menentukan k (jumlah kelas) sebesar 3. Proses segmentasi
berulang maksimal hingga ditemukan posisi sentroid lama dan sentroid baru
yang tidak berbeda jauh dan terbentuk 3 kelas, maka proses segmentasi telah
selesai. Urutan proses dalam segmentasi dengan k-means clustering berbasis
warna adalah sebagai berikut:
Klasifikasikan warna dalam ruang warna RGB atau hsv (hasil yang
paling optimal didapatkan setelah dilakukan penelitian lebih lanjut) dilakukan
70
dengan 3-means clustering. Disini digunakan 3-means clustering karena
pertimbangan bahwa didalam suatu citra landscape terdiri dari rata-rata 3 objek
dan penentuan jumlah k yang terlalu banyak atau tidak sesuai dapat
mengakibatkan akurasi menjadi menurun (Pham, 2006, p41).
Setelah didapatkan klaster-klaster, selanjutnya untuk setiap objek di
dalam citra inputan dan setiap piksel di dalam citra dilabel dengan index
klaster. Sehingga secara tidak langsung terbentuk kelas-kelas yang
berkorespondensi dengan objek-objek yang ada di dalam citra yang berupa
matriks citra yang berisi indeks klaster.
Gambar 3.11 Matriks Citra yang berisi Indeks Klaster
Untuk ilustrasi, proses masking sebelum citra dipecah berdasarkan
jumlah objek yang ditemukan di dalam citra berupa:
71
Gambar 3.12 Visualisasi Citra yang berisi Indeks Klaster
Setelah masking, maka akan dibentuk citra-citra baru sejumlah objek
yang berhasil ditemukan di dalam citra awal. Untuk kasus disini, menjadi 3
kelas citra baru.
Output:
Gambar 3.13 Citra- Citra Hasil Segmentasi
72
3.2.2.3 Ekstraksi Fitur (Feature Extraction)
Input :
Gambar 3.14 Citra – Citra Hasil Segmentasi
Proses :
Fitur yang digunakan adalah warna, yang direpresentasikan dengan
histogram warna dan color moment. Warna merupakan fitur yang umum
digunakan sebagai fitur vektor dari sebuah citra ( Huang, 1997, p1). Histogram
warna dari sebuah citra hampir merupakan sebuah “sidik jari” dari citra dan
perbedaan histogram antar citra dapat digunakan untuk pencarian citra dalam
basis data (Duckley, 2003, p40). Keuntungan histogram warna adalah mudah
untuk dihitung dan tidak rentan terhadap perubahan orientasi sudut pandang.
73
Peggunaan fitur sendiri merupakan salah satu variabel penelitian, dimana
nantinya akan terlihat fitur yang paling optimal untuk digunakan di dalam
sistem ini. Adapun beberapa fitur warna yang digunakan antara lain, ruang
warna (color space) digunakan HSV, RGB, dan RGBL dikombinasikan dengan
fitur momen warna (color moment) . Dimana dengan kombinasi ini, diharapkan
keakuratan sistem dalan hal pengenalan warna menjadi lebih baik dibandingkan
hanya menggunakan RGB saja tanpa melakukan perhitungan empiris untuk
ruang warna yang lainnya dan menjadi lebih toleran terhadap noise yang ada
pada sebuah citra yang akan di proses.
Citra setelah melalui tahap preprocessing maka akan dilakukan ekstraksi
fitur berupa histogram warna sebesar 32 bins dengan atau tanpa color moment
dan diindeks kedalam file khusus yang digunakan sejumlah 96 dimensi untuk
ruang warna HSV, 96 dimensi untuk ruang warna RGB, 128 dimensi untuk
ruang warna RGBL . Untuk color moment terdiri dari 12 dimensi untuk RGBL
( 4 dimensi untuk mean, 4 dimensi untuk variance, dan 4 dimensi untuk
gradient) dan 9 dimensi untuk HSV atau RGB (3 dimensi untuk mean, 3
dimensi untuk variance, dan 3 dimensi untuk gradient).
32 dimensi ini berarti rentang nilai warna yang bernilai 0 sampai dengan
255 disimpan kedalam 32 bin (kelompok nilai) dengan nilai 0-7,8-15,16-31, dst
sebanyak 32 kelompok nilai. Semakin banyak bin yang digunakan sebagai fitur
vektor, semakin unik pula polanya, tetapi memiliki kompensasi semakin besar
pula nilai yang akan diindeks ke dalam fitur vektor yang mengakibatkan ruang
penyimpanan yang bertambah. Dengan digunakan 32 bin diharapkan kinerja
74
sistem menjadi lebih baik dalam hal diferensiasi pola warna dan ruang
penyimpanan yang tidak terlalu besar. Bayangkan jika menggunakan 256 bin (1
rentang warna disimpan sebagai 1 bin) yang berarti dimensi fitur vektor
menjadi 256 X 4 = 1024. Tentu akan sangat menyita kapasitas ruang
penyimpanan, belum lagi waktu komputasi yang dibutuhkan untuk sebuah citra
menjadi berlipat ganda.
Nilai histogram diderivasi hanya dari jumlah piksel-piksel yang berwarna
selain hitam pekat (intensitas piksel bernilai 0 di dalam sebuah citra . Hal ini
dilakukan karena selama proses pelatihan, kumpulan citra-citra merupakan
hasil segmentasi dari sebuah citra yang utuh. Misalnya jika mau melatih label
“gunung” maka kumpulan citra-citra yang akan digunakan dalam proses
pelatihan hanya merupakan citra-citra hanya diambil segmen gunungnya saja,
sedangkan area sisa disekitarnya diubah nilainya menjadi 0. Ini bertujuan agar
proses pengenalan menjadi lebih akurat. Pada bagian normalisasi, proses
perhitungan nilai histogram hanya memperhitungkan intensitas piksel selain
nilai 0, ini bertujuan agar setiap citra dapat dihitung dengan “adil”. Jika
memperhitungkan nilai 0, maka nilai histogram akan menjadi tidak akurat,
sebab setiap segmen citra yang akan digunakan dalam tahap pengenalan,
memiliki area sisa (yang tidak diproses) yang berbeda-beda. Contohnya :
segmen gunung dari satu citra dengan citra yang lainnya tentu berbeda-beda
ukurannya, sehingga area sisa untuk setiap citra juga berbeda-beda, ada yang
banyak dan ada yang sedikit. Dengan menghilangkan piksel dengan nilai 0 di
setiap citra, maka hasil perhitungan nilai histogram akan menjadi lebih akurat.
75
Output :
Gambar 3.15 Hasil Ekstraksi Fitur HSV dari 3 citra inputan
3.2.2.4 Klasifikasi (Classification)
Input :
Gambar 3.16 Hasil Ekstraksi Fitur HSV dari 3 citra inputan
Proses :
Pada tahap klasifikasi, fitur vektor yang didapat untuk setiap objek
didalam citra diurutkan dan dibandingkan dengan model pengetahuan yang
76
telah terbentuk sebelumnya. Sama seperti pada tahap pelatihan, fitur vektor
yang ada harus di scale terlebih dahulu, baru kemudian dimasukkan kedalam
SVM untuk diklasifikasi. Disinilah terjadi proses otomatisasi pemberian label
untuk objek-objek tersebut. Label untuk masing-masing objek ini nantinya
akan dimasukkan atau disertakan kedalam citra dan menjadi lapisan informasi
baru untuk sebuah citra. Selanjutnya tahap penyimpanan label untuk setiap
objek yang ada di dalam sebuah citra sehingga menjadi lapisan informasi yang
baru untuk citra tersebut. Pada sistem ini, anotasi dilakukan dengan menyimpan
hasil peng-labelan objek ke dalam file dengan format xml. File xml ini nantinya
akan menyertai citra tersebut sebagai metadatanya. Berikut contoh citra yang
telah dianotasi :
Gambar 3.17 Hasil Anotasi pada Citra inputan
77
Output :
Gambar 3.18 Hasil Anotasi di dalam file xml
3.2.3 Temu kembali Citra (Image Retrieval)
Pengguna melakukan pencarian dengan mengetikkan kata-kata yang
mewakili konten dari citra yang hendak ditemukannya. Proses yang terjadi ketika
user memasukkan kata-kunci untuk citra yang dimaksud adalah sistem
kemudian mencari kata-kunci yang dimaksud di dalam metadata dari citra-citra
tersebut. Jika ditemukan, maka sistem akan mencari lokasi dari citra yang
dimaksud melalui nama file citra yang ada di dalam metadata yang berupa file
xml. Kemudian sistem menampilkan citra yang dimaksud. Dalam contoh disini,
pengguna memasukkan kata “rock” dan melakukan pencarian yang dimaksud.
Hasilnya berupa sejumlah citra yang memiliki kata-kata yang dimaksudkan oleh
pengguna.
78
Gambar 3.19 Pencarian Citra dengan keyword “rock”