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) {
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))
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)
// 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) {
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) {
case emAlgo.Undetermined:
private void IndexBgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
pbIndex.Value = e.ProgressPercentage + 1; }
//004b
{
private void AccordSurfAlgoIndexing(SurfSettings surfSetting) {
var imageFiles = getFiles(IndexDirectory, "*.gif|*.jpg|*.png|*.bmp|*.jpeg", SearchOption.TopDirectoryOnly);
}
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 &&
}
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) {
{ (*.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(() => {
case emAlgo.AccordSurf:
case emAlgo.AccordSurf:
{
private int GetNumberOfImageFilesInIndexDirectory() {
FileInfo[] imageFiles = getFiles(IndexDirectory, "*.gif|*.jpg|*.png|*.bmp|*.jpeg", SearchOption.TopDirectoryOnly);
/// Interaction logic for AccordSurf.xaml /// </summary>
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;
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);
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));
returnBitmap = bmp; public class IntegralImage {
private IntegralImage(int lebar, int tinggi) {
float barissum = 0;
public float BoxIntegral(int baris, int col, int bariss, int cols) {
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;
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}};
simpananLayer b, m, t;
void buildsimpananPeta() {
{
buildsimpananLayer(simpananPeta[i]); }
}
Dxx *= inverse_area;
bool isExtremum(int r, int c, simpananLayer t, simpananLayer m, simpananLayer b) {
private double[,] BuildDerivative(int r, int c, simpananLayer t, simpananLayer m, simpananLayer b)
H[1, 2] = dys;
public static List<IPoint>[] getMatches(List<IPoint> ipts1, List<IPoint> ipts2) {
dist = EuclideanDistance(ipts1[i], ipts2[j]);
if (dist < d1) {
else if (dist < d2)
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
[2014– 2015] PEMA Fasilkom-TI USU
Pengalaman Kepanitiaan
[2012] Sekretaris Dies Natalis IMILKOM 2012
[2015] Ketua Panitia Seminar Karir PT. Paragon - Wardah
Seminar
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)
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
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.
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.
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
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
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
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
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
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
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
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.
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
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.
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 :
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 :
Tabel 3.6 Keterangan Gambar Rancangan Interface Menu Bantuan
No Keterangan
1 Merupakan Picture Box untuk Screenshot Sistem
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
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
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.
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
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.
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 :
∑ , = ∑
≤
∑ ,
∑ , = ∑ = + − + =
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:
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 :
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.
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
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
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.
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.
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
Gambar 4.14. Pencarian Citra Relevan Kategori 1 - 2
Gambar 4.16. Pencarian Citra Relevan Kategori 1 - 4
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
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
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
Gambar 4.26. Pencarian Citra Relevan Kategori 4 - 3
Gambar 4.28. Pencarian Citra Relevan Kategori 4 - 5
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
Gambar 4.32. Pencarian Citra Relevan Kategori 5 - 3
4.3.1.6 Hasil Pengujian Kategori 6
Gambar 4.34. Pencarian Citra Relevan Kategori 6 - 2
Gambar 4.36. Pencarian Citra Relevan Kategori 6 - 4
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
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
Gambar 4.42. Pencarian Citra Relevan Kategori 8 - 2
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
Gambar 4.46. Pencarian Citra Relevan Kategori 9 - 1
Dengan masukkan citra query “pisang4.jpg”, sistem mengembalikan 36 citra dari 100 citra.
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.
Gambar 4.50. Pencarian Citra Relevan Kategori 10 - 2
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
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
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
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
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
Gambar 4.59. Pengujian Skala - 2
Gambar 4.60. Pengujian Skala - 3
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.
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
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
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
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
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
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
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
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
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
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
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 /
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
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
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 /
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
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
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.
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:
selanjutnya dapat menggunakan perhitungan jarak yang lain seperti
Minkowski Distance,Chebyshev Distance dan Manhattan Distance.
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
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.
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