Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vision en Robotica
1er cuatrimestre de 2013
1.
Introducci
on del problema
Una homografa es una transformacion proyectiva que determina una correspondencia entre puntos. El problema que se plantea resolver es el siguiente:
dado un conjunto de puntos xi Pn y su conjunto de puntos correspondientes
x0i Pn , calcular la transformacion proyectiva que lleva xi a x0i . Es decir, calcular h : Pn Pn tal que h (x) = x = Hx. El objetivo es estimar la matriz
H.
2.
Algoritmo de transformaci
on lineal directa
(DLT)
Este metodo sirve para estimar la matriz H antes mencionada.
wi0 xTi
0T
0T
wi0 xTi
yi0 xTi
x0i xTi
donde
xi = (xi , yi , wi ) y 0T = (0, 0, 0)
2. Generar una matriz A, de dimension 2n 9, con las matrices Ai
3. Descomponer A seg
un el SVD:
A = U DV t ,
h1 h2 h3
H = h4 h5 h6
h7 h8 h9
donde h es la u
ltima columna de V . Notar que h es un vector de 9 elementos. Ver la demostracion correspondiente en el apendice A.
3.
=
x
1X
xi
n i=1
0 =
x
1X 0
x
n i=1 i
2. El centroide ser
a el nuevo origen de coordenadas en cadacaso. Es decir,
se
genera un nuevo conjunto de puntos de correspondencia xei xei 0 donde
ei = s (xi x
) y x
e0i = s0 (x0i x
0)
x
con s y s0 escalares que se obtienen como se describe a continuaci
on.
ei y de los x
e0i . Hallamos un escalar
3. Calculamos la norma media de los x
0
s y s tal que al multiplicar
cada uno por la norma media de los puntos
trasladados, el resultado sea 2, es decir:
Si
1X
)k
d =
k(xi x
n i=1
2
queremos que
sd =
entonces
2
s=
d
En forma an
aloga se define:
2
s0 = 0
d
4. Finalmente, los dos conjuntos de puntos hom
ologos son:
2
) ,
ei = (xi x
x
d
e0i
x
2
0 ) con i = 1, ..., n
= 0 (x0i x
d
e yH
e 0 de simiPara aplicar dichas transformaciones se pueden plantear las H
laridad correspondientes. De esta forma, los nuevos puntos quedaran definidos
seg
un
e i
x
ei = Hx
e 0 x0i
x
e0i = H
(1)
(2)
(3)
(4)
4.
RANSAC
(5)
El objetivo entonces es hallar una recta que minimice la suma de las distancias ortogonales al cuadrado, d2i , sujeto a la condicion de que no haya ning
un
punto que se desve de la recta buscada mas alla de una cierta distancia umbral
t, que depender
a del ruido de medicion. Entonces, dado un conjunto de puntos
hom
ologos debemos
1. estimar una recta de ajuste, y
2. clasificar los puntos como inliers y outliers (seg
un t).
Se propone un estimador robusto para elegir los puntos homologos, denominado RANSAC (por RANdom SAmple Consensus), que puede usarse cuando la
proporci
on de outliers es muy grande.
4.1.
a
d
4.2.
Retornando ahora a P2 , volvemos ahora a la formulacion original del problema de correspondencia, planteado al principio de este apunte. En este caso, el
modelo ya no ser
a una recta sino una homografa planar.
Como se mencion
o previamente, el algoritmo tiene una forma iterativa, con
un umbral N en la cantidad de iteraciones. Sin embargo, como se vera a continuaci
on, N ser
a estimado en forma adaptativa, en base a la proporcion de
outliers obtenidos hasta el momento (inicialmente, en base a un dado).
Algoritmo 3 RANSAC
1. Definir un [0, 1] que representa la proporci
on estimada de outliers
asociados al modelo
2. Elegir s pares de correspondencias de puntos no-colineales y estimar la homografa entre dichos pares (por ejemplo, utilizando DLT). En P 2 , alcanza
con s = 4 para fijar los grados de libertad necesarios de H.
3. Para cada par de puntos, calcular la distancia entre estos y los puntos
transformados con H. Si bien en P1 esto se haca directamente con la
distancia ortogonal, en P2 la medida de distancia debe ser redefinida. Por
ello, se define d2i de la siguiente forma:
d2i = d(xi , H 1 xi 0 )2 + d(xi 0 , Hxi )2
donde d(, ) corresponde a la distancia eucldea.
4. Clasificar todos los pares de puntos xi x0i como outliers o inliers en base
a un umbral t, definiendo as el conjunto de consenso S para la iteraci
on
actual, que contendr
a a los inliers. Es decir:
S = xi x0i / d2i < t2
El umbral t est
a definido de antemano y se encuentra tabulado. Para el
caso de P2 , t2 = 5,99 2 (donde se puede tomar = 1).
5. Repetir el proceso N veces, qued
andonos siempre con la H que maximiza
la cantidad de inliers (es decir, que maximiza el cardinal del conjunto de
consenso S asociado a la H actual). Cada vez que se obtenga un H mejor
a la anterior, se debe reestimar y N , seg
un:
#S
n
log(1 p)
N
log(1 (1 )s )
1
A.
Descomposici
on en valores singulares (SVD)
(U x) (U x) =
xt U t U x =
xt Ix = kxk
t
t
U DV t = V DU
U DV t = V D2 V t = V D2 V 1
|{z}
Inn
pues, como
V t V = Inn
entonces
V 1 = V t .
Luego se tiene que:
At A = V D2 V 1
Ahora, si llamamos H = At A, y multiplicamos a izquierda de ambos miembros por V , tenemos que:
HV = V D2 .
Llamando
vi =
v1i
v2i
.
.
vni
es decir,
(Hv1
Hv2 ...Hvn ) =
v11
.
.
.
vn1
v12
v22
.
.
vn2
v1n
.
.
.
.
vnn
d21
0
.
.
0
0
d22
.
0
.
.
.
.
0
0
0
.
.
d2n
d1 0 . . 0
0 d2 0 . 0
.
.
D=
.
.
.
.
0
. . 0 dn
es tal que d1 d2 ... dn , o sea,
d1 0 . . 0
0 d2 0 . 0
.
.
.
.
.
.
0
. . 0 dn
y1
y2
.
.
yn
d1 y1
d2 y2
.
.
dn yn
tal que
q
Como kDyk =
d2i yi2 y =
. es el vector que minimiza la norma
.
i=1
1
kDyk, entonces
v1n
0
v11 v12 . . v1n
.
v22
.
0 .
.
.
. . = .
x = V y = .
.
.
.
. . .
vnn
1
vn1 vn2
vnn
que es la u
ltima columna de la matriz V.
B.
RANSAC
B.1.
Par
ametro t
Entonces, como:
P 2n k
2
= Fn k
2
Zk
2n () d =
tomamos
t2 = Fn1 () 2
En resumen, consideramos que un par de puntos correspondientes se clasifica
como:
inlier si d2 < t2
outlier si d2 t2
En general se pide = 0,95, o lo que es lo mismo P (x es inlier) = 0,95; es
decir que la probabilidad de rechazar un punto que es inlier sea 0,05.
En el caso de la estimaci
on de una recta de ajuste la codimension sera n = 1,
mientras que en el caso de la homografa la codimension sera n = 2. En el
siguiente cuadro se muestran los valores del umbral t2 para = 0,95, para cada
valor de n, dependiendo del error de medicion .
n
1
2
3
B.2.
modelo
recta, F
homografa, camara
tensor
umbral t2
3,84 2
5,99 2
7,81 2
Par
ametro T
B.3.
Par
ametro N
(1 s )
Si
p = P (en N selecciones de s puntos, al menos una no tenga outliers)
entonces
1 p = P (en N selecciones de s puntos, todas tengan outliers)
entonces se tiene que:
N
1 p = (1 s ) .
Tomando logaritmos:
log (1 p) = N log (1 s ) ,
luego
N=
log (1 p)
log (1 p)
=
s
s
log (1 )
log (1 (1 ) )
(6)
En resumen, N es el n
umero de selecciones que se require para asegurar,
con probabilidad p, que al menos una muestra no tiene outliers para un dado
tama
no de muestra s y una dada proporcion de outliers .
B.3.1.
Determinaci
on adaptativa del par
ametro N
k
N.
B.3.2.
Funci
on de costo robusta
P
En vez de minimizar la funcion de costo C = i d2i sobre los inliers otra
posibilidad sera minimizar una funcion de costo robusta que incluya a todos
los datos. Esta funci
on de costo viene dada por:
X
D=
(di )
i
donde
(d) =
d2
t2
12
si
si
d2 < t2
d2 t2