cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Análisis de Algoritmos de Correspondencia para Visión Estéreo presentada por Ma. del Refugio Ofelia Luna Sandoval Lic. en Matemáticas por la Universidad Autónoma de Zacatecas como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. José Ruiz Ascencio Co-Director de tesis: M. C. Andrea Magadán Salazar Jurado: Dr. Juan Manuel Rendón Mancha – Presidente Dr. Andrés Blanco Ortega – Secretario M. C. Jorge Alberto Fuentes Pacheco – Vocal Dr. José Ruiz Ascencio – Vocal Suplente Cuernavaca, Morelos, México. 29 de noviembre de 2011
167
Embed
Tesis de Maestría - CENIDET - Centro Nacional de ... Maria del... · Análisis de Algoritmos de Correspondencia para Visión Estéreo ... A mis compañeros Sergio Alejandro González
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
cenidet
Centro Nacional de Investigación y Desarrollo Tecnológico
Departamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CIENCIAS
Análisis de Algoritmos de Correspondencia para Visión Estéreo
presentada por
Ma. del Refugio Ofelia Luna Sandoval Lic. en Matemáticas por la Universidad Autónoma de Zacatecas
como requisito para la obtención del grado de:
Maestría en Ciencias en Ciencias de la Computación
Director de tesis: Dr. José Ruiz Ascencio
Co-Director de tesis:
M. C. Andrea Magadán Salazar
Jurado: Dr. Juan Manuel Rendón Mancha – Presidente
Dr. Andrés Blanco Ortega – Secretario M. C. Jorge Alberto Fuentes Pacheco – Vocal
Dr. José Ruiz Ascencio – Vocal Suplente
Cuernavaca, Morelos, México. 29 de noviembre de 2011
Dedicatoria
Esta tesis está dedicada, con todo cariño, a mi hijo:
I k i A l v a r a d o L u n a
Agradecimientos
Agradezco a:
Dios por permitir que esta experiencia figurara en mi destino.
Al Consejo Nacional y Tecnología (CONACyT) por el apoyo económico brindado durante estos
dos años de estudio.
Al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) y a su personal por
haberme permitido formar parte de esta institución.
A mis asesores: la M.C. Andrea Magadán Salazar y el Dr. José Ruiz Ascencio por su paciencia y su
sabia dirección durante todo el desarrollo de este proyecto.
A mis revisores: el Dr. Juan Manuel Rendón Mancha, el Dr. Andrés Blanco Ortega y el M.C. Jorge
Alberto Fuentes Pacheco por sus importantes observaciones y sugerencias.
Al Dr. René Santaolaya Salgado por su apoyo en la comprensión del paradigma orientado a objetos.
Al Dr. Gregory Dudek de la Universidad de McGill por facilitarme el repositorio de AQUA.
A la planta docente del CENIDET por su dedicación y empeño en la impartición de sus clases.
A mis compañeros Jorge Alberto Fuentes Pacheco y Alejandro Pech Can quienes durante toda mi
estancia de Maestría fueron un apoyo académico y moral.
A mis compañeros Sergio Alejandro González Segura y Cruz Lázaro Gómez Olán por su
instrucción en el uso de las librerías de Open CV.
Al Sistema Integral de Becas para la Educación Superior por el apoyo económico que me otorgó
para llevar a cabo mi proceso de titulación.
A todos mis amig@s del CENIDET porque fue un gusto coincidir con ustedes en esta vida.
A la Universidad Autónoma de Zacatecas (UAZ) y a quien la dirige, el Dr. Francisco Javier
Domínguez Garay, por otorgarme permiso para realizar mis estudios de posgrado.
Al H. Consejo de Unidad de la Facultad de Matemáticas de la UAZ por darme su autorización para
que me pudiera actualizar.
A la Directora de la Facultad de Matemáticas de la UAZ: M.C. Judith Alejandra Hernández
Sánchez por brindarme todo su apoyo de manera incondicional.
A mi inolvidable compañero M.C. Alberto García Aguilar (q.e.p.d.) por brindarme su aval para
continuar preparándome. Pero sobre todo, le agradezco, por haber sido siempre ser un excelente
ejemplo a seguir.
A mis compañeros: M.C. Elvira Borjón Robles, M.A.T.I. Mónica del Rocío Torres Ibarra y M.C.
Leopoldo Trueba Vázquez, por ser piezas clave para que este sueño se pudiera realizar.
A mi madre Ma. del Refugio Sandoval Rodríguez por enseñarme que para conseguir las cosas es
necesario esforzarse y ser disciplinado.
A mi hijo Iki quien día con día estuvo alentándome para que mi ánimo no decayera.
A Rolando Alvarado Flores y Gilberto Luna Sandoval porque durante mi ausencia se han hecho
cargo de las personas que yo tanto amo.
A todos ellos ¡MUCHAS GRACIAS!
Resumen
En esta tesis de maestría se evaluó el desempeño de doce algoritmos de correspondencia en
imágenes provenientes de entornos acuáticos y terrestres. Este análisis se llevó a cabo a través de la
comparación de la precisión y del tiempo que arrojaron estos algoritmos cuando se aplicaron a
imágenes muestra, las cuales se seleccionaron tanto de un conjunto de imágenes texturizadas como
de un conjunto de imágenes estructuradas. La clasificación del conjunto total de imágenes, en
texturizadas o estructuradas, se realizó a través de una forma que se propuso en este trabajo.
Los doce algoritmos de correspondencia fueron el resultado de la composición de algunos
algoritmos de detección de características destacadas, búsqueda y emparejamiento que se
identificaron en la literatura.
Como resultado de este trabajo de tesis se presentó un estudio exploratorio que facilita identificar la
predominancia del tipo de escena, texturizada o estructurada, inmersa en un entorno acuático o
terrestre. Asimismo este estudio posibilita establecer, por lo menos para la muestra analizada,
relaciones entre el tipo de escena y la respuesta del algoritmo de correspondencia aplicado.
Abstract
In this master’s thesis the performance of twelve correspondence algorithms has been evaluated on
images from aquatic and terrestrial environments. This analysis was conducted by comparing the
precision and the time it took these algorithms when applied to a sample of images that were
selected as a set of textured images and a set of structured images. The classification of the entire
set of images into textured or structured, is performed using a way proposed in this thesis.
Twelve correspondence algorithms were the result of the composition of salient feature detectors
with search and matching algorithms reported in the literature.
As a result of this thesis presented an exploratory study that enables us to identify the predominance
of the type of scene, textured or structured, immersed in a water or land. This study also enables us
to establish, at least for the sample, relationships between the type of scene and the response of the
matching algorithm applied.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 1
TABLA DE CONTENIDO
ÍNDICE DE FIGURAS 4
ÍNDICE DE TABLAS 7
ACRÓNIMOS 10
GLOSARIO 11
1. LINEAMIENTOS DEL TRABAJO DE TESIS 14
1.1. Introducción 14
1.2. Objetivo de la tesis 15
1.3. Metodología de solución 16
1.4. Organización del documento 18
2. ESTADO DEL ARTE 19
2.1. Propiedades de un detector de características 20
2.2. Detectores de características utilizados en esta tesis 21
2.3. Evaluación de algunos detectores de características 22
2.4. Artículos que hacen mención de algunas técnicas de correspondencia 26
2.5. Elementos a considerar en la elección de un algoritmo de correspondencia 28
2.6. Algoritmos de emparejamiento utilizados en la tesis 31
3. DESCRIPCIÓN DE LOS ALGORITMOS UTILIZADOS 34
3.1. Algoritmos de detección de características 34
3.1.1. Harris 34
3.1.2. Star 35
3.1.3. MSER 36
3.2. Algoritmo de búsqueda de puntos 37
3.2.1. Algoritmo de búsqueda Épsilon-bola 37
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 2
3.3. Algoritmos de emparejamiento de puntos 38
3.3.1. Suma de diferencias absolutas (SAD) 38
3.3.2. Correlación de varianza normalizada (VNC) 39
3.3.3. Algoritmo para descriptor de color 39
3.3.4. Algoritmos para descriptores de textura 40
3.4. Algoritmo de desambiguación 44
4. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA 45
4.1. Introducción 45
4.2. Arquitectura del sistema 45
4.3. Especificaciones técnicas 47
5. DESCRIPCIÓN DE LOS REPOSITORIOS 48
5.1. Descripción del repositorio AQUA 51
5.2. Descripción del Repositorio Exteriores_Urbanos 52
5.3. Descripción del repositorio Exteriores_Naturales1 54
5.4. Descripción del Repositorio Exteriores_Naturales2 56
5.5. Descripción del repositorio Exteriores_Naturales3 57
5.6. Descripción del repositorio Interiores1 59
5.7. Descripción del repositorio Interiores2 60
6. EXPERIMENTOS Y RESULTADOS 66
6.1. Diseño de experimentos 66
6.2. Metodología de evaluación de los algoritmos 67
6.3. Inicialización de parámetros del sistema 67
6.4. Resultados de los experimentos 68
6.4.1. Resultados obtenidos en la muestra de entorno acuático 69
6.4.2. Resultados obtenidos en la muestra del entorno terrestre 76
6.4.3. Resumen de resultados 101
7. CONCLUSIONES Y TRABAJOS A FUTURO 109
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 3
7.1. Conclusiones 109
7.3. Aportaciones 110
7.4. Trabajos futuros 111
REFERENCIAS 112
ANEXOS 116
Anexo A. Atributos y métodos de la superclase Correspondencia 116
Anexo B. Salidas de SPSS Statistics 19 124
Anexo C. Tablas de resultados de los experimentos 133
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 4
Índice de figuras
Figura 1.1. Diagrama de bloques de la Metodología. ...................................................................... 16
Figura 2.1. Clasificación de los métodos estéreo en métodos densos y métodos dispersos (Cyganek,
Affine, Salient Regions, Edge-Based, MSER, Intensity- Based y Superpixels, en función del tipo de
característica destacada que extraen y su desempeño cuando se aplican a una secuencia de cuatro
imágenes de graffiti que sufrieron transformaciones ad hoc para probar sus propiedades cualitativas.
Esta información se resume en la tabla 2.1, en donde se observa que Harris aparece como uno de
los detectores con mayor tasa de repetibilidad y de los más informativos. MSER además se muestra
invariante a escala y transformaciones afines.
Tabla 2.1. Información general de detectores de características (Tuytelaars, 2008).
DC Esquina Blob Region Inv. a
Rotación
Inv. a
Escala
Inv.
Affine
Repetibilidad Precisión
de Loc.
Robustez Eficiencia
Harris +++ +++ +++ ++
Hessian ++ ++ ++ +
SUSAN ++ ++ ++ +++
Harris-
Laplace
+++ +++ ++ +
Hessian-
Laplace
+++ +++ +++ +
DoG ++ ++ ++ ++
SURF ++ ++ ++ +++
Harris-Affine +++ +++ ++ ++
Hessian-
Affine
+++ +++ +++ ++
Salient
Regions
+ + ++ +
Edge-Based +++ +++ + +
MSER +++ +++ ++ +++
Intensity-
Based
++ ++ ++ ++
Superpixels + + + +
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 24
En [2] se hace una comparativa de algunos detectores de características implementados en algunas
librerías de OpenCV, entre ellos se encuentran Star y MSER. Para realizar esta comparativa se
procesaron cuatro imágenes de prueba de tamaño 512512 en niveles de grises. Los resultados
mostraron que Star y MSER no se consideran entre los detectores que encuentran numerosas
características pero su tiempo de ejecución es aceptable y su porcentaje de seguimiento de
características es relativamente bueno.
Para contestar la segunda pregunta planteada por Baumela: ¿Qué restricciones reducen la
ambigüedad del proceso de correspondencia?, se tiene que Vincent et al. (Vincent, 2001)
recomiendan utilizar una serie de restricciones para tratar de reducir el espacio de búsqueda. Según
López et al. (López, 2005) las restricciones son de tres tipos básicos:
a) Restricciones geométricas impuestas por el sistema de captación de las imágenes.
Probablemente la restricción más importante sea la restricción epipolar, gracias a la cual se
puede transformar una búsqueda en dos dimensiones en otra de una dimensión.
b) Restricciones geométricas impuestas por los objetos que se están mirando. Se puede decir
que la continuidad de los objetos en las escenas, las distancias al origen de los puntos
cercanos de la escena varían lentamente en todas las direcciones excepto en las
discontinuidades producidas en los contornos.
c) Las restricciones físicas son aquellas que proceden de modelos por los que los objetos
interactúan con la iluminación: fuentes y reflexiones en los objetos. De todos ellos, el
modelo más simple y el más usado es el modelo Lambertiano, el cual asume que la
intensidad de la proyección de cualquier punto tridimensional no depende del punto de
vista, en otras palabras que los objetos reflejan la luz con la misma intensidad en todas
direcciones. Esto no se cumple en todo tipo de objetos, un ejemplo extremo de objetos que
no cumplen esta restricción son los espejos.
Las restricciones que se utilizaron en este trabajo las define Pajares (Pajares, 2008) de la manera
siguiente:
a) Semejanza: Las dos imágenes de la misma entidad 3D deben tener propiedades o atributos
similares.
b) Unicidad: Es una restricción basada en la geometría del sistema de visión y en la
naturaleza de los objetos de la escena. Para cada característica en una imagen debe haber
una única característica en la otra imagen, salvo que se produzca una oclusión y no haya
correspondencia de alguna característica. Esta restricción es el fundamento del proceso de
desambiguación que se realiza después de la fase de emparejamiento.
c) Relaciones estructuales: supone que los objetos están formados por aristas, vértices o
superficies con una cierta estructura y una disposición geométrica entre dichos elementos.
Una vez que se establecieron las restricciones que dirigieron esta investigación, así como los
detectores de características que se utilizaron para la primera fase de los algoritmos de
correspondencia, lo que siguió fue determinar qué técnicas de emparejamiento eran las más
adecuadas para lograr el objetivo.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 25
A continuación se presentarán algunas clasificaciones de estas técnicas tomadas de (Cyganek,
2009), y posteriormente se citarán algunos artículos que hacen una revisión de ciertos algoritmos de
correspondencia.
Primera clasificación:
Los métodos estéreo, atendiendo al tipo de mapa de disparidad6 que generan, se clasifican en:
métodos densos y métodos dispersos, como se ilustra en la figura 2.1.
Figura 2.1. Clasificación de los métodos estéreo en métodos densos y métodos dispersos
(Cyganek, 2009).
Los métodos densos generan mapas de disparidad, en donde todos o casi todos los píxeles tienen
determinados valores de disparidad. Por otro lado, los métodos dispersos generan mapas de
disparidad que tienen valores de disparidad7 determinados solo para un conjunto selecto de puntos
(generalmente este conjunto contiene esquinas o bordes), el resto de los valores de disparidad se
obtienen por interpolación.
Segunda clasificación:
Los métodos de correspondencia estéreo pueden dividirse en dos grupos: métodos locales y
métodos globales.
Los métodos locales realizan la correspondencia entre puntos que provienen de distintas imágenes
tomadas de una misma escena a través de la comparación entre vecindades8 de estos puntos.
En contraparte, los métodos globales realizan la correspondencia entre puntos que provienen de
distintas imágenes tomadas de una misma escena a través de la comparación entre líneas o todos los
píxeles de las respectivas imágenes.
6 Es el conjunto de todas las disparidades entre dos imágenes de un par estéreo (González, 2011). 7 Es el valor absoluto de la diferencia de las primeras coordenadas de un punto en la vista 1 y su
correspondiente, en la vista 2, cuando la línea epipolar que los contiene es paralela a la línea base del
sistema óptico. Esta distancia es inversamente proporcional a la distancia del punto físico a las cámaras
(González, 2011). 8 Estas vecindades generalmente se determinan en función de una cierta distancia.
Métodos Estéreo
Métodos Densos
Métodos Dispersos
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 26
Existen varios métodos en ambos grupos, como se puede ver en la figura 2.2.
Figura 2.2. Clasificación de los métodos estéreo en métodos locales y métodos globales
(Cyganek, 2009).
En los artículos (Brown, 2003), (Graffigna, 2005) y (López, 2005) se pueden consultar las
definiciones de algunas de estas técnicas.
2.4. Artículos que hacen mención de algunas técnicas de correspondencia
Scharstein et al. (Scharstein, 2002) presentaron una clasificación de algunos algoritmos de
correspondencia densos para visión estéreo atendiendo a los diferentes costos computacionales,
métodos de agregación, y técnicas de optimización.
Brown et al. (Brown, 2003) realizaron una revisión del año 1993 al 2003 de los avances en la
computación estéreo, enfocándose en tres temas importantes: métodos de correspondencia, métodos
enfocados a problemas de oclusión e implementaciones en tiempo real. Todo esto con el fin de
proveer de tablas de referencia que den un panorama general de los tipos de algoritmos de
correspondencia que se están utilizando con sus ventajas y desventajas.
Como resultado de este trabajo se clasificaron algunos de los métodos de correspondencia estéreo
en métodos globales y métodos locales. Dentro de los métodos locales se consideraron los métodos
de correspondencia por bloques (métodos basados en área), optimización basada en el gradiente y
Métodos Estéreo
Métodos
Globales
Métodos
Locales
Pro
pag
ación
Belief
Pro
pag
ación
Din
ámica
Gráficas co
rte
Difu
sión n
o L
ineal
Méto
do
s Jerárqu
icos
(espacio
-escala)
Ten
sor v
otació
n
Co
rres
pon
den
cia
po
r C
arac
terí
stic
as
Co
rres
pon
den
cia
po
r Á
rea
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 27
emparejamiento por características. Entre los métodos globales se catalogaron los métodos de
programación dinámica, curvas intrínsecas, cortes de gráficas, difusión no lineal, propagación
creencia y acorrespondencia.
En particular Brown et al. definen los métodos de correspondencia por bloques como aquellos que
buscan el máximo puntaje de correspondencia o el mínimo error sobre una pequeña región,
típicamente usando variantes de correlación cruzada o métricas de rango robustas.
Los métodos de emparejamiento por características los definen como aquellos que buscan puntos
característicos de emparejamiento más que intensidades.
Además mencionan que los métodos locales son sensibles a regiones con textura uniforme en la
imagen y que en particular los métodos de correspondencia por bloques se caracterizan por ser
sensibles a discontinuidades profundas.
Kuhl (Kuhl, 2004) comparó tres algoritmos de correspondencia densos para visión estéreo que se
implementaron en una PC para calcular mapas de profundidad. A partir de esto se escogió el mejor
para implementarlo en un robot. Las técnicas utilizadas fueron SAD (Suma de Diferencias
Absolutas), SSD (Suma de Diferencias Cuadradas), Census y Modificación de Census y se
obtuvieron los resultados siguientes:
1. La modificación del algoritmo Census fue mucho más rápida que el propio algoritmo pero el
mapa de profundidad se redujo en calidad.
1. La implementación del algoritmo SAD dio como resultado mapas de profundidad adecuados.
2. El tiempo de ejecución del algoritmo SSD fue casi el doble que el del algoritmo SAD.
3. El mapa de profundidad que resultó del algoritmo SSD fue completamente similar al del
algoritmo SAD.
Respecto al tiempo de ejecución se eligió el algoritmo SAD, posteriormente reduciendo el área de
análisis y utilizando la restricción de unicidad se logró mejorar este algoritmo. Al final esa mejora
fue la que se implementó en el robot.
Graffigna et al. (Graffigna, 2005) especifican que las técnicas de correspondencia locales se pueden
dividir en dos grupos: las basadas en características, y las basadas en la correlación. Ambos tipos de
técnicas aunque conceptualmente son muy similares, son en cambio muy diferentes desde el punto
de vista de la implementación a la que conducen.
Los métodos basados en características restringen la búsqueda a un conjunto disperso de éstas.
Estos métodos emplean propiedades simbólicas y numéricas de las características, disponibles a
partir de los descriptores que se utilicen.
En los métodos basados en la correlación, los elementos a comparar son ventanas de la imagen de
dimensión fija, y el criterio de semejanza es una medida de la correspondencia entre las ventanas de
las dos imágenes.
López et al. (López, 2005) hacen una descripción de los algoritmos de correspondencia siguientes:
técnicas basadas en la correlación, algoritmo de Nishihara, funciones basadas en rango y censo,
técnicas de relajación, algoritmo de Marr-Poggio, algoritmo de Pollard Mayhew, Frisby, Técnicas
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 28
de grueso a fino, métodos basados en el gradiente, correspondencia entre características,
programación dinámica, curvas íntimas, métodos de predicción y verificación, métodos basados en
diferencias de fase, métodos para reducir la sensibilidad a las oclusiones.
En particular definen la técnica de correspondencia denominada correlación de área como aquella
que considera los valores de intensidad de los píxeles como una señal bidimensional, que en una de
las dos imágenes ha sufrido una traslación.
López et al. (López, 2005) mencionan que las técnicas relacionadas con el área como la de
correlación son muy sensibles a errores provocados por las discontinuidades en la profundidad, así
como a las regiones uniformes. Para solventar estos problemas, se proponen las técnicas basadas en
características las cuales limitan las regiones a analizar a características fiables de las imágenes,
como pueden ser los contornos, las curvas, etc.
2.5. Elementos a considerar en la elección de un algoritmo de correspondencia
Elegir entre un algoritmo de correspondencia u otro para su ejecución, depende de múltiples
situaciones, de todas Tell (Tell, 2002) distingue dos: posición de la cámara y tipo de escena.
Posición de la cámara
Aquí se determinan qué movimientos, entre distintas adquisiciones de imágenes, serán permitidos
para la cámara. Movimientos de cámara pequeños generan que los puntos correspondientes estén
cerca cada uno de una imagen de su correspondiente en la otra imagen y los vecinos alrededor de
estos puntos son similares. A los algoritmos que funcionan para este tipo de situaciones se les suele
llamar de línea base corta. Por otro lado, si la cámara tiene un movimiento o una rotación
significativa, ninguna de estas propiedades se mantendrá y entonces se tienen que aplicar algoritmos
de línea base larga.
La expresión “línea base” se refiere a la distancia entre los dos centros de la cámara de un sistema
de cámaras estéreo (Pajares, 2008). En este sentido las palabras “línea base larga” se usan para
denotar una situación donde dos imágenes no son “obviamente similares”, al menos para un sistema
de visión (Tell, 2002).
En este trabajo se supone que la línea base del par estereoscópico en análisis es corta, por lo tanto se
asume que ambas imágenes son similares en el sentido computacional. Esto significa que si las
imágenes son superpuestas una encima de la otra los puntos correspondientes se encuentran cerca y
los píxeles vecinos de alrededor de estos puntos deben de presentar características parecidas, en
consecuencia una simple correlación-cruzada deberá funcionar para el emparejamiento.
En general se asumen los supuestos siguientes para algoritmos de línea base corta:
1. Si las imágenes son sobrepuestas una encima de la otra, los puntos correspondientes se
encuentran cerca.
2. Los vecinos de alrededor de estos puntos son similares.
3. No existe una rotación o traslación significativa de la cámara entre las imágenes.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 29
4. La longitud focal u otras propiedades intrínsecas de la cámara no cambiaron entre las
imágenes.
En contraste, para algoritmos de línea base larga, se hacen los supuestos siguientes:
1. Para cualquier punto, su punto correspondiente puede estar en cualquier parte de la otra
imagen.
2. Los vecinos alrededor de los puntos correspondientes eventualmente pueden exhibir
semejanza, pero desde el momento en que ellos fueron transformados por el movimiento de
la cámara, no es adecuado comparar directamente las vecindades entre sí.
3. Objetos que eran visibles en una imagen pueden estar ocluidos en la otra imagen.
4. El problema de la línea base larga es muy difícil de resolver.
La elección entre un algoritmo de correspondencia de línea base larga o una corta en una aplicación
conlleva un compromiso entre la realización de la correspondencia y la confiabilidad numérica.
Dada una línea base corta, es fácil encontrar varios puntos correspondientes, pero la disparidad de
estos puntos es muy pequeña comparada con la distancia de los objetos en la escena, la
incertidumbre de la profundidad estimada de la escena y el movimiento de la cámara son grandes.
Con una línea base larga, la profundidad y el movimiento estimado son más confiables, pero es más
difícil encontrar los puntos correspondientes.
También hay un compromiso entre usar una cantidad pequeña o grande de imágenes, ya que si se
quiere realizar una reconstrucción 3D del objeto, se requiere de una secuencia de video del objeto
desde distintas perspectivas para obtener resultados confiables.
Tipo de Escena
Otro elemento importante a considerar es el tipo de información que contienen las imágenes, por
ejemplo si ellas tienen textura o no. Un algoritmo que se ejecuta muy bien en ciertas condiciones
puede fallar en otras. Existen muchas propiedades de la escena entre ellas la posición de los objetos,
la cual afecta la ejecución de un algoritmo particular.
La primera distinción entre los algoritmos de correspondencia se manifiesta en su desempeño
dependiente del tipo de escena donde se adquieren las imágenes. Parece razonable pensar que un
algoritmo aproveche la mayor cantidad de información contenida en una imagen. Sin embargo,
dependiendo de la escena, la “mejor” información de una imagen puede variar. Por ejemplo, si se
supone que la escena contiene en su mayoría objetos con textura baja. En este caso, los bordes de
los objetos son probablemente fáciles de detectar en las imágenes. Por otro lado, si la escena
contiene muchos objetos texturizados, los bordes de los objetos pueden ser difíciles de distinguir a
partir de la textura de los objetos. En este caso, el uso de la textura para realizar la correspondencia
es potencialmente una mejor elección que el uso de los bordes.
La textura es ciertamente una propiedad importante, pero hay otras. La siguiente es una lista de
algunas consideraciones relacionadas con el contenido de la imagen a tener en cuenta durante la
elección de un algoritmo de correspondencia.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 30
1. ¿La escena está texturizada?
2. ¿La textura se repite o no? Por ejemplo, la superficie de un escritorio de madera es
texturizado, pero su textura es casi periódica, por lo tanto este descriptor no puede ser
usado para distinguir dos partes distintas del escritorio. Esta propiedad es buena para el
reconocimiento de objetos, donde el propósito es reconocer el escritorio, pero mala para
encontrar puntos correspondientes, donde el objetivo es reconocer partes específicas del
escritorio.
3. ¿Existen objetos en la escena que son planos o curvos por partes?
4. ¿Pueden ocurrir reflexiones especulares sobre los objetos?
5. ¿Se puede usar el color para distinguir los objetos?
6. ¿Oclusiones importantes ocurrirán si se mueve la cámara a una nueva posición?
En función de la propiedad de textura en la escena se pueden distinguir dos tipos de escenas:
escenas texturizadas y escenas estructuradas.
Mikolajczyk et al. (Mikolajczyk, 2006) definen una escena estructurada como aquella que genera
imágenes que contienen regiones homogéneas limitadas por bordes distintivos. Definen a una
escena texturizada como aquella que genera imágenes que contienen texturas repetitivas de formas
diferentes.
Li et al. (Li, 2000) definen una escena texturizada como aquella que genera imágenes que están
compuestas por estructuras repetitivas y aparecen como una superficie de textura única.
Para fines prácticos en este trabajo se nombrarán como imágenes texturizadas a aquellas que se
obtuvieron de una escena texturizada y en contraparte se denominarán como imágenes estructuradas
aquellas que se obtuvieron de una escena estructurada.
Lepistö et al. (Lepistö, 2003) definen dos tipos de texturas: texturas homogéneas y texturas no
homogéneas. Las texturas homogéneas se caracterizan porque sus propiedades de textura son
constantes, por otro lado las texturas no homogéneas se identifican porque sus características de
textura no son constantes en cada parte de la muestra de textura.
Es importante hacer notar que la mayoría de las texturas naturales son estocásticas y no
homogéneas.
En [1] se menciona que las escenas texturizadas generan imágenes en donde hay una gran cantidad
de esquinas como componentes y, en contraparte, en las escenas estructuradas se generan imágenes
que son más fáciles de segmentar.
En los artículos siguientes se llevaron a cabo correspondencias entre imágenes que provenían de
entornos distintos al terrestre.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 31
García et al. (García, 2001) presentaron un enfoque, basado en la textura, para mejorar la fiabilidad
de la correspondencia de puntos, relacionando dos imágenes consecutivas de una secuencia de
imágenes tomadas a una velocidad de 3 f.p.s. por una cámara enfocada hacia el fondo del mar,
mientras era llevada por un robot marino.
Bonfim et al. (Bonfim, 2010) evaluaron y compararon la efectividad de los algoritmos de
correspondencia, SIFT y SURF, sobre un conjunto de imágenes que provinieron de escenarios reales
tomadas desde un UAV (Vehículo Aéreo no Tripulado).
Kenton et al. (Kenton, 2010a) examinaron el desempeño de los detectores Harris y Hessian,
basados en esquinas y blobs, respectivamente; así como de los descriptores de características SIFT y
GLOH (Histogramas de Orientación y Localización por Gradiente), tanto de manera independiente
como de manera conjunta. Esto mediante la repetibilidad en la detección y la precisión del
emparejamiento de los puntos característicos, extraídos en imágenes tomadas bajo del agua.
Kenton et al. (Kenton, 2010b) presentaron un método nuevo para realizar la correspondencia de
características entre imágenes que se construyeron de manera sintética, a través de simular
diferentes condiciones de la escena dentro del agua.
2.6. Algoritmos de emparejamiento utilizados en la tesis
En esta investigación se tienen los supuestos teóricos de que los videos se tomaron con una cámara
cuyos parámetros, en general, permanecieron invariantes durante la adquisición de las secuencias.
Esto significa que la cámara no tuvo movimientos bruscos, lo que se reflejaría en traslaciones o
rotaciones leves entre un fotograma y su siguiente. Además se supone que la cámara no
experimentó reajustes, por ejemplo con un “zoom”, durante la adquisición de las secuencias.
Asimismo, la correspondencia de puntos se planteó para pares consecutivos de fotogramas.
Estas consideraciones fueron el motivo para elegir algoritmos de línea base corta para cada una de
las fases del algoritmo de correspondencia implementado.
En atención a la sugerencia que se hace en (López, 2005) para evitar errores provocados por las
discontinuidades en la profundidad y dado que no es un objetivo de esta tesis obtener el mapa de
disparidad, se consideraron únicamente las características destacadas de ambas imágenes para llevar
a cabo el emparejamiento. Aún así la cantidad de parejas potenciales, eventualmente, puede ser muy
grande, así que, apoyados en los supuestos teóricos de esta investigación se postuló que los puntos
correspondientes no se encontraban tan lejanos y que por consiguiente se podía utilizar un algoritmo
de proximidad para reducir el espacio de búsqueda de parejas.
Para ello se aplicó una estrategia de búsqueda de píxeles, denominada Épsilon-bola, inspirada en los
artículos: (Kenton, 2010a), (Kenton, 2010b) y (Yen, 2010), en los que se utiliza un algoritmo del
tipo vecinos más cercanos para una primera búsqueda de parejas potenciales.
Para la fase propiamente de emparejamiento, en donde se elige sólo una pareja para los puntos, se
optó por algoritmos de línea base corta que involucraran técnicas relacionadas con el área, usando
variantes de correlación como son SAD o VNC (Correlación de Varianza Normalizada), o en su
defecto usando métricas sobre descriptores de una pequeña región con alguno de los algoritmos
denominados Textura y Color respectivamente.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 32
Las técnicas relacionadas con el área usan medidas de semejanza entre ventanas de la imagen de
dimensión fija, frecuentemente centradas en el indicador de la característica destacada en cuestión,
y el criterio de semejanza es una medida de la correspondencia entre las ventanas de las dos
imágenes. De acuerdo a (Graffigna, 2005), (Cyganek, 2009) y (Kuhl, 2004) se pueden utilizar estas
medidas de semejanza para realizar la comparación entre las ventanas que sirven como vecindad de
los indicadores de las características destacadas, ya que se ha mostrado, experimentalmente, que
este tipo de estrategias funcionan relativamente bien para algoritmos de línea base corta.
Se revisaron varias técnicas de similitud de área, pero porque aparecen con más frecuencia en los
artículos consultados, de entre ellas se eligieron para su implementación dos técnicas de
correlación: el algoritmo SAD y VNC, y dos técnicas que involucraban una métrica: distancia
Manhattan9 aplicada a vectores con descriptor de color y distancia Manhattan aplicada a vectores
con descriptores de textura.
La SAD según Graffigna et al. (Graffigna, 2005) es un índice fácil de implementar e insume menor
costo computacional que el resto de los índices de correlación, aspecto importante si se considera la
implementación en tiempo real. Aunque, según (Cyganek, 2009), tiene el inconveniente de ser muy
sensible a puntos atípicos.
De a cuerdo con Graffigna et al. (Graffigna, 2005) la correlación cruzada normalizada (NCC) es un
índice que permite al par estéreo independizarse de las diferencias de brillo y de contraste, gracias a
la normalización que se realiza respecto del valor medio y de la desviación estándar de las ventanas
de cálculo. El índice VNC es muy parecido a NCC y por ese motivo mantiene todas sus bondades,
además de que según Vincent et al. (Vincent, 2001), VNC tiene la ventaja de producir resultados
estables y confiables sobre un rango amplio de puntos de vista. Los valores obtenidos con este
índice varían entre -1 y 1 (inclusive), lo que facilita la elección de un umbral si es que así se desea.
Según López et al. (López, 2005) utilizar técnicas de correlación de área ofrece buenos resultados
sobre imágenes con textura importante, sin embargo, tiene los inconvenientes de: presentar
problemas con imágenes con elevadas discontinuidades de superficie, es muy sensible a variaciones
fotométricas debidas a sombras o reflejos y requiere un proceso posterior de eliminación de falsas
correspondencias.
García et al. (García, 2001) sugieren considerar descriptores de textura para el emparejamiento y
por ello se implementaron, en dos funciones por separado, descriptores de textura y color para el
emparejamiento de puntos.
En la tabla 2.2, se da un resumen de las técnicas que se identificaron para cada etapa del algoritmo
de correspondencia de línea base corta.
Tabla 2.2. Técnicas para algoritmos de correspondencia de línea base corta.
Técnicas Autores
Fase
Harris
MSER
(Harris, 1988)
(Konstantinos, 2000)
Extracción de Características
Destacadas
9 En (Lipschutz, 1965) se define como la función , donde
para: .
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 33
Star
(Matas, 2002)
(Mikolajczyk, 2005)
(Tuytelaars, 2008)
(Ebrahimi, 2009)
(Kenton, 2010a)
Vecinos más cercanos (Kenton, 2010a)
(Kenton, 2010b)
Primera búsqueda de pares de
puntos correspondientes
Técnicas de similitud de área a
través de correlación:
SAD , NCC o VNC
(Vincent, 2001)
(Brown, 2003)
(Graffigna, 2005)
(Kuhl, 2004)
(López, 2005)
(Cyganek, 2009)
Emparejamiento de puntos
Técnicas de similitud de área a
través de métricas de descriptores
de textura o color
(García, 2001)
Emparejamiento de puntos
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 34
Capítulo 3
3. Descripción de los algoritmos utilizados
A continuación se describen, brevemente, los algoritmos de detección de características, búsqueda
de puntos, emparejamiento de puntos y desambiguación, todos ellos componentes de los algoritmos
de correspondencia implementados en esta tesis:
3.1. Algoritmos de detección de características
En seguida se presentan los algoritmos que se utilizaron en la fase de detección de características de
la metodología propuesta.
3.1.1. Harris
Harris es un detector de esquinas que se aplica en imágenes en escala de grises y se basa en la auto-
correlación de la señal. Los artículos (Harris, 1988) y (Konstantinos, 2000) describen el algoritmo
básico de Harris en cinco pasos básicos:
Teniendo en cuenta una ventana W de dimensión de n×n, para cada píxel (i,j) de la imagen se hace
lo siguiente:
1. Calcular y utilizando diferencias de primer orden n×n para las derivadas parciales.
2. Calcular las tres cantidades ,
y .
3. Utilizando un núcleo Gaussiano con desviación estándar , ecuación (1):
obtener las medias promediadas ,
y utilizando la vecindad n×n y los valores
obtenidos en 3. Esta media es una media ponderada de los valores de la vecindad, que se
realiza a través de la convolución Gaussiana.
4. Evaluar los autovalores y de la matriz A, ecuación (2):
=
(2)
Si los autovalores de la matriz superan un determinado valor de umbral, el pixel, (i,j), asociado
se considera un punto de interés.
El algoritmo de detección de puntos característicos de Shi y Tomasi, (Shi, 1994) se define en
función del detector de esquinas de Harris. En este algoritmo se utiliza el min( , ) como el
indicador de intensidad de la esquina en lugar de y .
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 35
El indicador de característica que se usará para las características de Harris serán las coordenadas
de los puntos esquina.
Este algoritmo se implementó con una función denominada Harris que se describe en el anexo A y
para que esta función se ejecute es necesario que se le ingrese un número entero positivo que funge
como cota superior del número de esquinas. Una vez establecido este número permanecerá fijo
durante la doble aplicación de esta función: primero para obtener las características destacadas de la
vista 1 y después para obtener las características destacadas de la vista 2.
3.1.2. Star
En (Ebrahimi, 2009) Ebrahimi et al. dan una breve explicación del algoritmo CensurE
resumiéndolo en tres pasos básicos:
1. Calcular la respuesta a una laplaciana de una gaussiana bi-nivel simplificada y las
respuestas débiles son filtradas, dando como resultado la detección de bordes.
2. Detectar los extremos locales.
3. Detectar los extremos locales esquina con respuesta fuerte usando los criterios de Harris.
La diferencia entre CenSurE y Star es que mientras que CenSurE utiliza polígonos tales como
cuadrados, hexágonos y octágonos, Star utiliza círculos que se simulan con dos cuadrados
superpuestos uno vertical y otro rotado 45 grados formando una estrella, como se muestra en la
figura 3.1.
Figura 3.1. Cuadrados superpuestos que simulan un círculo.
Star detecta blobs como característica destacada y el indicador que se usa para estas características
son las coordenadas del centro del blob las cuales se pueden extraer de la estructura CvStarKeypoint
que se define en el anexo A.
Este algoritmo se implementó con una función denominada StarKeyPoint1 la cual se describe en el
anexo A y durante el proceso de correspondencia se ejecuta dos veces: primero para obtener las
características destacadas de la vista 1 y después para obtener las características destacadas de la
vista 2.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 36
3.1.3. MSER
Matas et al. en el artículo (Matas, 2002) describen un algoritmo básico de regiones extremas
máximamente estables que se puede explicar de la siguiente manera:
Sea una imagen I como un mapeo , donde S es el rango de intensidades de la imagen
en niveles de grises. Generalmente S = {0,...,255}; sin embargo, el algoritmo de regiones extremas
se puede definir para S = R ya que solo se pide que S sea totalmente ordenado, i.e. que exista una
relación binaria ≤ en S que sea reflexiva, antisimétrica y transitiva.
Se puede hacer una binarización de una imagen estableciendo que todos aquellos píxeles de la
imagen cuyo nivel de gris sea menor que cierto umbral prefijado sean “negro” y, en contraparte,
aquellos píxeles cuyo nivel sea mayor o igual que dicho umbral sean “blanco”.
Si se consideran todos los umbrales posibles de niveles de gris en una imagen I, generalmente de 0
a 255, se podría hacer una sucesión de imágenes binarizadas , donde el fotograma t-ésimo
correspondería al umbral t. Así se tendría que la imagen correspondería a una imagen donde
todos sus píxeles son “blanco”, y conforme t va aumentado en las correspondientes imágenes irán
apareciendo más píxeles “negro” hasta que, finalmente, en donde todos los píxeles son
“negro”.
Se distinguen dos tipos de regiones dentro de las imágenes binarizadas de la siguiente manera:
Q={qDq es “blanco”}, también será una región de I.
es una relación de conexidad que se define de la siguiente manera:
Sean D, p A q si y solo sí .
Una región Q de D se dice que es conexa si y solo sí para cada p, q Q existe una sucesión
de elementos de Q tal que .
La frontera de una región Q se define como:
Se tiene que es una región extrema si y solo sí es una región conexa tal que se cumple que I(p) > I(q). (región de intensidad máxima) o I(p) < I(q) (región de
intensidad mínima).
Si se considera una sucesión de regiones extremas anidadas, , i.e.
. Una región extrema es maximalmente estable si y solo sí la razón de cambio de
la función de área
tiene un mínimo local en i*, aquí S es un parámetro del
método.
El indicador de característica que se usa para las características que detecta Mser son las
coordenadas del centro de un rectángulo que circunscribe a la región extrema máximamente estable
en análisis.
Este algoritmo se implementó con una función denominada Mser1 la cual se describe en el anexo A
y durante el proceso de correspondencia se ejecuta dos veces: primero para obtener las
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 37
características destacadas de la vista 1 y después para obtener las características destacadas de la
vista 2.
3.2. Algoritmo de búsqueda de puntos
A continuación se dará una pequeña descripción del algoritmo Épsilon-bola, el cual se utilizó en la
fase de búsqueda de parejas potenciales.
3.2.1. Algoritmo de búsqueda Épsilon-bola
Épsilon-bola es un algoritmo del tipo de vecinos más cercanos, en donde se establece un umbral y
todos aquellos indicadores de características destacadas de la vista 2 cuya distancia a un indicador
de la vista 1 sea menor que el umbral previamente establecido, se convierten automáticamente en
parejas potenciales del indicador de la vista 1, como se muestra en la figura 3.2. Si se repite este
proceso para cada uno de los indicadores de la vista 1 se obtiene un primer conjunto de
correspondencias en donde a cada indicador de la vista 1 se le puede asignar más de una pareja
potencial de la vista 2.
Este mismo proceso se realiza pero ahora para los indicadores de características destacadas de la
vista 2 y con ello se obtendrá otro arreglo en donde a cada indicador de la vista 2 se le puede
asignar más de una pareja potencial de la vista 1.
Figura 3.2. Identificación de puntos a través del algoritmo Épsilon-bola.
Este algoritmo se implementó con una función denominada Ebola la cual se describe en el anexo A.
Para que esta función se ejecute es necesario que se le ingresen el radio (umbral) de la bola y la
distancia que se desean utilizar. Una vez establecidos estos valores permanecerán fijos durante la
doble aplicación de esta función: primero para obtener la búsqueda de la vista 1 a la vista 2 y
después para obtener la búsqueda de la vista 2 a la vista 1.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 38
Las distancias elegibles son la distancia Manhattan y la distancia euclidiana10
. Si se elige la
distancia euclidiana la forma de la bola será circular, mientras que si se elige la distancia Manhattan
la forma será romboidal. Además se sabe por experiencia que la distancia Manhattan consume
menos tiempo de ejecución que la distancia euclidiana.
3.3. Algoritmos de emparejamiento de puntos
Las técnicas de similitud que se utilizaron para la fase de emparejamiento del algoritmo de
correspondencia se describen a continuación.
3.3.1. Suma de diferencias absolutas (SAD)
Para obtener la similitud de correlación entre dos puntos correspondientes potenciales se aplican
ventanas cuadradas de tamaño 1111 denominadas y
, centradas en los puntos respectivos del par estereoscópico. Cada una de
estas ventanas contiene las intensidades de aquellos puntos cuya distancia de Chebyshev11
aplicada
a sus coordenadas y las coordenadas del centro de la ventana es menor o igual a 5.
La semejanza entre estas ventanas se obtiene a través de un índice denominado GS (Grado de
Semejanza). A continuación se definen, según Graffigna et al. (Graffigna, 2005), los grados de
semejanza correspondientes a SAD en la ecuación (3) y NCC en la ecuación (4).
Sean:
En el caso de SAD el índice GS se obtiene con la suma que se expresa en la ecuación (3):
(3)
El GS para la NCC centrada en la media se obtiene con el cociente que se expresa en la ecuación
(4):
(4)
10
En (Lipschutz, 1965) se define como la función , donde
para: .
11 En (Lipschutz, 1965) se define como la función , donde
para: .
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 39
3.3.2. Correlación de varianza normalizada (VNC)
VNC se considera una modificación de NCC y en (Vincent, 2001) Vincent et al. definen el GS para
VNC como el cociente que se expresa en la ecuación (5):
(5)
Para llevar a cabo el proceso de emparejamiento de la vista 1 a la vista 2 utilizando similitud de área
por correlación, independientemente de si el GS se calcula con SAD o con VNC, es el siguiente: se
fija un indicador de característica destacada de la vista 1 y luego se forma una lista con los índices
GS obtenidos de calcular la similitud de correlación de dicho punto con sus parejas potenciales de la
vista 2, las cuales resultaron de la fase de búsqueda previa. En seguida se elige como pareja del
punto de la vista 1 aquella pareja potencial de la vista 2 que arroje el GS mínimo, si existen más de
un indicador de la vista 2 que cumpla con esta condición de entre éstos se elige el primero que
aparece en la lista. Este proceso se repite para cada uno de los indicadores de características
destacadas de la vista 1 con lo que se logra que éstos tengan solamente una pareja.
El proceso de emparejamiento de la vista 2 a la vista 1 se realiza de manera análoga y también,
finalizado este proceso, lo que resulta es que a cada uno de los indicadores de la vista 2 le toque
sólo una pareja.
La función que se implementó para realizar los emparejamientos usando el índice SAD se llama
SAD y la que se implementó para realizar los emparejamientos usando el índice VNC se llama VNC,
ambas funciones se describen en el anexo A. Durante del proceso de emparejamiento la función de
correlación (SAD o VNC) se ejecuta dos veces: primero para obtener el emparejamiento de la vista 1
a la vista 2 y después para obtener el emparejamiento de la vista 2 a la vista 1.
3.3.3. Algoritmo para descriptor de color
Se implementó un descriptor de color consistente en un vector de tamaño 3 cuyas componentes
están normalizadas como se muestra en la expresión (6):
(6)
Donde: suma =
Esto significa que la primera componente de esta terna corresponde al cociente de la suma de color
rojo entre la suma de las sumas de color rojo, verde y azul; la segunda componente corresponde al
cociente de la suma de color verde entre la suma de las sumas de color rojo, verde y azul y,
finalmente, la tercera componente corresponde al cociente de la suma de color azul entre la suma de
las sumas de color rojo, verde y azul. Estos tres colores son extraídos de los píxeles de un disco
centrado en el indicador de la característica destacada. En adelante se hará referencia al vector (6)
como terna de color.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 40
Para llevar a cabo el proceso de emparejamiento de la vista 1 a la vista 2 utilizando similitud de área
por métrica para descriptor de color se realiza lo siguiente: se fija un indicador de característica
destacada de la vista 1 y luego se forma una lista con las distancias aplicadas en la terna de color de
este punto y la terna de color de alguna de sus parejas potenciales de la vista 2, las cuales resultaron
de la fase de búsqueda previa. Se elige como pareja del punto de la vista 1 aquel punto de la vista 2
que arroje la distancia más pequeña, si existe más de un indicador de la vista 2 que cumpla con esta
condición de entre éstos se elige el primero que aparece en la lista. Este proceso se repite para cada
uno de los indicadores de características destacadas de la vista 1 con lo que se logra que éstos
tengan solamente una pareja.
El proceso de emparejamiento de la vista 2 a la vista 1 se realiza de manera análoga y también,
finalizado este proceso, lo que resulta es que cada uno de los indicadores de la vista 2 tenga sólo
una pareja.
Este algoritmo se implementó con una función denominada Color la cual se describe en el anexo A
y para que ésta se ejecute es necesario que se ingresen los valores del radio del disco y la distancia
que se desean utilizar. Una vez establecidos estos valores permanecerán fijos durante la doble
ejecución de esta función: primero para obtener el emparejamiento de la vista 1 a la vista 2 y
después para obtener el emparejamiento de la vista 2 a la vista 1.
Las distancias elegibles son la distancia Manhattan y la distancia euclidiana. Si se elige la distancia
euclidiana la forma del disco será circular, mientras que si se elige la distancia Manhattan la forma
del disco será romboidal.
3.3.4. Algoritmos para descriptores de textura
De (Pajares, 2008) se definen descriptores estadísticos de primer y segundo orden los cuales se
apoyan principalmente en estadísticos de histograma de niveles de gris de una imagen. A
continuación se describen, brevemente, los que se implementaron en este trabajo.
Los estadísticos de primer orden son calculados a partir de los valores de gris originales de la
imagen y su frecuencia, como la media, varianza, desviación estándar. En estas medidas no se
considera la relación entre los píxeles. A continuación se definen los que se utilizaron en este
trabajo.
Sean:
L = el número de clases a considerar en el histograma de grises, generalmente 255.
= el representante de la clase i-ésima del histograma de grises (i {1,2, …,L}).
= frecuencia relativa de la clase i-ésima del histograma de grises.
Intensidad media [m]: Indica la intensidad media de la imagen e informa sobre el brillo general de
la imagen, esto es una imagen brillante tendrá una media alta mientras que por el contrario, una
imagen oscura poseerá una media baja. Se calcula usando la ecuación (7).
(7)
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 41
Varianza : Indica la medida de contraste de intensidad, una varianza alta corresponde a
una imagen con contraste alto, y viceversa. Se calcula usando la ecuación (8).
= (8)
Momento n-ésimo de z respecto de la media [ : La interpretación de este descriptor
depende del valor de n. Por ejemplo, el momento de tercer grado es una medida de oblicuidad del
histograma, mientras que el de cuarto orden es una medida de cuán plano es el histograma. A partir
del momento de quinto orden no es tan fácil relacionar los momentos con la forma del histograma,
pero sirven para obtener más información cuantitativa de discriminación de texturas. Se calcula
usando la ecuación (9).
(9)
Donde m es el valor medio de z y por tanto la intensidad media de la imagen.
Coeficiente R: Indica la suavidad relativa, es 0 para áreas con intensidad constante y es 1 para
valores grandes de . Se calcula usando la ecuación (10).
(10)
Por otro lado, los estadísticos de segundo orden son las medidas que consideran la relación de
coocurrencia entre grupos de los píxeles de la imagen original y a una distancia dada.
Una forma de introducir este tipo de información en el proceso de análisis de textura consiste en
considerar no solamente la distribución de intensidades, sino también las posiciones de píxeles que
tienen iguales, o casi iguales, valores de intensidad. Este método se conoce como matriz de
coocurrencia.
A partir de estadísticas de nivel de gris de segundo orden se obtienen las matrices de dependencia
espacial de nivel de gris. Sea P un operador de posición definido por el cual
indica una dirección específica (o bien para todas: 0º, 45º, 90º y 135º) entre los píxeles vecinos
dentro de una ventana móvil dentro en la imagen analizada, ver figura 3.3.
135º 90º 45º
6 7 8
5 X 1
4 3 2
225º 270º 315º
Figura 3.3. Los 8 vecinos del píxel de referencia X de acuerdo al ángulo utilizado en el
cálculo de la matriz de coocurrencia para un desplazamiento d=1.
0º 180
º
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 42
La simetría es necesaria para el cálculo de la matriz de coocurrencia, y esto se logra sumándole a
esta matriz su matriz transpuesta.
Una vez obtenida la matriz simétrica el paso siguiente es expresar esta matriz como probabilidad.
La definición más simple de la probabilidad es: “el número de veces que un evento ocurre, dividido
por el número de posibles eventos” y se calcula usando la ecuación (11).
(11)
Donde:
i es el número de filas y j es el número de columnas.
V es el valor de la celda (i,j) en la ventana.
es la probabilidad en la celda i, j.
N es el número de filas o columnas.
La ecuación (11) transforma la matriz de coocurrencia en una aproximación de la tabla de
probabilidad. Este proceso se denomina normalización de la matriz.
Hasta este punto se ha detallado como se crea una matriz normalizada, expresada como
probabilidad, para una determinada relación espacial entre dos píxeles vecinos, . Una vez
construida, de esta matriz pueden derivarse 9 variables estadísticas de segundo orden que sirven de
descriptores texturales, los cuales formarán el vector de características de coocurrencia y que harán
posible caracterizar con un conjunto de valores cuantificables cada imagen analizada.
Probabilidad Máxima: Es el valor máximo de las entradas de la matriz . Se calcula usando la
expresión (12).
(12)
Momento de distinción de elementos de orden k: Se calcula usando la expresión (13).
(13)
Homogeneidad también llamado momento inverso de distinción de elementos de orden 2: Es el
opuesto al contraste y se calcula mediante la expresión (14).
(14)
Entropía: Este descriptor mide la aleatoriedad de la imagen, alcanzando su máximo cuando todos
los elementos de la matriz de coocurrencia son iguales. Se calcula usando la expresión (15).
(15)
Se asume que (0)( ) = 0.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 43
Uniformidad: Energía (o momento angular de segundo orden). Esta medida da valores altos
cuando en la matriz de coocurrencia tiene pocas entradas de gran magnitud, y es baja cuando todas
las entradas son similares. Si todos los píxeles son iguales la energía es mínima. Es una medida de
homogeneidad local. Se calcula mediante la expresión (16).
(16)
Correlación: Algunas propiedades de la correlación son: un objeto tiene más alta correlación
dentro de él que entre objetos adyacentes y píxeles cercanos están más correlacionados entre sí que
los píxeles más distantes. Este coeficiente se calcula usando la expresión (17).
(17)
donde:
Tonalidad: Lo primero que se debe calcular es la media de la matriz de coocurrencia, tanto para
filas como para columnas. La media de la matriz de coocurrencia no es simplemente el promedio de
los valores originales de los niveles de gris en la ventana. El valor del píxel no es ponderado por su
frecuencia por sí mismo, sino por la frecuencia de su coocurrencia en combinación de un
determinado valor del píxel vecino. Se calcula la tonalidad a través de la expresión (18).
(18)
donde:
Importancia: Medida similar a la tonalidad cuya expresión viene dada por (19).
(19)
donde:
Inercia (o contraste): Es una medida de la variación local en una imagen. Alcanza un valor alto
cuando la imagen tiene mucho contraste y tiene un valor bajo cuando los valores altos de la matriz
están cerca de la diagonal principal. Se calcula usando la expresión (20).
(20)
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 44
El vector de características de coocurrencia estará formado por 64 elementos, ya que a partir de
cada imagen se calculan sus ocho matrices de coocurrencia de niveles de grises (GLCM), una en
cada orientación principal: 0º, 45º, 90º, 135º, 180º, 225º, 270º y 315º, después de cada una de esas
matrices se obtienen las ocho características anteriores.
El vector final de descriptores utilizado para determinar texturas se construye uniendo las 6
características de histograma con las 64 características de coocurrencia, obteniendo un vector de 70
elementos para cada uno de los puntos analizados, al que se le denominó vector de textura.
Los estadísticos de un orden superior a dos no se consideraron ya que, aunque su cálculo es
teóricamente posible, se requiere mucho tiempo y su resultado es de difícil interpretación.
Para llevar a cabo el proceso de emparejamiento de la vista 1 a la vista 2 utilizando similitud de área
por métrica para descriptor de textura se realiza lo siguiente: se fija un indicador de característica
destacada de la vista 1 y luego se forma una lista con las distancias aplicadas en el vector de textura
de ese punto y el vector de textura de alguna de sus parejas potenciales de la vista 2. Se elige como
pareja del punto de la vista 1 aquel punto de la vista 2 que arroje la distancia Manhattan más
pequeña, si existen más de un indicador de la vista 2 que cumpla con esta condición de entre éstos
se elige el primero que aparece en la lista. Este proceso se repite para cada uno de los indicadores de
características destacadas de la vista 1 con lo que se logra que éstos tengan solamente una pareja.
El proceso de emparejamiento de la vista 2 a la vista 1 se realiza de manera análoga y también,
finalizado este proceso, lo que resulta es que cada uno de los indicadores de la vista 2 tenga sólo
una pareja.
Este algoritmo se implementó con una función denominada Textura la cual se describe en el anexo
A. Para que esta función se ejecute es necesario que se ingrese el número de unidades de
desplazamiento que se requiere para el cálculo de la matriz de coocurrencia. Una vez establecido
este número permanecerá fijo para la doble aplicación de esta función: primero para obtener el
emparejamiento de la vista 1 a la vista 2 y después para obtener el emparejamiento de la vista 2 a la
vista 1.
3.4. Algoritmo de desambiguación
Después de que la fase de emparejamiento logró que tanto los indicadores de características de la
vista 1 como los de la vista 2 tuvieran solamente una pareja lo que sigue es procurar que ninguno de
estos indicadores sea elegido por más de un indicador de la otra vista. Para ello, simplemente, se
eligen como pares estereoscópicos aquellas parejas en donde ambos indicadores se hayan elegido
mutuamente.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 45
Capítulo 4
4. Diseño e implementación del sistema
En este capítulo se muestra el diseño que se utilizó para llevar a cabo la implementación del sistema
denominado Correspondencia.
4.1. Introducción
El fin de esta tesis no era realizar un sistema computacional per se, sino que se visualizó como un
medio para generar algoritmos de correspondencia para posteriormente compararlos y generar
conocimiento. Para ello se pensó en un sistema que fuera lo más rápido, flexible y manejable
posible.
Por flexible se entiende que se pudieran hacer cambios al código para que el sistema pudiera
realizar distintos tipos de pruebas y manejable en el sentido de que el código complejo se pueda
dividir en varios programas más simples, y éstos a su vez en otros programas más simples, así hasta
obtener programas lo suficientemente simples como para poder ser analizados fácilmente.
Por este motivo se ideo un sistema de programación modular con interfaz de consola, en donde el
usuario ingresara los parámetros de manera manual.
4.2. Arquitectura del sistema
El algoritmo que se implementó se llama Correspondencia y de acuerdo al comportamiento que
tome será el algoritmo que se ejecutará. Por este motivo se eligió para su implementación el patrón
de diseño Template Method. Es un patrón que define una estructura algorítmica en la súper clase,
delegando la implementación a las subclases. Esto significa que define una serie de pasos que
determinarán el comportamiento del algoritmo a través de la redefinición en las subclases a través
de una estructura de herencia, en la cual la superclase sirve de plantilla de los métodos en las
subclases.
Este patrón es el adecuado para implementar el algoritmo genérico denominado Correspondencia,
ya que este algoritmo es común para muchas clases12
, pero con pequeñas variaciones entre una y
otras. Además de que este patrón evita la repetición de código y por tanto la aparición de errores.
En la figura 4.1 se muestra el diagrama de clases13
que describe la estructura del sistema
implementado.
12
Clase es una entidad que encapsula información y comportamiento de un objeto (Joyanes, 2008). 13
Es un diagrama que muestra un conjunto de clases, interfases y colaboraciones y sus relaciones; los
diagramas de clases cubren la vista de diseño estática de un sistema (Booch, 2005).
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 46
#CD()
#Buscar()
#Corresp()
+Correspondencia()
+~Correspondencia()
+SetCad()
+Calcular()
#NumAlg : int = 1
#secs : double = 0
#d1 : int = 0
#x1 : int = 200
#K1 : int = 3
#eps1 : int = 30
#d : uint = 1
#ud : int = 2
#es1 : int = 2
#es2 : int = 2
#m1 : int = 2
#m2 : int = 2
#m : int = 2
#esq1 : int = 0
#esq2 : int = 0
#M1 : int = 0
#M2 : int = 0
#M : int = 0
#ruta1 : unsigned char = 0
#ruta2 : char = 0
#ruta3 : char = 0
#ruta4 : char = 0
#img1 : <sin especificar> = 0
#img2 : <sin especificar> = 0
#img3 : <sin especificar> = 0
#im4 : <sin especificar> = 0
#im5 : <sin especificar> = 0
Correspondencia
+Harris()
+~Harris()
#CD()
Harris
+StarKeyPoint1()
+~StarKeyPoint1()
#CD()
StarKeyPoint1
+Mser1()
+~Mser1()
#CD()
Mser1
+Fact1()
+~Fact1()
#Buscar()
Fact1
+Fact2()
+~Fact2()
#Buscar()
Fact2
+Fact3()
+~Fact3()
#Buscar()
Fact3
+Uno()
+~Uno()
#Corresp()
Uno
+Dos()
+~Dos()
#Corresp()
Dos
+Doce()
+~Doce()
#Corresp()
Doce
+Once()
+~Once()
#Corresp()
Once
+Diez()
+~Diez()
#Corresp()
Diez
+Nueve()
+~Nueve()
#Corresp()
Nueve
+Ocho()
+~Ocho()
#Corresp()
Ocho
+Siete()
+~Siete()
#Corresp()
Siete
+Seis()
+~Seis()
#Corresp()
Seis
+Cinco()
+~Cinco()
#Corresp()
Cinco
+Cuatro()
+~Cuatro()
#Corresp()
Cuatro
+Tres()
+~Tres()
#Corresp()
Tres
Fin1 Fin2
Fin3
Fin4
Fin5Fin6Fin7
Fin8
Fin9
Fin10
Fin13
Fin
14 Fin11Fin12 Fin17Fin18
Fin21
Fin22
Fin19
Fin20
Fin15
Fin
16
Figura 4.1. Diagrama de clases.
En el anexo A se da una breve descripción de los atributos y métodos de la clase correspondencia.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 47
En la figura 4.2 se visualiza el orden del llamado de los métodos de la clase Correspondencia para
llevar a cabo cada una de las fases del algoritmo Correspondencia.
Figura 4.2. Diagrama de flujo14
para la ejecución del proceso de correspondencia.
En el anexo A se indican las funciones que se ejecutan para realizar los procesos desde la detección
de características hasta la desambiguación del diagrama de la figura 4.2.
4.3. Especificaciones técnicas
Entre los requerimientos de hardware y software se considera a una computadora que tenga las
características siguientes:
Sistema Operativo: Windows 7 o versiones superiores.
Memoria RAM: Mínimo 4GB
Disco duro: 500GB libres
Procesador: AMD II Dual-Core P320 o superior.
El software que se necesita para la ejecución del sistema es la plataforma de desarrollo NetBeans
IDE 6.8 junto con el lenguaje de programación C++ y algunas librerías de OpenCV 2.1.
14
Es un diagrama que utiliza símbolos estándar para escribir los pasos de un algoritmo unidos por flechas,
denominadas líneas de flujo, que indican la secuencia en la que se debe ejecutar (Joyanes, 2008).
CDs Vista 2 Búsqueda
Vista 1 Búsqueda
Vista 2
Correspondencia
Vista 2
Correspondencia
Vista 1
CDs Vista 1
Repositorios
Inicio
Archivos
Imagen y Excel
Desplegado Desambiguación
Fin
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 48
Capítulo 5
5. Descripción de los repositorios
Los videos que se analizaron en este trabajo se tomaron en espacios tridimensionales no controlados
de entornos acuáticos y terrestres. Se entiende por espacios tridimensionales no controlados como
aquellos en donde el espectador no tiene gran intervención con respecto al tipo, número y
disposición de los objetos que aparecen en la escena.
Para el entorno acuático, se usó un repositorio de imágenes llamado AQUA, extraídas de un video
tomado por el robot marino AQUA15
de la Universidad de McGill, Montreal, Canadá.
Para el entorno terrestre se utilizaron imágenes extraídas de seis secuencias de video que se
distribuyeron de la siguiente manera:
1. Una secuencia con un entorno terrestre exterior de tipo urbano (Exteriores_Urbanos16
).
2. Tres secuencias las cuales representan un entorno terrestre exterior de tipo boscoso
(Exteriores_Naturales1, Exteriores_Naturales2 y Exteriores_Naturales3).
3. Finalmente, dos secuencias de interiores de edificio de oficinas (Interiores1 e Interiores2).
Las secuencias de Interiores se tomaron dentro de las instalaciones de la Universidad de McGill,
Montreal, Canadá y las secuencias de Exteriores_Naturales se tomaron en un parque cercano a la
Universidad de McGill, Montreal, Canadá. Todos estos videos se obtuvieron con una cámara que
tiene las características siguientes:
Marca: Canon
Modelo: PowerShot SD1200 IS
Lente Canon Zoom Lens 3x IS 6.2 a 18.6 mm, 1:2.8-4.9
Sensor de 10.0 MegaPixeles
Las tomas se hicieron con la mínima distancia focal (sin zoom), es decir 6.2 mm.
Los detalles de los repositorios de fotogramas se muestran en la tabla 5.1.
15
El robot AQUA fue desarrollado por un equipo de investigación combinada de McGill, York y las
universidades de Dalhousie. Este robot es muy pequeño, ágil y por medio de sus palas puede nadar bajo el
agua para la recopilación de datos complejos de arrecifes y barcos hundidos. 16
Obtenido de la página web con URL: http://www.vision.ee.ethz.ch/~bleibe/cvpr07/datasets.html, fecha de
acceso: 10/08/2011.
Tesis de Maestría
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 49
Tabla 5.1. Características de los repositorios de imágenes.
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 118
eigImage (IntPtr)
Imagen temporal de punto flotante de 32 bits del mismo tamaño que la imagen
tempImage (IntPtr)
Otra imagen temporal del mismo tamaño y el mismo formato que eigImage
corners (IntPtr)
Parámetro de salida. Esquinas detectadas
cornerCount ( Int32 )
Parámetro de salida. Número de esquinas detectadas
qualityLevel (Double)
Multiplicador para el valor propio maxmin que especifica la calidad mínima aceptada de esquinas de la imagen.
minDistance (Double)
Límite, que especifica la distancia mínima posible entre las esquinas regresadas. Se utiliza la distancia euclidiana.
Mask (IntPtr)
Región de interés. La función selecciona los puntos entre la región especificada o la imagen completa si mask es NULL.
blockSize (Int32)
Tamaño del bloque promedio, pasó a cvCornerMinEigenVal o cvCornerHarris a través de la función.
useHarris (Int32)
Si el operador Harris (cvCornerHarris) es distinto de cero ser usa en lugar de cvCornerMinEigenVal.
K (Double)
Es un parámetro libre del detector de Harris, se usa solo si useHarris es distinto de cero.
la función Harris utiliza la variable x (int) que representa una cota superior para el número de esquinas.
StarKeyPoint1
La función StarKeyPoint1 usó para su implementación cvGetStarKeypoints, función de OpenCV 2.1 que recupera puntos clave usando el
algoritmo de detección de características Star. Tiene la sintaxis siguiente:
(
int maxSize CV_DEFAULT(45), int responseThreshold CV_DEFAULT(30),
int lineThresholdProjected CV_DEFAULT(10),
int lineThresholdBinarized CV_DEFAULT(8), int suppressNonmaxSize CV_DEFAULT(5))
Parámetros:
image ()
Imagen de un solo canal, de origen de 8-bits.
(
Memoria donde se guardarán los blobs.
(int maxSize CV_DEFAULT(45),
int responseThreshold CV_DEFAULT(30),
int lineThresholdProjected CV_DEFAULT(10), int lineThresholdBinarized CV_DEFAULT(8),
int suppressNonmaxSize CV_DEFAULT(5))( )
permanecen los valores por default
cvGetStarKeypoints es una secuencia de estructuras del tipo CvStarKeypoint que representan la característica calculada. Esta estructura tiene la lista de miembros siguiente:
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 119
La función Mser1 usó para su implementación cvExtractMSER, función de OpenCV 2.1 que obtiene regiones extremas máximamente
estables clave usando el algoritmo de detección de características MSER. Tiene la sintaxis siguiente:
public static void cvExtractMSER(
const CvArr *img, const CvArr *mask,
const CvSeq **contours,
CvMemStorage *storage, CvMSERParams params
)
Parámetros:
img () Imagen de un solo canal, de origen de 8-bits.
(const CvArr* Es la máscara para la región de interés
contours (CvSeq **) Es una secuencia de secuencias de píxeles que representan las MSER. La cardinalidad de cada secuencia de píxeles se puede
calcular utilizando la propiedad de “total” de la secuencia y como consecuencia se puede conocer el tamaño de cada una las
regiones.
Storage (CvMemStorage *)
Es la memoria de almacenamiento.
Params(CvMSERParams)
Son los parámetros de las MSER que se almacenan en la estructura CvMSERParams mediante la ejecución de la función cvMSERParams que tiene los parámetros siguientes:
MSERParams(int delta CV_DEFAULT(5), int min_area CV_DEFAULT(60),
Análisis de Algoritmos de Correspondencia para Visión Estéreo Página 121
N = Arreglo de parejas de puntos correspondientes final
n = Tamaño de N
N1 = Arreglo de parejas de puntos correspondientes de la vista1 n1 = Tamaño de N1
N2 = Arreglo de parejas de puntos correspondientes de la vista2
n2 = Tamaño de N2 b1 = Entero que indica si el proceso Desam se realizó de manera exitosa
Módulos del sistema
Los módulos del sistema19 se organizaron de la siguiente manera:
Se diseñaron dos módulos: Semejanza y Busqueda.
Semejanza contiene las clases: Uno, Dos, Tres, Cuatro, Cinco, Seis, Siete, Ocho, Nueve, Diez, Once y Doce. Las cuales están encargadas
del proceso emparejamiento.
Busqueda contiene las clases: Fact1, Fact2 y Fact3, las cuales están encargadas del proceso de búsqueda.
El resto de las clases se manejaron en módulos por separado por la cantidad de código que contenían. Como se muestra en el diagrama 4.4.
Figura A.1. Diagrama de módulos.
Procesamiento de los objetos20
En la función Calcular de la clase Correspondencia se llevan a cabo los procesos correspondientes a cada una de las fases del algoritmo de Correspondencia.
Para la obtención del objeto arreglo de pares correspondientes se realizó el siguiente procedimiento:
1. Inicialización de las variables necesarias para todo el proceso del algoritmo de correspondencia: