lunes, 22 de noviembre de 2010

Deformaciones en Imágenes usando 2D - Free Form Deformation

En este trabajo se hace uso de la técnica 2D-FFD (Free-Form Deformation) para generar deformaciones en
una imagen, las que pueden ser adaptadas para diversas aplicaciones. Principalmente analizamos el impacto que puede tener en aplicaciones, donde existen limitaciones para especificar el resultado final de la deformación en una imagen, las cuales optan mayormente por usar deformaciones predefinidas. Se analiza el caso de las restricciones que existen en el proceso de simular resultados de cirugía plástica usando deformaciones preestablecidas basadas en superficies producto tensorial de Bézier.

1.- Motivación


La principal  motivación de este trabajo es la búsqueda de algún algoritmo de procesamiento de imágenes digitales que nos permita transformar el rostro A en el rostro B. Estos rostros aparentemente son imágenes iguales, pero si analizamos detenidamente nos daremos cuenta que existen pequeños detalles que de cierta manera hacen que el rostro B tenga rasgos mas finos que el rostro A. Esto debido que se le aplicó una transformación warping con el fin de embellecer el rostro. Esta imagen fue tomada del paper: "Data-Driven Enhancement of Facial Attractiveness" (Cohen-Or, et al 2008).
Rostro A                                                  Rostro B 

En la siguiente imagen podemos ver el proceso, de manera general, que se realiza para obtener los resultados deseados.

Proceso de la deformación de una imagen mediante puntos característicos.


2.- Introducción

Existen diversos métodos para especificar una función de deformación, popularmente llamada función de mapeo (warping), la cual mapea las posiciones de los puntos (pixeles) de la imagen inicial (imagen sin deformar) en la imagen objetivo (imagen deformada).

En Simulación de Cirugía Plástica, nosotros usamos una función de mapeo, basada en la manipulación de superficies producto tensorial de Bézier, con bases de grado 2 (usando tres puntos de control, por cada curva de la superficie). Cuando se desea generar deformaciones que simulen resultados de cirugía plástica (específicamente estética) tales como (Rinoplastia, liposucción, etc), el usuario debe especificar una superficie, la cual tiene una configuración predefinida de los puntos de control, para generar dicha deformación, así como se muestran las figuras 1, 2 y generan resultados como las mostradas en la figura 3.

Figura 1: Malla sin deformar - Malla deformada(reducción y aumento Horizontal y Vertical).

Figura 2: Malla sin deformar - Malla deformada (reducciones y aumentos oblicuos).

Figura 3: Ejemplo de rinoplastía de la aplicación: simulación de cirugía plástica ).



Lamentablemente las forma de trabajo utilizado en Simulación de Cirugía Plástica no puede ser aplicado para nuestro propósito ya que tendríamos que predefinir muchas deformaciones sobre una misma imagen. Una solución a esto es definir puntos origen (Pi) y destino (Qi), los cuales guiarán la deformación; para ello utilizaremos 2D-Free Form Deformation (2D-FFD).
3.- 2D-FFD (Free Form Deformation)
La técnica de 2D-FFD, propuesto por Seungyong Lee(S. Lee and Wolberg, 1995), es usada para deformar una placa rectangular en el plano-xy, por la manipulación de una lattice rectangular superpuesta sobre ella. Los autores proponen el producto tensorial de B-spline cubico como la función de deformación de FFD, ya que una B-spline tiene un control local. Esta propiedad hace posible manipular localmente la lattice cuando un punto en la placa es movido a una posición especificada. Por consiguiente la nueva lattice que produce este movimiento puede ser eficientemente calculada aun cuando el número de puntos de control sea muy grande.




S. Lee, K.-Y. Chwa, S. S. and Wolberg, G. (1995). Image metamorphosis using snakes and free -form deformations. Computer Graphics (Proc. SIGGRAPH ’95)


3.1 Manipulación de 2D-FFD por el movimiento de un punto

Proceso de Deformación






Sea W(p) = q entonces:
Gráficamente podemos representar la malla inicial de esta manera:







Con esta solución, los puntos de control cercanos a p obtienen más grandes desplazamiento que los otros porque w(p) depende de la distancia entre los kl-th puntos de control y el punto p. La deformación w genera que el efecto del movimiento disminuya suavemente


3.2 Manipulación de 2D-FFD por el movimiento de mas de un punto


Proceso de Deformación






Gráficamente podemos representar la malla inicial de esta manera:






 4.- Resultados: