Professional Documents
Culture Documents
Tesis de grado presentada como requisito parcial para optar al tı́tulo de:
Magister en Ciencias Matemática Aplicada
Director:
Ph.D. Jorge Mauricio Ruiz Vera
Lı́nea de Investigación:
Procesamiento de imágenes y matemática aplicada
Universidad Nacional de Colombia
Facultad de Ciencias, Departamento de Matemáticas
Bogotá, Colombia
2011
5
Resumen
Se presentará un modelo para determinar la distancia real entre cualquier par de
puntos de una imagen fotográfica de una escena. Por lo general, el objetivo de
estas imágenes es recrear escenarios 3D en donde el usuario pueda navegar en una
dirección de visualización arbitraria. Esta aplicación se puede tener en cuenta en la
robótica, la escena de un crimen (ciencias forenses) e incluso ser considerada como
herramienta de medición en bienes raı́ces. Pero al momento de querer determinar
las distancias, surgen dificultades como la orientación de las cámaras y el número
de fotografı́as a considerar, razón por la cual se recurre al uso de la geometrı́a
epipolar (base de la estereoscopı́a) y de los ángulos de Euler. El modelo consiste
en un sistema de ecuaciones no lineales que es resuelto por métodos de región de
confianza. Resultados numéricos se presentan para diferentes situaciones.
Palabras clave: Estereoscopı́a, Geometrı́a epipolar, Ángulos de Euler, Cali-
bración, Correspondencia, Métodos de región de Confianza, Triangulación.
Abstract
It will be presented a model to determine the distance between any pair of points
of a photographic image from one scene. In general, the objective of this kind of
images is to recreate 3-D scenes where the user can navigate over any direction
of display. This application is used in robotic, crime scenes (forensic science) and
even it can be used like a measure tool in real state. However, at the moment
of determining the distances, there are difficulties like the orientation of each
camera and how many pictures we need to consider. Those are the reasons to use
epipolar geometry (that is the base of 3-D imaging) and Euler angles. This model
consists of a non-lineal equations system that is solved by trust-region methods.
Numerical results are presented for different situations.
Keywords: Stereoscopy, Epipolar geometry, Euler angles, Calibration, Cor-
respondence, Trust-region methods, Triangulation
6
Índice general
1. Introducción 9
1.1. Elementos de una Imagen. . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1. La proporción geométrica y la medición de alturas. . . . . 11
5. Conclusiones 47
B. Métodos Numéricos 55
B.1. Método de Región de Confianza Dogleg . . . . . . . . . . . . . . . 55
B.2. Método de Mı́nimos Cuadrados de
Levenberg-Marquardt . . . . . . . . . . . . . . . . . . . . . . . . . 56
1. Introducción
Básicamente cuando uno observa una imagen se encuentra con varias señales
visuales como la convergencia de lı́neas rectas, los efectos de sombreado, el retro-
ceso de patrones regulares y las sombras que son procesadas por el cerebro para
recuperar la información coherente sobre la escena o imagen real.
Lı́neas paralelas entre sı́ en la escena real (como los cuadros en un piso) se visual-
izan como lı́neas convergentes en una imagen que se cortan en un punto llamado
punto de fuga. Esto es válido para cualquier conjunto de lı́neas, siempre que sean
paralelas entre sı́ en la escena. Dos o más puntos de fuga alineados definen una
lı́nea de fuga, tales como el horizonte, que define el nivel de los ojos del espectador
en la imagen.
Estas pistas visuales son utilizadas por los artistas en sus pinturas, en una técnica
llamada perspectiva lineal inventada en la segunda década del siglo XV en Floren-
cia, por Filippo Brunelleschi. Durante la siguiente década comenzó a ser utilizada
por los pintores innovadores como la mejor forma de transmitir la ilusión de una
escena tridimensional sobre una superficie plana. En los siglos XVII y XVIII, una
serie de matemáticos como Desargues, Pascal, Taylor y Monge se interesó por
la perspectiva lineal, sentando ası́ las bases de la geometrı́a proyectiva moderna.
La geometrı́a proyectiva puede ser considerada como una herramienta poderosa
para la modelización de las reglas de la perspectiva lineal en un marco métrico o
algebraico.
1.1 Elementos de una Imagen. 11
(la altura de la cabina telefónica) puede ser conocida, o puede ser medida en
in situ(basándose en las estimaciones de alta calidad de cantidades palpables,
como la temperatura del aire, humedad, velocidad del viento, la radiación y la
temperatura del agua) y de esta manera la altura de la gente en la foto se puede
calcular en términos absolutos.
En general, la forma en la que un artista determina la ubicación de los puntos de
un espacio tridimensional en el plano de la imagen, se hace por medio de rayos
visuales rectos desde un punto en el espacio hacia el centro óptico(para el caso
del pintor su ojo), tal y como sucede con la cámara fotográfica. Este proceso
puede ser descrito matemáticamente por una matriz de proyección P que puede
ser calculada a partir de los parámetros externos e internos de la cámara(en otras
palabras parámetros que se encuentran determinados entre el objeto a pintar o
1.1 Elementos de una Imagen. 13
0
Figura 2.1.1.: Transferencia de un punto x en una imagen a un punto x en la
segunda imagen via el plano π.
20 2 Conceptos y Técnicas de la Visión Estereoscópica
Condición de Correspondencia
0
Hasta este punto se habı́a considerado la función x 7→ l definida por F . Ahora
podemos exponer una propiedad importante de la matriz fundamental.
La matriz fundamental satisface la siguiente condición: Para cualquier par de
0
puntos correspondientes x ↔ x en dos imágenes se tiene
0
(x )T F x = 0
0 0
Esto es cierto, dado que si dos puntos x y x corresponden, entonces x pertenece
0
a la lı́nea epipolar l = F x correspondiente al punto x. En otras palabras,
0 0 0
0 = (x )T l = (x )T F x.
0
Por el contrario, si puntos en las imágenes satisfacen que (x )T F x 6= 0 entonces las
semi-rectas definidas por estos puntos son coplanares y esta es condición necesaria
para que estos puntos sean correspondientes.
Diversas variaciones de este método pueden ser posibles. Por ejemplo, si las
cámaras están calibradas, entonces basta con calcular una matriz esencial de
proyección en lugar de la matriz fundamental. Además, es posible utilizar in-
formación acerca del movimiento de la cámara, las limitaciones de la escena o
una calibración parcial de la cámara para obtener mejoras en el momento de la
reconstrucción.
2.2.1. Triangulación
0 0
Dadas las matrices de cámara P y P , sean x y x dos puntos que satisfacen la
0
restricción epipolar (x )T F x = 0. Como se mostró en la sección 2.1, esta condi-
ción puede ser interpretada geométricamente en termino de que las semi-rectas
0
corresponden a los dos puntos en las imágenes, en particular esto significa que x
pertenece a la lı́nea epipolar F x y a su vez que las dos semi-rectas de los puntos
en las imágenes están en el mismo plano epipolar, es decir, que los dos centros de
las cámaras se encuentran en un mismo plano. más importante aun, dado que las
dos semi-rectas se encuentran en el mismo plano, ellas se cortan en algún punto
X. Esto se observa en la Figura 2.2.1.
Los únicos puntos en el espacio tridimensional que no pueden ser determinados
desde sus imágenes son puntos sobre la lı́nea de base entre las dos cámaras. En
2.2 Reconstrucción Tridimensional de la Escena 23
este caso, las semi-rectas son colineales y coinciden con la lı́nea de base. Por lo
tanto, el punto X no puede ser determinado de forma única.
24 2 Conceptos y Técnicas de la Visión Estereoscópica
3. Descripción del Problema
Figura 3.1.1.: Estereograma hecho con una cámara digital común y corriente.
Con el fin de poder determinar la distancia entre los objetos de la imagen, debemos
hacer la correspondencia de un punto en el espacio tridimensional de un objeto
con los puntos en cada una de las imágenes captadas que identifican ese objeto
(ver Figura 3.1.2). Para tal fin, se debe definir un sistema de coordenadas global
y una transformación lineal, la cual envı́a las coordenadas de cada punto de
calibración desde el sistema de coordenadas de una cámara al sistema global y
con ello poder identificar cada uno de los puntos en las cámaras.
A partir de esto, se puede establecer que si las rotaciones son escritas en términos
de las matrices de rotación D, C y B donde: D realiza una rotación de los ejes
alrededor del eje z, C alrededor del eje x0 y B alrededor del eje z 0 , y por lo tanto
en términos de una rotación general R(ψ, θ, φ) puede ser escrita de la siguiente
manera
R(ψ, θ, φ) = BCD
cos ψ sin ψ 0 1 0 0 cos φ sin φ 0
= − sin ψ cos ψ 0 0 cos θ sin θ − sin φ cos φ 0
0 0 1 0 − sin θ cos θ 0 0 1
cos φ cos ψ − sin φ cos θ sin ψ sin φ cos ψ + cos φ cos θ sin ψ sin θ sin ψ
= − cos φ sin ψ − sin φ cos θ cos ψ − sin φ sin ψ + cos φ cos θ cos ψ sin θ cos ψ
sin φ sin θ − cos φ sin θ cos θ
tal y como vemos en la Figura 3.1.5, puesto que la semi-recta de proyección puede
proyectarse de manera indefinida en el espacio. En otras palabras, la distancia
radial d puede tener cualquier valor.
En el caso de tener dos cámaras es posible identificar las posición de los puntos,
pues las semi-rectas de proyección definidas por el centro de cada cámara y el
punto de observación coincidirán. Como se menciono anteriormente, además de
no encontrarse alineadas las cámaras, es posible que tampoco estén ubicadas
en la misma posición (como cuando son tomadas desde un trı́pode) por lo que
además de recurrir a la transformación de Euler se hace necesario realizar una
traslación con respecto al sistema coordenado elegido de una de las cámaras. Una
30 3 Descripción del Problema
vez orientadas la cámaras se procede a ubicar puntos de calibración entre los que
se encontraran los puntos a los cuales deseamos determinar su distancia.
−
x→ −→ −→
B = R(ψ, θ, φ) · xA + t . (3.1.1)
El vector −
x→A denota la posición de algún punto con respecto al sistema de refer-
encia de la cámara A. Simplemente, se tiene un punto en el sistema de referencia
A entonces se puede usar (3.1.1) para describir el mismo punto en el sistema de
referencia B, donde R(ψ, θ, φ) representa a la Matriz de transformación de Euler.
Una vez alineadas y ubicadas las cámaras se emplearán las coordenadas esféricas
(d, α, β) para describir los puntos de calibración en el sistema global. Para cada
punto de calibración se desconoce la coordenada radial d pero es posible deter-
minar los ángulos α y β en cada una de las cámaras con ayuda de la ubicación
de los pı́xeles en la imagen como se menciono anteriormente.
3.1 Esquema General del Problema 31
−−→ −−→
A manera de ejemplo, los vectores P A y P B de cada cámara para un punto
están definidos como:
A B
d sin αA cos β A d sin αB cos β B
−−→ A −−→
P A = d sin αA sin β A , P B = dB sin αB sin β B . (3.1.2)
A A B B
d cos α d cos α
donde el termino cp proviene de cara punto i, teniendo como incógnitas las dis-
tancias radiales di desde cada cámara j. Las tres coordenadas de la traslación
y rotación(que son parte de las incógnitas del sistema) determinadas desde la
cámara de referencia global hasta las c − 1 cámaras que quedan conforman el
termino 6(c − 1) de U N .
Ahora, con el fin de asegurar la solución del sistema de ecuaciones se debe satis-
facer que el número de ecuaciones sea mayor o igual que el número de incógnitas,
es decir,
3p(c − 1) ≥ 6(c − 1) + cp, c≥2
lo cual al despejar se obtiene que
6(c − 1)
p≥ , c≥2 (3.1.4)
2c − 3
3.1 Esquema General del Problema 33
Los datos que se utilizaran para la simulación son los considerados en la Tabla
4.1, los cuales fueron suministrados como se menciono.
P unto dA
i αiA βiA P unto dB
i αiB βiB
1 3 5 5 1 3,7809 15,9614 22,0062
2 1 5 185 2 1,7843 22,8642 27,6993
3 8 47 50 3 8,9517 48,0353 45,5917
4 5 5 115 4 5,7038 10,0089 57,1470
5 7 54 150 5 7,1022 48,7168 139,7351
6 6 10 0 6 6,7961 15,3025 13,1859
tx ty tz θ ψ φ
0,7 0,3 0,6481 1,5 2 0,5
Finprograma
→
−
Caso 1. Una vez considerada esta función y tomando como valor inicial XI = 0 ,
los resultados obtenidos de esta aproximación se observan en la Tabla
4.2.
1
La función fsolve de MATLAB esta basada en el Método de Región de confianza Dogleg, que
sera explicado en Apéndice B
4.1 Análisis y Solución teniendo un Sistema
“Ideal”. 37
P unto dA
i dB
i
1 −0,0000000115981659 −0,0000000131257155
2 −0,0000000048518278 −0,0000000059795033
3 0,0000000179783857 0,0000000155268210
4 −0,0000000157610431 −0,0000000166461055
5 −0,0000000228123354 −0,0000000214148429
6 −0,0000000208979262 −0,0000000228708544
tx ty tz
−0,0000000041622531 −0,0000000015568844 −0,0000000009004804
θ ψ φ
0,0992940513565094 0,0004494714907218 −0,0992200002979497
→
−
Tabla 4.2.: Solución obtenida tomando como valor inicial 0 .
Como se puede ver, estos resultados no son para nada favorables debido
a un mal condicionamiento del Jacobiano, lo cual hace que el algorit-
mo converja a un punto que no es la solución. Tal comportamiento del
condicional del Jacobiano lo podemos observar de manera más clara en
la Figura 4.1.1
→
−
Figura 4.1.1.: Evolución del Jacobiano considerando como valor inicial 0 .
P unto dA
i dB
i
1 3,0001925747741414 3,7820800846172604
2 1,0008387350828289 1,7869867862501039
3 8,0097480166718498 8,9542320264002964
4 5,0065134953241532 5,7070849230452323
5 7,0023123781616432 7,1037624476857699
6 6,0040349114312459 6,7995613787547535
tx ty tz
0,7012165845430772 0,3088415305774966 0,6490168537414276
θ ψ φ
1,5093004062610749 2,0039901996903455 0,5004740146202915
P unto dA
i dB
i
1 0,0008424176796981 0,0010616877385929
2 0,0002808058964351 0,0005010426329642
3 0,0022464470787796 0,0025136770162381
4 0,0014040294597058 0,0016016517432784
5 0,0019656412905024 0,0019943509231798
6 0,0016848353406752 0,0019083796673378
tx ty tz
0,0001965641275640 0,0000842417688586 0,0001819830176463
θ ψ φ
1,5063719335466879 2,0029687064097708 0,5002591794852068
Figura 4.1.2.: Evolución del Jacobiano considerando como valor inicial una
variación cercana a la solución.
P unto dA
i dB
i
1 −0,0001724969370247 −0,0002173548201676
2 −0,0000575496572719 −0,0001025903855785
3 −0,0004588463422905 −0,0005135642149163
4 −0,0002873242747943 −0,0003277445251437
5 −0,0004020635864981 −0,0004079021503505
6 −0,0003453087939803 −0,0003910370113009
tx ty tz
−0,0000402618759258 −0,0000172517682410 −0,0000372141270024
θ ψ φ
1,5028459678639048 2,0042668018120517 0,5039733304613563
Figura 4.1.3.: Evolución del Jacobiano considerando como valor inicial una
variación cercana a la solución.
−→ − →
Caso 1. La primera situación es considerar XI = 0 , en donde en la Tabla 4.7 se
muestran los resultados obtenidos.
2
La función lsqnonlin de MATLAB esta basada en el Método de Mı́nimos Cuadrados de
Levenberg-Marquardt, que sera explicado en Apéndice B
42 4 Solución del Problema
P unto dA
i dB
i
1 3,0000000000009868 3,7808598794354720
2 1,0000000000006561 1,7843023980365231
3 7,9999999999923332 8,9516535646914921
4 5,0000000000002363 5,7037682706577524
5 6,9999999999974962 7,1022401075543256
6 6,0000000000006244 6,7960813021579742
tx ty tz
0,7000000000002312 0,3000000000000867 0,6480740698404962
θ ψ φ
1,4999999999986915 1,9999999999097189 0,5000000000873683
→
−
Tabla 4.7.: Solución obtenida tomando como valor inicial 0 .
Tabla 4.8.: Solución obtenida tomando como valor inicial el indicado en la Tabla
4.3.
4.2 Solución Alternativa del Problema 43
Tabla 4.9.: Solución obtenida tomando como valor inicial el indicado en la Tabla
4.5.
Figura 4.2.1.: Evolución del Error Relativo a medida que se consideran mas pun-
tos de calibración.
Por otra parte, hay que tener en cuenta que la convergencia a la solución cor-
recta es altamente dependiente de la posición de los puntos de calibración. En la
Figura 4.2.2, se observa que la evolución del residual para diferentes posiciones
de los puntos de calibración, donde aparentemente el método esta convergiendo.
Sin embargo, realizando una inspección a la Figura 4.2.3 donde se contempla la
evolución del error relativo se puede ver que el método no converge a la solución
del sistema, la diferencia entre la solución real y la encontrada se hace notoria. La
razón de esto es que uno de los puntos y ambas cámaras se encuentran sobre la
misma lı́nea, es decir, ellos son colineales y debido a esto se esta proporcionando
la misma información al problema dos veces. El mismo efecto es generado si dos
puntos y una cámara son colineales, de tal modo que ambos puntos subtienden
el mismo ángulo y la cámara es incapaz de medir la distancia de los puntos.
5. Conocer más datos acerca de cada imagen permitirá una mejor aproxi-
mación de la solución. El error relativo disminuye y se mantiene uniforme.
La matriz en esta expresión puede ser escrita como diag(f, f, 1)[I|0], donde diag(f, f, 1)
es una matriz diagonal y [I|0] representa una matriz dividida en un bloque 3 × 3
(la matriz identidad) y un vector columna(vector de ceros).
Ahora, se introducirá la notación X para puntos en el mundo real representados
por coordenadas homogéneas1 (X, Y, Z, 1)T en P3 , x para los puntos representados
1
El plano proyectivo Pn es una extension de Rn , representando elementos de Rn como vectores
homogéneos, es decir, si x = (x1 , · · · , xn ) se considera x = (x1 , · · · , xn , 1).
A.1 Modelo Básico de Pinhole(Estenopeica) o
Agujero de Aguja 51
Figura A.1.2.: El ángulo de visión de una cámara puede medirse horizontal, ver-
tical o diagonalmente.
Para una lente rectilineal (sin distorsión, no es un ojo de pez) el ángulo de visión
α puede ser calculado a partir de una diagonal del sensor de la imagen2 d la cual
se puede calcular a partir del tamaño del sensor(ver Figura A.1.3) y de la longitud
focal f :
d
α = 2 arctan
2f
Por otra parte, las lentes son definidas a menudo por palabras que se refieren a
su ángulo de visión:
2
El sensor de imagen es el elemento de una cámara fotográfica digital que capta la luz que
compone la fotografı́a.
52 A Caracterı́sticas Básicas de una Cámara.
Lentes ultra gran angular, también conocidas como ojos de pez, cubren
hasta 180o (o incluso más en algunos casos).
Sin embargo, el método de Newton presenta problemas debido a que J(xk ) puede
ser singular, provocando mal condicionamiento del sistema de ecuaciones (B.1.1)
y de esta manera la dirección dk no se podrı́a definir, además del hecho de que
resolver este sistema de ecuaciones puede llegar a ser costoso en el entorno com-
putacional. Por otra parte, el método no llegarı́a a converger si el punto inicial
esta demasiado lejos de la solución,pues el método de Newton converge local-
mente, lo que es una desventaja cuando no es conocido a priori en que región del
espacio esta la raı́z buscada.
Usando técnicas de región de confianza se mejora la robustez cuando se inicializa
lejos de la solución y se vuelve más manejable el problema cuando J(xk ) sea
singular. El método de Dogleg, cuya traducción literal serı́a pata de perro, es
un método de región de confianza que indica una curva aguda o un ángulo. Se
emplea cuando la dirección de Newton no sirve, para lo cual se construye una
trayectoria poligonal en dos tramos: El primero coincide con la parte de dirección
del descenso más pendiente y el segundo tiende hacia la dirección de Newton. Para
usar una estrategia de región de confianza, una función de elección es necesaria
56 B Métodos Numéricos
para decidir si xk+1 es mejor o peor que xk . Una posible función candidata puede
ser
1
mı́n f (d) = F (xk + d)T F (xk + d).
d 2
Pero un mı́nimo de f (d) no es necesariamente una raı́z de F (x), ası́ que siendo
dk raı́z de
M (xk + d) = F (xk ) + J(xk )d
es ası́ también una raı́z de m(d) donde
1 1
mı́n m(d) = kM (xk + d)k22 = kF (xk ) + J(xk )dk22 (B.1.2)
d 2 2
1 1
= F (xk )T F (xk ) + dT J(xk )T F (xk ) + dT J(xk )T J(xk )d
2 2
De este modo, m(d) es una mejor opción para función de elección f (d), y de esta
manera el sub-problema de región de confianza es
1 T T T 1 T T
mı́n F (xk ) F (xk ) + d J(xk ) F (xk ) + d J(xk ) J(xk )d (B.1.3)
d 2 2
donde kD · dk ≤ r (D es una matriz diagonal escalada y r es un escalar positivo).
La clave de este algoritmo esta en como se encuentra el paso d minimizando
(B.1.3), el cual es construido a partir de una combinación convexa de una paso
de Cauchy (un paso en la dirección de descenso más rápido) y el paso de Gauss-
Newton para F (x). El paso de Cauchy es calculado como
dc = −αJ(xk )T F (xk )
donde α es escogido para minimizar (B.1.2). El paso de Gauss-Newton es calcu-
lado resolviendo
J(xk ) · dGN = −F (xk ).
De esta manera, el paso d queda definido como
d = dc + λ(dGN − dc )
donde λ es el valor mas grande en el intervalo [0, 1] tal que kdk ≤ ∆. Si Jk es
(casi) singular, d es simplemente la dirección de Cauchy.
[1] Alvarez L., Sanchez J., Sobre algunos problemas reales en visión por orde-
nador que conducen a sistemas de ecuaciones algebraicos., Departamento de
Informática y Sistemas, Universidad de Las Palmas de G.C.
[2] Boufama B.S., On the recovery of motion and structure when cameras are not
calibrated, Int. J. paterrn. recogn.(1999).
[3] Brady M., Wang H., Vision for Mobile Robots, Robotics Research Group,
Department of Engineering Science, University of Oxford, (1992).
[4] Coleman T.F., Li Y., An interior trust region approach for nonlinear mini-
mization subject to bounds, SIAM Journal on Optimization, (1996).
[5] Coleman T.F., Li Y., On the convergence of reflective Newton Methods for
large-scale nonlinear minimization subject to bounds, Mathematical program-
ming, (1994).
[6] Criminisi A., Thomas R., Getting into the picture, plus.math.org, (2003).
[8] Hartley R., Zisserman A., Multiple View Geometry in Computer Vision, Cam-
bridge University Press, (2003).
[9] López J. M., Fernandez A., Fernandez M. A., Conceptos y Técnicas de Es-
tereovisión por Computador, Universidad de Castilla-La Mancha, Escuela
Universitaria Politécnica de Cuenca, Departamento de Ingenierı́a de Tele-
comunicación, Escuela Politécnica Superior de Albacete, Departamento de
Informática, (2005).
[10] Montalvo Martı́nez M., Pajares Martinsanz G., Técnicas de visión estere-
oscópica para determinar la estructura tridimensional de la escena., Univer-
sidad Complutense de Madrid, Facultad de Informática, (2009).
60 Bibliografı́a
[12] Palais B., Palais R., Rodi S., A Disorienting Look at Euler’s Theorem on the
Axis of a Rotation, The mathematical association of America, (2009).