VideoClone : Transmisión de segmentos del
rostro humano y su representación en un modelo 3D, aplicable a sistemas de video conferencia.
Autor: Patricio Inostroza
Un clone es la representación facial de una persona a través de un modelo tridimensional. Un clone
puede usarse, por ejmplo, en medios de comunicación (video
conferencia), juegos, mundos virtuales, etc. Como tal, es
deseable que este modelo pueda ser animado e idealmente proyecte,
en tiempo real, las expresiones del usuario al que representa. Si bien
existen trabajos que analizan y capturan las expresiones del rostro
humano, algunos requieres de marcadores sobre el rostro [1][2][3],
otros no son en tiempo real en [4][5][6][7], o bien limitan el rango de
expresiones posibles [8].
Se puede observar que, durante una conversación, el cambio facial
se limita a las zonas que rodean los ojos y la boca. El resto del
rostro tiene cambios menores que son poco interesantes al momento de una conversación con presencia de los usuarios. VideoClonees
una propuesta que estudia detectar, extraer y transmitir
sólo las áreas faciales que tienen cambios, con el fin de
reponerlas sobre un
modelo tridimesional (precalculado) del usuario. Esta propuesta
permitiría, por ejemplo, mantener un sistema de video
conferencia en medios con limitación de recursos.
Problemas Seguimiento de
pupilas Detección
de la boca
Rendering
Resultados Referencias
Problemas
La propuesta definida en VideoClone requiere determinar donde se
encuentra la zona que rodea los ojos y la zona cercana a la boca con una precisión aceptable visulamente.
Además, esta búsqueda debe ser realizada para un
medio de comunicación en directo, es decir, debe ser en tiempo real. Una vez que se han determinado las zonas de
interés, hay que extraerlas con el fin de realizar las correcciones
geométricas y de color que permitan plasmar dichas zonas en
el modelo tridimensional del usuario.
En resumen, los problemas que deben ser resuelto en VideoClone son:
-- Detección y seguimiento de los ojos (pupilas),
-- Detección y seguimiento de la boca,
-- Corrección geometricas y de color para realizar el
rendering.
Seguimiento de pupilas
Dado el objetivo que VideoClone apunta - desarrollar un sistema
de video conferencia - nacen algunas restricciones al momento de
determinar cuál sistema puede ser usado para la detección
y seguimientos de ojos (pupilas). Junto con tener que ser un sistema
que funcione en tiempo real, este no debe ser invasivo. Esto quiere
decir, que el sistema de detección no puede imponer el uso de
marcadores ni equipos que toquen la cara del usuario [9][10].
Los modelos de seguimientos de ojos o pupilas se han basado en el
color de la piel [11][12][13], en la geometría de la cara y ojos
[14][15], en el uso de redes neuronales [16][17]. Tambien hay quienes
usan hardware especial [18].
Un interesante modelo de seguimiento de pupilas, preciso y barato en
costo, es el propuesto por Morimoto [19]. Es este modelo el que se
estudió y adaptó a los requerimientos del presente
problema.
Ojos rojos
Son muchos los casos en que una fotografía tradicional de la cara de una persona aparece con ojos rojo. Este problema
es el resultado del reflejo de la luz de flash en la retina del ojo y,
su posterior retorno y captura por el lente de la camara. Los
fotografos saben del problema y por lo mismo alejan el flash con el fin
de evitar una fotografía sin ojos rojos. Se puede pensar,
entonces, en tomar dos fotos desde la misma posición y en el
mismo instante, donde una estaría iluminada con una luz que cree
el efecto de ojos rojos. Dado que ambas fotos tendrían
hipoteticamente el mismo contenido, donde lo único que lo
diferencia son dos puntos correspondiente a los ojos rojos, se
podría realizar la resta. Esta diferencia de imagenes
debería entregar como único resultado la posición
de las pupilas.
El modelo propuesto en [9] usa el principio de ojos rojos. Claro que
hay algunos cambios que aseguran una captura en tiempo real y sin las
molestias que causa el uso de una luz tan fuerte como la del flash.
Para esto, se usa luz infraroja lo que permite alumbrar los ojos del
usuario sin crear el cansancio de los ojo. Por otro lado, se escucha
la señal de video con el chip EL-1181C. Este chip permite
detectar cuando la camara de video está cambiando de trama para
a trama impar, lo que nos lleva al siguiente cambio. La captura con y
sin la iluminación a los ojos se realiza en una sola toma, donde
sólo una de las tramas de la imagen contiene el efecto de ojos
rojos.
Detección
de la boca
Conocida la posición de los ojos, la boca puede ser detectada
usando dos elementos de apoyo: triangulación y detección
de fosas nasales.
Triangulación
Dado que las pupilas han sido detectada, el extremo de triangulo
invertido con base en las pupilas, establece el punto de partida de la
detección del boca. Sin embargo, para el problema que se desea
resolver, no es necesario detectar fielmente la posición de la
boca. Lo que se requiere es determinar el area que rodea la boca.
Fosas nasales
Como se señaló, lo que interesa es detectar el contorno
que rodea la boca. La triangulación establecida en el punto
anterior permite iniciar la búsqueda de un elemento que permita
inicar la detección de esta zona: Las Fosa Nasales.
Las fosas nasales son el tercer punto con el cual se forma el triangulo
que nace desde la pupila de los ojos. A continuación, se inicia
la recuperación de la zona que está bajo las fosas
nasales.
Rendering
Detectadas la zona de interés en el video capturado es necesario
hacer la proyección sobre la modelo tridimensional del usuario.
Clone
Para el modelo tridimensional de usuario se usó uno
prestablecido. Este modelo cuenta con una malla geométrica
tridimensional y una textura. Sobre la textura se han definido las
zonas de proyección. Estas zonas de proyección son el
lugar, correspondiente a los ojos y la boca, donde se pondrán
las zonas de interés capturadas durante el seguimiento.
Proyección
Conocida la zona de interés y la zona de proyección, se
realiza la corrección geométrica de la zona capturada.
Para esto se usa una transformación geometrica simple, basada en
escalamiento y rotación.
Rendering
El modelo tridimesional y su textura han sido tratados para evitar
actualizar todo el contenido, siendo que sólo variaran las zonas
de proyección. Esta modificación consiste en separar el
modelo de las zonas de proyección.
Resultados
Referencias
[1] B. Guenter, C. Grimm, D. Wood, H. Malvar, and F. Pighin. “Making Faces”. SIGGRAPH 1998: 55-66, 1998.
[2]
I. Lin, J. Yeh, and M. Ouhyoung. Extracting 3D facial animation
parameters from multiview video clip. IEEE Computer Graphics and
Applications, vol. 22, No. 6, pp. 72-80, Nov., 2002.
[3] Lance Williams. Performance-Driven Facial Animation. In Computer Graphics (Proc. SIGGRAPH), pp. 235-242, 1990.
[4] P. Eisert and B. Girod. Analyzing Facial Expressions for
Virtual Conferencing. IEEE Computer Graphics & Applications:
Special Issue: Computer Animation for Virtual Humans, vol. 18, no. 5,
pp. 70-78, September 1998.
[5] M. Escher and N. Magnenat
Thalmann. Automatic 3D Cloning and Real-Time Animation of a Human Face.
Computer Animation '97, Geneva, Switzerland, 1997.
[6] T.
Otsuka, and J. Ohya. Extracting facial motion parameters by tracking
feature points. Proc. of 1st International Conference on Advanced
Multimedia Content Processing, pp. 442-453, November, 1998.
[7]
B. Takács, T. Fromherz, S. Tice, and D. Metaxas. Digital Clones and
Virtual Celebrities: Facial Tracking, Gesture Recognition and Animation
for the Movie Industry. International Workshop on Recognition,
Analysis, and Tracking of Faces and Gestures in Real-Time Systems,
Corfu, Greece, 1999.
[8]
I. Essa, S. Basu, T. Darrell, and A. Pentland. Modeling, Tracking, and
Interactive Animation of Faces and Heads Using Input from Video. In
Proceedings of Computer Animation '96. Geneva, Switzerland. 1996.
[9] F. Elisei and P. Inostroza. Video-Driven Real-Time Update of
Eyes and Mouth Regions on the Texture of a 3D Head Model. International
Workshop on Synthetic-Natural Hybrid Coding and Three Dimensional
Imaging (IWSNHC3DI'99), pp. 25-28, Santoran, 1999.
[10] W. H. Leung, B. L. Tseng, Z.-Y. Shae, F. Hendriks and T. Chen.
Realistic Video Avatar. IEEE Intl. Conf. on Multimedia and Expo., New
York, July 2000.
[11] J. Crowley and F. Berard. Multi-modal tracking of faces for video
communication. In Computer Vision and Pattern Recognition. Puerto Rico
June 1997.
[12] R. Schmidt, T. Emidio, and R. Marcondes. Detection and Tracking of
Facial Features in Video Sequences. In Advances in Artificial
Intelligence, Mexican International Conference on Artificial
Intelligence MICAI 2000, Proceedings. Lecture Notes in Computer
Science, vol. 1793. pp. 127-135, 2000.
[13] K. Schwerdt, and J. Crowley. Robust Face Tracking using Color. In
4th IEEE International Conference on Automatic Face and Gesture
Recognition, Grenoble, March 2000.
[14] S. Birchfield. An Elliptical Head Tracker. In Proceedings of the
31st Asilomar Conference on Signals, Systems, and Computers, Pacific
Grove, California, pages 1710-1714, November 1997.
[15] G. D. Hager and P. N. Belhumeur. Efficient Region Tracking With
Parametric Models of Geometry and Illumination. IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol 20, No 10. pp.
1025-1039, 1998.
http://citeseer.nj.nec.com/article/hager98efficient.html
[16] H. Hunke. Locating and tracking of human faces with neural networks. Master's thesis: University of Karlsruhe, 1994.
[17] H. Rowley, S. Baluja, and T. Kanade. Neural Network-Based Face
Detection. In IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 20, No 1, pp. 23-38, 1998.
http://citeseer.nj.nec.com/rowley96neural.html
[18] B. Scassellati. Eye finding via face detection for foveated,
active vision system. In Proceeding of the Fiftheenth National
Conference on Artificial Intelligence (AAAi-98), pp. 969-976, 1998.
[19] C. Morimoto, et al. Pupil Detection and Tracking Using Multiple
Light Sources. IBM Research Technical Report, RJ10117, 1998.
Fecha de la última modificación: 27 de Noviembre
de 2006.