利用Kinect SDK做Face Tracking(二)

本文深入探讨了使用Face Tracking SDK中的IFTModel类,它基于Candide3模型,通过11个Shape Units和6个Animation Units描述脸部形状和表情变化。IFTModel不直接保存模型,而是通过Get3DShape、GetTriangles和GetProjectedShape等函数提供变形后的脸部模型信息,可用于输出3D文件或投影到图像平面。文章还提到了投影点可能的遮挡问题及其在实际应用中的注意事项。
摘要由CSDN通过智能技术生成

在上一篇中,介绍了利用Face Tracking SDK来跟踪人脸的流程,并介绍了所涉及的四个类,其中IFTResult和IFTModel是用来查看跟踪结果的两个类。前者记录了脸部100个关键点的2D坐标,而后者则是用于将跟踪到的脸部由2D图像转换为摄像机空间中的3D网格。本篇主要就讨论一下IFTModel这个类。


IFTModel使用的是Candide3模型的一个子集,包括11个Shape Units和六个Animation Units。其中SU描述了脸部某些区域的形状,比如嘴、鼻子、眼睛的中点位置;而AU可以理解为描述了脸部肌肉的运动,换句话说,通过使用不同的AU参数,可以构造出不同的脸部表情。当所有的AU均为0时,就是所谓的neutral face完全无表情的脸部;如果同时所有的SU也均为0,则得到的就是标准的脸部模型。


MSDN中,详细描述了各个SU和AU所对应的脸部特征与脸部运动,这里不再赘述。


之前提到过IFTModel需要通过IFTFaceTracker::GetFaceModel创建,然后就可以在跟踪成功后读取模型的参数来查看模型。这里需要注意的一点,IFTModel本身并不保存真正的模型,而是通过SU和AU对标准的脸部模型进行变形,从而得到个人的脸部模型。所以在IFTModel中,提供的主要是Get类函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值