Resumen: En este artículo se presenta el diseño e implementación de un sistema programado que permite la reconstrucción tridimensional de un objeto contenido en una escena registrada en un par de imágenes estereoscópicas, utilizando los principios de la visión estereoscópica y Fotogrametría digital. El sistema desarrollado realiza su trabajo en dos etapas: En la primera, se prepara el ambiente para la reconstrucción 3D, mediante la captura de las imágenes, la calibración del sistema de cámaras y la rectificación de las imágenes. En la segunda, se realiza la reconstrucción tridimensional mediante la simulación y visualización del modelo del objeto, utilizando algoritmos de correspondencia por correlación cruzada y triangulación estéreo.
Palabras clave:Fotogrametría digitalFotogrametría digital, visualización visualización, modelos 3D modelos 3D, reconstrucción tridimensional reconstrucción tridimensional, visión estereoscópica visión estereoscópica.
Abstract: This paper describes the design and implementation of a software that allows 3D reconstruction of anobject recordedin aon a pair of stereoscopic images using the principles of stereoscopic vision and digital photogrammetry. The developed systemperforms its work in two stages: Firstly, the environment for 3D reconstruction is prepared, by capturing the images,the camera system calibration and rectification of images. Secondly, 3D reconstruction by simulation and visualization objectmodel is performed, using correspondence and stereo triangulation algorithms.
Keywords: Digital photogrammetry, visualization, 3D models, calibration, 3Dreconstruction, stereo visión.
Generación de modelos 3D a partir de dos imágenes fotogramétricas
3D models generation from two photogrammetric images

Recepción: 10 Octubre 2014
Aprobación: 20 Junio 2015
En este artículo se presenta el diseño e implementación de un sistema programado que permite la reconstrucción tridimensional de un objeto contenido en una escena registrada en un par de imágenes estereoscópicas, utilizando los principios de la visión estereoscópica y Fotogrametría digital. Éste constituye el resultado de un proyecto en el área de Fotogrametría digital, cuyo propósito es el desarrollo de nuevas herramientas programadas para la reconstrucción y modelado tridimensional de objetos a partir imágenes fotográficas.
El sistema desarrollado realiza su trabajo en dos etapas: i) la de captura de las imágenes del modelo y, ii) la reconstrucción tridimensional del mismo.
En la primera etapa, se prepara el ambiente para la reconstrucción 3D, mediante la captura de las imágenes, la calibración del sistema de cámaras y la rectificación de las imágenes. En la segunda etapa, se realiza la reconstrucción tridimensional mediante la simulación visualización del modelo del objeto, utilizando algoritmos de correspondencia por correlación cruzada y triangulación estéreo.
El sistema programado fue implementado utilizando el lenguaje de programación Java. En la Fig.1 se muestra la vinculación de las funcionalidades con el conjunto de clases, las cuales se explican posteriormente.

La adquisición de las imágenes se hace en forma estática, utilizando el principio de estereoscopía para obtenerla profundidad de los objetos presentes en la escena de una imagen fotográfica. Para ello, se construyó un dispositivo conformado por dos cámaras fotográficas digitales no métricas, alineadas sobre una base de aluminio y separadas entre sí una distancia de 10 cm aproximadamente (Fig. 2). Cada cámara realiza la captura de una escena en una imagen digital, la cual posteriormente se almacena en el repositorio del sistema.

Un modelo de cámara es una representación de las características geométricas y físicas más importantes de las cámaras utilizadas para la visión estéreo. En este caso, se emplea como modelo de cámara para transformar las coordenadas 3D (mundo real) a coordenadas 2D (imagen) el de la proyección perspectiva o modelo pin-hole. En éste los puntos del espacio se proyectan a través de un punto en el plano proyectivo (Fig. 3), y se expresa como:
(1)Donde,
X, Y, Z: son las coordenadas del punto P en el espacio (3D), definido por el sistema de referencia X, Y, Z.
Xn,Yn: son las coordenadas normalizadas del punto P.
x,y: son las coordenadas del punto P en la imagen (2D), definido por el sistema x,y.

Al modelo pin-hole debe agregarse los parámetros de corrección de las distorsiones del lente de la cámara. Se consideran principalmente la distorsión radial (dr) y la tangencial (dt), la cuales se expresan para cada imagen mediante sus componentes x, y.
La distorsión radial, dr, se define como:
(2)y,
(3)Donde,
drX , drY: son las distorsiones radiales en X e Y
dtX, dtY: son las distorsiones tangenciales en X e Y
k1, k2, k3, k4 y k5: son los coeficientes de corrección
La distorsión tangencial, dt, usualmente despreciada por ser un valor muy pequeño, se expresa como:
(4)Tomando en cuenta las distorsiones, la ecuación proyectiva del modelo de cámara queda como:
(5)
(6)Donde,
fx, fy: son las componentes focales en X e Y.
xC, yC: son las coordenadas del punto principal
α: es la relación de aspecto del pixel
Las coordenadas del punto P en la imagen se expresan como:
(7)
(8)Simulando la visión humana en el que se tienen dos sistemas de captación de imágenes o par estéreo, se utiliza como modelo dos cámaras separadas una pequeña distancia y con un punto de vista parecido. Esto con el propósito obtener la profundidad de la escena a partir del procesamiento de la información contenida en las imágenes generadas por tales cámaras.
La calibración de la cámara desde el punto de vista fotogramétrico, es un proceso en el que se determinan sus parámetros internos (intrínsecos) y externos (extrínsecos). Los internos refieren a las características geométricas y ópticas de la cámara, necesarios para la reconstrucción fiel de los haces de rayos utilizados en la creación del modelo 3D: distancia focal, posición del centro de proyección y distorsiones radial y tangencial, en las imágenes tomadas (Jáuregui 2013). Los parámetros externos definen la posición y la orientación de las cámaras respecto a un sistema de coordenadas conocido, llamado sistema de coordenadas del mundo real.
Para realizar la calibración de cada cámara, se capturon 25 imágenes de un tablero de ajedrez (patrón de calibración) de 15 mm, colocado en diferentes posiciones (Fig. 4). Se definieron como puntos de referencia las cuatro esquinas del tablero, ubicándolas en cada imagen. Luego se aplicó el algoritmo de calibración de Jean-Yves Bouguet (Bouguet 2000).

En la Tabla 1 se muestran los valores de los parámetros internos del sistema de cámaras, donde fx y fy, denotan la distancia focal en los ejes x e y, respectivamente; xC y yC, la posición del centro de proyección; y k1, k2, k3, k4 y k5 los coeficientes para la determinación de las distorsiones radia-les y tangencial de cada imagen.

Una vez calibrada individualmente cada cámara, se hizo la calibración estéreo, tomando en cuenta los valores de los parámetros obtenidos y siguiendo el mismo procedimiento. En la Tabla 2 se muestran los valores obtenidos para los parámetros externos de las cámaras, donde Tx, Ty,Tz son las traslaciones en X, Y, Z, respectivamente; ωX, ωY, ωZ, son los ángulos de rotación sobre los ejes X, Y, Z, respectivamente. Estos valores permiten determinar el desplazamiento de la cámara derecha tomando como referencia la izquierda.

El proceso de rectificación se basa en la geometría epipolar del par estéreo, la cual permite expresar la relación geométrica entre dos proyecciones de un mismo punto en la escena (Fig. 5).
Los centros de proyección de las cámaras izquierda y derecha, ci y cd, respectivamente, definen la línea base; Pi y Pd son las proyecciones izquierda y derecha del punto P, respectivamente. El plano que une los centros de proyección y el punto en el espacio P es denominado plano epipolar, y el mismo corta los planos de las imágenes en las llamadas líneas epipolares (líneas punteadas de la Fig. 5). Los puntos ei y ed son llamados epipolos y representan la intersección de la línea base con los planos de las imágenes.

Sobre la línea epipolar de la imagen izquierda se tienen las proyecciones de los puntos de la imagen derecha, conocidos como puntos homólogos, los cuales representan un punto del objeto. Esta propiedad facilita la búsqueda de puntos homólogos en la etapa de correlación de imágenes.
En esta parte se corrigen los efectos de las rotaciones relativas de ambas cámaras, alineando los centros ópticos de las cámaras y eliminando la distorsión de los lentes. De esta manera, se hacen coincidir las líneas epipolares con las líneas de barrido horizontal en la imagen. En la Fig.6 se muestran las líneas epipolares luego del proceso de orientación (líneas punteadas).

Existen varios métodos para encontrar la correspondencia de imágenes, tales como los basados en áreas, en entidades y en relaciones (Luccioni 2008). En este trabajo se utilizó la correspondencia basada en área, llamada también correspondencia basada en intensidades, en la cual se comparan las distribuciones de los niveles de grises de pequeñas áreas de dos imágenes llamadas ventanas, determinadas de la geometría de las líneas epipolares.
Entre los métodos de correspondencia basados en área, el más difundido en las aplicaciones de Fotogrametría es el de correlación cruzada, llamado también correlación de Gruen (Gruen 1985), ilustrado en la Fig. 7.

La correlación cruzada funciona eficientemente sobre áreas que contienen suficiente información y cuyas distorsiones son mínimas. Se expresa como.
(9)
(10)
(11)Donde,
es el nivel de gris para el punto
de la imagen de la izquierda
: es el nivel de gris para el punto
y de la imagen de la derecha
gris
promedio en la región de la ventana nxm alrededor del
punto izq.
gris
promedio en la región de la ventana nxm alrededor del
punto der.
: correlación
cruzada entre las dos ventanas.
El proceso puede optimizarse utilizando técnicas predictivas para la ubicación de las ventanas de correlación. De esta manera, se obtienen las coordenadas sobre las imágenes izquierda y derecha de un mismo punto en objeto.
A partir de las imágenes izquierda y derecha, el proceso de triangulación estéreo permite determinarla posición en el espacio de los puntos del objeto. En la Fig. 8 se ilustra el principio de la triangulación estéreo para cámaras con ejes ópticos paralelos, donde el eje X coincide con los ejes ópticos de las cámaras, el eje Z es perpendicular al plano de las imágenes y pasa por el centro óptico izquierdo; y el eje Y es perpendicular al eje X y paralelo al plano de las imágenes. Ci-pi, corresponde al rayo proyectivo generado desde la imagen izquierda y Cd-pi, el rayo generado por la imagen derecha. Ambos rayos se intersectan en el punto P, que re-presenta la posición del objeto.

Las ecuaciones de este tipo de triangulación estéreo se expresan como:
(12)
(13)
(14)Donde,
X, Y, Z: Coordenadas en el espacio del punto P.
B: Distancia entre los centros ópticos de las cámaras izquierda y derecha.
f: distancia focal de las cámaras.
xi, yi: Coordenadas en la imagen izquierda del punto P
El sistema permite las funcionalidades de Simulación y Visualización del objeto reconstruido.
Una vez calibrado el dispositivo, se toman las imágenes del objeto a reconstruir tridimensionalmente. Seguidamente, éstas se rectifican y se determinan las posiciones de los centros de proyección, para iniciar la reconstrucción 3D del objeto. La reconstrucción 3D consiste en realizar la correlación de puntos para determinar la correspondencia de éstos en ambas imágenes, generarlas nubes de puntos y realizar la triangulación estéreo de cada punto del objeto.
La funcionalidad de Simulación, instancia a una clase llamada Simulador que se encuentra relacionada con las clases panel CamIzq y panel CamDer, las cuales permiten manipular los parámetros de cada cámara respectivamente. Además la clase Simulador se relaciona con la clase panel-PlanoXYZ, encargada de manejar el despliegue del punto triangulado estéreo (Fig.9).

En la Fig. 10, se muestra la secuencia de invocaciones de los métodos de la clase Simulador que permiten realizar la triangulación de un punto. Primeramente se llaman los métodos que permiten cargar las imágenes rectificadas y el punto en la proyección de la imagen izquierda al cual se le va a determinar su punto correspondiente en la imagen de-recha. Seguidamente se llama el método que permite calcular la correlación cruzada entre ambos puntos, utilizando segmentos de las líneas e pipolares en ambas imágenes. Los puntos a triangular, corresponden a aquellas posiciones donde la correlación cruzada genera valores máximos.

En la Fig. 11 puede observarse como el sistema programado representa un punto en la imagen de la izquierda y su correspondencia en la imagen de la derecha.

La clase Simulador posee un método que permite la generación de nubes de puntos 3D para una retícula de pixeles tomadas de la imagen para la que se desea realizar su reconstrucción tridimensional (Fig. 12).

En la Fig. 13, se muestra la secuencia de invocaciones de los métodos de la clase Simulador que permiten realizar la triangulación de los puntos de retículas. Para ello, primeramente se cargan las dos imágenes rectificadas y los parámetros que indican el incremento en X y Y de la retícula a ser triangulada. Cada uno de los puntos de la retícula se triangula mediante el método triangular punto, el cual se almacena hasta formar una nube de puntos 3D del objeto.

La funcionalidad de visualización de los datos se implementó a través de las clases indicadas en la Fig. 10, las cuales se encargan del despliegue de los resultados de la simulación. En la Fig. 14 se muestra la triangulación estéreo de un punto a partir de los correspondientes calculados por correlación cruzada.


Se desarrolló un sistema programado que permite en reconstrucción tridimensional y su correspondiente visualización de objetos registrados en un par de imágenes, utilizando de técnicas fotogramétricas. Los resultados obtenidos fueron satisfactorios, aunque con algunas dificultades cuando el objeto tiene un patrón visual muy parecido en las imágenes.
Al Consejo de Desarrollo Científico Humanístico Tecnológico y de Arte de la Universidad de Los Andes por el apoyo financiero al Proyecto I-901-05-01-02-A.
















