BAB 3 PROS EDUR 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. M enurut 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. M asalah 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
53
54
pengguna hanya perlu memasukkan kata-kunci yang diharapkan muncul sebagai konten di dalam citra yang dikehendaki. Dari sisi kemudahan, kueri-dengan-katakunci 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 kueridengan-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. M emang 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 M etodologi 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. M etadata 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 indeksindeks 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
karakteristiknya ( kumpulan fitur vektor) masing-masing.
label
dengan
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 citracitra 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. M isalnya 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 S VM (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 . digunakan untuk membentuk
Dengan multi-class SVM ini, dapat
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 mengscale 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 citracitra 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 M asukkan 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 M atriks 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. M isalnya 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”