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