TESIS DEFENDIDA POR Luis Manuel Jiménez Medina
Y APROBADA POR EL SIGUIENTE COMITÉ
Dr. Vitaly Kober Dr. Hugo Homero Hidalgo Silva
Codirector del Comité Codirector del Comité
Dr. Pedro Gilberto López Mariscal Dr. Luis Alonso Gallardo Delgado
Miembro del Comité Miembro del Comité
Dr. Pedro Gilberto López Mariscal
Dr. David Hilario Covarrubias Rosales Coordinador del programa de posgrado en
Ciencias de la Computación
Director de Estudios de Posgrado
CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR
PROGRAMA DE POSGRADO EN CIENCIAS
ALGORITMO PARA RECONSTRUCCION 3D DE
que para cubrir parcialmente
Ensenada, Baja California, México,
CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR DE ENSENADA
PROGRAMA DE POSGRADO EN CIENCIAS EN CIENCIAS DE LA COMPUTACIÓN
PARA RECONSTRUCCION 3D DE OBJETOS TEXTURIZADOS
TESIS
que para cubrir parcialmente los requisitos necesarios para obtener el grado de MAESTRO EN CIENCIAS
Presenta:
LUIS MANUEL JIMÉNEZ MEDINA
Ensenada, Baja California, México, septiembre del
CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR
PROGRAMA DE POSGRADO EN CIENCIAS
OBJETOS TEXTURIZADOS
los requisitos necesarios para obtener el grado de
RESUMEN de la tesis de Luis Manuel Jiménez Medina, presentada como requisito parcial para la obtención del grado de MAESTRO EN CIENCIAS en Ciencias de la Computación. Ensenada, Baja California. Septiembre 2008.
ALGORITMO PARA RECONSTRUCCION 3D DE OBJETOS TEXTURIZADOS
Resumen aprobado por:
________________________________ ________________________________ Dr. Vitaly Kober Dr. Hugo Homero Hidalgo Silva Codirector de Tesis Codirector de tesis
En el campo de la visión por computadora, la obtención de información tridimensional (3D) a partir de imágenes es de gran importancia. Una de las formas más usuales para realizar esta tarea es con visión estéreo. La reconstrucción por medio de imágenes estéreo consiste en obtener un mapa de profundidad de un par de imágenes, una tomada desde un punto de vista no muy lejano con respecto a la otra. Con esta técnica se puede obtener una representación 3D de un objeto real o una escena usando varias imágenes de diferentes perspectivas. El punto clave en este proceso es la correspondencia estéreo. Correspondencia estéreo es el método por el cual se determina el cambio de posición de un punto en una imagen con respecto a la otra. En este trabajo se propone un nuevo algoritmo para la correspondencia estéreo basado en programación dinámica (PD) en dos dimensiones. El enfoque clásico de PD para el problema de correspondencia estéreo funciona de forma unidimensional, esto significa que los resultados obtenidos no toman en cuenta la correlación vertical, esta es la razón por la que los resultados no muestran un buen rendimiento en términos de exactitud, pero muy buenos en términos de tiempo. La técnica propuesta es una modificación del algoritmo PD. Se usa la información sobre el eje vertical en un pequeño vecindario y se aprovechan las propiedades de que ofrecen las texturas, lo cual es muy útil para obtener mejores resultados en términos de exactitud.
ABSTRACT of the thesis presented by Luis Manuel Jiménez Medina as a partial requirement to
obtain the MASTER OF SCIENCE degree in Computer Science. Ensenada, Baja California, September 2008.
ALGORITHM FOR 3D RECONSTRUCTION OF TEXTURED OBJECTS
In the field of computer vision, determination of the three-dimensional (3D) information from images is of central importance. One of the most used ways for achieving this task is with stereo vision. Shape from stereo method aim to obtaining a depth map from a pair of images, each one taken from different not-so-far point of views. With this technique a 3D representation of real objects scenes using several images at different perspectives can be obtained. The key point in this process is the stereo matching. The stereo matching determines the difference in the position of two corresponding points. In this thesis a new stereo matching algorithm is proposed, it is based on dynamic programming (DP). The classical DP approach for the stereo matching problem works on a one-dimension way, this means that the obtained results don’t take into account the vertical correlation, this is why the performance of the 1D method is in terms of shape recovery is poor. However, the 1D method is fast. The proposed technique is a modification of the classical DP algorithm; it uses the information of the points over the vertical axis in a small neighborhood and texture properties, which is very useful to get better results in terms of accuracy.
Dedicatorias
A mis padres y tíos que me han dado todo el apoyo para seguir por este
camino
Agradecimientos.
Mi más sincero agradecimiento a:
• A los doctores Vitaly Kober y Hugo Homero Hidalgo Silva por su apoyo, dedicación y comprensión en la realización de esta tesis.
• A los doctores Gilberto López y Luis Gallardo por sus consejos y apoyo.
• A todos los profesores de la maestría en Ciencias de la Computación de CICESE. • A todos los amigos que hice en CICESE.
CONTENIDO
Página
Resumen español……….. i
Resumen ingles………. ii
Dedicatorias……….. iii
Agradecimientos………... iv
Contenido……….. v
Lista de Figuras……… vii
I. Introducción……… 1
I.1 Antecedentes……….. 1
I.2 Definición del problema y objetivos………. 6
I.2.1 Objetivos generales………...……… 6
I.2.2 Objetivos específicos….……… 6
I.4 Metodología……….. 7
I.5 Importancia de la investigación………. 8
I.6 Organización de la tesis………. 8
II. Marco teórico ………...……….. 10
II.1 Reconstrucción 3D……… 10
II.1.1 Reconstrucción por medio de imágenes estéreo……… 13
II.1.2 Geometrías estéreo……… 16
II.1.3 Correspondencia estéreo……….... 21
II.1.3.1 Métodos locales……… 22
II.1.3.2 Métodos globales………. 26
II.2 Texturas………. 27
III. Algoritmo propuesto ... 30
III.1 Programación dinámica……… 30
III.2 Algoritmo propuesto……… 35
IV. Resultados ... 38
IV.1 Primeros experimentos……….. 38
IV.2 Experimentos con objetos texturizados………. 40
IV.3 Experimentos con objetos texturizados reales………... 43
V. Conclusiones ……….. 46
V.2 Trabajo a futuro……….. 47
Referencias……… 48
LISTA DE FIGURAS
Figura
Página
1. Ejemplo de Reconstrucción 3D del busto de nefertiti. 2
2 Reconstrucción por medio de imágenes estéreo. Un punto en el espacio
A se proyecta sobre dos imágenes bidimensionales en A’ y A’’. 4
3 Imágenes tomadas del trabajo de Klette (1998), para mostrar como las texturas pueden hacer que la reconstrucción 3d de un objeto pierda
exactitud. 5
4 Imágenes tomadas del trabajo de Klette (1998) para mostrar cómo es que funciona la reconstrucción por medio de sombras. En estos métodos se determina la profundidad de un punto de acuerdo su valor
de intensidad. 11
5 Imágenes tomadas el trabajo de Aganj (2007) para mostrar cómo funciona la reconstrucción por medio de siluetas. A partir de un conjunto de imágenes tomadas de diferentes perspectivas se crea un
modelo 3D de un objeto 12
6 Reconstrucción por medio de enfoque. Imágenes tomadas del trabajo de Nayar (1994) en el cual propone que definir la profundidad de una escena de acuerdo al grado de desenfoque que se muestra en un
conjunto de imágenes capturadas con diferente enfoque. 13
7 Proceso de stereopsis. Aquí se ve la forma en que los ojos capturan diferentes perspectivas de una escena y se envían al cerebro para ser
procesadas. 14
8 Geometría estándar para captura de imágenes estéreo. 17
9 Modelo para captura de imágenes estéreo basado en la geometría
epipolar. 20
10 a) ejemplo donde se cumple la limitante de orden. b) ejemplo donde no se cumple la limitante de orden
21 11 Un punto que se desplaza de (x1, y1) a (x2, y2) obtiene un vector de
desplazamiento (x2-x1, y2-y1). Con esto se puede calcular la distancia y
12 Ejemplo de bloque para correspondencia para un pixel en las
coordenadas (i, j). 23
13 Ejemplos de texturas. a) textura con texel regular. b) textura con texel
irregular. c) textura con texel estocástico 28
14 Graficas de valores de intensidad de pixeles. a) con textura, b) sin
textura. 29
15 Representación grafica del espacio de búsqueda generado con la función de similitud acumulada parcial. El eje horizontal representa la coordenada x para una fila dada, mientras que el eje vertical representa una distancia desplazada. En cada localidad se almacena el
valor de disimilitud acumulado. 34
16 Espacio de búsqueda generado con la nueva función de similitud
acumulada parcial. NDSP. 36
17 Material de experimentos. a) escena de tsukuba. b) mapa de profundidad real. c) mapa de profundidad resultante usando el algoritmo clásico de PD. d) mapa de profundidad resultante usando el
algoritmo propuesto. 39
18 Resultados obtenidos de la escena de tsukuba variando el tamaño de la ventana vertical y calculando el error medio cuadrático para cada
resultado. 40
19 Imágenes con objetos texturizados. Dentro de cada escena existen varia texturas, delimitando el área que abarcan. Se evaluaran los
resultados obtenidos sobre el área que cubre cada textura. 41
20 Resultados del algoritmo con objetos texturizados. El orden es el presentado en la figura 19. Se obtuvieron nuevos mapas de profundidad de cada escena y se calculo el MSE para las áreas cubiertas por textura. Con esto se calculo su media y su varianza para definir el valor presentado y su intervalo de confianza.
42 21 Texturas usadas para realizar los experimentos. Un objeto de forma
cilíndrica fue forrado con estas y se le tomaron un conjunto de
imágenes estéreo para calcular mapas de profundidad. 43
22 Ejemplo de la forma en que se tomaron las secuencias de imágenes. Varias tomas del objeto cilíndrico forrado con una de las texturas
mostradas en la figura anterior. 44
ordenadas de acuerdo al tamaño de su texel. Se calcularon cinco mapas de profundidad para cada textura y sus MSE, estos se promediaron para dar los resultados mostrados.
Capítulo I
Introducción
I.1 Antecedentes
En los últimos años se ha visto un incremento en el uso de métodos de visión por computadora. La causa principal de esto es el deseo de automatizar uno de los procesos relativamente sencillos para los seres humanos; la visión. Por ejemplo, si hubiera un sistema de control de calidad que detecta si un objeto dado cumple con ciertas características físicas, éste dependería completamente de los modelos 3D obtenidos, por lo que un objeto con pequeños defectos físicos, que no alcancen a ser percibidos por el sistema, pasaría por el control de calidad. Entonces se empezarían a dar objetos defectuosos, lo cual en ningún ramo de la industria es bueno.
El automatizar este proceso permite dar apoyo a diversas áreas como la medicina, el diseño o control de calidad entre muchas otras. Dentro de este proceso de automatización es deseable que las computadoras sean capaces de realizar tareas como el seguimiento de un objeto o el análisis de las características físicas de un objeto.
Según la Real Academia de una persona, animal u objeto con la vis
muy complejo, ya que percibir implica ser capaz de
posición en el espacio que ocupan, entre muchas otras acciones disciplina de las ciencias de la computación
busca la forma de que las computadoras puedan realizar este tipo de procesos. La por computadora se ha dividido en múltiples sub
solución a alguna de las tareas que implica el proceso de ver. la reconstrucción tridimensional (
La reconstrucción 3D (Figura 1)
representación de un objeto o una escena en tres dimensiones
computadora, es decir se reconstruye el objetivo de manera virtual, a partir de un conjunto de imágenes en dos dimensiones
aprovechar la información que puede conjunto de coordenadas de
objeto.
Figura 1. Ejemplo de Re
Según la Real Academia de la Lengua Española, la palabra ver significa “percibir una persona, animal u objeto con la vista”. Esto quiere decir que el proceso de ver es algo
, ya que percibir implica ser capaz de identificar objetos o determinar la io que ocupan, entre muchas otras acciones.
disciplina de las ciencias de la computación, surgió el área de visión por computadora, que forma de que las computadoras puedan realizar este tipo de procesos. La
utadora se ha dividido en múltiples sub-áreas, cada una de estas buscando dar solución a alguna de las tareas que implica el proceso de ver. Una de las más destacadas es
tridimensional (3D).
La reconstrucción 3D (Figura 1) es el proceso por el cual se obtiene una representación de un objeto o una escena en tres dimensiones en
computadora, es decir se reconstruye el objetivo de manera virtual, a partir de un conjunto de imágenes en dos dimensiones tomadas bajo diferentes condiciones
aprovechar la información que pueden ofrecer una o varias imágen
coordenadas de puntos 3D usados para definir las características físicas de un
Figura 1. Ejemplo de Reconstrucción 3D del busto de nefertiti
la Lengua Española, la palabra ver significa “percibir que el proceso de ver es algo identificar objetos o determinar la . Es por esto que en la surgió el área de visión por computadora, que forma de que las computadoras puedan realizar este tipo de procesos. La visión , cada una de estas buscando dar na de las más destacadas es
es el proceso por el cual se obtiene una en la memoria de una computadora, es decir se reconstruye el objetivo de manera virtual, a partir de un conjunto ajo diferentes condiciones. Este proceso busca genes para obtener un las características físicas de un
Existen varios enfoques para extraer información 3D de un conjunto de imágenes. Cada uno de estos tiene sus requerimientos como:
• Un número mínimo de imágenes,
• Las condiciones especificas de la captura de imágenes • Un pre-procesamiento de las imágenes.
Las condiciones de captura son las propiedades del ambiente en que fueron capturadas las imágenes como posición e intensidad de las fuentes de luz, así como las características geométricas del sistema de captura con que fueron tomadas las imágenes, es decir posición de la cámara, grado de desenfoque, etc. El pre-procesamiento consiste en modificar las imágenes de alguna forma que se facilite la extracción de la información requerida. Algunos ejemplos de pre-procesamiento son: suavizado de imágenes, extracción de bordes o segmentación. Uno de los enfoques de reconstrucción 3D más usados en la práctica es el basado en imágenes estéreo.
Figura 2. Reconstrucción por medio de imágenes estéreo. Un punto en el espacio A se proyecta
sobre dos imágenes bidimensionales en A’ y A’’.
Suponiendo que se conocen los parámetros de calibración de la cámara, la tarea principal en la reconstrucción 3D con imágenes estéreo consiste en cómo encontrarle a cada punto de una imagen (A’) su correspondiente en la otra imagen (A’’). Esta tarea en muchos casos resulta muy difícil debido a diversos inconvenientes, entre los que destacan la presencia de texturas sobre los objetos.
Figura 3: a) imagen estéreo
trabajo de Klette (1998), para mostrar como las texturas pueden hacer que la reconstrucción 3d de
Las texturas en el campo de la visión por computadora debido a su variedad y com
definición clara del concepto de textura.
técnicas que tratan a la textura como ruido en la información que pudiera proveer.
a)
b)
estéreo. b) mapa de profundidad resultante de a).
, para mostrar como las texturas pueden hacer que la reconstrucción 3d de
un objeto pierda exactitud.
Las texturas en el campo de la visión por computadora son algo difícil de tratar edad y complejidad. Esto lo demuestra el hecho de que no exista una definición clara del concepto de textura. En la mayoría de los casos se han desarrollado
a la textura como ruido en la imagen y descartan por completo a proveer.
). Imágenes tomadas del
, para mostrar como las texturas pueden hacer que la reconstrucción 3d de
I.2 Definición del problema y objetivos
Como se mencionó anteriormente, las técnicas de reconstrucción 3D que existen en la actualidad están basadas en métodos en los que no se aprovecha por completo toda la información que provee una imagen, como puede ser los bordes o esquinas. Un claro ejemplo de esto es la idea de tratar a las texturas como ruido de la imagen. Esto provoca que información que pudiera usarse para mejorar la exactitud de la reconstrucción 3D sea descartada. Además de que el mismo proceso que elimina la influencia de la textura también provoca que los resultados pierdan exactitud
Lo que se busca hacer en este proyecto es desarrollar una técnica que permita aprovechar toda la información que da un conjunto de imágenes para crear modelos 3D con mejor exactitud. Esto es, tomar un algoritmo ya existente y encontrar una forma para que este pueda aprovechar la información que ofrecen las texturas para mejorar la exactitud de los resultados.
I.2.1 Objetivo general
Proponer una técnica nueva para la reconstrucción de objetos 3D texturizados capaz de aprovechar la información que la textura proporcione.
I.2.2 Objetivos específicos
• Estudiar las técnicas existentes de reconstrucción a partir de imágenes estéreo. • Estudiar acerca de texturas para poder determinar la forma de aprovechar la
información que proveen.
• Investigar y proponer una nueva técnica de reconstrucción orientada a objetos texturizados dinámicos.
I.3 Metodología.
A continuación se habla acerca de los pasos que se llevaron a cabo para realizar este trabajo y se muestra el calendario de actividades, donde se detalla las actividades y periodos de tiempo que se invirtieron en cada fase del proyecto. Las fases fueron las siguientes:
1) Revisión de la literatura: el objetivo de esta fase de la investigación fue reunir el
conocimiento necesario para poder sustentar las ideas que se proponen en el proyecto. También se verificó que el trabajo que se planeaba hacer en este proyecto no había sido realizado antes por otro investigador.
2) Estudio de técnicas de reconstrucción 3D: se analizaron las características de
algunos de los algoritmos de reconstrucción por medio de imágenes estéreo y previamente propuestos con el fin de encontrar sus ventajas y desventajas. También se estudió acerca de texturas.
3) Planeación y diseño del algoritmo: el objetivo de esta fase fue bosquejar un nuevo
algoritmo en base al conocimiento obtenido en la etapa anterior. Para esto se buscó que este algoritmo se apoyara en las técnicas estudiadas anteriormente y usó el conocimiento acerca de texturas.
4) Implementación y pruebas: se implementó el algoritmo previamente seleccionado
para realizar experimentos tanto con imágenes sintéticas como con imágenes reales. 5) Evaluación de resultados: se estudiaron las ventajas y desventajas del algoritmo
propuesto en base a los experimentos realizados evaluando los resultados obtenidos contra los valores reales.
I.4 Importancia de la investigación.
En esta tesis se busca dar una mirada distinta al problema de correspondencia estéreo mostrando cómo se puede aprovechar la información que provee la textura como método para evitar múltiples correspondencias durante el proceso de correspondencia.
Con esto se podrían sentar las bases para desarrollar nuevas técnicas que permitan realizar el proceso de reconstrucción 3D de forma más rápida y exacta. Los resultados que se puedan obtener de este proyecto pueden servir para garantizar mejores resultados en procesos automatizados.
I.5 Organización de la tesis
El resto del documento se ha organizado de la siguiente manera: En el capítulo 2 se habla acerca de la reconstrucción 3D, se mencionan brevemente algunos de los enfoques más comunes. Se describe a detalle el enfoque de reconstrucción por medio de imágenes estéreo, se muestran algunos sistemas geométricos usados para la captura de imágenes estéreo, además de definir el proceso de correspondencia estéreo. También se describen algunas de las propuestas de otros autores y se analizan sus puntos a favor y en contra. También se habla acerca de texturas, la ambigüedad que existe sobre este concepto y la forma en que se clasifican.
En el capítulo 3 se describe el enfoque clásico de programación dinámica aplicado al problema de correspondencia estéreo, esto con el fin de explicar la forma en que se llegó a la formulación de la propuesta. Después se describe y justifica el algoritmo propuesto a detalle. Finalmente se describen las ventajas y desventajas del algoritmo propuesto contra el enfoque clásico.
mapas de disparidad generados con nuestro algoritmo para mostrar la mejora con respecto al enfoque clásico. Además, se muestra el desempeño de nuestra propuesta variando los parámetros bidimensionales. También se presentan resultados obtenidos con imágenes reales de objetos texturizados y se discute la influencia de las texturas en los resultados.
Capítulo II
Marco Teórico
II.1 Reconstrucción 3D
Determinar la forma 3D de un objeto a partir de un conjunto de imágenes bidimensionales ha sido un gran reto en el área de visión por computadora por varios años. Una de las razones de esto es que aun no se logra explicar con claridad la manera en que los seres humanos pueden percibir la profundidad en una escena. Por lo que se han propuesto varias técnicas tomando distintos puntos de vista, con el fin de encontrar un algoritmo capaz de realizar este proceso de manera que los resultados sean buenos, principalmente en términos de tiempo y de exactitud con respecto al objetivo.
La mayoría son técnicas que buscan estimar la distancia que hay entre un punto del mundo real y la cámara con que fue tomada la imagen, de esta forma se puede estimar una coordenada 3D para cada punto bidimensional.
Hay muchas condiciones a tomar en cuenta para realizar los cálculos de las distancias, como posición de la cámara y fuentes de luz, características físicas del objeto, entre muchos otros. Las perspectivas más populares son:
• Reconstrucción por medio de sombras (shape from shading): consiste en determinar
Figura 4. Imágenes tomadas del trabajo de Klette (1998) para mostrar cómo es que funciona la
reconstrucción por medio de sombras. En estos métodos se determina la profundidad de un punto
de acuerdo su valor de intensidad.
• Reconstrucción por medio de siluetas (shape from silhouette): Este perspectiva
Figura 5. Imágenes tomadas el trabajo de Aganj (2007) para mostrar cómo funciona la
reconstrucción por medio de siluetas. A partir de un conjunto de imágenes tomadas de diferentes
perspectivas se crea un modelo 3D de un objeto
• Reconstrucción por medio de enfoque (shape from focus): consiste en determinar el
Figura 6. Reconstrucción por medio de enfoque. Imágenes tomadas del trabajo de Nayar (1994) en
el cual propone que definir la profundidad de una escena de acuerdo al grado de desenfoque que se
muestra en un conjunto de imágenes capturadas con diferente enfoque.
Varias de las técnicas propuestas basadas en estas perspectivas muestran resultados buenos, pero en la práctica son muy poco usadas debido a que, en la mayoría de los casos, requieren de supervisión e interacción del usuario con el sistema. Por esto el enfoque más común para aplicaciones reales es el de reconstrucción por medio de imágenes estéreo (shape from stereo).
II.1.1 Reconstrucción por medio de imágenes estéreo
Se conoce como visión estéreo a los procesos orientados a entender o analizar las superficies tridimensionales de objeto visibles en imágenes por medio de la stereopsis. La stereopsis es el proceso por el cual se puede percibir la profundidad de una escena a partir de al menos dos imágenes tomadas de diferentes pero no muy lejanas posiciones (Faugeras, 1993), a este par de imágenes se le llaman imágenes estéreo.
Al igual que para muchos otros problemas, los primeros investigadores que estudiaron sobre reconstrucción 3D pensaron en hacerlo de la misma forma que lo hacen los seres humanos. En el sistema visual humano se percibe la profundidad por medio de stereopsis. Aunque pueden percibir lo que les rodea con un solo ojo, la visión humana es un proceso en esencia binocular que transforma dos imágenes en una percepción del espacio 3D.
Figura 7. Proceso de stereopsis. Aquí se ve la forma en que los ojos capturan diferentes
Las técnicas de reconstrucción por medio de imágenes estéreo se clasifican en dos tipos: activas y pasivas. Las técnicas activas usan las imágenes del mismo objeto variando la cantidad, intensidad o color de las fuentes de luz, así como la orientación del objeto, con el fin de mejorar la calidad de las imágenes para mejorar el cálculo de la profundidad de cada punto de la imagen con respecto a la cámara. Estas técnicas resultan muy útiles cuando se tratan de reconstruir objetos altamente refractivos, como piezas de metal. Pero el principal problema de estas técnicas es que requieren de mayor interacción del usuario con el sistema, lo cual causa que se consuma mucho tiempo y por lo que resultan difíciles de usar para automatizar un proceso. Mientras que las técnicas pasivas usan imágenes obtenidas bajo las mismas condiciones de luz, el objeto en la misma posición y con la misma orientación, pero variando la posición de la cámara. Estas no requieren de interacción del usuario con el sistema.
Cada una de las técnicas de reconstrucción 3D basadas en imágenes estéreo tienen sus propias formas para realizar este proceso, pero todas, de una u otra forma, realizan los siguientes pasos:
• Adquisición de imágenes: este proceso se puede ver afectado por diversos tipos de
perturbaciones del ambiente o de los mismos sensores. Como se explicó anteriormente, las características del proceso de captura de imágenes dependen de la técnica a usar (activa o pasiva), además de la geometría usada para la captura de las imágenes, como se explicará más adelante.
• Calibración de la cámara: aquí se determinan los parámetros extrínsecos (que
permiten mapear las coordenadas de los puntos del sistema de coordenadas del mundo real al sistema de coordenadas de la cámara) e intrínsecos (valores para mapear los puntos del sistema de coordenadas de la cámara al plano de la imagen) de la cámara. Para más detalles leer Tsai (1986).
• Extracción de características: si el proceso lo requiere, las imágenes pueden ser
• Análisis de correspondencia: determinar la correspondencia entre los puntos de las
imágenes.
En la mayoría de los casos, los parámetros de calibración de la cámara son conocidos con anticipación, ya que se pueden obtener directamente de las cámaras. Por esto, el principal reto de la reconstrucción 3D con imágenes estéreo es la parte del análisis de correspondencia. Más adelante se hablará sobre las diversas propuestas que existen para realizar esta tarea.
II.1.2 Geometrías estéreo
Ya se ha dicho que la reconstrucción por medio de imágenes estéreo requiere de un par de imágenes tomadas desde una posición diferente pero no muy lejana, pero no se especifican estas posiciones. Existen varias propuestas para la geometría que debe tener un sistema de captura de imágenes estéreo.
Una de las geometrías más usadas por su sencillez y eficacia, además de resultar muy útil para explicar la forma en que funciona la visión estéreo, la geometría estéreo estándar para dos cámaras (Klette, 1998). En esta geometría se tienen dos cámaras, con comportamiento tipo cámara pinhole, en posiciones con iguales coordenadas y y z, pero a cierta distancia entre ellas sobre x, como se ve en la Figura 9. El sistema de coordenadas XYZ está orientado con la cámara izquierda. El punto focal de la cámara izquierda se encuentra en el origen O = (0, 0, 0) y el punto focal de la cámara derecha se encuentra a una distancia b del origen sobre el eje X, en el punto (b, 0, 0). Los dos ejes ópticos son paralelos y están orientados hacia la escena. Ambas cámaras tienen la misma longitud focal f. Las imágenes de las cámaras están ubicadas en el mismo plano de la imagen Z = f. Los ejes x en ambas imágenes están igualmente orientados, es decir para una fila cualquiera
Figura 8. Geometría estándar para captura de imágenes estereo.
A continuación se explica cómo es que funciona esta geometría de manera general, además de mostrar las ventajas de esta. Definamos un sistema de adquisición de imágenes estéreo donde un punto P = (X, Y, Z) de una escena es proyectado en los correspondientes puntos de imagen
= , = , , 1
en la imagen izquierda y derecha respectivamente. Supongamos además que, los puntos y existen en el dominio de sus imágenes. Definiremos el vector de disparidad con respecto a como:
∆, = − , − . 2
Igualmente definiremos la disparidad escalar como:
Un mapa de disparidad ∆, está definido por estos valores, o un valor definido arbitrariamente para identificar los casos donde un punto de una imagen no tenga correspondiente en la otra imagen.
Dadas las condiciones que presenta esta geometría se puede ver que = = y. Dado que se está trabajando con cámaras tipo pinhole, la ecuación de proyección central para la cámara izquierda es
= ∙ ! , 4
= ∙ #! , 5
y para la cámara derecha, considerando el corrimiento que hay con respecto a la cámara izquierda se tiene que
= ∙ − %! . 6
Dado que = , la disparidad escalar de un par de puntos correspondientes es igual a
∆, = '− ' 7
Lo valores de disparidad de los puntos de las imágenes correspondientes permiten reconstruir las coordenadas de los puntos proyectados dentro del espacio 3D, suponiendo que se conocen los parámetros f y b. Tomando (4) y (6) se puede ver que
! = ∙ =
∙ − %
Por consiguiente
= % ∙
− . 9
Sustituyendo X en (4) se obtiene
! = % ∙
− . 10
Ahora, sustituyendo Z en (5) se obtiene
# =% ∙ − 11
Una de las características más interesantes de este modelo geométrico es que permite hacer una captura de un par de imágenes estéreo con solo una cámara. Esto se hace poniendo al objeto en movimiento sobre el eje x, sin alterar sus condiciones sobre y y z. Haciendo las capturas por intervalos de tiempo. Con esto se simula la existencia de más de una cámara en distintas posiciones sobre el mismo plano.
Otro de los modelos geométricos más conocidos es el basado en geometría epipolar, el cual se basa en la forma en que funciona el sistema de captura de imágenes para la visión de los seres humanos.
Como se ve en la Figura 9, el sistema epipolar consiste en dos cámaras, izquierda y derecha, con punto focal en OL y OR, respectivamente. El punto en el espacio 3D P(x, y, z)
es proyectado a los planos de la imagen de las cámaras izquierda y derecha en los puntos pL
OR se le conoce como línea base. A los puntos donde la línea base atraviesa los planos de
la imagen, EPL y EPR, se les llama epipolos. La línea epipolar es el segmento de recta
formado por el epipolo de la imagen y su respectiva proyección del punto P (Xu, 1996).
Figura 9. Modelo para captura de imágenes estéreo basado en la geometría epipolar.
Aunque existen otros, estos son los principales modelos geométricos usados para la captura de imágenes estéreo. Para que un modelo geométrico pueda ser usado como base para un sistema de captura de imágenes tiene que cumplir con ciertas limitantes, definidas a través del estudio de los principales modelos geométricos. Las limitantes más importantes son:
• Limitante epipolar: para todo punto en la imagen izquierda, su punto
correspondiente en la imagen derecha se encontrará sobre la línea epipolar de la imagen derecha. Esta limitante es muy usada por los métodos de correspondencia para limitar el espacio de búsqueda al momento de tratar de encontrar la correspondencia entre pixeles.
• Limitante de singularidad: a todo punto de la imagen izquierda no le puede
que un punto en el espacio no pueda ser proyectado en más de un pixel sobre un plano de la imagen.
• Limitante de disparidad: existe una distancia máxima para el vector de disparidad
para todos los pares de puntos correspondientes. Los vectores de disparidad son usados para definir la distancia y dirección en que se movió un punto. Más adelante se hablará con más detalle sobre esto.
• Limitante de orden: los puntos que están sobre una línea epipolar en una imagen
estéreo son proyectados en la correspondiente línea epipolar de la otra imagen, exactamente en el mismo orden (ver Figura 10).
Figura 10. a) ejemplo donde se cumple la limitante de orden. b) ejemplo donde no se cumple la
limitante de orden
II.1.3 Correspondencia estéreo
se conoce que la dirección del movimiento es horizontal, por lo tanto solo se necesita saber la distancia que se movió, a esta distancia se le conoce como disparidad escalar
Figura 11. Un punto que se desplaza de (x1, y1) a (x2, y2) obtiene un vector de desplazamiento (x2
-x1, y2-y1). Con esto se puede calcular la distancia y orientación en que se desplazo el punto.
Ahora, como se dijo anteriormente, el problema por resolver es como asociar a cada pixel de una imagen su correspondiente en la otra imagen. En la literatura existen varios métodos para realizar esta tarea. La mayoría de ellos se basan en una o varias de las limitantes geométricas explicadas en la sección anterior. Cada uno de estos busca superar algún problema que provoca que los resultados con otras técnicas no sean buenos, en términos de exactitud, tiempo u otra característica. Todas las técnicas de correspondencia buscan generar un mapa de disparidad, que consiste en asignar un valor de disparidad a cada pixel de la imagen. De acuerdo con Brown (2003), los métodos de correspondencia se pueden clasificar en dos tipos: locales y globales.
II.1.3.1 Métodos locales
Los métodos locales son aquellos que intentan asociar un punto de interés de una imagen con su correspondiente pixel en otra imagen, usando la información que proveen solo un pequeño número de pixeles que rodean al pixel de interés (ver Figura 12). En la mayoría de los casos, estos métodos consisten en buscar la similitud de diferentes agrupaciones de pixeles definidas por cada método. A su vez, estos métodos se pueden
y2
y1
clasificar en dos categorías: correspondencia por bloques y correspondencia por características.
Figura 12. Ejemplo de bloque para correspondencia para un pixel en las coordenadas (i,
j).
Los métodos de correspondencia por bloques buscan estimar la disparidad en un punto de la imagen haciendo una comparación uno a uno, con una pequeña región cerca del punto de interés contra una serie de regiones de interés extraídas de la otra imagen. Estos métodos se apoyan en la limitante epipolar, lo que les permite reducir el espacio de búsqueda a una sola dimensión de regiones de interés.
En los métodos de correspondencia por bloques el problema que hay es el de cómo evaluar la similitud entre dos bloques. Existen diferentes métricas para evaluar la similitud entre dos bloques, en Aschwanden (1993) se hace un estudio de algunas de éstas. La métrica de similitud (mejor dicho de disimilitud) más usada es el error mínimo cuadrado (MSE), que está definido como
,-., , / =, ∗ 1 2 2.1 3 + 4, + 5 − .6 − / + 4, + 5 789
:;< =89
;<
donde N y M las dimensiones horizontal y vertical del bloque, respectivamente; d es un desplazamiento no negativo y múltiplo de M.
Koschan (1993) propone una modificación a estos algoritmos para imágenes estéreo a color, lo cual en varios casos significa una mejora en los resultados debido a que hay más información, esto resulta muy útil en los casos donde haya múltiple correspondencia (esto cuando hay más de un candidato en una imagen para corresponder a un pixel en la otra imagen). También implica más procesamiento y por lo tanto más tiempo.
Zabih (1994) propone un método alternativo para calcular la correspondencia aplicando una transformación de rango a cada región en ambas imágenes. Esta transformación de rango consiste en calcular el número de puntos de menor intensidad, con respecto al punto de interés, dentro de la región. Esta métrica usada para la similitud de los bloques permite que esta técnica sea muy rápida pero puede generar múltiples correspondencias.
En general, el principal problema de los métodos por bloques es que son muy redundantes a la hora de hacer operaciones, es decir realizan los mismos cálculos más de una vez, lo que provoca que se consuma mucho tiempo, y cualquier intento de reducir el número de cálculos resulta en la perdida de exactitud en el mapa de disparidad.
McDonnell (1981), Faugeras (1993) y Sun (1997) proponen algunas implementaciones que buscan encontrar un equilibrio entre el número de cálculos realizados y la exactitud en el mapa de disparidad. Muhlmann (2001) hace una discusión acerca de este tema. También, estos métodos presentan problemas cuando los puntos dentro de una región tienen diferente nivel de profundidad.
Bigone (1996) propone un método de correspondencia usando solo los bordes de la escena extraídos en cada imagen. La ventaja más clara de este métodos es que el número de puntos a lo que hay que buscarles correspondencia se reduce drásticamente,.
Venkateswar (1995) propone un modelo de correspondencia jerárquico, donde primero se establezca una correspondencia entre superficies de las imágenes, para luego hacerlo entre bordes y finalmente entre puntos. Este método muestra buenos resultados en imágenes de objetos con formas regulares.
Birchfield (1999) y Randriamasy (1991) proponen segmentar las imágenes y después hacer correspondencia entre las regiones definidas. La segmentación de imágenes consiste en clasificar los pixeles en grupos que cumplan con un conjunto de características independientes a la correspondencia, de forma que cada pixel solo pertenezca a un solo grupo. De esta manera se reduce el espacio de búsqueda dado que los pixeles deben coincidir en los grupos.
Shirai (1985) propone hacer una correspondencia por bloques, usando solamente los bordes de las imágenes. Con esto se crea un histograma en función del número de pixeles que tienen una correspondencia al moverse una distancia dada. Asignando como valor de disimilitud la distancia donde se hayan encontrado más correspondencias, para todos los puntos dentro del bloque.
II.1.3.2 Métodos globales
Los métodos de correspondencia global, como se mencionó anteriormente, hacen uso de las limitantes geométricas para reducir los posibles errores de correspondencia, como múltiples correspondencias, que se pueden producir en bloques locales de la imagen, debido a diversos factores como oclusión o textura uniforme.
Tomasi (1998) propone una alternativa a la búsqueda convencional de correspondencia global usando una representación diferente de las líneas de la imagen llamada curvas intrínsecas (representación vectorial de descriptores de la imagen independientes a la correspondencia, definidos por operadores aplicados a puntos de la línea de la imagen), con lo que el problema de búsqueda se convierte en un problema del vecino más cercano.
Roy (1998) propone dar al problema de correspondencia una representación de grafo, donde cada vértice v(x, y, d) representa la diferencia absoluta entre los valores de intensidad de los pixeles pixel pi(x, y) y pd(x-d, y), con 0 ≤ d≤ dmax, pi es la imagen
izquierda, pd es la imagen derecha y dmax es un valor arbitrario máximo para la distancia de
desplazamiento. Con esto el problema consiste en encontrar el mínimo corte asociado al máximo flujo del grafo.
II.2 Texturas.
El concepto de textura es uno de los más ambiguos en el área de visión por computadora, ya que es fácil de reconocer por el ojo humano pero difícil de definir. Varios autores lo han intentado definir cualitativamente. Pickett (1970) establece que “la textura es usada para describir arreglos bidimensionales de variaciones... los elementos y reglas de espaciamiento y ordenamiento pueden ser manipuladas arbitrariamente, manteniendo la característica de repetitividad.” Hawkins (1970) da una descripción de textura más detallada: “El concepto de textura parece depender de tres ingredientes: (1) un ‘arreglo’ local es repetido sobre una región, la cual es de mayor tamaño que el arreglo, (2) el arreglo se compone de partes elementales no aleatorias y (3) las partes son entidades más o menos uniformes que tienen aproximadamente las mismas dimensiones en cualquier punto sobre la región texturizada.” Aunque estas descripciones de textura parecen razonables no ofrecen una forma simple de medir cuantitativamente una textura en el sentido de que la descripción de una discontinuidad provocada por un borde genere una descripción cuantitativa de un borde en términos de su localización, ángulo de inclinación o altura.
Las texturas pueden ser generadas por un número de fuentes diferentes. La más común de estas es la vista de un gran número de pequeños objetos, que provoca que se perciban como texturas. Según Pratt (2001), las texturas de una imagen generalmente se componen de patrones organizados de subelementos usualmente regulares. A estos elementos de textura se les conoce como texel o texton. Una forma común de representar texturas es encontrar el texel y describir la forma en que la textura fue producida con este. De acuerdo a su texel (ver Figura 13), las texturas se pueden clasificar como:
• Regular: Cuando el texel tiene forma regular y constante sobre toda la textura, no cambia sus dimensiones ni su orientación.
• Estocástica: el texel se puede considerar como un arreglo de números generados por un proceso estocástico.
a) b) c)
Figura 13. Ejemplos de texturas. a) textura con texel regular. b) textura con texel irregular. c)
textura con texel estocástico.
a)
Figura 14. Graficas de valores de intensidad de pixeles.
a) b)
Capítulo III
Algoritmo propuesto
III.1 Programación dinámica.
Como se mencionó en la sección anterior la programación dinámica es un método matemático que reduce la complejidad computacional de problemas de optimización descomponiéndolos en sub-problemas más pequeños y simples. Consiste en calcular una función de costo global en etapas, con la transición entre etapas definida para un conjunto de limitantes.
Para la correspondencia estéreo, las limitantes epipolar y de orden permiten que la función de costo global sea determinada como el camino de mínimo costo a través del espacio de búsqueda. El costo del camino óptimo es la suma de los costos de los caminos parciales obtenidos de manera recursiva. La función de costo local para cada punto del espacio de búsqueda se define usando alguna métrica de similitud por bloques. A continuación se describe a detalle cómo funciona el enfoque clásico de programación dinámica para correspondencia estéreo.
Suponga que el par de imágenes estéreo es capturado con un sistema basado en la geometría estándar estéreo, entonces las líneas epipolares de las imágenes izquierda y derecha tienen las mismas coordenadas y. Ahora, para evitar múltiple correspondencia para un pixel y cumplir con la limitante epipolar, las líneas epipolares del par estéreo son comparadas usando una medida de disimilitud basada en intensidad. Esta medida se describe como:
donde .3 y .6 son las imágenes izquierda y derecha, respectivamente, 3, son las coordenadas del pixel en la imagen izquierda donde se proyecta un punto P del espacio 3D, 6, son las coordenadas de un pixel en la imagen derecha por el punto P, y / es la disparidad escalar. Dado que para este caso la coordenada y de dos puntos correspondientes es la misma, la disparidad escalar se define como:
Δ@3 = |3− 6|. 14
La función de disparidad escalar se puede representar como una secuencia discreta de disparidades.
∆@= A∆@1, ∆@2, … , ∆@,C. 15
Donde M es el número de columnas en las imágenes. Según la limitante de orden, lo valores de la función de disparidad escalar deben mantener el orden de los pixeles correspondientes en ambas imágenes, es decir,
69 = 39− ∆@39 ≥ 6 = 3− ∆@3 E4 39 > 3. 16
Entonces, para cada fila y de una imagen existe una función de disparidad escalar / = /9, /, … , /= tal que la función de disimilitud acumulada se puede definir como
G-@/ = 2 -,, , /H =
H;9
. 17
disimilitud acumulada sea el mínimo posible. Por lo que el problema de correspondencia para un par de imágenes estéreo se convierte en un problema de optimización.
Entonces para resolver este problema lo primero que se hace es suponer que los valores de la función de disparidad están acotados por ciertos límites:
/IJ ≤ ∆@3 ≤ /ILH, 18
para todos los pixeles 3, . Si se considera que el desplazamiento es en una sola dirección se puede que /IJ es cero para todos los valores de la función de disparidad, ya que un valor de disparidad negativo implicaría que el pixel se movió en dirección contraria. También se puede afirmar que:
1 ≤ 3− ∆@3 ≤ ,, 19
esto quiere decir que el n-esimo valor de la función de disparidad debe ser menor a n. De lo contrario sería afirmar que el pixel se movió fuera de la imagen De las ecuaciones (18) y (19) se deduce que
0 ≤ ∆@3 ≤ ,M 3, 20
∆@3 − ∆@3− 1 ≤ 1. 21
Finalmente, de las ecuaciones (20) y (21) se concluye que
,M ,S1 A3, ∆@3C ≤ ∆@3− 1 ≤ ,M 3− 1 22
Con ,M ,S1, / = NRP/ − 1, 0Q y 2 ≤ 3 ≤ ,. Esta función se define para garantizar que los valores de la función de disparidad no sean negativos. Esto muestra la dependencia entre las disparidades de los pixeles vecinos 3, y 3− 1, .
Figura 15. Representación grafica del espacio de búsqueda generado con la función de similitud
acumulada parcial. El eje horizontal representa la coordenada x para una fila dada, mientras que
el eje vertical representa una distancia desplazada. En cada localidad se almacena el valor de
disimilitud acumulado.
Para valores iníciales:
G-@1, / = -,1, , / 23
Donde d es un valor de disparidad en el conjunto
P∆: ,S11 ≤ ∆ ≤ ,M 1Q 24
Para 2 ≤ ≤ , y ,S1 ≤ / ≤ ,M , la función de similitud acumulada parcial está dada por
Con /H89 es un valor de disparidad parcial para el pixel − 1, definido como el valor que hace mínima la acumulada parcial en − 1.
Finalmente, después de calcular todos los valores de G-@ se escoge el valor de disparidad /= tal que G-@ ,, /= sea el mínimo valor posible. El resto de los valores de la función de disparidad se obtienen retrocediendo sobre la secuencia de valores /=89, /=8, … , /9 que llevaron a obtener /=, a esta secuencia se le llama el camino óptimo.
III.2 Algoritmo propuesto
A partir del enfoque clásico de programación dinámica, se han hecho diversas propuestas para mejorar los resultados en términos de exactitud, como las de Lloyd (1986), Lee (1994), Yip (1998) y Mozerov (2000).
Figura 16. Espacio de búsqueda generado con la nueva función de similitud acumulada parcial.
NDSP.
Para un pixel de interés, se desprecia la influencia de sus pixeles vecinos sobre la misma columna. Es por eso que se propone una modificación al algoritmo de programación dinámica, de forma que los vecinos en un arreglo bidimensional son usados para resolver el problema de correspondencia.
Sea h el tamaño de la ventana móvil vertical. También se usará una nueva función de similitud acumulada (Figura 16) parcial, que se inicializa con
1G-1, , / = 2 -,1, + 4, / 26
;8
Donde d es un valor de disparidad en el conjunto:
y 1 ≤ ≤ 1, 1 es el numero de filas de la imagen. Para 2 ≤ ≤ , y ,S1 ≤ / ≤ ,M , la función de similitud acumulada parcial está dada por
1G-, , / = 1G- − 1, , /H89 + 2 -,, + 4, / 28
;8
Donde /H89 es un valor de disparidad temporal asignado al pixel − 1, . Una vez que los valores de NDSP han sido calculados se busca el valor de disparidad /= del último valor de cada fila y se define el camino optimo de la misma manera que en el algoritmo unidimensional. Esto se hace para cada una de las filas para definir el mapa de profundidad.
Capítulo IV
Resultados
En este capítulo se presentan los resultados de experimentos para mostrar el desempeño del algoritmo propuesto. Estos experimentos se hacen con el fin de mostrar los puntos fuertes de nuestro algoritmo.
IV.1 Primeros experimentos
a)
c)
Figura 17. Material de experimentos. a) escena de tsukuba. b)
mapa de profundidad resultante usando
A simple vista se puede apreciar algoritmo propuesto tienen mayor similitud
enfoque clásico. Con lo que se puede ver que la influencia de los puntos no colineales horizontalmente si afecta los resultados de disparidad en la mayoría de los puntos.
Para corroborar esto se evaluó el error punto a punto entre los resultados de nuestro algoritmo variando las dimensiones de la ventana vertical
se obtuvieron los mapas de disparidad y fueron compara
a) b)
c) d)
. Material de experimentos. a) escena de tsukuba. b) mapa de
de profundidad resultante usando el algoritmo clásico de PD. d)
resultante usando el algoritmo propuesto.
A simple vista se puede apreciar que los valores de profundidad obtenidos con el tienen mayor similitud a los valores reales que los obtenidos
Con lo que se puede ver que la influencia de los puntos no colineales horizontalmente si afecta los resultados de disparidad en la mayoría de los puntos.
Para corroborar esto se evaluó el error punto a punto entre los resultados de nuestro tmo variando las dimensiones de la ventana vertical. Usando la imagen de tsukuba, se obtuvieron los mapas de disparidad y fueron comparados con los valores reales, y se fue
de profundidad real. c)
. d) mapa de profundidad
que los valores de profundidad obtenidos con el a los valores reales que los obtenidos con el Con lo que se puede ver que la influencia de los puntos no colineales horizontalmente si afecta los resultados de disparidad en la mayoría de los puntos.
acumulando el error para calcular el error medio cuadrático (MSE) global. Los resultados se muestran en la Figura 18.
Figura 18. Resultados obtenidos de la escena de tsukuba variando el tamaño de la ventana vertical
y calculando el error medio cuadrático para cada resultado.
En la grafica se puede apreciar que hay una mejora conforme se va aumentando el tamaño de la ventana vertical. Cabe destacar que el resultado con el tamaño de la ventana vertical igual a cero es equivalente a usar el enfoque clásico. Esto muestra que la información descartada por en el enfoque clásico de programación dinámica si influye en lo resultados en términos de exactitud.
IV.2 Experimentos con objetos texturizados
observar cómo se comportan estos de a cuerdo al tipo y cantidad de textura con el que se encuentren.
Figura 19. Imágenes con objetos texturizados.
delimitando el área que abarcan. Se evaluaran los resultados obtenidos sobre el área que cubre
Las pruebas se realizaron obtuvieron de la página
de Middlebury. Para cada una de las escenas se contaron con 9 pares de imágenes estéreo, además de los valores reales de profundidad de la escena.
acuerdo al tamaño de su elemento textural.
Para el caso de la textura 1 el texel son las letras del periódico; aunque es pequeño se puede ver que el área tiene bastante textura. Para la textura 2 el texel son las pequeñas celdas; se puede ver que no toda el área
foto donde se toma como texel las personas que aparecen en ella. La textura 4 tiene como texel las celdas rectangulares; estas no cubren toda el área del objeto.
se comportan estos de a cuerdo al tipo y cantidad de textura con el que se
. Imágenes con objetos texturizados. Dentro de cada escena existen varia texturas,
delimitando el área que abarcan. Se evaluaran los resultados obtenidos sobre el área que cubre
cada textura.
Las pruebas se realizaron con las imágenes de la Figura 19
página web del laboratorio de visión por computadora de la Universidad Para cada una de las escenas se contaron con 9 pares de imágenes estéreo, además de los valores reales de profundidad de la escena. Estas fueron ordenadas de
tamaño de su elemento textural.
Para el caso de la textura 1 el texel son las letras del periódico; aunque es pequeño se puede ver que el área tiene bastante textura. Para la textura 2 el texel son las pequeñas celdas; se puede ver que no toda el área está cubierta por la textura. La textura 3 es una foto donde se toma como texel las personas que aparecen en ella. La textura 4 tiene como texel las celdas rectangulares; estas no cubren toda el área del objeto.
se comportan estos de a cuerdo al tipo y cantidad de textura con el que se
Dentro de cada escena existen varia texturas,
delimitando el área que abarcan. Se evaluaran los resultados obtenidos sobre el área que cubre
a Figura 19. Estas imágenes se web del laboratorio de visión por computadora de la Universidad Para cada una de las escenas se contaron con 9 pares de imágenes estéreo, Estas fueron ordenadas de
texel son también letras pero de mayor tamaño que las de la textura 1 se aprecía poca textura sobre el área. Para la textura 6 el texel está definido por los cuadros de la reja. En la textura 7 el texel son los cuadrados que hay sobre el pedazo de tela. Las texturas 8, 9 y 10 toman como texel patrones muy grandes, que en algunos casos aparentan que no hay textura. Para cada escena se contaba con nueve pares de imágenes estéreo con los que se pudo calcular nueve mapas de profundidad. Para evaluar los resultados obtenidos se calculo la diferencia punto a punto entre los valores de profundidad obtenidos y los reales, y se calculo el MSE, a su vez con estos resultados se calculo un intervalo de confianza para cada textura tomando los valores de MSE de una escena y calculando su varianza. Los resultados se muestran en la Figura 20.
Figura 20. Resultados del algoritmo con objetos texturizados. El orden es el presentado en la
figura 19. Se obtuvieron nuevos mapas de profundidad de cada escena y se calculo el MSE para
las áreas cubiertas por textura. Con esto se calculo su media y su varianza para definir el valor
Los resultados que se muestran fueron los mejores obtenidos variando los parámetros de máxima distancia, tamaño de la ventana horizontal y vertical para cada una de las texturas. Los objetos fueron ordenados de acuerdo al tamaño de su texel
grafica se puede ver que los resultados fueron mejores cuando el texel no es demasiado chico o demasiado grande, y mientras más textura hay sobre el área del objeto.
IV.2 Experimentos con objetos texturizados reales.
Para finalizar con la etapa de
usando imágenes reales. Para esto se tomaron varias secuencias de imágenes de un objeto cilíndrico con desplazamiento horizontal,
cada secuencia se usó u
de 7.2 Mp. Las imágenes fueron reducidas a dimensiones de 640 x 480 pixeles para hacer más rápido su procesamiento
Figura 21. Texturas usadas
forrado con estas y se le tomaron un conjunto de imágenes estéreo para calcular mapas de
Los resultados que se muestran fueron los mejores obtenidos variando los parámetros de máxima distancia, tamaño de la ventana horizontal y vertical para cada una
Los objetos fueron ordenados de acuerdo al tamaño de su texel
grafica se puede ver que los resultados fueron mejores cuando el texel no es demasiado chico o demasiado grande, y mientras más textura hay sobre el área del objeto.
IV.2 Experimentos con objetos texturizados reales.
Para finalizar con la etapa de experimentos, se evaluó del desempeño del algoritmo usando imágenes reales. Para esto se tomaron varias secuencias de imágenes de un objeto
con desplazamiento horizontal, cubierto por una textura
una imagen diferente. Para esto se uso una cámara Sony Cibershot de 7.2 Mp. Las imágenes fueron reducidas a dimensiones de 640 x 480 pixeles para hacer más rápido su procesamiento
. Texturas usadas para realizar los experimentos. Un objeto de forma cilíndrica fue
forrado con estas y se le tomaron un conjunto de imágenes estéreo para calcular mapas de
profundidad.
Los resultados que se muestran fueron los mejores obtenidos variando los parámetros de máxima distancia, tamaño de la ventana horizontal y vertical para cada una Los objetos fueron ordenados de acuerdo al tamaño de su texel. De la grafica se puede ver que los resultados fueron mejores cuando el texel no es demasiado chico o demasiado grande, y mientras más textura hay sobre el área del objeto.
, se evaluó del desempeño del algoritmo usando imágenes reales. Para esto se tomaron varias secuencias de imágenes de un objeto (ver Figura 21). Para . Para esto se uso una cámara Sony Cibershot de 7.2 Mp. Las imágenes fueron reducidas a dimensiones de 640 x 480 pixeles para hacer
para realizar los experimentos. Un objeto de forma cilíndrica fue
En la Figura 22 se muestra un ejemplo de estas secuencias de imágenes. Para esta en particular uso la textura 9) de la Figura 21. Tomando en cuenta que el objeto solo se desplaza de forma horizontal se puede tomar cada par de imágenes consecutivas y obtener un mapa de disparidad usando el algoritmo.
Figura 22. Ejemplo de la forma en que se tomaron las secuencias de imágenes. Varias tomas del
En una grafica comparativa de los resultados obtenidos con el algoritmo propuesto y el algoritmo clásico (Figura 23) se puede ver que lo resultados obtenidos con el algoritmo propuesto son mejores en términos de exactitud.
Figura 23. Resultados con imágenes de objetos reales. Las texturas fueron ordenadas de acuerdo
al tamaño de su texel. Se calcularon cinco mapas de profundidad para cada textura y sus MSE,
estos se promediaron para dar los resultados mostrados.
Capítulo V
Conclusiones
En esta tesis se estudiaron algunas de las técnicas de reconstrucción 3D por medio de imágenes estéreo, se estudio sobre texturas para saber cómo se puede aprovechar la información que proveen. También, se propuso una nueva técnica de reconstrucción 3D orientada a objetos texturizados. El desempeño del algoritmo propuesto, en términos de exactitud, fue evaluado comparando los resultados obtenidos con éste contra los obtenidos con el enfoque clásico de programación dinámica, usando imágenes reales.
Las texturas resultan muy importantes en el proceso de reconstrucción 3D por medio de imágenes estéreo debido a que generan irregularidad, en términos de intensidad, sobre el par de imágenes estéreo. Esto resulta muy útil debido a que facilita de un punto con su correspondiente de la otra imagen y reduce la posibilidad de múltiples correspondencias para un punto. Pero también puede provocar que los resultados sean poco exactos cuando el texel es muy grande o hay muy poco sobre la superficie del objeto.
V.1 Aportaciones
A partir del trabajo hecho se presentó el trabajo titulado “An efficient algorithm
based on dynamic programming for 3D shape recovery” en el congreso SPIE: Optical
engineering and application 2008, realizado en San Diego. Se anexa en el apéndice.
V.2 Trabajo a futuro
Referencias
Aganj E., Pons J. P., Segonne F., Keriven R. “Spatio-Temporal Shape from Silhouette
using Four-Dimensional Delaunay Meshing” IEEE 11th International Conference on Computer Vision. Rio de Janeiro, Brazil. 14-20 Octubre 2007. Pag. 1-8.
Aschwanden P., Guggenbuhl W. “Experimental Results from a Comparative Study on
Correlation-Type Registration Algorithms” Robust Computer Vision, Forstner and Ruwiedel. 1993. Pag. 268-289.
Barnard S. T., Fischler M. A. “Computational Stereo” ACM Computing Surveys
Volume 14, Diciembre 1982. Pag. 553-572.
Bigone F., Henricsson O., Fua P., Stricker M., “Automatic Extraction of Generic
House Roofs from High Resolution Aerial Imagery” Proceedings of the 4th European Conference on Computer Vision-Volume I. 1996. Pag. 85-96.
Birchfield S., Tomasi C. “Multiway Cut for Stereo and Motion with Slanted Surfaces”
Proceedings of International Conference on Computer Vision, vol. 1. 1999. Pag. 489-495.
Brown M. Z., Burschka D., Hager G.D. “Advances in Computational Stereo” IEEE
Transactions on Pattern Analysis and Machine Intelligence, Volume 25, Issue 8. Agosto 2003. Pag. 993 – 1008.
Faugeras O. “Three-Dimensional Computer Vision: A Geometric Viewpoint” MIT
Press, Cambridge, Massachusetts, USA. 1993. Pag. 165-244.
Faugeras O., Hotz B., Matthieu H., Vieville T., Zhang Z., Fua P., Theron E., Moll
Hawkins J. K. “Textural Properties for Pattern Recognition” Picture Processing and
Psychopictorics, B. C. Lipkin and A. Rosenfeld, Eds., Academic Press, New York. 1970. Pag. 347–370.
Klette R., Schlüns K., Koschan A. “Computer Vision. Three-Dimensional Data from
images” Ed. Springer. 1998. Pag. 129 – 222.
Koschan A. “Chromatic block matching for dense stereo correspondence” Proceedings
of the 7th International Conference on Image Analysis and Processing. 1993. Pag 641 – 648.
Lee Z. N., Leou J. J. ''A dynamic programming approach to lie segment matching in
stereo vision'' Proceedings of the 13th International Conference on Pattern Recognition. 1994. Pag. 961-986.
Lloyd S., ''Stereo matching using intra- and inter-row dynamic programming'' Pattern
Recognition Letter Volume 4, Issue 4. 1986. Pag. 273-278.
McDonnell M. J. “Box-Filtering Techniques” Computer Graphics and Image
Processing, vol. 17. 1981. Pag. 65-70.
Mozerov M., Kober V., Choi T.S. “Improved motion stereo matching based on a
modified dynamic programming” IEEE Conference on Computer Vision and Pattern Recognition Proceedings, Volume 2. 2000. Pag. 501 – 505.
Muhlmann K., Maier D., Hesser J., and Manner R. “Calculating Dense Disparity Maps from Color Stereo Images, an Efficient Implementation” Proc. IEEE Workshop Stereo and Multi-Baseline Vision. 2001. Pag. 30-36,
Nayar S. K., Nakagawa Y. "Shape from Focus“ IEEE Transactions on Pattern