...

ESTIMASI JARAK MENGGUNAKAN SENSOR KINECT

by user

on
Category: Documents
0

views

Report

Comments

Transcript

ESTIMASI JARAK MENGGUNAKAN SENSOR KINECT
Jurnal Ilmiah Mikrotek Vol. 1, No.1
2013
ESTIMASI JARAK MENGGUNAKAN SENSOR KINECT
Muhammad Fuad
Universitas Trunojoyo Madura
Raya Telang PO BOX 2 Kamal Bangkalan
Email: [email protected]
ABSTRAK
Pengukuran jarak menggunakan sensor berupa kamera digital sangat bergantung pada proses kalibrasi
yang didukung algoritma pengolahan citra yang rumit. Pendekatan ini menghasilkan citra dengan frame
rate yang rendah. Hal ini mengakibatkan hasil dari metoda ini cenderung kurang baik jika diterapkan
pada sistem realtime. Akurasi pengukuran jarak dengan kamera dapat diperbaiki dengan bantuan
beberapa sensor tambahan. Publikasi ini memaparkan suatu sistem yang mampu untuk melakukan
estimasi jarak setiap piksel menggunakan sebuah sensor Kinect berbasis masukan video Depth. Sistem ini
dapat diterapkan dalam robot untuk mengukur jarak terhadap penghalang guna mendukung kemampuan
navigasi. Tiga pendekatan dalam estimasi jarak tiap piksel dengan menggunakan sensor Kinect
dibandingkan dalam tulisan ini. Performa akuisisi data jarak berdasarkan masukan video depth
menggunakan pustaka Microsoft Kinect SDK dibandingkan dengan hasil yang dicapai OpenNI. Sebuah
metoda baru untuk estimasi jarak berbasis nilai hue dari video depth yang dibaca dengan pustaka
LibfreeNect diusulkan dalam penelitian ini. Analisis terhadap hasil pengujian pada pengukuran terhadap
beberapa titik penting dalam bingkai citra didiskusikan.
Kata Kunci: Estimasi Jarak, Sensor Kinect, OpenNI, Microsoft Kinect SDK, LibfreeNect.
ABSTRACT
Distance measurement using sensor such as digital camera is highly dependent on calibration process
that supported with complicated image processing algorithm. This approach leads to low picture frame
rate. It causes the result of this method unappropriate for realtime system. Accuration of distance
measurement using camera usually can be refined with some extra sensors. This publication describes a
system that capable to estimate distance per pixel using a Kinect sensor based on Depth video input. This
system can be applied in robot for measuring distance of obstacles for supporting navigation. In this
paper, three approach of distance per-pixel estimation is compared. Data acquisition performance of
distance measurement based on depth video input using Microsoft Kinect SDK library is compared with
the result achieved using OpenNI. A new method for distance estimation based on hue value of depth
video using LibfreeNect is proposed in this research. Analysis of some experiment results on measuring
several important points in frame is discussed.
Key Words: Distance Estimation, Kinect Sensor, OpenNI, Microsoft Kinect SDK, LibfreeNect.
5
Jurnal Ilmiah Mikrotek Vol. 1, No.1
1.
Pendahuluan
Sistem robot membutuhkan kemampuan
untuk menentukan jarak antara dirinya
dengan penghalang yang ada di sekitarnya.
Informasi jarak antara robot dengan
penghalang dibutuhkan agar navigasi dapat
menentukan reaksi yang dibutuhkan untuk
menghindari benturan saat bergerak
mencapai lokasi yang dituju. Kemampuan
yang didukung dengan pembacaan data
lingkungan menggunakan sensor ini dikenal
dengan estimasi jarak. Kebutuhan akan
kemampuan estimasi jarak tidak hanya
diperlukan dalam dunia robotika namun
juga dalam dunia otomotif, industri,
maupun multimedia sebagaimana dibahas
dalam penelitian [1].
Penelitian mengenai kemampuan mengukur
jarak telah diteliti dengan berbagai sensor.
Inframerah, ultrasonic, laser, kamera mono
dan stereo, merupakan beberapa sensor
yang dimanfaatkan untuk mengukur jarak.
Kamera menghasilkan lebih banyak
informasi dibandingkan dengan sensor lain.
Warna, iluminasi, tekstur, kedalaman
(depth), dan lain sebagainya. Permasalahan
dalam estimasi jarak muncul karena jarak
aktual
diukur
dengan
alat
yang
mengandung faktor ketidakpastian dari sisi
parameter intrinsik maupun ekstrinsik
sebagaimana dibahas dalam [2].
Pendekatan yang dilakukan pada penelitian
sebelumnya sangat bergantung pada proses
kalibrasi
yang
didukung
algoritma
pengolahan citra yang rumit. Kecepatan
komputasi dan akurasi merupakan faktor
yang perlu diperhitungkan sebelum
menerapkan sistem secara realtime.
Kekurangan yang masih ada dalam kamera
disempurnakan dengan berkembangnya
sensor jarak berbasis kamera yang biasa
dikenal dengan kamera depth atau kamera
ranging atau kamera RGB-D. Beberapa
sensor yang muncul di pasaran pada tahun
2010, Mesa Imaging Swiss Ranger 4000
dengan teknologi ToF, PMDTechnologies
CamCube 2.0, Proyek Natal dari Microsoft
dengan dukungan proyektor infrared,
PrimeSense
depth
camera
yang
memancarkan
pola
infrared
untuk
menentukan depth. Microsoft Kinect
sebagai luaran dari proyek Natal merupakan
6|Page
2013
sensor jarak berbasis kamera dengan harga
termurah. Gambar 1, berdasarkan referensi
[3], menampilkan sensor Kinect dalam
kondisi
terbuka
sehingga
terlihat
komponen-komponennya yang terdiri dari
proyektor infrared, kamera RGB, kamera
infrared, indikator LED, larik mikrofon,
dan motor.
Paper ini memaparkan suatu sistem estimasi
jarak setiap piksel menggunakan sebuah
sensor Kinect berbasis masukan video
Depth. Tiga pendekatan dalam estimasi
jarak tiap piksel depth berbasis sensor
Kinect dibandingkan dalam tulisan ini.
Akurasi dari proses akuisisi data jarak
berdasarkan
masukan
video
depth
menggunakan pustaka Microsoft Kinect
SDK dibandingkan dengan hasil yang
dicapai
OpenNI.
Penelitian
ini
mengusulkan sebuah metoda baru untuk
estimasi jarak berbasis nilai hue dari video
depth yang dibaca dengan pustaka
LibfreeNect. Analisis terhadap hasil
pengujian pada pengukuran beberapa titik
penting dalam bingkai citra didiskusikan.
Paper ini disusun sebagai berikut. Pada
bagian
kedua,
beberapa
penelitian
pendahulu terkait estimasi jarak dipaparkan.
Metoda yang diusulkan dijelaskan pada
bagian ketiga. Hasil dari implementasi
metoda dituliskan pada bagian keempat
lengkap
dengan
diskusi
dan
pembahasannya. Kesimpulan dari riset
ditampilkan pada bagian kelima dan ditutup
dengan saran.
Gambar 1. Komponen dalam Sensor Kinect
(sumber: [3])
2.
Tinjauan Pustaka
Topik estimasi jarak telah diteliti dalam
beberapa riset di antaranya sebagaimana
yang dilakukan Ying-Hao Yu dalam [2].
Penelitian dari Yu menggunakan kamera
Jurnal Ilmiah Mikrotek Vol. 1, No.1
global yang mendeteksi label tertempel
pada bagian atas badan robot dengan teknik
Perspective Projection Image Ratio (PPIR).
Algoritma ini digunakan untuk mengukur
jarak antara robot yang satu dengan lainnya.
Kamera 5 Mega Pixel dengan fokus dapat
diatur dari 7,1 hingga 21,4 mm ditempatkan
di atas langit-langit sedemikiah hingga
mampu menjangkau area kerja robot. PPIR
dari Yu menghasilkan tingkat kesalahan
kurang dari 5%.
Kombinasi beberapa sensor digunakan
untuk meningkatkan akurasi dan daya
jangkau dikerjakan pada penelitian dari
Sooyeong
Yi
dalam
[4].
Yi
mengkombinasikan laser sebagai sumber
cahaya terstruktur, cermin parabolik omnidirectional yang menangkap pantulan
cahaya, sehingga kamera dapat memantau
pemandangan dari 360º. Tingkat kesalahan
yang kecil terjadi pada pengukuran kurang
dari 2000 mm sedangkan untuk pengukuran
lebih dari 2000 mm tingkat kesalahan
membesar. Kesalahan paling besar 300 mm
untuk pengukuran jarak aktual kurang dari
5000 mm.
Penelitian Tarek dalam [5] menggabungkan
sensor ultrasonic dan infrared untuk
mengukur jarak. Akurasi rata-rata 97%
untuk jarak antara 75 mm hingga 120 mm
dan sangat bergantung pada material
permukaan yang memantulkan sinyal dari
kedua sensor ini. Ringbeck dalam [6]
meneliti tentang pengukuran multidimensi
dalam pengembangan sensor 3-D Photonic
Mixer Device (PMD). Sensor dengan harga
relatif mahal ini mampu mengukur hingga
10 m.
Akuisisi
Data
depth
Estimasi
Jarak
Jarak robot dengan
penghalang
Gambar 2. Diagram blok estimasi jarak
3.
Metode
Sistem estimasi jarak yang dikembangkan
dalam
penelitian
ini
menggunakan
rancangan sesuai diagram blok pada
Gambar 2. Spesifikasi sensor Kinect yang
lengkap dapat merujuk pada referensi [7].
2013
Eksperimen dijalankan pada laptop dengan
spesifikasi perangkat keras prosesor Intel
Celeron 2 GHz, RAM 1 GB dengan VGAshared 256 MB. Perangkat lunak yang
digunakan
berupa
sistem
operasi
WindowsXP Professional Service Pack 3
32
bit.
Implementasi
algoritma
menggunakan Microsoft Visual C# 2010
Express Edition.
Pembacaan data video RGB dan depth
dalam proses akuisisi data dari sensor
Kinect membutuhkan pustaka dan driver
sebagai perangkat lunak antar muka.
Beberapa
pustaka
digunakan
dan
dibandingkan dalam riset ini, yaitu:
KinectSDK dari Microsoft , OpenNI dari
PrimeSense,
dan
LibFreeNect
dari
OpenKinect.
Proses akuisisi data dengan KinectSDK
berhasil menangkap dan menampilkan
video seperti ditunjukkan pada Gambar 3.
Video RGB memiliki resolusi 640 x 480
piksel sedangkan resolusi video Depth
sebesar 320 x 240 piksel. Setiap detik, 30
frame citra RGB dan Depth dapat
dihasilkan dari kedua jenis video ini.
Gambar 3. Data hasil akuisisi RGB dan depth
dengan KinectSDK.
Pemancar sinar inframerah (IR) dari sensor
Kinect memproyeksikan gelombang ini ke
lingkungan di sekitarnya berdasarkan sudut
view 43º vertikal dan 57º horisontal. Obyek
yang terpapar gelombang ini akan
memantulkan IR kembali. Pantulan IR dari
obyek penghalang tertangkap sensor
kamera depth. Jarak antara kamera dengan
lingkungan sekitarnya diperhitungkan dari
berkas IR yang dipantulkan obyek
penghalang.
Proses estimasi jarak diawali dengan
menambahkan
kemampuan
untuk
membedakan piksel berdasarkan jarak
antara obyek penghalang dengan kamera.
Kemampuan ini berhasil membuat piksel
dari obyek yang dekat dengan kamera
tampak lebih terang dari pada piksel dari
obyek yang letaknya relatif jauh dari
kamera seperti ditampilkan Gambar 4.
7|Page
Jurnal Ilmiah Mikrotek Vol. 1, No.1
2013
dan Depth dari suatu pemandangan. Kedua
data ini masih dapat diperoleh walaupun
dalam kondisi lingkungan tanpa cahaya.
Gambar 4. Gradasi warna keabuan Depth.
Gambar 4 menampilkan luaran dari proses
estimasi jarak berupa video depth dengan
gradasi warna keabuan yang menyatakan
perbedaan jarak. Perbedaan jarak piksel
dari obyek penghalang dengan kamera juga
dapat dinyatakan menggunakan warna RGB
sebagaimana ditampilkan pada Gambar 5.
Gambar 8. Data hasil akuisisi IR dan depth.
Class DepthGenerator dari OpenNI
menghasilkan struktur data berisi peta
kedalaman (depth map) berupa array piksel
bernilai jarak dalam satuan mili meter
(mm). Proses selanjutnya, piksel yang
berada di tengah layar ditampilkan sebagai
informasi jarak sebagaimana ditunjukkan
pada Gambar 9.
Gambar 5. Gradasi warna RGB pada depth.
Class DepthFrame dari KinectSDK berisi
struktur data jarak kedalaman piksel dari
setiap frame. Berikutnya, menampilkan
informasi kedalaman sebagai estimasi jarak
aktual yang dibaca dari setiap piksel depth.
Gambar 6 menampilkan estimasi terhadap
jarak piksel di tengah layar menggunakan
KinectSDK. Jarak piksel ditampilkan dalam
satuan mili meter.
Gambar 9. Estimasi jarak piksel di tengah layar
dengan OpenNI
Akusisi data menggunakan pustaka
LibFreeNect, yang menyatu dalam paket
AForge.Video.Kinect, menghasilkan video
Depth dalam gradasi warna berdasarkan
jarak antara lingkungan dengan kamera
seperti ditampilkan pada Gambar 10.
Gambar 6. Estimasi jarak piksel di tengah layar
dengan KinectSDK
Akuisisi data menggunakan OpenNI
menghasilkan video RGB, Depth, dan IR.
Untuk menghindari efek flicker, data
diperbarui dalam thread yang terpisah dari
grafis. Sensor diatur untuk memperbarui
data setiap 150 mili detik.
Pengaturan ini dapat menghilangkan efek
flicker. Hasil proses ini diolah sehingga
citra depth menampilkan warna yang
berbeda antara piksel dengan jarak dekat
dan jauh seperti ditampilkan pada Gambar
7.
Gambar 7. Data hasil akuisisi RGB dan depth
dalam Gradasi Jarak dengan OpenNI
OpenNI menyediakan citra IR selain RGB,
dan Depth. Gambar 8 menampilkan citra IR
8|Page
Gambar 10. Gradasi warna RGB pada depth
sebagai hasil akuisisi data LibFreeNect
Berdasarkan pengamatan terhadap nilai
dari komponen warna merah, hijau, biru
ditemukan relasi antara perubahan warna
RGB dengan jarak piksel. Relasi lebih
sederhana, yang menjadi perhatian dalam
riset ini, ditemukan antara perubahan nilai
hue dengan jarak piksel. Nilai hue antara 0
hingga 220 mengalami peningkatan seiring
jarak piksel dari obyek tinjau yang berubah
dari 0 hingga 6000 mm. Gambar 11
menampilkan nilai hue 5,18 untuk jarak 770
mm yang meningkat hingga 218,32 untuk
jarak 6000 mm.
Trendline dari grafik pada Gambar 11
didekati
menggunakan
persamaan
eksponensial terhadap kelompok data jarak
tertentu sehingga dihasilkan formula
Jurnal Ilmiah Mikrotek Vol. 1, No.1
estimasi
jarak
sebagaimana
ditampilkan pada Tabel 1.
yang
2013
terdekat yang dapat diukur 500 mm dan
jarak terjauh 4500 mm.
Gambar 13. Pengukuran jarak OpenNI
Gambar 11. Relasi jarak aktual dan Hue
Tabel 1. Formula estimasi jarak
LibFreeNect diuji dengan mengukur jarak
antara kardus warna putih dengan kamera.
Diperoleh hasil yang lebih baik lagi,
berturut-turut 770 mm dan 6000 mm
sebagai jarak terdekat dan terjauh
sebagaimana ditampilkan pada Gambar 14.
Gambar 14. Pengukuran jarak LibFreeNect
4.
Hasil dan Pembahasan
Perbandingan pendekatan estimasi jarak
dengan KinectSDK, OpenNI, LibFreeNect
disajikan dalam chart pada Gambar 15.
Pengujian performa estimasi jarak berbasis
Microsoft KinectSDK, OpenNI, dan
LibFreeNect
dilakukan
dengan
menempatkan suatu obyek tinjau tertentu di
depan sensor Kinect di dalam ruangan
dengan pencahayaan lampu. Pengukuran
dilakukan terhadap piksel obyek di tengah
frame dimulai dengan jarak terdekat hingga
jarak terjauh dari sensor.
Gambar 12 menampilkan pengukuran
dengan KinectSDK terhadap obyek
penghalang berupa manusia pada jarak
terdekat 800 mm dan jarak terjauh 1600
mm.
Gambar 12. Pengukuran jarak KinectSDK.
OpenNI menghasilkan performa lebih baik
dari
pada
Microsoft
KinectSDK.
Berdasarkan pengukuran jarak terhadap
kardus warna putih, seperti ditampilkan
pada Gambar 13, diketahui bawah jarak
Gambar 15. Perbandingan estimasi jarak
dengan KinectSDK, OpenNI, dan LibFreeNect.
Eksperimen menyatakan bahwa akurasi
estimasi jarak berbasis konversi nilai hue
menggunakan persamaan eksponensial
sepotong-sepotong yang dibaca dengan
pustaka LibfreeNect, sebagai pendekatan
yang diusulkan dalam penelitian ini,
memiliki jangkauan area kerja tertinggi
dengan nilai 5200 mm dan rata-rata akurasi
untuk keseluruhan area kerja sebesar
98,45%. Nilai rata-rata akurasi dari
pendekatan penelitian ini untuk jangkauan
area kerja yang sama dengan OpenNI
meningkat menjadi 99%. Angka ini
9|Page
Jurnal Ilmiah Mikrotek Vol. 1, No.1
meningkat hingga 99,10% untuk area kerja
yang sama dengan Microsoft KinectSDK.
Daftar Pustaka
[1]
Schwarte, R., Buxbaum, B., Heinol,
H., Xu, Z., Schulte, J., Riedel,H.,
Steiner, R., Scherer, M., Schneider,
B., and Ringbeck, T. [2000], “New
Powerful
Sensory
Tool
in
Automotive Safety Systems Based on
PMD-Technology”,
AMAA
–
Advanced
Microsystems
for
Automotive
Applications
2000,
Berlin.
[2]
Yu, Y.H., Kodagoda, S., and Ha,
Q.P. [2010], “Relative Distance
Estimation for Indoor Multi-Robot
Control Using Monocular Digital
Camera”.
[3]
Webb, J., and Ashley, J. [2012],
Beginning Kinect Programming with
the Microsoft Kinect SDK. Apress.
[4]
Yi, S., Choi, B., and Ahuja, N.
[2007], “Real-time Omni-directional
Distance Measurement with Active
Panoramic Vision”. International
Journal of Control, Automation, and
Systems. Vol. 5. No. 2. pp. 184 –
191. April
[5]
Tarek, M. [2009], “Using Ultrasonic
and Infrared Sensors for Distance
Measurement”. World Academy of
Science,
Engineering
and
Technology 27.
[6]
Ringbeck,
T.,
Moller,
T.,
Hagebeuker,
B.
[2007],
“Multidimensional Measurement by
Using 3-D PMD Sensors”. Advances
in Radio Science. 5. 135 -146.
[7]
Microsoft Research. [2011], Getting
Started with the Kinect for Windows
SDK Beta from Microsoft Research.
Technical
Report.
Chicago:
Microsoft Corporation. Beta 1 Draft
Version 1.1
Tabel 2. Perbandingan akurasi estimasi jarak
dengan LibFreeNect (L), OpenNI (O),
Microsoft KinectSDK (K).
5.
Kesimpulan
Area kerja sensor Kinect dalam pengukuran
jarak ditentukan algoritma estimasi jarak
dan pustaka yang digunakan.
Publikasi ini mengusulkan pendekatan
estimasi jarak menggunakan sensor Kinect
dengan pustaka LibFreeNect berbasis
konversi nilai hue dalam video Depth
menjadi
jarak
dengan
persamaan
eksponensial yang diterapkan pada
kelompok-kelompok data hue. Pendekatan
ini menghasilkan rata-rata akurasi 98,45%
untuk pengukuran jarak kamera atau robot
dengan penghalang pada jangkauan area
kerja dari 800 mm hingga 6000 mm pada
penggunaan sensor di dalam ruangan.
6.
Saran
Area kerja Kinect yang dibahas dalam
penelitian ini fokus pada jangkauan
jarak yang dapat dibaca sensor. Sudut
view 43º vertikal dan 57º horisontal
merupakan batasan yang menarik untuk
didikembangkan sehingga dapat dicapai
view yang meliputi keseluruhan arah
(omnidirectional).
10 | P a g e
2013
Fly UP