Sistem Positioning Menggunakan Simbol dengan Menggunakan ... · SISTEM POSITIONING MENGGUNAKAN...
Transcript of Sistem Positioning Menggunakan Simbol dengan Menggunakan ... · SISTEM POSITIONING MENGGUNAKAN...
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
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.
Kata kunci: SIFT, BBF K-d Tree, R-Tree, Kinect
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.
Keywords: SIFT, kinect , BBF K-d Tree, R-Tree
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.
Salatiga, Januari 2015
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
2.5. Random Sample Consensus (RANSAC) ............................................................. 23
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
A. Simbol-simbol yang Digunakan untuk Pengujian ................................................. 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
Gambar A.1. Simbol-Simbol yang Digunakan untuk Pengujian 52
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
Luas kotak pada R-tree
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