ESTIMASI POSISI OBJEK BERDASARKAN STEREO VISION SYSTEM Chandra Suharlim; Eka Putra; Tommy Budiman; Iman Herwidiana Kartowisastro Computer Engineering Department, Faculty of Engineering, Binus University Jl. K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480
[email protected]
ABSTRACT This study presents a software system which is capable of detecting and estimating the position of the object to the camera. The system will make use of 3D information obtained from a stereo reconstruction. 3D points reconstructed within the space of interest (SOI) are grouped into objects using clustering algorithm, DBSCAN and the number of points in a cluster formed. System evaluation uses one to two objects with both same and different size as well as the position of the X, Z and three different light levels. There are a total of 24 conditions used to test the system. The experimental results show that the system can detect objects well with an average position error obtained is relatively small and is under 10cm. Keywords: DBSCAN, software systems, stereo vision, 3D point
ABSTRAK Penelitian ini mempresentasikan sebuah software sistem yang mampu mendeteksi dan mengestimasi posisi objek terhadap kamera. Sistem akan memanfaatkan informasi 3D yang diperoleh dari rekonstruksi stereo. Titik-titik 3D hasil rekonstruksi yang berada dalam space of interest (SOI) akan dikelompokkan menjadi objek menggunakan algoritma clustering, DBSCAN dan jumlah titik dalam kluster yang terbentuk. Untuk menguji sistem digunakan satu hingga dua buah objek dengan ukuran yang sama dan berbeda serta posisi X, Z dan 3 tingkat pencahayaan yang berbeda. Terdapat total 24 kondisi yang digunakan untuk menguji sistem. Dari hasil percobaan diperoleh bahwa sistem dapat mendeteksi objek dengan baik dengan rata-rata error posisi yang diperoleh relatif kecil dan berada dibawah 10cm. Kata kunci: DBSCAN, software sistem, stereo vision, titik 3D
36
Jurnal Teknik Komputer Vol. 21 No.1 Februari 2013: 36-47
PENDAHULUAN Beberapa tahun terakhir ini, terlihat perkembangan penelitian yang pesat pada berbagai bidang ilmu komputer, termasuk computer vision. Hal ini terjadi karena adanya minat dari para peneliti dan juga permintaan dari dunia industri dan masyarakat akan kemampuan baru yang dapat diberikan oleh komputer. Salah satu kemampuan yang paling diinginkan adalah rekonstruksi otomatis dan analisis lingkungan 3D serta rekognisi objek pada ruang tersebut. 3D computer vision ini dapat digunakan untuk melakukan navigasi otomatis dari robot dan kendaraan, mengontrol lengan robot yang digunakan dalam industri, atau membuat model 3D dari suatu objek berdasarkan informasi 2D. Mengetahui perkembangan algoritma pada computer vision yang begitu pesat dan harga kamera yang semakin terjangkau, peneliti menerapkan stereo vision system yang menggunakan kamera sebagai sensor dan meniru cara kerja dari mata manusia untuk memperoleh informasi 3D. Informasi ini nantinya digunakan untuk mendeteksi dan mengestimasi posisi objek. Keunggulan penggunaan kamera sebagai sensor dibandingkan dengan laser atau gelombang radio adalah diperolehnya informasi mengenai warna objek yang dapat digunakan sebagai salah satu faktor penentu dalam proses rekognisi objek. Masalah yang ditemui pada saat menggunakan stereo vision adalah estimasi disparity map yang akurat. Nilai disparity ini sangat bergantung pada hasil pencarian pasangan antara pixel gambar kiri dan kanan. Proses pencarian ini adalah suatu proses yang sulit dan membutuhkan waktu yang tidak sedikit, tentunya proses ini juga dapat menghasilkan kesalahan. Para peneliti sebelumnya telah menerapkan beberapa cara untuk mengatasi masalah ini, seperti membatasi proses pencarian pasangan pixel hanya pada pixel yang merupakan tepi (edge) dan mengeliminasi pixel yang memiliki pasangan yang ambigu (terdapat lebih dari satu pixel yang mirip dengan pixel acuan). Selain memperoleh informasi kedalaman, masalah lain yang dihadapi adalah cara untuk mendeteksi objek yang ada. Dalam metode pemrosesan gambar, pada umumnya terdapat dua klasifikasi cara yang dapat diterapkan, yaitu menggunakan informasi dari satu kamera, seperti segmentasi berdasarkan tepi atau tekstur benda, dan dua (atau lebih) kamera, yaitu stereo vision. Pada penelitian sebelumnya telah digunakan beberapa metode untuk memperoleh informasi kedalaman menggunakan stero vision, salah satunya adalah Curve Fitting (Salim, Suriani, Andianto, 2009). Metode ini menggunakan pendekatan look-up table untuk memperoleh informasi kedalaman. Dengan kata lain diperlukan sebuah database yang menyimpan sekumpulan informasi mengenai hubungan antara kedalaman dan jumlah pixel tertentu dari objek. Database diperoleh dengan melakukan proses sampling pada jarak-jarak tertentu dan menghitung jumlah pixel yang ada. Setelah database terbentuk, curve fitting dilakukan untuk memperoleh sebuah kurva atau persamaan matematika yang paling tepat untuk menggambarkan sekumpulan data yang ada. Hal ini mungkin untuk diterapkan karena jumlah pixel objek akan semakin berkurang seiring bertambahnya nilai kedalaman. Persamaan yang digunakan untuk melakukan curve fitting adalah fungsi exponential, power law dan polynomial 4th. Dari hasil percobaan diperoleh bahwa curve fitting dengan polynomial 4th menghasilkan error yang lebih kecil dibandingkan dengan persamaan curve fitting yang lain. Selain itu diperoleh bahwa keakurasian dari metode ini sangat bergantung pada kondisi pencahayaan pada saat pengambilan gambar dilakukan.
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
37
Metode lainnya yaitu Geometrical Derivations (Mrovlje dan Vrancic, 2008) yang memperoleh informasi kedalaman objek menggunakan persamaan yang diturunkan berdasarkan pada geometri dari stereo vision (Gambar 1):
Gambar 1 (a) Geometri stereo vision. (b) geometri single camera
B = B1 + B 2 = D tan ϕ1 + D tan ϕ 2 D=
B tan ϕ1 + tan ϕ 2
(1)
tan ϕ1 x1 = x0 ⎛ϕ ⎞ tan ⎜ 0 ⎟ 2 ⎝ 2 ⎠ tan ϕ 2 − x2 = x0 ⎛ϕ ⎞ tan ⎜ 0 ⎟ 2 ⎝ 2 ⎠
(2)
Dari persamaan (1) dan (2) diperoleh:
D=
Bx0 ⎛ϕ ⎞ 2 tan⎜ 0 ⎟(x L − x D ) ⎝ 2 ⎠
dengan, D = kedalaman objek dari kamera B = baseline, jarak antar dua kamera
ϕ 0 = horizontal angle of view (x1 − x2 ) = (xL − xD ) = disparity x0 = resolusi gambar
38
Jurnal Teknik Komputer Vol. 21 No.1 Februari 2013: 36-47
Dengan menggunakan metode ini, setiap kesalahan satu pixel dari hasil deteksi posisi objek pada kamera kanan akan menghasilkan error dalam perhitungan kedalaman objek sebesar:
D2 ΔD = tan(Δϕ ) B dengan, Δ D = error kedalaman Δϕ = besarnya angle of view dari satu pixel
Δϕ =
ϕ0 x0
Dari persamaan error deteksi kedalaman ( ΔD ) ini, terlihat bahwa keakurasian deteksi dengan menggunakan metode ini bergantung pada beberapa variabel yaitu, field of view dari kamera, baseline dan resolusi gambar yang digunakan. Pada metode ini, proses pendeteksian objek masih dilakukan secara manual. Dengan kata lain proses pendeteksian ditentukan oleh pengguna; hanya proses pencarian nilai disparity-nya yang dilakukan secara otomatis. Hasil percobaan yang diperoleh menunjukkan bahwa metode ini memiliki tingkat keakurasian yang lebih baik jika baseline yang digunakan lebih besar. Pada penelitian ini digunakan metode yang dikembangkan oleh Nedevschi, et al., (2004), yaitu 3D Reconstruction. Dalam metode ini, dilakukan rekonstruksi 3D secara menyeluruh untuk mendeteksi dan mengestimasi posisi objek. Titik-titik 3D hasil rekonstruksi akan dikelompokkan menjadi objek berdasarkan tingkat kepadatannya. Titik 3D yang terlalu jauh atau terlalu tinggi juga dieliminasi dan sisanya berada dalam suatu ruang yang dinamakan SOI (Space of Interest). Asumsi lain yang diaplikasikan adalah tidak ada objek yang berada diatas objek lainnya. Dengan demikian proses clustering atau pengelompokkan dapat dilakukan dalam bidang XOZ, hasil rekonstruksi dilihat dari atas. Daerah dengan kepadatan titik 3D yang tinggi merepresentasikan dan menyatakan posisi dari objek. Sebelum melakukan pengelompokkan, pada metode ini dilakukan proses kompresi terlebih dahulu, karena titik-titik 3D semakin jarang seiring dengan bertambahnya kedalaman. Persamaan kompresi yang digunakan adalah:
row = log
k 1+ f
Z Z min
col = X .Scale( Z ) 1 Scale( Z ) = f . .k Z dengan, Z = kedalaman f = kamera focal length k = konstanta yang memenuhi kondisi: (1) tidak membagi sebuah objek menjadi beberapa objek; (2) tidak menggabungkan beberapa objek menjadi satu objek. Dengan menggunakan metode ini berbagai jenis objek dapat dideteksi secara otomatis dan diestimasi posisinya dengan batasan bahwa objek memiliki tingkat kepadatan titik 3D yang cukup tinggi. Pada penelitian ini digunakan ELAS (Geiger, et al., 2010) untuk memperoleh disparity map dari pasangan gambar yang ada. Keunggulan dari metode ini adalah kecepatan proses matching pada gambar beresolusi tinggi dan memiliki kemampuan untuk mengurangi
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
39
keambiguan dalam proses matching hingga batasan tertentu. Pixel yang ambigu adalah pixel yang sulit ditemukan pasangannya, misal permukaan yang tidak bertekstur. Tidak seperti penelitian yang dilakukan oleh Nedevschi, et al., (2004) yang mengeliminasi pixel ambigu ini. Selain itu pada penelitian yang dilakukan oleh Nedevschi, et al., (2004), bagian gambar yang direkonstruksi hanyalah bagian tepi gambar vertikal (vertical edges). Namun pada penelitian ini digunakan canny edge detector, sehingga bagian tepi gambar horisontal (horizontal edges) juga turut direkonstruksi. Untuk rekonstruksi 3D digunakan persamaan:
[x w y w z w ]T = K -1 [x im y im 1] T
, dengan
zw = f
Tx disparity
Tujuan dari penelitian ini adalah membangun suatu software system untuk mendeteksi dan mengestimasi posisi objek terhadap sebuah objek acuan berbasiskan stereo vision system. Objek yang dideteksi dan diestimasi posisinya adalah objek yang berada di depan objek acuan.
METODE Perangkat keras yang digunakan terdiri dari satu buah kamera stereo dan satu buah notebook. Kamera yang digunakan adalah minoru 3D webcam dengan baseline sebesar ±60mm dan dua buah kamera identik. Kamera digunakan untuk menghasilkan gambar input kiri dan kanan yang nantinya akan diproses lebih lanjut. Ukuran gambar yang diambil adalah 640x480. Notebook digunakan untuk memproses gambar input yang diperoleh dari minoru 3D webcam untuk memperoleh informasi mengenai jumlah objek dan posisi objek yang terdeteksi terhadap kamera. Program utama secara umum sama seperti proses pengolahan gambar pada sistem yang lain, yaitu terdiri dari image preprocessing dan image processing. Dalam penelitian ini tahapan image preprocessing yang digunakan adalah proses grayscaling, filtering, dan pendeteksian tepi. Untuk image processing atau pengolahan gambar terdiri dari proses stereo matching, membangun disparity map, rekonstruksi 3D, kompresi titik 3D hasil rekonstruksi, clustering dan estimasi posisi. Diagram alir program dapat dilihat pada Gambar 2. Untuk melakukan pengetesan terhadap performa sistem, data dikumpulkan dari beberapa kondisi lingkungan yang sudah diatur, yaitu: (1) latar lingkungan menggunakan papan yang tidak bertekstur, dengan tujuan untuk memisahkan objek dari lingkungan; (2) objek yang digunakan berupa dua buah kardus berukuran 39 x 22.5 x 27 (cm) dan satu buah kardus berukuran 42 x 42x 42 (cm); (3) jumlah objek dalam suatu kondisi: satu hingga dua buah; (4) gambar diambil dalam tiga tingkat pencahayaan yang berbeda, yaitu 6-47 lux, 158-245 lux, 1666-1805 lux; (5) posisi X dan/atau Z dari objek pada setiap kondisi dibuat berbeda (dalam satu tingkat pencahayaan yang sama).
Proses pengukuran jarak dan intensitas cahaya yang dilakukan pada penelitian ini dapat dilihat pada Gambar 3 berikut ini:
40
Jurnal Teknik Komputer Vol. 21 No.1 Februari 2013: 36-47
Gambar 2 (a) Diagram alir program utama. (b) diagram alir pengolahan gambar
Gambar 3 Pengukuran jarak dan intensitas cahaya
HASIL DAN PEMBAHASAN Gambar 4 menunujukkan citra uji kiri yang digunakan dalam percobaan.
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
41
Gambar 4 Citra uji
Objek 1 kondisi 1-6 diambil dalam tiga rentang intensitas cahaya yang berbeda untuk mengetahui pengaruh intensitas cahaya terhadap hasil deteksi. Ketiga rentang intensitas cahaya yang digunakan adalah 6-47 lux, 158-245 lux dan 1666-1805 lux. Berikut ini adalah perbandingan citra uji kondisi 1 pada ketiga rentang intensitas cahaya yang digunakan (Gambar 5):
Gambar 5 Citra uji dengan intensitas cahaya berbeda
42
Jurnal Teknik Komputer Vol. 21 No.1 Februari 2013: 36-47
Kondisi 4-6 untuk mengetahui kemampuan sistem dalam mendeteksi objek yang berjumlah lebih dari 1, Objek I (kiri) dan Objek II (kanan), sedangkan objek 2 dan 3 diambil untuk mengetahui tingkat keakurasian deteksi jika digunakan objek dengan ukuran yang berbeda. Hasil dari percobaan ditampilkan dalam grafik berikut ini (Gambar 6):
Gambar 6. Error Xmin, Xmax dan Z Objek 1
dengan Xmin = Nilai terkecil dari jarak objek terhadap kamera sejajar sumbu horizontal (X) Xmax = Nilai terbesar dari jarak objek terhadap kamera sejajar sumbu horizontal (X) Z = jarak objek terhadap kamera tegak lurus sumbu horizontal (X) Setiap grafik terdiri dari 9 kondisi, yaitu kondisi 1-6 seperti yang terdapat pada Gambar 4 dan 3 kondisi tambahan untuk menyatakan objek II pada kondisi 4-6. Dari grafik Xmin terdapat dua kondisi yang memiliki error lebih besar dibandingkan dengan kondisi yang lainnya, yaitu kondisi 8 (objek II dari kondisi 5) dengan intensitas cahaya 6-47 lux dan kondisi 2 dengan intensitas cahaya 158-245 lux (Gambar 7). Hal ini terjadi akibat adanya noise yaitu titik 3D yang bukan merupakan bagian dari objek, namun terdeteksi sebagai bagian objek. Titik 3D yang bukan merupakan bagian objek ini berasal dari edge yang terbentuk dari persambungan antar papan yang digunakan untuk membentuk lingkungan pada saat perancangan.
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
43
Gambar 7 (a) ( Disparity map m kondisi 5 (6-47lux). (b b) disparity maap kondisi 2 (158-245lux)
Tepi-tepi ini sebenarrnya sudah dikurangi menggunakan m n median fillter 3x3, seb belum dilakuukan detekssi tepi. Ukkuran filter merupakan filter yangg paling efe fektif karenaa jika mengggunakan filtter yang lebihh besar, tepi pada benda juga j akan tereliminasi. U Untuk grafik Xmax nilai error, nilai yang palingg mencolok adalah a kond disi 2 dengann 6-47 lux. B Berikut ini adalah a dispaarity map darri kondisi ini (Gambar 8):
G Gambar 8 Dispa arity map kon ndisi 2 (6-47luux)
Disparityy map yang diperoleh taampak seperrti pada Gam mbar 8 kareena support point mukan pada daerah terssebut. Untuk k lebih jelassnya dapat ddilihat padaa hasil hanyaa bisa ditem pendeeteksian tepii yang meruupakan inputt untuk mem mbentuk dispparity map. B Berikut ini adalah a hasil deteksi tepi pada gambarr kiri dan kannan (Gambarr 9):
Gambar 9 Teppi gambar konndisi 2: (a) gam mbar kiri. (b) gambar kanann
Secara kaasat mata biisa terlihat hanya h ada beeberapa tepi dari objek yang beradaa pada keduaa gambar, baaik gambar kiri maupunn gambar kan nan, dengan bagian yangg dominan adalah a bagiaan kiri dari obbjek.
44
Jurrnal Teknik Ko omputer Vol. 21 No.1 Feb ebruari 2013: 36-47
Untuk grafik Z, ada dua kondisi yang menarik perhatian yaitu kondisi 3 dan 5. Kedua kondisi ini memiliki nilai error yang lebih besar dibanding kondisi yang lainnya. Berikut ini adalah disparity map dari kedua kondisi tersebut (Gambar 10 dan 11):
Gambar 10 Disparity map kondisi 3
Gambar 11 Disparity map kondisi 5
Dari disparity map kondisi 5 terlihat bahwa nilai disparity dari objek yang berada di sebelah kiri kamera lebih besar dibandingkan dengan nilai disparity dari objek yang berada di sebelah kanan kamera. Perbedaan nilai disparity ini tidak terlalu besar berkisar pada rentang 3-4 satuan. Namun, perbedaan nilai ini akan menghasilkan error yang cukup berarti pada saat menentukan kedalaman objek dalam satuan cm, yaitu pada kisaran 20cm (Gambar 12). Penyebab dari perbedaan nilai disparity ini adalah nilai distorsi radial yang dimiliki oleh minoru 3D webcam cukup buruk, dengan nilai koefisien -0,0742 dan -0,4786. Nilai ini diperoleh dari hasil kalibrasi yang telah dilakukan. Pengaruh dari nilai distorsi ini tidak terlihat secara kasat mata, tapi nilai ini dapat mempengaruhi performa dari sistem (Mrovlje dan Vrancic, 2009).
Gambar 12 Error Xmin, Xmax dan Z Objek 2 dan 3
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
45
Terlihat bahwa sistem masih dapat mendeteksi dan mengestimasi objek dengan ukuran yang sedikit berbeda, tetapi dengan tingkat keakurasian yang lebih rendah. Hal ini diakibatkan karena adanya sisi benda yang memiliki kedalaman lebih besar terlihat pula oleh kamera. Karena nilai Z pada sistem ini merupakan rata-rata dari nilai Z semua titik 3D sebuah objek, tingkat keakurasian pun menurun. Dilihat dari ketiga grafik pada Gambar 13 di bawah ini, dapat disimpulkan bahwa intensitas cahaya 3, 1666-1805 lux memiliki tingkat keakurasian tertinggi. Hal ini terjadi karena pada intensitas cahaya ini tepi akibat pertemuan antar papan yang digunakan untuk membentuk lingkungan dapat tereliminasi dengan lebih baik dibandingkan dengan dua intensitas cahaya yang lain
Gambar 13 Pengaruh intentsitas cahaya
Dari Gambar 14 di bawah ini terlihat bahwa Time1, Time2, dan Time3 memiliki nilai yang stabil, tetapi tidak dengan demikian dengan Time4. Hal ini terjadi karena waktu untuk menyelesaikan proses DBSCAN bergantung pada jumlah data yang ada atau dalam penelitian ini adalah jumlah titik 3D hasil rekonstruksi. Semakin banyak titik 3D yang ada, semakin lama pula waktu yang diperlukan untuk menyelesaikan proses ini. Selain DBSCAN, proses yang membutuhkan waktu lebih lama dibandingkan dengan proses yang lain adalah median filtering (Time1). Dari data ini dapat diambil kesimpulan bahwa agar sistem dapat berkerja dengan lebih cepat, perlu diimplementasikan metode filtering dan clustering lain dengan waktu proses yang lebih singkat.
Gambar 14 Processing time
SIMPULAN Dari hasil percobaan yang telah dilakukan dapat ditarik kesimpulan, yaitu: (1) masalah stereo matching dan disparity dapat diselesaikan oleh ELAS, terbukti dari rata-rata error nilai Z kurang dari 10cm dan waktu proses dibawah 100ms; (2) masalah deteksi objek dapat
46
Jurnal Teknik Komputer Vol. 21 No.1 Februari 2013: 36-47
diselesaikan dengan proses clustering terhadap titik-titik 3D hasil rekonstruksi stereo, terbukti dari jumlah objek hasil deteksi, sesuai dengan jumlah objek sesungguhnya; (3) sistem dapat mendeteksi dan mengestimasi posisi objek dalam dua dimensi, X dan Z, dengan rata-rata error kurang dari 10cm; (4) distorsi radial dari minoru 3D webcam cukup buruk (-0,0742; -0,4786) hingga dapat mempengaruhi hasil estimasi posisi oleh sistem; (5) sistem dapat mendeteksi dan mengestimasi posisi dari objek yang berbeda yaitu objek 1 berukuran 39 x 22.5 x 27 (cm) dan objek 2 berukuran 42 x 42x 42 (cm); (6) sistem dapat bekerja dengan baik pada tingkat pencahayaan yang berbeda dengan nilai intensitas cahaya minimal sebesar 6lux. Untuk mengembangkan sistem ini, ada beberapa hal yang dapat dilakukan oleh peneliti selanjutnya, seperti: (1) mencoba mempersingkat waktu proses dari sistem dengan dua cara, yaitu mengimplementasikan metode filtering yang lebih efektif (cepat dan akurat) dan mengimplementasikan metode clustering dengan kecepatan proses yang tidak terlalu bergantung pada jumlah data yang ada; (2) implementasi metode segmentasi yang mampu memisahkan objek dari lingkungan khususnya permukaan jalan/alas dalam proses pengolahan gambar; (3) implementasi suatu metode untuk mengkoreksi gambar yang terdistorsi atau gunakan kamera stereo yang memiliki koefisien distorsi yang sangat kecil/bebas dari distorsi untuk memperoleh pasangan gambar.
DAFTAR PUSTAKA Geiger, A., Roser, M., Urtasun, R. (2010). Efficient Large-Scale Stereo Matching. Asian Conference on Computer Vision (ACCV). Mrovlje, J., Vrancic, D. (2008). Distance measuring based on stereoscopic pictures. 9th International PhD Workshop on Systems and Control: Young Generation Viewpoint. Mrovlje, J., Vrancic, D. (2009). Distortion impact on a stereo distance. 10th International PhD Workshop on Systems and Control: Young Generation Viewpoint. Nedevschi, S., Danescu, R., Frentiu, D., Marita, T., Oniga, F., Pocol, C., Graf, T., Schmidt, R. (2004). High accuracy stereovision approach for obstacle detection on non-planar roads. Proceedings of IEEE Intelligent Engineering Systems’04 (INES2004), 211 – 216. Nedevschi, S., Danescu, R., Frentiu, D., Marita, T., Oniga, F., Pocol, C., Schmidt, R., Graf, T. (2004). High accuracy stereo vision system for far distance obstacle detection. IEEE Intelligent Vehicles Symposium, Parma (IV’04), 292 – 297. Nedevschi, S., Danescu, R., Frentiu, D., Marita, T., Oniga, F., Pocol, C. (2004). Spatial grouping of 3D points from multiple stereovision sensors. Proceedings of IEEE International Conference on Networking, Sensing and Control, 874 – 879. Salim, D., Suriani, V,. Andianto. (2009). Pengukuran Jarak dengan Stereo Eyes. Skripsi tidak diterbitkan. Jurusan Sistem Komputer, Fakultas Teknik, Bina Nusantara University, Jakarta.
Estimasi Posisi Objek … (Chandra Suharlim; dkk)
47