首页 > 代码库 > Kinect驱动的人脸实时动画

Kinect驱动的人脸实时动画

最近几年,realtime的人脸动画开始风声水起,不少图形图像的研究者开始在这个领域不断的在顶级会议siggraph和期刊tog上面发文章。

随着kinect等廉价的三维数据采集设备的运用,以及其功能强大的人脸识别和动作识别的功能,极大的推动了人脸数据驱动电脑中3D模型

的表情表演和动作表演的可能。

下面是几个大牛的主页,其中有不少关于这方面的研究:

主要发起者:

li hao 在epfl的lgg实验室的研究工作:

http://lgg.epfl.ch/publications.php

目前其人在usc:

http://www.hao-li.com/Hao_Li/Hao_Li_-_about_me.html

然后他们还做出了比较成熟的软件:

http://www.faceshift.com/

国内的话,大牛 zhou kun也不做了不少相关的工作:

http://www.kunzhou.net/


此外 瑞士的迪斯尼研究中心以及传统的矩阵摄相三维人脸重建和动作捕捉的强者usc的一个实验室也有不少相关工作:

http://gl.ict.usc.edu/Research/HFFH/

http://www.disneyresearch.com/publications/


本人根据之前的几个blog的工作,然后整合试试变形的算法,也对实时人脸动画进行了尝试,具体步骤如下:


1.通过kinect保存人脸的三维数据为obj文件

2.启动网格显示模型,读取保存的kinect网格模型


3.显示每个顶点对应的标号


4.打开要驱动的obj模型

5.左键选择与上面顶点对应的坐标并且记录下来。(选中了的点会在模型中有红点标出,并且在命令行窗口输出对应的ID和坐标)

6.建立对应关系,即实时获得的kinect数据与需要驱动的顶点的对应关系

7.连接kinect,并且运用laplace或者poission变形方式,实时驱动模型变形,中间过程截图如下:



至此,kinect驱动三维模型实时变形的demo基本结束,这里还是非常初步的结果,后续可以通过参数化映射等实现自动的变形点匹配和变形驱动,当然也可以运用LOD等方式驱动更加丰富的人脸的动画,具体可以参考14年siggraph的paper,    http://www.iro.umontreal.ca/~derek/.

另外,也可以按照上面提到的几个大牛的方法,直接运用machine learning 的方式,学习几个基本的表情,然后驱动动画。这将是一件非常有趣的事情。