ESTIMASI JARAK DAN POSISI ORIENTASI OBJEK MENGGUNAKAN STEREO CAMERA DAN KALMAN FILTER
ESTIMASI JARAK DAN POSISI ORIENTASI OBJEK
MENGGUNAKAN STEREO CAMERA DAN KALMAN
FILTER
Faikul Umam
Program Studi Mekatronika, Fakultas Teknik,Universitas Trunojoyo Jl. Raya Telang, PO BOX 2 Kamal, Bangkalan
E-mail :
ABSTRAK
Dalam proses navigasi, robot memerlukan sebuah sensor untuk mengenali lingkungannya. Sensor
menghasilkan sinyal dan menginformasikan sinyal tersebut ke sistem berikutnya. Dalam
perkembangannya, untuk meningkatkan kemampuan adaptasi robot terhadap lingkungannya,
sensor berbasis kamera (visual preception) mulai digunakan untuk mendeteksi objek. Kamera
menghasilkan sebuah gambar statis atau citra sebagai fungsi kontinyu pada bidang dua dimensi.
Agar dapat diolah, sebuah citra harus dipresentasikan secara numerik dengan nilai-nilai diskrit
yang diwakili oleh sebuah matriks dua dimensi f(x,y). Pengukuran jarak dan posisi orientasi objek
menggunakan satu kamera masih memiliki kesalahan yang cukup tinggi yakni mecapai 75 %.
Untuk menangani hal ini, terinspirasi dari penglihatan manusia, dikembangan sebuah sensor
menggunakan 2 buah kamera yang dipasang sejajar dan dipisahkan oleh jarak yang dikenal dengan
sistem stereo camera. Dalam proses identifikasi objek, digunakan Hough Transform untuk
identifikasi objek diam dan Haar Cascade untuk identifikasi objek bergerak. Untuk membantu
menghilangkan noise dalam proses identifikasi objek digunakan Kalman Filter. Berdasarkan
pengujian, error maksimum pengukuran hanya 3,6 % pada jarak 280 cm untuk objek diam dan
3,4% pada jarak 250 cm untuk objek bergerak.Kata kunci : Stereo Camera, Hough Transform, Haar Cascade, Kalman Filter.
ABSTRACT
robot navigation systems require sensors to recognize its environment. The sensor generates a
signal and transmit it to the next system. To improve the robot adaptation to the environment, the
camera-based sensor is used to detect objects, The camera produces a static image or image as a
continuous function of the two-dimensional plane. In order to be processed, an image must be
presented numerically by discrete values represented by a two-dimensional matrix. Angle and
distance measurements using a single camera still has a high error is 75%. To resolve that,
designing stereo camera sensor inspired by binocular vision. In the process of object
identification, Hough Transform algorithm is used for static object identification and Haar
Casc ade Classifier for moving object identification, and then kalman filter is designing to
eliminate some noise. Based on testing, the maximum measurement error 3.6% at a distance of
280 cm for static objects and 3.4% at a distance of 250 cm for moving objects.Keyword: Stereo Camera, Hough Transform, Haar Cascade, Kalman Filter.
PENDAHULUAN
Pengolahan citra digital saat ini banyak digunakan sebagai objek penelitian. Disiplin ilmu tersebut telah banyak memberikan hal positif untuk kehidupan manusia. Hampir disegala bidang kehidupan, teknik ini memiliki peran yang cukup berarti. Misalnya saja dalam bidang pemerintahan, teknik ini digunakan untuk pengembangan e-KTP.
dan identifikasi objek bergerak menggunakan Haar Cascade.
Gambar 1. Struktur Penglihatan Manusia
Gambar 1 menjelaskan bahwa mata kanan dan mata kiri mendeteksi sebuah objek, posisi objek yang ditangkap oleh mata kanan berbeda dengan posisi objek yang ditangkap oleh mata kiri. Semakin dekat sebuah objek dengan mata, maka perbedaan tersebut akan semakin jelas.
mata pada manusia (Binocular vision), dinama data atau objek yang dilihat oleh kedua mata kita sebenarnya letaknya berbeda dan tumpang tindih. Hasil penglihatan mata kanan memiliki nilai posisi sendiri (x, y) begitu juga dengan mata kiri, ini disebabkan karena kedua mata memiliki perdebaan sudut pandang dalam melihat sebuah objek.
Camera. Terbentuknya algoritma Stereo Camera diilhami oleh penglihatan kedua
Struktur biologis manusia sudah banyak mengilhami para peneliti untuk terus melakukan riset, misalnya Stereo
Hough Transform
Pengembangan salah satu teknik pengolahan citra digital dapat memberikan kontribusi terhadap disiplin ilmu yang lain. Misalnya dalam dunia robotika, pengolahan citra digital mulai digunakan untuk memperbaiki sistem navigasi. Saat ini, sensor berbasis kamera telah banyak diaplikasikan pada sistem navigasi robot. Hal ini juga telah menginspirasi pemerintah untuk mengembangkan ilmu pengetahuan dengan mengadakan kompetisi robot pemain sepak bola menggunakan sensor kamera.
Berdasarkan hal tersebut, maka pada penelitian ini dikembangkan sebuah sensor menggunakan 2 buah kamera yang dipasang sejajar dan dipisahkan oleh jarak untuk estimasi pengukuran jarak dan posisi orientasi objek. Untuk mengetahui keakuratan dari sensor ini, identifikasi objek diam menggunakan
METODE Stereo Camera
panjang dari kamera perspektif yang digunakan untuk mengetahui perkiraan posisi hambatan 3 dimensi. Penelitian ini menunjukkan hasil yang sangat baik, yakni halangan dapat dideteksi secara real time [3].
directional dengan bidang pandang yang
Bahkan pada penelitian terbaru, teknik stero vision dikembangkan berdasarkan kombinasi dari kamera Omni-directional dan kamera perspektif. Teknik ini menggabungkan bidang pandang 360 o dari kamera Omni-
Awalnya hanya digunakan satu kamera untuk identifikasi objek, tetapi hal ini masih dianggap memiliki banyak kelemahan atau belum cukup memenuhi kebutuhan sistem navigasi, karena error pengukuran jarak dan posisi orientasi objek masih sangat besar yakni mencapai 75% [1]. Kemudian dikembangkan sebuah sensor perpaduan antara kamera dan laser. Hasilnya cukup memuaskan, sensor jenis ini memiliki kehandalan dalam mendeteksi objek 2 dan 3 dimensi [2].
Pengembangan sensor berbasis kamera memang memiliki tantangan dan kesulitan yang sangat tinggi, selain memerlukan proses komputasi yang cepat, faktor dari luar juga mempengaruhi kinerja sensor tersebut, misalnya intensitas cahaya.
Pada sistem Stereo Camera, dua buah kamera dipasang sejajar yang dipisahkan oleh jarak, kedua kamera mengambil gambar pada saat yang bersamaan, dengan menggunakan geometri kamera, maka geometri area tangkapan kamera dapat dihitung. Semakin dekat sebuah ojek dengan kedua kamera, maka semakin besar perbedaan posisi objek tersebut terhadap kedua kamera. Perbedaan ini kemudian dikenal dengan disparity. optik kedua kamera adalah sejajar dan dipisahkan oleh b, dalam hal ini b adalah
dapat digunakan untuk melakukan pendeteksian upper body, salah satunya adalah metode viola-jones. Metode viola- jones cukup efektif dan cepat untuk diterapkan pada deteksi upper body, mengingat sensor yang digunakan adalah
2 ( + ) ]
(3) Haar Cascade
Pada penelitian ini, pendeteksian objek bergerak menggunakan deteksi
upper body . Pendeteksian upper body
dianggap sebagai kasus tertentu dari kelas deteksi objek, dimana tugas utama dari deteksi objek adalah menemukan lokasi dan ukuran sebuah objek yang diinginkan dalam sebuah video atau
image . Terdapat banyak metode yang
stereo vision [6].
2 − [
Gambar 3. Cascade Classifier
Pendeteksian Upper Body diawali dengan capture oleh kamera yang menghasilkan image dalam bentuk RGB,
image RGB kemudian dikonversi
kedalam bentuk Gray. Image dalam bentuk gray akan dilatih oleh haar
cascade
classifier yang berisi sampel
Upper Body hingga berates-ratus kali
1
= [ ] =
baseline yaitu jarak antara titik tengah
pada persamaan (1), sedangkan proyeksi titik stereo camera frame ke right image
kamera kiri dan titik tengah kamera kanan. Sebuah sistem koordinat SC terpasang dimana sumbu x ( LC X, RC X dan
X) sejajar dengan b dan sumbu z ( LC Z, RC Z dan SC Z) sejajar dengan sumbu optik. Titik SC q adalah titik dalam sebuah ruang hasil tangkapan kamera. Titik SC q memiliki koordinat (x, y, z) yang merupakan hasil proyeksi dari titik LI q(x, y) dan RI q(x, y) [4][5].
Gambar 2. Geometri Stereo Camera
Proyeksi dari stereo camera
frame ke left image frame dan right image frame adalah urutan operasi
translasi dan transformasi proyeksi dimana nilai focal length f adalah sama dengan f L dan f R . Proyeksi titik stereo
camera frame ke left image frame seperti
frame seperti pada persamaan (2).
] [ (2)
Sehingga titik SC q (x, y, z) yang diproyeksikan dari titik LI q(x, y) dan RI q(x r , y r ). dapat dicari dengan persamaan (3).
[ ] = [ 0 0 0 0 0 0 1 0 ] [
1 0 0 0 1 0 0 0 1 −
0 0 0 1 ] [ 1 ]
(1) [ ] = [ 0 0
0 0 0 0 1 0 ] [
1 0 0 0 1 0 0 0 1 0 0 0 1
seperti pada Gambar 3. Jika Upper Body belum ditemukan, pelatihan akan terus
transfer ke ruang parameter.
maka dibuat sebuah penanda berupa kotak segi empat di area sekitar Upper
Body .
Hough Transform (HT)
Deteksi objek diam pada penelitian ini menggunakan objek berupa lingkaran, dimana algoritma pendeteksian yang digunakan adalah
Hough Transform (HT). HT merupakan
suatu teknik untuk menentukan lokasi suatu bentuk dalam citra. Metode ini bisa dikatakan metode yang pintar, karena pada dasarnya setiap pixel yang ada pada citra akan men-vote pada setiap daerah yang dia perkirakan ada bentuk geometri yang dimaksud.
2 (6) = + ( ) (7) = + ( ) (8)
2
2 = ( − )
kedudukan titik (x,y) dari titik pusat (a,b), dengan jari-jari R atau dapat dibuat persamaan parametric :
lingkaran dengan mengganti persamaan atas kurva dalam proses deteksi. Persamaan ini bisa dalam bentuk eksplisit seperti pada persamaan (6), ataupun
Hough Transform dapat mencari
- ( − )
Ruang parameter sudah dapat direntang oleh θ dan ρ, dimana nilai θ tergantung pada resolusi yang digunakan memiliki ukuran maksimum dari dua kali panjang diagonal citra. Lingkaran sebenarnya lebih sederhana untuk direpresentasikan ke dalam ruang parameter dibandingkan dengan garis, karena lingkaran dapat langsung di-
Persamaan (4) merupakan persamaan garis lurus dalam koordinat kartesian, dimana a dan b merepresentasikan parameter dari garis. HT untuk garis tidak menggunakan representasi garis, karena garis yang tegak lurus terhadap sumbu x akan memiliki sebuah nilai tak terhingga. Hal ini memaksa ruang parameter a,b untuk memiliki ukuran yang tidak terbatas. Sebaliknya, sebuah garis direpresentasikan oleh garis normalnya yang dapat direpresentasikan sudut θ dan panjang ρ seperti pada persamaan (5).
= + (4) = cos + sin (5)
mendefinisikan bentuk yang ingin dideteksi. HT dapat dideskripsikan sebagai sebuah transformasi dari sebuah titik pada bidang xy terhadap ruang parameter, dimana ruang parameter ditentukan berdasarkan bentuk objek yang dicari. Sebuah garis lurus melewati titik (x1, y1) dan (x2, y2) terhadap bidang xy dapat dideskripsikan dalam persamaan (4) [7].
space ) berdasarkan suatu fungsi yang
Dalam implementasinya, HT melakukan pemetaan terhadap titik-titik pada citra ke dalam parameter space (HT
Pada pengerjaannya, HT akan mencari titik-titik yang diduga sebagai bagian tepi dari suatu lingkaran, kemudian dengan menggunakan persamaaan (7) dan (8) akan dicari nilai R, a, b. Hal ini bertujuan untuk menemukan titik pusat sebenarnya dari lingkaran yang mengandung titik-titik tersebut. Titik pusat sebenarnya baru akan diambil bila terdapat perpotongan antara lingkaran yang dibuat oleh HT.
Sama halnya seperti deteksi
upper body, proses awal untuk deteksi
objek lingkaran adalah proses capture dari kedua kamera. Hasil yang didapat adalah sebuah image dalam bentuk RGB, image tersebut dikonversi menjadi image dalam bentuk grayscale. Setelah image dalam bentuk grayscale didapatkan, kemudian dicari sebuah lingkaran menggunakan metode hough transform.
Kalman Filter
Pada saat proses deteksi, setelah sebuah objek berhasil diidentifikasi, kadangkala kotak penanda (detector) tidak fixed di satu tempat, terjadi perpindahan kotak penanda secara terus menerus meskipun objek dalam keaadaan diam. Hal ini berakibat berubahnya titik tengah penanda sebagai acuan perhitungan jarak dan posisi orientasi objek. Jika hal inidibiarkan maka hasil perhitungan akan selalu berubah-ubah meskipun objek tersebut dalam keadaan diam. Oleh karena itu, untuk mengatasi hal ini dilakukan pemfilteran menggunakan kalman filter terhadap deteksi yang dihasilkan.
Kalman filter merupakan sebuah estimator yang mengestimasi state output sensor yang kotor akibat adanya noise. Kalman filter melakukan pendekatan teknis dengan cara megira-ngira fungsi
series. Kalman Filter merupakan suatu algoritma yang menggabungkan model dan pengukuran. Data pengukuran terbaru menjadi bagian penting dari algoritma filter Kalman karena data mutakhir akan mengoreksi hasil prediksi, sehingga hasil estimasi selalu mendekati kondisi yang sebenarnya [8].
Kemudian dengan menggunakan persamaan 3, jarak dan posisi orientasi objek dapat dihitung .
Penghitungan jarak dan posisi orientasi objek diawali dengan kamera mendeteksi sebuah objek baik itu objek bergerak maupun objek diam, kemudian sistem akan mengidentifikasi objek yang dimaksud dengan memberi penanda hasil capture objek pada masing-masing tentukan titik tengah masing-masing penanda (x center , y center ), jadi ada empat parameter yang dihasilkan yaitu XL center , YL center, XR center , dan YR center .
fixed seperti pada Gambar 5.
Perancangan Sistem
tersebut dipasang sejajar, panjang
baseline atau jarak titik tengah kamera
kiri dengan kamera kanan 8 cm seperti pada Gambar 4.
angle view 50 derajat. Kedua kamera web
Perubahan panjang baseline dapat mempengaruhi perhitungan jarak dan posisi orientasi objek. Oleh karena itu, untuk meminimalisir bergersernya salah satu kamera yang menyebabkan perubahan baseline, kedua kamera dibuat
Untuk mempermudah pengoperasian dan mengurangi kesalahan pada saat proses pendeteksian dan proses perhitungan, digunakan 2 kamera web dengan tipe dan merk yang sama. Masing-masing kamera web memiliki resolusi 8MP dan
camera dirancang menggunakan menggunakan 2 buah kamera web biasa.
Pada penelitian ini, sensor stereo
Gambar
6. Diagram Alir Proses Penghitungan Jarak dan Posisi Orientasi Objek Menggunakan Sensor Stereo Kamera
Baseline(b)
Gambar 4. Rancangan Sistem Stereo Kamera Gambar 5. Objek Penelitian Dibuat Fixed
Seperti yang dikemukakan di awal, proses deteksi objek pada penelitian ini menggunakan Haar
400 350 300 250 200 150 50 100 50 100 150 Pi kse l Time
Objek yang digunakan adalah pejalan kaki yang dikenali dengan deteksi upper
body untuk objek bergerak dan
digunakan lingkaran untuk deteksi objek diam.
Kamera Kanan Kamera Kiri
(a) (b)
Gambar 7. (a) Deteksi Upper Body, (b) Deteksi Lingkaran
Objek yang telah berhasil dideteksi akan diberi sebuah penanda seperti pada Gambar 7. Deteksi kamera kanan dan kamera kiri memiliki menghasilkan posisi yang berbeda, ini disebabkan oleh sudut pandang yang berbeda dari kedua kamera tersebut.
Cascade untuk objek bergerak dan Hough Transform untuk objek diam.
Gambar 8 dan Gambar 9, Grafik warna merah merupakan osilasi atau perpindahan penanda sebelum dilakukan pemfilteran, sedangkan grafik warna biru adalah pemfilteran penanda menggunakan kalman filter.
HASIL DAN PEMBAHASAN Deteksi Objek
Gambar 8. Pemfilteran pada Deteksi Upper Body Gambar
9. Pemfilteran pada Deteksi Lingkaran
Estimasi Pengukuran Jarak
detector di buat sangat kecil maka saat 320 322 324 326 328 330 332 334 336 338 20 40 60 Pi xel Time
Pengukuran jarak objek bergerak diuji dalam rentang 0 – 300 cm, berdasarkan hasil pengujian, jarak objek halangan bisa diukur dengan jarak terdekat 130 dan jarak terjauh 270 cm, jika jarak objek terlalu dekat maka sensor tidak dapat mengenali objek, begitu juga jika terlalu jauh sensor juga tidak dapat mengenali objek, ini disebabkan pengaturan besar kecilnya detector, jika
Selama proses deteksi, penanda tidak fixed pada satu pixel meskipun objek dalam keadaan diam. Ini menyebabkan penghitungan jarak yang dihasilkan juga akan berubah-ubah, oleh karena itu setelah objek berhasil diidentifikasi dengan sebuah penanda, maka penanda akan dilakukan pemfilteran menggunakan kalman filter dengan tujuan agar penanda tidak
320 340 360 380 400 420 440 460 480 500 520 540 560 580 600 620 640 0.008
9.
20
16.
15.
14.
13.
12.
11.
10.
8.
60
7.
6.
5.
4.
3.
2.
Tabel 4. Pengukuran Sudut Berdasarkan Pixel No Pixel Sudut No. Pixel Sudut 1.
dimana y adalah sudut, dan x adalah nilai piksel. Hasil Penghitungan ditunjukkan pada Tabel 4.
40
80 100 120 140 160 180 200 220 240 260 280 300
Jika nilai piksel sama dengan 0, maka sudut sama dengan 25, jika nilai pikesl sama dengan 320, maka sudut bernilai 0, dan jika piksel bernilai 640, maka sudut bernilai -25. Dari pemetaan ini, maka dapat dicari fungsi liniernya menggunakan persamaan 9.
25.
33.
32.
31.
30.
29.
28.
27.
26.
24.
25 23.438 21.876 20.314 18.752
23.
22.
21.
20.
19.
18.
1.57 17.
9.38 7.818 6.256 4.694 3.132
17.19 15.628 14.066 12.504 10.942
= −0.0781 + 25 (9)
Sudut 25 -25
80
1.24
3.40
0.40 Pengukuran jarak pada objek
diam diuji dalam rentang 80 – 300 cm, berdasarkan hasil pengujian seperti pada Tabel 2, jarak objek target diukur antara rentang 80 sampai 300 cm, error minimum terjadi pada saat jarak target saat 80 cm dan 240 cm dengan nilai error 0% dan error maksimum pada jarak 280 cm dengan error sebesar 3.64 %.
Tabel 2. Pengukuran Jarak pada Objek Diam Jarak Aktual (cm) Jarak Pengukuran (cm)
Error (%)
80 100 120 140 160 180 200 220 240 260 280 300
Tabel 3. Pemetaan Sudut dengan Pixel Image Piksel 320 640
99.96 119.96 141.76 160.04 182.54 199.98 220.04 240 259.97 270.08
0.00
0.00
0.04
0.03
0.02
0.04
1.81
0.06
0.30
130.39 150.09 173.09 190.00 210.10 232.77 258.62 271.29
Error (%) 130 150 170 190 210 230 250 270
Tabel 1. Pengukuran Jarak pada Objek Bergerak Jarak Aktual (cm) Jarak Pengukuran (cm)
error 0% dan error maksimum pada jarak 250 cm dengan error sebesar 3,4%.
begitu juga sebaliknya, dengan alasan tersebut dipilih ukuran detector 200 x 200 dengan jangkauan jarak minimum 130 cm dan jarak maksimum 270 cm. seperti pada Tabel 1, error minimum pengukuran jarak terjadi pada saat jarak halangan mencapai 190 cm dengan nilai
Setiap kamera memiliki angle
view yang berbeda-beda. Spesifikasi yang
dikeluarkan oleh vendor menyatakan bahwa angle view pada kamera Prolink tipe PCC5020 adalah 70 derajat. Pada saat pengukuran kamera tipe ini hanya memiliki angle view sebesar 50 derajat, nilai ini didapatkan dari hasil pengukuran dengan cara menarik garis lurus dari kanan kamera sampai ke titik tengah kamera. Setelah angle view kamera diketahui, maka dapat dicari sudut objek dengan cara memetakan kedua angle
view kedua kamera dengan resolusi yang
dipakai, jika resolusi yang dipakai adalah 640 x 320, maka dapat dipetakan seperti Tabel 3.
1.20
- 1.554
- 3.116
- 4.678
- 6.24
- 7.802
- 9.364
- 10.926
- 12.488
- 14.05
- 15.612
- 17.174
- 18.736
- 20.298
- 21.86
- 23.422
- 24.984
- –398. [4].
290
1.39
0.01
0.01
0.00
0.01
3.67
3.44 Estimasi Pengukuran Posisi Orientasi
Selain jarak, parameter lain yang diperlukan untuk mengidentifikasi keberadaan sebuah objek adalah posisi orientasi halangan, dalam hal ini posisi orientasi yang dimaksud adalah sudut objek.
SIMPULAN
Soumare. S, Ohya A., Yuta S., 2004
3D- Objecttracking With a Mixed Omnidirectional Stereo Camera System, Sincedirect Mechatronics 21 390
.
, 2008. Kalman Filtering : Theory And Practice Using Matlab. Wiley, Canada.
[8].
Pedersen S., 2007. Circular Hough Transform, Aalborg University.
[7].
Viola P., Jones M.J., 2004. Robust Real-Time Face Detection, International Journal Of Computer Vision 57 (2), 137-154.
[6].
Wöhler C., 2009. 3D Computer Vision Efficient Methods and Applications. Springer Dordrecht Heidelberg London, New York.
[5].
Purwanto D., Imaging Geometry, Dept.Of Electrical Engineering Institut Teknologi Sepuluh Nopember (ITS), Surabaya.
Lauer M, Schönbein M, Lange S, Welker Stefan, 2011.
Berdasarkan hasil penelitian, proses penghitungan jarak pada stereo
[3].
Real-Time Obstacle Avoidance By An Autonomous Mobile Robot Using An Active Vision Sensor And A Vertically Emitted Laser Slit, Intelligent Robot Laboratory, University of Tsukuba Japan.
[2].
Estimasi Jarak Objek Menggunakan Single Camera Dengan Model Segmentasi HSV, Seminar Nasional Teknoin, D134-D137.
Pambudi. W.S., Salamah. I, Tompunu. A.N., 2011. Deteksi dan
dengan pengukuran hanya menggunakan single camera .
camera lebih presisi dibandingkan
diam hanya 3.6 %. Dari hasil ini, pengukuran jarak menggunakan stereo
error maksimal pada pengukuran objek
bergerak hanya berkisar 3,4%, sedangkan
Error maksimal pada pengukuran objek
bergerak menggunakan kalman filter.
camera diawali dengan menghilangkan noise yang menyebabkan detector selalu