SciELO - Scientific Electronic Library Online

 
vol.16 número2Acerca de la formación de patrones de Turing bajo consideraciones probabilistasSimulación de la ruta de transporte y dispersión de emisiones gaseosas provenientes del basurero de Navarro, Cali (Colombia) índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


Ingeniería y Universidad

versión impresa ISSN 0123-2126

Ing. Univ. vol.16 no.2 Bogotá jul./dic. 2012

 

Reconstrucción 3D de escenas mediante un sistema de visión estéreo basado en extracción de características y desarrollado en OpenCV1

3D Reconstruction of Scenes by Means of a Stereoscopic Vision System, Based on Feature Extraction and Developed in OpenCV2

Reconstrução 3D de cenas mediante um sistema de visão estéreo baseado na extração de características e desenvolvido em OpenCV3

David Armando Revelo-Luna4
Francisco Daniel Usama5

Juan Fernando Flórez-Marulanda6

1Este artículo se deriva del proyecto de investigación Diseño y estudio de sistemas de visión artificial usados para navegación en robótica, desarrollado por el Grupo de Optica y Laser (GOL), Universidad del Cauca, Popayán, Colombia.
2Submitted orí: June 12, 2011. Accepted orí: February 15, 2012. This article is derived from the research project Design andStudy oí Artificial Vision Systems usedin Robotics for Navigation Parpases, developed by the research group Optics andlaser, GOL,Universidaddel Cauca, Popayán, Colombia.
3Data de recebimento: 12 de ¡unho de 2011. Data de aceite: 15 de fevereiro de 2012. Este artigo deriva se do projeto de pesquisa Desenho e estudo de sistemas de visão artificial usados para navegação em robótica, desenvolvido pelo Grupo de Otica e Laser (GOL), Universidade do Cauca, Popayán, Colombia.
4Ingeniero físico, Universidad del Cauca, Popayán, Colombia. Estudiante de Ingeniería en Automática Industrial, Universidad del Cauca. Popayán, Colombia. Correo electrónico: drevelo@unicauca.edu.co.
5Ingeniero físico, Universidad del Cauca, Popayán, Colombia. Estudiante de la Especialización en Redes y Servicios Telemáticos, Universidad del Cauca. Popayán, Colombia. Correo electrónico: fusama@unicauca.edu.co.
6Ingeniero electrónico y de telecomunicaciones, Universidad del Cauca, Popayán, Colombia. Especialista en Software de Aplicaciones Industriales, Universidad del Cauca. Magíster en Electrónica y Telecomunicaciones, con énfasis en Automática, Universidad del Cauca. Estudiante del Doctorado en Ciencias Naturales para el Desarrollo, énfasis en Tecnologías Electrónicas Aplicadas, Instituto Tecnológico de Costa Rica. Popayán, Colombia. Correo electrónico: jflorez@unicauca.edu.co.

Fecha de recepción: 12 de junió de 2011. Fecha de aceptación: 15 de febrero de 2012.


Resumen

Recientemente han aparecido dispositivos que permiten obtener información tridimensional de una escena, y uno de los más utilizados es el constituido por un par estereoscópico de cámaras. Este artículo presenta un desarrollo en visión artificial estéreo, conducente a obtener coordenadas 3D de una escena real con procesamiento en línea. Los algoritmos estéreo están diseñados en OpenCV® y soportados en Linux®. Se muestran mapas de disparidad en escala de grises y pseudocolor para representar la profundidad. Los datos 3D son representados por nubes de puntos en un entorno gráfico virtual. Se presentan resultados de medidas a un objeto con dimensiones conocidas, con errores entre 0,72% y 6,9%.

Palabras clave: Visión de máquina, disparidad, estéreo visión, geometría epipolar.


Abstract

Recently, devices that allow obtaining three-dimensional information from the scenes have been developed. The most popular is the one that have been created by a stereoscopic couple of cameras. This work presents a development in stereo artificial vision for getting 3D coordinates of a real scene, which is processed online. The stereo algorithms are designed using OpenCV and are supported by Linux. Disparity maps appear in gray scale and in pseudo color in order to represent the depth. The 3d information is represented by clouds of points in a graphical virtual environment. Measures of an object with known dimensions resulted in erros between 0.72% and 6.9%.

Key words: Machine vision, disparity, stereo vision, epipolar geometry.


Resumo

recentemente têm surgido dispositivos que permitem obter informação tridimensional de uma cena, e um dos mais amplamente utilizados é constituído por um par estereoscópico de câmaras. Este artigo apresenta um desenvolvimento em visão artificial estéreo, levando a obtenção de coordenadas em 3D de uma cena real, com processamento online. Algoritmos estéreo foram concebidos em OpenCV ® e apoiados em Linux ®. Mostram-se mapas de disparidade em tons de cinza e pseudo-cor para representar a profundidade. Os dados 3D são representados por nuvens de pontos em um ambiente virtual gráfico. Apresentam-se resultados das medições para um objeto com dimensões conhecidas, com erros entre 0,72% e 6,9%.

Palavras-chave: Visão de máquina, disparidade, estéreo visão, geometria epipolar.


Introducción

En la actualidad existen diversos métodos para extraer información espacial de una escena (Reiter, 2006; Sánchez, 2003; Idrobo, 2005). En los últimos años se han desarrollado dispositivos que permiten obtener datos 3D de una escena, y uno de los más usados es el conformado por un par estéreo de cámaras (Nedevschi, 2006; Broggi, 2006; Saxena, 2007). En la visión estéreo se deben resolver dos problemas: correspondencia y reconstrucción 3D. La correspondencia consiste en decidir, para un punto del plano-imagen de una de las cámaras, izquierda o derecha, qué punto corresponde en el plano-imagen de la otra cámara (son imágenes del mismo punto físico). En la reconstrucción se trata de obtener, dados dos puntos correspondientes en ambos planos imagen, las coordenadas 3D del punto en el espacio respecto a un sistema de coordenadas del mundo (Guerrero, 2008).

Existen dos técnicas sobresalientes para procesamiento de visión estéreo: la primera se basa en la disparidad por regiones, y la segunda, en la disparidad por extracción de características (Murray, 1997; Toulminet, 2006). En el presente trabajo se hace un aporte a las técnicas basadas en estereoscopia para la reconstrucción tridimensional de escenas reales, se presentan resultados mediante la técnica de disparidad por extracción de características, se realiza la representación de puntos en un escenario 3D virtual, partiendo de mapas de disparidad de las escenas reales, y se evalúa el desempeño del sistema comparando las medidas reales de un objeto con sus medidas en reconstrucción.

En el apartado 1, se detallan las bases de la geometría epipolar; en el 2 presenta el desarrollo del algoritmo de correspondencia estéreo, y en el 3, la determinación de coordenadas tridimensionales a partir del mapa de disparidad. Se muestran los resultados asociados a la etapa de rectificación estéreo en el apartado 4.1; en el 4.2 se ilustra el proceso de extracción de características; en el 4.3 se presenta la restricción epipolar; en el 4.4 se realizan mapas de disparidad y en pseudocolor y en el 4.5 se muestra la reconstrucción tridimensional en nubes de puntos sobre un escenario 3D virtual. El apartado 5 presenta los errores asociados con medidas realizadas sobre un objeto de dimensiones conocidas. Finalmente, el apartado 6 presenta las conclusiones.

1. Geometría epipolar

La geometría epipolar es la geometría proyectiva intrínseca entre dos imágenes, la cual es independiente de la estructura de la escena y solo depende de los parámetros internos de la cámara y su posición relativa. Esencialmente, la geometría epipolar entre dos imágenes es aquella dada por la intersección del plano de cada imagen con una familia de planos, donde todos los planos de esta familia contienen la línea base que une los centros ópticos de las cámaras (Silva, 2008). A continuación se describe la geometría de epipolos y líneas epipolares y las restricciones que impone esta geometría sobre la proyección de un objeto en los planos imagen.

En la figura 1a, M es un punto en el mundo real, m1 y m2 son las respectivas proyecciones en la imagen 1 y la imagen. La posición de m1 en la imagen 1 no resuelve unívocamente la posición de M, ya que en el proceso de proyección se ha perdido la información de profundidad. Sin embargo, se puede afirmar que M debe estar en el rayo que nace en el centro óptico C1 para formar m1; es decir, M pertenece a la recta m1C1. Esta situación se muestra en la figura 1b, en la cual varios puntos pertenecientes a la recta, incluido M, pueden ser los que forman el punto m1 en la primera imagen. Si a partir de m1 se desea conocer la ubicación de m2, es necesario proyectar en la imagen 2 los posibles puntos que puede formar ml (figura 1c). Se observa que m2 es uno de estos puntos proyectados; sin embargo, teniendo solo m1 no se puede saber la ubicación exacta de m2, únicamente se puede afirmar que m2 pertenece a la proyección de la recta m1C1 realizada por el segundo centro óptico C2 en la imagen 2. La proyección de esta recta se denomina línea epipolar y se puede apreciar en la figura 1d (Mery, 2002).

Para que m1 y m2 sean puntos correspondientes, la restricción epipolar exige que el punto m2 esté en la línea epipolar de m1. Esto no significa que todos los puntos en la línea epipolar de m1 son correspondientes a m1; como se muestra en la figura 1, solo un punto en la imagen 2 es correspondiente a m1 y, en este caso, es la proyección de M en la imagen 2. La restricción epipolar es, entonces, una condición necesaria, mas no suficiente. A pesar de ello, es de utilidad saber que el punto correspondiente a m1, en la imagen 2, está sobre una línea y no en cualquier parte de la imagen. Esto reduce la dimensionalidad del problema de búsqueda de puntos correspondientes, ya que en lugar de buscar en toda una imagen (2D) se hace en una línea (1D).

2. Correspondencia estéreo

En las últimas décadas se han desarrollado métodos para solucionar el problema de correspondencia. Una descripción de estos se presenta en Barnard (1982); Lane (1994) y Faugeras (1993). A continuación se presenta el método de búsqueda de correspondencia basado en flujo óptico.

2.1 Flujo óptico

El flujo óptico se define como el aparente movimiento de objetos en una secuencia de imágenes debido a cambios en la intensidad de los pixeles. Sin embargo, dicha intensidad pueda variar por causa de variables que no son el movimiento de objetos, sino, por ejemplo, cambio en la iluminación, reflexiones difusas o reflexiones en superficies no lambertianas. En principio, se supone que estas variables son constantes. Un punto de la imagen conserva su intensidad al moverse, así que se considera que los cambios de intensidad en la imagen se deben al movimiento de objetos en la escena, entonces se considera el flujo óptico como el análisis de la velocidad de ese punto.

El flujo óptico calcula la componente de velocidad en la dirección del gradiente espacial de brillo, no en la dirección perpendicular. Para hallar la segunda componente deben hacerse suposiciones adicionales, como las consideradas en el método de Lucas-Kanade (Lucas, 1981): sea I(x,y,t) la intensidad del punto (x,y) de la imagen en el instante t; sean u (x,y) y v (x,y) las componentes de velocidad en los ejes X y Y de la imagen en ese punto. En t + dt, este punto estará en (x+u X dt, y+v X dt), conservando su intensidad según (1).

I (x,y,t) = I(x X u X dt, y + v X dt, t) (1)

Considerando una variación leve de la intensidad, se puede desarrollar el lado izquierdo de la ecuación (11) en serie de Taylor; además, si se considera u = dx/dt, v = dy/dt, Ix = dl/dx, ly = dl/dy e It = dl/dt, se obtiene (2).

Ix X u + Iy X v + It = 0 (2)

Con (2) solo se obtiene información sobre la componente de la velocidad en la dirección del gradiente de intensidad, esto es, perpendicularmente a los contornos. No se podrá determinar la componente del flujo óptico en la dirección del contorno, inconveniente denominado problema de la apertura (Carelli, 1999).

Este problema surge de la imposibilidad de asignar un valor unívoco al desplazamiento de un punto, debido a que la región analizada es demasiado pequeña. En la solución del problema se recurre a la aplicación de criterios de vecindad. Con ello se pretende evitar ambigüedades mediante la observación del campo de velocidades presente en regiones próximas. Existen varios métodos para encontrar el campo de velocidades, entre los que se destacan los algoritmos de Horn y Shunk (Horn, 1981) y de Lucas y Kanade (Lucas, 1981).

Si bien se ha descrito el método de flujo óptico para imágenes en secuencia, se puede aplicar también como método de correspondencia estéreo (Sánchez, 2001). Las imágenes izquierda y derecha de un arreglo estereoscópico bifocal están desplazadas una respecto a la otra; esto es equivalente a tener un par de imágenes de una misma cámara en dos instantes consecutivos. Por esto el método de flujo óptico tiene aplicación en visión estéreo como método de correspondencia.

La figura 2 muestra un ejemplo del uso de flujo óptico en la búsqueda de correspondencias en un par estéreo. La figura 2a es la imagen original, los puntos en la figura 2b representan los pixeles que se desean emparejar; las líneas y puntos en la figura 2c son líneas de flujo óptico que representan el desplazamiento de los puntos de interés y los pixeles que emparejan los puntos de la figura 2b, respectivamente.

3. Determinación de profundidad y reconstrucción 3D

Con la búsqueda de correspondencias se debe encontrar el mapa de disparidad. Con este se establece la profundidad o coordenada z. Las coordenadas x y y están en función de la coordenada z. De esta forma la reconstrucción 3D, con el uso de estereoscopía, es el proceso de establecer coordenadas 3D a partir de las proyecciones 2D de los emparejamientos y su visualización en un escenario tridimensional.

Si se considera el sistema estereoscópico posicionado sobre el eje X en un sistema coordenado O(XYZ), con los planos imagen sobre el plano XY, entonces los ejes ópticos son paralelos al eje Z, como se muestra en la figura 3. La triangulación determina un punto sobre un objeto usando el triángulo formado entre el punto observado P y los ejes ópticos de las cámaras, separados una distancia B, también conocida como línea base o baseline. La información de profundidad del punto P está codificada en la diferencia de posición en los dos planos imagen.

Situando el origen de coordenadas en el centro de la lente de la cámara izquierda, según la figura 3, se encuentra el conjunto de coordenadas (x, y, z) utilizando la idea de triangulación.

Las coordenadas reales (x, y, z) del punto de interés P se proyectan en las dos imágenes según (3), con subíndice 1 y 2 para la cámara izquierda y derecha, respectivamente.

Donde f es el producto de la distancia focal f (mm) con el factor de conversión Sx (pixeles/mm) (Bradski, 2008) y xf 1, xf 2 están dados en pixeles. En la figura 3 la coordenada z del punto P es la misma en los sistemas de referencia de ambas cámaras; al operar (3) se encuentran las coordenadas (x, y, z) en la escena real, según (4).

4. Resultados experimentales

En este apartado se presenta la implementación de las etapas de rectificación, correspondencia, triangulación y representación tridimensional.

4.1 Rectificación

Consiste en transformar las imágenes del par estéreo haciendo que las líneas epipolares coincidan con las filas de la imagen. De esta forma la proyección de un punto sobre los planos imagen de cada cámara del par estéreo se ubica sobre la misma fila en cada imagen. Existe una gran variedad de algoritmos para calcular los términos de rectificación (Fusiello, 2000; Scharstein, 2001). En el presente trabajo se utilizó el algoritmo basado en el método de Hartley (1999).

El algoritmo de rectificación implementado calcula la matriz fundamental y la homografía del sistema; con esto se calculan las nuevas coordenadas que debe ocupar cada pixel en las imágenes. Con las nuevas posiciones se obtiene una configuración estéreo estándar como la mostrada en la figura 3. En la figura 4 se muestran dos imágenes después del proceso de rectificación. Las imágenes inferiores son regiones de acercamiento, donde se observa que las líneas epipolares pasan por el mismo punto en las dos imágenes, izquierda y derecha.

4.2. Disparidad por extracción de características

Se pueden obtener puntos representativos de una escena —como bordes y esquinas— aplicando sobre la imagen la derivada en dirección de las filas y de las columnas, por ejemplo, filtro de Sobel (Szeliski, 2010). Usar las características relevantes de la escena permite disminuir la carga computacional sobre los algoritmos, debido a que no se operan todos los pixeles de la imagen, sino únicamente los de mayor gradiente. Sin embargo, el sistema de visión no obtiene información del resto de la imagen, lo que constituye una considerable limitación en zonas de baja textura o con mala iluminación. La figura 5 representa la operación de extracción de características y el recuadro superior muestra una región aumentada de la imagen derivada.

El siguiente paso es hallar los puntos correspondientes de la imagen filtrada. Para el emparejamiento de puntos se utilizó el algoritmo basado en el método de Lucas-Kanade de flujo óptico, el cual toma el conjunto de puntos extraídos de la imagen filtrada y busca su equivalente en la otra imagen. En la figura 6a se muestran puntos de interés resultantes del proceso de extracción de características y en la figura 6b se observan los puntos emparejados en la segunda imagen, donde las líneas representan el flujo óptico.

4.3. Restricción epipolar

Si las imágenes están rectificadas, las líneas de flujo óptico deben estar en dirección a las filas. En la figura 6 existen algunos puntos de correspondencia con líneas de flujo óptico no paralelas a las filas de la imagen. Los emparejamientos que no cumplen con la geometría epipolar conducen a errores en el cálculo de la profundidad —en ocasiones, sin importar que la correspondencia sea exitosa o no—. Para evitar este tipo de errores se filtra aplicando la restricción epipolar, es decir, conservando los emparejamientos que estén sobre las líneas epipolares. En la figura 7 se muestra el resultado de aplicar la restricción.

En la figura 7 las líneas de flujo óptico corresponden con las filas de la imagen y todos los emparejamientos cumplen con la restricción epipolar. Las líneas en la figura 7b, que representan el flujo óptico nacen en un punto de la figura 7a y terminan en su correspondiente en la figura 7b, pero lo hacen desplazándose sobre una única fila.

4.4. Mapa de disparidad

Con el emparejamiento de puntos se obtiene el mapa de disparidad no denso para las características relevantes de la escena, tomando la diferencia de las coordenadas x de cada punto en las imágenes. Esto genera una imagen en la cual el nivel de gris de cada pixel representa la profundidad medida desde la cámara. En ocasiones, es conveniente representar la profundidad en imágenes de tres canales RGB, siendo el pseudocolor una variante empleada. La figura 8a presenta la imagen original, la figura 8b muestra el resultado del proceso de búsqueda de correspondencia, la figura 8c presenta el mapa de disparidad y la figura 8d muestra su representación en pseudocolor.

En el mapa de pseudocolor, usualmente la cercanía al rojo indica aumento de disparidad y disminución de profundidad, y la cercanía al azul es equivalente a disparidad baja y mayor profundidad.

4.5. Representación 3D

Con el mapa de disparidad es posible obtener las coordenadas espaciales (x, y, z), según (3), y a partir de estas representar los puntos relevantes de la escena en un escenario 3D virtual. En la figura 9 se ve la imagen de dos escenas reales, un conjunto de puntos representativos de las escenas y la reconstrucción 3D. Los algoritmos diseñados en OpenCV® para esta aplicación, incluida la representación 3D on line, se ejecutan en 199,62 ms sobre un computador Intel® Core 2 Duo 2.1 GHz y memoria RAM de 3 Gb.

5. Medidas de coordenadas 3D y estimación del error

Para comprobar la exactitud de las medidas del sistema estéreo se midieron coordenadas 3D de los cinco vértices de una pirámide de dimensiones conocidas. Se tomaron en secuencia de video 60 tríos de medidas (x, y, z) de cada uno de los vértices. En la figura 10 se muestra la pirámide usada en el experimento y su reconstrucción 3D.

Con las coordenadas (x, y, z) calculadas con el sistema estéreo se estimaron los lados y la altura de la pirámide según se muestra en la figura 11.

Se compararon las medidas estimadas por el sistema de visión estéreo con las reales, medidas con una cinta métrica. En la tabla 1 se registran los datos reales, los estimados y el error asociado a cada uno.

Los errores obtenidos en las medidas realizadas con el sistema de visión van del 0,72% al 6,90%, para medidas realizadas en el rango entre 45 cm y 60 cm de profundidad.

6. Conclusiones

En este trabajo se abordó el problema de correspondencia mediante la técnica de flujo óptico y se obtuvieron resultados satisfactorios. Se aplicaron filtros de derivada para la extracción de características, además de los criterios de unicidad y epipolaridad para validar las correspondencias estéreo. Para la representación de la coordenada de profundidad se utilizaron mapas de disparidad en escala de grises y en pseudocolor. Se realizó la representación de coordenadas tridimensionales en un entorno 3D virtual a partir de mapas de disparidad y usando extracción de características. Se obtuvieron tiempos de ejecución aceptables, los cuales permitieron la reconstrucción on line. En las medidas tridimensionales sobre un objeto de dimensiones conocidas se obtuvieron errores entre 0,79% y 6,9% para medidas realizadas en el rango entre 45 cm y 60 cm de profundidad. El sistema implementado está limitado por la calidad y la cantidad de características encontradas en la escena. Las zonas de poca textura serán, probablemente, invisibles para el sistema de visión, lo que conducirá a una reconstrucción 3D poco representativa.


Referencias

BARNARD, S. y FISCHLER, M. Computational stereo. Journal ACM Computing Surveys. 1982, vol. 14, núm. 4, pp. 553-572.         [ Links ]

BRADSKI, G. y KAEBLER, A. Learning open cv computer vision width the open cv library. Estados Unidos: O'Reilly, 2008, pp. 109-458.         [ Links ]

BROGGI, A. et al. The single frame stereo vision system for reliable obstacle detection used during the 2005 DARPA grand challenge on TerraMax. Intelligent Transportation Systems Conference. Canadá: 2006, pp. 745-752.         [ Links ]

CARELLI, R. et al. Algoritmos estables para la navegación de robots móviles en pasillos usando el flujo óptico. VIII Reunión de Trabajo en Procesamiento de la Información y Control. Mar del Plata: 1999, pp. 1-9.         [ Links ]

FAUGERAS, O. et al. Real-time correlation-based stereo: algorithm, implementations and applications. INRIA research report. 1993, núm. 2013, pp. 6-12.         [ Links ]

FUSIELLO, A. et al. A compact algorithm for rectification of stereo pairs. Machine Vision and Applications. 2000, vol. 12, núm. 1, pp. 16-22.         [ Links ]

GUERRERO, D. y VILLALUENGA, L. Técnicas y algoritmos para la adquisición, transmisión y visualización de escenas 3D. External research report. 2008, pp. 4-8.         [ Links ]

HARTLEX R. Theory and practice of projective rectification. International Journal of Computer Vision. 1999, vol. 35, num. 2, pp. 115-127.         [ Links ]

HORN, K. y SHUNCK, B. Determining optical flow. Artificial Ingelligence. 1981, vol. 17, num. 1, pp. 185-203.         [ Links ]

IDROBO, G. y RAMÍREZ, C. Design and implementation of a system for the acquisition and three-dimensional virtual representation of the human face (tri-ident). Eighth International Symposium on Laser Metrology. México: 2005, pp. 648-656.         [ Links ]

LANE, R. Stretch-correlation as a real-time alternative to feature-based stereo matching algorithms. Image and Vision Computing. 1994, vol. 12, num. 4, pp. 203-2012.         [ Links ]

LUCAS, B. y KANADE, T. An iterative image registration technique with an application to stereo vision. International Joint Conference on Artificial Intelligence. Canada: 1981, pp. 121-130.         [ Links ]

MERX D. Visión por computador. Santiago de Chile: Departamento de Ingeniería Informática Universidad Santiago de Chile, 2002, pp. 53-66.         [ Links ]

MURRAX D. y JENNINGS, C. Stereo vision based mapping and navigation for mobile robots. IEEE International Conference on Robotics and Automation. 1997, pp. 1-6.         [ Links ]

NEDEVSCHI, S. High accuracy stereo vision system for far distance obstacle detection. Intelligent Vehicles Symposium. Japan: 2006, pp. 1-4.         [ Links ]

REITER, M. et al. 3D and infrared face reconstruction from RBG data using canonical correlation analysis. 18th International Conference on Pattern Recognition. Hong Kong: 2006, pp. 1-4.         [ Links ]

SÁNCHEZ, J. Estimación del flujo óptico en secuencias de imágenes y de la carta de disparidad en pares estéreo. [Tesis Doctoral]. Universidad de Las Palmas de Gran Canaria, España, 2001.         [ Links ]

SÁNCHEZ, J. y MARQUES, J. Joint image registration and volume reconstruction for 3D ultrasound. Pattern Recognition Letters. 2003, vol. 24, num. 4, pp 791-800.         [ Links ]

SAXENA, A. et al. 3-D Depth reconstruction from a single still image. International Journal of Computer Vision. 2007, vol. 76, num. 1, pp. 53-69.         [ Links ]

SCHARSTEIN, D. y SZELISKI, R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. International Journal of Computer Vision. 2001, vol. 47, num. 1, pp. 7-42.         [ Links ]

SILVA, I. Reconstrucción tridimensional de objetos mediante técnicas evolutivas. [Tesis Doctoral]. Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional, México D.F., 2008.         [ Links ]

SZELISKI, R. Computer vision algorithms and applications. New Xork: Springer, 2010, pp. 98-108.         [ Links ]

TOULMINET, G. et al. Vehicle detection by means of stereo vision-based obstacles features extraction and monocular pattern analysis. IEEE Transactions on Image Processing. 2006, vol. 15, num. 8, pp. 2346-2375.         [ Links ]