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
i
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 K-d Tree K-dan R-Tree. Kinect K-digunakan untuk memotong bagian citra K-dengan jarak yang suK-dah 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.
ii
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.
iii
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.
iv
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
v
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
vi
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
vii
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
viii
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
ix
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 ke-
Jumlah node yang dikunjungi pada Best Bin First(BBF) K-d Tree Nilai varians dari index descriptor ke-
x
Jumlah descriptor
Nilai rata-rata dari index descriptor ke- Jumlah 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 dan Euclidian Distance konstan
xi
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