人脸动画在近些年来一直是图形学界的研究热点,随着Apple 推出最新的IphoneX,把人脸扫描和动画相关技术商业化,此类技术在将来会有越来越多的产品落地。此次Siggraph Asia也有不少相关的论文,为我们展示了学术界的最新进展。
1 通过单张图片生成3d模型以及纹理贴图
如下图,左边是一张用户的照片,右边是他的3D模型,包括头部模型和发型,用户可以在计算机中从各个角度去观察,也可以在摄像头前做各种表情来驱动这个虚拟角色。
下面是论文实现的总体框架,首先会根据输入图片找到脸部区域以及头发区域,然后分别处理。对于脸部区域,分析人脸特征,根据已有的人脸模型库以及机器学习算法,生成人脸模型以及对应贴图,然后为了动画驱动,加上人脸的骨骼绑定系统。对于头发部分,会分析发型的特征,比如亮度,颜色,透明度等等,来匹配数据库中的头发模型,也是利用机器学习算法,找出匹配的发型。由于发型由于外界变化,比如风水,头部甩动等等,这些和普通姿态下的发型不太一样,因此还会对上一步的结果加一些变形。
下图是他们生成头发3D模型的实现:
论文:
http://www.hao-li.com/publications/papers/siggraphAsia2017ADFSIFRTR.pdf
Demo:
https://www.youtube.com/watch?v=dERjpAaoNjk
2 面部捕捉在VR中的应用
VR现在是应用的热点,为了在VR中双方可以互动,在用户即使戴上头盔脸部被遮挡的情况下,也需要能捕获得到用户的表情用来交互。为了解决这个问题,采用了两个方法,如下第一张图加了个kinect,用于捕捉用户的面部表情,第二张图在VR设备中加入了摄像机和LED灯,用于捕捉用户的眼部动画。
3 高真实感的解决方案
上面的技术主要是针对普通用户的。Hao Li的研究团队也做了更加真实的解决方案,比如他们做了一个假的特朗普演讲视频,下图左边是真实的,右边是虚拟的,具体可见今年的Siggraph论文。
4 人脸合成
人脸合成指的是利用已有人脸数据库合成新的人脸,比如下面这篇论文(将来发表)模拟人脸的衰老过程,得到不同的人脸。
论文:
http://research.nvidia.com/sites/default/files/publications/karras2017gan-paper.pdf
Demo:
https://www.youtube.com/watch?v=XOxxPcy5Gr4
5 根据扫描数据,自动还原人脸3D模型
当给人脸扫描建模时,扫描获取的通常都是点云,需要美术手工布线并对模型的位置修改,因此提出了很多自动化的方法用于减少手工操作。该论文通过把人脸模型参数化,具体来说,一个带有表情的模型可以分解成如下分量,通用脸部模型的模板,不同的人在此基础上的长相,不同的姿态(摇头,抬头等),不同的情绪表达(哭,笑等等),然后通过已有的人脸库和机器学习算法获得这些分量,从而自动获取相对应的扫描人脸数据的3D模型。
论文:
http://www.hao-li.com/publications/papers/siggraphAsia2017LMFSEFS.pdf
Demo:
https://www.youtube.com/watch?v=36rPTkhiJTM
6 实时3D眼皮跟踪
该论文根据摄像头人脸的动画,实时追踪眼皮的变化,驱动3D模型的眼皮动画。
下图是具体实现的基本框架,首先是预处理,根据若干眼睛的图片,手工标注眼睛的特征,比如上眼皮,下眼皮,根据深度学习算法实时检测这些特征的位置。随后,找到2D输入图片的landmarks对应的3D几何点,然后根据美术预先制作的眼皮的若干个动作基本模型(blendshape),算出每个基本模型(blendshape)的权重,从而在3D空间中合成当前眼皮模型的形态。
动画:
http://feng-xu.com/papers/eyelid_SA17.pdf
Demo:
https://www.youtube.com/watch?v=deaNukO_T_o
END