Pada
Mobil Robot
tharom@yahoo.com
IlmuKomputer.Com
Tabratas Tharom
BAB 4
4.1.
PEMETAAN LINGKUNGAN
4.1.1.
SEGMENTASI
102
Deteksi tepi
komputasi
yang
lebih
sederhana,
cepat,
dan
sering
103
Gambar 4.1 Turunan pertama dan kedua dari tepi dimensi satu.
Gy
y
(4.1.)
f ( x, y ) f ( x + x, y ) f ( x, y )
x
x
(4.2)
f ( x, y ) f ( x, y + y ) f ( x, y )
y
y
(4.3)
dengan
104
Turunan
pertama
ini
dapat
diimplementasikan
dengan
(4.4)
(4.5)
G = Gx 2 + Gy 2
(4.6)
(4.7)
(4.8)
105
(4.9)
(P3 + 2 P6 + P9 ) (P1 + 2 P4 + P7 )
= arctan(Gy / Gx) 3 / 4
(4.10)
Pendekatan
alternatif
terhadap
pendeteksian
tepi
gradien
Mask.
Dalam
pendeteksian
tepi
Compass
Mask,
citra
106
G = max( Gi : i = 1...n)
(4.11)
Gambar 4.5 Beberapa contoh kernel compass edge yang sering digunakan.
107
L[ f ( x , y ) ] = 2 f ( x , y ) =
2 f ( x, y ) =
2 f ( x, y )
x 2
2 f ( x, y )
y 2
f ( x + x , y ) 2 f ( x , y ) + f ( x x , y )
+
x 2
f ( x , y + y ) 2 f ( x , y ) + f ( x , y y )
(4.12)
y 2
= [ f ( x + 1, y ) f ( x, y )] [ f ( x, y ) f ( x 1, y )]
(4.13)
= [ f ( x, y + 1) f ( x, y )] [ f ( x, y ) f ( x 1, y 1)]
L[ f ( x, y )] = f ( x + 1, y ) + f ( x 1, y ) + f ( x, y + 1) + f ( x, y 1) 4 f ( x, y )
Transformasi Hough
109
x cos + y sin = r
(4.14)
Parameter r adalah panjang normal dari origin ke garis ini dan adalah
orientasi r terhadap sumbu x. Untuk setiap titik (x,y) pada garis ini, r dan
adalah konstan.
110
( x a ) 2 + ( y b) 2 = r 2
(4.15)
Metode
pendeteksian
menggunakan
transformasi
Hough
Masalah
utama
dalam
transformasi
Hough
adalah
dalam
(4.16)
Parameterparameter
dengan a
persamaan
garis
(4.17)
tersebut
dihitung
dengan
persamaanpersamaan berikut.
112
a=
b=
c=
n xy x y
n x 2 ( x )2
y a x
n
(4.18)
x
n
113
orientasinya.
Tepi
yang
mempunyai
arah
yang
sama
Pelabelan (Labelling)
Semua kelompok tepi hasil proses segmentasi dikelompokkan kembali
dalam beberapa kelompok yang merepresentasikan garis lurus. Tepi
yang mempunyai arah sama dan mempunyai letak yang berdekatan
dikelompokkan menjadi satu kelompok serta diberi label yang unik.
Regresi linier
Pada setiap kelompok hasil proses pelabelan diaproksimasikan suatu
garis lurus dengan menggunakan metode regresi linier.
4.1.2.
115
Sinar
Object
mata
Sinar mata
Bidang citra
116
Sinar yang ditembakkan pada tiap sumber cahaya dari titik tempat
sinar mata dan objek berpotongan. Sinar bayangan membantu dalam
menentukan intensitas dan warna dari titik perpotongan objek atau sinar
mata. Oleh karena itu, warna dan intensitas diberikan ke piksel. Proses ini
dilakukan terhadap piksel dalam bidang citra. Saat terpenuhi, bidang citra
mendapatkan gambar dari tempat kejadian dengan resolusi yang ditentukan
oleh pikselisasi bidang citra. Energi cahaya yang datang ke permukaan
yang bukan kaca sempurna dipantulkan secara acak (pemantulan yang
tidak sederhana). Untuk permukaan spekular, arah penyebaran adalah
variabel acak sebuah distribusi yang bergantung pada sudut datang dan
sifat
permukaan.
Pada
tiap-tiap
perpotongan,
suatu
sinar
pantul
Vektor up
117
Bidang citra
Sudut pandang
Titik from
Titik at
118
Kumpulan
konstanta
menggambarkan
tiap
objek.
Konstanta
Model-model pencahayaan
disimulasi
oleh
grafik
komputer.
Grafik
komputer
berusaha
Bayangan
119
Model pemantulan
120
dapat
dikurangi
dengan
penjejakan
(tracking)
yang
Kelihatannya
sangat
alamiah
untuk
mengharapkan
bahwa
seandainya analisis citra tunggal itu berat, maka analisis citra yang
berurutan seharusnya lebih berat. Tetapi, konsekuensi kekayaan informasi
geometrik dalam aliran citra membuat kondisi aktual yang diperoleh robot
melalui sistem visonnya lebih riil dari sistem vision biasa. Jika sebuah robot
dapat melakukannya, maka untuk sementara dia akan bergerak dengan
matanya. Hal tersebut sering terjadi pada robot untuk membangun
gerakan untuk menginduksi pergerakan citra.
122
Prediksi
hal
tersebut,
dan
mampu
mengkombinasikan
model
Strategi sensing
Kesempatan
utama
bagi
pengamat
yang
aktif
adalah
123
gerakan
menggunakan
divergensi
citra
dan
deformasi
8. Navigasi lokal adaptif
9. Sistem vision tiga dimensi paralel
4.2.1.
persamaan
diferensial
integral
dari
elastodinamika
Lagrange.
124
Pada
pembahasan
mengenai
Kalman
snakes
ini,
banyak
125
gerak objek pejal dan juga untuk menjejak fitur pejal seperti garis dan
banyak titik.
s (v)
yang
sesuai
dan
tepat,
dengan
[ ]
2 3 . Komponen pemetaan
(v ) = s (v ) + (v )
s = 1 ( s) v s + w2 ( s) v ss
2
ds
mobil
robot
ini.
Kita
memakai
Kalman
snakes
dengan
persamaan
yang
fundamental
dari
gerak
snakes
dapat
du
= Fu + g , yang berkaitan dengan filter Kalman.
dt
Pada kondisi snakes yang massless (kasus M = 0), dapat kita
peroleh sebuah persamaan lain, yaitu
126
d
u = C 1 Ku + C 1 f , yang merupakan bentuk standar.
dt
Untuk menyempurnakan bentukan persamaan orde satu di atas,
diperlukan kecepatan nodal
du
= u& yang menjelaskan posisi u dengan
dt
d u& M 1C
=
dt u I
M 1 K u& M 1
+
0 u 0
yang
S (t ) = K s + S ' (t ) .
Kita dapat mengatur Ks = K, sebagai matriks snakes yang stiff.
Kemudian, kita memakai persamaan Riccati yang erat hubungannya
dengan filter Kalman langsung ke nilai S tadi dan mengabaikan segala
jenis kondisi diagonal yang akan timbul. Persamaan berikutnya yang
muncul dari akibat tersebut adalah
u& = Fu + ( K s + S ' ) 1 H R 1 (d Hu ) ,
Persamaan
yang
merupakan
penambahan
dari
persamaan
Ketika metode ini diaplikasikan pada citra yang statik, sifat fisik
model akan bermakna banyak untuk mendukung interaksi yang terdapat
antarbenda. Bentuk alami yang dinamik dari snakes berdampak lebih besar
lagi ketika diaplikasikan pada pencitraan yang bergantung pada waktu. Jika
pendekatan probabilitas yang digunakan, khususnya teknik yang banyak
dikenal seperti estimasi Bayes dan filter Kalman, akan diperoleh
pengukuran dengan derau yang terukur,
beberapa sumber.
4.2.2.
KONTUR DINAMIK
paralel dalam bentuk yang lebih kecil, jaringan transputer serta kinerja
penjejakan video-rate dapat dicapai untuk kontur dengan simultan.
didapat dari pengkombinasian ini adalah sifat elastis snakes dengan banyak
parameter
template.
Template
tersebut
dapat
dikatakan
belajar
Selanjutnya, pencarian lintasan dimungkinkan dalam bentuk garisgaris yang paralel pada arah dan tujuan yang tetap pada citra. Alternatif lain
adalah melakukan penjejakan sepanjang normal ke x(s). Alternatif ini
memiliki keuntungan, karena pada kenyataannya tidak ada arah dan tujuan
yang tetap pada penjejakan yang dipilih. Sebaliknya, alternatif ini
menyebabkan kerugian dalam kestabilan penjejakan karena munculnya
kontur usang berulangkali yang menempati titik-titik penting pada citra, juga
sudut-sudut yang lain. Implementasi secara praktis dari search normal telah
berhasil dilaksanakan dalam menstabilkan sepasang mekanisme kontur.
Alternatif berikutnya adalah mencari titik yang tetap dengan arah radial.
Proses tersebut membolehkan tumbuhnya kontur tertutup secara radial
keluar dari titik yang diketahui sebagai bagian dalam dari bagian tambahan
citra yang tertutup. Akibatnya, secara teori masih saja timbul masalah, tapi
dalam kenyataan praktisnya tidak timbul masalah yang terlalu rumit
sehingga dianggap masih dalam batas kerja yang memuaskan.
coarse-to-fine
fashion.
Proses
tersebut
bekerja
dengan
dibuat
sedemikian rupa pada search point dan point pada bagian yang berbeda.
Search point
y-1
Y0
Y1
Y2
Next scale
Posisi citra
Current scale
Gambar 4.15 Perbandingan antara posisi citra dan intensitasnya
131
Kalikan
bentuk-bentuk
matriks
untuk
menghasilkan
span
yang
diinginkan.
To sun
M = Master
W = Worker
F = Frame
..Grabber
G = Graphics
Output
132
Keterangan : satu buah blok terdiri dari komposisi yang sama, yakni
1
3
2
Analisis persamaan dinamik tersebut menyarankan paralelisasi
berbasis span. Untuk model transputer konkurensi, proses tersebut
menerjemahkan ke dalam banyak proses yang terpisah. Gambar 4.17
menunjukkan proses comprising dari empat buah kontur span, dan akan
mengindikasikan bagaimana hasil akhir membutuhkan perhitungan Qf yang
diimplementasi dengan dua running sums.
Kontur dilokasikan pada worker transputer pada jangka waktu
tertentu. Span individu berkomunikasi dengan kontribusi Qf ke dalam kontur
lain pada masing-masing langkah Euler. Dengan enam buah worker
transputer, langkah-langkah Euler dapat ditunjukkan dalam frame rate (25
Hz). Lebar pita (bandwidth) dari hubungan transputer kurang cukup untuk
menopang komunikasi data citra yang real time. Untuk mengatasi masalah
ini, digunakan tiga buah frame grabber yang diletakkan terpisah, dan
dikendalikan dari masukan video yang umum. Jaringan transputer
diletakkan pada sebuah personal computer yang menggunakan workstation
UNIX, yang diakses melalui rutin pada sebuah library yang ditulis dengan
menggunakan bahasa pemrograman tingkat menengah, yakni bahasa C
(penjelasan singkat mengenai bahasa C ada pada lampiran buku ini).
Skema berikut ini menunjukan empat buah span kontur dinamik dan
hubungannya dengan frame grabber.
133
span
frame grabber
Gambar 4.17 Proses comprising empat buah span dan frame grabber
1+2+3
1
1+2
2
2+3+4
3
3+4
4
4
4.2.3.
DEFORMABLE TEMPLATES
Sebuah mobil robot yang menggunakan sistem active vision
men-generalisasikannya
ke
dalam
banyak
permasalahan
matching.
Template matching adalah salah satu dari sekian banyak
pendekatan klasik dalam pendeteksian fitur. Dalam kebanyakan bentuknya
yang klasik, proses ini menyertakan convolving sebuah citra dengan mask
corresponding agar fitur yang diinginkan dapat sesegera mungkin dideteksi.
Pendekatan ini dinilai sangat efektif dalam domain tertentu, tapi memiliki
beberapa kekurangan, yaitu akan gagal jika objek dalam citra lalai
dideformasi atau seandainya pencahayaan pada objek sangat berbeda dari
yang digunakan untuk membangunkan template. Jadi salah satunya
135
memerlukan template
Model
pencitraan
untuk
menspesifikasi
bagaimana
sebuah
okurensi objek tiga dimensi yang diketahui menyertai sebuah citra dan
memperoleh pengukuran dari lokasi objek pada citra. Keberadaan maupun
lokasi objek kemudian dapat digunakan untuk beberapa perintah seperti
manipulasi robot, proses monitoring, maupun vehicular control. Karena
hanya beberapa aspek saja yang biasa dilengkapi (seperti geometri sudut
pada citra), maka aspek tersebut dikatakan membentuk model objek, yakni
okurensi model yang sebenarnya hanya dapat dilihat oleh user.
Model
geometri adalah salah satu bentuk model yang mudah dalam pengerjaan,
136
karena invarian yang kuat dari geometri di bawah proyeksi perspektif dapat
menyediakan reliability dan kemudahan komputasi. Dengan demikian hasil
model geometri akan lebih bersifat kuantitif. Kelebihan model geometri akan
menjadi dasar bagi model pejal, parameter lain yang terukur.
Bentuk geometri yang fleksibel, lunak, dan umumnya dideskripsikan
sebagai objek sangat sulit digunakan. Tapi, pada bahasan selanjutnya
mengenai penjejakan dengan model objek nonpejal akan Anda temukan
pula kelebihan model tersebut, yakni mudah diperlengkapi seperti dengan
tekstur dan warna, dan menguatkan eksistensi objek tersebut, meskipun
bukan sebuah pengukuran kuantitatif pada lokasi tiga dimensi. Penjejakan
berdasarkan model
pada sekuens video citra, dan muncul dengan banyak permasalahan rumit
yang lainnya karena high-date rate dalam sekuens citra adalah 10 Mbyte/s
pada video rate. Meskipun begitu, kontinuitas di antara citra dapat
disederhanakan masalahnya, karena gerak objek dapat diantisipasi dengan
beberapa presisi yang kemudian menjadi lebih menguntungkan untuk
proses pada rate yang maksimum, yakni sekitar 50 Hz untuk kamera video
standard.
Fitur pada model geometri yang digunakan pada proses penjejakan
haruslah sederhana untuk diekstrak (misalnya murah dalam proses
komputasi) jika proses yang akan dikerjakan terletak di dekat rate video.
Proses komputasi yang mahal dan rumit pada fitur model, seperti region
yang tertutup yang merepresentasi permukaan, tidak akan dapat dihasilkan
dari proses tadi. Hal ini mengindikasikan penggunaan fitur lokal yang
sederhana seperti points (ataupun corners) serta sudut. Fitur titik
kelihatannya lebih sulit untuk diekstrak dari citra bila dibandingkan dengan
sudut.
Di bawah ini akan diberikan algoritma untuk peningkatan kualitas
penjejakan objek dengan model geometri, yakni ketika objek yang dijejak
137
sudut
dengan
tanggapan
yang
lemah
untuk
138
elastiknya
men-generalisasi
komponen
spline
dan
relatif
time-variant dari observasi yang tidak pasti pada beberapa parameter yang
diketahui. Permasalahan pada penjejakan dapat dibagi atas dua bagian
penting, yakni:
1. estimasi optimal dari keadaan yang ditargetkan
2. asosiasi data yang menghubungkan proses sensing untuk
mengestimasi mekanisme.
Selanjutnya akan kita bahas masing-masing permasalahan dengan
memberikan gambaran yang terdapat pada kedua butir di atas.
1. Estimasi optimal dari keadaan yang ditargetkan
Permasalahan pertama ini terdiri atas proses mendeduksi
kemungkinan terbaik untuk mengestimasi keadaan dari pengukuran
yang bersifat sekuensial. Jika diberikan sekuen sementara dari
pengukuran berderau untuk satu keadaan, semua faktor terukur telah
diketahui untuk kemudian dimunculkan pada target, sebuah estimasi
140
Stage
141
inisialisasi
predict state
take observation
validate
observation
update estimate
142
untuk
tiap
langkah
observasi
(metode
yang
berbasiskan model ).
Penjejakan ini bertujuan untuk berkosentrasi pada pendekatan
yang pertama. Bersama dengan pendekatan yang pertama, terdapat
dua kelas algoritma asosiasi data, yakni : optimal (dengan Bayesian
sense) dan suboptimal. Pendekatan optimal dikenal sebagai Multiple
Hypothesis Data Association. Pada pendekatan suboptimal, terdapat
dua cara yang populer, yaitu Nearest Neighbour Data Association dan
All Neighbour Data Association. Kebanyakan sistem penjejakan
memakai algoritma asosiasi data yang diturunkan dari ketiga metode
asosiasi data tersebut.
143
Pilihan itu nanti akan bergantung pada faktor krusial tipe data dalam sistem
sensing.
4.2.6.
citra 1
citra 2
citra 3
citra 4
145
citra 1
citra 2
Corner
extraction
citra 3
citra n
Corner
extraction
Corner
extraction
2D feature
list
2D feature
list
2D feature
list
2D-3D match
2D-3D match
2D feature
list
2D-3D epipolar
match
match list
match list
match list
Egomotion
Egomotion
2D-3D epipolar
match
2D-3D epipolar
match
KF update
KF update
Purge dan
retire
Purge dan
retire
Egomotion
KF initiate
Corner
extraction
3D feature list
2D limbo list
BOOT
3D
feature
list
3D
feature
list
2D limbo
list
2D limbo
list
RUN
3D
surf
ace
146
4.2.7.
PERENCANAAN
GERAKAN
MENGGUNAKAN
DIVERGENSI
visible.
Divergensi
citra
dapat
dikatakan
merupakan
implementasi real time yang berbasiskan kontur citra dan berperan pada
informasi turunan yang visual.
Manipulator robot, selanjutnya, membuat gerakan yang tidak
disengaja terhadap target. Proses penjejakan terhadap kawasan kontur dan
148
hakikatnya,
manipulator
berjalan
secara
buta
setelah
memiliki
kemiringan
nol.
Kesemua
dampak
itu
dapat
dengan pemetaan aliran sementara pada data sensor hingga stream aksi
tersebut untuk mencapai tujuan yang diinginkan. Untuk sebuah mobil robot,
pembatasan aktivitas yang real time dan sumber komputasi yang terbatas
melarang perluasan aksi optimal yang dapat dipilih melalui metode search
menggunakan model dunia yang akurat.
150
perceptual
policy
()
motor
control
system
evaluation
(V)
reward
comparator
sensor
keterangan :
1.
2.
= prediction
= prediction error
152
b. Iconic to symbolic
Ini merupakan pemrosesan pada level medium yang secara
tipikal menerima data dari bagian low level untuk diekstrak
secara deskripsi simbolik seperti segmentasi dan ekstraksi
fitur.
c. Symbolic to interpretation
Proses yang ada mengekstrak arti data yang diproduksi
oleh
bagian
sebelumnya
seperti
pengenalan
objek.
besar untuk datapath pada aliran data video, mendukung variasi level pada
pengolahan vision, dan tanggapan yang real time.
TRAM
TMAX
VRAM
TMAX
VRAM
Frame
Grabbers
TMAX
VRAM
Frame Stores
TMAX
VRAM
Pipelined frame
rate hardware
kamera
VME - BUS
Gambar 4.23 Desain arsitektural MARVIN
153
5
TMAX
0
TMAX
1
TMAX
2
Frame
store
Frame
store
Frame
store
2
Digimax
Digimax
Digimax
1
Display
Monitor
Left
camera
Right
camera
154
Keterangan gambar :
1. analogue video
2. digital interlaced citras
3. pipelined frame rate-hardware
4. outgoing non interlaced display stream
5. incoming non interlaced distributed video streams
Mbyte
Video
RAM
(VRAM),
dengan
batasan
155
156
157