Anda di halaman 1dari 9

Perancangan dan Implementasi Object-Tracking

Robot dengan Metode TLD (Tracking-Learning-


Detection)
Hasanuddin
Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
Bandung, Indonesia
hyouji1@gmail.com


AbstrakSistem kecerdasan buatan saat ini sudah berkembang
pesat.Kecerdasan buatan ini dapat membantu agar sebuah mesin,
semisal robot, dapat bekerja sendiri secara otomatis.Pada tugas
akhir ini, dilakukan perancangan sebuah framework untuk
object-tracking robot menggunakan kamera dengan
menggunakan metode TLD (Tracking-Learning-
Detection).Diharapkan nantinya, keluaran yang dihasilkan
sistem dapat langsung diintegrasikan dengan robot agar robot
tersebut dapat mengikuti objek yang telah ditentukan.
Proses TLD terdiri dari tiga bagian penting yaitu tracking,
learning, dan detection. Proses tracking menggunakan metode
estimation of optical flow dari Lucas-Kanade, dan untuk
menghindari kesalahan saat tracking, digunakan forward-
backward error measurement dari Zdenek Kalal yang merupakan
penemu TLD.Proses deteksi dilakukan dengan menggunakan
metode background subtraction dan template matching. Lalu
terakhir proses learning merupakan validasi dari gabungan
proses tracking dan detection. Setelah program untuk TLD
selesai, dilakukan pemrosesan output dan pengenalan
implementasi fuzzy untuk diintegrasikan dengan robot.
Pengujian dilakukan secara bertahap.Pertama dilakukan
terhadap metode-metode yang ada di TLD. Dalam pengujian ini
dapat dilihat bagaimana metode normalize correlation coefficient
memberikan akurasi lebih baik untuk pengujian menemukan
bola dari metode template matching lainnya dengan
penyimpangan posisi (-7, -6) piksel. Setelah itu dilakukan
pengujian keseluruhan sistem yang orientasinya adalah agar
hasil tersebut dapat digunakan sistem object tracking robot.
Hasilnya dapat diketahui kecepatan maksimum bola yang dapat
dilacak untuk jarak 40cm adalah 0,5 m/s. Terakhir dilakukan
penentuan nilai jarak implementasi fuzzy dengan rentang 0
hingga 145 piksel.

Kata kunci TLD, object-tracking, logika fuzzy, robot
I. PENDAHULUAN
Teknologi robot saat ini sudah berkembang dengan sangat
pesat.Robot saat ini tidak hanya dapat mengerjakan satu buah
pekerjaan saja, melainkan sudah bisa melakukan banyak
pekerjaan.Robot menjadi pengganti tenaga manusia yang
bekerja lebih efektif dan memiliki akurasi dan presisi yang
terjaga.Dalam industri, robot digunakan untuk memperoleh
kemudahan-kemudahan yang menjadikan sebuah industri
menjadi lebih maju.Robot lengan merupakan jenis robot yang
banyak digunakan pada berbagai macam industri.
Beberapa jenis robot dikendalikan secara manual oleh
manusia. Robot tersebut akan bergerak jika menerima
instruksi kendali dari penggunanya. Robot dengan kendali
manual memiliki kekurangan pada sisi kendali
manusianya.Selain itu robot dengan kendali manual tidak
dapat dimanfaatkan semaksimal mungkin karena dipengaruhi
oleh faktor pengendali yang membutuhkan terpenuhinya sifat-
sifat manusiawinya yang mengahalangi untuk terus-menerus
mengendalikan robot.
Untuk mengatasi kekurangan kendali manual pada robot,
dibuatlah berbagai macam cara agar robot dapat
mengendalikan dirinya sendiri dan bekerja secara berulang-
ulang dan terus menerus. Agar sebuah robot dapat bekerja
secara otomatis, robot memerlukan input yang menstimulus
sensor pada robot. Terdapat banyak sensor yang dapat
digunakan untuk menangkap masukan dari lingkungan
maupun pengguna.Salah satunya adalah kamera.Kamera dapat
menangkap masukan berupa gambar maupun video.
Penggunaan kamera lebih mudah untuk diamati ketimbang
sensor lainnya karena pengguna pun dapat melihat apa yang
dilihat robot dan dapat mengetahui secara cepat apabila terjadi
kesalahan.
Dengan robot yang dapat melihat, pekerjaan manusia
untuk mengamati, menganalisa, dan memilah suatu objek
berupa gambar menjadi lebih mudah.Dengan kemampuan
teknologi pengolahan citra yang semakin maju,
memungkinkan untuk membuat sebuah program atau
algoritma yang dapat menggantikan kemampuan mata
manusia dan mengolah data tersebut secara otomatis.
Dengan penggabungan dua buah teknologi, teknologi robot
dan teknologi pengolahan citra, dapat membuat sebuah
teknologi yang canggih berupa robot yang dapat menganalisa,
mengenali objek, dan mempelajari apa yang ada di sekitar
robot. Dunia robot akan semakin berkembang dan akan
banyak tercipta robot-robot handal yang cerdas yang mampu
mengerjakan apa yang selama ini belum dapat dikerjakan
sendiri oleh manusia.
II. TINJ AUAN PUSTAKA
JurnalSarjanaInstitutTeknologiBandungbidangTeknikElektrodanInformatika
Vol.1,No.3Oktober2012

A. Sistem Robot Manipulatort
Robot adalah sebuah alat yang dapat secara otomatis
melakukan pekerjaan sulit dan berulang. J ika dilihat dari
definisi lain, sebuah robot dipandang sebagai manipulator
multifungsi dan dapat diprogram yang didesain untuk
memindahkan material, komponen peralatan, peralatan, atau
benda tertentu melalui pergerakan yang terprogram dalam
melakukan berbagai variasi pekerjaan.
Berdasarkan derajat kebebasannya, robot dapat
dikategorikan sebagai robot statis, robot tanah, robot bawah
air, robot aerial, dan robot mikrogravitasi.Robot statis adalah
robot yang tetap diam pada suatu posisi tertentu.Robot tanah
adalah robot yang bergerak di atas tanah dengan roda, kaki,
ataupun cakar.Robot bawah air adalah robot yang didesain
untuk untuk beroperasi di dalam air.Robot aerial adalah robot
yang dapat terbang.Robot mikrogravitasi adlaah robot yang
didesain untuk beroperasi di lingkungan dengan gravitasi
rendah.
Dari semua jenis robot dengan berbagai derajat
kebebasannya, dengan berbagai lingkungan tempatnya
bergerak, ada yang bersifat autonomous dan ada pula yang
dikendalikan secara manual baik itu dengan kabel kendali
maupun kendali jarak jauh dengan remote control. Untuk
membuat sebuah autonomus robot dibutuhkan sebuah metoda
sebagai otak atau mata robot yang dapat menentukan
bagaimana robot bergerak.
Kinematika pada robot manipulator dapat diselesaikan
dengan dua cara, yaitu:
1. Direct kinematic atau forward kinematic, atau dalam
Bahasa Indonesia disebut kinematika langsung adalah
permasalahan kinematika untuk menentukan posisi dan
orientasi end effector terhadap kerangka acuan dengan
parameter-parameter link pada tiap sambungan diketahui.
2. Inverse kinematic, atau kinematika balik adalah
permasalahan kinematika untuk menentukan kombinasi
parameter-parameter joint yang mungkin dengan
parameter-parameter link guna mencapai suatu posisi yang
telah ditentukan.
Pada tugas akhir ini, sebuah robot akan dijadikan sebagai
autonomous robot yang akan bertugas mengikuti objek yang
telah ditentukan. Dari hasil penelitian ini memberikan sebuah
posisi hasil pelacakan sebuah benda dengan menggunakan
pengolahan citra.Hasil yang diperoleh dalam tugas akhir ini
memberikan informasi-informasi berupa sudut pergerakan
benda atau posisi relatif benda pada waktu t terhadap titik
tengah sebagai referensi dan dan terhadap titik t-1 sebagai
pembanding.








B. Pengolahan Citra Digital

Pada pengolahan citra digital, yang ditekankan adalah suatu
citra dipandang sebagai sebuah matriks. Perbedaan pada citra
berarti perbedaan pada matriks. Sehingga pada proses deteksi
digunakan perbandingan matriks untuk mencari suatu posisi
dari sebuah template di dalam sebuah citra sumber.
C. Algoritma TLD
Algoritma TLD terdiri dari tiga buah proses utama:
Tracking, learning, dan detection. Tiap proses berjalan secara
berulang dan bersamaan. Tracking menggunakan metode
estimation of optical flow oleh Lucas-Kanade yang merupakan
algoritma pelacak dari fitur-fitur hasil deteksi metode good
features to track yang diajukan oleh Shi-Tomasi.

Proses detection menggunakan metode template matching
dan background subtraction. Terakhir metode learning
merupakan gabungan dan validasi dari metode tracking dan
detection.
D. Logika Fuzzy
Logika Fuzzy atau yang biasa dikenal dengan fuzzy logic
adalah sebuah bentuk perkembangan dari logika booleanyang
mempunyai banyak nilai logika atau logika probabilistik yang
mendekati dengan penalaran dan perkiraan daripada suatu
nilai yang tetap dan tepat. Berbeda dengan logika tradisional
boolean yang menyatakan bahwa segala hal dapat
diekspresikan dengan benar dan salah atau jika diekspresikan
dalam bilangan biner sebagai 0 dan 1. Logika Fuzzy
menggantikan kebenaran booleandengan tingkat kebenaran
yang nilainya berkisar antara 0 hingga 1.
Logika fuzzy telah diperpanjang untuk menangani konsep
kebenaran parsial, dimana nilai kebenaran dapat berkisar
antara sepenuhnya benar dan benar-benar salah.Selanjutnya
variabel-variabel linguistik digunakan untuk mengolah derajat
kebenaran dari sebuah fuzzy dengan menggunakan fungsi-
fungsi tertentu.

Logika fuzzy pertama kali dikenal pada tahun 1965 dari
sebuah proposal yang diajukan Lotfi Zadeh dengan tulisannya
berjudul Fuzzy Set Theory.Logika fuzzy saat ini sudah
diaplikasikan pada banyak bidang, dari mulai teori kendali
hingga kecerdasan buatan.
E. Teori Pendukung
Untuk melihat pergerakan pada suatu objek pada video,
dibutuhkan dua buah frame yaitu frame pada saat t dan t-
1.Objek yang diamati dapat diwakili melalui fitur.Fitur yang
biasa digunakan dalam aliran optik ini adalah fitur yang
dihasilkan dari deteksi tepi Shi dan Tomasi.
Lucas-Kanade optical flow memiliki tiga asumsi, yaitu:
1. Brightness Constancy
Asumsi pertama dari teori estimation of optical flow
adalah Tingkat kecerahan yang konstan (brightness
constancy) yang dapat diekspresikan sebagai
I(X) = [(X + J).
(2.5)
Persamaan di atas menyatakan bahwa sebuah piksel pada
lokasi dua dimensi (X) dalam sebuah citra I dapat merubah
lokasi piksel tersebut tetapi tingkat kecerahannya tetap.
Selanjutnya sebuah vector d merupakan vector
perpindahan.
2. Temporal Persistence
Asumsi kedua ini menyatakan bahwa perpindahan vektor
dari suatu titik adalah kecil. Kecil di sini artinya adalah
J (X) dapat diaproksimasi sebagai
[(X) = I(X) + I
i
(X)J.
(2.6)
Pada persamaan di atas, I(X) adalah gradien dari I pada
lokasi X. Dan estimasi untuk d, besar perpindahan vektor,
adalah
J =
](X)-I(X)
Ii(X)
.
(2.7)
3. Spatial Coherence
Asumsi ketiga ini menyatakan bahwa semua piksel dalam
sebuah window di sekitar piksel tersebut bergerak secara
koheren. Dengan asumsi ini, d dapat didefinisikan dengan
([(X) - I(X) -I
i
(X)J)
2
(x,)w
.
(2.8)

Ukuran W mendefinisikan wilayah disekitar tiap-tiap
piksel. Dan dalam publikasinya ditunjukkan bahwa solusi
tertutup untuk persamaan diatas adalah
0J = c
(2.9)
dimana

0 = I
i
(X)I(X)
1
Xw
= _
I
x
2
(X) I
x
(X)
I
x
(X) I

2
(X)
_
Xw

(2.10)
dan
c = (I(X) -[(X))I(X)
(x,)w
.
(2.11)
Selanjutnya, untuk melakukan deteksi digunakan metode
template matching. Template matching adalah sebuah
teknik untuk menemukan sebuah area dari sebuah citra
yang menyerupai atau sama persis dengan sebuah template
(patch). Untuk bekerja dengan template matching
dibutuhkan dua buah gambar / citra.Yang pertama adalah
gambar sumber sebagai tempat pencarian, dan yang kedua
adalah gambar template sebagai bagian / potongan yang
ingin dicari.

III. PERANCANGAN DAN IMPLEMENTASI
A. Kerangka Perancangan Program
Setelah membuat perencanaan terhadap apa yang akan
dibuat pada tugas akhir ini, maka dibuatlah sebuah kerangka
besar program yang nantinya akan berubah menjadi sebuah
framework yang dapat digunakan untuk membuat object
tracking robot. Framework yang dimaksudkan agar tiap robot
dapat terintegrasi dengan mudah dengan sistem object
tracking yang dibuat dalam tugas akhir ini.
Sebelum melangkah lebih jauh, untuk program object
tracking dibuat sesederhana mungkin dan mudah dimengerti.
Secara garis besar, apa yang di inginkan dalam tugas akhir ini
adalah seperti dalam gambar berikut:

Gambar 3.1 kerangka besar sistem integrasi
Dari diagram framework di atas, yang menjadi domain dari
pembahasan tugas akhir ini adalah setengah bagian pertama.
Dan untuk mengintegrasikan sistem dengan robot maka harus
disesuaikan dengan jenis robot.
Algoritma pelacak yang dibuat merupakan penyederhanaan
dari metode TLD.Penyederhanaan dilakukan agar program
dapat tepat sasaran dan menghilangkan fungsi-fungsi yang
tidak diperlukan dalam pengembangan framework object
tracking ini. Diagram alir program dapat dilihat sebagai
berikut:

Gambar 3.2 diagram alir program object tracking

Dari proses diatas, inisialisasi adalah dengan mendefinisikan
sendiri objek yang dimaksud.

Gambar 3.3 diagram alir proses inisialisasi
Dalam implementasinya dengan OpenCV, kamera akan terus
bekerja hingga program selesai.
B. Deteksi
Deteksi yang digunakan disini adalah dengan
mengaplikasikan algoritma Template matching.Template
matching diaplikasikan dengan menggunakan normalized
correlation coefficient.Dalam library OpenCV, fungsi
template matching sudah tersedia dan dapat diatur dengan
parameter-parameter yang diinginkan.
Dalam menggunakan metode ini, digunakan beberapa
preprocessing, pertama harus disediakan sebuah tempat untuk
menampung hasil dari metode ini. Dengan membuat sebuah
mask dengan properti CV_32FC1 yang artinya memiliki
kedalaman 32bit, float, dan 1 channel.

Setelah itu dilakukan template matching dengan normalized
correlation coefficient.

Dengan gray adalah citra hasil preprocessing, templ adalah
citra hasil yang didefinisikan pada inisialisasi.Setelahnya
masih harus dilakukan normalisasi terhadap hasil yang
didapatkan.

Normalisasi dilanjutkan dengan mencari dua buah nilai
yaitu nilai minimum dan nilai maksimum dari hasil deteksi.
Pada metode normalizes correlation coefficient digunakan
nilai maksimum sebagai titik dimana template yang sesuai
ditemukan.
C. Pelacakan
Tahap pertama dalam melakukan pelacakan adalah dengan
memberikan fitur kepada objek yang ingin dilacak. Pemberian
fitur ini dilakukan dengan menggunakan metode Shi-Tomasi
yaitu good features to track. Fitur ini akan memberikan titik-
titik yang dapat di lacak sehingga selanjutnya bisa diproses
dengan metode Lucas-Kanade.
Setelah melalui metode Shi-Tomasi, dilanjutkan dengan
melihat pergerakan oleh citra yang telah dideksi
fiturnya.Digunakan metode Lucas-Kanade estimation of
optical flow yang dapat menganalisis pergerakan suatu
objek.Selanjutnya adalah mengaplikasikan forward-backward
error yaitu dengan mengaplikasikan kembali metode Lucas-
Kanade terhadap hasil sebelumnya.
D. Belajar
Proses terakhir dalam membuat sebuah program object
tracking adalah proses belajar (learning). Proses ini
merupakan gabungan dari dua proses sebelumnya. Proses ini
melihat tingkat akurasi dari hasil tracking dan detection.
J ika ditetapkan ambang batas suatu patch diterima sebagai
proses belajar dengan nilai 0,5. Lalu bila pada saat t tingkat
akurasi adalah 0,6 dan pada t+1 tingkat akurasi meningkat
menjadi 0,7 maka tidak akan masuk ke dalam proses belajar.
Sedangakan bila pada t+2 tingkat akurasi mencapai 0,55,
sistem langsung akan menyimpan patch untuk dijadikan
sebagai referensi baru. Hal ini dilakukan selain untuk
menghemat memori, juga untuk meningkatkan tingkat
kepercayaan object tracking ini.
E. Pengolahan Output
Output yang dihasilkan pada proses object tracking dengan
metode TLD adalah lokasi dimana objek yang kita lacak. Dari
data tersebut dapat diketahui beberapa data yang bisa diolah
lebih lanjut.Yang pertama adalah titik tengah dari objek yang
dilacak, yang kedua besar relatif objek yang dilacak. Yang
ketiga adalah besar perpindahan objek tiap frame relatif dari
citra kamera.
Titik tengah objek yang dilacak menjadi perlu untuk
membandingkan posisi pada saat t dan t+1.Dengan data ini,
dapat diketahui arah dari pergerakan objek.Dengan
menggunakan phytagoras, didapatkan sudut pergerkan objek.
doubl e mi nVal , maxVal ;
cv: : Poi nt mi nLoc, maxLoc, mat chLoc;

cv: : mi nMaxLoc( r esul t , &mi nVal , &maxVal , &mi nLoc, &ma
cv: : Mat ( ) ) ;
cv: : nor mal i ze( r esul t , r esul t , 0, 1,
cv: : NORM_MI NMAX, - 1, cv: : Mat ( ) ) ;
cv: : mat chTempl at e( gr ay, t empl , r esul t ,
CV_TM_CCORR_NORMED) ;
r esul t . cr eat e( r esul t _col s, r esul t _r ows,
CV_32FC1) ;


Gambar 3.4 phytagoras untuk mencari sudut
J ika P
1
(x,y) merupakan titik tengah objek pada t, dan P
2
(x,y)
adalah titik tengah objek pada t+1. Maka (x,y) bisa diperoleh
dan merupakan jarak vertikal dan horisontal dari titik P
1
dan
P
2
. Selain dengan metode perhitungan tadi, sudut juga dicari
dengan cara melihat arah pergerakan benda terhadap titik
tengah kamera. Karena yang akan menjadi input bagi robot
adalah pergerkana terhadap kamera. Sedngkan pergerakan
terhadap posisi sebelumnya dilakukan untuk mencari nilai
pembanding yang akan berguna sebagai referensi terhadap
kecepatan dan logika fuzzy.
Setelah mengetahui sudut, yang diperlukan setelahnya
adalah jarak antara P
1
dan P
2
.

Gambar 3.5 D1 jarak antara titik pada t dan t+1
D
1
dapat diperoleh dengan dua cara. Pertama adalah dengan
memanfaatkan x dan y, maupun dari sudut yang diperoleh
dari proses sebelumnya. Keduanya tentu akan menghasilkan
nilai yang sama.
Salah satu tujuan dari mencari jarak adalah untuk
menentukan kecepatan robot. Kecepatan benda yang akan
dilacak tentu tidak konstan. Oleh karena itu, jarak perpindahan
tiap frame dianalisa untuk menentukan berapa cepat tidaknya
gerakan robot.Dan untuk menjembatani keperluan itu,
digunakanlah fuzzy logic.
F. Logika Fuzzy
Pengaplikasian logika fuzzy disini lebih kepada mencari
kecepatan gerak robot.Setelah mengetahui arah gerak,
pertanyaan selanjutnya adalah berapa kecepatan yang
digunakan untuk mengikuti objek yang sedang dilacak.
Dengan logika fuzzy dilakukan pendekatan melalu rule atau
peraturan. Namun sebelumnya harus ditentukan variable
linguistik dan merbership function terlebih dahulu.
J ika kita menentukan input adalah jarak dan nilai dari jarak
tersebut adalah dekat, sedang, dan jauh. Kita bisa
membuatnya dapat grafik berikut.

Gambar 3.6membership function dari jarak
Setelah itu rules dibuat untuk mengatur kecepatan. Dalam
contoh sederhana yang ada dalam tugas akhir ini adalah:

Tentu tiap robot mempunyai spesifikasi sendiri.Oleh sebab
itu dalam tugas akhir ini hanya menyediakan tempat bagi
pengembang robot untuk membuat keluaran dari fuzzy yang
diinginkan.Sedangkan masukan dari fuzzy dapat berupa data-
data yang bisa diambil langsung dari hasil pelacakan objek.
IV. PENGUJ IAN DAN ANALISIS
A. Parameter Pengujian dan Keberhasilan
Parameter pengujian program adalah menggunakan sebuah
kamera yang akan melacak bola pingpong yang diletakkan
dan digerakkan pada lantai datar. Kamera mampu
menghasilkan video dengan resolusi 640x480 dan akan
diproses pada resolusi yang sama.
Pengujian dilakukan dua tahap, pertama adalah pengujian
permodul. Pengujian permodul dilakukan terhadap beberapa
poin penting dari metode TLD diantanya Shi-Tomasi, Lucas-
Kanade, background subtraction, dan template
matching.Kemudian dilakukan pengujian terhadap sistem
seluruhnya dengan melihat output secara keseluruhan yaitu
sudut dan jarak pergerakan benda. Perhitungan sudut yang
dilakukan ada dua, yang pertama adalah sudut pergerakan
objek terhadap posisi objek sebelumnya dan yang kedua sudut
pergerakan objek terhadap titik tengah kamera.
B. Pengujian Per Modul
1) Good features to track Shi-Tomasi

Gambar 4.7 hasil good features to track Shi-Tomasi
I F j ar ak I S dekat THEN kecepat an r endah
I F j ar ak I S sedang THEN kecepat an sedang
I F j ar ak I S j auh THEN kecepat an t i nggi


Gambar 4.8hubungan jumlah fitur dengan jarak
Pengujian ini bertujuan untuk melihat hubungan antara
jarak dengan jumlah fitur. Untuk itu, pada percobaan
pertama dilakukan pengukuran pada jarak 40 cm dan
percobaan kedua pada jarak 100 cm. Hasil dari percobaan
dapat dilihat pada tabel di bawah ini.
Objek J arak 1 Fitur 1 J arak 2 Fitur 2
Bola Pingpong 40 cm 57 100 cm 8
Lukisan 40 cm 374 100 cm 147
Kotak DVD 40 cm 91 100 cm 63
Tabel 1 hubungan jarak, objek, dan fitur
dari tabel di atas dapat dilihat bahwa fitur berbanding
terbalik dengan jarak.
2) Estimation of Optical Flow
Pengujian modul inidilakukan dengan menggerakkan bola
setelah dideteksi fiturnya.

Gambar 4.3 hasil pelacakan dengan estimation of optical flow
Pada gambar di atas dapat terlihat aliran bola yang
bergerak dari awal mula garis putih hingga berada di
posisi gambar. Pada proses ini pencahayaan sangat
penting untuk tidak berubah karena akan menghilangkan
fitur-fitur yang sudah di lacak.
3) Background Subtraction
Pengujian ini dilakukan dengan menghilangkan
background yang cenderung statis dan hanya
memunculkan objek yang sudah ditentukan, dalam hal
ini bola pingpong.

Gambar 4.4 hasil background subtraction pada bola
Citra bola adalah yang dilingkari dengan warna
merah.Sedangkan warna hitam adalah lantai yang
homogen. Pada bidang yang homogen, bola relatif
mudah ditemukan, akan tetapi dalam ruang dengan
background yang tidak homogen, objek akan semakin
sulit untuk dideteksi.

Gambar 4.5 deteksi background subtraction dalam ruang
4) Template Matching
njdkbwpada uji coba template matching, berbeda dari
sebelumnya, digunakan sebuah foto dankemudian
dibandingkan dengan foto yang lainnya. Sebagai
template adalah citra sebuah bola tanpa latar belakang
yang banyak.

Gambar 4.9 bola pingpong

Lalu sebagai gambar yang akan dicari, digunakan
sebuah bola yang sedang berada di lantai. Bola tersebut
berada pada titik (93, 244).

Gambar 4.10 bola pada permukaan datar homogen
Hasil deteksi dengan menggunakan template matching
didapat dalam citra CV_32FC1, yaitu kedalaman 32 bit,
float, dan satu channel.

Gambar 4.11 hasil deteksi dengan template matching
Bagian yang di tandai merah adalah titik dimana
template ditemukan, yaitu pada titik (86, 238). Pengujian
ini menggunakan normalized correation coefficien
(CV_TMCCOEFF_NORMED) sehingga nilai titik (86,
238) merupakan nilai maksimum dari lokasi
ditemukannya template. Dibandingkan dengan metode
lain, nilai dari normalized coefficient correlation yang
paling mendekati kebenaran dalam deteksi template.
Metode Template Matching Posisi Kesalahan posisi
CV_TM_SQDIFF (509, 306) (+416, +62)
CV_TM_SQDIFF_NORMED 509, 304 (+416, +60)
CV_TM_CCORR 513, 282 (+420, +38)
CV_TM_CCORR_NORMED 416, 51 (+323, -193)
CV_TM_CCOEFF 79, 235 (-14, -9)
CV_TM_CCOEFF_NORMED 86, 238 (-7, -6)
Tabel 2 tabel perbandingan metode template matching
C. Pengujian Menyeluruh
Pengujian ini dilakukan terhadap sebuah program utuh
yang sudah tidak dalam bentuk modul dan sudah disatukan
dalam fungsi-fungsi.Pada program yang telah jadi, yang
tampak hanyalah sebuah benda yang di lacak dan bounding
box yang selalu mengikuti kemanapun objek yang diikuti
bergerak selama objek tersebut masih ada di dalam jangkauan
kamera.
1) Pengujian tracking bola pada lantai
Dalam pengujian ini, sama seperti sebelumnya,
digunakan bola pingpong dengan kamera 1,3 MP. Bola
pingpong diletakkan di atas lantai yang bermotif coklat.

Gambar 4.12 melacak bola yang bergerak pada lantai
Pada gambar di atas menunjukkan bola yang sedang
dilacak keberadaannya dengan program yang sudah
dibuat.Selain itu, program ini juga dapat memberikan
arah gerak dan jarak perpindahan tiap frame dari bola
tersebut.Hal ini dapat dilihat pada gambar di bawah.


Gambar 4.13 hasil perhitungan sudut dan jarak pada pelacakan
bola
Hasil perhitungan sudut dan jarak dipakai untuk
keperluan tracking dengan menggunakan robot.Metode
pehitungan di atas berdasarkan hasil pelacakan titik
tengan dari objek yang kemudian dihitung dengan
menggunakan phytagoras.
2) Frame rate
Percobaan ini menguji besaran frame rate pada berbagai
skema pelacakan. Yang pertama adalah pelacakan
terhadap bagian dari suatu benda.Dalam skema ini, frame
rate cukup kecil berkisar antara 2-5 frame per second.
Hal ini disebabkan karena adanya kontur yang sama pada
area tepi bounding box dengan area di luarnya.

Gambar 4.14 melacak bagian mata dari lukisan dengan frame rate
rata-rata 4 fps
Berikut adalah tabel perbandingan dari barbagai skema
pelacakan dengan frame rate rata-rata yang dihasilkan:
Objek Frame rate (fps)
Wajah manusia dalamruangan 12
Bola pingpong satu warna pada lantai homogen 7
Bagian mata dari wajah pada lukisan 4
Buku yang sedang dipegang 9
Tabel 3 frame rate berbagai skema pelacakan
Semakin tinggi tingkat kekontrasan objek dengan
lingkungannya, semakin tinggi frame rate yang
didapatkan. Dengan frame rate yang tinggi, akan
semakin dapat melacak pergerkan objek dengan
kecepatan tinggi.
3) Pengujian kecepatan maksimum pelacakan bola
pingpong
Bentuk bola pingpong yang kecil mengharuskan jarak
antara kamera dan bola tidak terlalu jauh. Dalam
pengujian ini, digunakan jarak yang relatif tetap yaitu 40
cm. Pada jarak ini kecepatan maksimum yang bisa
dilacak adalah 0,5m/s. Dengan frame rate rata-rata pada
pelacakan bola pingpong adalah 7 frame per second.
Dengan diketaui 30 cm jarak pada lintasan terlihat
sebagai 610 piksel pada frame. Maka dalam satu frame,
bola dapat menempuh jarak maksimum agar masih dapat
dilacak sebesar
u,S
7
1uu = 7,1428S7 cm
atau bila dikonversi ke dalam piksel di layar adalah
7,1428S7
Su
61u = 14S pikscl
145 piksel merupakan pembulatan ke bawah yang masih
merupakan jarak aman perpindahan bola tiap frame.sa
4) Fuzzy logic
Setelah dilakukan pengujian terhadap kecepatan
maksimum dari sebuah bola, maka dapat didefinisikan
nilai dari jarak pada implementasi fuzzy logic. Nilai
maksimum adalah 145. J ika nilai tersebut didistribusikan
pada nilai dari J arak, maka akan didapatkan

Gambar 4.15membership function dari jarak


Dengan ini maka yang selanjutnya dibutuhkan adalah
fungsi kecepatan yang berbeda di tiap robot. Dan fungsi
tersebut tidak akan dibahas pada penelitian tugas akhir ini.


V. KESIMPULAN DAN SARAN
A. Kesimpulan
Setelah melakukan penelitian, perancangan, implementasi,
dan pengujian pada sistem yang telah dibuat untuk object
tracking robot ini, dengan melihat proses dan hasil yang telah
dicapai diperoleh beberapa simpulan sebagai berikut:
1. Proses deteksi paling akurat dengan menggunakan metode
CV_TM_CCOEFF_NORMED (normalized correlation
coefficient) pada percobaa mencari bola pingpong. Dengan
posisi bola sebenarnya pada (93, 244), metode ini
memberikan hasil posisi (86, 238) dimana perbedaannya
tidak terlalu jauh yaitu (-7, -6) piksel. Sedangkan pada
hasil yang lain memberikan selisih (+416, +62) pada
CV_TM_SQDIFF, (+416, +60) pada
CV_TM_SQDIFF_NORMED, (+420, +38) pada
CV_TM_CCORR, (+323, -193) pada
CV_TM_CCORR_NORMED, dan (-14, -9) pada
CV_TM_CCOEFF.
2. J arak berbanding terbalik dengan jumlah fitur pada
implementasi metode good features to track dari Shi-
Tomasi. Oleh karena itu pada saat pelacakan objek dengan
ukuran kecil dan memiliki fitur yang sedikit hanya bisa
dilakukan pada jarak dekat. Dari hasil ujicoba bola yang
dijauhkan dari jarak 40 cm menjadi 100 cm, fitur
berkurang hingga menyisakan hanya 7,5% dari fitur
semula.
3. Frame rate bergantung kepada objek yang dilacak dan
lingkungan sekitarnya. J ika tingkat perbedaan kontur objek
dan lingkungan cukup tinggi dan mudah dilacak, frame
rate yang dihasilkan akan tinggi. Dari percobaan, wajah
manusia dalam ruangan mempunyai frame rate tertinggi
dengan 12 frame per second. Frame rate pada kamera
normal adalah 25 frame per second.
4. Kecepatan maksimum dipengaruhi oleh jarak benda,
ukuran, dan frame rate. Pada bola pingpong dengan jarak
40 cm dari kamera, kecepatan maksimumnya adalah 0,5
m/s.
Dari percobaan kecepatan bola, dapat disimpulkan nilai
darikecepatan untuk implementasi fuzzy. Dengan kecepatan
0,5 m/s maka bila dikonversi ke dalam piksel menghasilkan
nilai 145 piksel. Sehingga nilai dari jarak adalah rentang dari
0 sampai 145 piksel.
B. Saran
Dari hasil yang telah dicapai saat ini tentu masih banyak
yang harus disempurnakan. Oleh karena itu kedepannya
semoga framework untuk object tracking ini
dapatdikembangkan. Saran yang mungkin dapat membantu
perkembangan framework ini adalah sebagai berikut:
1. Restrukturisasi pemrograman dengan menggunakan
bahasa pemrograman C++yang lebih terstruktur sehingga
memungkinkan untuk membuat library sendiri.
Restrukturisasi akan memudahkan integrasi robot dengan
framework ini.
2. Meningkatkan kemampuan algoritma pelacak seperti TLD.
Saat ini, pelacakan masih dibatasi oleh kecepatan benda.
Meningkatkan kecepatan dapat dilakukan diantaranya
dengan optimasi algoritma.
3. Pengembangan framework lebih dari satu fungsi. Dengan
memanfaatkan neural netwok sebuah robot dapat
melakukan lebih banyak hal selain melacak dan mengikuti
pergerakan objek.
4. Melacak banyak objek sekaligus. Saat ini hampir semua
algoritma pelacak hanya dapat melacak satu objek pada
satu waktu.
5. Kemampuan untuk menyimpan dan mengambil kembali
objek yang telah dilacak dan memberikan label atau nama.
6. Menggunakan GPU dan menambah memori agar dapat
meningkatkan frame rate.
7. Menggunakan lebih dari satu kamera agar dapat
menjangkau pandangan 360
o
sehingga saat pelacakan,
objek tidak menghilang dari pandangan kamera.
8. Menggunakan metode lain yang berbeda dengan TLD
sebagai alternatif dan juga pembanding tingkat akurasi
pelacakan.he version of this template is V2.
REFERENCES
[1] Bradski, G., & Kaehler, A., Learning OpenCV: Computer Vision with
the OpenCV Library, OReilly Media, 1st edition, Oct. 2008.
[2] Brunelli, R., Template Matching Techniques in Computer Vision:
Theory and Practice, Wiley Publishing, 2009.
[3] Chapelle, O., Scholkopf, B., & Zien, A., editors, Semi-Supervised
Learning, The MIT Press, 2006.
[4] J ang, J yh-Shing Roger, Neuro Fuzzy and Soft Computing: a
computational to Learning and machine Intelligence, Prentice Hall,
1997.
[5] Kalal, Z., Matas, J ., & Mikolajczyk, K., Online Learning of robust
object detectors during unstable tracking, IEEE On-line Learning for
Computer Vision Workshop, 2009.
[6] Kalal, Z., Matas, J ., & Mikolajczyk, K., Forward-Backward Error.
Automatic Detection of Tracking Failures, International Conference on
Pattern Recognition, 2010.
[7] Kalal, Z., Matas, J ., & Mikolajczyk, K., P-N learning: Bootstrapping
binary classifiers by structural constraints, IEEE Conference on
Computer Vision and Pattern Recognition (CVPR), 2010.
[8] Laganiere, R., OpenCV 2 Computer Vision Application Programming
Cookbook, Packt Publishing, 2011.
[9] Lucas, B.D. & Kanade, T., An iterative image registration technique
with an application to stereo vision, International J oint Conference on
Artificial Intelligence, 1981.
[10] Shi, J ., & Tomasi, C., Good features to track, IEEE Conference on
Computer Vision and Pattern Recognition (CVPR), 1994.
[11] Tomasi, C., & Kanade, T., Detection and tracking of point features.
Technical Report CMU-CS-91-132, Carnegie Mellon University, Apr.
1991.
[12] ________, The OpenCV Tutorial, Release 2.4.2, Itseez, 2012..

Anda mungkin juga menyukai

  • Analgo
    Analgo
    Dokumen8 halaman
    Analgo
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • 989 997
    989 997
    Dokumen4 halaman
    989 997
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Doubly Linked List
    Doubly Linked List
    Dokumen24 halaman
    Doubly Linked List
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Analgo 2
    Analgo 2
    Dokumen24 halaman
    Analgo 2
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Bab I Pendahuluan
    Bab I Pendahuluan
    Dokumen31 halaman
    Bab I Pendahuluan
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Bahaya HIV
    Bahaya HIV
    Dokumen4 halaman
    Bahaya HIV
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Bahaya HIV
    Bahaya HIV
    Dokumen4 halaman
    Bahaya HIV
    Kevin Kurniawan KaHa
    Belum ada peringkat
  • Sanusi Pane
    Sanusi Pane
    Dokumen2 halaman
    Sanusi Pane
    Kevin Kurniawan KaHa
    100% (1)