Implementasi Content Based Image Retrieval Menggunakan Speeded-Up Robust Features (SURF)

152  65  Download (4)

Teks penuh

(1)

1. MainWindow.cs using System;

using System.Windows; namespace SkripsiTepe {

public partial class MainWindow : Window {

public MainWindow() {

InitializeComponent(); }

void btnstart_Click(object sender, System.Windows.RoutedEventArgs e) {

MainSearchWindow win = new MainSearchWindow(); win.Show();

}

void btnhelp_Click(object sender, RoutedEventArgs e) {

(2)

private const string host = "localhost"; public bool ExecInParallel { get; set; } public string IndexDirectory { get; set; } public string QueryImageFullPath { get; set; } public emAlgo SelectedAlgo { get; set; } private BackgroundWorker IndexBgWorker; private BackgroundWorker QueryBgWorker; private Stopwatch _stopWatch;

public MainSearchWindow() {

InitializeComponent(); }

private void frmMainSearch_Loaded(object sender, RoutedEventArgs e) {

InitIndexDirectory();

cmbAlgo.SelectedIndex = Properties.Settings.Default.SelectedAlgo; SelectedAlgo = GetSelectedAlgo();

cmbSurfApproach.SelectedIndex = Properties.Settings.Default.SurfAlgo; }

private void InitIndexDirectory() {

string indexDirecroty = Properties.Settings.Default.IndexFolder; if (string.IsNullOrEmpty(indexDirecroty))

(3)

Properties.Settings.Default.Save();

IndexBgWorker.DoWork += new DoWorkEventHandler(IndexBgWorker_DoWork); IndexBgWorker.ProgressChanged += new ProgressChangedEventHandler

(IndexBgWorker_ProgressChanged);

IndexBgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler (IndexBgWorker_RunWorkerCompleted);

IndexBgWorker.WorkerReportsProgress = true; IndexBgWorker.WorkerSupportsCancellation = true; QueryBgWorker = new BackgroundWorker();

QueryBgWorker.DoWork += new DoWorkEventHandler(QueryBgWorker_DoWork); QueryBgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler (QueryBgWorker_RunWorkerCompleted);

Properties.Settings.Default.SurfAlgo = cmbSurfApproach.SelectedIndex; Properties.Settings.Default.Save();

public FileInfo[] getFiles(string SourceFolder, string Filter, System.IO.SearchOption searchOption)

(4)

// Create an array of filter string

surfSetting.HessianThresh = Convert.ToDouble((cmbSurfThreshold.SelectedItem as ListBoxItem).Content);

private void cmbAlgo_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) {

(5)

var dlg1 = new FolderBrowserDialogEx //helper

dlg1.RootFolder = System.Environment.SpecialFolder.MyComputer; System.Windows.Forms.DialogResult result = dlg1.ShowDialog();

private void btnIndex_Click(object sender, RoutedEventArgs e) {

(6)

case emAlgo.Undetermined:

private void IndexBgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)

{

pbIndex.Value = e.ProgressPercentage + 1; }

//004b

(7)

{

private void AccordSurfAlgoIndexing(SurfSettings surfSetting) {

var imageFiles = getFiles(IndexDirectory, "*.gif|*.jpg|*.png|*.bmp|*.jpeg", SearchOption.TopDirectoryOnly);

(8)

}

private void mnuOpenSurfDetail_Click(object sender, RoutedEventArgs e) {

bool isObserverImagePathFound = !string.IsNullOrWhiteSpace(selectedObserverImage); isObserverImagePathFound = isObserverImagePathFound &&

File.Exists(selectedObserverImage);

bool isModelImagePathFound = !string.IsNullOrWhiteSpace(selectedModelImage); isModelImagePathFound = isObserverImagePathFound &&

(9)

}

private void mnuOpenPic_Click(object sender, RoutedEventArgs e) {

bool isObserverImagePathFound = !string.IsNullOrWhiteSpace(selectedObserverImage); isObserverImagePathFound = isObserverImagePathFound &&

File.Exists(selectedObserverImage);

private void btnSelectQueryImage_Click(object sender, RoutedEventArgs e) {

private void btnQueryImage_Click(object sender, RoutedEventArgs e) {

(10)

{ (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif";

// Display OpenFileDialog by calling ShowDialog method

private void QueryBgWorker_DoWork(object sender, DoWorkEventArgs e) {

this.Dispatcher.Invoke(() => {

(11)

case emAlgo.AccordSurf:

(12)

case emAlgo.AccordSurf:

(13)

{

private int GetNumberOfImageFilesInIndexDirectory() {

FileInfo[] imageFiles = getFiles(IndexDirectory, "*.gif|*.jpg|*.png|*.bmp|*.jpeg", SearchOption.TopDirectoryOnly);

/// Interaction logic for AccordSurf.xaml /// </summary>

(14)

Bitmap returnBitmap;

List<IPoint> ipts1 = new List<IPoint>(); List<IPoint> ipts2 = new List<IPoint>(); public string ModelImagePath { get; set; }

public AccordSurfWindow(string modelImagePath, string observerImagePath, SurfSettings setting) : this()

private void AccordSurfCompareWin_Loaded(object sender, RoutedEventArgs e) {

ShowImage(); }

protected void ShowImage() {

bool isModelImageMissing = string.IsNullOrEmpty(ModelImagePath); bool isObserverImageMissing = string.IsNullOrEmpty(ObserverImagePath); if (isModelImageMissing || isObserverImageMissing)

return;

(15)

else {

this.Close(); } }

private Bitmap CompareAndDrawImage(Bitmap modelImage, Bitmap observedImage, SurfSettings setting)

IntegralImage iimg1 = IntegralImage.FromImage(modelImage); ipts1 = FastHessian.getIpoints(hessianThreshold2, 5, 2, iimg1);

SurfDescriptor.DecribeInterestPoints(ipts1, false, false, iimg1);

IntegralImage iimg2 = IntegralImage.FromImage(observedImage); ipts2 = FastHessian.getIpoints(hessianThreshold2, 5, 2, iimg2);

SurfDescriptor.DecribeInterestPoints(ipts2, false, false, iimg2);

watch1.Stop();

Debug.WriteLine("Surf Detection tooked {0} ms", watch1.ElapsedMilliseconds);

(16)

private void PaintSURF(Bitmap img1, Bitmap img2, List<IPoint>[] matches) pt.X, pt.Y), new System.Drawing.Point(x + pt.X + ptR.X, pt.Y + ptR.Y));

(17)

returnBitmap = bmp; public class IntegralImage {

private IntegralImage(int lebar, int tinggi) {

(18)

float barissum = 0;

public float BoxIntegral(int baris, int col, int bariss, int cols) {

(19)

public float HaarY(int baris, int kolom, int size) public class FastHessian {

private class simpananLayer {

public int lebar, tinggi, langkah, saring; public float[] simpanannya;

public byte[] laplasian;

(20)

int scale = this.lebar / src.lebar;

public float getsimpanan(int baris, int kolom, simpananLayer src) {

int scale = this.lebar / src.lebar;

return simpanannya[(scale * baris) * lebar + (scale * kolom)]; }

}

public static List<IPoint> getIpoints(float thr, int oktaf, int init_contoh, IntegralImage img) {

FastHessian fh = new FastHessian(thr, oktaf, init_contoh, img); return fh.getIpoints();

}

public FastHessian(float thr, int oktaf, int init_contoh, IntegralImage img) {

private List<IPoint> ipts;

private List<simpananLayer> simpananPeta;

public List<IPoint> getIpoints() {

int [,] saring_Peta = {{0,1,2,3}, {1,3,4,5}, {3,5,6,7}, {5,7,8,9}, {7,9,10,11}};

(21)

simpananLayer b, m, t;

void buildsimpananPeta() {

(22)

{

buildsimpananLayer(simpananPeta[i]); }

}

(23)

Dxx *= inverse_area;

bool isExtremum(int r, int c, simpananLayer t, simpananLayer m, simpananLayer b) {

(24)

private double[,] BuildDerivative(int r, int c, simpananLayer t, simpananLayer m, simpananLayer b)

(25)

H[1, 2] = dys;

public static List<IPoint>[] getMatches(List<IPoint> ipts1, List<IPoint> ipts2) {

dist = EuclideanDistance(ipts1[i], ipts2[j]);

if (dist < d1) {

(26)

else if (dist < d2)

(27)

Nama : Aulia Tarindah Putri

Alamat Sekarang : Jln. Gn. Leuser Blok A3 No.31 Tebing Tinggi Alamat Orang Tua : Jln. Gn. Leuser Blok A3 No.31 Tebing Tinggi Telp/ Hp : +6282366661549

Email : auliatarindahputri@gmail.com

Riwayat Pendidikan

2012 – 2016 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2009 – 2012 : SMA Negeri 1 Tebing Tinggi

2006 – 2009 : SMP Negeri 1 Tebing Tinggi 2000 – 2006 : SD R.A. Kartini Sei Rampah

Keahlian

Bahasa : Indonesia, Inggris Pemrograman : C#, Java Android

Database : MySql

Desain : Photoshop, Corel Draw Perkantoran : Microsoft Office

Kursus yang diikuti TOEFL, IELTS

Pengalaman Organisasi

(28)

[2014– 2015] PEMA Fasilkom-TI USU

Pengalaman Kepanitiaan

[2012] Sekretaris Dies Natalis IMILKOM 2012

[2015] Ketua Panitia Seminar Karir PT. Paragon - Wardah

Seminar

(29)
(30)
(31)
(32)
(33)
(34)

DAFTAR PUSTAKA

Bay, H, Ess A, Tuytelaars, T, Van Gool, L. 2006. SURF: Speeded Up Robust Features. Proceedings of the 9th European Conference on Computer Vision 3951 (1) : 404 – 417.

Devireddy, S.K. 2009. Content Based Image Retrieval. Georgian Electronic

Scientific Journal : Computer Science and Telecommunications 2009 22(5). (Online)

http://gesj.internet-academy.org.ge/gesj_articles/1464.pdf(30 November 2015)

IEEE. 1998. Recommended Practice for Software Requirements Specifications –

IEEE Std 830. Institute of Electrical and Electronics Engineering, Inc.

Kadir, A., Nugroho, L.E, Susanto, A & Santosa. 2011. Leaf Classification Using Shape, Color, and Texture Features. International Journal of Computer

Applications 29 (9) : 15-22.

Kadir, A. & Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. ANDI : Yogyakarta.

Long, F., Zhang, H., & Feng, D. D. 2003. Fundamentals of Content Based Image

Retrieval, Technological Fundamentals and Applications. NewYork:

Springer- Verlag

Lowe, D. G. 1999. Object recognition from local scale-invariant features.

Proceeding of the International Conference on Computer Vision.

Manning, C. dkk. 2008. An Introduction to Information Retrieval. Cambridge. Cambridge University Press : England.

Pardede, J. 2013. Implementasi Metode Generalized Vector Space Model pada Aplikasi Information Retrieval. Skripsi. Teknik Informatika Institut Teknologi Bandung : Bandung.

Putra, D. 2010. Pengolahan Citra Digital. ANDI : Yogyakarta

Stegmann, M.B. & Gomez, D.D. 2002. A Brief Introduction to Statistical Shape

Analysis (Online) http://www2.imm.dtu.dk/pubdb/views/edoc_download.php /403/pdf/imm403.pdf (15 Desember 2015)

(35)

Setiawan, A.E., 2015. Perbandingan Content Based Image Retrieval dengan Fitur Warna Menggunakan Metode Colour Histogram dan Fitur Tekstur Menggunakan Metode Grey Level Co-Occurrence Matrices.

Skripsi.Universitas Sumatera Utara

Tania, K.D. 2010. Pengenalan Gambar Menggunakan Sebagian Data Gambar. Skripsi. Universitas Sriwijaya

Tuceryan, M. & Jain, A.K. 1998. Texture Analysis Handbook of Pattern

Recognition and Computer Vision. World Scientific Computing Co.

Ulum, M.F. 2013. Ekstraksi Titik-Titik Fitur Pada Citra Menggunakan Speeded Up Robust Features (SURF) . Skripsi. Universitas Muhammadiyah Jember. Utami, A.S. 2011. Perancangan Perangkat Lunak Sistem Temu Balik Citra

Menggunakan Jarak Histogram Dengan Model Warna YIQ. Skripsi. Universitas Sumatera Utara.

Zhang, Y. 2002. On the use of CBIR in Image Mosaic Generation. (Online).

http://webdocs.cs.ualberta.ca/~zaiane/postscript/thesis/YueZhang2002.pdf

(36)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Tahapan ini dilakukan untuk menjelaskan permasalahan yang menjadi dasar dalam proses perancangan model sistem sehingga diperoleh pemahaman akan kebutuhan serta tugas dasar yang akan dikerjakan oleh sistem sebagai solusi terhadap permasalahan yang dihadapi tersebut.

3.1.1 Analisis Masalah

Permasalahan yang akan diangkat dari penelitian ini adalah bagaimana menemukan kembali (retrieve) konten gambar ataupun citra yang diinginkan dengan menggunakan Algoritma Speeded-Up Robust Featuress (SURF).

Pada penelitian ini, citra yang dicari merupakan citra digital dalam format .bmp maupun .jpg dan terdiri dari 100 gambar yang terbagi atas 10 kategori. Selanjutnya, koleksi citra akan diproses untuk memperoleh ekstraksi ciri dari tiap citra dan dibandingkan dengan citra query (citra yang akan dicari) menggunakan perbandingan jarak Euclidean Distance. Semakin pendek jarak antara citra koleksi dengan citra query maka semakin tinggi tingkat kemiripan antara kedua citra. Berdasarkan jarak citra yang diperoleh, setelah itu akan dilakukan proses

ranking untuk menampilkan hasil temu balik citra dengan tingkat kemiripan

paling tinggi ke paling rendah.

(37)

mengeksplorasi dan menggambarkan suatu masalah serta sebab-akibat atau disebut juga diagram tulang ikan.

Berikut adalah diagram Ishikawa pada Gambar 3.1.

Gambar 3.1 Diagram Ishikawa

Diagram diatas terbagi atas 2 (dua) bagian yaitu head dan bone. Bone terdiri dari 4 aspek yaitu material, metode, manusia dan mesin. Material adalah apa saja yang diperlukan dalam menjalankan sistem yaitu citra grayscale dengan format .bmp. dan .jpg. Metode adalah kebutuhan yang spesifik dari proses yang terdiri dari 2 (dua) bagian. Pertama berupa algoritma ekstraksi ciri yaitu Speeded-Up Robust

Features serta metode untuk mencari jarak antara koleksi citra dengan citra yang

akan dicari yaitu Euclidean Distance. Manusia adalah pengguna yang melakukan proses interaksi dengan sistem, yaitu menentukan citra koleksi dan citra yang akan dicari. Mesin adalah apa saja yang dilakukan oleh sistem guna memberikan solusi permasalahan yaitu ekstraksi ciri koleksi citra, membandingkan jarak citra certa menampilkan hasil temu balik citra.

(38)

3.1.2 Analisis Kebutuhan

Terdapat dua bagian pada analisis kebutuhan, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional sistem terdiri dari:

1. Jenis file citra asli yang digunakan adalah grayscale berformat *.bmp dan .jpg

2. Maksimal sample citra yang digunakan berjumlah 100 citra.

3. Diuji oleh 10 pengguna dan tiap pengguna memilih 1 kategori gambar yang akan dicari dari 10 kategori gambar, Kategori gambar terdiri dari gambar rumah, kupu-kupu sayap terbuka, kupu-kupu sayap tertutup, panda, gedung, bus, burung, tangan, bentuk hati dan pisang.

4. Penelitian terhadap SURF mempertimbangkan faktor rotasi dan resize. 5. Parameter yang digunakan untuk menguji hasil temu balik citra adalah

running time atau waktu proses dan tingkat keberhasilan CBIR menggunakan

metode recall dan precision.

6. Metode pengukuran kemiripan yang digunakan adalah Euclidean Distance. 7. Bahasa pemograman yang digunakan adalah C#.

3.1.2.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan

performance dari suatu sistem. (IEEE, 1998) . Berdasarkan IEEE, Terdapat

beberapa kebutuhan non-fungsional yang harus dipenuhi diantaranya :

1. Performa

(39)

2. Interface yang baik

Sistem yang akan dibangun harus memiliki interface yang user friendly, artinya sistem ini akan mudah digunakan serta dimengerti oleh user.

3. Hemat Biaya

Sistem yang digunakan tidak memerlukan perangkat tambahan yang memerlukan biaya.

4. Manajemen Kualitas

Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yaitu memiliki hasil recall dan precision yang cukup baik serta dapat menghitung nilai running time terhadap proses temu balik citra relevan.

3.1.3 Analisis Proses

Sistem ini memiliki 2 proses, yaitu proses implementasi algoritma Speeded-Up

Robust Features untuk ekstraksi ciri dari koleksi citra dan proses perhitungan

jarak antar citra dengan Euclidean Distance.

3.2 Pemodelan

Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem. Beberapa jenis UML yang digunakan dalam penelitian ini yaitu use case

diagram, sequence diagram dan activity diagram.

3.2.1 Preprocessing

Preprocessing adalah proses pengolahan data masukan sebelum data tersebut

(40)

3.2.1.1 Konversi citra RGB ke Grayscale dan .bmp

Gambar 3.2 Diagram Preprocessing Konversi Citra RGB ke Grayscale

3.2.1. Use Case Diagram

Use case diagram adalah rangkaian sekelompok yang saling terkait dan

membentuk sistem secara teratur yang dilakukan oleh seorang aktor. Use case diagram biasanya menggambarkan proses sistem yaitu kebutuhan sistem dari sudut pandang user. Berikut use case diagram dapat dilihat pada Gambar 3.2.

Konversi RGB ke

Grayscale dan .bmp

(function)

Sistem melakukan proses ekstraksi ciri seluruh citra

dengan SURF

Sistem mencari citra relevan dengan membandingkan hasil

Euclidean Distance Input citra RGB

oleh pengguna

Input citra RGB yang

akan dicari pengguna

(41)

Gambar 3.3 Use Case Diagram

3.2.1.1. Use Case Mencari Citra Relevan

Spesifikasi use case mencari citra relevan dapat dilihat pada Tabel 3.1.

Tabel 3.1 Spesifikasi Use Case Mencari Citra Relevan

Name Mencari Citra Relevan

Actors Pengguna

Trigger Pengguna memilih menu Mencari Citra Relevan

Preconditions Pengguna mengakses menu Mencari Citra Relevan

(42)

membandingkan kemiripan citra menggunakan

Euclidean Distance.

Success Scenario 1. Pengguna mengeksekusi menu Menampilkan Citra Relevan

2. Sistem akan menampilkan halaman Menampilkan Citra Relevan.

3. Pengguna memilih 2 pilihan menu yaitu ekstraksi ciri citra dengan Speeded-Up Robust Features atau membandingkan kemiripan citra dengan Euclidean

Distance Alternative Flows -

3.2.1.2. Use Case Ekstraksi Ciri Citra dengan Speeded-Up Robust Features Spesifikasi use case Ekstraksi Ciri Citra dengan Speeded-Up Robust Features dapat dilihat pada Tabel 3.2.

Tabel 3.2 Spesifikasi Use Case Ekstraksi Ciri Citra dengan Speeded-Up Robust Features

Name Ekstraksi Ciri Citra dengan Speeded-Up Robust

Features Actors Pengguna

Trigger Pengguna memilih menu Mencari Citra Relevan.

Preconditions Pengguna mengakses menu Ekstraksi Ciri Citra dengan Speeded-Up Robust Features

Post Conditions Sistem akan menampilkan komponen yang ada di halaman Ekstraksi Ciri Citra dengan Speeded-Up

Robust Features.

Success Scenario 1. Penguna telah memilih Ekstraksi Ciri Citra dengan

(43)

3. Pengguna menekan tombol mulai ekstraksi ciri 4. Sistem akan melakukan proses ektraksi ciri

terhadap koleksi citra ( melakukan deteksi dan deskripsi terhadap Interest Point ) serta

menampilkan running time.

Alternative Flows -

3.2.1.3. Use Case Membandingkan Kemiripan dengan Euclidean Distance. Spesifikasi use case Membandingkan Kemiripan dengan Euclidean Distance dapat dilihat pada Tabel 3.3.

Tabel 3.3 Spesifikasi Use Case Membandingkan Kemiripan dengan

Euclidean Distance

Name Membandingkan Kemiripan dengan Euclidean Distance

Actors Pengguna

Trigger Pengguna memilih menu Menampilkan Citra Relevan.

Preconditions Pengguna mengakses menu Membandingkan Kemiripan dengan Euclidean Distance.

Post Conditions Sistem akan menampilkan komponen yang ada di halaman Membandingkan Kemiripan dengan

Euclidean Distance.

Success Scenario 1. Penguna telah memilih Membandingkan Kemiripan dengan Euclidean Distance. 2. Pengguna menentukan citra yang akan dicari. 3. Pengguna menekan tombol mulai pencarian citra. 4. Sistem akan melakukan proses perhitungan jarak

antara citra yang dicari dengan koleksi citra menggunakan Euclidean Distance dan

(44)

Alternative Flows -

3.2.2. Activity Diagram

Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja

dalam sebuah sistem yang sedang berjalan. Activity diagram bertujuan untuk membantu memahami keseluruhan proses dan menggambarkan interaksi use case.

Activity diagram dapat dilihat pada Gambar 3.3

(45)

3.2.3. Sequence Diagram

Sequence diagram merupakan suatu diagram yang menampilkan

interaksi-interkasi yang ada pada sistem secara berurutan. Sequence diagram sistem dapat dilihat pada Gambar 3.4.

(46)

3.3 Perancangan Sistem

3.3.1 Flowchart Sistem

Gambar 3.6 Flowchart Sistem Keterangan :

1. Mulai

2. Pengguna menentukan / input folder koleksi citra

3. Ubah citra asli ke dalam grayscale dan .bmp serta lakukan proses ekstraksi ciri

citra. Deteksi Interest / Key Point dari koleksi citra

4. Lakukan proses Descriptor, deskripsikan atau ekstraksi fitur dari seluruh citra

(47)

6. Lakukan proses Similiarity Comparison, bandingkan deskripsi fitur dari tiap

citra dan hitung kemiripan antar fitur citra dengan menghitung jarak citra

menggunakan Euclidean Distance.

7. Tampilkan hasil temu balik citra, urutkan dan tampilkan gambar yang memiliki

fitur relevan serta running time.

8. Selesai

3.3.2 Perancangan Antarmuka Sistem (Interface)

Perancangan antarmuka digunakan untuk menampilkan antarmuka sistem yang akan digunakan oleh pengguna.

3.3.2.1 Halaman Awal

Halaman awal merupakan halaman yang pertama kali muncul pada saat sistem dijalankan. rancangan halaman awal dapat dilihat pada Gambar 3.6.

(48)

Tabel 3.4 Keterangan Gambar Rancangan Interface Halaman Awal

No Keterangan

1 Merupakan Label untuk udul Skripsi 2 Merupakan Label untuk Nama dan NIM

3 Merupakan Picture Box untuk Logo Unviersitas

4 Merupakan Label untuk Program Studi dan Universitas

5 Merupakan Button untuk Menampilkan Halaman Mulai Pencarian Citra 6 Merupakan Button untuk Menampilkan Halaman Bantuan

3.3.2.2 Halaman Menu Pencarian Citra Relevan

rancangan menu pencarian citra relevan dapat dilihat pada Gambar 3.7 berikut :

(49)

Tabel 3.5 Keterangan Gambar Rancangan Interface Halaman Pencarian Citra Relevan

No Keterangan

1 Merupakan Label untuk Informasi Folder Koleksi Citra 2 Merupakan Progress Bar untuk Proses Ekstraksi Ciri

3 Merupakan Label untuk Menampilkan Running Time Ekstraksi Ciri 4 Merupakan Combo Box untuk Menentukan Nilai Threshold

5 Merupakan Picture Box untuk Menampilkan Citra-Citra Relevan 6 Merupakan Button untuk Memilih Folder Koleksi Citra

7 Merupakan Button untuk Memulai Ekstraksi Ciri dari Koleksi Citra 8 Merupakan Label untuk Menampilkan Running Time Pencarian Citra 9 Merupakan Label untuk Menampilkan Info Citra Yang Dicari

10 Merupakan Button untuk Memilih Citra Yang Akan Dicari

11 Merupakan Button untuk Mengulang Pencarian Dengan Citra Yang Sama 12 Merupakan Picture Box untuk Menampilkan Citra Yang Akan Dicari 13 Merupakan Label untuk Menampilkan Jumlah Citra Relevan

14 Merupakan Scroll Tool untuk Menampilkan Hasil Lengkap Citra Relevan

3.3.2.3 Halaman Menu Bantuan

rancangan halaman Menu Bantuan dapat dilihat pada Gambar 3.8 berikut :

(50)

Tabel 3.6 Keterangan Gambar Rancangan Interface Menu Bantuan

No Keterangan

1 Merupakan Picture Box untuk Screenshot Sistem

(51)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman C# dan menggunakan

Sharp Develop.

4.1.1 Halaman Awal

(52)

button. Button yang pertama digunakan untuk membuka halaman pencarian serta yang

kedua digunakan untuk membuka halaman bantuan.

4.1.2 Halaman Pencarian Citra Relevan

Interface Halaman Pencarian Citra Relevan dapat dilihat pada Gambar 4.2 . Halaman

pencarian terdiri dari 4 bagian utama, yaitu bagian indexing, bagian pemilihan image

query, bagian hasil citra relevan dan bagian detail similarity comparison.

Gambar 4.2 Halaman Pencarian Citra Relevan

Untuk memilih folder koleksi citra dan memulai proses ektraksi ciri citra dapat dilakukan dengan menekan button “Pilih Folder” lalu “Mulai Indexing” sehingga proses ekstraksi

(53)

Gambar 4.3. Halaman Pencarian Citra Relevan - Area 1

Untuk memilih citra yang akan dicari dan memulai proses pencarian citra dan penghitungan kemiripan citra dengan Euclidean Distance dapat dilakukan pada Area - 2 seperti pada Gambar 4.4. Button “Pilih Gambar dan Cari” akan membuka dialog dan pengguna dibebaskan untuk memilih gambar yang akan dijadikan query. Button “Ulangi Pencarian” akan melakukan proses pencarian ulang menggunakan gambar yang telah dipilih sebelumnya.

(54)

relevan akan diurutkan / ranking berdasarkan persentase tingkat kemiripan antara citra

query dengan database koleksi citra.

Gambar 4.5 Halaman Pencarian Citra Relevan - Area 3

Hasil pencarian citra relevan secara detail ditampilkan pada Area - 4 seperti pada Gambar 4.6. Interest Point / Keypoint yang cocok antara citra query dengan citra dari koleksi

database akan dihubungkan menggunakan garis berwarna kuning. Orientasi titik interest

(55)

Halaman menu bantuan merupakan halaman yang menjelaskan cara-cara dalam menggunakan sistem ini. Gambar 4.7 di bawah ini menunjukkan halaman menu bantuan.

Gambar 4.7. Halaman Bantuan 4.1.4 Penjelasan

Seluruh citra yang dipilih akan memasuki proses preprocessing terlebih dahulu. Gambar berformat .jpg akan dikonversi menjadi .bmp, serta citra RGB akan dikonversi menjadi citra Grayscale berskala 0 hingga 1 dengan gradiasi dari warna hitam ke abu-abu serta mendekati putih. Seperti pada gambar 4.8.

(56)

citra. Pada algoritma SURF menggunakan proses filtering berkala menggunakan

Scale-Space serta Hessian Matrix dan LoG yang diilustrasikan dengan menggunakan image pyramid. Sehingga pixel citra yang dimasukkan dapat bervariasi. Seperti pada gambar 4.9

dan 4.10.

Gambar 4.9. Proses Scale-Space

Gambar 4.10. Ilustrasi Proses Scale-Space dengan Filtering Berkala Menghitung integral image menggunakan rumus berikut :

∑ , = ∑

∑ ,

(57)

∑ , = ∑ = + − + =

Serta diilustrasikan pada gambar 4.11

Gambar 4.11. Ilustrasi Integral Image

Hasil detektor interest point dimasukkan atau dideskripsikan ke dalam vektor berdimensi 4 menggunakan Haar Wavelet .

� = ∑ , ∑ , ∑ | | , ∑ | |

Lalu dilakukan perbandingan kemiripan citra atau similarity comparison menggunakan perhitungan jarak Euclidean Distance menggunakan persamaan :

, = √∑� −

=

Misalnya terdapat citra yang telah diproses dan dimasukkan ke dalam vektor berdimensi 3, diketahui vektor v1 dan v2 pada deskriptor berdimensi tiga sebagai berikut:

(58)

Distance.

, = √∑� − + − +

=

, = √∑� − + − + −

=

, = √∑� + +

=

, = √∑ 9 + 9 + 9�

=

, = . 9

Maka diperoleh bahwa jarak antara dua citra adalah 5.196. Semakin kecil jarak antara dua citra maka semakin mirip kedua citra tersebut dan sebaliknya.

Setelah itu dilakukan proses ranking berdasarkan presentase kemiripan citra dari hasil

Euclidean Distance tersebut. Interest Point yang mirip dimasukkan ke dalam list Match Point. Dan citra relevan akan ditampilkan setelah diurutkan presentase kemiripan secara

Descending.

Proses ranking similarity comparison dilakukan dengan rumus :

(59)

Ranking Nama File Model Feature Match Point Match Precentage

1 Rotasi1.jpg 53 53 100 %

2 Rotasi6.jpg 53 40 75 %

3 Rotasi3.jpg 53 35 66 %

4 Rotasi8.jpg 53 35 66 %

5 Rotasi9.jpg 53 30 57 %

6 Rotasi10.jpg 53 18 34 %

7 Rotasi5.jpg 53 12 23 %

8 Rotasi4.jpg 53 10 19 %

9 Rotasi2.jpg 53 9 17 %

10 Rotasi7.jpg 53 6 11 %

Proses ranking pada tabel 4.1 dilakukan dengan menguji coba citra Rotasi1.jpg dan membandingkannya dengan 20 koleksi citra ( 10 citra uji rotasi dan 10 citra uji skala ) . Ketika proses perbandingan kemiripan antara citra dilakukan sistem menghitung jarak antar citra serta jumlah features yang mirip pada citra query dengan koleksi citra lalu mengurutkan secara descending atau dari kemiripan dengan persentase terbesar hingga terkecil.

(60)

Gambar 4.12. Diagram Sistem CBIR dengan SURF

Efisiensi pada sistem CBIR yang telah dirancang ditingkatkan dengan cara melakukan ekstraksi fitur seluruh koleksi citra ke dalam vektor serta memasukkan vektor tersebut ke dalam database. Ketika proses perbandingan antara citra dilakukan, sistem cukup memanggil vektor dalam database yang telah diproses sebelumnya dan membandingkannya dengan citra query atau citra yang akan dicari. Lalu hasil perbandingan diurutkan dari citra relevan yang memiliki kemiripan paling tinggi ke paling rendah.

4.2 Pengujian

(61)

Untuk melakukan pengujian terhadap proses pencarian citra relevan menggunakan algoritma Speeded-Up Robust Features (SURF) dan perbandingan kemiripan antara citra menggunakan Euclidean Distance. Threshold yang digunakan bernilai 100 serta akan digunakan 100 citra yang terdiri dari 10 kategori. Kategori terdiri dari :

1. Burung Flamingo 6. Kupu-Kupu Sayap Terbuka

2. Bus 7. Gedung Monas

3. Kupu-Kupu Sayap Tertutup 8. Panda

4. Tangan 9. Pisang

5. Hati 10. Rumah

(62)
(63)
(64)
(65)
(66)
(67)
(68)
(69)
(70)
(71)
(72)

Untuk melakukan pengujian terhadap ketahanan Algoritma Speeded-Up Robust Features (SURF) terhadap rotasi maka dilakukan pengujian terhadap citra "kategori 9 - pisang" yang telah diberikan perubahan arah / rotasi.

(73)

Untuk melakukan pengujian terhadap ketahanan Algoritma Speeded-Up Robust Features (SURF) terhadap skala maka dilakukan pengujian terhadap citra "kategori 8 - panda" yang telah diberikan perubahan skala.

(74)

4.3 Hasil Pengujian

Pengujian terhadap 100 Citra yang terdiri dari 10 Kategori dilakukan oleh 10 Pengguna. Setiap pengguna memilih 1 Citra sebagai Citra Query dan menggunakan nilai 1000 untuk threshold. Sistem akan menampilkan citra yang relevan dengan citra query / citra yang dicari. Sehingga pengguna dapat melihat hasil temu balik citra yang relevan serta menilai kualitas citra berdasarkan jumlah citra relevan maupun jumlah seluruh citra yang dikembalikan.

4.3.1 Hasil Pengujian Proses Pencarian Citra Relevan 4.3.1.1 Hasil Pengujian Kategori 1

(75)

Gambar 4.14. Pencarian Citra Relevan Kategori 1 - 2

(76)

Gambar 4.16. Pencarian Citra Relevan Kategori 1 - 4

(77)

Kategori 2 atau Bus menggunakan citra bus3.jpg sebagai citra query. Hasil pengujian proses pencarian citra relevan dari kategori 2 dapat dilihat pada Gambar 4.18 hingga 4.20

Gambar 4.18. Pencarian Citra Relevan Kategori 2 – 1

(78)

Gambar 4.20. Pencarian Citra Relevan Kategori 2 – 3 4.3.1.3 Hasil Pengujian Kategori 3

Kategori 3 atau Kupu-Kupu Sayap Tertutup menggunakan citra close1.jpg sebagai citra

query. Hasil pengujian proses pencarian citra relevan dari kategori 2 dapat dilihat pada

(79)
(80)

Kategori 4 atau Bentuk Tangan menggunakan citra hand5.jpg sebagai citra query. Hasil pengujian proses pencarian citra relevan dari kategori 4 dapat dilihat pada Gambar 4.24 hingga 4.29

Gambar 4.24. Pencarian Citra Relevan Kategori 4 - 1

(81)

Gambar 4.26. Pencarian Citra Relevan Kategori 4 - 3

(82)

Gambar 4.28. Pencarian Citra Relevan Kategori 4 - 5

(83)

Kategori 5 atau Bentuk Hati menggunakan citra hati1.png sebagai citra query. Hasil pengujian proses pencarian citra relevan dari kategori 5 dapat dilihat pada Gambar 4.30 hingga 4.32

Gambar 4.30. Pencarian Citra Relevan Kategori 5 – 1

(84)

Gambar 4.32. Pencarian Citra Relevan Kategori 5 - 3

4.3.1.6 Hasil Pengujian Kategori 6

(85)

Gambar 4.34. Pencarian Citra Relevan Kategori 6 - 2

(86)

Gambar 4.36. Pencarian Citra Relevan Kategori 6 - 4

(87)

Gambar 4.38. Pencarian Citra Relevan Kategori 6 - 6

4.3.1.7 Hasil Pengujian Kategori 7

Kategori 7 atau Bentuk Gedung Monas menggunakan citra monas2.jpg sebagai citra

query. Hasil pengujian proses pencarian citra relevan dari kategori 7 dapat dilihat pada

Gambar 4.39 hingga 4.40

Gambar 4.39. Pencarian Citra Relevan Kategori 7 – 1

(88)

Gambar 4.40. Pencarian Citra Relevan Kategori 7 - 2

4.3.1.8 Hasil Pengujian Kategori 8

Kategori 8 atau Panda menggunakan citra panda2.jpg sebagai citra query. Hasil pengujian proses pencarian citra relevan dari kategori 8 dapat dilihat pada Gambar 4.41 hingga 4.45

(89)

Gambar 4.42. Pencarian Citra Relevan Kategori 8 - 2

(90)

Gambar 4.44. Pencarian Citra Relevan Kategori 8 - 4

Gambar 4.45. Pencarian Citra Relevan Kategori 8 - 5

4.3.1.9 Hasil Pengujian Kategori 9

(91)

Gambar 4.46. Pencarian Citra Relevan Kategori 9 - 1

Dengan masukkan citra query “pisang4.jpg”, sistem mengembalikan 36 citra dari 100 citra.

(92)

Gambar 4.48. Pencarian Citra Relevan Kategori 9 - 3

4.3.1.10 Hasil Pengujian Kategori 10

Kategori 10 atau Rumah menggunakan citra rumah9.jpg sebagai citra query. Hasil pengujian proses pencarian citra relevan dari kategori 10 dapat dilihat pada Gambar 4.49 hingga 4.51.

(93)

Gambar 4.50. Pencarian Citra Relevan Kategori 10 - 2

(94)

4.3.2 Hasil Pengujian Pengaruh Rotasi

Hasil pengujian terhadap pengaruh rotasi dapat dilihat pada Gambar 4.52 hingga 4.54

Gambar 4.52. Pengujian Rotasi - 1

(95)

Gambar 4.54. Pengujian Rotasi - 3

Dengan masukkan citra query “rotasi1.jpg” serta penggunaan nilai threshold 1000 sistem mengembalikan 13 citra dari 20 citra. Untuk detail dari perbandingan kemiripan citra dapat dilihat pada gambar 4.54, citra yang memiliki kemiripan dihubungkan dengan menggunakan garis berwarna kuning.

4.3.2.1 Hasil Pengujian Pengaruh Rotasi - Threshold 1000

(96)

Tabel 4.14 Hasil Citra Uji Rotasi Threshold 1000 Rotasi - Threshold 1000

Ranking Nama File

Presentasi Kemiripan

(%)

Ranking Nama File

Presentasi Kemiripan (%)

1 Rotasi 1 100 6 Rotasi10 34

2 Rotasi 6 75 7 Rotasi5 23

3 Rotasi 3 66 8 Rotasi4 19

4 Rotasi 8 66 9 Rotasi2 17

5 Rotasi 9 57 10 Rotasi7 11

Dengan masukkan citra query “rotasi1.jpg” serta penggunaan nilai threshold 1000 sistem mengembalikan 13 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.14, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.3.2.2 Hasil Pengujian Pengaruh Rotasi - Threshold 500

(97)

Rotasi - Threshold 500 Ranking Nama

File

Presentasi Kemiripan

(%)

Ranking Nama File

Presentasi Kemiripan (%)

1 Rotasi 1 100 6 Rotasi10 35

2 Rotasi 6 78 7 Rotasi5 16

3 Rotasi 8 65 8 Rotasi4 18

4 Rotasi 3 63 9 Rotasi2 11

5 Rotasi 9 49 10 Rotasi7 19

11 Scala4 2

Dengan masukkan citra query “rotasi1.jpg” serta penggunaan nilai threshold 500 sistem mengembalikan 11 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.15, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.3.2.3 Hasil Pengujian Pengaruh Rotasi - Threshold 250

(98)

Rotasi - Threshold 250 Ranking Nama

File

Presentasi Kemiripan

(%)

Ranking Nama File

Presentasi Kemiripan (%)

1 Rotasi 1 100 7 Rotasi 5 16

2 Rotasi 6 76 8 Rotasi 7 12

3 Rotasi 8 69 9 Rotasi 2 11

4 Rotasi 3 65 10 Rotasi 4 11

5 Rotasi 9 46 11 Scala 4 2

6 Rotasi 10

38 12 Scala 5 2

Dengan masukkan citra query “rotasi1.jpg” serta penggunaan nilai threshold 500 sistem mengembalikan 12 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.14, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.3.3 Hasil Pengujian Pengaruh Skala

(99)

Gambar 4.59. Pengujian Skala - 2

Gambar 4.60. Pengujian Skala - 3

(100)

4.3.3.1 Hasil Pengujian Pengaruh Skala - Threshold 1000

Hasil pengujian terhadap pengaruh skala dengan menggunakan nilai threshold sebesar 1000 dapat dilihat pada Gambar 4.61 dan Tabel 4.17.

(101)

Skala - Threshold 1000

Dengan masukkan citra query “skala1.jpg” serta penggunaan nilai threshold 1000 sistem mengembalikan 15 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.17, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.3.3.2 Hasil Pengujian Pengaruh Skala - Threshold 500

(102)

Tabel 4.18 Hasil Citra Uji Skala Threshold 500

Dengan masukkan citra query “skala1.jpg” serta penggunaan nilai threshold 1000 sistem mengembalikan 15 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.18, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.3.3.3 Hasil Pengujian Pengaruh Skala - Threshold 250

(103)

Gambar 4.65 Pengujian Skala Threshold 250 - 2 Tabel 4.19 Hasil Citra Uji Skala Threshold 250

Skala - Threshold 250 Ranking Nama

File

Presentasi Kemiripan

(%)

Ranking Nama File

Presentasi Kemiripan (%)

1 Skala 1 99 9 Skala 7 6

2 Skala 2 40 10 Rotasi 9 5

3 Skala 3 38 11 Rotasi 1 3

4 Skala 5 37 12 Rotasi

10

3

5 Skala 4 33 13 Rotasi 5 3

6 Skala 6 16 14 Skala 8 3

7 Rotasi 3 7 15 Rotasi 4 2

(104)

mengembalikan 15 citra dari 20 citra. Untuk ranking dari perbandingan kemiripan citra dapat dilihat pada tabel 4.19, citra yang memiliki kemiripan diurutkan secara descending berdasarkan persentase kemiripannya.

4.4 Parameter Pengujian

Parameter pengujian yang digunakan untuk menguji kualitas sistem Content Based

Image Retrieval adalah nilai dari Recall, Precision, dan Running Time (ms).

� � =|{� � |{ } ∩ { }| }|

� = |{� � |{ } ∩ { }| }|

4.4.1 Parameter Pengujian Proses Pencarian Citra Relevan 4.4.1.1 Parameter Pengujian Kategori 1

Tabel 4.20 Hasil Parameter Uji Kategori 1 Kategori 1 - - Burung Flamingo - Threshold 1000

Running Time (ms) Recall

10/10

Precision 10/54 Ekstraksi Ciri Jarak Citra

109986 13104 1 (100%) 0.185 (18.5%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 54

(105)

precision 18.5%. Seluruh citra relevan dikembalikan (10 dari 10 citra ) dan ada 54 citra

dari 100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.2 Parameter Pengujian Kategori 2

Tabel 4.21 Hasil Parameter Uji Kategori 2 Kategori 2 - Bus - Threshold 1000

Running Time (ms) Recall

6/10

Precision 6/26 Ekstraksi Ciri Jarak Citra

109986 40224 0.6 (60%) 0.23 (23%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 26

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 6 Jumlah Citra Tidak Relevan Yang Dikembalikan 20

Pada pengujian terhadap citra kategori 2 diperoleh rata-rata nilai recall 60% dan nilai

precision 23%. Citra relevan yang dikembalikan ada 6 dari 10 citra dan ada 26 citra dari

100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.3 Parameter Pengujian Kategori 3

Tabel 4.22 Hasil Parameter Uji Kategori 3

Kategori 3 - Kupu-Kupu Sayap Terutup- Threshold 1000

Running Time (ms) Recall

9/10

Precision 9/31 Ekstraksi Ciri Jarak Citra

(106)

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 9 Jumlah Citra Tidak Relevan Yang Dikembalikan 22

Pada pengujian terhadap citra kategori 3 diperoleh rata-rata nilai recall 90% dan nilai

precision 29%. Citra relevan yang dikembalikan ada 9 dari 10 citra dan ada 31 citra dari

100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.4 Parameter Pengujian Kategori 4

Tabel 4.23 Hasil Parameter Uji Kategori 4 Kategori 4 - Bentuk Tangan - Threshold 1000

Running Time (ms) Recall

8/10

Precision 8/66 Ekstraksi Ciri Jarak Citra

109986 9961 0.8 (80%) 0.121 (12.1%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 66

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 8 Jumlah Citra Tidak Relevan Yang Dikembalikan 58

Pada pengujian terhadap citra kategori 4 diperoleh rata-rata nilai recall 80% dan nilai

precision 12.1%. Citra relevan yang dikembalikan ada 8 dari 10 citra dan ada 66 citra dari

(107)

Tabel 4.24 Hasil Parameter Uji Kategori 5 Kategori 5 - Bentuk Hati - Threshold 1000

Running Time (ms) Recall

7/10

Precision 7/32 Ekstraksi Ciri Jarak Citra

109986 3028 0.7 (70%) 0.218 (21.8%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 32

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 7 Jumlah Citra Tidak Relevan Yang Dikembalikan 14

Pada pengujian terhadap citra kategori 5 diperoleh rata-rata nilai recall 70% dan nilai

precision 21.8%. Citra relevan yang dikembalikan ada 7 dari 10 citra dan ada 32 citra dari

100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.6 Parameter Pengujian Kategori 6

Tabel 4.25 Hasil Parameter Uji Kategori 6

Kategori 6 - Kupu-Kupu Sayap Terbuka - Threshold 1000

Running Time (ms) Recall

10/10

Precision 10/63 Ekstraksi Ciri Jarak Citra

109986 75103 1 (100%) 0.158 (15.8%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 63

(108)

Pada pengujian terhadap citra kategori 6 diperoleh rata-rata nilai recall 100% dan nilai

precision 15.8%. Citra relevan yang dikembalikan ada 10 dari 10 citra dan ada 63 citra

dari 100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.7 Parameter Pengujian Kategori 7

Tabel 4.26 Hasil Parameter Uji Kategori 7 Kategori 7 - Gedung Monas - Threshold 1000

Running Time (ms) Recall

7/10

Precision 7/21 Ekstraksi Ciri Jarak Citra

109986 11185 0.7 (70%) 0.333 (33.3%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 21

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 7 Jumlah Citra Tidak Relevan Yang Dikembalikan 14

Pada pengujian terhadap citra kategori 7 diperoleh rata-rata nilai recall 70% dan nilai

precision 33.3%. Citra relevan yang dikembalikan ada 7 dari 10 citra dan ada 21 citra dari

100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.8 Parameter Pengujian Kategori 8

Tabel 4.27 Hasil Parameter Uji Kategori 8 Kategori 8 - Panda - Threshold 1000

Running Time (ms) Recall

10/10

(109)

Jumlah Citra Yang Dikembalikan 54 Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 10 Jumlah Citra Tidak Relevan Yang Dikembalikan 44

Pada pengujian terhadap citra kategori 8 diperoleh rata-rata nilai recall 100% dan nilai

precision 18.5%. Citra relevan yang dikembalikan ada 10 dari 10 citra dan ada 54 citra

dari 100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.9 Parameter Pengujian Kategori 9

Tabel 4.28 Hasil Parameter Uji Kategori 9 Kategori 9 - Pisang - Threshold 1000

Running Time (ms) Recall

9/10

Precision 9/36 Ekstraksi Ciri Jarak Citra

109986 1784 0.9 (90%) 0.25 (25%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 36

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 9 Jumlah Citra Tidak Relevan Yang Dikembalikan 27

Pada pengujian terhadap citra kategori 9 diperoleh rata-rata nilai recall 90% dan nilai

precision 25%. Citra relevan yang dikembalikan ada 9 dari 10 citra dan ada 36 citra dari

(110)

Tabel 4.29 Hasil Parameter Uji Kategori 10 Kategori 10 - Rumah - Threshold 1000

Running Time (ms) Recall

7/10

Precision 7/27 Ekstraksi Ciri Jarak Citra

109986 23229 0.7 (70%) 0.259 (25.9%)

Jumlah Koleksi Citra 100

Jumlah Citra Yang Dikembalikan 27

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 7 Jumlah Citra Tidak Relevan Yang Dikembalikan 20

Pada pengujian terhadap citra kategori 10 diperoleh rata-rata nilai recall 70% dan nilai

precision 25.9%. Citra relevan yang dikembalikan ada 7 dari 10 citra dan ada 27 citra dari

100 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.1.11 Rata-Rata Parameter Pengujian Hasil Citra Relevan

Tabel 4.30 Hasil Rata-Rata Parameter Uji Citra Relevan

Kategori Running Time (ms) Recall Precision

(111)

10 109986 23229 70 % 25.9 %

Rata-Rata 109986 30376.7 83 % 22.29 %

Dapat dilihat berdasarkan pengujian terhadap 100 citra atau 10 kategori citra hasil temu balik citra menggunakan algoritma SURF dapat dikatakan berhasil dengan cukup baik. Pada pengujian terhadap citra 10 kategori diperoleh rata-rata nilai recall 83% dan nilai

precision 22.29%.

4.4.2 Parameter Pengujian Rotasi

4.4.2.1 Parameter Pengujian Rotasi - Threshold 1000

Tabel 4.31 Hasil Parameter Uji Rotasi Threshold 1000 Rotasi - Threshold 1000

Running Time (ms) Recall

10/10

Precision 10/10 Ekstraksi Ciri Jarak Citra

44312 3434 1 (100%) 1 (100%)

Jumlah Koleksi Citra 20

Jumlah Citra Yang Dikembalikan 10

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 10 Jumlah Citra Tidak Relevan Yang Dikembalikan 0

Pada pengujian terhadap rotasi dengan nilai threshold 1000 diperoleh rata-rata nilai recall 100% dan nilai precision 100%. Citra relevan yang dikembalikan ada 10 dari 10 citra dan ada 10 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

(112)

Tabel 4.32 Hasil Parameter Uji Rotasi Threshold 500 Rotasi - Threshold 500

Running Time (ms) Recall

10/10

Precision 10/11 Ekstraksi Ciri Jarak Citra

47200 4412 1 (100%) 0.909 (90.9%)

Jumlah Koleksi Citra 20

Jumlah Citra Yang Dikembalikan 11

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 10 Jumlah Citra Tidak Relevan Yang Dikembalikan 1

Pada pengujian terhadap rotasi dengan nilai threshold 500 diperoleh rata-rata nilai recall 100% dan nilai precision 90.9%. Citra relevan yang dikembalikan ada 10 dari 10 citra dan ada 11 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.2.3 Parameter Pengujian Rotasi - Threshold 250

Tabel 4.33 Hasil Parameter Uji Rotasi Threshold 250 Rotasi - Threshold 250

Running Time (ms) Recall

10/10

Precision 10/12 Ekstraksi Ciri Jarak Citra

45592 4928 1 (100%) 0.833 (83.3%)

Jumlah Koleksi Citra 20

Jumlah Citra Yang Dikembalikan 12

(113)

100% dan nilai precision 83.3%. Citra relevan yang dikembalikan ada 10 dari 10 citra dan ada 12 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.2.4 Rata-Rata Parameter Pengujian Rotasi

Tabel 4.34 Hasil Rata-Rata Parameter Uji Rotasi

No Running Time Recall Precision

Threshold Ekstraksi Similarity

1 1000 44312 3434 100 % 100 %

2 500 47200 4412 100 % 90.9 %

3 250 45592 4928 100 % 83.3 %

Rata-Rata 45701.3 4258 100 % 91.4 %

Pada pengujian terhadap rotasi dengan nilai threshold 1000,500 dan 250 diperoleh rata-rata nilai recall 100% dan nilai precision 91.4%. Proses ekstraksi ciri memerlukan waktu / running time yang lebih lama daripada proses perbandingan jarak kedua citra. Sistem dapat menemukan kembali citra yang telah dirotasi dengan arah berbeda dengan sangat baik.

4.4.3 Parameter Pengujian Skala

4.4.3.1 Parameter Pengujian Skala - Threshold 1000

Tabel 4.35 Hasil Parameter Uji Skala Threshold 1000 Skala - Threshold 1000

Running Time (ms) Recall

8/10

Precision 8/15 Ekstraksi Ciri Jarak Citra

44312 10670 0.8 (80%) 0.533 (53.3%)

Jumlah Koleksi Citra 20

(114)

Jumlah Citra Relevan Yang Dikembalikan 8 Jumlah Citra Tidak Relevan Yang Dikembalikan 7

Pada pengujian terhadap skala dengan nilai threshold 1000 diperoleh rata-rata nilai recall 80% dan nilai precision 53.3%. Citra relevan yang dikembalikan ada 8 dari 10 citra dan ada 15 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.3.2 Parameter Pengujian Skala - Threshold 500

Tabel 4.36 Hasil Parameter Uji Skala Threshold 500 Skala - Threshold 500

Running Time (ms) Recall

8/10

Precision 8/15 Ekstraksi Ciri Jarak Citra

44312 13186 0.8 (80%) 0.533 (53.3%)

Jumlah Koleksi Citra 20

Jumlah Citra Yang Dikembalikan 15

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 8 Jumlah Citra Tidak Relevan Yang Dikembalikan 7

Pada pengujian terhadap skala dengan nilai threshold 500 diperoleh rata-rata nilai recall 80% dan nilai precision 53.3%. Citra relevan yang dikembalikan ada 8 dari 10 citra dan ada 15 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

(115)

Tabel 4.37 Hasil Parameter Uji Rotasi Threshold 250 Skala - Threshold 250

Running Time (ms) Recall

8/10

Precision 8/15 Ekstraksi Ciri Jarak Citra

44312 14340 0.8 (80%) 0.533 (53.3%)

Jumlah Koleksi Citra 20

Jumlah Citra Yang Dikembalikan 15

Jumlah Citra Relevan Dalam Koleksi Citra 10 Jumlah Citra Relevan Yang Dikembalikan 8 Jumlah Citra Tidak Relevan Yang Dikembalikan 7

Pada pengujian terhadap skala dengan nilai threshold 250 diperoleh rata-rata nilai recall 80% dan nilai precision 53.3%. Citra relevan yang dikembalikan ada 8 dari 10 citra dan ada 15 citra dari 20 citra yang ditemukan. Proses ekstraksi ciri memerlukan waktu /

running time yang lebih lama daripada proses perbandingan jarak kedua citra.

4.4.3.4 Rata-Rata Parameter Pengujian Skala

Tabel 4.38 Hasil Rata-Rata Parameter Uji Skala

No Running Time Recall Precision

Threshold Ekstraksi Similarity

1 1000 44312 10670 80 % 53.3 %

2 500 47200 13186 80 % 53.3 %

3 250 45592 14340 80 % 53.3 %

Rata-Rata 45701.3 12732 80 % 53.3 %

Pada pengujian terhadap skala dengan nilai threshold 1000,500 dan 250 diperoleh rata-rata nilai recall 80% dan nilai precision 53.3%. Proses ekstraksi ciri memerlukan waktu /

running time yang lebih lama daripada proses perbandingan jarak kedua citra. Sistem

(116)

4.5.1 Grafik Parameter Recall, Precision dan Running Time Citra Relevan

Gambar 4.66 Grafik Running Time 100 Citra

Dari grafik pada gambar 4.66 yaitu running time terhadap koleksi 100 citra memerlukan bahwa proses similarity comparison antar citra memerlukan waktu proses yang cukup lama. Perlu diadakan efisiensi lebih lanjut untuk mempercepat waktu proses tersebut, seperti penggunaan teknik clustering.

Recall dan Precision Koleksi 100 Citra

Gambar 4.67 Grafik Recall & Precision 100 Citra

Dari grafik pada gambar 4.66 yaitu hasil parameter pembanding recall dan precision terhadap koleksi 100 citra membuktikan bahwa algoritma SURF berhasil menemukan citra relevan dengan cukup baik. Hal ini dibuktikan dengan diperolehnya rata-rata nilai

recall yang cukup baik yaitu diatas 83%. Namun untuk precision hanya memperoleh nilai

(117)

Recall dan Precision Pengujian Skala dan Rotasi

Gambar 4.68 Grafik Recall & Precision Uji Rotasi & Skala

Dari grafik pada gambar 4.68 yaitu hasil parameter pembanding recall dan precision terhadap uji rotasi dan skala terlihat adanya pengaruh nilai threshold yang diberikan dengan hasil dari proses menemukan kembali citra yang relevan. Semakin tinggi nilai threshold, maka hasil temu balik citra yang diperoleh juga semakin baik.

Running Time Skala dan Rotasi

Gambar 4.69 Grafik Running Time Uji Rotasi & Skala

Dari grafik running time terhadap uji rotasi dan skala terlihat adanya pengaruh nilai threshold yang diberikan dengan waktu proses temu balik citra.

(118)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil studi literatur, analisis, perancangan, implementasi dan pengujian sistem ini, maka kesimpulan yang didapat adalah sebagai berikut:

1. Hasil temu balik citra dengan menggunakan algoritma Speeded-Up Robust

Features (SURF) serta perbandingan kemiripan citra dengan Euclidean Distance diperoleh dengan cukup baik dan berhasil menampilkan citra yang

relevan. Nilai Threshold yang ditentukan serta fitur dari citra yang dicari menentukan hasil temu balik citra.

2. Hasil pengujian terhadap 100 citra dari 10 kategori memperoleh rata-rata

Recall 83% dan Precision 22.29% serta Running Time Ekstraksi 109986 ms

dan Similiarity Comparison 30376.7 ms. Pengujian berdasarkan rotasi memperoleh Recall 100% dan Precision 76,9% serta Running Time Ekstraksi 45701.3 ms dan Similiarity Comparison 4258 ms. Untuk pengujian berdasarkan skala memperoleh Recall 80% dan Precision 53.3% serta

Running Time Ekstraksi 45701.3 ms dan Similiarity Comparison 12732 ms.

5.2 Saran

Adapun saran-saran yang diperlukan untuk penelitian maupun pengembangan berikutnya adalah:

(119)

selanjutnya dapat menggunakan perhitungan jarak yang lain seperti

Minkowski Distance,Chebyshev Distance dan Manhattan Distance.

(120)

BAB 2

LANDASAN TEORI

2.1Citra

Citra atau image adalah suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar / pixel) menyatakan tingkat keabuan pada titik tersebut (Sutoyo & Mulyanto, 2009).

Suatu citra dapat didefinisikan sebagai fungsi f(x, y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial dan amplitudo f di titik koordinat (x,

y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Gambar

2.1 menunjukan posisi koordinat citra digital (Putra, 2010). Koordinat asal

1 2 . . . . . N 1

y 1 . . .

2 . . .

. . . .

M - 1 . . .

f(x, y)

x Sebuah Pixel

Gambar 2.1. Koordinat Citra Digital (Putra, 2010).

2.2. Jenis-jenis Citra Digital

(121)

dengan 255). (Kadir & Susanto, 2013). Contoh gambar citra RGB dapat dilihat pada Gambar 2.2.

Gambar 2.2. Contoh gambar citra RGB

2. Citra Berskala Keabuan (Grayscale) merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra Grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan) (Putra, 2010).

Dalam hal ini, intensitas berkisar antara 0 sampai dengan 255. Nilai 0 menyatakan hitam dan nilai 255 menyatakan putih (Kadir & Susanto, 2013) Contoh dari citra Grayscale dapat dilihat pada Gambar 2.3.

(122)

dua kemungkinan (yaitu nilai 0 dan 1). Nilai 0 menyatakan hitam dan nilai 1 menyatakan putih (Kadir & Susanto, 2013).

Contoh dari citra biner dapat dilihat pada Gambar 2.4.

Gambar 2.4. Contoh gambar citra biner

2.3. Format File Citra

Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini sering digunakan dalam menyimpan citra pada sebuah file. Setiap Format-format

file citra memiliki karakteristik masing-masing (Putra, 2010).

2.3.1 Citra Bitmap

Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain (Sutoyo & Mulyanto, 2009).

2.4. Pengolahan Citra

Figur

Gambar 3.1  Diagram Ishikawa

Gambar 3.1

Diagram Ishikawa p.37
Gambar 3.2 Diagram Preprocessing Konversi Citra RGB ke Grayscale

Gambar 3.2

Diagram Preprocessing Konversi Citra RGB ke Grayscale p.40
Tabel 4.12 Koleksi Citra Uji Rotasi

Tabel 4.12

Koleksi Citra Uji Rotasi p.72
Tabel 4.13 Koleksi Citra Uji Skala

Tabel 4.13

Koleksi Citra Uji Skala p.73
Gambar 4.13. Pencarian Citra Relevan Kategori 1 - 1

Gambar 4.13.

Pencarian Citra Relevan Kategori 1 - 1 p.74
Gambar 4.15. Pencarian Citra Relevan Kategori 1 - 3

Gambar 4.15.

Pencarian Citra Relevan Kategori 1 - 3 p.75
Gambar 4.14. Pencarian Citra Relevan Kategori 1 - 2

Gambar 4.14.

Pencarian Citra Relevan Kategori 1 - 2 p.75
Gambar 4.17. Pencarian Citra Relevan Kategori 1 - 5

Gambar 4.17.

Pencarian Citra Relevan Kategori 1 - 5 p.76
Gambar 4.16. Pencarian Citra Relevan Kategori 1 - 4

Gambar 4.16.

Pencarian Citra Relevan Kategori 1 - 4 p.76
Gambar 4.19. Pencarian Citra Relevan Kategori 2 - 2

Gambar 4.19.

Pencarian Citra Relevan Kategori 2 - 2 p.77
Gambar 4.18. Pencarian Citra Relevan Kategori 2 – 1

Gambar 4.18.

Pencarian Citra Relevan Kategori 2 – 1 p.77
Gambar 4.21 hingga 4.23

Gambar 4.21

hingga 4.23 p.78
Gambar 4.20. Pencarian Citra Relevan Kategori 2 – 3

Gambar 4.20.

Pencarian Citra Relevan Kategori 2 – 3 p.78
Gambar 4.23. Pencarian Citra Relevan Kategori 3 – 3

Gambar 4.23.

Pencarian Citra Relevan Kategori 3 – 3 p.79
Gambar 4.22. Pencarian Citra Relevan Kategori 3 - 2

Gambar 4.22.

Pencarian Citra Relevan Kategori 3 - 2 p.79
Gambar 4.24. Pencarian Citra Relevan Kategori 4 - 1

Gambar 4.24.

Pencarian Citra Relevan Kategori 4 - 1 p.80
Gambar 4.25. Pencarian Citra Relevan Kategori 4 - 2

Gambar 4.25.

Pencarian Citra Relevan Kategori 4 - 2 p.80
Gambar 4.27. Pencarian Citra Relevan Kategori 4 - 4

Gambar 4.27.

Pencarian Citra Relevan Kategori 4 - 4 p.81
Gambar 4.26. Pencarian Citra Relevan Kategori 4 - 3

Gambar 4.26.

Pencarian Citra Relevan Kategori 4 - 3 p.81
Gambar 4.28. Pencarian Citra Relevan Kategori 4 - 5

Gambar 4.28.

Pencarian Citra Relevan Kategori 4 - 5 p.82
Gambar 4.33. Pencarian Citra Relevan Kategori 6 – 1

Gambar 4.33.

Pencarian Citra Relevan Kategori 6 – 1 p.84
Gambar 4.34. Pencarian Citra Relevan Kategori 6 - 2

Gambar 4.34.

Pencarian Citra Relevan Kategori 6 - 2 p.85
Gambar 4.37. Pencarian Citra Relevan Kategori 6 - 5

Gambar 4.37.

Pencarian Citra Relevan Kategori 6 - 5 p.86
Gambar 4.36. Pencarian Citra Relevan Kategori 6 - 4

Gambar 4.36.

Pencarian Citra Relevan Kategori 6 - 4 p.86
Gambar 4.39. Pencarian Citra Relevan Kategori 7 – 1

Gambar 4.39.

Pencarian Citra Relevan Kategori 7 – 1 p.87
Gambar 4.38. Pencarian Citra Relevan Kategori 6 - 6

Gambar 4.38.

Pencarian Citra Relevan Kategori 6 - 6 p.87
Gambar 4.41. Pencarian Citra Relevan Kategori 8 – 1

Gambar 4.41.

Pencarian Citra Relevan Kategori 8 – 1 p.88
Gambar 4.40. Pencarian Citra Relevan Kategori 7 - 2

Gambar 4.40.

Pencarian Citra Relevan Kategori 7 - 2 p.88
Gambar 4.42. Pencarian Citra Relevan Kategori 8 - 2

Gambar 4.42.

Pencarian Citra Relevan Kategori 8 - 2 p.89
Gambar 4.44. Pencarian Citra Relevan Kategori 8 - 4

Gambar 4.44.

Pencarian Citra Relevan Kategori 8 - 4 p.90

Referensi

Memperbarui...

Lainnya : Implementasi Content Based Image Retrieval Menggunakan Speeded-Up Robust Features (SURF) MainSearchWindow.cs using SkripsiTepe.DTOs; Analisis Masalah Analisis Sistem Use Case Mencari Citra Relevan Halaman Awal Halaman Menu Pencarian Citra Relevan Halaman Menu Bantuan Pengujian Proses Pencarian Citra Relevan Pengujian Pengaruh Rotasi Pengujian Pengaruh Skala hingga 4.17 FastHessian.cs using System; Parameter Pengujian Kategori 2 Tabel 4.21 Hasil Parameter Uji Kategori 2 Parameter Pengujian Kategori 3 Tabel 4.22 Hasil Parameter Uji Kategori 3 Parameter Pengujian Kategori 4 Tabel 4.23 Hasil Parameter Uji Kategori 4 Parameter Pengujian Kategori 5 Tabel 4.24 Hasil Parameter Uji Kategori 5 Parameter Pengujian Kategori 6 Tabel 4.25 Hasil Parameter Uji Kategori 6 Parameter Pengujian Kategori 7 Tabel 4.26 Hasil Parameter Uji Kategori 7 Parameter Pengujian Kategori 8 Tabel 4.27 Hasil Parameter Uji Kategori 8 Parameter Pengujian Kategori 9 Tabel 4.28 Hasil Parameter Uji Kategori 9 Parameter Pengujian Kategori 10 Tabel 4.29 Hasil Parameter Uji Kategori 10 Parameter Pengujian Skala - Threshold 500 Tabel 4.36 Hasil Parameter Uji Skala Threshold 500 Rata-Rata Parameter Pengujian Skala Tabel 4.38 Hasil Rata-Rata Parameter Uji Skala Grafik Parameter Recall, Precision dan Running Time Uji Rotasi dan Skala Kesimpulan Saran Citra FastHessian.cs using System; Jenis-jenis Citra Digital Pengolahan Citra Segmentasi Citra Representasi Bentuk Content Based Image Retrieval CBIR Algoritma Speeded-Up Robust Features SURF Efektifitas Information Retrieval System Penelitian Sebelumnya Latar Belakang FastHessian.cs using System; Rumusan Masalah Ruang Lingkup Masalah Tujuan Penelitian Manfaat Penelitian Metode Penelitian Sistematika Penulisan FastHessian.cs using System; Jenis-Jenis Citra Digital 6 Perhitungan Jarak Antara Dua Citra 13 Efektifitas Information Retrieval System 14 Penelitian Sebelumnya 15