Services on Demand
Journal
Article
Indicators
- Cited by SciELO
- Access statistics
Related links
- Cited by Google
- Similars in SciELO
- Similars in Google
Share
Revista Ingenierías Universidad de Medellín
Print version ISSN 1692-3324On-line version ISSN 2248-4094
Rev. ing. univ. Medellin vol.6 no.11 Medellín July/Dec. 2007
RECONSTRUCCIÓN TRIDIMENSIONAL DE ROSTROS A PARTIR DE IMÁGENES DE RANGO POR MEDIO DE FUNCIONES DE BASE RADIAL DE SOPORTE COMPACTO TRI-DIMENSIONAL
RECONSTRUCTION OF FACES FROM RANGE IMAGES THROUGH COMPACT SUPPORT RADIAL BASIS FUNCTIONS
Jaime A. Echeverri A.*; Rodrigo Cañaveral Uribe**; Alexánder Vélez Vásquez***
* Profesor Departamento de Ingeniería de Sistemas, Universidad de Medellín, jaecheverri@udem.edu.co, TEL: 3405484
** Estudiante Departamento de Ingeniería de Sistemas, Universidad de San Buenaventura Medellín, rcanaveral@usbmed.edu.co, TEL: 3405484
*** Estudiante Departamento de Ingeniería de Sistemas, Universidad de San Buenaventura Medellín, avelez@usbmed.edu.co, TEL: 3405484
Resumen
En este trabajo se muestra la utilización de funciones de base radial de soporte compacto para la reconstrucción tridimensional de rostros. En trabajos anteriores se habían explorado diferentes técnicas y diferentes funciones de base radial para reconstrucción de superficies; ahora presentamos los algoritmos y los resultados de la utilización de funciones de base radial de soporte compacto las cuales presentan ventajas comparativas en términos del tiempo de construcción de un interpolante para la reconstrucción. Se presentan comparaciones con técnicas ampliamente utilizadas en este campo y se detalla el proceso global de reconstrucción de superficies.
Palabras clave
Integración, funciones de base radial, funciones de base radial de soporte compacto, imágenes de rango, reconstrucción tridimensional
Abstract
In previous works, we have explored several radial basis techniques and functions for the reconstruction of surfaces. We now present the use of compact support radial basis functions for the tri-dimensional reconstruction of human faces. Therefore, we present algorithms and results coming from the application of compact support radial basis functions which have revealed comparative advantages in terms of the amount of time needed for the construction of an interpolant to be used in the reconstruction. We are also presenting some comparisons with techniques widely used in this field and we explain in detail the global process for the surfaces reconstruction.
Key Words
Integration, Radial Basis functions, compact support radial basis functions, tri-dimensional reconstruction
INTRODUCCIÓN
La reconstrucción 3D es el proceso mediante el cual objetos reales son reproducidos en la memoria de un computador, manteniendo sus características físicas (dimensiones, volumen y forma). La generación de modelos 3D tiene muchos campos de aplicación, como son la ingeniería inversa, la planeación de trayectoria para robots, el reconocimiento de objetos, la reconstrucción facial, intercambio de hallazgos arqueológicos, etc. Existen diferentes mecanismos para obtener los datos necesarios para el proceso de reconstrucción; uno de los más utilizados es el de las imágenes de profundidad o imágenes de rango (Bajaj et al, 1995).
Las imágenes de profundidad constituyen una manera no invasiva, económica y bastante aceptable de obtener información acerca de la geometría de un objeto. Son fotografías digitales del objeto, donde en lugar de almacenar valores de color, intensidad, luminosidad, etc., se conforma un arreglo de distancias tomadas desde un sensor hasta la superficie del objeto, mediante el uso de un conjunto de suficientes tomas de profundidad, y los algoritmos de reconstrucción apropiados para la aplicación que se desee implementar (Branch 2005).
El problema de la representación y reconstrucción de formas tridimensionales ha recibido una enorme atención en investigaciones de visión en la última década. El interés surge debido a que la teoría de formas podría tener aplicaciones en una amplia variedad de campos, pero además de cualquier aplicación práctica el problema tiene mucho interés matemático y científico.
La reconstrucción de superficies es un problema importante en sí mismo y con frecuencia es usado como una fase intermedia en la meta global de representación y reconocimiento de objetos 3D. En general, la representación por computador de formas de objetos 3D cae dentro de dos categorías: representación de superficies y representación de volúmenes (Besl, 1990).
Dentro de la visión artificial, existe una variedad de métodos de reconstrucción, cuyo objetivo principal es obtener un algoritmo que sea capaz de realizar la conexión de un conjunto de puntos representativos del objeto en forma de elementos de superficie, ya sean triángulos, cuadrados o cualquier otra forma geométrica. Generalmente, los métodos de reconstrucción de superficies están conformados por un conjunto de etapas o tareas, que consisten en
1. La adquisición de datos. Etapa encargada de la captura de un conjunto de medidas a partir de varias vistas para representar los objetos de la imagen.
2. El registro. Esta etapa tiene como propósito encontrar las transformaciones rotaciones y traslaciones de dos o más imágenes de rango para crear una única superficie que permita obtener una representación más o menos precisa del objeto que se desea analizar.
3. La integración. Es el proceso que permite obtener una superficie cerrada y suave que represente de una manera adecuada el objeto sin pérdida de información.
4. La segmentación. Consiste en agrupar puntos con propiedades homogéneas en regiones y asignarle una misma etiqueta a los puntos de cada región, para identificarlas. Las propiedades tomadas en cuenta, para la segmentación de imágenes de rango normalmente son: la profundidad, las normales y las curvaturas de las superficies.
5. El ajuste de superficies. Se encarga de estimar una superficie paramétrica a las diferentes regiones obtenidas con la segmentación.
En este trabajo se muestra la utilización de las funciones de base radial de soporte compacto, su funcionalidad y eficiencia en la etapa de obtención de interpolantes incluida en la etapa de integración según la metodología empleada.
FUNCIONES DE BASE RADIAL
En el problema de la interpolación se requiere encontrar una función s(x) que aproxime a una función dada , conocidos los valores de un conjunto de puntos x1, x2, …, xn. una función de base radial es una función de la forma:
Donde P es un polinomio de grado a lo sumo dos; y λi son factores de ponderación, o pesos; es la normal Euclidea y Ö se llama función básica. En conclusión, una función de base radial es una combinación lineal de traslaciones de una función radialmente simétrica.
Ejemplos típicos de funciones básicas de soporte global Φ : [0, ∞) → R, son los siguientes:
Tabla 1. Funciones de base radial de soporte global
Las funciones de base radial pueden ser de soporte global, infinitamente diferenciables y contener un parámetro libre e, llamado 'parámetro de forma'. El uso de este tipo de funciones básicas produce una matriz de interpolación densa que se utiliza para interpolar suavemente y generar zonas continuas sobre superficies discontinuas.
INTERPOLACIÓN CON FUNCIONES DE BASE RADIAL
El uso de funciones de base radial para interpolar datos dispersos tiene buena aceptación debido a que el sistema asociado de ecuaciones lineales resulta ser invertible, incluso si la distribución de los puntos no presenta regularidad. Por ejemplo, con la función Thin Plate Spline (TPS) sólo se requiere que los puntos no sean colineales, mientras que con la Gaussiana y la Multicuádrica no se necesita ninguna clase de regularidad. En particular las funciones de base radial no necesitan que los puntos estén distribuidos en una grilla regular.
Selección de centros
La interpolación con funciones de base radial que no son de soporte global suele ser un proceso costoso; por este motivo la selección de centros o conjunto de puntos sobre los cuales se calculará el interpolante debe ser un proceso cuidadoso. La estimación del vecindario adecuado se realiza mediante un proceso iterativo creciente, por medio del cual se selecciona una nube inicial con pocos puntos (puntos semilla) alrededor de la falla sobre la superficie; la distancia entre puntos, en este caso, está determinada por la longitud promedio de las aristas obtenidas en el proceso de triangulación, así sobre este conjuntos de puntos semilla se hace una búsqueda espacial agregando nuevos puntos al interpolante; de esta forma se garantiza un interpolante que represente la superficie en cuestión.
En la figura siguiente se muestra el proceso
Selección de puntos semilla
Selección de centros de interpolación
Figura1. Selección de Centros
La evaluación del nivel de calidad del interpolante es realizada sobre el conjunto de puntos de referencia que inicialmente pertenecen al vecindario del hueco, pero que no son utilizados para calcular el interpolante, así:
Una vez obtenido el vecindario inicial, es decir, el de la primera iteración, se debe determinar el conjunto de puntos de referencia, utilizados para medir la calidad del interpolante. Este conjunto de puntos debe permanecer constante en las siguientes iteraciones del algoritmo, para asegurar que este conjunto de puntos sea el adecuado.
DESCRIPCIÓN DEL ALGORITMO
El plan establecido consta de seis etapas, y están detalladas de la siguiente manera.
Figura 2. Diagrama de flujo del método empleado
EXPERIMENTACIÓN Y RESULTADOS
Definición de una familia de funciones de basa radial
Se realizaron pruebas con diferentes funciones de base radial de soporte compacto, se trabajó con diferentes cantidades de puntos y en cada caso se estimó el error relativo promedio, definido como la suma de las diferencias entre el valor de la evaluación de cada uno de los puntos generados aleatoriamente sobre la superficie real (Freal) y la evaluación sobre el interpolante obtenido (Fteorico). Como aparece en la siguiente ecuación:
Familias de funciones de base radial: La selección de las funciones de base radial de soporte compacto se realizó a partir de las recomendaciones presentadas en
Tabla 2. Funciones de base radial de soporte compacto
El comportamiento de las funciones usadas es similar en lo referente al tiempo empleado en la construccion del interpolante; se puede ver el aumento del tiempo para la construccion del interpolante a medida que se incrementa el número de puntos; en cuanto a la precisión de la interpolación, aumenta a medida que incrementa el numero de puntos.
Figura 3. Imágenes de la nube de puntos
Generación de un hueco aleatorio en un una nube de puntos ya definida
Se realiza un proceso de obtención de una nube de puntos, por medio de un algoritmo previamente diseñado, se crea un hueco en un rango de puntos seleccionado aleatoriamente en la mencionada nube de puntos con el fin de recrear la falta de información en imágenes y de esta forma realizar una análisis preciso. Para el posterior llenado de este, se debe tener en cuenta la densidad de muestreo de la nube inicial. En general hay dos criterios importantes para determinar los nuevos puntos que llenan cada hueco: primero, la posición de los nuevos debe estar en el interior del hueco y los nuevos elementos de superficie deben ser fácilmente mezclados con la malla original.
Selección del vecindario de puntos al rededor del hueco
Este vecindario es generado en un rango específico alrededor del hueco generado por medio de un algoritmo previamente diseñado; este vecindario está dado por un número de puntos determinado que se encuentre en el dicho rango. El algoritmo a continuación describe el algoritmo utilizado:
Figura 4. Algoritmo para selección de centros
Definición de un interpolante de los puntos vecinos al hueco
Se obtiene un interpolante que represente de manera precisa la zona afectada; con este interpolante es posible generar los puntos sobre la zona que permitirá corregir la falla. Para este fin, se toma un conjunto de puntos de la nube, tomados de tal forma que sean representativos de la falla o presentes en la nube; una vez obtenido el interpolante se pueden realizar las diferentes evaluaciones sobre el interpolante y por lo tanto la posibilidad de poblar densamente la nube de puntos inicialmente obtenida.
Comparación con otras técnicas
Para determinar la calidad del método propuesto se ha seleccionado una métrica que permite hacer una comparación cuantitativa con otros métodos de integración; se propone el método de Carr (Carr, 2001), se tiene en cuenta que este método emplea la nube completa de puntos para la interpolación; se han tabulado las medidas de tiempo (seg) para la evaluación del interpolante con varias cantidades de puntos para el método que se propone en este trabajo y se hace la respectiva comparación con el método indicado anteriormente.
Tabla 3. Tiempos Método Carr Vs Método Propuesto
HARDWARE Y LIBRERÍAS
Todas las pruebas fueron realizadas utilizando una computadora con procesador de 3.0 GHz, memoria RAM de 1.0Gb corriendo bajo el sistema operativo Windows XP® de Microsoft. Las implementaciones de los modelos fueron realizadas en C++ y MATLAB®; además, se programó un conjunto de funciones que posibilitaron los resultados mostrados, cada una de estas funciones fue diseñada usando un modelo de programación de descomposición modular. Los datos utilizados fueron obtenidos con un sensor Kreon.
Para la puesta a punto de los métodos empleados para la integración en las dos etapas de este método, se efectuó un conjunto de pruebas en MATLAB®, versión 6.5, para estas pruebas fue necesaria la definición de un conjunto de funciones en las etapas de obtención del interpolante y representación de superficies. Los experimentos se realizaron usando cuatro funciones de base radial de soporte compacto, las cuales se detallan a continuación; con estas se inicio el proceso para encontrar el interpolante y se determinaron tanto el tiempo de construcción como la calidad del interpolante (calculado como el error relativo promedio).
CONCLUSIONES
• El método de reconstrucción que se presenta en este trabajo utilizando las RBF presenta
características favorables en cuanto a la representación funcional y compacta de nubes de puntos; además, permite una evaluación directa de puntos sobre la nube, lo que permite determinar fácilmente la pertenencia o no de un punto dado a una nube específica y, por lo tanto, la generación de nuevos puntos y el perfeccionamiento de nubes con presencia de fallas topológicas.
• Las funciones de base radial de soporte compacto incrementan la eficacia computacional en los procesos de reconstrucción tridimensional, específicamente en la etapa de obtención del interpolante al trabajar con matrices de tipo disperso.
• Los tiempos empleados en la construcción del interpolante y en la fase de graficación presentan variaciones significativas entre funciones de base radial de soporte global, como se observa en la tabla 2, mientras que el uso de funciones de base radial de soporte compacto presenta valores similares para estos mimos procesos.
• El trabajo con funciones de base radial es especialmente favorable para regiones con presencia de discontinuidades, tanto por la presencia de zonas con información redundante como zonas con perforaciones o agujeros.
BIBLIOGRAFÍA
1. BAJAJ, C, F BERNARDINI, G. Xu. Adaptative reconstruction of surfaces and scalar fields from scattered trivariate data. 1995 [ Links ]
2. BESL, P. The free form surface matching problem, in Machine Vision for Three-dimensional Scenes. San Diego: Academic press, 1990 [ Links ]
3. BRANCH J.W. Correspondencia de puntos empleando algoritmos genéticos para el registro de múltiples vistas de imágenes de rango. 2005 [ Links ]
4. BUHMANN, M. Radial basis Functions. Cambridge University. P. Cambridge. 2003 [ Links ]
5. CARR. J. Reconstruction and representation of objects with radial basis functions. 2001 [ Links ]
6. B.L. Curless 'New Methods for surface Reconstruction form range Images'. Standford: Stanford University, 1997 [ Links ]
7. ECHEVERRI J, NASPIRAN L. BRANCH J. W. Integración de imágenes de rango usando funciones de base radial. III jornadas Colombianas de Investigación en electrónica. Tecnocom 2005. [ Links ]
8. GÓMEZ J. B. 'Integración de imágenes de rango para la obtención de modelos faciales', 2002.Technical report. [ Links ]
9. HOPPE. Surface reconstruction from unorganized points. PhD Thesis, Washintong university, 1994 [ Links ]
10. MONTEGRANARIO, H. 'Reconstrucción de superficies mediante funciones de base radial' IX simposio Nacional de Tratamiento de señales, imágenes y visión artificial, Manizales, 2004 [ Links ]
11. PULLI K., 'Robust meshes from multiple range maps'. International conference on recent advances in 3D digital imaging and modeling, 2007 [ Links ]
12. TURK, G., and LEVOY, M. Zippered polygon meshes from range images. Proc. SIGGRAPH'94, Orlando, 1994. pp. 311-318 [ Links ]
Recibido: 10/08/2007
Aceptado: 20/09/2007