第6章非刚性人脸跟踪..doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章非刚性人脸跟踪.

:非刚性人脸跟踪 非刚性人脸跟踪,是视频流的每一帧的面部特征的准密度的估计,也是一个困难的问题,因为现代方法从很多相关领域借鉴了思想,相关领域包括:计算机视觉,计算几何学,机器学习,和图像处理。这里的非刚性涉及到面部特征在面部表情交叉式的变化的相关距离。并且区别于人脸检测和跟踪,人机检测和跟踪的目的仅是在每一帧图像中找到人脸的位置,而不是面部特征的结构。非刚性人脸跟踪是一个流行的研究热点,已经进行了20年之久,但是仅在不久之前,各种各样的方法开始变的足够的鲁棒性,并且处理足够快,这奠定了可能商业化应用的基础。 尽管商业级人脸跟踪可能高度复杂并且甚至对经验丰富的计算机视觉科学家提出了一个挑战。在这一章我们将看到一个人脸跟踪器,在约束的环境下运行的相当的好,该环境的设计使用了适中的数学工具和OpenCV大量的功能,例如线性代数,图像处理和可视化。这是特征的情况下,当被跟踪的人事先已知并且用图像作为训练数据,标记注释是可用的。今后描述的技术将作为一个有用的起点和进一步追求更复杂人脸跟踪系统的向导。 本章概要如下: 复习:这个部分涉及到简短的人脸跟踪历史。 有用的东西:这部分概述了本章使用的普通结构和规矩。它包括面向对象设计,数据存储和表示以及数据收集和注释的工具。 几何限制:这一部分描述表面几何和它的变化是如何从学习训练数据和在跟踪中如何利用来限制解决的。这涉及到把人脸模型作为一个线性形状模型和全面的转换是如何统一到它的表现的。 人脸特征检测器:这部分描述怎样学习面部特征的外观,以用来在将要跟踪的人脸图像中检测他们。 人脸检测和初始化:这一步讲述如何使用人脸建仓期来初始化跟踪过程。 人脸跟踪:这一部分通过图像队列的处理来组合先前描述的所有成分到一个跟踪系统。讨论了一个好的系统能够运行的环境。 下面的块状图表阐述了系统不同成分之间的关系: 注释: 注意本章使用的方法遵循一个数据驱动的范例,所用使用的模型都是从数据学得,而不是基于一定的规则环境而手工设计的。本身,系统的每个成分将要包含两个要素:训练和测试。训练是从数据中建立模型,测试将这些模型应用到未知的数据。 回顾: 非刚性人脸跟踪首先流行于的90年代中期,伴随着 Cootes 和 Taylor的ASM的出现。从那时起,大量的研究投身于解决基于ASM提出的原始方法的改进的类人脸跟踪的困难问题。 第一个里程碑是在2001年,Coote和Taylor将ASM扩展到AAM。这个方法后来被正式化了,虽然在世纪中叶Baker和学院进行了图像扭曲的原则性处理。沿着这些方向的另外一向工作是Blanz和Vetter进行的3DMM。不光模拟图像纹理,反对像ASM中的沿着轮廓的边缘,而且进一步通过使用从激光扫描人脸学习的高密度3D数据来表示模型。从中期到20世纪末,人脸跟踪研究的焦点从如何人脸参数化转向了如何跟踪算法任务的提出和最优化。 来至机器学习社区的各种各种的技术以不同的成功程度被应用到。自从世纪交替时,焦点再一次转移,这次转向了联合参数和目标设计策略,即保证全局的解决。 尽管不断的强烈的研究进入到人脸跟踪,然而相比较有很少的商业应用使用到它。尽管对于许多一般方法有许多可以免费利用源代码包,对嗜好者和热情者举起(发扬)仍然是一个滞后。尽管如此,在过去的两年,在公众领域的人脸跟踪的潜在使用兴趣的复兴,并且商业级的产品也开始出现。 有用的东西 在投入人脸跟踪这个复杂的事物之前,许多标记任务和约定通常所有的人脸跟踪方法必须首先被介绍。这部分剩下的是处理这些问题。一个感兴趣的读者可能希望首先跳过这个部分的阅读并且直接到几何限制部分。 面向对象设计 正如人脸检测和人脸识别,计划性地,人脸跟踪有两个要素组成:数据和算法。算法通常通过参考存储数据(即离线)作向导来对输入的数据(即在线)执行某中操作。例如,一个将算法和他们依靠的数据连接在一起的面向对象设计是一个方便的设计选择。 在OpenCV v2.x,一个方便的XML/YAML文件存储类被引进,极大的简化了为算法使用组织离线数据的任务。为了利用特征,本章描述的所有类将实现读、写序列化功能。用一个假象的类foo作为一个例子,如下: #include opencv2/opencv.hpp using namesapce cv; class foo { public: Mat a; type_b b; void write(FileStorgae fs) const {assert(fs.isOpened()); fs”{“”a”a”b”b”}”; void read(const FileNodenode) { assert(node.type()==FileNode::MAP); node[“a”]a,

文档评论(0)

fg67fd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档