Seminar Nasional Teknologi Terapan – SNTT 2013 (26/10/2013)
COMPUTER VISION UNTUK PENGHITUNGAN JARAK OBYEK TERHADAP KAMERA Isnan Nur Rifai*1 Budi Sumanto*2 Program Diploma Elektronika & Instrumentasi Sekolah Vokasi, Universitas Gadjah Mada
[email protected] *1
[email protected]*2
Abstrak Modernisasi alat instrumentasi pengukur jarak suatu obyek makin berkembang dengan munculnya banyak metode dan jenis hardware yang dipakai. Dalam penelitian kali ini akan coba dirancang pengukur jarak obyek bola menggunakan computer vision, yaitu penghitungan jarak bola terhadap kamera dengan menggunakan pengenalan pola dan perbandingan besar obyek sebenarnya dengan besarnya obyek relatif yang ditangkap oleh kamera. Metode yang digunakan untuk menghitung jarak adalah dengan memanfaatkan citra kamera sebagai input sistem. Citra obyek digunakan untuk proses penentuan koordinat posisi target berdasarkan penghitungan bagian/area pada gambar. Sebelum penghitungan diperlukan adanya proses identifikasi untuk mengenali obyek yang dijadikan target. Proses identifikasi obyek ini akan menggunakan algoritma Haar. Setelah koordinat posisi target ditemukan, kemudian dihitung jari jari bola berdasarakan pixel yang digunakan. Besar jari jari inilah yang nantinya akan dibandingkan dengan jari jari sebenarnya untuk menghitung jarak bola. Sistem
penghitungan
jarak
jarakobyekterhadapkamera
yang
telahdibuatmampumendeteksijarakobyekdengantingkatkesalahan 8.59 cm meskipun dalam rentang yang masih sangat terbatas yaitu pada 100-200 cm. Hasil tersebut belum sesuai yang diharapkan peneliti karena dengan rentang yang relatif kecil diharapkan mampu mendeteksi obyek dengan tingkat kesalahan kurang dari 5 cm. Kata kunci: Computer Vision, Algoritma Haar, Jarak Obyek.
dikembangkan sehingga dapat digunakan sebagai
1. PENDAHULUAN Beberapa perusahaan besar di bidang otomasi
sensor dalam mendeteksi sebuah benda melalui
industri seperti Festo Didactic telah menciptakan
beberapa
tahap
pengolahan
citra.
Webcam
robot omni-directional drive yang dapatbergerak 360
dimanfaatkan sebagai indra penglihatan dalam robot
derajat dan memiliki berbagai sensor yang dapat
yang dapat digunakan untuk menangkap gambar
diprogram sesuai kebutuhan yang diberi nama
dan kemudian gambar tersebut akan diolah untuk
Robotino. Robot ini terintegrasi dengan sebuah
menentukan objek yang dideteksi.
dapat
Modernisasi alat instrumentasi pengukur jarak
mendeteksi garis yang biasa digunakan sebagai line
suatu obyek makin berkembang dengan munculnya
tracer.
banyak metode dan jenis hardware yang dipakai.
webcam
dengan
interface
Pemanfaatan
USB
webcam
yang
ini
dapat
Dalam penelitian kali ini akan coba dirancang
464
pengukur jarak obyek bola dengan memanfaatkan
menggunakan bahasa pemrograman Pascal dan
webcam computer vision, yaitu penghitungan jarak
library Open Source Computer Vision (OpenCV)
bola
menggunakan
sebagai piranti lunak. Dengan OpenCV dan metode
pengenalan pola dan perbandingan besar obyek
image processing menggunakan webcam maka
sebenarnya dengan besarnya obyek relatif yang
program JST dapat melakukan tracking beberapa
ditangkap oleh kamera.
objek. Proses image processing digunakan untuk
terhadap
kamera
dengan
mendeteksi objek bola, sehingga dari proses ini didapatkan data mengenai titik tengah objek dan
2. TINJAUAN PUSTAKA Literatur menunjukkan bahwa penelitian
luasan objek yang terdeteksi. Dari data yang
computer
vision
sebagai
didapatkan tersebut digunakan sebagai pendekatan
telemetri
sudah
banyak
lintasan objek dari proses tracking. Keberhasilan
dilakukan dengan metode yang berbeda-beda.salah
program JST ditentukan oleh kecermatan dalam
satunya yang dilakukan oleh Yoanes N pada
melakukan image processing dan knowledge base
penelitianyang
dari pembelajaran yang diberikan.
dibidang
pemanfaatn
pengenalan
poladan
berjudul“Rancangbangun
sensor
jarak dengan korespondensi citra dengan ekstraksi fitur surf dan konsep
stereo vision”, penelitian
tersebut bertujuan untuk mendapatkan informasi jarak dalam rentang 20cm sampai 160cm. Sistem ini menggunakan dua buah kamera web (webcam) sebagai pencitra, dan komputer sebagai pemroses citra. Implementasi dari sistem ini menggunakan pustaka OpenCV 2.1 yang sudah terdapat fungsi untuk capturing, kalibrasi, rekstifikasi, dan pencarian fitur. Pencarian fitur dilakukan dengan algoritma
3. METODOLOGI 3.1 Dasar Teori Citra atau image adalah representasi dua dimensi yang
diciptakan
dari
sebuah
gambar
atau
pandangan. Pengertian lain dari citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinyu menjadi gambar diskrit melalui
proses
sampling.
Citra
digital
dapat
didefinisikan sebagai fungsid ua variable f(x,y), dimana x dan y adalah koordinat spasial sedangkan
SURF (Speeded Up Robust Feature).
nilai f(x,y) adalah intensitas citra pada koordinat Penelitian yang dilakukan oleh Made B.I
tersebut. Hal tersebut seperti ilustrasi pada Gambar
yang berjudul “Robot pengikut bola menggunakan
1.Teknologi
sensor kamera berbasis metoda opencv camshift”.
menampilkan warna pada citra digital berdasarkan
Pada penelitian ini metoda yang digunakan
untuk
pada penelitian bahwa sebuah warna merupakan
pada
lingkungan sekitarnya
kombinasi dari tiga warna dasar yakni warna merah,
camshift.
Subsistem perangkat
mendeteksi adalah
bola
metoda
dasar
untuk
menciptakan
hijau, dan biru. (Simanjuntak,2009).
keras yang digunakan adalah suatu mobile base robot
yang
telah
sebelumnya.
Dan
menggunakan
satu
dibuat
pada
subsistem buah
ATMEGA8535 dan kamera dapat
penelitian pengendali
mikrokontroler menagkap
gambar pada jarak 50 sampai dengan 120 cm. Penelitian berikutnya oleh Hermawan yang berjudul “Pelacakan beberapa objek menggunakan OpenCV”
Dalam
analisanya,
Hermawan
Gambar 1. koordinat piksel pada citra digital
465
dan
Citra
digital
adalah
citra
f(x,y)
yang
telah
dari
citra
secara
jelas.
Pada
operasi
ini
didigitalisasi baik koordinat area maupun brightness
mensegmentasikan citra menjadi dua wilayah yaitu
level.
menunjukkan
wilayah objek dan wilayah latar belakang atau
brightness (kecerahan) atau grayness level dari citra
background. Wilayah objek diset berwarna putih
pada titik tersebut. Satuan atau bagian terkecil dari
sedangkan sisanya diset berwarna hitam (atau
citra
sebaliknya).
Nilai
f
digital
di
koordinat
disebut
(x,y)
piksel
(pixel
ataupicture
element).Umumnya citra dibentuk dari kotak-kotak
Metode berbasis tepi (edge-based) adalah suatu
piksel yang teratur sehingga jarak horizontal dan
metode yang mengidentifikasikan perubahan nilai
vertical antara piksel adalah sama pada seluruh
intensitas derajat keabuan yang mendadak (besar)
bagian citra. Dalam komputer setiap piksel diwakili
dalam suatu jarak yang singkat. Yang dimaksud
oleh
untuk
dengan tepi (edge) adalah batas antara dua daerah
menunjukkan lokasinya dalam bidang citra dan
dengan nilai gray level yang relative berbeda, dapat
untuk menunjukkan lokasi suatu piksel. Koordinat
disebut sebagai daerah atau titik yang memiliki
(0,0) digunakan untuk posisi kiri atas dalam bidang
perubahan intensitas yang besar dalam jarak yang
citra dan koordinat (m-1, n-1) digunakan untuk posisi
pendek.
dua
buah
bilangan
bulat
integer
kanan bawah dalam citra berukuran m x n piksel. Persamaan 3.1 merupakan koordinat piksel (x,y)
Penentuan Jarak.
pada citra berukuran m x n (Simanjuntak,2009).
Citra obyek digunakan untuk proses penentuan koordinat posisi target berdasarkan penghitungan bagian/area pada gambar. Sebelum penghitungan, diperlukan
adanya
proses
identifikasi
untuk
mengenali obyek yang dijadikan target. Proses Segmentasi Citra
identifikasi obyek ini akan menggunakan algoritma
Segmentasi citra merupakan proses mempartisi
Haar. Setelah koordinat posisi target ditemukan,
atau membagi citra menjadi beberapa daerah atau
kemudian dihitung diameter bola berdasarakan pixel
objek. Segmentasi merupakan proses yang penting
yang digunakan. Besar diameter inilah yang nantinya
dalam pengenalan objek yang tersaji secara visual.
akan dibandingkan dengan jari jari sebenarnya untuk
Proses ini bertujuan untuk memisahkan wilayah
menghitung jarak bola.
(region) objek dengan wilayah latar belakang.
Metode yang digunakan dalam menentukan jarak
Selanjutnya wilayah objek yang telah tersegmentasi
obyek adalah dengan membandingkan ukuran pixel
digunakan untuk proses berikutnya (Simanjuntak,
citra yang ditangkap pada jarak tertentu untuk
2009).
menentukan
parameter
perbandingan
ukuran.
Dalam penelitian ini, yang digunakan sebagai Segmentasi objek pada citra dapat dilakukan
perbandingan adalah diameter citra saat obyek
dengan
batas
berjarak 100cm dan 200cm. Koordinat posisi obyek
(thresholding), berbasis tepi (edge-based), dan
pada citra juga menjadi hal yang perlu diperhatikan
berbasis wilayah atau region (region based).
karena pada jarak yang sama, ukuran obyek pada
tiga
Thresholding
metode
yaitu
(pengambangan)
ambang
adalah
proses
mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui
posisi central (tengah) jauh berbeda dengan posisi obyek di pinggir atau di pojok seperti ditunjukkan pada gambar 2 berikut.
daerah mana yang termasuk objek dan background
466
𝒙𝟐 = 𝑱𝒂𝒓𝒂𝒌 𝒓𝒆𝒇 𝟐𝟎𝟎 𝒄𝒎 𝒙𝟏 = 𝑱𝒂𝒓𝒂𝒌 𝒓𝒆𝒇 𝟏𝟎𝟎 𝒄𝒎 4. HASIL DAN PEMBAHASAN Pengambilan data pertama kali menggunakan jarak 100 cm dengan posisi obyek relatif terhadap titik tengah citra dipindah pindah. Hal ini dilakukan untuk menentukan fungsi linier diameter (d) terhadap jarak (r). Hasil pengambilan data pada jarak 100 meter ditunjukkan pada tabel 1 berikut: Gambar 2. Perbandingan diameter obyek pada Tabel 1. Data diameter obyek pada jarak 100 cm
koordinat berbeda.
Data perbandingan Posisi dan Diameter pada Jarak 100 Centimeter
Dengan adanya perubahan diameter terhadap posisi koordinat gambar maka perlu dicari perbandingan
Ord
Ord
Posisi
yang sesuai berdasarkan jarak obyek terhadap titik
(x)
(y)
Rx
Ry
(R)
D (Px)
central. Citra yang digunakan mempunyai dimensi
1
324
238
4
-2
4
116
640x480 pixel, sehingga jarak obyek terhadap titik
2
312
242
-8
2
8
118
central dapat dihitung menggunakan persamaan 2
3
317
287
-3
47
47
120
berikut,
4
322
290
2
50
50
122
5
162
283
-158
43
164
127
𝑹 = 𝑱𝒂𝒓𝒂𝒌 𝒐𝒃𝒚𝒆𝒌 𝒕𝒆𝒓𝒉𝒂𝒅𝒂𝒑 𝒕𝒊𝒕𝒊𝒌 𝒄𝒆𝒏𝒕𝒓𝒂𝒍
6
146
288
-174
48
180
128
𝒙 = 𝒌𝒐𝒐𝒓𝒅𝒊𝒏𝒂𝒕 𝒙 𝒐𝒃𝒚𝒆𝒌
7
314
434
-6
194
194
131
𝒚 = 𝒌𝒐𝒐𝒓𝒅𝒊𝒏𝒂𝒕 𝒚 𝒐𝒃𝒚𝒆𝒌
8
302
438
-18
198
199
131
9
70
425
-250
185
311
137
10
66
428
-254
188
316
139
𝑹 = √(𝒙 − 𝟑𝟐𝟎)𝟐 + (𝒚 − 𝟐𝟒𝟎)𝟐
Perlu adanya referensi besar diameter sebagai perbandingan dengan obyek yang ditangkap. Pada penelitian ini dibuat dua referensi yaitu pada jarak
Dari data diatas dibuat pemodelan grafiknya
100 cm dan 200 cm. Pada setiap rentang jarak
untuk menentukan fungsi linier seperti ditunjukkan
tersebut
pada gambar 3.Fungsi linier yang didapatkan
dicari
terlebih
dahulu
fungsi
linier
perbandingan diameter dan jarak terhadap titk
adalah:
tengah. Setelah mendapat diameter perbandingan barulah dapat diketahui jarak
terukur dengan
persamaan 3 berikut:
𝒅𝟐 − 𝒅𝟏 𝑫 − 𝒅𝟏 = 𝒙𝟐 − 𝒙𝟏 𝑿 − 𝒙𝟏 𝑫 = 𝑫𝒊𝒂𝒎𝒆𝒕𝒆𝒓 𝑻𝒆𝒓𝒖𝒌𝒖𝒓 𝑿 = 𝑱𝒂𝒓𝒂𝒌 𝑻𝒆𝒓𝒖𝒌𝒖𝒓
𝒅𝟐 = 𝑫𝒊𝒂𝒎𝒆𝒕𝒆𝒓 𝒋𝒂𝒓𝒂𝒌 𝟐𝟎𝟎 𝒄𝒎 𝒅𝟏 = 𝑫𝒊𝒂𝒎𝒆𝒕𝒆𝒓 𝒋𝒂𝒓𝒂𝒌 𝟏𝟎𝟎 𝒄𝒎 467
𝒅 = 𝟎, 𝟎𝟕𝒓 + 𝟏𝟏𝟕, 𝟎𝟏
perbandingan posisi dan diameter obyek pada jarak 200 Centimeter
perbandingan posisi dan diameter obyek pada jarak 100 Centimeter 141
55 53 51 49 47 45 43 41 39
136 131 126
d = 0,07r + 117,01
121 116 0
100
200
300
400
d = 0,04r + 39,90
0
100
200
300
400
Gambar 3. Grafik perbadingan diameter obyek pada jarak 100cm
Gambar 4. Grafik perbadingan diameter obyek
Pengambilan data kedua menggunakan jarak 200 cm dengan posisi obyek relatif terhadap titik tengah citra dipindah pindah. Hasil pengambilan data pada jarak 200 meter ditunjukkan pada tabel 2 berikut:
pada jarak 200cm
Setelah mendapatkan dua fungsi acuan pada jarak 100 cm dan 200 cm, maka langkah selanjutnya tinggal perhitungan jarak
Tabel 2. Data diameter obyek pada jarak 200 cm
Hasil perhitungan yang didapatkan dari metode perbandingan ini ditunjukkan pada tabel 3 berikut:
Jarak 200 Centimeter
2 3 4 5 6 7 8 9 10
menggunakan
persamaan 3 diatas.
Data perbandingan Posisi dan Diameter pada
1
obyek
Ord
Ord
Posisi
(x)
(y)
Rx
Ry
(R)
D (Px)
320
242
0
2
2
40
316
240
-4
0
4
40
318
290
-2
50
50
42
318
296
-2
56
56
43
160
280
-160
40
165
46
148
290
-172
50
179
46
312
432
-8
192
192
48
318
438
-2
198
198
49
62
430
-258
190
320
53
62
434
-258
194
323
54
Tabel 3. Data hasil pengukuran obyek
Data Hasil Pengukuran Jarak Obyek Ord Ord Pos D Ukur Real error (x) (y) (R) (Px) (cm) (cm) (cm) 1 164 246 156 120 109,71 100 9,71 2 112 266 210 116 118,81 110 8,81 3 224 120 154 105 127,86 120 7,86 4 124 186 203 102 135,14 130 5,14 5 318 308 68 83 148,98 140 8,98 6 320 238 2 71 159,80 150 9,80 7 320 244 4 66 166,41 160 6,41 8 186 267 137 62 179,52 170 9,52 9 212 266 111 53 189,24 180 9,24 10 298 318 81 43 200,18 190 10,18 11 342 166 77 36 208,80 200 8,80
Dari data diatas dibuat pemodelan grafiknya untuk menentukan fungsi linier seperti ditunjukkan
Dari data diatas didapatkan rata rata kesalahan
pada gambar 4.Fungsi linier yang didapatkan
penghitungan adalah 8,59 cm dalam rentang jarak
adalah: 𝒅 = 𝟎, 𝟎𝟒𝒓 + 𝟑𝟗, 𝟗𝟎
100 cm sampai 200 cm.
468
Seminar Nasional Teknologi Terapan – SNTT 2013 (26/10/2013)
5. KESIMPULAN DAN SARAN 5.1 Kesimpulan Sistem penghitungan jarak jarak obyek terhadap kamera yang telah dibuat mampu mendeteksi jarak obyek dengan tingkat kesalahan 8.59 cm meskipun dalam rentang yang masih sangat terbatas yaitu pada 100-200 cm. Hasil tersebut belum sesuai yang diharapkan peneliti karena dengan rentang yang relatif kecil diharapkan mampu mendeteksi obyek dengan tingkat kesalahan kurang dari 5 cm.
5.2 Saran Penulis berasumsi bahwa nilai akurasi yang masih rendah tersebut dikarenakan besarnya citra yang diolah cukup kecil, sehingga pada penelitian berikutnya diperlukan ukuran citra yang lebih besar, yang tentu saja membutuhkan pengolah sinyal yang lebih cepat juga.
6. DAFTAR PUSTAKA Simanjuntak, 2009. “Pengolahan Citra Digital” Digital Library, Telkom Institute of Technology. Yoanes N. 2012. “Rancangbangun sensor jarak dengan korespondensi citra dengan ekstraksi fitur surf dan konsep
stereo vision” Jurnal
Sarjana
Teknik
ITB
bidang
Elektro
dan
Informatika Volume 1, Number 1. Made B.I “Robot pengikut bola menggunakan sensor
kamera
berbasis
metoda
opencv
beberapa
objek
camshift”. Hermawan
“Pelacakan
menggunakan OpenCV”
469