SISTEM POSITIONING MENGGUNAKAN SIMBOL DENGAN MENGGUNAKAN SCALE INVARIANT FEATURE TRANSFORM (SIFT)
oleh Mario Bunda Setiawan NIM : 612009016
Skripsi Untuk melengkapi salah satu syarat memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Fakultas Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana Salatiga
Januari 2015
INTISARI Pada sistem robot autonomous yang dapat bergerak tanpa awak dibutuhkan kemampuan untuk mengenali lokasi. Untuk mengenali lokasi secara global dapat digunakan GPS, akan tetapi penggunaan GPS masih sangat terbatas apabila lokasi berada dalam ruangan tertutup atau dalam gedung. Untuk itu dirancang sistem untuk mengenali lokasi dalam ruangan atau gedung. Dirancang sebuah sistem pengenalan lokasi dengan algoritma SIFT yang digunakan untuk mendeteksi simbol yang ada di lokasi. Untuk proses pencocokkan pada SIFT digunakan Kd Tree dan R-Tree. Kinect digunakan untuk memotong bagian citra dengan jarak yang sudah ditentukan untuk mempercepat pemrosesan algoritma SIFT. Dari hasil pengujian diperoleh bahwa kinect dapat mendeteksi jarak dengan baik pada intensitas cahaya 10 lux - 300 lux. Dari hasil pengujian, akurasi dari R-Tree pada jarak 1,5 m adalah 63,08% dengan waktu pemrosesan 13 s dan akurasi dari BBF K-d Tree pada jarak 1,5 m adalah 82,96% dengan waktu pemrosesan 1,8 s. Algoritma R-Tree kurang sesuai diterapkan pada SIFT disebabkan waktu pemrosesan yang lama. Algoritma K-d Tree dapat mengenali simbol pada citra dengan akurasi yang lebih baik dan dengan waktu pemrosesan yang lebih cepat daripada R-Tree. Algoritma K-d Tree dapat diimplementasikan pada SIFT dengan rentang jarak 1 m - 2,5 m dan pada intensitas cahaya 20 lux - 300 lux. Kata kunci: SIFT, BBF K-d Tree, R-Tree, Kinect
i
Abstract In unmanned robotic systems, there is a requirement to recognize the location. GPS can be used to recognize global location, but GPS performance is limited in a enclosed space or inside a building. Therefore a system that can recognize location in a enclosed space or inside building is designed.
A system that can recognize position in enclosed space or inside building is desgined by using SIFT to identify symbol which placed in the location. K-d Tree and R-Tree are used to mathcing SIFT feature data. Kinect is used to take image part within defined distance to reduce the runtime of SIFT algorithm.
The test results show that kinect can still measure distance in illuminance range of 10 lux-300 lux. From the test result, the accuracy of R-Tree in 1,5 m is 63,08% with runtime 13 s and the accuracy of BBF K-d Tree in 1,5 m is 82,96% with runtime 1,8 s. R-tree algorithm is not suitable to be implemented in SIFT because of long runtime. BBF K-d tree algorithm can recognize symbol extraced using SIFT with better accuracy and the K-d tree has faster runtime than R-Tree. The K-d tree can be implemented on SIFT in distance range of 1 m-2,5 m and in illuminance range of 20 lux-300 lux. Keywords: SIFT, kinect , BBF K-d Tree, R-Tree
ii
Kata Pengantar Puji syukur penulis panjatkan ke Tuhan Yang Maha Esa karena berkat rahmat-Nya penulis bisa menyelesaikan skripsi ini. Dalam kesempatan ini penulis ingin mengucapakan terimakasih yang sedalam-dalamnya kepada Yth: 1. Bapak Saptadi Nugroho dan Bapak Darmawan Utomo selaku pembimbing yang telah banyak membantu dalam pengerjaan skripsi ini. 2. Orang tua saya yang memberikan bantuan baik moril, materi, maupun waktunya. 3. Rekan-rekan seperjuangan dalam pengerjaan skripsi ini yaitu Kevin dan Ricky yang telah banyak memberikan bantuan berupa solusi dalam pengerjaan dan pengujian sistem. 4. Teman-teman beserta asisten di FTEK yang tidak dapat saya sebutkan satu-persatu yang selama ini telah berjuang bersama-sama dalam perkuliahan. 5. Semua pihak lain yang telah membantu dan mendukung saya dalam terselesaikannya skripsi ini yang tidak dapat saya sebutkan satu-persatu. Harapan saya semoga ini skripsi ini dapat membantu menambah pengetahuan dan pengalaman bagi para pembaca. Saya akui bahwa skripsi ini masih memiliki banyak kekurangan. Sehinggga alangkah baiknya pembaca ada yang berminat mengembangkan atau memperbaiki sistem yang dibuat pada skripsi ini.
Salatiga, Januari 2015
iii
DAFTAR ISI INTISARI ......................................................................................................................i ABSTRACT ....................................................................................................................ii KATA PENGANTAR .....................................................................................................iii DAFTAR ISI ...................................................................................................................iv DAFTAR GAMBAR ......................................................................................................vi DAFTAR TABEL ........................................................................................................ viii DAFTAR LAMBANG ..................................................................................................ix DAFTAR SINGKATAN .................................................................................................xi BAB I PENDAHULUAN ..............................................................................................1 1.1. Tujuan ..................................................................................................................1 1.2. Latar Belakang ....................................................................................................1 1.3. Gambaran Sistem ................................................................................................2 1.4. Batasan Masalah..................................................................................................3 1.5. Perincian Tugas ...................................................................................................4 1.6. Sistematika Penulisan..........................................................................................5 BAB II DASAR TEORI .................................................................................................6 2.1. Scale Feature Invariant Transform (SIFT) .........................................................6 2.1.1. Scale-Space Extrema Detection ................................................................6 2.1.2. Keypoint Localization ...............................................................................8 2.1.3. Orientation Assignment .............................................................................9 2.1.4. Keypoint Descriptor ..................................................................................10 2.1.5. Contoh Hasil Ekstraksi Fitur pada Citra dengan SIFT .............................10 2.2. Kinect ..................................................................................................................11 2.3. K-d Tree ..............................................................................................................12 2.3.1.Best Bin First (BBF) K-d Tree ...................................................................13 2.3.2. Penerapan BBF K-d Tree ...........................................................................15 2.3.3. Contoh BBF K-d Tree dengan 5 Buah Data Berdimensi-8 ......................17 2.4. R-Tree ...............................................................................................................18 2.4.1. Penerapan R-Tree ......................................................................................20 2.5. Random Sample Consensus (RANSAC) .............................................................23 iv
BAB III PERANCANGAN ............................................................................................24 3.1. Perancangan Perangkat Keras .............................................................................25 3.1.1. Peletakkan Posisi Kinect ..........................................................................25 3.2. Perancangan Perangkat Lunak ............................................................................26 3.2.1 Proses Penyimpanan Fitur Data Simbol dan Pengekstrakan Fitur Menggunakan SIFT .........................................................................................................26 3.2.2. Perancangan Perangkat Lunak pada Kinect ..............................................27 3.2.3. Pencocokan dengan BBF-kd tree ..............................................................28 3.2.4. Pencocokan dengan R-tree yang Disusun dari Fitur Citra Kinect ............30 3.2.5. Pencocokan dengan R-tree yang Disusun dari Fitur Citra Simbol ...........31 BAB IV PENGUJIAN DAN ANALISIS .......................................................................34 4.1. Pengujian Kinect .................................................................................................34 4.2. Pengujian Database pada Simbol .......................................................................36 4.2.1. Pengujian dengan menggunakan R-tree yang Disusun dari Citra Kinect .37 4.2.2. Pengujian dengan menggunakan R-tree yang Disusun dari Citra Simbol 38 4.2.3. Pengujian dengan menggunakan BBF K-d Tree ......................................40 4.3. Pengujian Jarak untuk Pengenalan Simbol ........................................................43 4.4. Pengujian Intensitas Cahaya untuk Pengenalan Simbol .....................................44 4.5. Pengujian Waktu pada Sistem .............................................................................46 4.6. Pengujian Pengenalan Citra Simbol yang Diambil dari Kinect pada saat Robot Bergerak .............................................................................................................................47 4.6. Pengujian dengan Penambahan Batas Bawah .....................................................48 BAB V KESIMPULAN DAN SARAN..........................................................................49 5.1 Kesimpulan .........................................................................................................49 5.2. Saran Pengembangan .........................................................................................50 DAFTAR PUSTAKA ......................................................................................................51 LAMPIRAN ....................................................................................................................52 A. Simbol-simbol yang Digunakan untuk Pengujian .................................................52
v
Daftar Gambar
Gambar 1.1. Diagram Blok dari Sistem
3
Gambar 2.1. Citra yang diproses dengan fungsi Gaussian dan Difference of Gaussian
7
Gambar 2.2. Proses pencarian nilai extremum pada titik x
8
Gambar 2.3.(a) Contoh Citra Masukan untuk Algoritma SIFT
10
Gambar 2.3.(b) Citra Keluaran dari Gambar 2.3.(a)
10
Gambar 2.4. Data Fitur Citra pada Gambar 2.3.(a)
10
Gambar 2.5. Tampilan Fisik Kinect
12
Gambar 2.6. Contoh Kd Tree 2 Dimensi
13
Gambar 2.7. Daerah yang Dibentuk K-d Tree dari Gambar 2.6
13
Gambar 2.8. Diagram Alir Pembentukan BBF K-d tree
16
Gambar 2.9. BBF K-d Tree yang Dibentuk dari Data pada Tabel 2.1
18
Gambar 2.10. Contoh overlap antar MBR, walaupun objek geometri tidak mengalami overlap 19 Gambar 2.11. Contoh Data MBR dan MBR yang Memuat Data
20
Gambar 2.12. Bentuk R-tree dari Gambar 2.11
20
Gambar 2.13. Diagram Alir Pembentukan R-tree
22
Gambar 3.1. Diagram Blok dari Sistem Positioning
24
Gambar 3.2. Posisi Kinect dan Sudut Kemiringan Kinect
25
Gambar 3.3. Diagram Alir Pemrosesan dan Penyimpanan Data Fitur
27
Gambar 3.4. Diagram Alir Pemrosesan Citra pada Kinect
28
Gambar 3.5. Diagram Alir Pencarian pada BBF K-d Tree
29
Gambar 3.6. Diagram Alir Pencocokan pada R-Tree yang Disusun dari Fitur Citra Kinect 31 Gambar 3.7. Diagram alir Pencocokan pada R-Tree yang Disusun dari Fitur Citra Simbol 33 Gambar 4.1. Hasil Perbandingan Data Jarak Kinect terhadap Jarak Sebenarnya
35
Gambar 4.2. (a) Citra dari Kinect
36
Gambar 4.2. (b) Bagian Citra dengan jarak
36
Gambar 4.3. Citra dari Kinect yang Digunakan untuk Pengujian
36
Gambar 4.4. Hasil Pengujian Akurasi R-tree yang Disusun dari Citra Kinect
37
vi
Gambar 4.5. Waktu Pemrosesan Citra dengan R-tree yang Disusun dari Citra Kinect
37
Gambar 4.6. Hasil Pengujian Akurasi R-tree yang Disusun dari Citra Simbol dengan Menggunakan Euclidean Distance Tetap
38
Gambar 4.7. Waktu Pemrosesan Citra dengan R-tree yang Disusun dari Citra Simbol dengan Menggunakan Euclidean Distance Tetap
39
Gambar 4.8. Hasil Pengujian R-tree yang Disusun dari Citra Simbol dengan Menggunakan Rasio pada Data pada Leaf Node Euclidean Distance Terkecil
39
Gambar 4.9. Waktu Pemrosesan Citra dengan R-tree yang Disusun dari Citra Simbol dengan Menggunakan Rasio pada Data pada Leaf Node dengan Euclidean Distance Terkecil 40 Gambar 4.10. Hasil Pengujian BBF K-d tree
41
Gambar 4.11. Waktu Pemrosesan Citra dengan BBF K-d tree
41
Gambar 4.12. Sampel-Sampel Simbol yang Kurang Sesuai dalam Algoritma SIFT
42
Gambar 4.13. Sampel-Sampel Simbol yang Sesuai dalam Algoritma SIFT
42
Gambar 4.14.(a) Citra Simbol pada Jarak
43
Gambar 4.14. (b) Citra Simbol pada Jarak
43
Gambar 4.14. (c) Citra Simbol pada Jarak
43
Gambar 4.14. (d) Citra Simbol pada Jarak
43
Gambar 4.15. Hasil Pengujian Jarak
44
Gambar 4.16. Citra Simbol pada Intensitas Cahaya 10 lux
45
Gambar 4.17. Citra Simbol pada Intensitas Cahaya 20 lux
45
Gambar 4.18. Citra Simbol pada Intensitas Cahaya 300 lux
45
Gambar 4.19. Grafik Perbandingan Waktu Pemrosesan dari Citra Sampel
47
Gambar 4.20. Citra yang Didapat dari Kinect yang Dipasang pada Robot yang Bergerak
48
Gambar A.1. Simbol-Simbol yang Digunakan untuk Pengujian
vii
52
Daftar Tabel
Tabel 2.1. Data dan Hasil Pemrosesan Algoritma BBF K-d Tree
18
Tabel 4.1. Perbandingan Data jarak Kinect terhadap Jarak Sebenarnya
34
Tabel 4.2. Pengaruh Intensitas Cahaya terhadap Akurasi Pengenalan Simbol
46
Tabel 4.2. Pengujian dengan Penambahan Batas Bawah
48
viii
Daftar Lambang Fungsi konvolusi Fungsi Gaussian Citra Masukan Fungsi Difference of Gaussian (DOG) Fungsi Derivatif dari titik ̂
Titik optimal Matriks Eigenvalues dengan magnitude besar Eigenvalues dengan magnitude kecil Determinan dari Matriks Trace dari Matriks Rasio antara
dan
Sampel citra Gradien Magnitude dari Orientasi dari Jumlah dimensi pada K-d Tree Indeks descriptor ke- dengan varians terbesar Nilai median dari seluruh descriptor pada index keJumlah node yang dikunjungi pada Best Bin First(BBF) K-d Tree Nilai varians dari index descriptor keix
Jumlah descriptor Nilai rata-rata dari index descriptor keJumlah dimensi dari descriptor Jumlah minimal data yang ada pada leaf node dari R-tree Jumlah maksimal data yang ada pada leaf node dari R-tree Euclidian Distance Euclidian Distance antara titik Euclidian Distance konstan Luas kotak pada R-tree
x
dan
Daftar Singkatan SIFT
Scale Invariant Feature Transform
GPS
Global Positioning System
Kd-Tree
K-dimensional Tree
DOG
Difference of Gaussian
3D
3 Dimensi
SDK
Software Development Kit
PC
Personal Computer
USB
Universal Serial Bus
RAM
Random Access Memory
GB
GigaByte
GHz
GigaHertz
BST
Binary Search Tree
NN
Nearest Neighbour
BBF
Best Bin First
MBR
Minimum Bounding d-dimensional Rectangles
RANSAC
Random Sample Consensus
xi