PCD-14 - Aplikasi CBIR
PCD-14 - Aplikasi CBIR
Aplikasi
Temu Kembali
Citra
Setelah bab ini berakhir, diharapkan pembaca dapat
memahami berbagai hal yang berhubungan dengan temu
kembali citra dan mampu mempraktikkannya.
Citra
Masukan Prapemrosesan dan
Segmentasi
Database
Ekstraksi
Fitur
Perhitungan
Jarak Fitur
Pengurutan
Jarak
Pemilihan n Citra
Hasil
𝑗(𝑣1 , 𝑣2 ) = √∑𝑁 ( ) ( ) 2
𝑘=1(𝑣1 𝑘 − 𝑣2 𝑘 ) (14.1)
688 Pengolahan Citra Teori dan Aplikasi
Dalam hal ini, v1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak Euclidean
dapat dibayangkan sebagai sisi miring segitiga (Gambar 14.2(a)).
√𝑥 2 + 𝑦 2
y+x max(y, x)
y y y
x x x
𝑣1 = [ 4,3, 6]
𝑣2 = [ 2, 3, 7]
Jarak Euclidean merupakan jarak yang umum dipakai dalam temu kembali
citra. Beberapa penelitian yang memanfaatkan jarak ini antara lain dilakukan oleh
Hastuti, dkk. (2009) dan Kadir, dkk. (2011a).
𝑗(𝑣1 , 𝑣2 ) = ∑𝑁
𝑘=1 |𝑣1 ( 𝑘) − 𝑣2 ( 𝑘)| (14.2)
Aplikasi Temu Kembali Citra 689
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak city-block
dapat dibayangkan sebagai jarak vertikal plus horizontal dari vektor pertama ke
vektor kedua (Gambar 14.2(b)).
Sebagai contoh, terdapat dua vektor seperti berikut:
𝑣1 = [ 4,3, 6]
𝑣2 = [ 2, 3, 7]
𝑗𝑎𝑟𝑎𝑘 = |4 − 2| + |3 − 3| + |6 − 7| = 3
Jarak kotak catur atau dikenal pula dengan nama jarak Chebychef
didefinisikan sebagai berikut:
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak dapat
dibayangkan sebagai jarak terpanjang antara jarak horizontal dan jarak vertikal
(Gambar 14.2(c)).
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak kotak catur kedua vektor tersebut berupa
1/𝑝
𝑗(𝑣1 , 𝑣2 ) = √∑𝑁 ( ) ( )𝑝
𝑘 =1 |(𝑣1 𝑘 − 𝑣2 𝑘 | (14.4)
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila p bernilai 1, jarak berupa city-block. Apabila
p bernilai 2, jarak berupa Euclidean.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Minkowski kedua vektor tersebut untuk p
berupa 3 berupa:
1/3 1/3
𝑗𝑎𝑟𝑎𝑘 = √(4 − 2)3 + (3 − 3)3 + (6 − 7)3 = √9 = 2,0801
|𝑣 (𝑘)−𝑣 (𝑘) |
𝑗(𝑣1 , 𝑣2 ) = ∑𝑁 1 2
𝑘 =1 | 𝑣 (𝑘) |+| 𝑣 (𝑘) | (14.5)
1 1
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Canberra kedua vektor tersebut berupa
|4 − 2| |3 − 3| |6 − 7| 2 0 1
𝑗𝑎𝑟𝑎𝑘 = + + = + + = 0,4103
4 +2 3 +3 6 +7 6 6 13
Jarak Bray Curtis atau jarak Sorensen (Putra, 2010) didefinisikan sebagai
berikut:
∑𝑁 |
𝑘=1 𝑣1 (𝑘)−𝑣2 (𝑘)
|
𝑗(𝑣1 , 𝑣2 ) = 𝑁 𝑁
∑𝑘=1 𝑣1 ( 𝑘 ) + ∑𝑘=1 𝑣2 ( 𝑘 )
(14.6)
Aplikasi Temu Kembali Citra 691
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Bray Curtis kedua vektor tersebut berupa
𝑣 ( 𝑘)
𝐾𝐿 (𝑣1 , 𝑣2 ) = ∑𝑁
𝑘=1 𝑣1 ( 𝑘) 𝑙𝑜𝑔 𝑣 ( 𝑘 )
1
(14.6)
2
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Kullback Leibler kedua
vektor tersebut berupa
4 3 6
𝑗𝑎𝑟𝑎𝑘 = 4 ∗ log (2 ) + 3 ∗ log (3 ) + 6 ∗ log (7 ) = 1,8477
2 ∗ 𝑣1 ( 𝑘 ) 2 ∗ 𝑣2 ( 𝑘 )
𝐽𝐷 (𝑣1 , 𝑣2 ) = ∑𝑁
𝑘=1 𝑣1 ( 𝑘) . 𝑙𝑜𝑔 + 𝑣2 (𝑘). 𝑙𝑜𝑔 (14.6)
𝑣1 ( 𝑘 ) + 𝑣2 ( 𝑘 ) 𝑣1 ( 𝑘 ) + 𝑣2 ( 𝑘 )
Dalam hal ini, v 1 dan v 2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
692 Pengolahan Citra Teori dan Aplikasi
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Jensen Shannon kedua
vektor tersebut berupa
2∗4 2∗3 2∗6
𝑗𝑎𝑟𝑎𝑘 = 4 ∗ log (4+2 ) + 3 ∗ log (3+3) + 6 ∗ log (6+7) +
2∗2 2∗3 2∗7
2 ∗ log (4+2 ) + 3 ∗ log (3+3) + 7 ∗ log (6+7) = 0,3783
Program : queryzer.m
function queryzer(berkas)
% QUERYZER Berguna untuk melakukan query dengan
% menggunakan momen Zernike.
jarak = 0;
for j=1 : length(ZRef)
jarak = jarak + abs(ZRef(j) - ZQuery(j));
end
Hasil(i).nama = Citra{i};
Hasil(i).jarak = jarak;
end
Aplikasi Temu Kembali Citra 693
Hasil(q+1) = x;
end
end
% Tampilkan hasil
disp('Hasil pencocokan: ');
for i=1 : jum
disp(sprintf('Citra %s - Jarak: %f',Hasil(i).nama, ...
Hasil(i).jarak));
end
Akhir Program
>> queryzer('C:\Image\ikan-5.png')
proses terhadap citra C:\Image\ikan-4.png
proses terhadap citra C:\Image\ikan-2.png
proses terhadap citra C:\Image\ikan-3.png
proses terhadap citra C:\Image\ikan-1.png
694 Pengolahan Citra Teori dan Aplikasi
Program : dbfitur.m
Akhir Program
>> dbfitur
Menghitung fitur citra C:\Image\ikan-4.png
Menghitung fitur citra C:\Image\ikan-2.png
Menghitung fitur citra C:\Image\ikan-3.png
Menghitung fitur citra C:\Image\ikan-1.png
Menghitung fitur citra C:\Image\guppi-4.png
Menghitung fitur citra C:\Image\guppi-2.png
Menghitung fitur citra C:\Image\guppi-3.png
Menghitung fitur citra C:\Image\guppi-1.png
>>
696 Pengolahan Citra Teori dan Aplikasi
Dengan cara seperti itu, fitur kedelapan citra akan tersimpan di file dbfitur.mat.
Selanjutnya, temu kembali citra dapat dilakukan melalui fungsi
queryzer2. Isinya seperti berikut.
Program : queryzer2.m
function queryzer2(berkas)
% QUERYZER2 Berguna untuk melakukan query dengan
% menggunakan momen Zernike dengan membaca
% data acuan dari file dbfitur.
jarak = 0;
for j=1 : jumFitur
jarak = jarak + abs(ZQuery(j) - Fitur(i).momen(j));
end
Hasil(i).nama = Fitur(i).nama;
Hasil(i).jarak = jarak;
end
Hasil(q+1) = x;
end
end
Aplikasi Temu Kembali Citra 697
Akhir Program
>> queryzer2('C:\Image\ikan-5.png')
Hasil pencocokan dapat dilihat pada jendela gambar
>>
Hasilnya dapat dilihat pada Gambar 14.3. Gambar tersebut memperlihatkan citra
query dan citra-citra hasil yang dilengkapi dengan nilai jarak antara citra
bersangkutan terhadap citra query, yang telah diurutkan dari jarak terpendek ke
jarak terpanjang.
698 Pengolahan Citra Teori dan Aplikasi
Gambar 14.3 Hasil query secara visual berdasar urutan besar jarak
Latihan
1. Jelaskan pengertian temu kembali citra.
2. Terdapat dua vektor seperti berikut:
𝑣1 = [ 3,8, 6,5]
𝑣2 = [ 4, 6, 7,8]
identik dengan
∑𝑁
𝑘 =1 |𝑣1 ( 𝑘) − 𝑣2 ( 𝑘)|
𝑗(𝑣1 , 𝑣2 ) =
∑𝑁 ( )
𝑘=1(𝑣1 𝑘 + 𝑣2 𝑘 )
( )
a) jarak Euclidean
b) jarak Canberra
c) jarak Chebychef
d) jarak Bray Curtis
Amati hasil yang didapatkan. Apakah dapat ditarik sesuatu kesimpulan dari
situ?
700 Pengolahan Citra Teori dan Aplikasi