Kinect是微软在2010年推出的体感游戏设备,它能够获取较为精确的彩色和深度信息,并且提供了相应的软件开发工具包,在游戏娱乐、三维重建、人体动画等方面有了越来越多的应用。
微软官方SDK已经可以对人脸进行跟踪并生成人脸动画参数。具体的过程请参阅:
Ahlberg J O R. Candide-3-an updated parameterised face[J]. 2001.
3D Deformable Face Tracking with a Commodity Depth Camera.
Kinect的输出结果请看:https://msdn.microsoft.com/en-us/library/jj130970.aspx
虽然表情动作不是特别多,但是足够我们进行人脸动画合成了。
一、方法
就是用这些AU驱动人脸模型
二、实现
2.1 如何使用SDK?
请参见:http://blog.youkuaiyun.com/yangtrees/article/details/8702778
http://m.blog.youkuaiyun.com/blog/merryken/9925231
http://blog.youkuaiyun.com/guoming0000/article/details/8658580
http://www.codeproject.com/Articles/394975/How-To-Use-Kinect-Face-Tracking-SDK
主要就是2个循环:
2.2怎么驱动动画?
人脸模型用facegen modeller 生成。采用MPEG-4人脸动画标准。
具体的人脸动画合成方法可以采用xface实现 .http://xface.fbk.eu/
它本身提供了一个人脸模型,但是可以替换成我们自己的制作的模型。方法:http://xface.fbk.eu/documentation/creatingnewface.htm
替换后基本就可用,至于如何进行调整,这个完全看你的设置了。
当然这也只是多种方法中的一种,也有其他方法,比如用Maya。这个需要你自己去熟悉这些软件。我只是提出一种方法而已。