En adelante vamos a suponer que nos encontramos en un entorno estructurado. Este tipo de suposición es perfectamente válida para la mayoría de entornos por los cuales un robot se va a mover: pasillos, habitaciones, naves industriales, etc. Sin embargo, también es perfectamente válido para entornos de exterior, siempre y cuando nos aparezcan estructuras construidas por el hombre tales como aceras, edificios, carreteras, etc.
![]()
La esfera se utiliza como acumulador: zonas de la esfera donde intersectan círculos indican orientaciones comunes entre los segmentos que han generado los círculos. La idea de este método consiste en buscar zonas de la esfera más votadas, al estilo de la transformada de Hough. Este trabajo inicial fue extendido en [Magee y Aggarwal1984] y [Quan y Mohr1989], utilizando geometría esférica y transformada de Hough jerárquica, respectivamente. En general, la mayoría de los métodos propuestos asumen que los puntos iniciales y finales de los segmentos están bien calculados. Otros métodos propuestos basados en este enfoque son: [Brillault-O Mahoney1991], [McLean y Kotturi1995] y [Shufelt1999b]. Recientemente se ha propuesto un nuevo enfoque [Coughlan y Yuille1999] que no toma decisiones a priori sobre si un píxel pertenece o no a una arista, sino que se basa en un enfoque bayesiano. Además, explota las restricciones geométricas que se presentan en un mundo estructurado. Profundizamos este enfoque en este capítulo.
![]()
Algoritmo de obtención del ángulo de orientación de la cámara Alg_CA
Entrada: Imagen de entrada
Salida: Ángulo de orientación detectado.
Procesar la imagen para obtener el gradiente (magnitud y orientación).
Calcular el Pon y el Poff de cada píxel de la imagen.
Para cada punto de la imagen hacer
Para cada ángulo posible ([-45,45]) hacer
Calcular la evidencia del píxel con el ángulo actual mediante la Ecuación 4.6.
Acumular la evidencia para el ángulo en concreto.
FinPara
FinPara
Devolver el ángulo con valor máximo de evidencia.
Figure 4.3: Algoritmo de obtención del ángulo de orientación de la cámara.
![]()
Figure 4.4: Gráficas del MAP frente al ángulo de orientación. Estas gráficas se corresponden con las Figuras 4.5 y 4.9.
![]()
![]()
Figure 4.5: Resultado obtenido en imagen de exterior (1). El ángulo de orientación de la cámara obtenido fue de -18º.
Figure 4.6: Resultado obtenido en imagen de exterior (2). El ángulo de orientación de la cámara obtenido fue de 32º.
![]()
Figure 4.7: Resultado obtenido en imagen de exterior (3). El ángulo de orientación de la cámara obtenido fue de 20º.
![]()
Figure 4.8: Resultado obtenido en imagen de exterior (4). El ángulo de orientación de la cámara obtenido fue de 8º.
![]()
Figure 4.9: Resultado obtenido en imagen de interior (1). El ángulo de orientación de la cámara obtenido fue de 37º.
![]()
Figure 4.10: Resultado obtenido en imagen de interior (2). El ángulo de orientación de la cámara obtenido fue de -15º.
![]()
Figure 4.12: Resultado obtenido en imagen de interior (3). El ángulo de orientación de la cámara obtenido fue de 10º.
En cuanto a posibles ampliaciones del método, una inmediata es incorporar las posibles orientaciones de la cámara en los dos ejes restantes. Esto no parece una tarea fácil a priori, pero permitiría una localización exacta de la orientación de la cámara. También, una posible ampliación es la utilización de mejores filtros de gradiente. En el trabajo antes mencionado [Konishi et al.1999] presentan una medida de la efectividad de los filtros de obtención de aristas. La utilización de filtros de color a diferentes escalas proporcionaría mejores resultados en cuanto a la localización y dirección exacta de las aristas. Sin embargo, el color es una característica muy dependiente del entorno en el que nos movemos. Los colores de un prado al aire libre no son los mismos que en el interior de un edificio de oficinas.
![]()
![]()
|
|||||||||||||||||
|
![]()
Figure 4.18: Función log posteriori. Izquierda: utilizando el máximo de la función. Derecha: utilizando la suma.
Algoritmo de obtención del ángulo de orientación de la cámara Alg_CAA
Entrada: Imagen de entrada
Salida: Ángulo de orientación detectado.
Aplicar el algoritmo de detección de uniones y el de agrupamiento de uniones.
Convertir los caminos en segmentos rectos.
Para cada segmento hacer
Para cada ángulo posible ([-45,45]) hacer
Calcular la evidencia del segmento con el ángulo actual mediante la Ecuación 4.6 y utilizando el ángulo de la normal del segmento. Multiplicar la evidencia por la longitud del segmento.
Acumular la evidencia para el ángulo en concreto.
FinPara
FinPara
Devolver el ángulo con valor máximo de evidencia.
Figure 4.19: Algoritmo de obtención del ángulo de orientación de la cámara utilizando información de arista.
Figure 4.20: Resultado obtenido en imagen de exterior. El ángulo de orientación de la cámara obtenido fue de -15º.
Figure 4.21: Resultados obtenidos en imágenes de exterior. El ángulo de orientación de la cámara obtenido fue de 22º.
Figure 4.22: Resultados obtenidos en imágenes de exterior. El ángulo de orientación de la cámara obtenido fue de 9º.
Figure 4.23: Resultados obtenidos en imágenes de interior. El ángulo de orientación de la cámara obtenido fue de 34º.
Figure 4.24: Resultados obtenidos en imágenes de interior. El ángulo de orientación de la cámara obtenido fue de -13º.
Figure 4.25: Resultado obtenido en imagen de interior. El ángulo de orientación de la cámara obtenido fue de 13º.
Figure 4.26: Separación de aristas dependiendo de si están alineadas con el mundo de Manhattan o no.
Figure 4.27: Separación de aristas dependiendo de si están alineadas con el mundo de Manhattan o no.