52 BAB III PROSEDUR DAN METODOLOGI 3.1 ANALISA MASALAH Pada bab ini kita akan melihat masalah apa yang masih menjadi kendala melakukan proses retrival citra dan bagaimana solusi untuk memecahkan masalah itu. Salah satu masalah itu adalah semantic gap. Semantic gap bisa terjadi karena adanya kesalahan pengenalan dari komputer yang mengenali antara citra kueri dengan citra database yang hanya memiliki kemiripan warna tanpa komputer memperhatikan bentuk dari citra itu sehingga output yang dihasilkan bisa berbeda dengan input walaupun memiliki warna yang sama. Jadi pada kasus semantic gap, ouput yang dihasilkan hanya berdasarkan fitur warna yang sama dengan kueri input tanpa melihat perbedaan dari bentuk dari citra itu. Sehingga pada saat memberikan input citra berupa gunung yang mempunyai warna hijau dan karena terjadi semantic sehingga output citra yang keluar pun bisa berupa citra laut hanya karena warna citra laut itu adalah hijau sama dengan input citranya, padahal citra output yang kita inginkan adalah citra gunung. Oleh sebab itu kami berusaha menambah fitur baru yaitu fitur bentuk untuk membuat akurasi dari penretrievalan citra menjadi lebih akurat dan permasalahan dari semantic gap itu bisa diminimalisasi seminim mungkin.
3.2 PENYELESAIAN MASALAH Pada pemecahan masalah ini kami menggunakan citra bunga untuk memudahkan kami dalam melakukan retrival citra karena citra bunga memiliki
53 fitur warna dan bentuk yang beragam. Hal pertama yang harus kita lakukan untuk dapat melakukan retrival citra yaitu kita harus dapat melakukan ekstrasi ciri pada citra itu dan ekstrasi ciri yang kami gunakan adalah ekstrasi ciri berdasarkan fitur warna dan fitur bentuk. Pada ekstrasi fitur warna, pertama-tama kami melakukan distribusi warna pada citra dengan menggunakan warna crayon dan setelah distribusi warna selesai kami mensegmentasinya. Seperti yang kita ketahui segmentasi adalah suatu proses yang digunakan untuk mengelompokkan citra sesuai dengan obyek citranya. Setelah menentukan berapa banyak distribusi warna yang digunakan maka tiap citra yang ada dilakukan segmentasi warna. Citra database terlebih dahulu disegmentasi sebelum disimpan di database. Citra kueri juga disegmentasi terlebih dahulu sebelum dibandingkan dengan citra database. Pada ekstrasi fitur bentuk kami melakukan grayscale terlebih dahulu pada citra, dimana citra yang semulai memiliki warna merah biru hijau kini hanya menjadi warna dengan intensistas 0-255 dan proses ini disebut juga proses derajat keabuan dan setelah citra telah menjadi grayscale kami menghaluskan citra tersebut dengan mem-blur citra. Setelah citra sudah menjadi gray dan blur, lalu kami melakukan deteksi tepi pada citra itu dengan menggunakan metode sobel. Setelah deteksi tepi selesai lalu melakukan integral proyeksi yang akan dilanjutkan dengan resampling dan normalisasi lalu dibuatlah ciri vektor dari citra tersebut. Dan setelah semua proses ekstrasi selesai kami melakukan pembagian kelas untuk setiap objek bunga dengan menggunakan metode kmeans dan tujuan pembagian kelas ini agar dapat dilakukan retrival citra dengan lebih cepat dan efektif. Dan proses selengkapnya dapat dilihat dari perancangan sistem yang kami buat dibawah ini.
54
3.3 PERANCANGAN SISTEM Metode yang akan kita pakai dari perancangan program ini yaitu dengan menggunakan teknik CBIR yang dimana fitur yang akan kita pakai dari citra adalah fitur warna dan bentuk. Dimana kita akan melakukan ekstrasi fitur warna dan bentuk dari suatu citra dan dari ekstrasi fitur warna dan bentuk itu kita melakukan retrival citra berdasarkan kemiripan pada fitur warna dan bentuk. Dan selanjutnya kami melakukan pembagian kelas dari setiap obyek dengan menggunakan metode kmeans. Pembagian kelas ini kami lakukan agar pada proses retrival citra berlangsung degan cepat.
3.4 PROSEDUR 3.4.1 Ekstrasi Fitur Warna Dalam proses ekstrasi fitur warna kami menggunakan metode histogram interseksi dan tahapan proses dari metode kami bagi menjadi 4 tahapan yaitu 1. Distribusi warna 2. Segmentasi warna 3. Histogram warna 4. Histogram interseksi Berikut adalah flowchart pada proses ekstrasi fitur warna pada gambar 3.1
55
Gambar 3.1 Flowchart untuk proses ekstrasi warna
Penjelasan dari setiap proses ekstrasi warna dapat dilihat dibawah :
3.4.1.1 Distribusi Warna Distribusi warna yang digunakan pada program tugas akhir ini 48 warna crayon. Untuk mendapatkan nilai warna 48 crayon dengan menggunakan Adobe Photoshop. Buka file citra crayon 48 warna pada Adope Photoshop lalu gunakan Eyedropper Tool, klik tiap crayon dan lihat nilai RGB pada window color yang ada disebelah kanan atas form. Untuk lebih jelasnya, berikut ini ditampilkan citra dan tabel 48 warna crayon pada gambar 3.2
56
Gambar 3.2 Pengambilan nilai RGB 48 warna crayon dengan adobe photoshop
3.4.1.2 Segmentasi Warna Segmentasi adalah suatu proses yang digunakan untuk mengelompokkan citra sesuai dengan obyek citranya. Setelah menentukan berapa banyak distribusi warna yang digunakan maka tiap citra yang ada dilakukan segmentasi warna. Citra database terlebih dahulu disegmentasi sebelum disimpan di database. Citra kueri juga disegmentasi terlebih dahulu sebelum dibandingkan dengan citra database. tampilan flowchart dari segmentasi warna dapat dilihat pada gambar 3.3:
57
Gambar 3.3 Flowchart segmentasi warna
58 3.4.1.3 Histogram Warna Pada tahap ini menghitung nilai Probability Density Function dari hasil proses segmentasi dan rumus PDF dapat dilihat pada rumus 3.1 :
, ,
, ,
(3.1)
Keterangan : P(r,g,b) = nilai probabilitas warna H(r,g,b) = nilai histogram warna Nimage = jumlah pixel dari image Probability Density Function adalah fungsi probabilits p(x) dimana x adalah kejadian dan p(x) adalah kemunculan dari suatu kejadian. Flowchart dari PDF dapat dilihat pada gambar 3.4 :
59
Gambar 3.4 Flowchart mencari nilai Probability Density Function (PDF)
3.4.1.4 Histogram Interseksi Histogram interseksi digunakan untuk menentukan jarak antara dua histogram yaitu histogram dari citra kueri dengan citra database. Jarak minimum
60 ini menentukan kedekatan antara dua obyek. flowchart dari histogram interseksi dapat dilihat pada gambar 3.5:
Gambar 3.5 Flowchart untuk histogram interseksi
3.4.2 Ekstrasi Fitur Bentuk Selain menggunakan ekstraksi fitur warna, metode yang digunakan untuk mengidentifikasi citra adalah dengan ekstraksi citra berdasarkan fitur bentuk. Adapun flowchart untuk ekstraksi fitur bentuk dapat dilihat pada gambar 3.6
61
Gambar 3.6 Flowchart ekstrasi citra berdasarkan fitur bentuk
Penjelasan untuk flowchart di atas adalah sebagai berikut :
62 3.4.2.1 Grayscale Proses grayscale, prinsip dari metode grayscale adalah mengubah warna citra yang semula terdiri dari merah, hijau dan biru menjadi warna dengan intensitas 0 sampai 255 dan proses ini disebut juga dengan proses perhitungan derajat keabuan, untuk perhitungannya adalah sebagai berikut :
(3.2) Dimana s : Nilai derajat keabuan r : Nilai warna merah g : Nilai warna hijau b : Nilai warna biru
Flowchart untuk grayscale dapat dilihat pada gambar 3.7 :
63 START
N = image widht M = image height
i=0 to n
j=0 to m
r = (rgb >> 16) & 0xFF; g = (rgb >> 8) & 0xFF; b = rgb & 0xFF; gray = (r+g+b)/3
j
i
FINISH
Gambar 3.7 Flowchart grayscale
3.4.2.2 Blur Proses Bluring yaitu proses yang digunakan untuk menghaluskan citra dari noise yang ada.
64 3.4.2.3 Deteksi Tepi (Edge Detection) Proses deteksi tepi (Edge Detection), metode yang digunakan dalam proyek akhir ini adalah metode Sobel. Metode Sobel merupakan pengembangan metode Robert yang menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi. Kernel filter yang digunakan dalam metode sobel ini adalah :
(3.3)
dan
(3.4)
Sebelum melakukan proses edge detection, warna citra di-binerkan. Jika intensitas warna kurang dari rata-rata pixel keseluruhan, maka intensitas warna diubah menjadi 0, selain kondisi tersebut, intensitas warna diubah menjadi 255. Data ini menjadi data acuan untuk proses selanjutnya. Flowchart untuk proses edge detection dapat dilihat pada gambar 3.8 :
65
Gambar 3.8 Flowchart deteksi tepi
66 3.4.2.4 Integral Proyeksi Proses selanjutnya adalah proses integral proyeksi, suatu teknik yang menjumlahkan nilai setiap kolom atau setiap baris. Integral proyeksi didefinisikan dengan :
∑
,
(3.5)
∑
,
(3.6)
Keterangan : h(j) = total nilai baris x(i,j) = nilai baris
Keterangan : h(i) = total nilai kolom x(i,j) = nilai kolom
flowchart untuk proses integral proyeksi untuk mendapatkan nilai baris dapat dilihat pada gambar 3.9 :
67 START
N = image widht M = image height
i=0 to n
j=0 to m
iph[i] = iph[i] + tempedge[i][j]
j
i
FINISH
Gambar 3.9 Flowchart integral proyeksi untuk nilai baris
Flowchart untuk proses integral proyeksi untuk mendapatkan nilai kolom dapat dilihat pada gambar 3.10
68 START
N = image widht M = image height
i=0 to m
j=0 to n
ipv[i] = ipv[i] + tempedge[i][j]
j
i
FINISH
Gambar 3.10 Flowchart integral proyeksi untuk nilai kolom
3.4.2.5 Resampling Proses Resampling dari nilai integral proyeksi dengan cara mengambil nilai rata-rata atau nilai vektor kuantisasinya pada setiap vektor m + n dari setiap nilai integral proyeksi dengan skala 10 x 10, dan hasilnya berupa nilai vektor, dapat dituliskan sebagai berikut:
69
∑ Keterangan,
∑
(3.7)
V(i) : merupakan nilai vector m + n : merupakan jumlah
vektor yang terdapat pada vektor m + n X : merupakan nilai dari setiap vektor integral proyeksi Flowchart untuk resampling dapat dilihat pada gambar 3.11 :
70
71 Gambar 3.11 Flowchart data untuk resampling
3.4.2.6 Normalisasi Proses selanjutnya yaitu Normalisasi dengan membagi hasil nilai dari resampling dengan nilai terbesar sehingga di dapat nilai antara 0 sampai 1,dari nilai inilah digunakan sebagai vektor ciri dari setiap citra. Flowchart normalisasi dapat dilihat pada gambar 3.12:
72
73
Gambar 3.12 Flowchart proses normalisasi
74 3.4.3 K-means Setellah proses normalisasi n k kami mengggunakan meetode k-meanns agar dapat dilakukaan clusteringg sehingga daata dapat dikkelompokkann menjadi beeberapa kelaas. Pembagiian kelas ini dilakukan agar a proses retrival r citra menjadi lebbih efisien daan lebih cep pat. Dem monstrasi untuuk algoritmaa sederhana dari K-meanns dapat dilihhat pada gam mbar 3.13
Gam mbar 3.13 Deemonstrasi algoritma a darri k-means