Post on 25-Feb-2023
1
“ Rekonstruksi Obyek Dari Citra 3D berbasis Visual Hull”
Slamet Budiprayitno(1)
, Eko Mulyanto Yuniarno(2)
, Moch. Hariadi(3)
, Mauridhi Hery P(4)
1,2,3,4
Pasca Sarjana Jaringan Cerdas Multimedia (Game Technology) Tehnik Elektro,
Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember,
Jl. Keputih Sukolilo – Surabaya 60111
Email: slamet@elect-eng.its.ac.id(1)
ekomulyanto@ee.its.ac.id(2)
mochar@ee.its.ac.id(3)
hery@ee.its.ac.id(4)
Abstract – Penelitian yang dilakukan oleh penulis
dalam hal rekonturksi obyek dari citra 3D berbasis
visual hull untuk memenuhi Kebutuhan yang semakin
besar akan model 3D yang lebih realistis, terutama
dalam bidang 3D Vision dan Perfilman.
Visual Hull merupakan objek yang konsisten
dengan satu set silhouette dari objek sebenarnya.
Visual hull dibangun dari satu set silhouette yang
sudut pandangnya bersesuaian dari masing – masing
silhouette yang diketahui.
Penulis ingin menunjukan bahwa proses
rekonstruksi dapat dilakukan dengan sebuah system,
menggunakan urutan gambar yang diambil pada satu
sumbu dengan menggunakan meja putar. Kumpulan
gambar yang bersesuaian dari objek rigid dan
kandungan masing – masing silhouette dapat di
gabungkan kedalam satu set objek, dengan
menggunakan parameter external kamera dari seluruh
posisi pengambilan gambar objek.
Parameter external kamera dapat dihitung
dengan menggunakan konsistensi gambar dari masing
– masing posisi. Jadi, satu set parameter dari
konsistensi silhouette dapat digunakan untuk
membangun model visual hull sehingga memperoleh
hasil lebih dekat dengan objek sebenarnya, dari pada
visual hull yang dibangun dengan parameter gambar
asli.
Hasil estimasi parameter pada proses rekontruksi
obyek dari citra 3D berbasis visual hull yang
dilakukan dengan metode nonlinier Leventberg
Marquardt dalam penelitian ini ditunjukkan dengan
rms error proyeksi 1.75 pixel.
Keywords: Rekontruksi Obyek 3D, Visual Hull, Meja
Putar, Konsistensi Silhouette.
1. PENDAHULUAN
Dewasa ini, rekontruksi Obyek tiga dimensi
secara otomatis dari satu atau lebih gambar dua
dimensi merupakan area penelitian aktif di bidang
komputer grafik. Hasil dari rekontruksi tersebut
penting bagi aplikasi-aplikasi seperti, virtual reality,
visualisasi interaktif dari suatu obyek yang direkam
oleh kamera video, modifikasi virtual dari gambar
nyata untuk augmented reality dan lain-lain.
Sampai saat ini belum terdapat solusi yang dapat
diterapkan untuk semua bentuk obyek dikarenakan
hampir semua obyek pada dunia nyata terdiri dari
geometri yang kompleks dan menimbulkan kesulitan
saat dilakukan rekontruksi untuk membentuk obyek
tersebut dalam tiga dimensi. Sebuah Pendekatan yaitu
image based modeling, dimana dengan pendekatan ini
keluaran yang didapat adalah model tiga dimensi yang
terbentuk dari geometri primitif.
Selain itu ada pendekatan lain yang dapat
dilakukan yaitu Pendekatan Volumetric. Pendekatan
Volumetric merepresentasi-kan ruang tiga dimensi
menjadi bentuk diskrit disebut Voxel yang biasanya
berbentuk kubus kecil. Voxel-voxel tersebut tersusun
pada ruang tiga dimensi membentuk ruang Voxel.
Pendekatan volumetric diadopsi untuk merekonstruksi
Visual Hull dari bayangan hitam (silhouettes) yang
mempunyai kesederhanaan dan ketahanan. Akan
tetapi rekontruksi bayangan hitam (silhouettes)
berdasarkan konstruksi Volumetric mempunyai
ketidak-mampuan yang pokok dalam mendeteksi
kecekungan-kecekungan obyek.
Di dalam penelitian ini Kami hadirkan beberapa
hasil yang baru dengan cara metodologi kami yaitu
dengan mengguakan Volume Carving sebagai bagian
dari Shape form Silhouette (SFS) dengan estimasi
parameter berdasarkan titik – titik yang konsisten
silhouette dari masing – masing sudut pandang
kamera.
2. Tinjauan Pustaka
Berbagai cara telah digunakan untuk menentukan
pose yang sesuai dengan masing – masing sudut
pandang silhouette. Niem dan Buschmann [9]
menggunakan kamera tunggal dan suatu piring putar
untuk memperoleh berbagai gambar silhouette dari
suatu obyek pada sudut pandang berbeda. Pose relatif
dari cara piring putar berkenaan dengan kamera
ditentukan menggunakan obyek kalibrasi. Wong [12]
juga menggunakan urutan piring putar, tetapi bisa
menentukan pose relatif silhouette tanpa
menggunakan objek kalibrasi; objek silhouette
dimodelkan, bersama dengan gerak lingkar, digunakan
untuk menentukan pose relatif itu, tetapi dalam hal ini
wong menggunakan metode non linier gradient
descent dengan meminimize cost function Epipolar
2
Tengency. Dan juga Zang[] pekerjaannya yang juga
menggunakan urutan piring putar akan tetapi disini ia
menggunakan robust estimasi.
3. Metodologi Penelitian
Proses Rekonstruksi Objek 3D menggunakan
Visual Hull diharapkan dapat memperoleh hasil yang
lebih dekat dengan objek sebenarnya. Untuk
membentuk model Visual Hull, selain menggunakan
silhouette harus diketahui pose dan parameter internal
yang berhubungan dengan sudut pandang kamera.
Proses rekonstruksi objek 3D ditunjukkan dengan blok
diagram seperti terlihat pada gambar 3.1.
`
Gambar 3.1. Blok Diagram Proses Rekonstruksi Objek 3D dengan Visual Hull
Pada penelitian ini penulis menunjukkan bahwa,
untuk mendapatkan hasil yang baik pada objek kaku
(rigid object), maka dilakukan minimisasi nilai cost
function pada epipolar tangentcy. Sehingga diapatkan
nilai parameter eksternal dan parameter internal yang
baik. Proses ini harus melalui beberaapa tahapan
daintaranya mencari titik korespondensi pada pada
tepi silhouette dengan blok diagram seperti gambar
3.2 dan kemudian melakukan estimasi parameter
berdasarkan matrik Essential. Blok diagram proses
estimasi parameter dengan meminimisasi nilai cost
function dapat dilihat pada gambar 3.3.
`
Gambar 3.2. Blok Diagram Proses Pencarian Titik Korespondensi
Pada Silhouette
Proses ini dilakukan pada tiap 2 urutan gambar
secara bergantian terhadap semua data gambar citra
3D. sehingga didapatkan satu set titik korrespondensi
pada setiap silhouette.
Gambar 3.3 Blok diagram Peminimalisian nilai cost function
berdasarkan matrik Essential pada Epipolar Tangency
Proses penentuan Cost Function pada gambar 3.3
dilakukan pada seluruh set silhouette, ambil contoh
misalkan terdapat 4 urutan silhouette A, B, C, D maka
akan dicari error proyeksi pasangan silhouette AB,
AC, AD, BA, BC, BD, CA, CB, CD, DA, DB, DC.
Proses ini dilakukan berulang – ulang sampai didapat
nilai Cost Function kurang dari 2 pixel. Langkah
terakhir adalah melakukan proses rekonstruksi dengan
metode volume intersection.
3.1. Pengambilan Data Citra
Gambar yang dipakai dalam penelitian ini
diperoleh dengan menggunakan satu kamera digital.
yang diletakkan pada posisi tertentu dengan suatu alat
piring putar sederhana yang diputar secara manual
pada satu sumbu, seperti telihat pada gambar 3.4.
Gambar objek yang diambil ditempatkan pada posisi
dimana bisa terlihat pada setiap posisi kamera. Pada
penelitian ini gambar diambil tiap 10o sampai 1
Proses Estimasi Parameter pada
tiap sudut pandang kamera
Pengambilan
Data Citra 3D
Pendeteksian
Foreground
Rekontruksi Obyek 3D berbasis
Visual Hull (Volume Carving)
Pengkonversian ForeGround ke
Biner (Silhouette)
Pencarian titik yang berpotensial (Harris Corner)
Mencari Titik Korespondensi (RANSAC)
Perhitungan Matrik F
Perhi
tung
an
Cost
Funct
ion
Update Matrik vector kamera
(8X1)
Matrik Rotasi Matrik Translasi
Peminisasian
Cost Function
(Levenberg
Marquardt)
ƒ (proyeksi)
Error proyeksi
(distance)
Cost Funtion (rms error)
√(∑dn/n)
Cost function < 2
dipr
oye
ksik
an
Data titik
korespondensi
Silhouette
Gambar 1
Gambar m
Matrik eksternal
(Pose)
Per
hitu
nga
n
Ma
trik
Ka
me
ra
Matrix E
Epipole
ƒ (SVD)
Matrik
Asimetrik
3
putaran penuh 360o sehingga didapat 36 gambar untuk
masing – masing objek.
Gambar 3.4 Proses pengambilan gambar dengan menggunakan
piring putar
3.2. Pendeteksi Foreground
Proses ini dimaksudkan untuk memisahkan
background dan foreground. Pada penelitian ini proses
ini dilakukan dengan langkah – langkah sebagai
berikut :
Langkah 1 : Membaca Gambar
Langkah 2 : Konversi gambar dari bentuk
warna RGB ke bentuk warna Lab (yang juga
dikenal dengan CIELAB atau CIE L*a*b*).
Ruang warna L*a*b* terdiri dari suatu
lapisan Luminosity ' L*', chromaticity-layer
'a*' menandakan warna yang berada
disepanjang merah sampai hijau, dan
chromaticity-layer 'b*' menandakan warna
yang berada disepanjang biru sampai kuning.
Langkah 3 : Kelompokkan warna di dalam
bentuk 'a*b*' menggunakan K-means
clustering.
Langkah 4 : Beri Label tiap – tiap pixel di
dalam gambar hasil dari K-means.
Langkah 5 : Memisahkan gambar RGB dengan
menggunakan pixel yang telah di beri label
dengan warna sehingga dihasilkan 3 gambar
yang berbeda.
Proses ini disebut juga proses segmentasi yang
berdasarkan pada intensitas warna (derajat keabuan).
Asumsinya objek yang akan dipisahkan cenderung
memiliki intensitas warna yang berbeda-beda dan
masing-masing objek memiliki warna yang hampir
seragam. Untuk dapat melihat intensitas warna ini
penulis representasikan dengan menggunakan
histogram intensitas warna.
Salah satu teknik segmentasi berdasarkan
intensitas warna adalah K-mean clustering. Pada K-
means clustering dilakukan pembagian citra dengan
membagi histogram citra.
Gambar 3.5. Illustrasi proses Clusterisasi dengan K-means
Berikut langkah-langkahnya :
Cari intensitas maksimum dan minimum yang
digunakan dalam citra
Dari intensitas minimum ke maksimum dilakukan
pembagian sejumlah N. N ini menentukan jumlah
objek yang diharapkan ada pada gambar.
Setelah dilakukan pembagian, histogram akan
terbagi menjadi bagian-bagian yang disebut
cluster (kelompok). Kemudian pada citra
dilakukan penelusuran untuk seluruh titik, setiap
titik akan digrupkan ke cluster terdekat sehingga
hasil akhir dari proses ini adalah jumlah warna
pada gambar menjadi N.
Cari hasil rata-rata / mean dari seluruh titik pada
setiap cluster, kemudian mengganti warna seluruh
titik dalam cluster-cluster tersebut dengan rata-
rata dari cluster masing-masing. Ilustrasinya dapat
dilihat pada gambar 3.5.
3.3. Pengkonversian Foreground ke biner
Proses Citra ke Biner merupakan proses
mendapatkan gambar silhouette yang akan dipakai
didalam rekonstruksi. Proses ini dikerjakan dengan
menggunakan tresholding sederhana.
Citra foreground yang didapat kemudian dihitung
nilai threshold global yang akan dipakai untuk
mengkonversi citra foreground ke citra biner. Nilai ini
berkisar antara 0 dan 1. Acuan hitungan mengikuti
metode Otsu[14]. Hasil perhitungan nilai threshold
pada citra ROI adalah 0,4196.
Setelah nilai threshold diketahui, maka citra
foreground dapat diubah menjadi citra biner dengan
acuan nilai yang lebih besar dari threshold menjadi
nilai 1 (warna putih) sedangkan yang di bawah nilai
threshold menjadi nilai 0 (warna hitam).
4
3.4. Proses Estimasi Parameter pada setiap sudut
pandang Kamera
Seperti yang telah diterangkan penulis, bahwa
nilai parameter eksternal dan parameter internal pada
masing – masing sudut pandang sangatlah penting.
Pada penelitian sebelumnya nilai parameter ini
ditentukan dengan kalibrasi kamera terhadap sebuah
papan chekboard yang disetting sedemikian rupa,
sehingga kesimpulan akhir dari penelitian sebelumnya
tidak diketahui apakah sudut putaran papan putar saat
kalibrasi sama dengan sudut saat pengambilan data.
Hal ini disebabkan karena proses rekonstruksi yang
penulis lakukan dalam penelitian ini menggunakan
satu kamera dengan papan putar yang diputar secara
manual. Berbeda jika proses rekonstruksi yang
kalibrasinya dilakukan dengan menggunakan
silhouette, cara ini akan lebih baik seperti yang telah
dilakukan dalam penelitian ini.
Nilai parameter eksternal dan parameter internal
tidak hanya digunakan untuk menghitung visual hull
tetapi juga berhubungan dengan inconsistensi
silhouette urutan gambar yang lain. Inconsistensi
disini biasanya juga disebabkan oleh lemahnya proses
segmentasi. Sehingga proses estimasi parameter pada
penelitian ini penulis lakukan dengan proses Non
Linier yaitu dengan menggunakan titik yang
bersesuian yang dilakukan dengan metode RANSAC,
dan untuk memperoleh hasil yang akurat peda
penelitian ini dilakukan proses minimisasi nilai cost
function pada epipolar tangentcy. Sesuai dengan
urutan penelitian seperti blok diagram, gambar 3.2.
dan gambar 3.3. Penjelasan selanjutnya penulis bahas
pada sub bab 3.4.1 dan seterusnya.
3.4.1. Proses Pencarian Titik Korespondensi Pada
Setiap Tepi Silhouette
Proses pencarian titik korespondensi
berdasarkan pada setiap tepi silhouette melalui
beberapa tahapan. Pertama dilakukan proses
penentuan titik yang berpotensial, yang dilakukan
dengan menggunakan Harris Corner Detection.
Kemudian untuk penentuan titik yang bersesuian
yang dilakukan dengan metode RANSAC, yang
akan dijelaskan lebih lanjut dalam sub bab 3.4.1.1
dan seterusnya.
3.4.1.1. Pencarian Titik Potensial
Pada penelitian ini pertama kita memakai
harris corner untuk mendapatkan titik – titik
potensial pada masing – masing gambar.
Proses ini pada dasarnya mencari area titik
yang mengandung sudut dalam sebuah gambar
dilakukan beberapa tahapan, diantaranya dengan
menentukan sebuah area dx dan dy, Kemudian
dibandingkan terhadap semua area gambar
grayscale. Sehingga dihasilkan titik – titik yang
mengacu sebagai sudut (Corner).
101
101
101
dx ,
dan
111
000
111
'dxdy
dyimageIy
dximageIx
Setelah itu dilakukan proses penghalusan
sudut dengan menggunakan filter Gaussian
dengan ukuran n x m terhadap kuadrat area yang
diperoleh. Kemudian menghitung titik yang
mengandung sudut pada gambar menggunakan
persamaan :
gaussianfilterG
GIyIxIxy
GIyIy
GIxIx
*
2
2
522
2,*.
eps
epsIyIx
IxyIyIxCim
Disini penulis menggunakan sedikit
perubahan algoritma dari algoritma sebenarnya
dari Harris Corner, algoritma Pendekatan
sebenarnya dari harris Corner mengikuti
persamaan berikut [Harris et al, 1988] :
22 **
04.0
IyIxkIxyIyIxC
k
im
Proses selanjutnya adalah mencari local
maximum yang dilakukan dengan proses
morfologi dilatasi pada area yang sudah didapat
dengan harris corner. Dan mencari area yang
sama dengan area sebelum dilakukan dilatasi dan
mencari apakah area yang didapat dengan harris
corner mempunyai harga lebih kecil dari nilai
tresholdnya. Proses ini dituliskan dengan
persamaan :
TreshCCCC imimim &maxmax_
Keterangan :
maxC = Hasil dilatasi pada Harris Corner.
imC = Hasil Harris Corner
Tresh = Konstanta Treshold
5
3.4.1.2. Pencarian Titik Korespondensi
Kemudian kita mencari titik – titik
korespondensi pada masing – masing urutan
gambar. Dalam penelitian ini dipakai metode
RANSAC. Dikarenaan dari fakta yang ada data
gambar yang diambil tidak bisa lepas dari
pengaruh pencahayaan sehingga menjadi kendala
dalam penelitian ini. Kendala lain yang terjadi
dalam proses ini adalah data gambar yang diambil
memiliki kelainan bentuk perspektif geometri
ketika objek diputar, skala yang berbeda dan
sebagainya.
Oleh karena itu penulis menggunakan
algoritma Ransac (Random Sample Consensus)
untuk mendapatkan hasil yang sempurna.
RANSAC merupakan suatu algoritma untuk
pencocokan model yang sempurna dengan
pemilihan suatu set contoh minimum yang
diperlukan untuk model itu. Model Yang berisi
outliers ditolak karena mereka tidak
menghasilkan konsensus cukup.
Algoritma Random Sample Consensus
(Ransac) merupakan algoritma yang diusulkan
oleh Fischler dan Bolles [1]. Algoritma ini
merupakan suatu pendekatan parameter umum
yang dirancang untuk mengatasi suatu kondisi
outlier besar pada data masukan. Tidak sama
dengan beberapa teknik estimasi Robust yang
umum seperti M-estimators dan least-median
square yang telah diadopsi oleh masyarakat visi
komputer dari literatur statistik, RANSAC telah
dikembangkan dari dalam masyarakat visi
komputer.
RANSAC adalah teknik resampling yang
menghasilkan solusi calon dengan penggunaan
pengamatan jumlah nomor minimum (data titik)
yang diperlukan untuk mengestimasi parameter
model dasar. Seperti yang ditunjukkan oleh
Fischler dan Bolles [1], tidak sama dengan teknik
sampling konvensional yang menggunakan
banyak data yang memungkinkan memperoleh
solusi awal dan kemudian memisahkan outliers,
RANSAC menggunakan kemungkinan data
terkecil dan memperbesar data dengan menata
data titik yang konsisten [1].
Adapun secara ringkas algoritma RANSAC
dapat dilihat sebagai berikut :
1. Memilih secara acak jumlah minimum data
titik yang diperlukan untuk menentukan
parameter model.
2. Menentukan berapa banyak data dari semua
titik – titik yang cocok dengan toleransi
yang sudah diketahui.
3. Jika pecahan jumlah inliers melebihi total
jumlah titik yang di-set melebihi threshold
yang sudah diketahui, estimasi ulang model
parameter menggunakan semua inliers yang
dikenali dan selesai.
4. Cara lainnya, mengulangi langkah 1 sampai 3
(maksimum untuk N waktu).
Jumlah iterasi, N, dipilih cukup tinggi untuk
memastikan bahwa kemungkinan p (umumnya
0.99) bahwa sedikitnya salah satu set sampel acak
tidak meliputi suatu outlier. Biarkan U
mendapatkan kemungkinan bahwa semua data
titik terpilih adalah suatu inlier dan uv 1
kemungkinan outlier yang diketahui. N iterasi
dari jumlah titik minimum yang dilambangkan
dengan m diperlukan, di mana
Nmup 11
dan dengan beberapa manipulasi,
mv
pN
11log
1log
3.4.1.3. Perhitungan Matrik F
Berdasarkan epipolar geometri terdapat
lokasi titik yang sama pada dua gambar.
Sehingga korespondensi titik tersebut dapat
dituliskan dalam persamaan :
0'T mFm
Idealnya rank matriks F adalah 2, tetapi
dalam banyak kasus, berkaitan dengan
ketidaktepatan, rank matriks yang diperoleh
sehingga matrik Fundamental 3x3 dapat di
perkirakan dengan langkah sederhana yaitu
dengan n titik yang bersesuaian.
T]33
,32
,31
,23
,22
,21
,13
,12
,11
[
dan,
1
1
''''''
111'
11'
11'
1'
11'
11'
dengan,
0
FFFFFFFFFf
nynxnynynynxnynxnynxnxnx
yxyyyxyxyxxx
A
fA
Dimana A merupakan kumpulan titik – titik
yang bersesuaian mi=[xi,yi,1] dan mi’=[xi’,yi’,1],
dengan i=1,…,n sebagai indek titik yang
bersesuaian. Kemudian matrik f dapat
dipecahkan menggunakan SVD (Singular Value
Decomposition) dari matrik A, jika kita memiliki
sedikitnya 8 titik yang bersesuaian [Davalos,
2008].
TVDUF **
3.4.1.4. Perhitungan Parameter Kamera
Berdasarkan epipolar geometri terdapat
lokasi titik yang sama pada dua gambar.
Sehingga korespondensi titik tersebut dapat
dituliskan dalam persamaan :
6
0'T mEm
Kemudian matrik Essential dapat dihitung
dengan menggunakan
RtE X .
Xt matrik Asimetrik yang dihitung dari
vector translasi zyx ttt ;; menggunakan
persamaan
0
0
0
xy
xz
yz
X
tt
tt
tt
t
Nilai parameter ekternal dan internal kamera,
Semua parameter yang termasuk didalamnya
matrik P, matrik R, matrik t dan focal length
sebagai parameter internal kamera. Dimulai dari
matrik rotasi yang dihitung dari vector rotasi
[X; Y; Z; W] didapat persamaan :
;Y-X-R
XW;YZR
YW;-XZR
XW;-YZR
;Z-X-R
ZW;XYR
YW;XZR
ZW;-XYR
;Z-Y-R
22
3,3
2,3
1,3
3,2
22
2,2
1,2
3,1
2,1
22
1,1
221
22
22
22
221
22
22
22
221
sehingga
3,32,31,3
3,22,21,2
3,12,11,1
RRR
RRR
RRR
R
Sehingga matrik P dapat dihitung dengan
persamaan
1000
3,32,31,3
3,22,21,2
3,12,11,1
z
y
x
t
t
t
RRR
RRR
RRR
P
Parameter eksternal untuk view yang lain
dapat dihitung dengan perklaian matrik yang
Rotasi 100 pada sumbu Z yang di dasarkan pada
aturan tangan kanan. sehingga persamaan P untuk
view yang lain :
n
z
n PinvR
invP *10
0)10(1
Epipole dapat dihitung dengan SVD dari
matrik E mengikuti persamaan :
);3(/
;/
);(,,
112
3,33:,1
eee
VVe
EsvdVDU
3.4.1.5. Perhitungan Cost Function pada Epipolar
Tangency
Proses minimisasi Nilai cost fuction
dilakukaan pada nilai inconsistency pada
silhouette. Karena satu silhouette memiliki m
inconsistency dan silhouette yang kedua memiliki
n inconsistenscy. Dan ini berlaku pada semua set
silhouette maka cost function dihitung mengikuti
persamaan [Forbes, 2003] :
m
i
n
j k
ijkdt1 1
1
0
2cos
Dimana ijkd jarak (error proyeksi) antara
epipolar tangency dan proyeksi garis epipolar
terbalik kearah kamera melalui titik tangency.
Berbeda dengan yang dilakukan oleh [Hernandez
et al, 2007] yang mengukur dengan mencari
consistency silhouette, akan tetapi perhitungannya
tidak efisien. Error proyeksi ijkd dapat diperoleh
dengan persamaan Sampson error untuk MLE
(Maximum Likelihood Estimation) persamaan ini
sama dengan Least Square Error untuk Gaussian
Noise
2
21
2
11
2
12
EmEm
Emmd
T
ijk
Minimisasi nilai cost fuction pada penelitian
ini menggunakan metode Levenberg Marquard.
Metode ini merupakan kombinasi dari dua metode
yaitu metoda Steepest Decent dan Gauss –
Newton. Ketika hasilnya jauh dari yang di
targetkan algoritma ini bertindak seperti Steepest
Decent, lambat tapi dijamin tercover dan ketika
hasilnya dekat dengan yang ditargetkan maka
metode ini bertindak seperti Gauss – Newton.
7
3.4.1.6. Peminimisasian Cost Function dengan
Leventberg Marquardt
Algoritma Levenberg-marquardt merupakan
pengembangan algoritma backpropagation
standar. Pada algoritma backpropagation, proses
update bobot dan bias menggunakan negative
gradient descent secara langsung sedangkan.
Algoritma Levenberg-Marquardt menggunakan
pendekatan matrik Hesian (H) yang dapat
dihitung dengan,
eJH T
sedangkan gradient dapat dihitung dengan,
JJg T
Dalam hal ini J merupakan sebuah matrik
jacobian yang berisikan turunanan pertama dari
error jaringan terhadap bobot dan bias jaringan.
Perubahan pembobot dapat dihitung dengan,
eJIJJX TT 1
sehingga perbaikan pembobot dapat ditentukan
dengan
eJIJJXX
XXX
TT 1
n
kpkpkpkp
n
kkkk
n
kkkk
n
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
x
xe
J
321
3
3
3
2
3
1
3
2
3
2
2
2
1
2
12
3
12
2
12
1
12
Keterangan :
X = fungsi bobot-bobot jaringan dan bias
e adalah vector yang menyatakan semua error
pada output jaringan
μ = konstanta learning
I = matrik identitas
Pada penelitian ini e didapat dari
perhitungan jarak (error proyeksi) antara epipolar
tangency ijkd terhadap seluruh set silhouette.
Seperti yang dijelaskan pada subbab 3.4.1.5.
Dan bobot jaringan X, didapat dari vector
kamera 8x1 yang berisi 4 vektor rotasi dan 4
vektor tanslasi.
Sehingga gambaran algoritma ietrasi yang
dilakukan dalam penelitian ditunjukkan dalam
gambar 3.6
Gambar 3.6 Algoritma Levenberg Marquardt
Penghitungan matrik J dilakukan dengan :
dardidapatyangXdarierrored
eXdx
dxeedJ
11
11:,
*25,0
/
;;;;;;;; 876543211 XXXXXXXdxXX
dardidapatyangXdarierrored
eXdx
dxeedJ
22
22:,
*25,0
/
;;;;;;;; 876543221 XXXXXXdxXXX
Dst;
3.5. Rekonstruksi Objek 3D
Setelah pose (parameter eksternal), parameter
internal (focal length) kamera, dan silhouette
diketahui, proses rekonstruksi berbasis visual hull
dapat dilakukan. untuk mendapatkan model 3D
penulis menjelaskan bahwa hal tersebut dapat
dilakukan dengan menggunakan metode Volume
Carving. Volume Carving ini dilakukan dengan
memotong semua voxel yang berada diluar kerucut
proyeksi silhouette. Seperti yang terlihat pada gambar
3.4. Perpotongan semua kerucut silhouette dari urutan
gambar yang banyak untuk mengestimasi geometri
sebuah objek disebut visual hull [laurentini, 1995,
matusik et al, 2000]
1. Inisialisasi
= 1
X = (8x1) vector kamera
e = (nx1) error proyeksi yang dihitung
dengan pendekatan Sampson terhadap
seluruh silhouette.
S = Sum of Square error n
S
eX = ones(8x1); ef = 1;
2. menghitung matrik J(nx8)
3. Menghitung matrik H
4. Menghitung matrik g
5. Jika (X <= eX) dan (semua e <= ef)
a. Tentukan perubahan pembobot X
b. Mengupdate nilai X = X - X
c. menentukan nilai Sum of Square (S)
d. update nilai :
i. jika nilai S(k) < S(k-1) maka
dikurangi 1
ii. jika nilai S(k) > S(k-1) maka
ditambah 1
e. Kemudian ulangi langkah 2 dengan
error proyeksi yang sudah di update
berdasarkan X yang baru
8
Gambar 3.7 Konsep dasar proses menghitung visual hull dari
persepektif geometri
Untuk mendapatkan model visual hull dari sebuah
silhouette sesuai dengan gambar 3.7. Pertama
dibangun sebuah kubus voxel pada koordinat dunia
dengan ukuran N3. Kemudian dengan bantuan pose
dan internal parameter, masing - masing voxel pada
koordinat dunia di proyeksikan terbalik pada gambar
silhouette. Jika hasil proyeksi tersebut merupakan
pixel background, maka voxel ini ditandai dengan
logika nol atau dihapus (Voting). Algoritma ini
termasuk dalam satu set metode yang disebut
Structure-From-Motion (SFM) [Vincent Fremont et al,
2004]. Hasil dari proses ini yang dilakukan pada satu
gambar dilakukan berulang pada gambar berikutnya.
Sehingga bisa digambarkan seperti gambar 3.8.
Karena proses menghitung visual hull merupakan
reproyeksi dari gambar silhouette menembus kubus
voxel maka batas – batas silhouette sangat
menentukan keakurasian bentuk rekonstruksi objek
3D.
Agar lebih jelas algoritma diatas penulis
kemukakan dengan langkah – langkah sebagai
berikut :
1. Menentukan daerah yang aktif berada didalam
garis proyeksi silhouette
2. Kumpulkan semua voxel yang bersesuaian
dalam masing – masing cell voxel awal
3. Ubah voxel yang tidak berada dalam daerah
aktif menjadi Nol.
Gambar 3.8. Rekonstruksi dari 2 gambar silhouette
4. HASIL DAN PEMBAHASAN
Hasil dari penggunaan silhouette serta proses
perhitungkan parameter external dan parameter
internal yang berhubungan dengan sudut pandang
kamera, dalam proses rekontruksi objek 3D
menggunakan visual hull dijabarkan pada sub bab
berikut.
4.1. Data Citra
Dari proses pengambilan data citra yang
dilakukan dalam penelitian ini seperti yang telah
dijelaskan dalam proses sebelumnya. Diperoleh data
urutan citra sebagai berikut :
Gundul, 36 gambar
Gambar 4.1 beberapa contoh data urutan citra yang telah diambil.
Dari data gambar 4.1 dapat dilihat kualitas citra
yang diperoleh sangat bervariasi. Didalam gambar
masih terdapat bayangan pada bidang piring putar
yang tentunya dipengaruhi oleh faktor pencahayaan.
Dari gambar tersebut juga bisa dilihat bahwa
terdapat perbedaan warna antara backgroundnya
sendiri dengan warna bidang piring putar. Dari
backgroundnya sendiri terdapat degradasi warna
yang sangat terlihat yang kemungkinannya
dipengaruhi oleh faktor pencahayaan. Pada
objeknya juga terlihat pantulan warna biru yang
menjadi warna background dalam penelitian ini
sehingga hal ini akan menjadi kendala dalam proses
mendapatkan silhouette.
4.2. Hasil Pendeteksian Foreground
Hasil pendeteksian warna dari proses clustering
dalam bentuk warna a*b dengan metode K-mean
yang dilakukan terhadap citra dengan model warna
CIE L*a*b, dapat dilihat pada gambar berikut :
Gambar 4.2 Contoh Urutan citra hasil peng-cluster-an dengan K-Mean
Gambar 4.2 menunjukkan bahwa warna
foreground dan background sudah terpisah. Untuk
mencapai ini melalu beberapa tahapan, antara
lain:
1. Pengubahan warna RGB ke warna CIE L*a*b
Untuk mendiskripsikan hal ini penulis jelaskan
dengan histogram warna. Histogram Warna awal
dari salah satu gambar gundul dapat dilihat pada
gambar 4.3.
9
0
1
2
x 104
0 50 100 150 200 250
0
5000
0 50 100 150 200 250
0
5000
10000
0 50 100 150 200 250
Gambar 4.3 Histogram RGB dari objek gundul uasli
Gambar 4.3 menunjukkan warna Biru memiliki
intensitas warna yang lebih tinggi dibandingkan
warna warna lainnya. Sehingga bisa disimpulkan
bahwa warna biru akan sangat mempengaruhi warna
yang lain yang berada pada daerah yang lebih
rendah.
Setelah dirubah kedalam bentuk CIE L*a*b
maka histogram warna berubah seperti terlihat pada
gambar 4.4.
0
5000
0 50 100 150 200 250
0
10000
0 50 100 150 200 250
0
1
2x 10
4
0 50 100 150 200 250
Gambar 4.4 Histogram warna CIE L*a*b dari salah satu objek
gundul
Gambar 4.4 menunjukkan intensitas warna
lapisan Luminosity (L), lapisan chromaticity-layer
'a*', dan chromaticity-layer 'b*' berada pada daerah
yang hampir sama.
2. Proses clustering dengan metode K-Mean
Proses clustering merupakan proses untuk
mengelompokkan warna menggunakan metode K-
Mean. Proses pengelompokan warna bertujuan
untuk memisahkan ruang warna yang berupa lapisan
Luminosity (L) terhadap lapisan chromaticity-layer
'a*', dan chromaticity-layer 'b*'. Hasil dari
pengelompokan warna dengan metode K-Mean
didiskripsikan dengan gambar 4.5
Gambar 4.5 Grafik hasil peng - cluster - an warna
Berdasarkan gambar 4.6 terdapat 3 cluster yaitu
cluster 1(yang diberi warna biru), cluster 2 (yang
diberi warna hijau), dan cluster 3 (yang diberi warna
merah). Sedangkan setiap cluster mempunyai titik
pusat, dimana penentuan titik pusat menggunakan
metode K – Mean seperti yang telah dijelaskan pada
bab sebelumnya.
3. Hasil citra proses clustering
Hasil citra dari peng – cluster – an yang
didapat, akan terlihat seperti gambar 4.6 dan yang
diambil untuk pengolahan selanjutnya dalam
penelitian ini adalah salah satu dari hasil clustering
objects in cluster 1
objects in cluster 2
objects in cluster 3
Gambar 4.6 Hasil cluster warna a*b dari warna L*a*b
dengan K-Mean
4.3. Hasil Pengkonversian Foreground ke biner
Dari data citra foreground yang diperoleh
dilakukan proses treshold sederhana seperti yang telah
10
dijelaskaan dalam bab sebelumnya maka akan
didapatkan haasil sepeerti terlihat pada gambar 4.7
Gambar 4.7 Contoh Urutan silhouette hasil dari proses binerisasi
4.4. Hasil Estimasi Parameter
Untuk melakukan proses rekontruksi obyek 3D
berbasis visual hull maka perlu dilakukan proses
estimasi parameter dengan menggunakan informasi
dari urutan citra, yang biasa dikenal dengan self
calibration. Seperti yang telah dijelaskan dalam bab 3
proses ini melalui beberapa tahapan. Berikut hasil dari
setiap tahapan yang telah dilakukan pada setiap 2
urutan gambar, yang akan dijelaskan pada subbab
berikut ini.
4.4.1. Hasil pencarian titik potensial
Proses pencarian titik potensial ini dilakukan
pada dengan metode Harris seperti yang telah
dijelaskan dalam bab 3. Sehingga diperoleh hasil
sebagai berikut :
Gambar 4.8 Pembentukan corner dengan metode Harris pada
gambar gundul 1
Gambar 4.9 Pembentukan corner dengan metode Harris pada
gambar gundul 2
Di dasarkan pada gambar 4.8 dan gambar 4.9
diketahui bahwa proses estimasi dengan metode
Harris dilakukan pada tiap 2 urutan gambar secara
bergantian terhadap semua data gambar citra 3D.
sehingga didapatkan satu set parameter pada masing
– masing posisi gambar.
Gambar 4.10. Hasil penetuan corner pada gambar gundul 1
Gambar 4.11 Hasil penentuan corner pada gambar gumdul 2
Gambar 4.10 dan gambar 4.11 merupakan hasil
dari deteksi corner yang berdasarkan pembentukan
corner dengan metode Harris pada gambar 4.8 dan
gambar 4.9. Deteksi corner yang diperoleh berupa
titik berwarna merah pada tiap sudut yang terdapat
pada obyek. Penentuan deteksi corner dilakukan
terhadap semua data gambar citra 3D.
4.4.2. Hasil pencarian titik korepondensi
Pertama dicari titik – titik yang dianggap
bersesuaian dengan menggunakan metode
pencocokan sederhana.
Berdasarkan epipolar geometri terdapat lokasi
titik yang sama pada dua gambar. Titik
korespondensi tersebut dapat dituliskan dalam
persamaan :
0'T mFm
Tapi berdasarkan hasil penelitian yang telah
dilakukan msih terdapat error pixel yang sangat
besar. Seperti yang terlihat pada gambar dibawah
ini.
11
0 1 2 3 4 5 6
x 104
0
20
40
60
80
100
120
140
160Error Reproyeksi Pada Gambar 1
Gambar 4.12 Error pixel yang terjadi pada gambar gundul 1
0 1 2 3 4 5 6 7 8 9
x 10-3
0
5
10
15
20
25Error Reproyeksi Pada Gambar 2
Error (pixels)
Jum
lah C
orr
espondin
g P
oin
ts
Gambar 4.13 Error pixel yang terjadi pada gambar gundul 2
Dari gambar 4.12 dan 4.13 menjelaskan bahwa
jumlah titik terdapat sekitar 150 an titik yang
bereputasi baik atau dianggap bersesuaian yang
dimana memiliki error yang sangat besar dengan
error RMS sebesar 217.98 pixel.
Tetapi setelah dilakukan perbaikan dengan
mengunakan metode RANSAC maka didapatkan
data titik sebagai berikut :
-1.5 -1 -0.5 0 0.5 1 1.5 20
10
20
30
40
50
60Error pixel correspondence melalui F
error (Pixels)
Jum
lah T
itik
(P
ixels
)
Gambar 4.14 Error pixel setelah dilakukan perbaikan dengan
metode RANSAC
Dari grafik gambar 4.14 maka dapat di hitung
jumlah titik yang berkorespondensi semakin
berkurang yaitu sekitar 78 titik dengan error RMS
sebesar 4.28
4.4.3. Hasil Peminimisasian nilai cost Function
Proses minimisasi nilai cost funtion dapat
digambarkan dengan grafik root mean square error
proyeksi seperti gambar 4.15
0 5 10 15 20 25 30 35 40 45 500
2
4
6
8
10
12
14
16
18
Iterasi
Rm
s e
rror
Gambar 4.15. Grafik RMS Error Proyeksi hasil iterasi
proses estimasi cost function
Dari grafik diatas dapat dilihat RMS error
proyeksi mengalami penurunan sampai mencapai 1.7
pixel.
4.5. Rekonstruksi Obyek 3D
Hasil dari proses rekonstruksi berdasarkan dari
hasil estimasi parameter kamera yang dilakukan tanpai
meminimisasi cost function dengan RMS error
proyeksi 4,28 pixel, didapatkan hasil seperti yang
terlihat pada gambar 4.16 dan 4.17 hal ini di coba
dengan menggunakan resolusi 2. Dan ukuran voxel
awal 6000003.
Gambar 4.16 Hasil setelah 1 carving
Setelah melalui 3 tahapan pemotongan maka
akan didapatkan hasil seperti gambar 4.16
12
Gambar 4.17 Hasil setelah 3 carving
Dengan posisi kamera seperti terlihat pada
gambar 4.18.
Gambar 4.18. Posisi kamera dalam ruang 3D
Hasil dari proses rekonstruksi pada objek
gundul berdasarkan dari hasil estimasi parameter
kamera yang dilakukan meminimisasi cost function
epipolar tangentcy, didapatkan hasil seperti yang
terlihat pada gambar 4.19 dan 4.20
Gambar 4.19 Hasil Visual Hull dan Posisi Kamera yang dilihat dari
atas
(a)
(b)
Gambar 4.20 Visual Hull objek gundul
(a). Representasi Visual Hull dengan Voxel (Point Cloud),
(b). Representasi Visual Hull dengan surface
5. Kesimpulan dan Saran
Kesimpulan yang diperoleh dari penelitian ini,
antara lain:
1. Metode clusterisasi dengan K – Mean yang
dipakai dalam penelitian ini ternyata menjadi
salah satu cara yang dapat digunakan dalam
memisahkan foreground dan background.
Sehingga dengan cara yang cukup sederhana
hasil dari proses clusterisasi ini dapat dirubah
kebentuk silhouette.
2. Metode Estimasi parameter kamera dengan
menggunakan metode Leventberg Marquardt
yang dipakai dengan menggabungkan seluruh
urutan silhouette, dalam penelitian ini
menjadi sangat efisien, di tunjukkan dengan
RMS error proyeksi mencapai 1.7 pixel.
13
3. Hasil rekonstruksi volume carving dengan
hasil estimasi parameter yang diperoleh
menggunakan metode Leventberg Marquardt
manjadi lebih baik dibandingkan dengan
hasil rekonstruksi berdasarkan parameter
kamera yang di estimasi dengan
menggunakan metode RANSAC untuk
menurunkan nilai cost fuction error proyeksi.
Berdasarkan pengetahuann yang didapat selama
proses penelitian, didapatkan bebrapa saran
sebagai acuan untuk penelitian selanjutnya yang
mungkin bias dilakukan
1. Pada Proses pemisahan foreground dan
background penulis berharap pada penelitian
selanjutnya dapat dilakukan dengan
menggunakan metode yang lain sehingga
menjadi lebih efisien, terutama terhadap
benda yang bergerak.
2. Proses rekonstruksi disini masih berhenti
pada hasil yang berupa point cloud.
Diharapkan penelitian selanjutnya difokuskan
pada pewarnaan voxel.
3. Proses estimasi parameter pada penelitian
selanjutnya dapat difokuskan pada konsep
mirror dan estimasi yang berdasarkan satu
silhouette.
DAFTAR REFERENSI
[1] S. Seitz, Charles R. Dyer, “Photorealistic Scene
Reconstruction by Voxel Coloring”,
Proceedings of Computer Vision and Pattern
Recognition Conference, 1997, pp. 1067-1073.
[2] K. N. Kutulakos and S. M. Seitz, “What Do N
Photographs Tell Us about 3D Shape?” TR680,
Computer Science Dept. U. Rochester, January
1998.
[3] S. Seitz, Charles R. Dyer, “View Morphing”,
Proceedings of SIGGRAPH 1996, pp. 21-30.
[4] M. Levoy and P. Hanrahan, “Light Field
Rendering”, Proceedings of SIGGRAPH 1996,
pp. 31-42.
[5] S. Gortler, R. Grzeszczuk, R. Szeliski, M.
Cohen, “The Lumigraph”, Proceedings of
SIGGRAPH 1996, pp. 43-54.
[6] H. Shum, H. Li-Wei, “Rendering with
Concentric Mosaics”, Proceedings of
SIGGRAPH 99, pp. 299-306.
[7] O. Faugeras, R. Keriven, “Complete Dense
Stereovision using Level Set Methods”, Fifth
European Conference on Computer Vision,
1998.
[8] H. Saito, T. Kanade, “Shape Reconstruction in
Projective Grid Space from Large Number of
Images”, Proceedings of Computer Vision and
Pattern Recognition Conference, 1999, volume
2, pp. 49-54.
[9] N. Max, “Hierarchical Rendering of Trees from
Precomputed Multi-Layer Z-Buffers”,
Eurographics Rendering Workshop 1996, pp
165-174.
[10] J. Shade, S. Gortler, L. He, R. Szeliski, “Layered
Depth Images”, Proceedings of SIGGRAPH 98,
pp. 231-242.
[11] Teresa C. S. Azevedo, João Manuel R. S.
Tavares and Mário A. P. Vaz.” Building external
anatomical structures from images using a single
off-the-shelf camera ”, III International
Congress on Computational Bioengineering,
2007.
[12] A. Laurentini, The visual hull concept for
silhouette-based image understanding, IEEE
Transactions on Pattern Analysis and Machine
Intelligence, 16 (2), 150-162, 1994.
[13] G. Slabaugh, W. B. Culbertson, T. Malzbender
and R. Shafer, A survey of methods for
volumetric scene reconstruction from
photographs, International Workshop on Volume
Graphics, New York, USA, 21-22, 2001.
[14] K. Sande, A Practical Setup for Voxel Coloring
using off-the-shelf Components, Bachelor
Project, Universiteit van Amsterdam,
Netherlands, 2004.
[15] M. Loper, Archimedes: Shape Reconstruction
from Pictures -A Generalized Voxel Coloring
14
Implementation,
http://matt.loper.org/Archimedes/Archimedes_d
ocs/html/ index.html , 2002.
[16] Yasutaka Furukawa, Ponce, “Carved Visual
Hulls for High-Accuracy Image-Based
Modeling”, Proceedings of SIGGRAPH 2005.
[17] Phillip Milne, Fred Nicolls, Gerhard de Jager,
“Visual Hull Surface Estimation”, Proceeding of
Pattern Analysis and Machine Intelligence,
2004.
[18] W. Matusik, C. Buehler, R. Raskar, S. J. Gortler,
and L. McMillan, “Image-Based Visual Hulls,”
Proc. SIGGRAPH 2000, pages 369-374,2000.
[19] R. I. Hartley and A. Zisserman. “Multiple View
Geometry in Computer Vision”. Cambridge
University Press, 2000.
[20] K.-Y. K. Wong. “Structure and Motion from
Silhouettes”. PhD thesis, University of
Cambridge, October 2001.
[21] Keith Forbes. “Calibration, Recognition, and
Shape from Silhouettes of Stone”. PhD thesis,
University of Cape Town, June 2007.
[22] C. Harris & MJ. Stephens. “A Combined Corner
and Edge Detector”. Plessey Research Roke
Manor, Unite Kingdom, 1988.
[23] Rahmat, Rachmad Setiawan, Mauridhi Hery
Purnomo. “Perbandingan Algoritma Levenberg
Marquardt Dengan Metode Backpropagation
pada Proses Jaringan Saraf Tiruan Untuk
Pengenalan Pola Sinyal ElektroKardiograf”.
Seminar Nasional Aplikasi Teknologi Informasi,
Yogyakarta, 2006.
[24] Youngbae Hwang, Jun-Sik Kim, Inso Kweon.
“Silhouette Extraction for Visual Hull
Reconstruction”. IAPR Conference on Machine
VIsion Applications, Tsukuba Science City,
Japan, May 16-18, 2005.
[25] Hui Zhang, Kwan-Yee K. Wong, “Self-
Calibration of Turntable Sequences from
Silhouettes”. IEEE TRANSACTIONS ON
PATTERN ANALYSIS AND MACHINE
INTELLIGENCE, VOL. XX, NO. Y, March 4,
2008.
[26] Fletcher, R., “A Modified Marquardt Subroutine
for Nonlinier Least Square”. Rpt. AERE-R 6799,
Harwell, 1971.