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 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.
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
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.1Kesimpulan ... 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 Simbol33 Gambar 4.1. Hasil Perbandingan Data Jarak Kinect terhadap Jarak Sebenarnya 35
Gambar 4.2. (a) Citra dari Kinect 36
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
ix
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
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