Tesi Robotica Analisi, progettazione e implementazione... | Page 34
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 34 — #34
i
34
i
1. APPROCCIO CLASSICO
stereo reconstruction se si hanno esattamente due camere, multiview reconstruction nel caso generale. Risolvendo questo problema per un insieme di punti si
può ottenere una nuvola sparsa di punti 3D della scena, utile ad esempio in applicazioni di navigazione autonoma, oppure per generare nuove viste sintetiche
di una scena catturata da una certa posizione.
Formalmente abbiamo un insieme di M camere calibrate e in posizioni note che
osservano il medesimo punto 3D w e le relative proiezioni 2D nelle M immagini
M
{xi }i=1
M
log p (xi |w, Λi , Ωi , τi )
ˆ
wM L = argmax
w
i=1
Questo problema di ottimizzazione non può essere risolto in forma chiusa, quindi
passiamo alle coordinate omogenee per individuare una buona stima iniziale da
raffinare con algoritmi iterativi. In coordinate omogenee la relazione tra il punto
3D w e la i-esima proiezione sull’immagine è data da
i
u
i
i
i
ω1,1 ω1,2 ω1,3 τx
xi
v
i
i
i
i
λi yi = ω2,1 ω2,2 ω2,3 τy
w
i
i
i
i
1
ω3,1 ω3,2 ω3,3 τz
1
dove xi e yi sono le coordinate normalizzate del punto sull’immagine i. Dei
i
terminiamo il valore di λi utilizzando la terza equazione λi = ω3,1 u + ω3,2 v +
i
i
ω3,3 w + τz e la andiamo a sostituire nelle altre due ottenendo
u
i
i
i
i
i
i
i
i
ω1,1 ω1,2 ω1,3 τx v
ω3,1 u + ω3,2 v + ω3,3 w + τz xi
= i
i
i
i
i
i
i
i
ω2,1 ω2,2 ω2,3 τy w
ω3,1 u + ω3,2 v + ω3,3 w + τz yi
1
Si possono riorganizzare le equazioni in modo da ottenere due vincoli lineari per
le tre variabili w = [x, y, z]
u
i
i
i
i
i
i
i
ω3,1 xi − ω1,1 ω3,2 xi − ω1,2 ω3,3 xi − ω1,3
τ i − τz xi
v = x
i
i
i
i
i
i
i
i
τy − τz yi
ω3,1 yi − ω2,1 ω3,2 yi − ω2,2 ω3,3 yi − ω2,3
w
Mettendo assieme i vincoli per ogni camera e risolvendo per w nel senso dei minimi quadrati otteniamo una buona stima iniziale che va raffinata con un algoritmo
di ottimizzazione iterativo per massimizzare la funzione obiettivo originale.
i
i
i
i