Mapeado y localización topológicos mediante información visual
- Romero Cortijo, Anna Maria
- Miguel Cazorla Quevedo Director/a
Universidad de defensa: Universitat d'Alacant / Universidad de Alicante
Fecha de defensa: 27 de mayo de 2013
- Vicente Matellán Olivera Presidente
- José García Rodríguez Secretario/a
- Ismael García Varea Vocal
Tipo: Tesis
Resumen
En los últimos años, la solución al problema del SLAM (Simultaneous Localization and Mapping, Localización y Mapeado Simultáneo) ha sido ampliamente tratado ya que es una de las tareas más importantes dentro del campo de la robótica móvil. El SLAM consiste en crear el mapa del entorno desconocido por el cual el robot se está moviendo y, al mismo tiempo, localizar a dicho robot dentro del mapa. La gran mayoría de las soluciones aportadas por la literatura actual permiten el uso de cualquier sensor que capture información del entorno. A pesar de no ofrecer la misma precisión que un láser 3D, las cámaras están siendo cada vez más utilizadas para la resolución de problemas de SLAM y navegación además, se está produciendo un auge en el uso de cámaras omnidireccionales (cámaras que capturan imágenes de 360º) ya que la información capturada (conocida como características visuales) es mucho mayor que la que ofrece una cámara normal. Aunque se puede utilizar visión para resolver el SLAM de tipo métrico (construye mapas donde se conoce la posición exacta de los obstáculos y del robot), las soluciones que utilizan visión para resolver el SLAM topológico son más comunes. El SLAM topológico se basa en la construcción del mapa de forma similar a la forma en que los humanos nos orientamos en nuestro entorno. En el SLAM topológico se construyen mapas topológicos que representan el entorno como una serie de puntos (zonas, regiones, localizaciones) donde es posible encontrar al robot y almacenan las relaciones de vecindad entre los distintos puntos del mapa, es decir, permite conocer cómo llegar de un punto a otro del entorno. En esta tesis proponemos el uso de imágenes omnidireccionales para resolver el problema del mapeado y la localización topológica a partir de dos aproximaciones distintas: la primera desde una perspectiva incremental y no supervisada y la segunda desde el enfoque del aprendizaje supervisado. El primer método que proponemos es un algoritmo de localización y mapeado topológico incremental y no supervisado basado en información visual. El mapa creado por dicho algoritmo es un grafo donde los puntos (zonas) del entorno se representan por nodos y las relaciones de vecindad son las aristas del grafo. Puesto que el algoritmo utiliza imágenes omnidireccionales, los nodos agrupan todas aquellas imágenes que describen la misma escena y, por tanto, comparten características visuales parecidas. Así, para la construcción de mapas topológicos con información visual, el algoritmo de mapeado topológico necesita resolver en primer lugar el problema de reconocimiento de escenas o cierre de ciclo. Nuestro algoritmo de comparación de imágenes se basa en la estructura local que forman las características visuales para establecer cuáles son los emparejamientos de características válidos. Para eliminar los falsos positivos que aparecen al emparejar las características individualmente, planteamos la utilización de grafos como estructuras que proporcionan información útil sobre las relaciones de vecindad de las características o puntos invariantes. De este modo comprobamos la consistencia no solamente de un único emparejamiento, sino la de un conjunto de características que tienen algún tipo de relación. El segundo método propuesto es un algoritmo de aprendizaje supervisado que selecciona las mejores características que describen a cada nodo y un algoritmo de localización basado en el mapa topológico aprendido. En los mapas topológicos cada nodo está compuesto por varias imágenes que describen una zona del entorno. La selección de una única imagen para definir el nodo puede no ser suficiente para describirlo en su totalidad, mientras que el uso de todas las imágenes puede consumir un tiempo prohibitivo. Nuestro método de aprendizaje del mapa topológico selecciona las mejores características (entre todas las imágenes de cada nodo) que describen a los nodos. El algoritmo de localización utiliza las características seleccionadas para determinar cuál es el nodo del mapa al que pertenece la imagen capturada. Para conseguir los mejores resultados en los dos métodos propuestos, hemos estudiado diferentes algoritmos de segmentación de la imagen en regiones además de los algoritmos de extracción de características visuales más utilizados en la literatura. Los resultados obtenidos por el método de comparación de imágenes dependen en gran medida del algoritmo de segmentación en regiones y el de extracción de características utilizados. Una buena segmentación, donde las regiones sean constantes en el tiempo y la imagen no esté sobre-segmentada, y un buen conjunto de características visuales (invariantes a escala, rotación, cambios de iluminación, que sean repetibles a lo largo de la secuencia y con descriptores lo suficientemente dispares como para permitir un emparejamiento robusto) nos proporcionan comparaciones más exactas (por lo que tenemos una mayor confianza en el resultado). Del mismo modo, un buen método de comparación entre imágenes permite al algoritmo de localización y mapeado topológico construir mapas más robustos y localizar al robot con una mayor certidumbre. El primer algoritmo de mapeado propuesto construye el mapa de forma similar a [Valgren et al., 2006] usando nuestro propio método de comparación de imágenes diseñado especialmente para imágenes omnidireccionales. Al contrario que en [Cummins and Newman, 2010], donde se emparejan las imágenes una a una, nuestra propuesta construye el mapa topológico completo que describe el recorrido efectuado por el robot. Además, el mapa se construye desde cero, de forma incremental, sin necesidad de ningún paso previo de aprendizaje. La segunda propuesta ha consistido en la utilización de un método de aprendizaje para seleccionar las características que mejor describen a cada nodo del mapa topológico y utilizarlas durante la localización (al contrario que en el método anterior, donde se seleccionaba una de las imágenes del nodo para realizar las comparaciones). En este caso el aprendizaje del mapa topológico se plantea como el aprendizaje de los distintos nodos que forman el mapa creado manualmente y la localización consiste en evaluar cuál es el nodo al que pertenece cada una de las imágenes que forman la trayectoria. En este caso se han probado dos aproximaciones diferentes durante la fase de aprendizaje aunque ambas se basaban en el algoritmo AdaBoost. La primera aproximación es una adaptación del algoritmo de Viola-Jones para el problema de la localización. Este algoritmo trata el problema del aprendizaje de múltiples clases como múltiples problemas de 2 clases. La segunda aproximación está basada en el algoritmo SAMME que tiene en cuenta el problema multi-clase. Las dos soluciones obtienen buenos resultados para la tarea de la localización. No obstante, al igual que en el algoritmo presentado con anterioridad, los resultados de ambos algoritmos dependen del algoritmo de extracción de características, y si este no encuentra las suficientes características como para describir de forma inequívoca una zona del entorno el algoritmo de localización no obtendrá buenos resultados en dicha zona. A pesar de que se han logrado buenos resultados utilizando los dos algoritmos de aprendizaje, la adaptación basada en SAMME ha obtenido mejores resultados que la basada en el algoritmo de Viola-Jones, mejorando el número de imágenes bien clasificadas sin aumentar significativamente el número de imágenes que han sido clasificadas erróneamente. Además, la combinación de detector-descriptor que mejores resultados ha dado para el algoritmo de localización supervisado ha sido GFTT-SIFT, que alcanza casi el 90% de aciertos. A pesar de los buenos resultados obtenidos por dicha combinación, la elección del tipo de característica dependerá en gran medida tanto del resultado esperado como del tiempo de ejecución disponible (para algoritmos que se ejecuten en tiempo real se necesitaría otro tipo de característica que tardase menos tiempo durante la comparación). Los dos algoritmos propuestos pueden ser englobados en un único algoritmo, es decir, podríamos utilizar el primer algoritmo para determinar las imágenes que pertenecen a un nodo. El algoritmo de aprendizaje utilizaría dichas imágenes para seleccionar las características que describen al nodo y de este modo sustituir la imagen que representa a dicho nodo y utilizarlas durante los posibles cierres de ciclo. De esta forma, eliminaríamos el paso de la creación manual del mapa topológico además de obtener representantes del nodo más robustos (las características pueden pertenecer a varias imágenes, en vez de depender de las características de una única imagen).