Rafael Molina Movimiento de planos en el espacio
1
Movimiento rígido de planos en el espacio. Proyección en el
plano de la imagen
Rafael MolinaDepto. Ciencias de la Computación e I.A.
Rafael Molina Movimiento de planos en el espacio
2
Contenidos
• Introducción• Proyección de planos en movimiento en la imagen• Homografías• Caso de una traslación
– Mínimos cuadrados– Correlación de fase
• Método directo para la estimación de homografías.• Estimación por Máxima Verosimilitud de una
homografía.• Apéndice: detector de rasgos (esquinas)• Bibliografía
Rafael Molina Movimiento de planos en el espacio
3
I. Introducción
Un plano se mueve con movimiento rígido entre los instantes t y t’.
Calculamos la proyección de dicho plano en ambos instantes, en el plano de la imagen ¿cómo se relacionan las coordenadas proyectadas?.
La relación viene dada por una homografía.
¿Qué métodos existen para estimar homografías?.
Dadas dos imágenes como estimamos los puntos que se corresponden.
Rafael Molina Movimiento de planos en el espacio
4
II. Proyección de planos en movimiento en la imagen.
Recordemos que el desplazamiento 3-D de un objeto rígido en coordenadas cartesianas se modeliza mediante
X’= RX +T
donde R es la matriz de rotación 3x3, T es un vector de traslación 3x1 y X y X’ son las coordenadas en los tiempos t y t’ con respecto al centro de rotación respectivamente.
La matriz de rotación se puede expresar de varias formas, ver [Telkap95], aquí sólo discutiremos el modelo de Euler.
Rafael Molina Movimiento de planos en el espacio
5
(0,1,0)
(0,0,1)
(1,0,0) X1
X2
X3
θ
φ
ψ
θ=90
ψ=90
φ=90
−=
−=
−=
1000cossen0sencos
cos0sen010
sen0cos
cossen0sencos0
001
φφφφ
ψψ
ψψ
θθθθ
φ
ψ
θ
R
R
R
Angulos de Euler en coordenadas cartesianas
Rafael Molina Movimiento de planos en el espacio
6
Si la rotación entre imágenes es infinitesimal, es decir, φ=∆φ, etc, podemos aproximar cos∆φ≈1 y sen∆φ≈∆φ, etc.
∆
∆−=
∆−
∆=
∆∆−=
1000101
10010
01
1010
001
φφ
ψ
ψ
θθ
φ
ψ
θ
R
R
R
∆∆−∆−∆
∆∆−≈
=
11
1
θψθφ
ψφψθφ RRRR
el orden de la multiplicación no conmuta, en general. Sin embargo, bajo rotación infinitesimal y eliminando los términos cruzados de orden superior a uno, no existe diferencia en el orden de la multiplicación.
de donde
Rafael Molina Movimiento de planos en el espacio
7
Observemos que si ∆ψ e ∆θ son nulos sólo estamos rotando en el plano XY.
Es importante analizar lo que significa hacer cero cada uno de los ángulo de rotación.
Notaremos X=(X,Y,Z)t y supongamos que nuestros puntos están sobre un plano, es decir satisfacen
∆∆−∆−∆
∆∆−≈=
11
1
θψθφ
ψφ
ψθφ RRRR
Rafael Molina Movimiento de planos en el espacio
8
aX+bY+cZ=1
La ecuación del movimiento rígido se convierte en
( )
( )cbaTRH
ZYX
HZYX
hhhhhhhhh
ZYX
ZYX
cbaTZYX
RZYX
+=
=
=
+
=
987
654
321
'''
'''
o
con
Rafael Molina Movimiento de planos en el espacio
9
Utilicemos ahora la ecuación de la proyección por perspectiva, las minúsculas notarán coordenadas 2-D, entonces
1.1
'
'''''
87
321
987
321
987
321
IIyhxhhyhxh
fhyhxhfhyhxhf
ZhYhXhZhYhXhfx
ZXf
++++=
++++=
++++==
Donde hemos dividido arriba y abajo por h9f, hemos incluido f’ en los coeficientes de h y hemos vuelto a utilizar h para los nuevos coeficientes
Rafael Molina Movimiento de planos en el espacio
10
Análogamente para la coordenada y en el plano de la imagen tenemos
2.1
'
'''''
87
654
987
654
987
654
IIyhxhhyhxh
fhyhxhfhyhxhf
ZhYhXhZhYhXhfy
ZYf
++++=
++++=
++++==
donde, de nuevo, hemos dividido arriba y abajo por h9f, hemos incluido f’ en los coeficientes de h y hemos vuelto a utilizar h para los nuevos coeficientes.
Rafael Molina Movimiento de planos en el espacio
11
Volvamos a la ecuación de la proyección
=
=
ZYX
HZYX
hhhhhhhhh
ZYX
987
654
321
'''
Podríamos suponer que las imágenes correspondientes a los instantes t y t’ se observan con la misma distancia focal f, tendríamos entonces
=
fZfYZfX
hhhhhhhhh
fZ
fZfYZfX
fZ /
/'/''/'
'
987
654
321
o
Rafael Molina Movimiento de planos en el espacio
12
=
fZfYZfX
hhhhhhhhh
ZZ
fZfYZfX
//
''/''/'
987
654
321
si las distancias focales fuesen distintas tendríamos
=
fZfYZfX
hhhhhhhhh
fZZf
fZYfZXf
//
''
''/'''/''
987
654
321
Rafael Molina Movimiento de planos en el espacio
13
Lo que estamos diciendo, con los ejemplos anteriores, es que si tenemos un conjunto de N puntos de forma que las coordenadas (x’i,y’i,ω’i) y (xi,yi,ωi) i=1,..., N se corresponden por una homografía podremos decir que los vectores
(x’i,y’ i,ω’i)t y H(xi,yi,ωi)t son paralelos pero no iguales.
Es muy importante tener en cuenta también que no es necesario que todos los puntos tengan los mismos valores de ωi ni de ω’i.
Rafael Molina Movimiento de planos en el espacio
14
III. HomografíasNuestro objetivo se ha convertido en encontrar una matriz H de forma que se cumplan las ecuaciones II.1 y II.2anteriores.Este tipo de matriz H que como hemos visto tiene ocho parámetros desconocidos recibe el nombre de homografía. Como sabemos, la ecuación
xx' Hyx
hhhhhhhhh
yx
=
=
=
ωω 987
654
321
'''
debe entenderse como que los vectores x’ y Hx son paralelos (proporcionales). Veamos algunos ejemplos de homografías
Rafael Molina Movimiento de planos en el espacio
15
Imagen original Rotación XY, negros puntos sin datos
Rafael Molina Movimiento de planos en el espacio
16
Rotación XZ, negros puntos sin datos
Rotación YZ, negros puntos sin datos
Rafael Molina Movimiento de planos en el espacio
17
Rotación XYZ, negros puntos sin datos
Rafael Molina Movimiento de planos en el espacio
18
IV. Caso de una traslaciónIV.1 Mínimos cuadrados
Supongamos que dos imágenes fn y fn+1están relacionadas por la siguiente ecuación
fn(x,y) = fn+1(x+d1,y+d2)
Es obvio que este desplazamiento entre imágenes es un tipo de homografía. Su estimación la vamos a abordar usando correlación cruzada y correlación de fase.
Comencemos analizando la correlación cruzada. Podemos plantear le problema siguiente:
Rafael Molina Movimiento de planos en el espacio
19
Encontrar d1 y d2 que cumplan
( )
( )( )∑∑
∑∑
∑∑
++−
+++=
++−=
+
+
+
x ynn
x ynndd
x ynndd
dydxfyxf
dydxfyxf
dydxfyxfdd
),(),(2
),(),(minarg
),(),(minarg,
211
212
12
,
2211,21
21
21
que bajo la hipótesis de constancia de energía en las imágenes se convierte en
( )∑∑ ++= +x y
nndd dydxfyxfdd ),(),(maxarg, 211,21 21
que puede calcularse fácilmente calculando la correlación entre las dos imágenes y tomando como valor aquel que tiene máxima correlación.
Rafael Molina Movimiento de planos en el espacio
20
Un ejemplo muy sencillo en Matlab ilustra la idea
x=[1:128];
y=zeros(1,128); y(50:80)=1;
yd=zeros(1,128); yd(60:90)=1;
% Ya tenemos una señal y su desplazada
fy=fft(y); fyd=fft(yd); cfy=conj(fy);
correfft=cfy.*fyd;
correlacion=real(ifft(correfft));
% hemos calculado la correlación
plot(x,correlacion);
Rafael Molina Movimiento de planos en el espacio
21
[maximo,indice]=max(correlacion)
% indice -1 es el desplazamiento que lleva y a yd es decir % maximiza en n corr(n)=sum_x y(x+n)yd(x)
% si ahora queremos calcular la correlación máxima con %corr(n)=sum_x y(x)yd(x+n) y por tanto calcular el %desplazamiento de yd a y procedemos como sigue
fy=fft(y); fyd=fft(yd); cfyd=conj(fyd);
correfft=fy.*cfyd; cor=real(ifft(correfft));
plot(x,cor);
[maximo,indice]=max(cor)
%(indice -1)-128 es ahora el resultado que buscamos
Rafael Molina Movimiento de planos en el espacio
22
Antes de abandonar esta sección es importante tener en cuenta dos aspectos válidos tanto para este método como para muchos otros
• Las imágenes de las que disponemos son de una resolución dada y el cálculo de los desplazamientos se hacen a esa resolución.
•No obstante, podemos hacer los cálculos a mayor resolución sin más que interpolar la imagen a una resolución dada.
Rafael Molina Movimiento de planos en el espacio
23
IV.2 Correlación de faseSupongamos de nuevo que tenemos dos imágenes fn y fn+1están relacionadas por la siguiente ecuación
fn(x,y) = fn+1(x+d1,y+d2)
Observadas en 0 ≤ x ≤ N-1 y 0 ≤ y ≤ M-1. Teniendo en cuenta las propiedades de la transformada de Fourierpodemos escribir
+−=
+++−++=
+−=
∑∑
∑∑
+
++
Mvd
NudivuF
Mdyv
Ndxuidydxf
Mvy
NuxiyxfvuF
n
x yn
x ynn
21
21211
11
2exp),(
)()(2exp),(
2exp),(),(
π
π
π
Rafael Molina Movimiento de planos en el espacio
24
Por tanto, la diferencia de la fase de las transformadas de Fourier de las imágenes en los instantes n+1 y n satisfacen
( ) ( )
+=− + M
vdNudvuFvuF nn
211 2),(arg),(arg π
Si tenemos en cuenta que la correlación cruzada entre las imágenes n y n+1 se define como
cn,n+1(x,y)=fn+1(x,y)**fn(-x,-y)
donde ** denota convolución, podemos calcular la transformada de Fourier obteniendo
Rafael Molina Movimiento de planos en el espacio
25
Cn,n+1(u,v)=Fn+1(u,v)xFn*(u,v))
normalizando por su magnitud obtenemos
),(),(),(),(),(
*1
*1
1,vuFvuFvuFvuFvuC
nn
nnnn
+
++ =
si las imágenes están relacionadas por una traslación, los resultados anteriores conducen a
+−=+
Mvd
NudivuC nn
211, 2exp),( π
Cuya transformada de Fourier inversa produce un uno en la posición (d1,d2) y cero en las restantes.
Rafael Molina Movimiento de planos en el espacio
26
Dos aspectos son importantes a destacar:
• Esta técnica es aplicable a estimación de movimiento usando block-matching. Basta calcular la correlación normalizada con los posibles bloques candidatos y elegir el mayor.
• El método exige que el desplazamiento sea múltiplo de un píxel en cada dirección por lo que puede ser necesaria la interpolación previa de las imágenes para aumentar la resolución.
Rafael Molina Movimiento de planos en el espacio
27
V. Método directo para la estimación de homografías.
1'
87
321
++++=yhxhhyhxhx
1'
87
654
++++=yhxhhyhxhy
Recordemos las ecuaciones de correspondencia en coordenadas no homogéneas (cartesianas)
Rafael Molina Movimiento de planos en el espacio
28
( ) 32187 '1 hyhxhxyhxh ++=++
65487 ')1( hyhxhyyhxh ++=++
tenemos por tanto,
de donde
=
−−−−
''
''1000''0001
8
7
6
5
4
3
2
1
yx
hhhhhhhh
yyxyyxyxxxyx
Rafael Molina Movimiento de planos en el espacio
29
si ahora disponemos de un conjunto de puntos (xi,yi) y sus correspondientes (xi’,yi’) y notamos
h=(h1, h2, h3, h4, h5, h6, h7, h8)t y xi’=(xi’,yi’)t
'
'''1000
''0001
i
i
x
x
=
=
−−−−
hA
hyyxyyxyxxxyx
i
iiiiii
iiiiii
o
si tenemos ahora N≥4 observaciones y definimos las matrices
podemos escribir
Rafael Molina Movimiento de planos en el espacio
30
=
=
'x
'x
N
1
MM bA
AA
N
1
podemos resolver para calcular la homografía
2min arg bAhh h −=
observemos que necesitamos al menos cuatro puntos y que el modelo de ruido que estamos suponiendo es
b=Ah+ε
que no se corresponde con errores en las observaciones de las coordenadas
Rafael Molina Movimiento de planos en el espacio
31
987
321'hyhxhhyhxhx
++++=
987
654'hyhxhhyhxhy
++++=
¿qué ocurre si no queremos normalizar con h9=1?, podríamos utilizar
e imponer alguna restricción adicional.
( ) 321987 ' hyhxhxhyhxh ++=++
654987 ')( hyhxhyhyhxh ++=++
Tendríamos, por tanto,
Rafael Molina Movimiento de planos en el espacio
32
de donde
=
−−
−−−−
00
''
''1000''0001
9
8
7
6
5
4
3
2
1
hhhhhhhhh
yx
yyxyyxyxxxyx
Rafael Molina Movimiento de planos en el espacio
33
Si ahora disponemos de un conjunto de puntos (xi,yi) y sus correspondientes (xi’,yi’) y notamos
h=(h1, h2, h3, h4, h5, h6, h7, h8,h9)t
donde B se define a partir de la ecuación de la página anteriorde forma similar a A para el caso de la normalización h9=1, incluyendo ahora, por ejemplo la condición ||h||2=1.
De nuevo elmodelo de ruido en Bh no es realista y la resolución de este problema es uno de los objetivos de la estimación por máxima verosimilitud.
podemos resolver un sistema de la forma
2min arg Bhh h=
Rafael Molina Movimiento de planos en el espacio
34
VI. Estimación por Máxima Verosimilitud de una homografía.
Observemos que el método que hemos estudiado antes no corresponde a ningún modelo realista en el proceso de observación de los puntos importantes en las dos imágenes, es decir, el ruido en las observaciones no es tenido en cuenta correctamente. Para aliviar este problema podemos buscar la homografía H que minimizar la suma de los cuadrados de las distancias hacia delante y atrás de la función de transferencia, es decir la función C definida mediante
( )∑ −+=i
iiii xHxdHxxdC )',(),'( 122
Rafael Molina Movimiento de planos en el espacio
35
donde xi y xi’ son los puntos que se corresponden en las dos imágenes y d2(xi’ ,Hxi) mide la distancia euclídea entre los puntos en coordenadas no homogenéneas, es decir, los dados por las ecuaciones II.1 y II.2 anteriores e igualmente para la distancia d2(xi, H-1xi’).
Gráficamente,
xx’
d’
H
H-1d
Rafael Molina Movimiento de planos en el espacio
36
Este error se minimiza con respecto a los ocho parámetros desconocidos. Está más cerca de minimizar los errores en las observaciones, pero todavía no es el modelo correcto de ruido.
Veamos cual sería la aproximación de máxima verosimilitud de la matriz H.
Dado un punto sin ruído x es razonable suponer que la distribución del correspondiente punto observado x viene dada mediante
( ) ( )
−+−−= 2
22
2exp
21)Pr(
σyyxx
πσx|x
Rafael Molina Movimiento de planos en el espacio
37
Si suponemos que existe una correspondencia entre los puntos sin ruido xi y xi’ i=1,...,N y que los errores en las observaciones son incorrelados tendremos
( )( ) )'Pr()Pr(,...,1,'Pr iiiiii x|'xx|xx,x Π== Ni
minimice que
i puntos los todospara cumpliendo H homografía lay ' de sestimadore '
987
654
987
311
hyhxh
hyhxh'y
hyhxh
hyhxh'x
yy
i
^
i
^i
^
i
^
i
^
i
^
i
^i
^
i
^
i
^
++
++=
++
++=
iii
^
i
^
xxxx
Nuestro objetivo será, por tanto, encontrar
Rafael Molina Movimiento de planos en el espacio
38
∑
−+
−+
−+
−=
ii
^
ii
^
ii
^
ii
^
i yyxxyyxxL2222
'''
Observemos que tenemos que estimar 8 parámetros de la homografía y 2N parámetros de lospuntos que cumplen la ecuación de la homografía.
Gráficamente el modelo de estimación corresponde a
x x’ d’
H-1d
Hi
^
x'
^
x
Rafael Molina Movimiento de planos en el espacio
39
Veamos ahora con un ejemplo como estimamos una homografía utilizando máxima verosimilitud.
La imagen de la derecha se obtiene de la izquierda por una rotación del centro de la imagen, es, por tanto, una homografía.
Rafael Molina Movimiento de planos en el espacio
40
El paso primero es calcular en cada imagen los rasgos (básicamente el detector de esquinas de Harris).
A continuación para cada rasgo de la imagen izquierda construimos una ventana de tamaño 5x5 y buscamos en la imagen de la derecha, dentro de una región de búsqueda, todas las ventanas 5x5 centradas en los rasgos que se le pueden asociar, a continuación nos decidimos por el rasgo que mejor realiza el ajuste (por ejemplo por correlación cruzada).
mejor ajuste
Rafael Molina Movimiento de planos en el espacio
41
La imagen siguiente muestra la imagen primera con una línea que une el ajuste que se le ha hecho a cada rasgo de la primera imagen con el correspondiente de la segunda. Como vemos no hay un mismo modelo para todos los rasgos (no hemos calculado valores numéricos)
Ahora aplicamos el algoritmo RANSAC:
Rafael Molina Movimiento de planos en el espacio
42
Tomamos muestras de cuatro puntos en la imagen primera y sus correspondientes en la segunda, les calculamos la homografía asociada, analizamos cuantas correspondencias se ajustan correctamente (diferencia menor que un umbral) y elegimos a continuación la homografía que mayor número de ajustes correctos proporciona. El resultado se muestra en la imagen siguiente:
La homografía obtenida es el punto inicial para obtener la solución de máxima verosimilitud.
Rafael Molina Movimiento de planos en el espacio
43
Apéndice: Detección de EsquinasApéndice: Detección de Esquinas
Objetivo: capturar estructuras de esquinas en patrones de intensidades. Su estudio puede ser sumamente interesante, por ejemplo, en secuencias de imágenes.
esquina unaen estamos 0, Sifrontera unaen estamos 0y 0 Si
planaregión unaen estamos 0 Si0
0forma la de positiva dasemidefini matriz una a ablediagonaliz será que
)1.(
matriz la osconsideram vecinosunosy genérico
píxelun Para .),( espacial gradiente el osConsiderem
21
21
21
2
1
2
2
>=>
==
=
∑∑∑∑
λλλλ
λλλ
λ
AEEEEEE
C
Qp
EE
yyx
yxx
yx
Rafael Molina Movimiento de planos en el espacio
44
Algoritmo para la detección de esquinasAlgoritmo para la detección de esquinas
La entrada está formada por la imagen I, el umbral para el menor autovalor, τ, y una ventana cuadrada de lado 2N+1
• Calcular el gradiente de la imagen I,• Para cada punto p:
• Calcular la matriz C definida en (A.1) para la ventana de tamaño (2N+1)x(2N+1)
• Calcular λ2 , el menor autovalor de C,• Si λ2 > τ salvar las coordenadas de p en una lista L,
• Ordenar los elementos de L en orden decreciente de λ2
• Sobre la lista L, para cada píxel borrar todos sus vecinos que aparezcan en L.
Rafael Molina Movimiento de planos en el espacio
45
Notas sobre el algoritmos:
La ventana cuadrada suele ser de tamaño 3x3 o 5x5 alrededor del píxel q.
Observa que para cada píxel q la matriz C se puede escribir como
( )yxy
x
yyx
yxx EEEE
EEEEEE
C
=
= ∑∑∑
∑∑q de vecinospixeles
2
2
y que hemos suprimido, por comodidad, que la evaluación de las derivadas Ex y Ey se hace en el píxel vecino que estemos considerando. Es decir según hemos dicho antes en 9 u 25 píxeles.
Rafael Molina Movimiento de planos en el espacio
46
Observa que la matriz C es semidefinida positiva ya que
( ) ( ) ( ) 0 ≥
∀
ba
EEEE
baba yxy
x
y por tanto sus dos autovalores son no negativos.
Si un autovalor fuese cero o casi cero podríamos decir que en la vecindad del punto q casi todas las derivadas Ex y Eyvalen, salvo una constante de proporcionalidad, lo mismo y por tanto no estaríamos en una esquina.
Por último, se puede usar como estimación de las derivadas espaciales Ex y Ey en las direcciones x e y en el punto (x,y), f(x+1,y)-f(x,y) y f(x,y+1)-f(x,y) respectivamente, aunque es mejor realizar un alisamiento previo.
Rafael Molina Movimiento de planos en el espacio
47
Algoritmo de Plessey Algoritmo de Kithen & Rosenfeld
Algoritmo Susan Algoritmo de Mokhtarian
Rafael Molina Movimiento de planos en el espacio
48
Bibliografía
•D.P. Capel, ‘Image mosaicing and super-resolution’, Ph.D. Dissertation, University of Oxford, 2001.
•R.I. Hartley y A. Zisserman, ‘Multiple view Geometry in Computer Vision’, London, U.K. Cambridge University Press.
•Tekalp, A.M., (1996), ‘Digital Video Processing’, Prentice-Hall.
Top Related