首页 > 代码库 > 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 的方式,学习几个主要的表情。然后驱动动画。这将是一件很有趣的事情。

Kinect驱动的人脸实时动画