IMPLEMENTASI CONTENT BASED IMAGE RETRIEVAL
MENGGUNAKAN SPEEDED-UP ROBUST
FEATURES (SURF)
SKRIPSI
AULIA TARINDAH PUTRI 121401036
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
IMPLEMENTASI
CONTENT BASED IMAGE RETRIEVAL
MENGGUNAKAN
SPEEDED-UP ROBUST
FEATURES
(SURF)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
AULIA TARINDAH PUTRI 121401036
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2016
ii
PERSETUJUAN
Judul : IMPLEMENTASI CONTENT BASED IMAGE
RETRIEVAL MENGGUNAKAN SPEEDED-UP
ROBUST FEATURES (SURF)
Kategori : SKRIPSI
Nama : AULIA TARINDAH PUTRI Nomor Induk Mahasiswa : 121401036
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI)
Diluluskan di Medan, Juni 2016
Komisi Pembimbing:
Dosen Pembimbing II Dosen Pembimbing I
Amalia, S.T., M.T. Dr. Poltak Sihombing, M.Kom NIP.19781221 201401 2 001 NIP. 1962 0317 1991 0310 01
Diketahui/Disetujui oleh
Program Studi S1 IlmuKomputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 1962 0317 1991 0310 01
iii
PERNYATAAN
IMPLEMENTASI CONTENT BASED IMAGE RETRIEVAL
MENGGUNAKAN SPEEDED-UP ROBUST
FEATURES (SURF)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 25 Juni 2016
Aulia Tarindah Putri
121401036
iv
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan
hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini
sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1
Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–
besarnya kepada :
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum. selaku Rektor
Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas
Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI), Universitas
Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S1
Ilmu Komputer Universitas Sumatera Utara sekaligus Dosen
Pembimbing I yang telah memberikan kritik dan saran dalam
penyempurnaan skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku Sekretaris Program Studi
S1 Ilmu Komputer Universitas Sumatera Utara.
5. Ibu Dian Rachmawati, S.Si., M.Kom. selaku Dosen Pembimbing
Akademik (PA) yang telah memberikan bimbingan dan dukungan
kepada penulis dari awal hingga akhir kuliah.
6. Ibu Amalia, S.T., M.T. selaku Dosen Pembimbing II yang telah sabar
dan ikhlas dalam memberikan waktu, bimbingan, saran, masukan dan
dukungan semangat kepada penulis dalam pengerjaan skripsi ini. Salah
satu dosen terbaik bagi penulis.
7. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen
Pembanding I yang bersedia memberikan motivasi bagi penulis, dan
tentu saja memberikan kritik maupun saran yang membangun.
8. Bapak Ade Candra, S.T., M.Kom. selaku Dosen Pembanding II yang
bersedia memberikan kritik maupun saran demi penyempurnaan
skripsi ini.
v
9. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU .
10.Ibunda Dra. Indah Dwi Kumala orang terpenting dalam hidup penulis
yang selalu memberikan doa dan dukungan serta kasih sayang kepada
penulis, serta adik tersayang Ariq Farhan Maulana dan Allya Amanda
Suci yang terus memberikan dukungan dan dorongan bagi penulis
untuk menyelesaikan skripsi ini.
11.Teman-teman terdekat atas semangatnya, teman seperjuangan wisuda
dari S1 Ilmu Komputer Stambuk 2012 atas dorongannya dan doanya
sehingga penulis dapat menyelesaikan skripsi ini, terkhusus untuk
Khalida Zia, Muzdalifa, Pradita Oktaviani, Tika Linavia, Indah Widya
Sari, Citra Eka Mutia, Rizky Adawiyah, Indri Hidayati, teman 17
Agustusan Aulia Rahman Saragih, Jabbar Muhammad Lubis, Samuel
Martogi, Fachri Irfandi, Acid dan Ellen yang telah menemani
menjelajah, Nurhasbiah dan Dwi Syahnan, yang telah memotivasi dan
memberi keceriaan bagi penulis. Serta komunitas TCO dan
Brainstorm.
12.Abang/Kakak/Adik/Rekan di IKLC, Organisasi PEMA Fasilkom-TI,
IMILKOM, Sahabat Beasiswa Untuk Negeri, Penerima Beasiswa
BCA dan LBPP LIA.
13.Abdul Rahman Hakim Nasution atas semangat, dukungan, dan
kesabaran terhadap penulis selama proses penyelesaian skripsi ini.
14.Johannes Georg Genser sebagai pemberi motivasi bagi penulis dalam
mengerjakan skripsi dan mengejar pendidikan ke tahap S2.
15.Dan semua pihak yang telah banyak membantu yang tidak bisa
disebutkan satu-persatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, Juni 2016
Penulis
vi
ABSTRAK
Temu balik citra ataupun temu balik citra berdasarkan konten gambar adalah bidang terkenal dari penelitian sistem temu balik informasi. Temu balik citra memiliki tugas yang menantang, yang terutama yaitu menerima kembali citra yang memiliki kemiripan atau relevan dari database citra yang besar. Salah satu teknik yang dapat digunakan sebagai solusi untuk menerima kembali citra relevan dalam temu balik citra adalah algoritma Speeded-Up Robust Features (SURF). SURF adalah detektor dan deskriptor fitur citra yang cepat dan kuat. Dan kini banyak digunakan secara luas dalam aplikasi komputer visual, seperti dalam aplikasi temu balik citra. SURF pertama kali dipresentasikan oleh Herbert Bay pada konferensi eropa 2006 tentang
Computer Vision dan sebagian terinsiprasi oleh Scale-Invariant Feature Transform
(SIFT). Karena SURF hanya dapat memproses citra grayscale, maka citra harus dikonversi dari format RGB ke format grayscale. Titik Interest atau KeyPoint dari koleksi citra direpresentasikan oleh vektor yang kemudian akan dibandingkan menggunakan pengukuran jarak Euclidean Distance. Euclidean Distance digunakan untuk membandingkan kemiripan antara fitur atau ciri dari koleksi citra. Sehingga pada akhirnya, sistem akan menerima kembali citra yang relevan dari database. Parameter yang digunakan untuk mengukur kualitas dari hasil temu balik citra adalah nilai dari Recall, Precision dan Running Time. Berdasarkan hasil pengujian menggunakan 100 gambar, rata-rata nilai Recall terhadap koleksi citra adalah 83%
dan Precision 22.29% serta Running Time Similiarity Comparison 30376 ms.
Kata kunci : Citra, Temu Balik, Content Based Image Retrieval (CBIR), Speeded-Up Robust Features (SURF), Euclidean Distance.
vii
IMPLEMENTATION OF CONTENT BASED IMAGE RETRIEVAL ( CBIR ) WITH SPEEDED UP ROBUST FEATURES
( SURF )
ABSTRACT
Image Retrieval (IR) or Content-Based Image Retrieval (CBIR) is a well-known field of research in Information Retrieval System (IRS). Content-Based Image Retrieval (CBIR) has a challenging task which especially retrieves similar or relevant images from the large database. One of the techniques in CBIR as a solution for retrieving relevant images is Speeded Up Robust Features (SURF) Algorithm. SURF is fast and robust feature detector and descriptor for the image. It is vastly used in many computer vision applications such as CBIR applications. It was first presented by Herbert Bay at the 2006 European Conference on Computer Vision and partly inspired by the Scale-Invariant Feature Transform (SIFT). Since SURF works only on grayscale images, therefore the images have to convert from RGB to Grayscale format. Interest points or key points of images are represented by vectors that are compared using Euclidean Distance measures. Euclidean Distance is used to match the similarity among the features of the images. Finally, the system retrieves the matched images from the database. The parameters used for measuring the quality of CBIR result are the value of recall, precision and running time. The test with 100 images has shown that the average percentage value of recall is 83%, precision is 22,29% and running time for similarity comparison is 30376 ms.
Keywords : Image, Retrieval,Content Based Image Retrieval (CBIR), Speeded Up Robust Features (SURF), Euclidean Distance.
viii
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiv
Bab 1 Pendahuluan
1.1Latar Belakang 1 1.2Perumusan Masalah 2 1.3Ruang Lingkup Masalah 2
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3 1.6Metode Penelitian 3 1.7Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Citra 6
2.2 Jenis-Jenis Citra Digital 6 2.3 Format File Citra 8
2.3.1 Citra Bitmap 8
2.4 Pengolahan Citra 8
2.5 Segmentasi Citra 9
2.6 Representasi Bentuk 9
2.7 Ekstraksi Fitur 9
2.7.1 Fitur Tekstur 9
2.8 Information Retrieval (IR) 10
2.8.1 Image Retrieval 10
2.9 Content Based Image Retrieval (CBIR) 11
2.10 Algoritma Speeded Up Robust Features (SURF) 12 2.11 Perhitungan Jarak Antara Dua Citra 13 2.11.1 Euclidian Distance 13 2.12 Efektifitas Information Retrieval System 14 2.13 Penelitian Sebelumnya 15
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 17
3.1.1 Analisis Masalah 17
ix
3.1.2 Analisis Kebutuhan 19 3.1.2.1 Kebutuhan Fungsional 19 3.1.2.2 Kebutuhan Non-Fungsional 19 3.1.3 Analisis Proses 20
3.2 Pemodelan 20
3.2.1 Preprocessing 20
3.2.1.1 Konversi citra RGB ke Grayscale dan .bmp 20 3.2.1 Use Case Diagram 21 3.2.1.1 Use Case Mencari Citra Relevan 22 3.2.1.2 Use Case Ekstraksi Ciri Citra dengan SURF 23 3.2.1.3 Use Case Kemiripan Citra dengan Euclidean Distance 24 3.2.2 Activity Diagram 25 3.2.3 Sequence Diagram 26
3.3 Perancangan Sistem 27
3.3.1 Flowchart Sistem 27 3.3.2 Perancangan Antarmuka Sistem (Interface) 28 3.3.2.1 Halaman Awal 28 3.3.2.2 Halaman Pencarian Citra Relevan 29 3.3.2.3 Halaman Bantuan 30
Bab 4 Implementasi dan Pengujian
4.1Implementasi 32 4.1.1 Tampilan Halaman Awal 32 4.1.2 Tampilan Halaman Pencarian Citra Relevan 33 4.1.3 Tampilan Halaman Bantuan 35
4.2 Pengujian 36
4.2.1 Pengujian Proses Pencarian Citra Relevan 36 4.2.2 Pengujian Pengujian Pengaruh Rotasi 47 4.2.3 Pengujian Pengaruh Skala 48
4.3 Hasil Pengujian 49
4.3.1 Hasil Pengujian Proses Pencarian Citra Relevan 49 4.3.1.1 Hasil Pengujian Kategori 1 49 4.3.1.2 Hasil Pengujian Kategori 2 52 4.3.1.3 Hasil Pengujian Kategori 3 54 4.3.1.4 Hasil Pengujian Kategori 4 55 4.3.1.5 Hasil Pengujian Kategori 5 58 4.3.1.6 Hasil Pengujian Kategori 6 60 4.3.1.7 Hasil Pengujian Kategori 7 63 4.3.1.8 Hasil Pengujian Kategori 8 64 4.3.1.9 Hasil Pengujian Kategori 9 66 4.3.1.10 Hasil Pengujian Kategori 10 68 4.3.2 Hasil Pengujian Pengujian Pengaruh Rotasi 69 4.3.2.1 Hasil Pengujian Pengaruh Rotasi - Threshold 1000 70 4.3.2.2 Hasil Pengujian Pengaruh Rotasi - Threshold 500 71 4.3.2.3 Hasil Pengujian Pengaruh Rotasi - Threshold 250 72 4.3.3 Hasil Pengujian Pengaruh Skala 74 4.3.3.1 Hasil Pengujian Pengaruh Skala - Threshold 1000 75 4.3.3.2 Hasil Pengujian Pengaruh Skala - Threshold 500 77 4.3.3.3 Hasil Pengujian Pengaruh Skala - Threshold 250 78
x
4.4 Parameter Pengujian 79 4.4.1 Parameter Pengujian Proses Pencarian Citra Relevan 80 4.4.1.1 Parameter Pengujian Kategori 1 80 4.4.1.2 Parameter Pengujian Kategori 2 80 4.4.1.3 Parameter Pengujian Kategori 3 81 4.4.1.4 Parameter Pengujian Kategori 4 81 4.4.1.5 Parameter Pengujian Kategori 5 82 4.4.1.6 Parameter Pengujian Kategori 6 82 4.4.1.7 Parameter Pengujian Kategori 7 83 4.4.1.8 Parameter Pengujian Kategori 8 83 4.4.1.9 Parameter Pengujian Kategori 9 84 4.4.1.10 Parameter Pengujian Kategori 10 84 4.4.1.11 Rata-Rata Parameter Pengujian Hasil Citra Relevan 85 4.4.2 Parameter Pengujian Pengaruh Rotasi 85 4.4.2.1 Parameter Pengujian Pengaruh Rotasi - Threshold 1000 85 4.4.2.2 Parameter Pengujian Pengaruh Rotasi - Threshold 500 86 4.4.2.3 Parameter Pengujian Pengaruh Rotasi - Threshold 250 86 4.4.2.4 Rata-Rata Parameter Pengujian Rotasi 87 4.4.3 Parameter Pengujian Pengaruh Skala 87 4.4.3.1 Parameter Pengujian Pengaruh Skala - Threshold 1000 87 4.4.3.2 Parameter Pengujian Pengaruh Skala - Threshold 500 88 4.4.3.3 Parameter Pengujian Pengaruh Skala - Threshold 250 88 4.4.3.4 Rata-Rata Parameter Pengujian Rotasi 89 4.5 Grafik Recall, Precision dan Running Time 89 4.5.1 Grafik Recall, Precision dan Running Time Citra Relevan 89 4.5.2 Grafik Recall, Precision dan Running Time Uji Rotasi dan Skala 90
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 99
5.2. Saran 99
Daftar Pustaka 101
xi
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
Penelitian Sebelumnya Terkait CBIR dan SURF Spesifikasi Use Case Pencarian Citra Relevan
Spesifikasi Use Case Ekstraksi Ciri Citra dengan SURF Spesifikasi Use Case Kemiripan Citra - Euclidean Distance
Keterangan Gambar Rancangan Interface Halaman Awal Keterangan Gambar Rancangan Interface Pencarian Citra Keterangan Gambar Rancangan Interface Bantuan Koleksi 100 Citra - Kategori 1 Burung Flamingo Koleksi 100 Citra - Kategori 2 Bus
Koleksi 100 Citra - Kategori 3 Kupu-Kupu Sayap Tertutup Koleksi 100 Citra - Kategori 4 Bentuk Tangan
Koleksi 100 Citra - Kategori 5 Bentuk Hati
Koleksi 100 Citra - Kategori 6 Kupu-Kupu Sayap Terbuka Koleksi 100 Citra - Kategori 7 Gedung Monas
Koleksi 100 Citra - Kategori 8 Panda Koleksi 100 Citra - Kategori 9 Pisang Koleksi 100 Citra - Kategori 10 Rumah Koleksi Citra Uji Rotasi
Koleksi Citra Uji Skala
Hasil Citra Uji Rotasi Threshold 1000 Hasil Citra Uji Rotasi Threshold 500 Hasil Citra Uji Rotasi Threshold 250 Hasil Citra Uji Skala Threshold 1000 Hasil Citra Uji Skala Threshold 500 Hasil Citra Uji Skala Threshold 250 Hasil Parameter Uji Kategori 1 Hasil Parameter Uji Kategori 2 Hasil Parameter Uji Kategori 3 Hasil Parameter Uji Kategori 4 Hasil Parameter Uji Kategori 5 Hasil Parameter Uji Kategori 6 Hasil Parameter Uji Kategori 7 Hasil Parameter Uji Kategori 8 Hasil Parameter Uji Kategori 9 Hasil Parameter Uji Kategori 10
Hasil Rata-Rata Parameter Uji Citra Relevan Hasil Parameter Uji Rotasi Threshold 1000 Hasil Parameter Uji Rotasi Threshold 500 Hasil Parameter Uji Rotasi Threshold 250 Hasil Rata-Rata Parameter Uji Rotasi Hasil Parameter Uji Skala Threshold 1000 Hasil Parameter Uji Skala Threshold 500 Hasil Parameter Uji Skala Threshold 250 Hasil Rata-Rata Parameter Uji Rotasi
xii
Koordinat Citra Digital Contoh Gambar Citra RGB Contoh Gambar Citra Grayscale
Contoh Gambar Citra Biner
Diagram Sistem Content Based Image Retrieval Diagram Ishikawa
Diagram Preprocessing Konversi Citra RGB ke Grayscale
Use Case Diagram
Activity Diagram
Sequence Diagram
Flowchart Sistem
Rancangan Antarmuka Halaman Awal
Rancangan Antarmuka Halaman Pencarian Citra Relevan Rancangan Antarmuka Halaman Bantuan
Tampilan Halaman Awal
Tampilan Halaman Pencarian Citra Relevan
Tampilan Halaman Pencarian Citra Relevan - Area 1 Tampilan Halaman Pencarian Citra Relevan - Area 2 Tampilan Halaman Pencarian Citra Relevan - Area 3 Tampilan Halaman Pencarian Citra Relevan - Area 4 Tampilan Halaman Bantuan
Konversi citra RGB ke Grayscale Proses Scale-Space
Ilustrasi Integral Image
Ilustrasi Proses Scale-Space dengan Filtering Berkala Diagram Sistem CBIR dengan SURF
Pencarian Citra Relevan Kategori 1 – 1 Pencarian Citra Relevan Kategori 1 – 2 Pencarian Citra Relevan Kategori 1 – 3 Pencarian Citra Relevan Kategori 1 – 4 Pencarian Citra Relevan Kategori 1 – 5 Pencarian Citra Relevan Kategori 2 – 1 Pencarian Citra Relevan Kategori 2 – 2 Pencarian Citra Relevan Kategori 2 – 3 Pencarian Citra Relevan Kategori 3 – 1 Pencarian Citra Relevan Kategori 3 – 2 Pencarian Citra Relevan Kategori 3 – 3 Pencarian Citra Relevan Kategori 4 – 1 Pencarian Citra Relevan Kategori 4 – 2 Pencarian Citra Relevan Kategori 4 – 3 Pencarian Citra Relevan Kategori 4 – 4 Pencarian Citra Relevan Kategori 4 – 5 Pencarian Citra Relevan Kategori 4 – 6
xiii
Pencarian Citra Relevan Kategori 5 – 1 Pencarian Citra Relevan Kategori 5 – 2 Pencarian Citra Relevan Kategori 5 – 3 Pencarian Citra Relevan Kategori 6 – 1 Pencarian Citra Relevan Kategori 6 – 2 Pencarian Citra Relevan Kategori 6 – 3 Pencarian Citra Relevan Kategori 6 – 4 Pencarian Citra Relevan Kategori 6 – 5 Pencarian Citra Relevan Kategori 6 – 6 Pencarian Citra Relevan Kategori 7 – 1 Pencarian Citra Relevan Kategori 7 – 2 Pencarian Citra Relevan Kategori 8 – 1 Pencarian Citra Relevan Kategori 8 – 2 Pencarian Citra Relevan Kategori 8 – 3 Pencarian Citra Relevan Kategori 8 – 4 Pencarian Citra Relevan Kategori 8 – 5 Pencarian Citra Relevan Kategori 9 – 1 Pencarian Citra Relevan Kategori 9 – 2 Pencarian Citra Relevan Kategori 9 – 3 Pencarian Citra Relevan Kategori 10 – 1 Pencarian Citra Relevan Kategori 10 – 2 Pencarian Citra Relevan Kategori 10 – 3 Pengujian Rotasi – 1
Pengujian Rotasi – 2 Pengujian Rotasi – 3
Pengujian Rotasi Threshold 1000 Pengujian Rotasi Threshold 500 Pengujian Rotasi Threshold 250 Pengujian Skala – 1
Pengujian Skala – 2 Pengujian Skala – 3
Pengujian Skala Threshold 1000 Pengujian Skala Threshold 1000 - 2 Pengujian Skala Threshold 500 Pengujian Skala Threshold 250 Pengujian Skala Threshold 250 - 2 Grafik Running Time 100 Citra Grafik Recall & Precision 100 Citra
Grafik Recall & Precision Uji Rotasi & Skala Grafik Running Time Uji Rotasi & Skala
xiv
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
B. Curriculum Vitae B-1
C. Data Pengguna C-1