Memoria (spa) - Universidad de Zaragoza

Anuncio
Proyecto Fin de Carrera
Diseño de mapas de navegabilidad para
entornos de interior mediante visión
omnidireccional
Jasón Omedes LLorente
Directores: Gonzalo López-Nicolás
José Jesús Guerrero Campo
Ingenierı́a Industrial
Automatización Industrial y Robótica
Departamento de Informática e Ingenierı́a de Sistemas
Escuela de Ingenierı́a y Arquitectura
Universidad de Zaragoza
Junio de 2012
2
Diseño de mapas de navegabilidad para entornos de
interior mediante visión omnidireccional
RESUMEN
En este trabajo se estudia el problema de detectar el suelo y las paredes de
una escena a partir de una única imagen tomada en el interior de un edificio.
Aunque existen métodos equivalentes que utilizan imágenes convencionales, las
imágenes omnidireccionales resultan particularmente útiles para esta tarea debido
a su amplio campo de vista. No obstante, debido a la mayor complejidad geométrica
de las imágenes omnidireccionales es necesario el diseño de algoritmos especı́ficos.
También se aborda el problema para el caso de una cámara en movimiento, que
requiere el diseño de técnicas adicionales.
El presente PFC se enfoca en cuatro actividades principales:
1. Diseño y evaluación de un nuevo método para la estimación de los
puntos de fuga (VPs) y la clasificación de lı́neas extraı́das sobre imágenes
catadióptricas.
En esta actividad se propone un nuevo método para clasificar las lı́neas
extraı́das de una imagen omnidireccional según las tres direcciones principales
que dominan en la escena y se realiza una comparativa con los métodos ya
existentes.
2. Desarrollo de un método innovador para obtener la estructura principal de
una escena de interiores a partir de una única imagen omnidireccional.
Este método propuesto utiliza la información extraı́da a partir de las lı́neas
y los puntos de fuga, que combinados con un conjunto de restricciones
geométricas, nos permiten segmentar en la imagen las regiones que forman
parte del suelo y las paredes verticales sobre las direcciones principales.
3. Propagación secuencial de la aplicación propuesta sobre imágenes próximas
para aumentar la robustez del resultado con una cámara en movimiento.
Se propone una extensión del método para mejorar la estimación final
mediante el uso de homografı́as que permiten propagar las hipótesis
resultantes secuencialmente eliminando posibles errores en la clasificación.
4. Obtención de resultados.
Las técnicas desarrolladas se han evaluado experimentalmente con imágenes
reales obtenidas de una base de datos disponible en internet. Los resultados
experimentales demuestran el buen funcionamiento y la robustez del método
propuesto.
3
4
Índice general
1. Introducción
1.1. Marco de trabajo . . . .
1.2. Estado del arte . . . . .
1.3. Objetivos . . . . . . . .
1.4. Estructura de contenidos
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
13
14
2. El modelo de la esfera
17
2.1. Proyección de una recta . . . . . . . . . . . . . . . . . . . . . . . . 21
3. Extracción y clasificación de cónicas
3.1. Clasificación sobre imagen catadióptrica
3.1.1. Cálculo de cónicas . . . . . . . .
3.1.2. Cálculo de los puntos de fuga . .
3.2. Clasificación sobre la esfera . . . . . . .
3.2.1. Cálculo de cónicas . . . . . . . .
3.2.2. Cálculo de los puntos de fuga . .
3.3. Método propuesto . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4. Obtención de la distribución espacial de una escena
4.1. Método jerárquico de generación de hipótesis . . . . . .
4.1.1. Selección de puntos clave . . . . . . . . . . . .
4.1.2. Hipótesis inicial del contorno central . . . . . .
4.1.3. Proceso jerárquico para generación de hipótesis
5. Aplicación secuencial mediante homografı́as
5.1. Homografı́a . . . . . . . . . . . . . . . . . .
5.1.1. Homografı́a a partir de lı́neas . . . .
5.2. Selección de emparejamientos . . . . . . . .
5.2.1. Emparejamiento de puntos . . . . .
5.2.2. Emparejamiento de lı́neas . . . . . .
5.3. Medida de similitud . . . . . . . . . . . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
25
25
25
27
27
27
29
.
.
.
.
33
34
34
36
39
.
.
.
.
.
.
45
45
47
48
49
50
53
6
ÍNDICE GENERAL
5.4. Hipótesis ponderada . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Propagación de hipótesis . . . . . . . . . . . . . . . . . . . . . . . .
55
57
6. Experimentos
59
6.1. Evaluación del nuevo método para clasificación de lı́neas . . . . . . 60
6.2. Evaluación de la recuperación estructural con una imagen . . . . . . 60
6.3. Evaluación del método mediante aplicación de homografı́as . . . . . 63
7. Conclusiones
67
Anexos
71
A. Geometrı́a de la hipérbola
73
A.1. Definición geométrica de la hipérbola . . . . . . . . . . . . . . . . . 73
A.2. Ecuación explı́cita de la hipérbola . . . . . . . . . . . . . . . . . . . 74
A.3. Definición de semi-latus-rectum . . . . . . . . . . . . . . . . . . . . 75
B. El sistema hipercatadióptrico
como sistema central
B.1. Ley de reflexión . . . . . . . . . . . . . . . . . . . . .
B.2. Solución para espejo hiperbólico . . . . . . . . . . . .
B.2.1. Cálculo del vector normal . . . . . . . . . . .
B.2.2. Demostración de sistema catadióptrico central
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
80
81
81
82
C. Modelo de proyección para un sistema central hiperbólico
83
C.1. Proyección de un punto sobre el hiperboloide de revolución . . . . . 83
C.2. Proyección de x en la cámara perspectiva . . . . . . . . . . . . . . 85
D. Conceptos fundamentales de geometrı́a para lı́neas cónicas
89
D.1. Ajuste de una cónica en el N-plano a partir de dos puntos y la
calibración interna . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
D.1.1. Caso general . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
D.1.2. Configuración singular . . . . . . . . . . . . . . . . . . . . . 92
D.2. Distancia de un punto a una cónica . . . . . . . . . . . . . . . . . . 94
D.2.1. Distancia algebraica . . . . . . . . . . . . . . . . . . . . . . 94
D.2.2. Distancia basada en el gradiente . . . . . . . . . . . . . . . . 94
D.2.3. Distancia basada en la lı́nea polar . . . . . . . . . . . . . . . 96
D.2.4. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
D.3. Intersección de cónicas . . . . . . . . . . . . . . . . . . . . . . . . . 98
D.3.1. El triángulo autopolar común a dos cónicas . . . . . . . . . 98
D.3.2. Intersección de dos cónicas usando el triángulo autopolar . . 100
ÍNDICE GENERAL
7
E. Descriptor SIFT
E.1. Construcción de un espacio de Escalas . . . . . .
E.1.1. Diferencia de gaussianas: D(x, y, σ) . . . .
E.1.2. Detección de extremos locales . . . . . . .
E.2. Localización de keypoints . . . . . . . . . . . . .
E.2.1. Supresión de puntos de bajo contraste . .
E.2.2. Supresión de puntos situados en los bordes
E.3. Asignación de orientación . . . . . . . . . . . . .
E.4. Descriptor de puntos claves . . . . . . . . . . . .
F. Ampliación de Resultados
F.1. Resultados en corredores . . . .
F.2. Resultados en pasillos complejos
F.3. Resultados en habitaciones . . .
F.4. Resultados con fallos . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
. 114
. 115
. 116
. 117
G. Manual de usuario
H. Artı́culo IAS 2012
H.1. Introduction . . . . . . . . . . . . . . . .
H.2. Vanishing Point Estimation through Line
H.3. Hierarchical Layout Hypothesis Method .
H.3.1. Selection of Set of Points . . . . .
H.3.2. Generation of Conics . . . . . . .
H.3.3. Initial Boundaries Hypothesis . .
H.3.4. Hierarchical Expansion Process .
H.4. Results . . . . . . . . . . . . . . . . . . .
H.5. Conclusion and Future Work . . . . . . .
103
103
105
105
107
107
107
109
110
.
.
.
.
.
.
.
.
119
. . . . . .
Detection
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
124
125
126
127
127
128
129
131
132
Índice de figuras
135
Índice de tablas
141
Bibliografı́a
143
8
ÍNDICE GENERAL
Sección 1
Introducción
1.1.
Marco de trabajo
La obtención de la distribución estructural de la escena a partir de una
imagen es una tarea sencilla para cualquier persona, sin embargo, no es fácil para
un sistema de inteligencia artificial. Al mismo tiempo, es una herramienta muy
potente, ya que conocer los lı́mites entre suelo y paredes proporciona información
valiosa en tareas de navegación autónoma, detección de obstáculos o reconstrucción
3D.
En concreto, este trabajo se enmarca dentro del proyecto de investigación
VISPA (Non-conventional Vision Systems for Personal Assistance) del grupo de
robótica de la Universidad de Zaragoza, que tiene como objetivo el desarrollo de
técnicas de visión por computador combinadas con metodologı́as del campo de
la robótica para formar parte de un sistema de asistencia personal. Parte de la
información visual incluye información tomada por cámaras no convencionales,
como en este caso un sistema catadióptrico formado por una cámara y un espejo
(figura 1.1).
Se busca encontrar un sistema que pueda ser transportado por una persona
y que sirva para complementar, más que reemplazar capacidades humanas, para
ayudar a personas con discapacidad en su sistema cognitivo visual, personas con
dificultad de orientación o personas sin discapacidad que se mueven sobre entornos
desconocidos o que requieran una ayuda extra a la hora de desempeñar ciertas
tareas.
Las imágenes omnidireccionales tienen grandes ventajas en este entorno debido
a su amplio campo de vista que permite recopilar información de todas las
direcciones y es de gran utilidad a la hora de detectar obstáculos.
9
10
1.2. Estado del arte
Figura 1.1: Casco con cámara omnidireccional para tareas de asistencia personal.
1.2.
Estado del arte
El problema de obtener la distribución estructural ha sido estudiado en distintas
ocasiones y continua atrayendo los esfuerzos de muchos investigadores (Fig. 1.2).
La mayorı́a de las contribuciones funcionan bajo la hipótesis de un mundo tipo
Manhattan [11], que asume que la escena tiene 3 direcciones principales ortogonales
entre sı́. Los entornos de interior normalmente satisfacen esta condición por lo
que se entiende la aplicación extensiva de esta hipótesis. Algunos ejemplos son
[18], que utiliza lı́neas extraı́das a partir de cámaras perspectivas y a las que
aplica condiciones geométricas para buscar el mejor ajuste al entorno, o [17] que
representando las habitaciones como cubos en 3D intenta reconocer los lı́mites
entre pared y suelo en habitaciones llenas de objetos. También se encuentran otros
trabajos como [25] que usa filtros bayesianos sobre un conjunto de hipótesis paredsuelo sin la asunción de un mundo tipo Manhattan, aunque en este caso, sigue
habiendo 3 direcciones principales pero a las que no se les impone la condición de
ortogonalidad.
En los últimos años, el uso de cámaras omnidireccionales se ha consolidado en
aplicaciones de robótica. El motivo de ello es que muchos de los problemas de visión
artificial aplicada a la robótica se ven fuertemente condicionados por el campo de
vista. Las cámaras convencionales trabajan con campos de vista que oscilan entre
los 40 - 60o y el modelo analı́tico de cámara proyectiva tiene su lı́mite teórico en
180o . Buscando superar esta limitación se han desarrollado recientemente diversos
sistemas que permiten abarcar ángulos de 360o .
Desde el punto de vista constructivo existen diversos tipos de cámaras
omnidireccionales.
1. Introducción
11
Figura 1.2: Recuperación estructural de una escena en imágenes convencionales [25]. Resultado
etiquetado manualmente.
Uno de ellos es la cámara rotatoria, que consiste en una cámara convencional
con un sistema mecánico que permite el movimiento a lo largo de una
trayectoria circular tomando una imagen de toda la escena.
Otra configuración de cámara omnidireccional consiste en un conjunto de
cámaras convencionales situadas con una orientación adecuada para abarcar
el mayor campo de vista posible.
Los sistemas dióptricos, que son cámaras convencionales con lentes de granangular, como la lente de ojo de pez.
La clase de cámaras omnidireccionales a la que prestaremos especial atención
es la que engloba a los sistemas catadióptricos. Este tipo de sistemas
combinan cámaras convencionales con espejos.
Los sistemas catadióptricos han sido estudiados por Baker y Nayar [1] quienes
demostraron que los espejos elı́pticos, parabólicos e hiperbólicos son los únicos
que pueden ser combinados con cámaras convencionales constituyendo sistemas
catadióptricos centrales (SCC). Esta propiedad relaciona los rayos incidentes en
un sistema catadióptrico central de manera unı́voca con los puntos de la imagen
tomada por el sistema.
Los sistemas catadióptricos más usuales son el hiper-catadióptrico, compuesto
de un espejo hiperbólico y una cámara perspectiva y el para-catadióptrico formado
por un espejo parabólico y una cámara ortográfica. Estos sistemas, construidos
bajo las restricciones geométricas correspondientes, se comportan como sistemas
catadióptricos centrales (Fig. 1.3).
El uso de estos sistemas puede verse en aplicaciones como la localización,
realidad virtual, navegación, SLAM, reconstrucción 3D, odometrı́a visual, etc.
12
1.2. Estado del arte
Figura 1.3: Ejemplo de sistema catadióptrico central con espejo hiperbólico. El primer foco,
F1, está situado dentro del espejo, y el segundo foco, F2, coincide con el centro óptico dentro de
la lente.
Para cualquiera de estas aplicaciones, y especialmente en las de robótica es
necesario recoger información métrica del entorno. Esta información depende
directamente de la calibración del sistema y de su modelo de proyección. Existen
diversos modelos, tanto geométricos como analı́ticos, que consideran la proyección
de sistemas catadióptricos. Geyer y Daniilidis [13] proponen un modelo unificado
capaz de modelar la proyección de cualquier sistema catadióptrico central. Este
modelo fue extendido por Barreto y Araujo [3] y es conocido como el Modelo de
la Esfera. En la actualidad es el modelo más utilizado.
1. Introducción
1.3.
13
Objetivos
Para este trabajo, el uso de cámaras omnidireccionales es muy importante
debido al amplio campo de vista, lo que ayuda a una mejor detección de los puntos
de fuga y permite observar una mayor longitud de las rectas de la escena. Por
otro lado, en los sistemas catadióptricos centrales, las lı́neas rectas de la escena se
proyectan como cónicas sobre la imagen, incrementando la complejidad geométrica,
de forma que la mayorı́a de los algoritmos existentes para cámaras convencionales
no puedan aplicarse. Por ello es necesario el desarrollo de nuevos métodos que
tengan en cuenta las caracterı́sticas de este tipo de imágenes (figura 1.4).
Partiendo del trabajo [23], proponemos un nuevo método escena, más robusto
ya que no depende de encontrar esquinas (que son difı́ciles de detectar), y mucho
más rápido, debido a que los métodos de clasificación o combinación de esquinas
para formar la hipótesis de suelo consumı́an mucho tiempo.
El trabajo propuesto para la recuperación estructural utiliza de partida una
única imagen omnidireccional, de la que se extraen lı́neas caracterı́sticas, y se
clasifican en tres direcciones principales dependiendo de su orientación. Estas
lı́neas contienen información redundante por lo que seleccionamos únicamente un
conjunto de puntos que posteriormente permiten generar una primera hipótesis
de la forma de la escena considerando que esta tiene 4 paredes, para después
expandir (o no) esta habitación hipótesis de acuerdo a la distribución de los
datos. Finalmente, se aplica un proceso secuencial basado en homografı́as de forma
que las distintas hipótesis de imágenes consecutivas compartan información entre
sı́ consiguiendo resultados más homogéneos y precisos.
Figura 1.4: Comparación entre imagen tomada por una cámara convencional y una cámara
omnidireccional donde se pueden observar las caracterı́sticas definidas en la literatura. Ambas
fotos tomadas en la plaza de las Ingenierı́as, que separa el edificio Torres Quevedo y el edificio
Betancourt.
14
1.4.
1.4. Estructura de contenidos
Estructura de contenidos
Tras esta introducción, la estructura del presente proyecto es la siguiente:
en el capı́tulo 2 se introduce el modelo proyectivo de la esfera, cuyos conceptos
tienen gran importancia en el desarrollo del resto del proyecto. Los tres siguientes
capı́tulos contienen la principal aportación del trabajo, y un esquema gráfico de
los distintos pasos puede observarse en la figura 1.5. El capı́tulo 3 se centra en
el diseño de un nuevo método de extracción y clasificación de las lı́neas extraı́das
de una imagen catadióptrica con la obtención de sus respectivos puntos de fuga y
se compara con dos de los métodos existentes en la literatura. En el capı́tulo 4 se
presenta un método innovador que utiliza la información de las lı́neas clasificadas en
el capı́tulo anterior para generar una hipótesis del contorno del suelo y las paredes
de la escena observadas en la imagen. Esta hipótesis se ve mejorada mediante un
proceso secuencial basado en homografı́as, explicado en el capı́tulo 5, que busca
conseguir resultados más robustos y homogéneos. Los resultados para los tres
principales capı́tulos de este proyecto ( 3, 4 y 5) son presentados en el capı́tulo 6.
Por último, en el capı́tulo 7 se exponen las conclusiones obtenidas del proyecto
ası́ como lı́neas futuras de investigación sobre este tema.
1. Introducción
15
Figura 1.5: Esquema de las etapas principales del algoritmo desarrollado junto a los procesos
más importantes de cada una.
16
1.4. Estructura de contenidos
Sección 2
El modelo de la esfera
El modelo de la esfera es un modelo geométrico abstracto que unifica la
geometrı́a de proyección caracterı́stica de los sistemas catadióptricos centrales,
que relacionan puntos de la escena con puntos en la imagen. Estos sistemas están
formados por la combinación entre espejos y cámaras convencionales, donde las
caracterı́sticas geométricas del espejo vienen reflejadas en los parámetros ξ y ψ
como se indica en la tabla 2.1 . Concretamente el tipo de sistema viene determinado
por el parámetro del espejo ξ. Donde ξ = 0 para cámara perspectiva, ξ = 1 para
cámara para-catadióptrica, 0 < ξ < 1 para hiper-catadióptrica y ξ < 0 cuando se
modela un sistema con distorsión radial.
El sistema de referencia de este modelo toma como origen de coordenadas O
el origen del sistema catadióptrico central que se está modelando, cuya posición
varı́a dependiendo del tipo de sistema utilizado. En el caso de un sistema hipercatadióptrico, el origen de coordenadas O se sitúa en uno de los focos de la
hipérbola generatriz, en el caso de el sistema para-catadióptrico corresponde al
foco de la parábola y en el caso de sistema perspectivo coincide con el centro
óptico de la cámara.
La proyección de un punto genérico del entorno Xw en un punto x̂ sobre la
imagen catadióptrica, se explica mediante un proceso de tres pasos.
Siendo Xw un punto del entorno expresado en coordenadas homogéneas Xw =
(Xw , Yw , Zw , 1) respecto a un sistema de referencia absoluto, se le puede asociar
un rayo proyectivo x en el sistema de referencia de la cámara mediante la matriz
de proyección P
x = PXw = R[I| − C0 ]Xw
(2.1)
donde R y CO representan la rotación y el desplazamiento del sistema de
coordenadas del modelo con respecto al sistema de coordenadas absolutas.
17
18
Espejo parabólico
Espejo hiperbólico
Espejo elı́ptico
ξ
1
ψ
1 + 2p
√d+2p
√
d
d2 +4p2
√ d
d2 +4p2
d2 +4p2
d−2p
√
d2 +4p2
Espejo plano
0
d: distancia entre focos
4p:latus rectum
1
Tabla 2.1: Parámetros del espejo para el modelo de la esfera
Para simplificar, y sin perdida de generalidad, asumiremos que el modelo
catadióptrico y el sistema de coordenadas absolutas es el mismo por lo que
P = [I|0], de forma que el rayo proyectivo resultante es el resultado de unir el
punto Xw con el origen de coordenadas O.
Figura 2.1: Modelo de la Esfera para sistemas catadióptricos.
Sea S la esfera de radio unidad centrada en el origen de coordenadas O, se
calcula la proyección del rayo x sobre la esfera como la intersección de ambos en
dos puntos x+ y x− , de los cuales solo uno es fı́sicamente coherente.
Estos puntos son proyectados sobre un plano de proyección virtual π
(denominado n-plano), a través del centro óptico virtual Cp = (0, 0, −ξ)T ,
2. El modelo de la esfera
19
obteniendo los puntos x̄+ y x̄− .
Si solo tenemos en cuenta la solución fı́sicamente coherente, esto se puede
resumir en aplicar la función no lineal sobre el rayo proyectivo x.
x̄ = (x)
(2.2)
⎞
x
⎠
(x) = ⎝
y
2
2
2
z+ξ x +y +z
(2.3)
⎛
(Nótese que al trabajar con ecuaciones homogéneas la expresión presentada es
t
y
y
x
equivalente a (x) = √x2 +y2 +z2 √x2 +y2 +z2 √x2 +y2 +z2 + ξ
que es la que se
deduce de proyectar la intersección de la esfera a través del centro óptico Cp ).
El tercer y último paso consiste en aplicar la transformación lineal Hc para
proyectar el plano virtual π que contiene el punto x̄ al plano πIM , para ası́ obtener
el punto final x̂ en coordenadas de la imagen catadióptrica.
⎛
x̂ = Hc x̄
(2.4)
Hc = Kc Rc Mc
(2.5)
ψ−ξ
0
⎝
0
ξ−ψ
Mc =
0
0
⎛
fx
⎝
0
Kc =
0
⎞ ⎛
⎞
0
−η 0 0
0 ⎠=⎝ 0 η 0 ⎠
1
0 0 1
⎞
sskew u0
fy
v0 ⎠
0
1
(2.6)
(2.7)
donde Kc contiene los parámetros intrı́nsecos de la calibración de la cámara
perspectiva: fx = f /k y fy = f /l son el resultado de dividir la distancia focal de
la cámara (f ) entre las dimensiones de un pixel (k × l) respectivamente, u0 y v0
indican las coordenadas del centro de la imagen, y sskew es la desviación de los ejes,
habitualmente cero. Rc representa la orientación de la cámara respecto al espejo,
y Mc incluye los parámetros del espejo ξ y ψ, que en la práctica se sustituyen por
un único parámetro η.
En la mayorı́a de los casos se puede asumir que la cámara y el espejo están
20
alineados (Rc = I) y la matriz de
⎛
−ηfx
⎝
0
Hc =
0
transformación, se puede expresar:
⎞ ⎛
⎞
0 u0
γ x 0 u0
ηfy v0 ⎠ = ⎝ 0 γy v0 ⎠
0
1
0 0 1
(2.8)
En el que γx = −ηfx y γy = ηfy son las distancias focales generalizadas del
sistema catadióptrico completo (espejo más cámara). Hay que tener en cuenta que
la calibración de los sistemas catadióptricos se suele determinar como un conjunto
y por tanto el parámetro η no se determina explı́citamente, sino que está implı́cito
dentro de las distancias focales generalizadas.
Una vez obtenido el punto x̂ = (x̂, ŷ, ẑ)T , la relación entre éste y las coordenadas
Euclı́deas de la imagen (u, v) se calcula dividiendo el vector entre la tercera
componente.
ŷ
x̂
v=
ẑ
ẑ
Igual que hemos realizado la proyección de un punto del entorno en la imagen, se
puede realizar el proceso inverso, con la limitación de que se pierde la información
de profundidad, por lo que la proyección de un punto de la imagen catadióptrico
se corresponde a un rayo del entorno.
Esta relación inversa se lleva a cabo multiplicando por la inversa de la matriz
Hc y por la función no lineal definida en la ecuación 2.9 que proyecta los puntos
pertenecientes al plano π en un rayo orientado.
⎛
⎞
√
z̄ξ+ z̄ 2 +(1−ξ 2 )(x̄2 +ȳ 2 )
x̄ ⎟
⎜
√ x̄22 +ȳ2 +z̄2 2 2 2
⎜
⎟
)(x̄ +ȳ )
(2.9)
−1 (x̄) = ⎜ z̄ξ+ z̄ +(1−ξ
⎟
ȳ
2
2
2
⎝
⎠
√ 2 x̄ +ȳ2 +z̄2 2
z̄ξ+ z̄ +(1−ξ )(x̄ +ȳ )
z̄ − ξ
x̄2 +ȳ 2 +z̄ 2
u=
Ambos procesos, directo e inverso, pueden resumirse con el siguiente esquema
(figura 2.2):
Figura 2.2: Pasos de la proyección del Modelo de la Esfera.
2. El modelo de la esfera
2.1.
21
Proyección de una recta
En este apartado se presenta la aplicación del modelo de la esfera a la proyección
de lı́neas de la escena sobre la imagen catadióptrica.
Una recta r, en el espacio 3D, está formada por un conjunto infinito de puntos
alineados. Por lo que proyectar una recta serı́a el equivalente de proyectar cada uno
de los puntos que la compone. Cada uno de estos puntos tiene asociado un rayo
proyectivo que cruza por el origen de coordenadas del sistema catadióptrico central
O. Sea Π el plano definido por la recta r y el origen de coordenadas del sistema
catadióptrico central O (punto de vista efectivo), que contiene los rayos proyectivos
asociados a cada punto de la recta y descrito en coordenadas homogéneas absolutas
como Π = (nx , ny , nz , 0)T . Asumiendo una vez más que el sistema de coordenadas
absolutas y el del sistema catadióptrico coincide, por lo que P = [I| 0], entonces el
plano Π puede representarse como n = PΠ = (nx , ny , nz )T . Obsérvese que al igual
que la recta r está contenida en el plano Π, existe otro infinito número de rectas
que pueden pertenecer a este plano y debido a esto, tendrán la misma proyección
en una imagen. El cı́rculo formado por la intersección del plano Π y la esfera recibe
el nombre de gran cı́rculo.
Figura 2.3: Proyección de una recta mediante el modelo de la esfera.
Los puntos de la escena Xw , pertenecientes a la recta r, son representados
como puntos x, pertenecientes al gran cı́rculo, y satisfacen nT x = 0. Como vimos
anteriormente, x = −1 (x̄) entonces nT −1 (x̄) = 0. Desarrollando esta expresión
se llega a una igualdad que puede expresarse de la forma x̄T Ω̄x̄ = 0 siendo Ω̄
la expresión matricial homogénea de la cónica sobre el plano genérico virtual π
22
2.1. Proyección de una recta
situado a una distancia unidad del origen de coordenadas O.
⎞
⎛ 2
nx ny (1 − ξ 2 )
nx nz
nx (1 − ξ 2 ) − n2z ξ 2
n2y (1 − ξ 2 ) − n2z ξ 2 ny nz ⎠
Ω̄ = ⎝ nx ny (1 − ξ 2 )
nx nz
ny nz
n2z
(2.10)
Este proceso puede ser explicado de forma geométrica como la proyección de los
puntos pertenecientes al gran cı́rculo, formado por la intersección entre el plano
Π y la esfera, a través del centro óptico virtual Cp . Esta proyección forma un cono
que corta al plano virtual π en una lı́nea cónica Ω̄ que coincide con la definida en
la ecuación 2.10.
Por último se aplica la transformación lineal Hc para obtener la cónica Ω̂ que
es la proyección de la linea r sobre la imagen catadióptrica.
−1
Ω̂ = H−T
c Ω̄Hc
(2.11)
De la misma manera se puede aplicar el proceso inverso que proyecta las lı́neas
cónicas de la imagen de vuelta a la esfera, proceso muy útil en el resto de capı́tulos
de este proyecto, tanto como para la clasificación de cónicas del capı́tulo 3 como
para hacer operaciones entre éstas a partir de sus vectores normales que las definen
en el modelo de la esfera.
Sección 3
Extracción
cónicas
y
clasificación
de
El primer paso para empezar a trabajar con imágenes, es decidir con qué tipo
de información nos interesa trabajar y cómo podemos realizar su extracción para
aplicarla en otros procesos.
Nuestro objetivo final es saber distinguir qué partes de la imagen son suelo y
cuáles son paredes, y al igual que en la mayorı́a de los algoritmos desarrollados
para imágenes convencionales, la mejor forma de realizar esta tarea es mediante la
extracción y clasificación de lı́neas de la imagen.
Extracción
El problema de extracción de lı́neas ya está estudiado y existen varios
métodos para su aplicación. Aunque los resultados obtenidos por los distintos
métodos son muy parecidos, en este trabajo se hará uso del denominado
Canny Edge Detector [10] que presenta un buen comportamiento frente a
la detección de trazos conectados.
Posteriormente a la aplicación de este detector de lı́neas sobre la imagen de
entrada se emplea una máscara que elimina las partes de la foto que carecen
de información. Dichas zonas son el centro de la imagen donde se encuentra
reflejado el objetivo de la cámara, y las zonas que caen fuera del alcance del
espejo y aparecen en negro.
Una vez hecho esto, los diferentes trazos conectados se guardan como
componentes que luego serán procesados.
23
24
Clasificación
Hay que notar que, como ya se mencionó en la sección 2, las lı́neas rectas
de la escena son representadas por lı́neas cónicas en la imagen catadióptrica,
a excepción de las cónicas degeneradas en rectas que aparecen en forma de
lı́neas radiales cruzando por el centro de la imagen.
El objetivo ahora es ser capaz de detectar estas cónicas y de clasificarlas
según su orientación relativa, es decir, reconocer si son lı́neas verticales u
horizontales de la escena y en que dirección están situadas.
En lo referente a visión omnidireccional dos métodos para realizar esta tarea
son seguir trabajando sobre la imagen catadióptrica [8] o proyectar las lı́neas
extraı́das sobre la esfera unitaria [4] del modelo propuesto en el capı́tulo 2.
A continuación se explican las diferencias entre los distintos métodos. Los
algoritmos están disponibles como código abierto y programados en Matlab.
Para poder hacer una comparación justa entre ambos vamos a trabajar con
imágenes de la base de datos COGN IRON [26], a la cual también se puede
acceder de forma libre, de la misma manera que a la calibración del sistema
catadióptrico utilizado para la toma de estas imágenes. En este caso el sistema
está compuesto por una cámara perspectiva con una resolución de 1024 ×
768 pı́xeles y un espejo convexo hiperbólico cuyos parámetros geométricos
aportados por el fabricante son de a=42.088 b=25.0911 y de 61 mm de
diámetro exterior. El parámetro del espejo según el modelo de la esfera es
ξ = 0,9337.
1
Ver detalles en Anexo A
3. Extracción y clasificación de cónicas
3.1.
25
Clasificación sobre imagen catadióptrica
Para ser capaces de definir una lı́nea cónica necesitamos 5 puntos que la definan,
y si estos puntos no están bien distribuidos a lo largo de toda la curva, la estimación
puede no ser correcta.
En [9] se demuestra como si se dispone de los parámetros de calibración del
sistema, sólo dos puntos son necesarios para ser capaces de computar estas lı́neas.
3.1.1.
Cálculo de cónicas
Usando la técnica de dos puntos, se propone un método robusto que mediante la
aplicación de RANSAC [16] (RANdom SAmple Consensus), plantea la extracción
del mayor número de cónicas correspondientes a segmentos rectos de la escena.
Para ello, a cada uno de los componentes (grupos de puntos conectados), se le
aplican los siguientes pasos:
1. Entre los puntos que forman el componente, se seleccionan dos aleatoriamente
a partir de los cuales se genera una cónica.
2. A continuación, se mide la distancia entre la cónica generada y el resto de
los puntos pertenecientes al grupo. Los puntos cuya distancia es menor a un
umbral de decisión votan por esta cónica. Este proceso se repite un número
de veces determinado estadı́sticamente, y al terminar se selecciona la cónica
con mayor número de votos.
3. Se aplican de nuevo los pasos anteriores a los puntos que no han votado a la
cónica seleccionada para detectar una nueva cónica. Y se repite este proceso
hasta que el número de puntos que no votan por ninguna de las cónicas
seleccionadas es menor a un umbral.
3.1.2.
Cálculo de los puntos de fuga
Una vez se han extraı́do las cónicas que definen los tramos rectos de la escena
se procede al análisis de los puntos de fuga de estas cónicas, los cuales facilitaran
la futura clasificación.
El punto de fuga es el lugar geométrico en el que las rectas paralelas
en una dirección dada convergen. En imágenes convencionales, es un punto
impropio situado en el infinito. Sin embargo, cuando trabajamos con imágenes
catadióptricas, las rectas se transforman en cónicas y estas cónicas se cortan entre
sı́ en uno o dos puntos dentro de la imagen. Dada esta propiedad, si encontramos
26
3.1. Clasificación sobre imagen catadióptrica
los puntos donde varias cónicas intersectan, podremos deducir el paralelismo entre
los distintos segmentos de la imagen.
Supongamos que m es el número de cónicas detectadas en la imagen
omnidireccional, y que ni es la normal que las representa en el plano normalizado.
Para cada par de cónicas nj , nk (siendo un total de m(m − 1)/2 pares), se calcula
la intersección entre ellas 2 . Y luego para cada una de las lı́neas restantes ni
calculamos su distancia a los puntos de corte formados por nj y nk . Si la lı́nea
ni es paralela al par de cónicas, la distancia a los puntos será inferior a un umbral
y entonces la lı́nea ni vota al posible punto de fuga formado por el corte entre nj ,
nk .
Los puntos de fuga más votados son considerados como direcciones dominantes,
y las lı́neas se clasifican en función a su distancia a ellos (figura 3.1).
El caso general para entornos de interior es encontrar 3 puntos de fuga. Uno
central correspondiente a la dirección vertical, y otros dos pares de puntos que
representan una direccional horizontal cada par.
(a)
(b)
Figura 3.1: Resultados de Clasificación sobre la Imagen: (a) Componentes conectados (colores
vivos) junto a las cónicas que los aproximan (azul). (b) Clasificación de los elementos conectados
según direcciones principales. En este caso se detectan 4, pero únicamente tres son representativas:
Verticales(azul), Horizontales en X (rojo), Horizontales en Y (verdes).
2
Explicado en profundidad en el Anexo D
3. Extracción y clasificación de cónicas
3.2.
27
Clasificación sobre la esfera
En este otro modelo se trabaja sobre la esfera unitaria. El primer paso es
utilizar el proceso inverso de proyección para llevar todos los componentes (grupos
de puntos conectados) detectados en la imagen catadióptrica a la esfera.
3.2.1.
Cálculo de cónicas
Sean P1i = (X1i , Y1i , Z1i ) y PNi = (XNi , YNi , ZNi ) los puntos situados en los
extremos de un componente de N pı́xeles, estos dos puntos definen un gran cı́rculo
1 × OP
N siendo O el centro de la esfera. Se
representado por su normal ni = OP
considera que un punto Psi = (Xsi , Ysi , Zsi ) de esta cadena de puntos pertenece al
gran cı́rculo de normal ni si:
(Xsi , Ysi , Zsi ) · ni ≤ U mbralSeparacion
(3.1)
Si el 95 % de los pı́xeles de el componente pertenecen al gran cı́rculo, entonces el
conjunto de puntos completo es considerado una cónica, equivalente a un segmento
recto de la escena.
En caso contrario, dividimos el componente en dos subgrupos en el punto donde:
arg max (Xsi , Ysi , Zsi ) · ni (3.2)
si
Este proceso de separación termina cuando todos los trozos en los que se divide
el componente pertenecen a una lı́nea, o cuando la longitud de los trozos son
inferiores a determinada número de pı́xeles.
3.2.2.
Cálculo de los puntos de fuga
Como ya se comentó, los puntos de fuga en la imagen catadióptrica son el lugar
geométrico donde dos o más cónicas intersectan. Similarmente, en la esfera dos
cónicas son representadas por dos grandes cı́rculos y estos cortan entre sı́ en dos
puntos antı́podos de la esfera. Estos dos puntos corresponden a la dirección de los
puntos de fuga y los caracterizaremos por el vector u.
Llamemos n1 y n2 a las normales dos grandes cı́rculos en la esfera. Su
intersección viene dada por la expresión u = n1 × n2 y corresponde a la dirección
de los puntos antı́podos. Ahora se considerará que un gran cı́rculo de normal ni
tiene la misma dirección que n1 y n2 si:
1 − ni · u ≤ U mbralSimilaritud
(3.3)
28
3.2. Clasificación sobre la esfera
Repitiendo este proceso con cada normal ni , y para cada combinación de 2
normales, podemos calcular una lista de vectores u, donde aquel con mayor número
de lı́neas paralelas es el que representa la dirección dominante en la imagen. Si
eliminamos esta dirección y las lı́neas paralelas que la votaban, podemos repetir
el proceso para encontrar sucesivas direcciones dominantes. Nótese que si m es el
número de cónicas detectadas, el número total de combinaciones a probar es de
m(m − 1).
En la gran mayorı́a de entornos se comprueba que las direcciones con mayor
número de votantes se corresponden con la dirección vertical y dos horizontales
ortogonales (figura 3.2).
(a)
(b)
Figura 3.2: Resultados de Clasificación sobre la Esfera Unitaria: (a) Componentes conectados
(colores vivos) junto a las cónicas que los aproximan (azul). (b) Clasificación de los elementos
conectados según direcciones principales. Verticales(azul), Horizontales en X (rojo), Horizontales
en Y (verdes).
3. Extracción y clasificación de cónicas
3.3.
29
Método propuesto
Cada uno de estos métodos tiene una ventaja y una desventaja. El primer
método ( 3.1) resulta ser muy rápido, pero los resultados de la clasificación no
son todo lo precisos que se desearı́a. Por contra, la precisión de clasificación con el
modelo que trabaja en la esfera ( 3.2) es mucho más fiable, pero el problema no
escala bien en función del número de normales presentes en la imagen y se hace
demasiado lento para las escenas con las que trabajamos.
En este apartado se propone un nuevo método que parte de las cónicas extraı́das
mediante el método que trabaja con modelo de la esfera con el objetivo de mantener
la buena precisión del algoritmo, pero se hace un enfoque distinto para conseguir
ejecutarlo en un tiempo mı́nimo.
Este proyecto se centra en la extracción de la distribución estructural en
entornos de interior, por lo que es totalmente aceptable partir de dos supuestos.
El primero es la hipótesis de que nos encontramos ante el caso de ciudad de
Manhattan[11], que asume que el entorno en el que nos movemos está compuesto
por estructuras 3D donde existen 3 direcciones principales ortogonales entre sı́.
Caso razonable dado que los escenarios construidos por el hombre suelen estar
dotados de esta caracterı́stica. La segunda hipótesis consiste en asumir que
el sistema catadióptrico es perfectamente perpendicular al suelo, hipótesis que
tampoco es descabellada ya que, en la gran mayorı́a de los casos, los sensores de
visión se encuentran situados sobre robots que se desplazan por el suelo mediante
ruedas con movimiento plano.
Para simplificar los cálculos, asumamos que las tres direcciones principales del
escenario coinciden con la base Euclı́dea e1 = (1, 0, 0), e2 = (0, 1, 0) y e3 = (0, 0, 1),
de forma que las lı́neas horizontales de la escena sean paralelas a los vectores e1 y
e2 respectivamente, y las verticales sean paralelas a e3 .
Al proyectar estas lı́neas en la esfera unitaria, las intersecciones entre el plano
de proyección y la esfera forman grandes cı́rculos definidos por la normal al plano
que los contiene. En este caso las normales que definen a los planos de proyección
de las lı́neas paralelas a e1 serán de la forma n⊥e1 = (0, ny , nz ). Lo mismo ocurre
con las lı́neas paralelas a e2 y e3 , donde las normales a sus planos de proyección
son respectivamente n⊥e2 = (nx , 0, nz ) y n⊥e3 = (nx , ny , 0). Esta distribución se ve
reflejada en la figura 3.3.
Nótese que las direcciones en las que apuntan estas normales siempre forman
tres “cı́rculos”(en realidad existen pequeñas desviaciones) ortogonales entre sı́, por
lo que, aunque las bases no coincidan con la base Euclı́dea, seguiremos teniendo la
30
3.3. Método propuesto
Figura 3.3: En la imagen de la izquierda se representan 3 trazos en la misma dirección de
la base Euclı́dea (e1 ,e2 ,e3 ) los cuales se proyectan en la esfera mediante planos de proyección
representados por las normales (n⊥e1 , n⊥e2 , n⊥e3 ) respectivamente y se muestran como un punto
de su color. En las dos siguientes imágenes se enseña como quedarı́a una posible distribución de
varias normales proyectadas sobre la esfera ante caso Euclı́deo y caso general dada una rotación
R.
misma distribución, pero girada un ángulo α sobre el eje Z, un ángulo β sobre el
eje X y otro ángulo γ sobre el eje Y.
Vista esta propiedad, el método de clasificación consiste en representar sobre
la esfera las normales que definen los grandes cı́rculos en los que se proyectan las
lı́neas cónicas extraı́das de la imagen catadióptrica. Estas normales tendrán una
distribución muy similar a la explicada anteriormente, por lo que el objetivo es
encontrar cuáles son los cı́rculos en los que apuntan, o lo que es lo mismo, calcular
la rotación que marca la diferencia entre la base Euclı́dea (e1 ,e2 ,e3 ) y la base de
la escena (v1 ,v2 ,v3 ).
Si consideramos ahora la segunda hipótesis, por la que el eje Z de el sistema
catadióptrico es perpendicular al suelo en todo momento, podemos simplificar el
algoritmo de búsqueda ya que el giro sobre los ejes X e Y será nulo, por lo que
β = 0 y γ = 0.
Los pasos a seguir para realizar la clasificación y extracción de los puntos de
fuga son los siguientes:
1. Al asumir perpendicularidad entre el eje Z del sistema catadióptrico y el
suelo, los ángulos de inclinación β = 0 y γ = 0, y las normales de las lı́neas
pertenecientes a la dirección Z vienen dadas por n⊥e3 (nx , ny , 0). Por esto,
todas las cónicas cuyas normales tienen componente nz menor a un threshold
3. Extracción y clasificación de cónicas
31
1
0.8
1
0.6
0.8
0.4
0.6
0.2
0
0.4
−0.2
0.2
−0.4
0
−1
−0.6
−0.5
1
0
0.5
0
0.5
1
−0.5
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
−1
Figura 3.4: Izquierda: Distribución de las normales sobre la esfera unitaria a partir de datos
reales. Derecha: Clasificación de las normales de la izquierda según las 3 direcciones principales.
Los puntos gordos corresponden a la intersección entre grandes cı́rculos, es decir, los puntos de
fuga.
(experimentalmente 0,2 es un buen valor), son automáticamente clasificadas
como pertenecientes a la dirección Z.
2. Se elimina la componente nz de las normales restantes. De esta forma se
pueden representar sobre un plano 2D, dónde la mayorı́a de los datos se
proyectados componen una distribución en forma de cruz, girada un ángulo
α.
3. Mediante RANSAC se busca el ángulo α que caracteriza a las dos direcciones
error
, dónde
principales ortogonales entre sı́, de manera que éstas minimicen inliers
los inliers son el número de normales de entre el total que votan por una de
las dos direcciones, y el error es la distancia entre cada inlier a la dirección
que vota.
4. Las lı́neas se clasifican en una dirección u otra dependiendo de la distancia
de sus normales a las direcciones calculadas como dominantes.
5. Finalmente el punto de fuga para la dirección Z lo situamos en el centro de
la imagen y los otros puntos de fuga vienen definidos por las zonas donde
las direcciones dominantes intersectan con la esfera en el hemisferio (Z = 0).
Ver figura 3.4
En la figura 3.5 se muestra al resultado obtenido al completar el proceso de
clasificación (derecha), y se compara con los métodos definidos anteriormente.
32
3.3. Método propuesto
(a)
(b)
(c)
Figura 3.5:
Comparación entre la clasificación obtenida por los métodos descritos. (a)
Clasificación sobre imagen catadióptrica, tiempo en clasificar 1.5 sec. (b) Clasificación sobre
la esfera, tiempo en clasificar 120 sec. (c) Método propuesto, tiempo en clasificar 0.5 sec
Debido a la mejor precisión en cuanto a la clasificación de lı́neas, que se
mostrará en el capı́tulo de resultados 6, y a la rapidez de ejecución, de aquı́ en
adelante se utilizará el método propuesto para llevar a cabo la extracción de
información.
Sección 4
Obtención de la distribución
espacial de una escena
En esta sección se aborda la parte del trabajo dedicada a la extracción de la
distribución espacial a partir de una sola imagen catadióptrica, de forma que sea
posible la detección automática del suelo, las paredes y la localización y orientación
respectiva entre estos elementos de la escena (Figura 4.1). La información de
partida son las cónicas extraı́das y clasificadas, ası́ como los puntos de fuga
obtenidos en el procedimiento explicado en el capı́tulo anterior.
Figura 4.1: Ejemplo de una imagen tomada con un sistema hipercatadióptrico y el resultado
deseado después de aplicar el algoritmo. En la imagen, el color azul representa el suelo, el color
rojo representa paredes paralelas en una dirección dominante, y el color verde paredes paralelas
en una dirección dominante ortogonal a la anterior.
33
34
4.1.
4.1. Método jerárquico de generación de hipótesis
Método jerárquico
hipótesis
de
generación
de
Ya se ha visto el proceso de extracción y clasificación de información, mediante
el cual se han obtenido un conjunto de lı́neas a partir de la imagen catadióptrica y
clasificado según una de las tres direcciones principales que caracterizan la escena.
Etiquetemos estas direcciones como dirección Z a la representada por lı́neas de
color azul y cuyas lı́neas son las proyecciones de los segmentos verticales de la escena
3D, y direcciones X e Y a las representadas por rojo y verde respectivamente,
las cuales son las proyecciones de los segmentos horizontales ortogonales entre
sı́ (figura 3.5).
También se han extraı́do los puntos de fuga, caracterizados por ser los puntos
geométricos donde se intersectan las lı́neas paralelas, es decir, las pertenecientes a
un mismo grupo.
El objetivo de esta sección es utilizar la información previamente descrita en
conjunto a una serie de restricciones geométricas a partir de las cuales plantear
hipótesis que se aproximen lo máximo posible a la verdadera forma de la escena
real, de forma que se pueda distinguir donde se encuentran los limites entre suelo
y paredes.
4.1.1.
Selección de puntos clave
El trabajo propuesto en [23] prestaba especial atención a encontrar esquinas que
posteriormente sirvieran para delimitar la zona por donde se expande el suelo de
la escena real que estamos estudiando. Estas esquinas vienen definidas por puntos
donde intersectan segmentos verticales/horizontales entre sı́.
Sin embargo, las esquinas que definen los contornos reales del suelo de la escena
estudiada son indetectables en muchos casos, con la dificultad añadida de que por
el contrario, muchas esquinas que no pertenecen al suelo, sino a elementos como
muebles o ventanas, son mucho más fáciles de detectar y por tanto pueden llevar
a considerar hipótesis erróneas.
Es por esto que en este trabajo se va a hacer uso de otro tipo de puntos para
plantear futuras hipótesis sobre la localización del suelo de la escena.
Haciendo un estudio de diversas imágenes a las cuales les ha sido aplicado
el proceso de la sección 3, se puede observar como las lı́neas pertenecientes a la
dirección Z (representadas en azul), son más robustas que las lı́neas pertenecientes
a las direcciones horizontales. Esto quiere decir que la información que aportan
los segmentos verticales es más fiable ya que en la gran mayorı́a de los casos
4. Obtención de la distribución espacial de una escena
35
todas estas lı́neas nacen desde el suelo y se extienden de forma radial hacia los
bordes de la imagen. Por otro lado, las lı́neas horizontales son más susceptibles
al ruido o a ser clasificadas de forma incorrecta, de forma que suelos y paredes
con gran concentración de segmentos (véase muchos tipos de baldosas o ladrillos)
harán aparecer lı́neas innecesarias sobre la imagen, resultando en una dificultad
añadida en cuanto a la correcta localización del lı́mite pared-suelo. De forma
contraria, también se dan multiples casos en los que el lı́mite que tendrı́a que
estar representando la transición pared-suelo no ha podido ser extraı́do, por lo que
prestar mucha confianza a estas lı́neas no es la mejor opción.
Recordando la sección 3.1, ya se vio cómo con tan sólo dos puntos es posible
definir una lı́nea cónica sobre la imagen catadióptrica. También se ha mencionado
que todas las lı́neas de la escena han de pasar por un punto de fuga, esto quiere
decir que los bordes que delimitan el contorno entre suelo y pared también han de
pasar por uno de estos puntos de fuga.
Juntando estas dos afirmaciones se deduce que tan solo necesitamos un punto
que pertenezca al lı́mite pared-suelo para definir la cónica que lo delimita. Ahora
bien, obviamente si el objetivo es encontrar dónde está situado el lı́mite de
separación entre pared y suelo, no podemos saber cuando un punto pertenece
a éste o no, por lo que es necesario diseñar un algoritmo que sea capaz de deducir
las regiones más probables en las que deben encontrarse estos puntos.
Se hace evidente que la información aportada por las lı́neas almacenadas en los
tres grupos definidos con anterioridad es redundante y tan solo unos pocos puntos
pertenecientes a éstas son necesarios para generar las hipótesis de contorno.
De esta forma se definen los siguientes tres nuevos grupos (figura 4.2):
De cada lı́nea que formaba parte del grupo de segmentos verticales (azules),
se selecciona el punto más cercano al centro de la imagen, con objetivo de
que este punto recaiga en la zona limitante entre suelo y pared. El conjunto
de estos puntos formará el nuevo grupo GZ .
Tomando las lı́neas pertenecientes al grupo de segmentos horizontales en
dirección X (rojos), se seleccionan únicamente aquellas que están cercanas a
alguno de los puntos del nuevo grupo GZ , y estas lı́neas serán discretizadas
tomando puntos cada cierto intervalo de longitud, los cuales pasarán a formar
parte del grupo GX .
Se repite el mismo proceso anterior para las lı́neas horizontales en dirección
Y formando el grupo GY .
36
4.1. Método jerárquico de generación de hipótesis
Figura 4.2:
Discretización de lı́neas en puntos. Se puede apreciar como solo las lı́neas
horizontales (rojas y verdes) cercanas a las verticales (azules) son incluidas en el proceso.
Figura 4.3:
Formas más comunes de los suelos presentes en escenas de interior. La zona
sombreada en rojo representa el cuadrado básico central.
4.1.2.
Hipótesis inicial del contorno central
Una vez que se tienen los datos necesarios para generar hipótesis de las posibles
zonas donde se encuentra el borde entre pared y suelo surge un nuevo problema,
no se sabe cuantos bordes estamos buscando y un programa de ordenador no
puede identificar el número de paredes que componen una habitación, sin alguna
información adicional.
Sin embargo, los entornos de interior suelen estar construidos según una
serie de patrones. Se puede distinguir entre pasillos o habitaciones, los primeros
comúnmente son alargados en forma de I, o con ramificaciones en uno de sus
extremos cuando nos acercamos al final, normalmente adquiriendo forma de L o
de T. En cuanto a habitaciones se refiere, la forma cuadrangular es la forma por
excelencia, pudiendo contar ésta con irregularidades en alguna de sus caras.
La figura 4.3 muestra algunos de los ejemplos más comunes.
4. Obtención de la distribución espacial de una escena
37
Figura 4.4: Imagen virtual simulando la hipótesis de cuatro paredes. Se pueden observar las
4 regiones definidas al segmentar la imagen mediante las lı́neas imaginarias que unen los puntos
de fuga.
Una caracterı́stica que todos estos tipos de escena tienen en común es
que pueden ser definidas por un cuadrilátero central del que pueden surgir
ramificaciones o ampliaciones.
Todo cuadrilátero tiene sus caras paralelas dos a dos, y cada una de éstas caras
paralelas debe caer a cada uno de los lados formados por la lı́nea imaginaria que
une sus correspondientes puntos de fuga (figura 4.4), debido a la definición de
punto de fuga cómo lugar geométrico donde convergen las lı́neas paralelas.
Conociendo ésta propiedad, se toma como punto de partida, para buscar el área
que define el suelo de la escena, la hipótesis de que esta habitación está compuesta
únicamente por cuatro paredes (las correspondientes al cuadrilátero generador),
independientemente de que la escena real esté compuesta por dicho número de
muros o no. Y en pasos posteriores ya se procederá al ajuste más fino de el número
de componentes estructurales para encontrar el resultado que mejor encaja con la
distribución real.
Como se ha comentado, las cuatro lı́neas cónicas que van a definir el suelo
de ésta primera hipótesis de 4 paredes, se sabe que se encuentran en regiones
determinadas, por lo que podemos tratar la búsqueda de cada una de ellas como
un subproblema aislado. Cada uno de estos subproblemas consiste en elegir los
puntos de los grupos GX , GY y GZ que caen en cada una de las regiones definidas
en la figura 4.4 (S1, ..., S4) según el lado del suelo que estamos buscando.
Los lados 1 y 3 serán las lı́neas que definen los lı́mites del suelo con orientación
X, y por tanto se usarán los puntos de los grupos GZ y GX para buscar
cónicas a cada lado de la lı́nea imaginaria (S1 y S3) formada al unir los V P s
en dirección X (Fig. 4.5 (izquierda)) .
Los bordes 2 y 4 definirán los bordes con orientación Y , y las cónicas se
38
4.1. Método jerárquico de generación de hipótesis
Figura 4.5: Puntos de los grupos GZ (azul), GX (rojo) and GY (verde) separados para los 4
posibles casos. Los segmentos discontinuos rojo y verde son las lı́neas imaginarias que unen los
respectivos VPs y dividen la imagen en dos partes.
buscarán a cada lado de la lı́nea imaginaria formada al unir los V P s en
dirección Y (S2 y S4) usando los puntos de los grupos GZ y GY (Fig. 4.5
(centro)) .
Generación de cónicas
Para buscar las cónicas y debido a que no conocemos que puntos se sitúan
sobre la región del suelo, vamos a utilizar RANSAC como forma de identificar las
cónicas más votadas, candidatas a representar el borde deseado.
Otra propiedad geométrica de las imágenes catadióptricas es que los 4 puntos de
fuga definen un cı́rculo. Este cı́rculo corresponde a los puntos de la escena situados
a la misma altura que la cámara, por lo que los puntos que caen en el interior de
este cı́rculo estarán a una altura inferior y por tanto pueden corresponder a puntos
del suelo, mientras que los que están en el exterior del cı́rculo es seguro que no
pueden pertenecer al suelo y son eliminados de manera que no formen parte de la
votación en la búsqueda de cónicas.
Recordar que, solo son necesarios dos puntos, un VP y uno de los puntos de
los grupos GX , GY , GZ recién formados. El producto vectorial entre un VP y
cualquiera de los puntos pi genera un vector normal ni , que define una cónica Ω,
después de la transformación proyectiva HC [2]:
obteniendo finalmente Ω
⎞ ⎛
⎞ ⎛ S ⎞
Pix
V PxS
n ix
S
⎝
⎝
⎝
⎠
⎠
PiSy ⎠
V Py
n iy
=
×
ni =
S
n iz
V Pz
PiSz
⎛
(4.1)
4. Obtención de la distribución espacial de una escena
39
⎤
n2ix (1 − ξ 2 ) − n2iz ξ 2
nix niy (1 − ξ 2 )
nix niz
n2iy (1 − ξ 2 ) − n2iz ξ 2 niy niz ⎦
Ωi = ⎣ nix niy (1 − ξ 2 )
ni x ni z
n iy n iz
n2iz
(4.2)
i = HC −t Ωi HC −1
Ω
(4.3)
⎡
La distancia entre cada punto pj y la cónica generada por el punto pi con el
punto de fuga VP, se mide usando una aproximación a [24]. Se calcula la lı́nea
se calcula la perpendicular a la lı́nea polar,
polar de un punto pj en la cónica Ω,
especificando que pase sobre el punto pj . Este segmento perpendicular corta a la
cónica en dos puntos q+ y q− , la mı́nima distancia euclı́dea entre pj y q+ o q−
corresponde a la distancia entre punto y cónica1 .
Con todos aquellos puntos que tengan una distancia menor a un umbral de la
cónica, se estima una cónica media y se repite el proceso hasta que converge (no
se encuentran más puntos cercanos). Los puntos pj que votan a ésta cónica media
son eliminados de la lista, y se selecciona un nuevo punto pi de entre los restantes
para generar una nueva cónica, repitiendo el proceso hasta que todos los puntos
votan al menos a una cónica (figura 4.6).
De entre las cónicas más votadas para formar los lı́mites del suelo de la hipótesis
de habitación de 4 paredes se eligen aquellas más cercanas al centro de la imagen.
Esto se debe a que al estar buscando el cuadrado central, es preferible seleccionar
un cuadrado más pequeño que luego tiene posibilidades de ser ampliado en el
proceso de expansión (Sección 4.1.3).
El proceso de búsqueda de cónicas se repite para cada uno de los cuatro
casos expuestos, de forma que los puntos que intervienen en la búsqueda vienen
restringidos por el caso en el que nos encontramos. La figura 4.6 muestra las cónicas
extraı́das ante cada caso ası́ como los lı́mites ganadores que forman los contornos
de la primera hipótesis de cuatro paredes.
4.1.3.
Proceso jerárquico para generación de hipótesis
Denotemos cómo B1 , B2 , B3 y B4 las cuatro fronteras entre pared y suelo que
se acaban de obtener para definir el contorno del suelo de la primera hipótesis de
cuatro paredes.
El área entre cada uno de estos bordes y el exterior de la imagen define cuatro
sectores. Estos sectores corresponden a las paredes de la hipótesis inicial, y si ésta
coincide con la escena real, los sectores estarán definiendo las paredes de la escena.
1
Explicado en detalle en el Anexo D
40
4.1. Método jerárquico de generación de hipótesis
Figura 4.6: A la izquierda se muestran las cónicas generadas más votadas para uno de los
cuatro casos. En la imagen central se pueden observar todas las cónicas extraı́das donde cada
color representa cada uno de los casos. La foto de la derecha corresponde con el resultado obtenido
para la primera hipótesis de 4 paredes.
Sin embargo, lo más probable es que esta primera hipótesis solo sea la parte central
de la imagen real, por lo que los sectores que definen las aprendes actuales podrán
ser expandidos.
Se entiende como expansión el proceso mediante el cual se busca reemplazar
cada una de las fronteras Bi por otro conjunto de lı́neas cónicas que agranden el
área del suelo de la primera hipótesis de manera que estas sucesivas hipótesis de
contorno generadas por las posibles ampliaciones de suelo aproximen mejor a la
habitación real que se está analizando.
Ampliar las fronteras Bi se traduce en buscar ramificaciones en las caras del
cuadrilátero central, procedimiento similar al de buscar la hipótesis inicial de
cuatro paredes, pero esta vez en vez de repetir todos los pasos explicados en la
sección 4.1.2, se parte de las cónicas ya extraı́das en dicha sección.
Para cada uno de los sectores definidos por los bordes B1 , B2 , B3 y B4 se
seleccionan aquellas cónicas que contienen votantes. La foto de la derecha de la
figura 4.7 muestra como en el sector definido por el lı́mite B2 se seleccionan en
verde aquellas cónicas que cruzan el sector y contienen inliers sobre éste, por el
contrario, las cónicas marcadas de color blanco son cónicas contenidas en el sector
pero no contienen inliers que voten por ellas dentro de éste.
De las cónicas seleccionadas, con un máximo de 3 lı́neas (2 laterales y una
central) y combinándolas con el borde del contorno inicial (Bi ) del sector al que
pertenecen, se conformarı́a el cuadrilátero que define el posible área a añadir en
el proceso de ampliación de cada lateral. Sin embargo, por diversas cuestiones, no
siempre se va a poder encontrar estas tres lı́neas que conforman el cuadrilátero
de ampliación. En general, a la hora de expandir una de las caras de la hipótesis
inicial, las opciones ante las que nos encontramos se pueden resumir en 3 casos:
Se dan condiciones bien definidas que nos permiten encontrar cónicas
suficiente para generar los 3 nuevos bordes, y por tanto habrá expansión
4. Obtención de la distribución espacial de una escena
41
Figura 4.7: A la izquierda: resultado obtenido para la primera hipótesis de 4 paredes dónde se
ven los bordes B1 , B2 , B3 y B4 que definen 4 sectores. A la derecha: Ampliación del sector 2,
dónde se observan las cónicas seleccionadas (verde) y las no seleccionadas (blanco) candidatas
a generar la sección que expandirá el suelo. Notar cómo la correcta combinación entre B2 dos
cónicas laterales y una central (marcado en amarillo) conforman una expansión perfecta.
en el sector actual.
No se encuentran cónicas centrales o las que se encuentran están muy
próximas a Bi . Esto significa que el borde Bi corresponde con el lı́mite real
entre la pared y el suelo por lo que no hay necesidad de buscar una expansión
en ese sector.
Se encuentra cónica central pero no en uno de los laterales. Esto puede
deberse a que por ruido o algún otro fallo, exista la lı́nea pero no se haya
detectado. O que nos encontremos ante la presencia de una esquina oculta,
es decir, una de las paredes se encuentra en un ángulo de visión muerto para
la cámara y es tapada por otra pared.
Para generalizar el problema pero contemplando cada uno de los casos se sigue
el diagrama de flujo de la imagen 4.8 explicado a continuación.
1. Se selecciona uno de los sectores formados por la primera hipótesis.
2. Se seleccionan y ordenan las cónicas de su interior en tres grupos, 2 laterales
y uno central. Si no se encuentran lı́neas pertenecientes al grupo central nos
encontramos ante el segundo caso; no hay expansión para el sector actual y
pasamos al siguiente.
3. Si se han encontrado cónicas en lado central, pero no se han encontrado en
los laterales, y una de las cónicas centrales tiene más votantes que el borde
actual Bi , se reemplaza el contorno Bi por la nueva cónica resultando en la
expansión de dicha cara.
42
4.1. Método jerárquico de generación de hipótesis
%
#$%
"
%
%
*
!
%
&
%
!
'
(
)
Figura 4.8: Diagrama de flujo seguido para por el algoritmo para obtener la hipótesis final.
4. Si se han encontrado cónicas en el lado central, y en ambos laterales, elegir de
cada grupo la que más votantes tenga, y junto al borde Bi se crea una posible
hipótesis de ampliación. Sin embargo, si solo se han encontrado cónicas en
uno de los laterales, se genera una cónica que pase por el punto de fuga
que caracteriza el sector (aquél que cae dentro de éste) y el punto votante
que, perteneciendo a la lı́nea seleccionada del grupo central, tiene el mayor
ángulo posible con respecto a la lı́nea imaginaria que une el VP y el centro
de la imagen. Una vez se tiene las 3 cónicas, se crea la posible hipótesis de
ampliación.
5. Se comprueba si dentro de este área de ampliación hay un número alto
de puntos que votan a otras cónicas. En caso contrario, ésta es una buena
hipótesis de expansión y pasamos al siguiente sector.
6. Si hay más de un determinado número de votantes es debido a que pese a que
las cónicas elegidas hayan sido más votadas, están pertenecen a alguna pared
u objeto. Por esta razón una de las 3 cónicas que formaban la hipótesis actual
4. Obtención de la distribución espacial de una escena
43
de ampliación se sustituye por otra más proxima al centro de la imagen y se
vuelve a generar otra hipótesis de ampliación.
7. El paso 5 y 6 se repiten hasta que la hipótesis se considera buena o hasta
que no hay cónicas para crear nuevas regiones para ampliar, por lo que no se
ejecutara ampliación.
En la siguiente figura (Fig. 4.9), se muestra el proceso de expansión para la
hipótesis de 4 paredes obtenida en la imagen 4.6.
Figura 4.9: 1)Ampliación del primer sector. 2a)Primera hipótesis del segundo sector, al haber
inliers en el interior hay que reducir. 2b)Segunda hipótesis del sector 2, esta vez corresponde con
la ampliación. 3)Ampliación del tercer sector. 4)No se encuentran ampliaciones, esto es debido a
que el borde ya estaba en el lugar correcto. F)Hipótesis final después de las ampliaciones de las
cuatro caras.
Se observa que en algunas de sus caras el área ampliada podrı́a haber sido mayor
para aumentar el ı́ndice de similitud, pero puesto que en esta sección solo contamos
con la información de una imagen es preferible restringir el área considerada como
suelo, a no ampliarla y pensar que existe más suelo que el que hay en realidad.
Más resultados de aplicar el proceso completo de recuperación estructural de
la escena pueden consultarse en el capı́tulo 6 de resultados experimentales.
44
4.1. Método jerárquico de generación de hipótesis
Sección 5
Aplicación secuencial
homografı́as
mediante
En las secciones previas se ha descrito el método propuesto para estimar la
distribución espacial de un escenario a partir de una sola imagen omnidireccional
capturada por un sistema hyper-catadióptrico.
En el capı́tulo de experimentos 6.2 se muestra como este método conduce a
buenos resultados, pero debido a cambios de iluminación, ruido en la imagen y
diversas adversidades no se puede garantizar una extracción óptima para cada una
de las imágenes analizadas.
Por otra parte, la aplicación final de este algoritmo está orientada a su
utilización con secuencias de imágenes, donde los cambios entre sucesivos
fotogramas se suponen relativamente pequeños. Por lo tanto, se puede asumir que
la distribución estructural obtenida por este método aplicado a una sucesión de
imágenes deberá variar de forma coherente a lo largo de un mismo entorno.
Para poder llevar a cabo estos procesos por los que mejorar la precisión del
método en imágenes donde los resultados no son lo suficientemente robustos, y
poder hacer la información extraı́da de cada una de las imágenes de la secuencia
lo más homogénea posible, se hará uso de homografı́as.
5.1.
Homografı́a
A continuación se definen las caracterı́sticas principales del modelo geométrico
de la homografı́a a través de dos vistas. Dos imágenes perspectivas se pueden
relacionar geométricamente a través de una homografı́a H ∈ R3×3 [7]. Esta
transformación proyectiva H relaciona los puntos pertenecientes a un plano de
45
46
5.1. Homografı́a
la escena observados desde distintos puntos de vista.
Sean R y t la matriz de rotación y el vector de translación entre dos posiciones
O y O∗ del sistema catadióptrico central (figura. 5.1). Obsérvese que el plano
virtual perspectivo asociado a la cámara en las distintas posiciones también se ve
afectado por el mismo movimiento (R, t).
Figura 5.1: Homografı́a entre dos puntos de vista O y O∗ .
Considerando que la lı́nea 3D está situada sobre un plano Π definido por
Π = [nF d], donde nF es la normal del plano Π con respecto a O, y d es la
distancia desde Π hasta el origen O [15]. Nótese que cualquier punto de la escena
perteneciente al plano Xw ∈ Π con coordenadas Xw = [Xw , Yw , Zw ]T con respecto
al origen O y con coordenadas Xw ∗ = [Xw ∗ , Yw ∗ , Zw ∗ ]T con respecto al origen
O∗ se proyecta en la esfera en los puntos Xs y Xs ∗ respectivamente para las dos
posiciones de la cámara. Y la relación entre estos puntos proyectados en la esfera
unitaria viene dada por
Xs ∗ ∝ HXs
donde H es la matriz 3 × 3 de homografı́a.
(5.1)
5. Aplicación secuencial mediante homografı́as
47
Para calcular la matriz de homografı́a entre dos imágenes en el caso general sin
imponer ninguna restricción, se necesitan un mı́nimo de cuatro correspondencias
de puntos entre ambas imágenes, a partir de los cuales se resuelve un sistema lineal
para obtener la matriz H [16].
La homografı́a calibrada está pues relacionada con el movimiento de la cámara
(rotación R, translación t) y su situación con respecto al plano por la siguiente
expresión:
H = R(I + tnTF /d)
(5.2)
donde nTF es la normal del plano y d is la distancia desde éste hasta el origen.
5.1.1.
Homografı́a a partir de lı́neas
Aunque lo más habitual es estimar la homografı́a que relaciona dos imágenes
a partir de puntos correspondientes, también se puede calcular mediante rectas
emparejadas.
Sean dos puntos del espacio X1 y X2 pertenecientes a la linea que
está contenida en el plano Π definido en la sección anterior. Esta linea puede
ser perfectamente definida por la normal al plano, que se calcula como:
nL =
X1 × X2
X1 × X2 (5.3)
Por lo tanto, cualquier punto perteneciente a esta linea cumple nTL Xi =
Xi nL = 0. De acuerdo a la ecuación 5.1, la relación de un punto del espacio
visto desde dos posiciones distintas viene dada por Xi ∗ ∝ HXi . Considerando a la
vez la ecuación recién presentada nTL Xi = 0, la relación con Xi ∗ viene representada
∗
por nTL H−1 Xi ∗ = 0 [14]. A su vez también se cumple que nTL Xi ∗ = 0 deduciéndose
la expresión que relaciona una lı́nea observada desde dos posiciones distintas
T
n∗L ∝ H−T nL
(5.4)
Nótese que la matriz de homografı́a que se utiliza para relacionar lı́neas es la
misma que la que relaciona puntos, pero inversa y transpuesta.
Los parámetros a determinar son ocho sin especificar la escala. Cada
emparejamiento de lı́neas proporciona dos ecuaciones lineales en términos de
la matriz de homografı́a. Por lo tanto, se necesitan un mı́nimo de cuatro
correspondencias para determinar la solución única de H.
48
5.2. Selección de emparejamientos
5.2.
Selección de emparejamientos
Sin ninguna restricción adicional, se necesitan cuatro emparejamientos, sean de
puntos o de lı́neas, para definir la matriz de homografı́a que relaciona todos los
elementos pertenecientes a un plano observado desde dos posiciones diferentes.
Sin embargo, es posible imponer condiciones adicionales que permiten eliminar
términos de la matriz H 3 × 3 [19].
Condición de movimiento plano: Se considera que la cámara se mueve
sobre un plano horizontal, por lo que la matriz de giro se restringe a rotar
sobre el eje vertical, y el vector de desplazamiento constará únicamente de
movimiento en coordenadas x e y.
⎡
⎤
cos θ sin θ 0
R = ⎣− sin θ cos θ 0⎦
(5.5)
0
0
1
nF = [nF x , nF y , nF z ]T = [0, 0, 1]T
(5.6)
t = [tx , ty , tz ]T = [tx , ty , 0]T
(5.7)
Y recordando la expresión de H = R(I + tnTF /d):
⎤
⎡
cos θ sin θ tx /d
H = ⎣− sin θ cos θ ty /d⎦
0
0
1
(5.8)
La matriz resultante ha pasado a tener cuatro incógnitas, por lo que ya solo
serı́an necesarios dos emparejamientos para tener el sistema de ecuaciones
lineales totalmente definido.
Imposición de rotación: Un problema que se tiene al aplicar el algoritmo
imagen a imagen es que las direcciones X e Y son intercambiables de
una ejecución a otra. Esto se arregla haciendo “tracking”de los puntos de
fuga. Adicionalmente, este tracking proporciona información de giro entre
imágenes (ángulo de rotación θ), la cual podemos aprovechar para introducir
en H de forma que las únicas incógnitas restantes son: tx , ty y d, pero están
agrupadas en dos términos y como para esta aplicación no interesa conocer
su valor particular se consigue un sistema de ecuaciones resoluble a partir de
un solo emparejamiento.
5. Aplicación secuencial mediante homografı́as
5.2.1.
49
Emparejamiento de puntos
La primera opción es utilizar emparejamiento por puntos. Para esto es necesario
disponer de puntos pertenecientes al mismo plano en ambas imágenes a las que se
les aplica la homografı́a. Debido a las condiciones impuestas para poder reducir el
número de parámetros, el plano al que deben pertenecer es el plano del suelo.
Figura 5.2: Caracterı́sticas extraı́das y posibles emparejamientos entre imágenes de una escena
tomadas desde posiciones distintas después de aplicar la máscara.
Surgen dos dificultades.
A priori se desconoce que puntos pertenecen a este plano, pues es lo que se
quiere averiguar.
La información que tenemos no asegura correspondencia de una imagen a
otra, por lo que será necesaria nueva información.
La obtención de nueva información puede ser proporcionada a partir del
extractor de caracterı́sticas SIFT[20] [12]. Este es un buen descriptor para esta
aplicación ya que es invariante con la escala, un factor muy importante cuando se
trabaja con imágenes catadióptricas.
Asegurar que las caracterı́sticas extraı́das por el descriptor SIFT pertenecen al
plano del suelo no es posible, pero sı́ que se puede aumentar las posibilidades de
que esto ocurra.
Se sabe que el cı́rculo resultante de unir los puntos de fuga entre sı́ corresponde
a puntos situados a la misma altura que la cámara, de forma que los puntos
50
5.2. Selección de emparejamientos
interiores a este cı́rculo estarán a una altura inferior y existen posibilidades de
que pertenezcan al suelo. Pero es seguro que los puntos que caen en el exterior de
este cı́rculo al estar más altos que la cámara no puede pertenecer el suelo, por lo que
aplicando una máscara que elimine este área exterior se incrementa las opciones de
que las caracterı́sticas extraı́das pertenezcan al plano de interés. Además al reducir
las dimensiones de la imagen la velocidad de computo se incrementa.
De las caracterı́sticas extraı́das no todas se emparejan correctamente. Para
asegurar que la homografı́a está calculada tan precisa como sea posible se aplica
un proceso de RANSAC de la siguiente forma:
1. Se elige una correspondencia (Xi → Xi ∗ ) aleatoriamente.
2. Se calcula una matriz de homografı́a H a partir del emparejamiento
seleccionado.
3. Se aplica la Homografı́a a todos los emparejamientos XH ∗ = HX y se aceptan
como correspondencias válidas para dicha homografı́a aquellas cuya distancia
euclı́dea d = X ∗ − XH ∗ sea inferior a un umbral.
4. Se aplica una rejilla a la imagen (bucketing) y se elige como ganadora a la
matriz H con mayor número de correspondencias votantes y además estas se
encuentren distribuidas en al menos cuatro de las secciones formadas por la
rejilla (figura 5.3).
5.2.2.
Emparejamiento de lı́neas
Los mayores problemas del emparejamiento por puntos son el tener que hacer
uso de información adicional, solamente útil para calcular la homografı́a y que no
se puede asegurar completamente que esta información pertenezca al plano del
suelo.
La segunda opción permite obtener la matriz de transformación H a partir de
lı́neas, método que tiene grandes ventajas sobre el de emparejamiento por puntos.
El motivo de aplicar homografı́a es poder relacionar las hipótesis de suelo de
sucesivas imágenes, extraı́das en la sección 4.1.3 de forma que estas concuerden el
máximo posible para evitar posibles errores del algoritmo.
Las hipótesis de suelo de cada imagen están formadas por la unión de varias
lı́neas cónicas, a partir de las cuales podemos extraer la homografı́a deseada.
5. Aplicación secuencial mediante homografı́as
51
Figura 5.3:
Emparejamientos votantes de la homografı́a ganadora. Los cı́rculos rojos
corresponden a las caracterı́sticas detectadas en la imagen actual. Los puntos verdes son los
emparejamientos obtenidos al aplicar la homografı́a H a sus correspondientes obtenidos desde el
otro punto de vista (figura 5.2).
Obsérvese que existe la gran ventaja de que estas lı́neas no hay que extraerlas
especı́ficamente para calcular la homografı́a, sino que ya se dispone de ellas y
además por definición han de pertenecer al plano del suelo.
De esta forma solo tenemos que encontrar un emparejamiento de entre las lı́neas
que forman el contorno del suelo para definir la matriz H.
Sea nL la normal que define una lı́nea en la imagen I, y n∗L la normal que
representa el emparejamiento de nL visto en la imagen I ∗ , estas lı́neas están
relacionadas por:
n∗L ∝ H−T nL
dónde la matriz H es la deducida en la ecuación 5.8:
⎤
⎡
cos θ sin θ tx /d
H = ⎣− sin θ cos θ ty /d⎦
0
0
1
(5.9)
(5.10)
52
5.2. Selección de emparejamientos
⎛
⎜
H−T = ⎝
cos θ
cos θ 2 +sin θ 2
− sin θ
cos θ 2 +sin θ 2
−(cos θ ṫx /d−sin θ ṫy /d)
cos θ 2 +sin θ 2
sin θ
cos θ 2 +sin θ 2
cos θ
cos θ 2 +sin θ 2
−(cos θ ṫy /d+sin θṫx /d)
cos θ 2 +sin θ 2
⎞
⎛
⎞
0
0 ⎟
⎠
1
(5.11)
cos θ sin θ 0
⎝ − sin θ cos θ 0 ⎠
h32 1
h31
=
Desarrollando la matriz inversa y transpuesta de H; H−T = [hij ] con i, j =
1, 2, 3, se observa que ésta sigue dependiendo únicamente de dos parámetros
desconocidos (h31 y h32 ) compuestos por una combinación lineal de los parámetros
de H pero cuyo valor individual es irrelevante.
La ecuación 5.9 es equivalente a n∗L × H−T nL = 0, de dónde se deduce el
siguiente sistema de ecuaciones:
⎞
h31
ny ny
nz ny − nx nz sin θ − ny nz cos θ ⎝
0
nx ny
⎠
h32
=
∗
∗
∗
∗
∗
−nx nx −ny nx nx nz cos θ − ny nz sin θ − nz nx
0
1
(5.12)
que se puede resolver mediante Descomposición en Valores Singulares (SVD),
obteniendo ası́ h31 y h32 , que se utilizan para componer la matriz H−T , y al deshacer
la inversion y transposición se recupera H.
∗
∗
∗
∗
∗
⎛
A priori no se conoce como están emparejadas las distintas lı́neas de ambas
hipótesis, por lo que una opción serı́a calcular las homografı́as obtenidas para
todas las posibles combinaciones entre las normales de ambas imágenes. Si cada
hipótesis de suelo está compuesto por un número N de paredes comprendido entre
4 y 16, el máximo número de combinaciones posibles serı́a de 256.
Sin embargo, muchas combinaciones no tienen sentido fı́sico (lı́neas de puntos
opuestos de la imagen), por lo que solo es necesario calcular homografı́as para
aquellas lı́neas cuyas normales indiquen similitud (algoritmo 1).
5. Aplicación secuencial mediante homografı́as
53
Algorithm 1 Cálculo de Homografı́a
Require: hipotesis, hipotesis∗
Ensure: Homografı́a
1: for i := 1 → N do
2:
for j := 1 → N ∗ do
3:
if ni · nj ∗ ≥ 0,8 then
4:
H=CalcularHomografı́a(ni , nj ∗ )
5:
Similitud=CalcularSimilitud(hipotesis, hipotesis∗ ,H)
6:
if Similitud > MejorSimilitud then
7:
Homografı́a = H
8:
MejorSimilitud = Similitud
9:
end if
10:
end if
11:
end for
12: end for
13: return Homografı́a
5.3.
Medida de similitud
En la sección 5.2.1, se calcula cuan adecuada es una matriz de homografı́a
mediante el cómputo de la distancia entre los emparejamientos una vez se les
aplica la transformación H.
Calcular la similitud entre lı́neas no es tan sencillo (Fig. 5.4), en primer lugar
porque ni siquiera se sabe si las hipótesis que se están emparejando tienen el mismo
número de bordes.
Ante la dificultad de comparar las lı́neas entre sı́, se plantea discretizar los
contornos de las figuras a comparar en puntos, de forma que podamos calcular al
distancia media entre los puntos de ambas.
Para esto, todas las figuras bajo análisis han de tener el mismo número N de
puntos y han de estar referenciadas a un mismo ángulo α, es decir, tomando como
ángulo de referencia α al correspondiente con el punto de fuga de la dirección X
(V PX ), el primer punto de la hipótesis uno, p11 , corresponderá al punto que se
encuentre con un ángulo equivalente al del V PX de dicha hipótesis, de la misma
forma el primer punto de la hipótesis m, pm
1 , corresponde al punto cuyo ángulo es
equivalente al del V PX de la hipótesis m (figura. 5.5).
Una vez discretizados los contornos, se aplica sobre los puntos del contorno
que define la hipótesis de la imagen I (pI1 , ..., pIN ), la posible homografı́a Hi que
relaciona esta imagen I con la imagen I ∗ .
54
5.3. Medida de similitud
Figura 5.4: Resultados de homografı́as. En la primera imagen se muestra la hipótesis de
suelo (en rojo) para una imagen I. En el resto de figuras, se muestra la hipótesis∗ de suelo (en
blanco) según la imagen I ∗ observada de una posición desplazada con respecto a I. En rojo se
adjunta el resultado de aplicar diversas homografı́as que transforman la hipótesis desde la imagen
I a la imagen I ∗ . La escena de arriba a la derecha muestra el resultado de aplicar una homografı́a
donde la similitud es alta. Las imágenes de la fila inferior corresponden a homografı́as fallidas.
La similitud entre ambas hipótesis en función de la homografı́a Hi viene definida
por la distancia media entre la proyección de los puntos (pI1 , ..., pIN ) de la imagen
∗
∗
I sobre la imagen I ∗ y los puntos de la hipótesis de la imagen I ∗ (pI1 , ..., pIN ).
∗
∗ distancia(Hi ) = Hi [pI1 , ..., pIN ] − [pI1 , ..., pIN ]
(5.13)
De esta forma, la matriz de homografı́a Hi que consiga la menor distancia
media entre puntos de los contornos comparados, será considerada la homografı́a
ganadora que relaciona las imágenes I e I ∗ .
Este proceso se repite con cada una de las m imágenes que van a participar en
el proceso de promediado sobre la imagen I ∗
5. Aplicación secuencial mediante homografı́as
55
Figura 5.5: Contorno de la hipótesis de una imagen I discretizado en N puntos. Se aplica
homografı́a Hi y se calcula la distancia entre puntos con la ecuación 5.13 para comprobar cuan
buena es esta homografı́a.
5.4.
Hipótesis ponderada
Una vez las distintas hipótesis de cada imagen que van a participar en el
promedio se encuentran proyectadas sobre la imagen I ∗ a analizar, ya pueden
ser comparadas.
Esta comparación se lleva a cabo mediante el mismo proceso definido en la
sección 5.3, con la diferencia de que en vez de buscar la homografı́a que hace lo
más parecidas posibles las dos hipótesis comparadas, esta vez ya se parte de que
las hipótesis han sido proyectadas mediante la homografı́a más votada y ahora se
comparan los contornos de m imágenes consecutivas proyectadas sobre la imagen
I ∗ para hacer que el contorno promedio de esta imagen sea lo más parecido al
resto.
Ası́ pues, el primer paso es calcular la distancia media entre cada hipótesis i y
el resto de las m hipótesis proyectadas sobre la imagen I ∗
m
i
[p1 , ..., piN ] − [pj1 , ..., pj ]
DistanciaM edia(i) =
N
(5.14)
j=1
de forma que la hipótesis con menor distancia media al resto será la que posea
mayor número de caracterı́sticas similares y será elegida como contorno promedio
inicial. Esto es especialmente útil en caso de que dentro del conjunto de hipótesis el
número de paredes que conforma cada una sea distinto entre éstas, por ejemplo en
etapas de transición entre escenarios (habitación-pasillo), dónde parte de hipótesis
votaran por permanecer en el primer escenario, mientras que otra parte empezarán
56
5.4. Hipótesis ponderada
a votar para realizar la transición, ası́ pues en el momento que uno es más votado
que otro, la hipótesis promedio de contorno inicial determinará en cual de los casos
nos encontramos.
HipotesisP romedio = Hipotesis(arg min |DistanciaM edia(i)|)
(5.15)
i
Este contorno promedio inicial contiene la mayor parte de la información
estructural de lo que será la hipótesis final de la imagen actual, pero actualmente
sus caracterı́sticas solo corresponden con las extraı́das a la imagen a la que
pertenece.
Para que realmente el contorno del resultado final concuerde al máximo con el
global de contornos, vamos a realizar un promedio entre las componentes que los
conforman.
definidas en
Recordando que cada contorno esta formado por lı́neas cónicas Ω
la esfera por su normal n, el primer paso será proyectar las normales de todas
las hipótesis participantes, sobre la imagen I ∗ , multiplicando por la inversa de la
transpuesta de sus respectivas matrices de homografı́a obtenidas en la sección 5.3.
Una vez proyectadas todas estas cónicas, se toma como referencia el contorno
medio inicial y las normales del resto de hipótesis que sean suficientemente similares
a las normales del contorno base serán promediadas para conformar el resultado
final (figura 5.6).
Figura 5.6: Izquierda. Ejemplo de una hipótesis con defectos (el suelo abarca zonas que deberı́an
ser pared). Centro: Sobre la hipótesis de suelo actual (negro) se proyectan hipótesis de imágenes
anteriores, y se elige la que más concuerda con el resto del conjunto(rojo). Derecha: Se promedia
la hipótesis ganadora (rojo) con las cercanas para dar el resultado final.
5. Aplicación secuencial mediante homografı́as
57
Algorithm 2 Cálculo del Resultado Final mediante el promedio de hipótesis
Require: ContornoInicial, nh |∀h ∈ {1 → N umeroHipotesis}
Ensure: ContornoP romedio
1: ContornoPromedio=ContornoInicial
2: for i := 1 → N umeroP aredes ContornoInicial do
3:
ni = ContornoInicial(i)
{Normal que define a la pared “i”}
4:
for h := 1 → N umeroHipotesis do
5:
for j := 1 → N umeroP ared Hipotesis(h) do
6:
nh,j = Hipotesis(h, j) {Normal de la pared “j” de la hipótesis “h”}
7:
producto = ni · nh,j
{Indica si los contornos son cercanos}
8:
if producto ≥ 0,98 then
9:
ContornoPromedio(i)=ContornoPromedio(i)+Hipótesis(h,j)
10:
Normalizar=Normalizar+1
11:
end if
12:
end for
13:
end for
14:
ContornoPromedio(i)=ContornoPromedio(i)/ContornoP romedio(i)
15: end for
16: return ContornoPromedio
5.5.
Propagación de hipótesis
El conjunto de procesos explicados en las secciones previas se repite para cada
imagen perteneciente a la secuencia para transformar la hipótesis obtenida del
análisis individual de dicha imagen, en un resultado final que hace mucho más
robusto y homogéneo el conjunto.
Pese a que el resultado final se supone mejor que el obtenido individualmente,
serı́a un error sustituirlo a la hora de propagarlo en la secuencia, ya que al hacer
esto cada vez que se introdujera un cambio en la escena serı́a eliminado por el resto
de hipótesis anteriores y ası́ sucesivamente impidiendo introducir modificaciones.
Para evitar esta rigidez ante cambios, pero a su vez mantener el método robusto
ante ruido, se propone no sustituir pero si guardar como información adicional un
número k de los resultados finales más recientes e incluirlos en futuras votaciones,
de forma que este número k ha de ser menor que el número m total de hipótesis que
intervienen en la votación, y teniendo en cuenta que cuanto mayor sea k, menos
flexible será el método ante cambios en la estructura de la escena.
En nuestros experimentos se considera que m = 7 aporta suficiente información
para hacer un buen promedio, ya que cuanto mayor número de hipótesis
58
5.5. Propagación de hipótesis
promediadas más lento se hace el proceso y más riesgo de incluir errores en las
homografı́as que se vuelven menos precisas al relacionar imágenes distantes. A su
vez hacemos k = 2 para aumentar la robustez pero sin restringir la adaptación a
cambios del entorno. Los beneficios de este último paso del algoritmo pueden verse
reflejados en las comparaciones entre secuencias que se realizan en la sección de
experimentos 6.3.
Sección 6
Experimentos
En el presente proyecto nos hemos centrado en tres contribucionesprincipales.
El planteamiento de un nuevo método de clasificación de lı́neas y puntos de
fuga a partir de lı́neas extraı́das de una imagen catadióptrica.
Desarrollo de un algoritmo innovador para extraer suelos y paredes de la
escena bajo estudio.
Ampliación del algoritmo anterior para aplicarlo de forma secuencial
mediante el uso de homografı́as para conseguir resultados más homogéneos.
En este capı́tulo se van a evaluar los resultados obtenidos para cada una de
estas tres aportaciones utilizando la base de datos puesta a disposición por el
proyecto COGNIRON [26], que se puede descargar libremente en su página web.
Las imágenes omnidireccionales disponibles en esta base de datos han sido tomadas
por una cámara con espejo hiperbólico dispuestos sobre un robot móvil conducido
a través un entorno de interior. La calibración de la cámara omnidireccional y
los datos de obtenidos de un laser, sonar y odometrı́a de los sensores del robot
también están disponibles. Una buena caracterı́stica de esta base de datos es que
el objetivo de la cámara oculta solamente una pequeña parte del centro de la
imagen y al recorrer habitaciones amplias los lı́mites entre las paredes y suelo son
visibles, lo que permite su detección.
Ésta cuenta con una gran variedad de escenarios, de los que se han elegido
imágenes de forma aleatoria para comprobar la eficacia de los algoritmos
desarrollados y al no contar con un groundtruth con el que poder comparar los
resultados obtenidos, hemos creado uno etiquetando de forma manual las fotos
sobre las que hemos ejecutado nuestro método. En esta sección se presentan
diversos resultados representativos, mientras que en el anexo F se muestran los
resultados adicionales de una experimentación más extensa.
59
60
6.1. Evaluación del nuevo método para clasificación de lı́neas
6.1.
Evaluación del nuevo
clasificación de lı́neas
método
para
A continuación se muestran distintos resultados obtenidos de aplicar los
métodos introducidos en el capı́tulo 3. Obsérvese cómo el primer método
(clasificación de lı́neas sobre la imagen) no consigue unos resultados tan robustos
como los otros dos, sin embargo el tiempo de ejecución es considerablemente bajo,
siendo éste de alrededor de 1 segundo.
Por otro lado, el segundo (clasificación sobre la esfera) y tercer método (el
propuesto en este trabajo) consiguen resultados bastante similares, siendo el factor
clave en su diferenciación el tiempo de ejecución. Mientras que el método número
dos consume alrededor de 100 segundos por foto, nuestro algoritmo logra una
clasificación de lı́neas igual de buena en tan solo 0.5 segundos.
Además el método propuesto asegura perfecta ortogonalidad, de forma que
siempre vamos a encontrar las lı́neas pertenecientes a las 3 direcciones principales.
Sin embargo, debido a la forma en la que esta programado, el método dos puede
realizar clasificaciones erróneas en algunos casos al detectar ambos puntos de fuga
X e Y en el mismo lugar, como se puede ver en la imagen de la fila 4 en la figura 6.1.
6.2.
Evaluación de la recuperación estructural
con una imagen
Algunos de los resultados1 en diferentes tipos de escenas de interior son
mostrados en la figura 6.2. Los dos primeros ejemplos corresponden a pasillos
con forma T y L (cómo los que se describen en la figura 4.3 de la sección 4.1.2), las
paredes no están muy saturadas de objetos, por lo que los resultados son precisos.
En el segundo ejemplo cabe destacar que se observa una esquina oculta en la parte
superior de la imagen.
La tercera foto está tomada en una habitación cuyas paredes son de cristal
(partes superior e inferior de la imagen); debido a este tipo de paredes aparecen
zonas muy brillantes en la escena, pero aún con esta dificultad se consigue una
buena aproximación de la estructura.
En el cuarto caso se muestra un recibidor con un escritorio y una estanterı́a.
Nuestro algoritmo es capaz de reconocer estos obstáculos, sin embargo, no llega
a detectar la puerta abierta que se encuentra en la parte superior de la imagen,
probablemente debido al exceso de iluminación que entra a través de ésta.
1
En el anexo F se pueden encontrar más resultados.
6. Experimentos
61
Figura 6.1: Comparativa entre los tres métodos presentados en el capı́tulo 3 aplicado a
cinco imágenes diferentes. (a) Clasificación sobre imagen catadióptrica. (b) Clasificación
sobre la esfera. (c) Método propuesto.
62
6.2. Evaluación de la recuperación estructural con una imagen
Figura 6.2: Ejemplos experimentales obtenidos para 5 escenas diferentes. (a) Imagen
original. (b) Clasificación de lı́neas y extracción de puntos que votarán en la elección
de bordes. (c) Salida final de nuestro algoritmo. (d) Resultado deseado, etiquetado
manualmente.
La última escena corresponde a una habitación abarrotada de muebles y
objetos, los colores son muy oscuros, lo que dificulta la extracción de lı́neas
en algunas áreas. A su vez, muchas de las lı́neas más largas y mejor definidas
recaen sobre objetos rectos como son las mesas, lo que podrı́a llevar a una mala
identificación de la estructura, pero como podemos ver los resultados obtenidos
son bastante buenos.
6. Experimentos
63
Tabla 6.1: Valores de del rendimiento obtenidos para las imágenes mostradas en la
Fig. 6.2
Precision
Recall
F1
Image1
0.973
0.887
0.928
Image2
0.984
0.969
0.977
Image3
0.896
0.992
0.942
Image4
0.964
0.937
0.950
Image5
0.904
0.878
0.891
Para comparar los resultados de nuestro algoritmo, hemos generado a mano
una serie de resultados deseados. Definimos como verdaderos positivos (tp) el
numero de pı́xeles que ambas tienen en común, falsos positivos (fp) al número
de pı́xeles identificados como suelo por nuestro método, pero que no corresponden
al suelo en el ground truth, y falsos negativos (fn) al número de pı́xeles que no son
identificados como suelo cuando el ground truth muestra que sı́ que tendrı́an que
tp
tp
), recall ( tp+f
)
ser. A partir de estos valores, podemos calcular precision ( tp+f
p
n
2 precision recall
y F1 ( precision+recall ) para varias imágenes, Tabla H.1.
6.3.
Evaluación del método mediante aplicación
de homografı́as
Por último, con el objetivo de mejorar los resultados obtenidos a partir de una
sola imagen se aplican homografı́as, de forma que varias imágenes de una secuencia
son comparadas entre sı́ y comparten información para conseguir resultados más
robustos y homogéneos.
A continuación se muestran dos secuencias de ejemplo. La primera secuencia 6.3
cuenta con 7 imágenes consecutivas donde se aprecia como al aplicar las
homografı́as los resultados finales obtenidos permanecen casi inalterados. En
realidad si que existen pequeñas variaciones en estos resultados pero al haber tan
poca variación entre imágenes resultan casi imperceptibles.
La segunda secuencia 6.4 está compuesta por 14 imágenes consecutivas. En este
caso se seleccionan las imágenes pertenecientes a una zona de transición donde
la forma del pasillo en el que nos encontramos cambia de tener forma en T a
tener una forma lineal en I. Se puede observar como las primeras imágenes de la
secuencia encajan con la forma del pasillo pero al irnos introduciendo en la zona
de transición el proceso secuencial intenta conservar la forma inicial del pasillo lo
que ocasiona unos resultados erróneos en la etapa inicial (imágenes 10, 11 y 12
de la secuencia), aunque rápidamente reconocemos el cambio de habitación y la
hipótesis del resultado cambia adaptándose a los nuevos contornos.
64
6.3. Evaluación del método mediante aplicación de homografı́as
Figura 6.3: Secuencia de 7 imágenes seguidas. La primera fila muestra resultados obtenidos sin
aplicar la homografı́a. En la segunda fila se puede ver cómo incluyendo el uso de las homografı́as
los resultados son más homogéneos y se corrigen los posibles errores de las hipótesis originales.
Figura 6.4: Las dos primeras filas muestran una secuencia de 14 imágenes sin aplicar
homografı́a. Nótese como rojo y verde alterna entre imágenes por no poder asegurar concordancia
entre puntos de fuga. Las dos filas inferiores muestran la misma secuencia al aplicar la homografı́a.
Aquı́ se puede observar como las paredes conservan el mismo código de colores. Las últimas
imágenes muestran transición entre pasillo en T y pasillo en I.
Pese a los posibles errores que se ocasionan en las transiciones entre
habitaciones, los resultados obtenidos al aplicar el proceso secuencial de
homografı́as implican una mejora considerable en la precisión del método.
Obsérvese como en la figura 6.4 las primeras imágenes de la secuencia en la que
6. Experimentos
65
no se aplica homografı́a difieren considerablemente de una a otra. Sin embargo,
con el uso de las homografı́as es posible eliminar los errores de identificación de
la estructura de la escena de forma que se obtienen unos resultados mucho más
robustos. Además este proceso puede ser programado en paralelo, de forma que
mientras se pondera la información de la imagen actual con el resto de imágenes
de la secuencia, al mismo tiempo se puede ir extrayendo la hipótesis de contorno
de la siguiente imagen.
66
6.3. Evaluación del método mediante aplicación de homografı́as
Sección 7
Conclusiones
El objetivo de este proyecto fin de carrera ha sido desarrollar un algoritmo
capaz de extraer la estructura 3D de una imagen omnidireccional tomada en
entornos de interior. Para ello, se parte del trabajo realizado por Didem [23] sobre
el mismo tema pero con un distinto planteamiento al presentado en ese proyecto.
A su vez, se cuenta con dos métodos aplicables a la detección y clasificación de
lı́neas, uno diseñado por [5] y otro desarrollado por compañeros del laboratorio
de la Universidad de Zaragoza [8], ambos accesibles en forma de utilidades para
Matlab, a partir de los cuales se desarrolla el resto de este proyecto. Se ha
generado nuevo código optimizado con el que realizar extracción y clasificación
de lı́neas y puntos de fuga para imágenes catadióptricas, y se propone un nuevo
método para la detección de la distribución estructural de una escena. Como
resultados se presentó un artı́culo de investigación a la conferencia internacional
“12th International Conf erence on Intelligent Autonomous Systems”[22], que
ha sido aceptado y será presentado entre el 26 y 29 de junio del 2012.
Adicionalmente, se ha desarrollado un nuevo algoritmo que mediante
el uso de homografı́as permite propagar a lo largo de una secuencia de
imágenes los resultados obtenidos por el método anterior de forma que corrige
posibles fallos de éste y consigue resultados más robustos y homogéneos
para una cámara en movimiento. Ésta ampliación ha sido presentada a las
“XXXIII Jornadas N acionales de Automática”[21] y estamos pendientes de su
aceptación.
El trabajo desarrollado en [23] se fundamenta en la localización de esquinas,
definidas como los puntos geométricos donde intersectan varios segmentos
horizontales entre sı́, u horizontales con verticales. Posteriormente, se buscan
posibles combinaciones entre estas esquinas para generar hipótesis del área donde
se encuentra el suelo de la escena observada. Las esquinas que definen el contorno
del suelo son difı́ciles de encontrar sobre la imagen, y al contrario, esquinas que
67
68
no pertenecen al contorno del suelo, como pueden ser esquinas de objetos que
aparecen en la imagen, son detectables fácilmente. Esto hace que el método tenga
dificultades a la hora de conseguir una buena clasificación y los procesos de iteración
entre todas las combinaciones de esquinas posibles hace que el proceso sea muy
lento.
Estos inconvenientes son la principal motivación para buscar un método
alternativo que consiga una extracción de los contornos de la escena precisa y se
ejecute en un tiempo reducido de forma que sea posible incorporarlo en sistemas
de navegación en tiempo real.
Para conseguir este objetivo se comienza por el diseño de un nuevo método de
clasificación de las lı́neas extraı́das mediante el código aportado por [6]. En primer
lugar se realizan una serie de modificaciones por las que ajustar los parámetros de
la cámara utilizada, de forma que las ecuaciones, en un principio diseñadas para
sistemas para-catadióptricos, se reescriben para ser utilizadas por sistemas hipercatadióptricos, con lo que se gana generalidad en el método. El segundo paso es
la implementación de un sistema original para clasificar las lı́neas y los puntos de
fuga aprovechando las propiedades geométricas de estas lı́neas. En el capı́tulo 3.3
se muestra como éste nuevo método consigue resultados similares de clasificación
mejorando notablemente el tiempo de ejecución. Es importante resaltar que en el
método propuesto se parte de la hipótesis de verticalidad de la cámara, condición
que se cumple en la gran mayorı́a de escenarios dónde la cámara va montada sobre
un vehı́culo. Si esta condición no se cumpliese aumentan los grados de libertad y
el coste computacional, pero el método propuesto podrı́a ser también utilizado.
Como el resultado buscado es la creación de un mapa de navegabilidad denso
próximo a la posición actual , y no un algoritmo qde estimación de un mapa
(SLAM), en la segunda parte del proyecto se presenta un método innovador
aprovechando las caracterı́sticas de las imágenes catadióptricas para llevar a cabo
la detección de la estructura de la escena. Mediante un estudio de imágenes
en diversas situaciones, se llega a la conclusión de que los segmentos de lı́neas
horizontales extraı́dos son demasiado abundantes y es difı́cil reconocer cuales son
los importantes. Al contrario, la gran mayorı́a de los segmentos correspondientes
a lı́neas verticales están bien definidos, y se cumple la caracterı́stica de que
habitualmente nacen desde la región que separa pared y suelo.
Por esta razón se le da especial importancia a éste tipo de lı́neas, y a partir
de éstas y de un conjunto de consideraciones geométricas que caracterizan las
imágenes catadióptricas, se diseña una secuencia de procesamiento de la imágen
para conseguir extraer un contorno sobre la imagen, que define los lı́mites entre
pared y suelo de la escena real. Hay que tener en cuenta que los objetos distribuidos
a lo largo de la habitación pueden generar gran variedad de esquinas, las cuales son
7. Conclusiones
69
difı́ciles de detectar de forma automática, por lo que el método propuesto busca las
fronteras que mejor encajen pero a su vez tengan la geometrı́a más sencilla posible.
Los resultados obtenidos por el algoritmo desarrollado que utiliza una única
imagen son bastante buenos, pero en ocasiones, se cometen errores en ciertas
imágenes debido a que la extracción de lı́neas usando el detector Canny [10] no
siempre es precisa, por lo que el ruido en la imagen o la omisión de segmentos
detectados es inevitable.
Por ello, el siguiente paso de nuestra propuesta consiste en propagar el
algoritmo desarrollado sobre una secuencia de imágenes tomadas por una cámara
en mvoimiento. De esta manera, las escenas en las que la región del suelo ha sido
bien interpretado ayudaran a compensar aquellas en las que se han introducido
errores.
Este proceso de propagación sobre la secuencia de imágenes se lleva a cabo
mediante homografı́as que se calculan a partir de lı́neas correspondientes entre las
imágenes. De esta forma, se parte de información ya disponible y no se mal emplea
tiempo ni memoria en la adquisición de información adicional con funcionalidad
exclusiva en este proceso. Se observa como al incluir esta parte al algoritmo los
resultados mejoran considerablemente.
Los experimentos se han realizado sobre la base de datos disponible en Internet,
COGNIRON [26], que cuenta con una gran diversidad de escenarios lo que permite
comprobar el rendimiento y robustez del método propuesto.
70
Trabajo futuro
Como trabajo futuro se podrı́an considerar diferentes bases de datos para
comprobar la robustez del método ante imágenes tomadas por diferentes tipos
de cámaras y en diferentes tipos de entornos. Adicionalmente, pueden ampliarse
las restricciones geométricas empleadas para llevar a cabo la detección de la
distribución estructural a partir de una única imagen, para reducir errores y
ser capaces de detectar objetos o elementos que se encuentren en orientaciones
diferentes a las tres direcciones principales de la escena.
Una vez determinados los lı́mites entre las paredes con el suelo, y conocida
la altura a la que se encuentra la cámara del sistema catadióptrico que toma las
imágenes, es posible determinar la posición 3D de los puntos de la escena. De esta
manera, podrı́amos convertir la representación circular de navegabilidad de este
tipo de imágenes, en un modelo 3D a escala, que aplicado a una secuencia completa
de imágenes podrı́a llegar a representar un mapa del interior de un edificio.
Índice de figuras
1.1. Casco con cámara omnidireccional para tareas de asistencia personal. . . . . .
10
1.2. Recuperación estructural de una escena en imágenes convencionales [25].
Resultado etiquetado manualmente. . . . . . . . . . . . . . . . . . . . .
11
1.3. Ejemplo de sistema catadióptrico central con espejo hiperbólico. El primer foco,
F1, está situado dentro del espejo, y el segundo foco, F2, coincide con el centro
óptico dentro de la lente. . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4. Comparación entre imagen tomada por una cámara convencional y una cámara
omnidireccional donde se pueden observar las caracterı́sticas definidas en la
literatura. Ambas fotos tomadas en la plaza de las Ingenierı́as, que separa el
edificio Torres Quevedo y el edificio Betancourt. . . . . . . . . . . . . . . .
13
1.5. Esquema de las etapas principales del algoritmo desarrollado junto a los procesos
más importantes de cada una. . . . . . . . . . . . . . . . . . . . . . . .
15
2.1. Modelo de la Esfera para sistemas catadióptricos. . . . . . . . . . . . . . .
18
2.2. Pasos de la proyección del Modelo de la Esfera. . . . . . . . . . . . . . . .
20
2.3. Proyección de una recta mediante el modelo de la esfera. . . . . . . . . . . .
21
3.1. Resultados de Clasificación sobre la Imagen: (a) Componentes conectados
(colores vivos) junto a las cónicas que los aproximan (azul). (b) Clasificación de
los elementos conectados según direcciones principales. En este caso se detectan
4, pero únicamente tres son representativas: Verticales(azul), Horizontales en X
(rojo), Horizontales en Y (verdes). . . . . . . . . . . . . . . . . . . . . .
26
3.2. Resultados de Clasificación sobre la Esfera Unitaria: (a) Componentes conectados (colores vivos) junto a las cónicas que los aproximan (azul). (b) Clasificación
de los elementos conectados según direcciones principales. Verticales(azul), Horizontales en X (rojo), Horizontales en Y (verdes). . . . . . . . . . . . . . .
135
28
136
ÍNDICE DE FIGURAS
3.3. En la imagen de la izquierda se representan 3 trazos en la misma dirección de la
3.4.
base Euclı́dea (e1 ,e2 ,e3 ) los cuales se proyectan en la esfera mediante planos de
proyección representados por las normales (n⊥e1 , n⊥e2 , n⊥e3 ) respectivamente
y se muestran como un punto de su color. En las dos siguientes imágenes se
enseña como quedarı́a una posible distribución de varias normales proyectadas
sobre la esfera ante caso Euclı́deo y caso general dada una rotación R. . . . .
30
Izquierda: Distribución de las normales sobre la esfera unitaria a partir de
datos reales. Derecha: Clasificación de las normales de la izquierda según las 3
direcciones principales. Los puntos gordos corresponden a la intersección entre
grandes cı́rculos, es decir, los puntos de fuga. . . . . . . . . . . . . . . . .
31
3.5. Comparación entre la clasificación obtenida por los métodos descritos. (a)
Clasificación sobre imagen catadióptrica, tiempo en clasificar 1.5 sec. (b)
Clasificación sobre la esfera, tiempo en clasificar 120 sec. (c) Método propuesto,
tiempo en clasificar 0.5 sec . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.1. Ejemplo de una imagen tomada con un sistema hipercatadióptrico y el resultado
4.2.
4.3.
4.4.
deseado después de aplicar el algoritmo. En la imagen, el color azul representa
el suelo, el color rojo representa paredes paralelas en una dirección dominante,
y el color verde paredes paralelas en una dirección dominante ortogonal a la
anterior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
Discretización de lı́neas en puntos. Se puede apreciar como solo las lı́neas
horizontales (rojas y verdes) cercanas a las verticales (azules) son incluidas en
el proceso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Formas más comunes de los suelos presentes en escenas de interior. La zona
. . . . . . . . . .
sombreada en rojo representa el cuadrado básico central.
36
Imagen virtual simulando la hipótesis de cuatro paredes. Se pueden observar
las 4 regiones definidas al segmentar la imagen mediante las lı́neas imaginarias
que unen los puntos de fuga. . . . . . . . . . . . . . . . . . . . . . . . .
37
4.5. Puntos de los grupos GZ (azul), GX (rojo) and GY (verde) separados para los 4
posibles casos. Los segmentos discontinuos rojo y verde son las lı́neas imaginarias
que unen los respectivos VPs y dividen la imagen en dos partes. . . . . . . .
38
4.6. A la izquierda se muestran las cónicas generadas más votadas para uno de
los cuatro casos. En la imagen central se pueden observar todas las cónicas
extraı́das donde cada color representa cada uno de los casos. La foto de la
derecha corresponde con el resultado obtenido para la primera hipótesis de 4
paredes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
ÍNDICE DE FIGURAS
137
4.7. A la izquierda: resultado obtenido para la primera hipótesis de 4 paredes dónde
se ven los bordes B1 , B2 , B3 y B4 que definen 4 sectores. A la derecha:
Ampliación del sector 2, dónde se observan las cónicas seleccionadas (verde)
y las no seleccionadas (blanco) candidatas a generar la sección que expandirá el
suelo. Notar cómo la correcta combinación entre B2 dos cónicas laterales y una
central (marcado en amarillo) conforman una expansión perfecta. . . . . . .
4.8. Diagrama de flujo seguido para por el algoritmo para obtener la hipótesis final.
4.9. 1)Ampliación del primer sector. 2a)Primera hipótesis del segundo sector, al
haber inliers en el interior hay que reducir. 2b)Segunda hipótesis del sector 2,
esta vez corresponde con la ampliación. 3)Ampliación del tercer sector. 4)No se
encuentran ampliaciones, esto es debido a que el borde ya estaba en el lugar
correcto. F)Hipótesis final después de las ampliaciones de las cuatro caras. . . .
5.1.
5.2.
5.3.
Homografı́a entre dos puntos de vista O y O∗ .
41
42
43
. . . . . . . . . . . . . . .
46
Caracterı́sticas extraı́das y posibles emparejamientos entre imágenes de una
escena tomadas desde posiciones distintas después de aplicar la máscara. . . .
49
Emparejamientos votantes de la homografı́a ganadora. Los cı́rculos rojos
corresponden a las caracterı́sticas detectadas en la imagen actual. Los puntos
verdes son los emparejamientos obtenidos al aplicar la homografı́a H a sus
correspondientes obtenidos desde el otro punto de vista (figura 5.2). . . . . .
51
5.4. Resultados de homografı́as. En la primera imagen se muestra la hipótesis de
suelo (en rojo) para una imagen I. En el resto de figuras, se muestra la hipótesis∗
de suelo (en blanco) según la imagen I ∗ observada de una posición desplazada
con respecto a I. En rojo se adjunta el resultado de aplicar diversas homografı́as
que transforman la hipótesis desde la imagen I a la imagen I ∗ . La escena de
arriba a la derecha muestra el resultado de aplicar una homografı́a donde la
similitud es alta. Las imágenes de la fila inferior corresponden a homografı́as
fallidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.5. Contorno de la hipótesis de una imagen I discretizado en N puntos. Se aplica
homografı́a Hi y se calcula la distancia entre puntos con la ecuación 5.13 para
comprobar cuan buena es esta homografı́a. . . . . . . . . . . . . . . . . .
55
5.6. Izquierda. Ejemplo de una hipótesis con defectos (el suelo abarca zonas que
deberı́an ser pared). Centro: Sobre la hipótesis de suelo actual (negro) se
proyectan hipótesis de imágenes anteriores, y se elige la que más concuerda con
el resto del conjunto(rojo). Derecha: Se promedia la hipótesis ganadora (rojo)
con las cercanas para dar el resultado final. . . . . . . . . . . . . . . . . .
56
6.1. Comparativa entre los tres métodos presentados en el capı́tulo 3 aplicado
a cinco imágenes diferentes. (a) Clasificación sobre imagen catadióptrica.
(b) Clasificación sobre la esfera. (c) Método propuesto. . . . . . . . . .
61
138
ÍNDICE DE FIGURAS
6.2. Ejemplos experimentales obtenidos para 5 escenas diferentes. (a) Imagen
original. (b) Clasificación de lı́neas y extracción de puntos que votarán en
la elección de bordes. (c) Salida final de nuestro algoritmo. (d) Resultado
deseado, etiquetado manualmente. . . . . . . . . . . . . . . . . . . . .
62
6.3. Secuencia de 7 imágenes seguidas. La primera fila muestra resultados obtenidos
sin aplicar la homografı́a. En la segunda fila se puede ver cómo incluyendo el uso
de las homografı́as los resultados son más homogéneos y se corrigen los posibles
errores de las hipótesis originales. . . . . . . . . . . . . . . . . . . . . . .
64
6.4. Las dos primeras filas muestran una secuencia de 14 imágenes sin aplicar
homografı́a. Nótese como rojo y verde alterna entre imágenes por no poder
asegurar concordancia entre puntos de fuga. Las dos filas inferiores muestran
la misma secuencia al aplicar la homografı́a. Aquı́ se puede observar como las
paredes conservan el mismo código de colores. Las últimas imágenes muestran
transición entre pasillo en T y pasillo en I. . . . . . . . . . . . . . . . . .
64
A.1. Figura con los parámetros que definen la hipérbola. . . . . . . . . . . . . .
A.2. Descripción gráfica del parámetro b. . . . . . . . . . . . . . . . . . . . .
A.3. Definición gráfica de los parámetros p y d. . . . . . . . . . . . . . . . . .
73
75
76
B.1. Representación de sistema catadióptrico central donde todos los rayos incidentes
pasan por el foco del espejo hiperbólico. De izquierda a derecha: Espejo
parabólico, elı́ptico e hiperbólico. . . . . . . . . . . . . . . . . . . . . . .
B.2. Imagen genérica de la reflexión de un rayo sobre un espejo.
. . . . . . . . .
C.1. Proyección de un punto en la imagen utilizando un modelo de espejo hiperbólico.
De los dos puntos generados (xIM1 , xIM2 ) solo uno es fı́sicamente correcto. . .
C.2. Equivalencia entre modelo de la esfera unitaria y el método de proyección
empleando un espejo hiperbólico. . . . . . . . . . . . . . . . . . . . . . .
D.1. Intersección de la proyección de dos rectas del espacio en dos puntos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
plano.
D.2. Intersección de dos cónicas en cuatro puntos y el triángulo autopolar.
D.3. Intersección de la proyección de dos rectas del espacio en dos puntos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
plano.
79
80
86
88
en el n-
. . . . .
. . . .
97
98
en el n-
. . . . . 101
E.1. Pirámide gaussiana compuesta por 5 escalas y 6 octavas. . . . . . . . . . .
E.2. Pirámide de diferencia de gaussianas. . . . . . . . . . . . . . . . . . . . .
E.3. En rojo: Pı́xel en estudio. En verde: Vecinos en escala actual. En amarillo:
Vecinos de escala anterior y posterior. . . . . . . . . . . . . . . . . . . .
E.4. Keypoints detectados (en verde). . . . . . . . . . . . . . . . . . . . . . .
E.5. En verde: Keypoints iniciales. En rojo: Keypoints no descartados. . . . . . .
104
105
106
106
108
ÍNDICE DE FIGURAS
139
E.6. Arriba: Ventana 16x16 alrededor del keypoint. Abajo izquierda: m(x,y). Abajo
derecha: θ(x,y). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
E.7. Izquierda: Región de gradientes 16 × 16. Centro: Ventana circular gaussiana.
Derecha: Histograma final del keypoint. . . . . . . . . . . . . . . . . . . . 110
E.8. Izquierda: Subdivisiones 4x4. Centro: Ventanas circulares gaussianas. Derecha:
Descriptor compuesto por 16 histogramas de 8 celdas. . . . . . . . . . . . . 111
F.1. Ejemplos experimentales obtenidos para 4 corredores. Fila 1: Transición
entre pasillo y habitación. Fila 2) Corredor vertical. Fila 3) Pasillo
horizontal con gran diferencia de luminosidad. Fila 4) Corredor saturado
de objetos y decoración en las paredes. . . . . . . . . . . . . . . . . . .
F.2. Ejemplos experimentales obtenidos para 4 pasillos con formas complejas.
Fila 1: Pasillo con desviación hacia abajo y unas escaleras (amarillo) que
no pertenecen a ninguna dirección dominante. Fila 2) Punto de encuentro
entre varios corredores. Fila 3) Final de un pasillo que se bifurca en
otros dos cuyas amplitudes son distintas. Puerta semiabierta (amarillo)
no pertenece a direcciones principales. Fila 4) Pasillo con desviación hacia
abajo y muy saturado de objetos. . . . . . . . . . . . . . . . . . . . .
F.3. Ejemplos experimentales obtenidos para 5 escenas de habitaciones. Fila
1: Habitación con cristaleras y diferencias de iluminación. Fila 2) Sala
con impresora cuyas lı́neas pueden confundirse con las del suelo . Fila 3)
Habitación con columna en el centro. Fila 4) Biblioteca con mesas y sillas
donde las direcciones principales no están muy claras. Fila 5) Comedor
con muchos objetos y lámparas colgadas en el techo. . . . . . . . . . .
F.4. Cuatro ejemplos donde se dan fallos en la obtención de la distribución
estructural. Fila 1) Se confunde el suelo con la lı́nea de una mesa en
la parte superior de la imagen. Fila 2) Se detectan demasiadas lı́neas
ruidosas en el suelo, lo que provoca pensar que el corredor es más estrecho
de lo que en realidad es. Fila 3) No se detecta la columna situada en el
centro de la imagen. Fila 4) En este pasillo la pared que conforma la parte
inferior de la imagen está muy saturada de lı́neas, y al no extraer bien la
lı́nea que define el lı́mite entre pared y suelo, se genera una ampliación
en el proceso de expansión que no deberı́a haberse realizado. La mayorı́a
de estos errores serán eliminados mediante la aplicación de homografı́as.
114
115
116
117
H.1. In the sphere model, every line from the image is represented by its
normal on the sphere. The figure represents the sphere where each point
corresponds to a normal vector (Colorcode: X=Red, Y=Green, Z=Blue).
From left to right: Sphere with perfect data; Sphere of a real image;
classification of the previous data using our algorithm in the horizontal
plane. Big dots represent VPs. . . . . . . . . . . . . . . . . . . . . . . 125
140
ÍNDICE DE FIGURAS
H.2. Left: Lines extracted by Canny Edge detector after pruning step. Right:
H.3.
H.4.
H.5.
H.6.
H.7.
Same lines grouped in the 3 dominant directions according to our
classification. Big dots represent VPs. . . . . . . . . . . . . . . . . . .
Left: Selection of points as explained in Section H.3.1. Right: Graphic
explanation for distance measurement between point and conic in
Section H.3.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Most common room/hall shapes (top view). Red grid represents the basic
square we are seeking in section H.3.3. . . . . . . . . . . . . . . . . .
First two images show points from groups GZ , GX and GY under
constraints exposed in section. H.3.3, where blue, red and green dots
correspond to GZ , GX and GY points respectively. Dashed red and
green lines are the imaginary lines, going through the VPs, which divide
the image in 2 parts. Finally, black conics represent the most voted
boundaries for each case. Right image shows the result of combining
those boundaries to generate the first hypothesis. . . . . . . . . . . . .
Left: Synthetic example depicting the possible cases (B1 and B2 are
expandable regions, B3 will not be expanded, and B4 corresponds to
an occluded corner). Black line represents the actual room boundaries,
first hypothesis in dashed blue, and final expansions in dashed red. Right:
final result of a real example. . . . . . . . . . . . . . . . . . . . . . .
Examples of experimental results obtained for five different images.
(a)Input images. (b) Line classification and extracted points which vote
for boundary selection. (c) Output images by our algorithm. (d) Ground
truth, manually labeled. . . . . . . . . . . . . . . . . . . . . . . . . .
126
128
129
130
131
133
Índice de tablas
2.1. Parámetros del espejo para el modelo de la esfera . . . . . . . . . . . . . .
18
6.1. Valores de del rendimiento obtenidos para las imágenes mostradas en la
Fig. 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
A.1. Parámetros de la hipérbola . . . . . . . . . . . . . . . . . . . . . . . . .
77
H.1. Performance values obtained for images of Fig. H.7 . . . . . . . . . . . 132
141
142
ÍNDICE DE TABLAS
Bibliografı́a
[1] S. Baker and S. K. Nayar. A theory of single-viewpoint catadioptric image formation.
International Journal of Computer Vision, 35:175–196, 1999.
[2] J. Barreto. General Central Projection Systems: Modeling, Calibration and Visual
Servoing. PhD thesis, 2003.
[3] J. P. Barreto and H. Araujo. Issues on the geometry of central catadioptric image
formation. In IEEE Conf. on Computer Vision and Pattern Recognition, pages
422–427, 2001.
[4] J. C. Bazin, Y. Jeong, P. Y. Laffont, I. S. Kweon, C. Demonceaux, and P. Vasseur.
An original approach for automatic plane extraction by omnidirectional vision. In
IEEE/RSJ Int. Conf. on Int. Robots and Systems, pages 752–758, 2010.
[5] J. C. Bazin, I. Kweon, C. Demonceaux, and P. Vasseur. Rectangle extraction in
catadioptric images. In International Conference on Computer Vision, pages 1–7,
2007.
[6] J. C. Bazin, I. Kweon, C. Demonceaux, and P. Vasseur. A robust top-down approach
for rotation estimation and vanishing points extraction by catadioptric vision in
urban environment. In IEEE/RSJ International Conference on Intelligent Robots
and Systems, pages 346–353, 2008.
[7] S. Benhimane and E. Malis. Homography-based 2d visual servoing. In ICRA, pages
2397–2402, 2006.
[8] J. Bermudez, L. Puig, and J. J. Guerrero.
catadioptric systems. In OMNIVIS, 2010.
Line extraction in central hyper-
[9] J. Bermudez-Cameo, L. Puig, and J. J. Guerrero. Hypercatadioptric line images
for 3d orientation and image rectification. Robotics and Autonomous Systems,
60(6):755–768, 2012.
[10] J. F. Canny. A variational approach to edge detection. In AAAI, pages 54–58, 1983.
[11] J. M. Coughlan and A. L. Yuille. Manhattan world: Compass direction from a
single image by bayesian inference. In Int. Conf. on Computer Vision, pages 941–
947, 1999.
143
144
BIBLIOGRAFÍA
[12] J. Enebral González. Detection and automatic keypoint association in different
applications. Universiat Politecnica de Catalunya, 2009.
[13] C. Geyer and K. Daniilidis. A unifying theory for central panoramic systems and
practical applications. In ECCV (2), pages 445–461, 2000.
[14] J. J. Guerrero and C. Sagüés. From lines to homographies between uncalibrated
images. In IX Spanish Symposium on Pattern Recognition and Image Analysis,
pages 233–240, 2001.
[15] H. Hadj-Abdelkader, Y. Mezouar, N. Andreff, and P. Martinet. Decoupled
homography-based visual servoing with omnidirectional cameras. In IROS, pages
2332–2337, 2006.
[16] R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision.
Cambridge University Press, second edition, 2004.
[17] V. Hedau, D. Hoiem, and D. Forsyth. Recovering the spatial layout of cluttered
rooms. In IEEE International Conference on Computer Vision, pages 1849–1856,
2009.
[18] D. Lee, M. Hebert, and T. Kanade. Geometric reasoning for single image structure
recovery. In IEEE Conference on Computer Vision and Pattern Recognition, pages
2136–2143, June 2009.
[19] G. López-Nicolás, J. J. Guerrero, and C. Sagüés. Multiple homographies with
omnidirectional vision for robot homing. Robotics and Autonomous Systems,
58(6):773–783, 2010.
[20] D. G. Lowe. Distinctive image features from scale-invariant keypoints. International
Journal of Computer Vision, 60(2):91–110, 2004.
[21] J. Omedes, G. López-Nicolás, and J. J. Guerrero. Detección de suelo y paredes
con visión monocular para navegación por interiores. In XXXIII Jornadas de
Automática, pages 1–8, Vigo, Septiembre(enviado), 2012.
[22] J. Omedes, G. López-Nicolás, and J. J. Guerrero. Omnidirectional vision for indoor
spatial layout recovery. In 12th IAS Intelligent Autonomous Systems Conference,
pages 1–5, Jeju Island, June, 2012.
[23] N. D. Ozisik, G. López-Nicolás, and J. J. Guerrero. Scene structure recovery from
a single omnidirectional image. In ICCV Workshops, pages 359–366, 2011.
[24] P. Sturm and P. Gargallo. Conic fitting using the geometric distance. In Proceedings
of the Asian Conference on Computer Vision, Tokyo, Japan, pages 784–795, 2007.
[25] G. Tsai, C. Xu, J. Liu, and B. Kuipers. Real-time indoor scene understanding using
bayesian filtering with motion cues. In ICCV, pages 121–128, 2011.
BIBLIOGRAFÍA
[26] Z. Zivkovic, O. Booij, and B. Krose. From images to rooms.
Autonomous Systems, 55(5):411–418, 2007.
145
Robotics and
Descargar