miércoles, 6 de junio de 2012

Proyecto: Simulación de Cirugía Plástica basada en superficies de Bezier

1. Visión General
  • Problema a resolver
     “El 30% de los pacientes que recurren a su consultorio, lo hacen para realizarse una re-cirugía, con el objetivo de   modificar ciertas imperfecciones resultado de una intervención quirúrgica anterior”.

  •  Solución y objetivos
    Simular resultados que se pueden obtener en una cirugía plástica Estética (rinoplastia, liposucción, abdominoplastía,  aumento y/o elevación mamaria, etc.) , ayudando de esta manera a la decisión final de la persona interesada.   (paciente que desea realizarse una cirugía plástica).

2. Transformada Warping: Bases Teóricas
  • Transformada Warping: Definición
      Es una transformación geométrica genérica que modifica la relación espacial de los puntos en la imagen, variando desde una simple traslación o rotación de la imagen hasta deformaciones variantes en el espacio bastante complejas.
  • En resumen: 

Fig1.  W: Función de mapeo de imagen origen U, a imagen destino U'.


  3. Warping basado en superficies producto tensorial de Bezier
  •   Curvas de Bezier:
  • Superficies Producto Tensorial de Bezier:


  • Superficies generadas
Fig2. Deformación de aumento.

Fig3. Deformaciones  oblicuas.

Fig4. Superficie sobre imagen.


4. Resultados

  •  Resultados en simulación de cirugía plástica

Fig5. Simulación de Rinoplastia en mujeres.


Fig6. Simulación de Aumento de Medidas (Senos)


Fig7. Simulación de Reducción de Papada


Fig8. Simulación de Aumento de Masa Muscular.


Fig9. Simulación de Liposucción


Fig10. Simulación de Rinoplastía y Reducción de Papada, en varones


Fig11. Comparación con Deformación obtenida por el Software Face Touch Up.
(Reducción del ancho de la nariz)


  • Otros resultados que se pueden obtener: Énfasis de expresiones faciales

Fig12. expresión1.

Fig13. expresión2


5. Trabajos Futuros
  • Completar la simulación de los procedimientos de beflaroplastia (cirugía de los párpados) y el estiramiento facial.
  • Probar con otros tipos de superficies suaves.
  • Solucionar el problema de perder la calidad de la imagen cuando se hacen múltiples deformaciones en la una misma región.

---------------------------------------------------------------------------------------------------------------------------------------------
  • Video:



--------------------------------------------------------------------------------------------------------------------------------------------------------

Implementation of "Image Deformation Using Moving Least Squares"



  1. Moving Least Squares Deformation
  • Affine Deformations
          Preliminary results:
          Let p be a set of control points and q the deformed positions of the control points p.




Fig.1. Shows the unddeformed image. Where the blue poits  is a set p and red points is the set q.





Fig2. Undeformed image (upper left), deformed image (upper right) and surface deformation (bottom).




Fig.3. Deformed image (upper) and surface deformation (bottom).





Fig.4. Deformed image (upper) and surface deformation (bottom).





Fig.5. Deformed image (upper) and surface deformation (bottom).




Fig6. Undeformed image (upper left), deformed image (upper right) and surface deformation (bottom).



Fig.7. Deformed image (upper) and surface deformation (bottom).





Note:  
  • The preliminary results shown above are the implementation of the methods described in the paper: Image Deformation Using Moving Least Squares, Scoot Schaefer, Travis McPhail and Joe Warren.
  • Matlab was used for implementation.
  • This project currently under development. New updates soon ... !!


Algorithm for the enhancement the aesthetic appeal of human faces in digital images, based on the Marquardt's Phi Mask


  1. Important definitions
  • Beauty. Beauty has been defined as a combination of qualities that give pleasure to the senses or to the mind. It is a philosophical concept, the aspects of which are studied under the term aesthetics, derived from the Greek word for perception (aisthesis). Aesthetics, therefore, is the study of beauty and, its opposite, the ugly. It involves both the understanding and evaluation of beauty, proportions and symmetry.
  • Facial beauty. The assessment of facial beauty is immersed in subjectivity and therefore leans towards the world of art. Facial proportions and facial balance, however, can be measured and therefore fit somewhere between art and science.
  • Facial proportions and symmetry. The concept that 'ideal' proportions are the secret of beauty is perhaps the oldest idea regarding the nature of beauty. Throughout the ages, painters and sculptors have attempted to establish ideal proportions for the human form, however, possibly the most famous of all axioms about ideal proportions is that of the Golden Proportion, also named divine proportions.
  • Divine Proportion. This is a geometrical proportion in which a line AB is divided at a point C.in such a way that the ratio of AC to CB is equal to the ratio of AB to AC. Some elementary algebra shows that in this case the ratio of AC to CB is equal to the irrational number 1.618.

                                                     Fig.1. Golden Radio

    C divides the line segment AB according to the Golden Ratio and is represented by the symbol  (phi).
    More and more information is coming to light as to the existence and the significance of the divine proportion. It is all encompassing and it affects living and non-living entities.
Fig.2. Golden radio is everywhere in our lives.
    Divine proportion of the human body, specifically shows some of the vertical relationship of the face.
Fig.3.On the top the divine proportion in the human face, 
on the bottom two beautiful face showing divine proportion.


  • Golden Facial Mask. Dr. Stephen R. Marquardt developed Golden Facial Mask, also called Golden decagon mask and Marquardt phi Mask. This mask is based on the divine proportion, more specifically the golden decagon. Marquardt believes that this mask really describes the idealized form of the human face.

  •              Fig.4. Golden Decagon Mask (repose and smiling). It is copyrighted by Stephen Marquardt.


    • Fundamentals about Golden Facial Mask
      • Marquardt believes that the facial attractiveness, there does seem to be a universal perception of characteristics of the form or shape of the face that are found attractive, and this attractive-face concept seems to be not only universal within one culture, but universally cross-cultural, regardless of other parameters, including birth rank, age, sex, etc. 
      • Concepts of facial beauty have been thought to vary with time and among races, but our research shows that this is not particularly true. The mask’s correlation with attractive faces throughout history seems to be quite consistent. There are slight variances between the races with regard to the mask, but this variance is also consistent throughout time.
      • The mask really describes the idealized form of the face. The ideal size of the face is approximately 1/7 to 1/8 of body height, which has been known since the first Greek sculptors presented this concept, and has been used ever since. On the other hand, there has never been a clear understanding or any quantification of the ideal shape or form of the face or its components, including the nose, eyes, lips, etc. I believe these masks are based on the first concept that truly mathematically quantifies the idealized face and its frontal and lateral views, both resting and smiling.
    • Making the mask. The simplest configuration that describes the Golden Ratio in two dimensions is an acute Golden Triangle (fig. a) with sides of 1.618 and a base of 1, or an obtuse Golden Triangle (fig. b) with a base of 1.618 and sides of 1. Together these elements form a Golden regular pentagon (fig. c), and the regular pentagon itself, if duplicated, inverted , and superimposed on itself, forms the Golden Decagon (fig. d).



    •                      
                                 Fig.5. Golden elements that formed the golden facial mask.
      Marquardt goes into greater detail on his website: http://www.beautyanalysis.com/


    2. Overwiew: Algorithm for the enhancement the aesthetic appeal of human faces
    The main idea is that given a human face image, the algorithm should deform it in order to approximate as much as possible toward the Marquardt Phi Mask, automatically. 

Fig.6. Overview our algorithm.


  •  Identifying face.  Given an image identify the face by using robust algorithms suggested in the state-of-the-art.
  • Extracting feature points. Identify a set of facial landmarks. To solve this task,  I'm experimenting with two algorithms in the state-of-the-art such as:  Active shape models (ASM) and Bayesian Tangent Shape Model (BTSM).
  • Deformation image acoording Marquardt’s phi Mask. Automatically deforming the image towards the Mask aided by, the obtained, landmarks (used as control points). In order to solve this task I’m experimenting with several existing algorithms in the state-of-the-art such as, 2D-Free Form Deformation (2D-FFD), Multilevel Free-Form Deformation (MFFD) and Image Deformation Using Moving Least Squares.



Note:  
  • This project currently under development. New updates soon ... !!
  • Many of images and information about beauty and aesthetics were obtained from: 
    • Facial Aesthetics: Concepts and canons, Farhad B Naini and Daljit S Gill.
    • Facial Beauty-Establishing a Universal Standard, Yosh Jefferson.
    • Jco Interviews. Dr Stephen R. Marquardt on the Golden Decagon and Human Facial Beauty
    • Data-Driven Enhancement of Facial Attractiveness, Daniel Cohen-Or et al. 

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:












domingo, 22 de agosto de 2010

Proyecto: Simulación de Cirugía Plástica basada en coordenas polares

INTRODUCCIÓN


Hemos buscado una aplicación interesante para aplicar lo aprendido en esta primera parte del curso, despues de un debate realizado en el grupo, llegamos a la conclusión de realizar una aplicación que permita simular el resultado de una cirugía plástica, para ello nuestro fin principal es crear una técnica que permita esta simulación, para cirugías realizadas en distintas partes del cuerpo, de esta manera nos permitira simular el resultado de rinoplastía, liposucción, etc.

Lo que nosotos buscamos es mejorar algunas técnicas agregándole otras mas conocidas, vistas en clase (y mostrados en este blog) como son los filtros de Suavizamiento - Filtros Estadísticos.

La simulación se basa principalmente en la deformación de imágenes, para lo cual aplicamos la técnica conocida como "Warping", esta técnica es muy conocida y aplicada en diferentes campos del procesamiento.

Por ejemplo en el Procesamiento de sonido, se utiliza para la combinación, deformación de sonidos, un caso muy específico se da en el reconocimiento del habla, donde para su pre-procesamiento se aplica la técnica del Warping.

Warping tambien es aplicado en el procesamiento de imagenes, en el cual se aplica esta técnica para la deformación o correción de imágenes, una aplicación muy interesante en este campo es el que veremos en este proyecto.

Además de todas estas aplicaciones, la técnica del warping es tan aplicada en la ciencia de la computación, que en los últimos años se esta aplicando para la recreación de movimiento, para obtener videos a partir de haber aplicado warping en una imágen. Entonces esto es una clara aplicación del Warping en el procesamiento de video.

Nosotros hemos realizado esta aplicación en Java, bajo la plataforma de NetBeans 6.5.

TRABAJOS PREVIOS EN WARPING

En la busqueda de información para nuestro proyecto, encontramos algunos software privativos que aplican la técnica del warping. Los diferentes software encontrados aplican de manera diferente esta técnica, esto dependerá del tipo de aplicación de que se requiera trabajar.

Por ejemplo el software "Fun Motion" aplica el warping para fusionar imagenes, a partir de dos imágenes, en las cuales se ubicaron puntos de control, los caules serán los que coincidiran en la imagen fusionada.



Otro software en el que se aplica el warping es el VPSS (Virtual Plastic Surgery Software), que es uno de los software en el que nos inspiramos para realizar este proyecto.



PRIMEROS INTENTOS

Para lograr este tipo de simulación lo primero que se intento es repintar los pixeles que son "innecesarios", con pixeles vecinos. Pero obtuvimos un gran problema el cual era la pérdida de mucho detalle en imágenes, no era una verdadera cirugía.

La solución para resolver este problema fue utilizar Warping + Filtro, el filtro fue creado por nosotros para obtener mejores resultados conjuntamente con el warping. Este filtro fue creado en base a los filtros estadísticos basicamente la mediana, la cual fue mejorada para obtener los ojetivos propuestos.

WARPING

Se trata de una técnica en la que el objetivo es conseguir deformar la imgen, para lo cual cambia la disposición de los píxeles de una imagen.

Así, el warping se puede clasificar como una transformación geométrica no lineal, en la cual se realiza una transformación no lineal entre las coordenadas de la fuente y el destino. La ecuación general del warping es la siguiente:


Donde (u,v) son las coordenadas de IO(), y (x,y) son las coordenadas de IF. Y donde las funciones de proyección (encargadas de determinar la transformación espacial) son:


COMO APLICAR WARPING EN IMÁGENES

  • Para cada pixel (i,j) de la imagen (normalizar)
x=2*i/width-1
y=2*j/height-1
  • Obtener coordenadas polares(ri,phi)
ri= sqrt(x^2+y^2)
phi= atan2(y,x)
  • Transformación Inversa(Para realizar el warping)
r=ri^p p=0.9
x=r*cos(phi)
y=r*sin(phi)

FUNCIONES PARA REALIZAR WARPING

r=r^p p=0.9



PASOS PARA LA IMPLEMENTACIÓN

1. Obtener la matriz de la imagen. (R,G,B)

2. Obtener una submatriz (para procesar).

3. Aplicar una función warping a la submatriz.

r=r^p p=0.9

4. Aplicar un filtro para mejorar la submatriz.

5. Reemplazar la submatriz mejorada en la imagen.

TRABAJOS FUTUROS
  • Encontrar una técnica que permita una mejor calidad en la imagen resultante.
  • Crear un procedimiento para que el Warping se aplicado de manera continúa.
  • Buscar mas técnicas para la simulación de cirugía plástica, como para la eliminación de arrugas.
RESULTADOS OBTENIDOS CON LA APLICACIÓN

Aquí mostramos nuestros principales resultados:


  • Rinoplastía:

  • Aumento de Medidas (Senos):

  • Reducción de Papada:

  • Aumento de Masa Muscular:


  • Aumento de Masa Muscular (II):

  • Aumento de medidas (Senos y Caderas):


  • Aumento de Gluteos y Reducción de Cintura:



Para poder descargar el informe del proyecto (paper) hacer clic aqui *

* Esperen 20 segundos en la página que se abre para poder descargar...