Sistema para localizarse visualmente en un entorno a partir de una imagen. El sistema construye una topología basada en la situación física y descriptores del color de los distintos elementos que constituyen la escena y los compara con las topologías correspondientes de los panoramas de que dispone en su base de datos. Se admiten distorsiones, cambios de iluminación, perspectiva, elementos dinámicos, etc trabajando con invariantes y con estadística.
Sistema de localización visual por color (M. Dominguez Duran)
1. Localización Por Visión
Usando Estructuras De Color
Miguel Ángel Domínguez Durán
Departamento De Tecnología
Electrónica
Universidad De Málaga
2. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
3. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
4. Introducción
Tradicionalmente el concepto robot
ha sido entendido como el de un
manipulador fijo programable
La mejora de hardware y software
propicia que en la actualidad se asocie
la idea de robot a un agente autónomo
móvil
Para poder llevar a cabo su tarea el robot necesita saber dónde está
LOCALIZACIÓN
• Seguimiento
• Absoluta
6. Detección de marcas
Introducción
Las marcas son objetos o estructuras
significativas que el robot es capaz de reconocer
Elección adecuada de las marcas y su
caracterización
Adquisición de
información de
los sensores
Detección
de marcas
Correspondencia
entre información
de los sensores y
mapa aprendido
Localización
Dos tipos de marcas
Geométricas
Visión
•Artificiales
• Naturales
7. Marcas de visión
Introducción
La elección de las marcas y su
caracterización es fundamental
Algoritmo de caracterización de
marcas y algoritmo de
correspondencia complejos
No se necesita modificar el entorno
de trabajo
Marcas naturales
Marcas elegidas para contraste
óptimo
El robot conoce el tamaño y forma
exactos de las marcas
Mejor comportamiento que con
marcas naturales
Necesidad de modificar el entorno
de trabajo
Marcas artificiales
8. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
9. Objetivo
Sistema de localización por visión basado en marcas naturales
Etapa previa al funcionamiento del sistema
Recopilación
información del
entorno
Caracterización de
la información
recopilada
Creación de la
base de datos del
entorno
Sistema en funcionamiento
Captura de imagen
del entorno
Comparativa imagen
capturada y base de datos
LOCALIZACIÓN
10. Caracterización de imágenes
Objetivo
Lo que nos llama la atención de una imagen ⇒
distribución espacial de regiones de color
homogéneo
Segmentación de las imágenes a color
Obtención de una medida de color de las clases
y de información de su posición
Definición de una estructura topológica
geométrica que permita una almacenamiento y
manipulación eficiente de la información
11. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
12. Espacios De Color
Son modelos o formas de representar la información
de color contenida en una imagen
Existen una condiderable cantidad de ellos, siendo
unos más adecuados que otros en función del
tratamiento que se vaya a dar a la imagen: RGB, HSI,
HSV, CMY, Lab...
El sistema implementado conmuta entre dos espacios
de color:
El espacio RGB
El espacio HSI
13. Espacios De Color
Componentes de tono, saturación e intensidad
Modelo de doble cono donde el tono indica el ángulo, la
saturación indica el radio y la intensidad la altura de un
determinado color
14. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
15. Segmentación Y Representación
Topológica
La caracterización de una imagen se obtiene de su división en
distintas regiones de color homogéneo: segmentación
El color de las regiones está caracterizado por su histograma de
tono, no son colores puros sino texturas
Para eliminar la información redundante empleamos el Análisis de
las Componentes Principales del histograma de tono (PCA)
16. Análisis de las Componentes Principales
Segmentación Y Representación
Topológica
Mediante PCA una serie de componentes caracterizan los
histogramas de tono
Las componentes principales se calculan mediante la proyección
del histograma de tono en una base ortogonal
Necesitamos un espacio que represente todo el rango de valores
de tono posibles. No se encuentra en la realidad ⇒ artificial
N = 256 n = 16 α = 4
17. Análisis de las Componentes Principales
Segmentación Y Representación
Topológica
Un número de componentes menor a 5 entrega pocas
clases en la segmentación
Un número de componentes mayor a 5 no mejora la
segmentacion significativamente
2 componentes 5 componentes 7 componentes
18. Criterio de homogeneidad
Segmentación Y Representación
Topológica
Referencia 0.78º 10.66º 25.26º 83.16º
La segmentación se basa en la técnica de división y mezclado
jerárquico. Se necesita definir un criterio de homogeneidad
19. División y mezclado jerárquico
Segmentación Y Representación
Topológica
1. Creación estructura
jerárquica: relación padre-
hijos
2. División jerárquica
3. Mezclado jerárquico
1. Para cada nodo busco
padre
2. Si no encuentro padre,
busco hermano
4. Eliminación de nodos
acromáticos
20. Representación topológica
Segmentación Y Representación
Topológica
Imagen de entrada Segmentación de la
imagen de entrada
Número de clase
Área en píxeles
Coordenadas del
centroide
Coordenadas del
bounding box
Componentes
principales del
histograma de tono
Componentes medias
HSI
Cromaticidad
Parámetros que definen a cada
clase de la imagen
Construcción del
grafo de la imagen
Eliminación de las
clases pequeñas
21. Aprendizaje y almacenamiento del entorn
Segmentación Y Representación
Topológica
Captura de imágenes del
entorno y del desplazamiento
entre ellas
Segmentación de
una imagen
Construcción del
grafo de la imagen
Almacenamiento del
grafo en fichero¿Quedan imágenes?
Sí
No
Paso a la imagen siguiente
Construcción del grafo global del entorno
22. Localización
Segmentación Y Representación
Topológica
Captura de una
imagen aleatoria
Segmentación de la
imagen de entrada
Construcción del
grafo de entrada
¿Incertidumbre en el
resultado de la
comparación?
Sí
No
LOCALIZACIÓN
Comparación entre grafo de
entrada y grafo global
23. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
35. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
36. Entorno de pruebas 1
Experimentos Y Pruebas
Resultado
Número de
imágenes
Porcentaje
Aciertos 34 56.66
Incertidumbres 22 36.66
Fallos 4 6.66
Total 60 100
37. Entorno de pruebas 2
Experimentos Y Pruebas
Resultado
Número de
imágenes
Porcentaje
Aciertos 17 48.51
Incertidumbres 12 34.28
Fallos 6 17.14
Total 35 100
38. Entorno de pruebas 3
Experimentos Y Pruebas
Resultado
Número de
imágenes
Porcentaje
Aciertos 23 82.14
Incertidumbres 5 17.85
Fallos 0 0
Total 28 100
41. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
42. Conclusiones
Conclusiones Y Trabajo Futuro
El sistema de localización funciona
razonablemente bien en entornos de
trabajo con ciertas condiciones:
1. Nivel de cromaticidad suficientemente
elevado
2. Grado de detalle aceptable
3. Regiones sucientemente diferenciables
entre sí
43. Aplicaciones
Conclusiones Y Trabajo Futuro
Aplicaciones del sistema de localización
por color:
1. Localización de un sistema de navegación o
robot móvil
2. Localización en sistemas de Realidad
Aumentada
3. Sistemas de recuperación de imágenes en
base a su contenido
44. Trabajo futuro
Conclusiones Y Trabajo Futuro
Segmentación y caracterización de las imágenes
Estudio de una combinación de valores óptima en los umbrales
de decisión
Construcción de grafos
Inclusión de información geométrica de las clases, inclusión de
nodos acromáticos y de pequeño tamaño
Algoritmo de comparación
Comparacion entre nodos cromaticos y acromaticos
Comparacion en base a descriptores geometricos
Estudio de una combinación de valores óptima en los umbrales
de decisión
Algoritmos de tipo Markov o Montecarlo
45. Índice
Introducción
Objetivo
Espacios de color
Segmentación y representación topológica
Algoritmo de comparación
Experimentos y pruebas
Conclusiones y trabajo futuro
Demostración
46. Odometría
Integración incremental de la información de
movimiento a lo largo del tiempo
Basada en ecuaciones sencillas que usan las señales
de codificadores incrementales y sensores baratos
Hipótesis de equivalencia entre revoluciones de las
ruedas y desplazamiento relativo al suelo no válida, lo
que implica la aparición de errores
Se emplea combinada con otras técnicas en la
mayoría de sistemas de localización
47. Sistemas De Balizas
El sistema móvil realiza cálculos angulares
o de distancia respecto a balizas situadas
en posiciones conocidas con medidas de
señales radio
Gran fiabilidad y precisión en un tiempo de
procesamiento muy pequeño
Modificación del entorno, alto coste de instalación
y mantenimiento de las balizas
48. Posicionamiento Basado En
Mapas
No hay necesidad de modificar el entorno
Se generan mapas que pueden ser útiles en las tareas a
llevar a cabo por el sistema
El robot puede aprender nuevos entornos
Entornos estáticos y caracterizaciones fácilmente
distinguibles
Necesita mucha capacidad de procesamiento y sensores de
calidad
Adquisición de
información de
los sensores
Construcción
mapa local
Correspondencia
entre mapa local
y mapa global
almacenado
Localización
49. Posicionamiento Basado En
Mapas
La construcción de mapas depende en
gran medida de la capacidad sensorial
del sistema
1. Extracción de características de la
información sensorial
2. Fusión de la información de todos los
sensores
3. Generación del modelo o mapa del entorno
50. Posicionamiento Basado En
Mapas
Mapas geométricos
El mapa representa los
objetos en su posición
exacta de acuerdo a las
relaciones geométricas
absolutas existentes entre
ellos
Mapas topológicos
Grafos de adyacencia que
registran las relaciones
geométricas entre los
objetos respecto a una
referencia
51. Posicionamiento Basado En
Visión
Los sensores ópticos son los que más
información del entorno pueden proporcionar
Dificultad en la extracción de características de
la imagen
Tres tipos de sistemas
Basados en marcas
Basados en modelos
Construcción de mapas a partir de caracterizaciones
52. Espacio RGB
El color se representa a partir de tres señales, resultado de
hacer pasar la luz por tres filtros diferentes rojo, verde y azul
Se representa en un modelo de cubo con los colores primarios
situados en cada una de las esquinas
53. Criterio De Homogeneidad
Se basa en el Análisis de las Componentes Principales del
histograma de tono de las regiones
El parámetro de tono se codifica de forma que existen 256 valores
posibles. Los histogramas de tono son vectores de 256 posiciones
En lugar de caracterizar a cada región por su histograma de tono
se intenta eliminar información redundante mediante su proyección
en una base ortogonal de dimensión 5
Dicha base es representativa para todos los histogramas de tono
posibles ya que se genera a partir de 16 histogramas que cubren
todo el rango de tonos
N = 256
n = 16
α = 4
Notas del editor
En el primer punto se presenta el problema de la localización, en qué consiste, por qué es importante su solución y las técnicas existentes para conseguirlo.
Es un hecho que la robótica alcanza cada vez a un mayor número de ámbitos y aplicaciones en nuestro mundo, tradicionalmente alla por los años 70 se asociaba la idea de robot a un manipulador fijo programable
La mejora tecnológica en hardware y software ha hecho posible que a partir de los 90 tengamos otra idea de robot y se asocie a un agente autónomo móvil capaz de desplazarse y de tomar decisiones en función de la información que captan sus sensores
Autonomo = desconectado de un elemento de telecontrol
Para llevar a cabo las distintas tareas que tiene encomendadas, un robot móvil necesita una información previa fundamental: ¿dónde está? La localización se presenta como un elemento imprescindible para este tipo de sistemas. Sin una localización precisa un robot está condenado a vagar por el entorno en que se encuentra.
Definicion de localización : alinear el sistema de coordenadas interno del robot con el sistema de coordenadas del mundo exterior.
Se distinguen dos tipos de localizacion:
Seguimiento (tracking): consiste en conseguir calcular la localizacion en todo momento teniendo un conocimiento previo de la posicion
Absoluta: obtener la localizacion sin ningun tipo de conocimiento previo. Se necesitan unos sensores mejores que sean capaces de captar la mayor cantidad posible del entorno. Estos son los sensores basados en visión.
Odometria:
Emplea como información las señales procedentes de sensores que captan los movimientos de las distintas partes del robot a lo largo del tiempo, esta técnica es capaz de proporcionar una buena precisión en la localización.
Su implementación es sencilla ya que se basa en ecuaciones bastantes simples que utilizan las señales procedentes de codificadores incrementales y sensores baratos.
La base del funcionamiento de la odometría implica que no puede emplearse en localización absoluta, ya que solo es capaz de proporcionar informacion de localizacion si el sistema posee una referencia de posicion previa. Esto hace que descartemos su uso en la implementacion.
Sistema de balizas:
El sistema realiza medidas de distancia o de ángulos con respecto a elementos estáticos llamados balizas cuya posición es conocida (por ejemplo teniendo un mapa). A partir de estas medidas el sistema es capaz de localizarse. Se usa, por ejemplo, en el sistema GPS.
Dependiendo del tipo de señal empleada en las transmisiones (señales radio, ópticas, ultrasonidos...) se pueden alcanzar distintos rangos de funcionamiento en distintos entornos.
Proporciona una gran fiabilidad y precisión en la posición en un tiempo de procesamiento pequeño, pero su implementación implica la modificación del entorno de trabajo, lo cual es imposible en determinadas aplicaciones. Además, la instalación y mantenimiento de las balizas supone un coste elevado.
Las marcas son objetos o estructuras significativas del entorno que un robot es capaz de reconocer con sus dispositivos sensoriales. Pueden ser figuras geometricas, por ejemplo, rectangulos o lineas, que ademas incluyan informacion adicional de algun tipo, como codigos de barras.
Las marcas deben ser cuidadosamente escogidas para que su identificacion sea lo mas facil posible.
Antes de que el robot pueda emplearlas para posicionarse, se necesita que sus caracteristicas sean conocidas y almacenadas por el robot.
Fases de los metodos de deteccion de marcas
Adquisicion informacion
Deteccion de marcas
Comparacion informacion captada y el mapa aprendido
Nos lleva al resultado de la localizacion
Las marcas pueden ser de dos tipos:
Marcas geometricas: se detectan mediante sensores de posición, como infrarrojos, y pueden ser esquinas, bordes verticales largos, etcetera.
Marcas de visión: son detectadas mediante sensores de vision. Son menos ambiguas que las marcas geometricas y producen menos confusion en el sistema. Como veremos, pueden ser de dos tipos: artificiales y naturales.
MARCAS ARTIFICIALES
Están diseñadas y situadas en el entorno específicamente con el objetivo de permitir la localización del sistema
La deteccion de marcas artificiales es mucho mas simple ya que estan elegidas de tal forma que se consiga un contraste optimo
El robot conoce con exactitud las caracteristicas de las marcas
Implica la modificacion del entorno de trabajo y en algunos casos esto no es posible
MARCAS NATURALES
Objetos o características del entorno cuya función no tiene nada que ver con la localización del sistema
Normalmente las marcas usadas suelen ser bordes verticales largos, tales como puertas o uniones entre paredes, esquinas, paredes muy largas o lamparas en el techo. Todas ellas pueden presentar caracteristicas suficientemente significativas
Su eleccion es fundamental ya que determinara la complejidad de los descriptores empleados para la deteccion y la correspondencia. Una correcta eleccion de las caracterizaciones de las marcas reducira la ambiguedad e incrementara la precision en el posicionamiento.
Esta forma de localización es la que emplea en la realidad el ser humano
En este punto se presenta el objetivo del proyecto
El objetivo del proyecto es la implementación de un sistema de localización por visión basado en marcas naturales.
Existe una etapa previa al funcionamiento del sistema en la cual se realiza las siguientes tareas:
una recopilacion de informacion del entorno de trabajo
se caracteriza dicha informacion
se estructura en una base de datos, que sera la unica informacion que el sistema tenga del entorno a la hora de localizarse
En la etapa de funcionamiento del sistema
captura mediante los sensores de una imagen del entorno
comparacion entre la imagen capturada y la informacion almacenada en la base de datos
El resultado es la localización del sistema en el entorno de trabajo
Cuando tomamos una imagen del entorno, al estar el sistema basado en marcas naturales, debemos fijarnos en lo que mas nos llame la atencion. El ser humano ante una imagen se fija en la distribución espacial de los distintos grupos o regiones de color homogeneo que es capaz de discernir.
Computacionalmente, esto significa segmentar la imagen. La segmentacion a color de una imagen consiste precisamente en eso, dividir la imagen en diferentes regiones o clases de color homogeneo.
Con la segmentacion tenemos una buena medida de color de la imagen capturada, pero ademas tenemos informacion sobre la posicion que ocupan las distintas regiones de color homogeneo o clases dentro de la imagen.
Estas clases y la informacion de su posicion podrian servirnos como caracterizacion de las imágenes, pero debido al gran volumen de datos que supone nos planteamos el empleo de una estructura de informacion geometrica y topologica que sea capaz de contener la informacion de color y de posicion obtenida en la segmentacion, y que permita una almacenamiento y maniplacion eficiente de dicha informacion. Esta estructura sera un grafo topologico de adyacencia.
En este punto se introduce el concepto de espacio de color, que son las herramientas que nos permiten describir el color dentro de una imagen. Se describen concretamente los empleados a lo largo del sistema
La base del sistema está en la caracterización de las imágenes que capta del entorno en el cual se desea localizar. Para poder realizar esa caracterización es necesario emplear los denominado espacios de color, que permitenr representar la información de color contenida en las imágenes.
Existen un buen número de ellos como el RGB, HSI, HSV, CMY, Lab...su uso depende de la aplicación en concreto en que se va a emplear.
En el sistema se emplean dos espacios distintos: RGB y HSI
RGB. Es el mas empleado por las camaras para adquirir imágenes a color. En el sistema se emplea ya que las imágenes de entrada vienen codificadas en este formato. También se usa para presentar las imágenes que visualiza el usuario. El color en este espacio viene determinado por tres parametros conteniendo la cantidad de rojo, verde y azul de un determinado color. Se suele representar en un cubo, en el que cada eje simboliza uno de los 3 parámetros, rojo, verde y azul, de forma que el espacio tiene una forma como en la imagen (24 bits para codificar el color).
HSI. Se emplea en todo el tratamiento que realiza el sistema sobre las imágenes, se describe a continuacion.
Los parámetros que definen este espacio son el tono, la saturación y la intensidad. Se generan a partir de los valores del espacio RGB en que se define el color de las imágenes de entrada según las ecuaciones que se muestran.
· El tono es una medida angular, variando de 0 a 360 grados.
· La saturacion se corresponde con el radio, y vara entre 0 y 1.
· La intensidad se corresponde con el eje z y varia tambien entre 0 y 1.
Se observa como los valores extremos de intensidad coinciden con el negro y el blanco, siendo las posiciones intermedias correspondientes a la escala de grises. El aumento de la saturación aleja el color de la escala de grises y la variación de tono implica un cambio de color pasando por el rojo en 0 grados, verde en 120 grados o azul en los 240 grados.
El empleo de este espacio de color viene motivado porque la intensidad o iluminacion esta decorrelada del tono y la saturacion. Es decir, el color es independiente de la luz. Por tanto, caracterizaremos los colores a partir del tono, con lo que el sistema sera mas resistente a los cambios de iluminacion y sombras en las imágenes.
En este punto se describen los métodos seguidos para caracterizar las imágenes de entrada al sistema y la forma de representación de dicha información
Las imágenes que se introducen en el sistema se caracterizan mediante una division de las mismas en una serie de clases o regiones de color homogeneo. Esto es lo que llamamos el proceso de la segmentacion.
Ahora bien, en imágenes reales, no existen los colores puros, sino las texturas. De forma que necesitamos caracterizar texturas para poder diferenciar distintas regiones en una imagen. Para ello se emplean los histogramas de tono. En el histograma de tono de una región o clase se recogen los distintas cantidades de valores de tono que contiene dicha clase.
Vemos algunos ejemplos de regiones homogeneas y su correspondiente histograma de tono. Se comprende ahora como un color puro se corresponderia a una delta en el histograma de tono,mientras que una region con una determinada textura se corresponde en el histograma con un pìco estrecho de mas o menos anchura. Las clases azules tienen un histograma parecido con una diferencia en su anchura, al tener mas o menos tonos de azul contenidos. Vemos como el turquesa tiene un histograma cercano a los azules y que el rojo esta muy alejado al tener un tono muy diferente.
Asimismo, comprobamos como los histogramas contienen mucha informacion que no sirve para nada al ser nula. La informacion se concentra en un pico estrecho de mas o menos anchura. Para reducir esta informacion y quedarnos con la importante se emplea el Analisis de las Componentes Principales de los histogramas de tono de las regiones. Estas Componentes Principales caracterizaran a las distintas regiones de una imagen.
Con el analisis de las componentes principales se consigue representar los histogramas de tono mediante una serie de componentes surgidas de la proyeccion de cada histograma en una base ortogonal que representa todo el rango de valores de tono posibles.
Conseguir una base que represente todo el rango de tonos es imposible en la realidad, por eso tenemos que construirnos una artificialmente.
Con dicha ecuacion se generan los histogramas que componen la base. En el diagrama se observa que cualquier valor de tono esta contenida en dos histogramas de la base. Esto implica que cualquier color estara bien parametrizado en funcion de dicha base.
Las componentes calculadas para un determinado histograma como resultado de su proyeccion en la base definida anteriormente contienen la informacion de color que comparten todas las muestras de dicho histograma en orden de importancia decreciente. Es decir, llega un momento en que una determinada componente no aporta mas informacion y a partir de ese momento se desprecian las restantes.
El numero de componentes que se emplean para caracterzar el tono influye directamente en el resultado de la segmentacion.
La segmentación se basa en la técnica de division y mezclado jerarquica.
En primer lugar se realiza la etapa de division, partiendo de la imagen entera como unica region, cada region es dividida en cuatro si entre alguna pareja de esas cuatro subdivisiones existe una distancia mayor de cierto umbral.
En el proceso de mezclado posterior a la division, se calcula la distancia entre cada par de regiones adyacentes, de forma que si es menor que un cierto umbral, esas dos regiones se unen en una sola.
La distancia entre regiones es el coseno del angulo que forman los vectores de componentes principales del histograma de tono que caracterizan a cada region. Esta distancia es la que se usara a lo largo de todo el sistema para realizar las comparaciones entre regiones o clases.
Un ejemplo de distancias entre distintas clases lo vemos en la imagen. Vemos como los tonos de azul forman un angulo menor con respecto a la clase de referencia que el resto. Con la clase turquesa forma un angulo mayor, y con la clase roja un angulo de casi 90 grados, los vectores de dichas clases son casi perpendiculares
Aunque el tono es un buen parametro para caracterizar el color, no es representativo cuando nos encontramos en casos en que el valor de la intensidad se encuentra en los extremos del rango o el valor de la saturacion es muy bajo (regiones acromaticas). Las coordenadas de estos colores se encontrarian en uno de los extremos de los dos conos del modelo de color HSI. Si en una region mas de la mitad de los pixeles son acromaticos, esta se considera acromatica y las comparaciones se realizan en terminos de intensidad, sin tener en cuenta las componentes principales.
A continuacion se presenta el proceso de segmentacion mas detalladamente. Consta de tres fases:
· La primera figura se corresponde con la primera fase de creacion de la estructura jerarquica. Se toma la imagen entera y se divide en regiones cuadradas. Se forma asi el nivel inferior de la estructura. Cuatro nodos de un nivel forman un solo nodo en el nivel siguiente, el nodo padre de dichos nodos. Se forman asi sucesivos niveles hasta llegar a un ultimo nivel que solo contiene un nodo que representa a la imagen en su totalidad. Los nodos en cada nivel estan caracterizados por su el PCA del histograma de tono, que ya hemos visto. Una cualidad muy interesante de estas componentes es que las componentes de un nodo padre es igual a la suma de las componentes de sus nodos hijos.
· La segunda y tercera figura se corresponden con la fase de division. Comenzando por el nivel superior, si un nodo no es homogeneo se elimina y no se tiene en cuenta en la fase de mezclado. Un nodo se considera no homogeneo si la distancia entre alguno de sus nodos hijos es mayor que un determinado umbral.
· Las tres ultimas figuras se corresponden con la fase mezclado. En cada nivel de la jerarquia comenzando por el nivel superior se procede con dos pasos:
Para cada nodo busco un padre al que poder unirse, es decir, cuya distancia respecto a el sea menor que un determinado umbral.
Si no existe tal padre, el nodo busca un hermano en su propio nivel para fusionarse con el si la distancia es menor que dicho umbral.
La distancia se calcula como el coseno del angulo que forman los vectores de PCA caracteristicos de cada nodo como vimos anteriormente. Pero existen casos en que alguno de los nodos es acromatico. En estos casos la comparacion solo puede hacerse en terminos de la intensidad de los nodos.
Como resultado de la segmentacion de una imagen tenemos una información almacenada para cada uno de los píxeles según los parámetros mostrados. Contener esta información para cada píxel supone un gran volumen de datos, tanto su manejo y consulta como para su tratamiento en etapas posteriores sería muy complejo. Esta es la razón de comprimir la información más importante y representarla como un grafo de adyacencia espacial.
Tras eliminar las clases pequeñas que se generan por detalles poco significativos de la imagen o por fallos en la segmentacion , generamos el grafo siendo cada nodo representante de una clase resultante de la segmentacion, conservando toda la informacion de los parámetros anteriores. Ya no poseemos la informacion de cada pixel concreto de la imagen, sino de cada clase. La informacion es asi mucho mas manejable y facil de manipular.
Estamos en condiciones de comprender la etapa previa al funcionamiento del sistema. En esta etapa, se recopila la información que el sistema tendrá del entorno y se estructura en una base de datos.
Se capturan imágenes del entorno desde un punto concreto del espacio girando en torno a él un determinado número de grados. Es muy importante para el funcionamiento del sistema almacenar el desplazamiento existente entre las distintas imágenes.
Una vez capturadas todas las imágenes, se toma la primera de ellas y se segmenta.
Obtenemos el grafo de la a partir de la información procedente de la segmentación
Almacenamos el grafo en un fichero.
Hacemos lo mismo para todas las imágenes del entorno capturadas, hasta que no quede ninguna por segmentar y tengamos todos los grafos y los desplazamientos almacenados en ficheros.
A continuación, ya que tenemos el conocimiento de los desplazamientos existentes entre las distintas imágenes capturadas del entorno, podemos proceder a fundir todos los grafos individuales en un solo grafo global. De esta forma tenemos contenida toda la informacion del entorno que antes estaba contenida en elementos individuales en una sola estructura, lo que supone una consulta y manipulacion de la informacion mucho mas comoda y eficiente.
A partir de los archivos de grafos de la base de datos y de los desplazamientos existentes entre las imágenes capturadas en el etapa previa construye un grafo global del entorno mediante la fusion de los grafos individuales. Con el conociemiento de los desplazamientos entre imágenes sabemos el grado de superposicion de grafos consecutivos. En las zonas de superposicion de los grafos individuales consecutivos se comprueba si existen nodos que sean suficientemente parecidos, y en ese caso se fusionan en uno solo. Se genera asi una estructura mucho mas facil de manejar y que contiene toda la informacion que el sistema posee sobre el entorno de trabajo.
Una vez el sistema se pone en funcionamiento se atraviesan las siguientes fases:
El sistema captura una imagen del entorno aleatoriamente.
La segmenta
Genera su grafo
A continuacion, el algoritmo de comparacion compara el grafo de la imagen de entrada con el grafo global del entorno, intentando discernir que region del grafo global presenta una mayor similitud con el grafo de entrada.
Si el algoritmo no es capaz de decidir debido a que existen varios candidatos con mucha probabilidad de ser la region representada por el grafo de entrada, el sistema se encuentra en una situacion de incertidumbre y no es capaz de localizarse. En caso contrario, el algoritmo habria resuelto la localizacion.
El caso de incertidumbre no debe entenderse como un fallo en el calculo de la localizacion, ya que el sistema puede vovler a capturar una imagen aleatoria del entorno y acometer de nuevo todo el proceso.
Vemos el funcionamiento del algoritmo de comparacion con un ejemplo de funcionamiento en un entorno artificial. La imagen de entrada se segmenta y se genera su grafo.
Por otro lado, se recupera el grafo global del entorno de trabajo.
Antes de comenzar a explicar paso a paso el algoritmo definimos el concepto de probabilidad.
Las distancias entre nodos son el coseno del angulo que forman sus vectores de componentes principales como ya hemos visto. Este numero esta entre 0 y 1, cuanto menor sea mas parecidas son las clases. Por tanto, podemos calcular la probabilidad de que dos nodos se parezcan como 1 menos la distancia entre ellos.
El primer paso del algoritmo es hallar grupos de nodos en el grafo global que sean candidatos a corresponderse con el grafo de entrada.
Para ello se toma el nodo de mayor area del grafo de entrada (nodo 1) y se compara con todos los nodos del grafo global. Los que presenten menor distancia se consideran candidatos, y se calcula su probabilidad según la formula que se muestra.
El segundo paso del algoritmo consiste en recorrer el grafo de entrada visitando los nodos en orden de mayor a menos area buscando nodos parecidos en cada grupo de nodos candidatos. Las probabilidades de cada paso se iran acumulando hasta que se visiten todos los nodos del grafo de entrada. En ese momento, el grupo candidato con mayor probabilidad sera considerado el grupo de salida y la localizacion estara resuelta. Teniendo en cuenta que el numero de nodos validos visitados es 2.
Veremos la comparacion del grafo de entrada con el primer grupo de nodos candidato paso a paso.
El siguiente nodo de mayor tamaño en el grafo de entrada tras el nodo 1 es el nodo 3. El mismo desplazamiento lo realizamos en el grupo de nodos candidato desde el nodo que se corresponde con el nodo 1 del grafo de entrada. Se comprueba si el punto alcanzado esta dentro del bounding box de algun nodo del grafo global. En este caso queda dentro del nodo 1 y 3. Se calcula la distancia entre el nodo 3 del grafo de entrada y el nodo 1 y 3 del grafo global y nos quedamos con el menos. Se actualiza la probabilidad del grupo según la ecuacion anterior.
El siguiente nodo de mayor tamaño en el grafo de entrada tras el nodo 3 es el nodo 10. El mismo desplazamiento realizado desde el nodo 3 al 10 del grafo de entrada lo realizamos en el grupo de nodos candidato desde el nodo que se corresponde con el nodo 3 del grafo de entrada. Se comprueba si el punto alcanzado esta dentro del bounding box de algun nodo del grafo global. En este caso queda dentro del nodo 10. Se calcula la distancia entre el nodo 10 del grafo de entrada y el nodo 10 del grafo global. Se actualiza la probabilidad del grupo según la ecuacion anterior.
El siguiente nodo de mayor tamaño en el grafo de entrada tras el nodo 10 es el nodo 6, ya es el ultimo. El mismo desplazamiento realizado desde el nodo 10 al 6 del grafo de entrada lo realizamos en el grupo de nodos candidato desde el nodo que se corresponde con el nodo 10 del grafo de entrada. Se comprueba si el punto alcanzado esta dentro del bounding box de algun nodo del grafo global. En este caso queda dentro del nodo 1. Se calcula la distancia entre el nodo 6 del grafo de entrada y el nodo 1 del grafo global. Se actualiza la probabilidad del grupo según la ecuacion anterior. Esta es la probabilidad final para el grupo candidato 1.
Procedemos de igual forma para todos los grupos de nodos candidatos.
Una vez comparados todos los grupos candidatos con el grafo de entrada tenemos una probabilidad final para cada uno. El grupo de probabilidad mas alta se considera el mas parecido al grafo de entrada. Si existiera otro erupo candidato con una probabilidad parecida a la mas alta y esos dos grupos estuviesen alejados el uno del otro, se interpretaria como una incertidumbre en el resultado de la localizacion. El sistema no seria capaz de localizarse. Seria necesario capturar una nueva imagen del entorno y realizar una nueva comparacion. La incertidumbre no debe entenderse como un fallo en la localizacion, sino como un retraso en el objetivo de conseguir una localizacion fiable. Es preferible invertir mas tiempo en la localizacion si esta va a ser precisa.
Este es el primer entorno de pruebas del sistema.
Se muestra el grafo global del entorno
En la tabla se recogen los resultados obtenidos en las pruebas -> Se observa como el número de fallos es bastante pequeño. Los casos de incertidumbre no deben considerarse errores, ya que el sistema puede capturar una nueva imagen aleatoria del entorno para intentar calcular su localización a partir de ella. Sólo supondría un retardo en el objetivo de conseguir una localización fiable.
Este es el segundo entorno de pruebas del sistema.
Se muestra el grafo global del entorno
En la tabla se recogen los resultados obtenidos en las pruebas. También el número de fallos es bastante reducido en comparación con los demás casos.
Este es el tercer entorno de pruebas del sistema.
Se muestra el grafo global del entorno
En la tabla se recogen los resultados obtenidos en las pruebas. En este caso particular no se produjo ni un solo error en toda la batería de imágenes de prueba.
En el primer caso, se observa que, aunque se trata de un error en la localizacion, las imágenes de entrada y de salida presentan una estructura de colores muy similar. La parte izquierda es una textura marron muy similar y la parte derecha es acromatica en los dos casos, por lo que generan nodos. Es un error comprensible, que incluso el ser humano podria cometer.
En el segundo de los casos ocurre algo similar. Las dos imágenes de entrada y salida presentan mucha acromaticidad en las mismas zonas. Las zonas que son cromaticas y que generan nodos son muy parecidas, por lo que, de nuevo, el error es muy dificil de evitar.
Presentamos a continuacion dos casos de incertidumbre. El primero se trata de una imagen de entrada tan acromatica que solo genera un pequeño nodo de color azul. Basta con que existan dos clases en el grafo global del entorno con un color azul similar para que se produzca la incertidumbre. Es algo inevitable ante tan poca informacion de color en el grafo de entrada.
El segundo caso es distinto. La incertidumbre se produce debido al gran numero de regiones de color similar que existen en el entorno de trabajo en cuestion. Existen varios grupos de nodos en el grafo global del entorno muy parecidos al grafo de entrada, por lo que, de nuevo es imposible discernir cual de ellos es el correcto.
En este último punto se exponen las conclusiones obtenidas y posibles líneas de trabajo futuro
Tal y como se ha demostrado con las pruebas realizadas con el sistema en distintos entornos de trabajo, puede concluirse que el sistema implementado funciona razonablemente bien en entornos de trabajo que presenten:
Nivel de cromaticidad suficientemente elevado -> Si las imágenes son muy acromáticas, la mayoría de las clases generadas en su segmentación también lo serán. Esto implica que los grafos generados tendrán muy pocos nodos, ya que las clases acromáticas no se ven representadas. Cuanto menor sea el número de nodos de los grafos, menos información posee el algoritmo de comparación para calcular la localización.
Grado de detalle aceptable. Si el entorno no tiene suficientes estructuras de color diferentes, la segmentacion de las imágenes producirá un número pequeño de clases, con el consecuente número pequeño de nodos en los grafos. Como se ha comentado anteriormente, al ser pequeño el numero de nodos, el sistema cuenta con poca informacion para realizar las comparaciones.
El entorno debe tener regiones o zonas suficientemente diferenciables para que el sistema sea capaz de diferenciarlas, al igual que le ocurre al ojo humano.
Posibles aplicaciones del sistema de localización por usando con marcas naturales:
Evidentemente, su aplicación en el sistema de navegación de un robot móvil.
También podría usarse como módulo de localización en sistemas de Realidad Aumentada. En este tipo de sistemas, el usuario va equipado con un dispositivo de Realidad Aumentada, por ejemplo unas gafas o un casco, en el cual pueden añadirse elementos virtuales a la escena real que el usuario visualiza. En una aplicacion de este tipo, una vez calculada la situacion inicial del usuario en el entorno mediante el modulo de localizacion y con la ayuda de un tracker que mantega actualizada la posicion y orientacion correcta en cada momento, pudiéndose añadir los elementos virtuales como indicaciones en distintos edificios, carteles con instrucciones para llevar a cabo una determinada labor en un lugar concreto, etcetera.
Otra aplicación es un Sistema de recuperacion de imágenes en base a su contenido. En estas aplicaciones se desean buscar en una base de datos imágenes similares a una que se proporciona como entrada.
Posibles mejoras que podrían incorporarse al sistema:
A lo largo del proceso de segmentación de las imágenes entran en juego numerosos umbrales que implican, por ejemplo, que una clase sea o no acromática, que una clase se funda o no con otra, que una clase se considere grande o pequeña, etcetera. Un estudio de una combinacion de valores optima podria entregar mejores segmentaciones y por tanto una mejor caracterizacion de las imágenes.
Inclusion de informacion geometrica sobre las clases en los nodos del grafo. Se podria realizar un estudio de posibles descriptores de la geometria de las clases para poder realizar comparaciones entre nodos en base a ellas. Se conseguiria asi mas informacion a la hora de las comparaciones.
Estudio de un mejor metodo para comparar las clases acromaticas que el basado en la intensidad de las clases. Se dispondria de mas nodos en los grafos y de mas informacion en las comparaciones.
Estudio de unos descriptores adecuados para las clases de pequeño tamaño que estan bien caracterizadas con las Componentes Principales del histograma de tono.
Estudio de comparaciones entre nodos cromaticos y acromaticos
Estudio de una posible comparacion en base a descriptores geometricos
Estudio de una combinacion optima de los umbrales que entran en juego en el algoritmo de comparacion para la obtencion de mejores resultados
Estudio de la posible inclusion de algoritmos tipo Markov o Montecarlo. Estas tecnicas permiten ir acumulando evidencias sobre distintas comparaciones de imágenes y podrian ayudar a solventar casos de incertidumbre
A continuacion se realizara una demostracion del funcionamiento del sistema
Empleando como información las señales procedentes de sensores que captan los movimientos de las distintas partes del robot a lo largo del tiempo, esta técnica es capaz de proporcionar una buena precisión en la localización.
Su implementación es sencilla ya que se basa en ecuaciones bastantes simples que utilizan las señales procedentes de codificadores incrementales y sensores baratos
También se basa en la hipótesis de que las revoluciones de las ruedas puede traducirse en desplazamiento relativo al suelo,lo cual es algo no siempre válido
Al ir acumulando información a lo largo del tiempo se acumulan también los errores, por lo que necesitan algún tipo de medida absoluta cada cierto tiempo.
Se emplea en la mayoría de sistemas de localización junto a otras técnicas de las que veremos a continuación.
Es el sistema de localización más usado en aeronaútica. El sistema realiza medidas de distancia o de ángulos con respecto a elementos estáticos llamados balizas cuya posición es conocida. A partir de dichas medidas el sistema es capaz de establecer su situación en el entorno. Existen 2 tipos de configuraciones:
- El robot es el transmisor de las señales y las balizas son receptoras.
- Las balizas son transmisoras de señal y el robot es receptor.
Dependiendo del tipo de señal empleada en las transmisiones (señales radio, ópticas, ultrasonidos...) se pueden alcanzar distintos rangos de funcionamiento en distintos entornos.
Proporciona una gran fiabilidad y precisión en la posición en un tiempo de procesamiento pequeño, pero su implementación implica la modificación del entorno. Además, la instalación y mantenimiento de las balizas supone un coste elevado.
El robot crea un mapa de su entorno local a partir de la informacion de su sistema sensorial. El mapa local creado es comparado con un mapa global almacenado en la memoria del robot, de forma que, si se encuentran correspondencias, el robot es capaz de calcular su posicion y orientacion en el entorno.
El mapa almacenado en memoria puede ser un modelo del entorno construido con herramientas CAD o a partir de informacion previa de los sensores. En este tipo de posicionamiento es usual el empleo de sonar o laser como sensores, ya que facilitan la adquisicion rapida de informacion geometrica
Ventajas: No se modifica el entorno. Se generan mapas actualizados del entorno que pueden usarse en las tareas que lleve a cabo el robot. Puede aprender entornos nuevos mediante la exploración
Desventajas: necesita que los entornos de trabajo sean suficientemente estáticos y que las caracterizaciones de la información sensorial sea fácilmente distinguible a la hora de realizar la comparación entre el mapa local y global. Necesita de una gran capacidad de procesamiento y de sensores de gran calidad.
El robot debe por tanto ser capaz de construir un mapa a la vez que va navegando por el entorno de cara a poder compararlo con un mapa global del entorno que tiene previamente almacenado. La capacidad del robot para construir un mapa está muy ligada a su sistema de sensores. Los pasos a seguir para construir un mapa son tres:
- Extracción de carácterísticas de la información sensorial
- Fusión de la información de los distintos tipos de sensores
- Construcción del modelo, incluso con diferentes grados de abstracción
Las distintas tecnicas de construccion de mapas pueden agruparse en tres tipos diferenciados: geometricos, topologicos e hibridos.
Las aproximaciones geometricas intentan generalmente controlar la posicion exacta del robot situandolo en un mapa geometrico del entorno mas o menos detallado. El mapa representa los objetos de acuerdo a las relaciones geometricas absolutas existentes entre ellos.
Por otro lado, los metodos topologicos utilizan grafos de adyacencia como representacion del entorno, intentando registrar las relaciones geometricas observadas respecto a una referencia en lugar de hacerlo en terminos absolutos. La presentacion final toma forma de grafo donde los nodos representan las caracterizaciones observadas y los arcos representan las relaciones entre ellas.
Los métodos híbridos combinan las aproximaciones anteriores intentando aprovechar los buenos comportamientos de uno y de otro.
El funcionamiento de este tipo de sistemas reside unicamente en sensores de tipo optico, en contraste con aproximaciones anteriores que emplean desde ultrasonidos a sensores de inercia. Los sensores opticos tipicos incluyen detectores de distancia basados en laser y camaras de CCD.
Debido a la gran cantidad de informacion, no es tarea facil la extraccion de caractersticas visuales representativas.
La informacion sobre el entorno puede proporcionarse de diversas formas, diferenciandose de esta forma varios tipos de sistema:
Basados en marcas simples, como lineas o puntos, o complejas, como una combinacion lineas o figuras.
Basados en modelos mas o menos complejos en 3D de los objetos del entorno.
De construccion de mapas a partir de caracterizaciones del entorno, en los cuales no existen ni marcas ni modelos de objetos, el robot es capaz de extraer caracteristicas de la informacion visual de forma que es capaz de construir un mapa del entorno.
Este espacio se basa en la teoria de tres estimulos, segun la cual el color puede ser
representado como la combinacion de tres señales, cada una resultado de filtrar la radiacion
luminosa con un tipo de filtro diferente, SR, SG o SB.
Suele representarse en un cubo, donde los colores primarios rojo, verde y azul se situan en las esquinas que forman el cubo y cada uno de los ejes. El color negro esta en el origen de coordenadas y el blanco esta en el vertice opuesto del cubo. La escala de grises no es mas que la diagonal que cruza el cubo desde el color negro al blanco, y matematicamente expresa la intensidad
Su usamos 24 bits para codificar los valores de los parámetros R, G y B obtenemos resolución de colores que se muestra en la imagen.
El criterio se basa en el Análisis de las Componentes Principales del histograma de tono de las regiones.
Para codificar los valores de tono en el sistema se emplean 8 bits, por lo que los histogramas de tono de cada región contendrán 256 posiciones, cada una indicando la cantidad de ese tono que existe en la región. Estos histogramas podrían servir para realizar la segmentación y caracterizar la imagen pero debido al gran volumen de datos que supone, en la gran mayoría redundante, y debido al tiempo de procesamiento tan elevado que conllevaría se persigue otra aproximación.
Se proyecta cada uno de los histogramas, que no son más que vectores de 256 posiciones, sobre una base ortogonal de dimensión 5 construida a partir de una serie de histogramas que cubren el rango completo de tonos. La base se genera a partir de 16 histogramas construidas a partir de la expresión gaussiana de la imagen. Al tener 256 valores posibles, si usamos 16 histogramas se establece la desviación típica a un valor igual a 4 para cubrir todo el rango adecuadamente.
Conseguimos así que cada región esté caracterizada con un vector de 5 componentes, en lugar del vector de 256 que las caracterizaba antes. La dimensión de la base ortogonal se ha establecido en 5 después de realizar diversos experimentos, donde una valores menores de dimensión entregaban resultados de segmentación muy malos y valores mayores no implicaban mejoras significativas.