第6章 非刚性人脸跟踪
- 格式:doc
- 大小:1.84 MB
- 文档页数:35
基于Hausdorff跟踪器的人脸跟踪识别叶奇明;石世光【期刊名称】《信息技术》【年(卷),期】2013(000)008【摘要】Snake算法能够跟踪运动图像中对象的非刚性运动,但是对于背景复杂的图像,Snake跟踪的结果不够理想.因而在首帧分割得到对象轮廓的二值模型后,再采用基于Hausdorff距离的跟踪器,找到对象模型在后继帧中的最佳匹配位置;然后采用Snake模型对该匹配位置上的非刚性形变的像素进行匹配.实验表明:对于具有静止背景且前景对象不是快速运动的视频序列,与直接采用Snake技术进行运动对象的跟踪相比,该提取视频对象平面过程能够进一步提高结果的正确性.%Snake algorithm is capable of tracking moving object in image no rigid motion,but for images with complicated background,Snake tracking results are not ideal.Thus in the first frame segmentation object contour two value model,and then based on Hausdorr distance tracker,to find the object model in subsequent frames in the optimal position; then uses Snake model to the matching position of the nonrigid deformation pixel matching.The experimental results show that:in view of the static background and foreground object is not a fast motion in a video sequence,and directly adopts the Snake technology of moving object tracking in the extraction process,which can further improve the correctness of the results.【总页数】4页(P32-35)【作者】叶奇明;石世光【作者单位】广东石油化工学院理学院,广东茂名525000;电子科技大学中山学院计算机系,广东中山528403【正文语种】中文【中图分类】TP18【相关文献】1.基于CamShift改进算法的人脸跟踪识别系统 [J], 秦润泽;聂倩倩2.视频中实时多人脸跟踪器系统 [J], 徐显日3.基于人脸跟踪与识别的行人闯红灯取证系统的设计与实现 [J], 韦勇;万旭;徐海黎;沈标4.基于Hausdorff距离和改进ASM的人脸跟踪方法 [J], 刘爱平;周焰;关鑫璞5.基于Camshift算法的人脸跟踪识别系统的设计 [J], 王华; 李健; 丁县迎因版权原因,仅展示原文概要,查看原文内容请购买。
《基于OpenCV的人脸跟踪识别系统研究》篇一一、引言随着计算机视觉技术的不断发展,人脸跟踪识别系统在安全监控、人机交互、智能安防等领域得到了广泛应用。
OpenCV (开源计算机视觉库)作为计算机视觉领域的重要工具,为开发高效、准确的人脸跟踪识别系统提供了强大的支持。
本文将介绍基于OpenCV的人脸跟踪识别系统的研究,包括系统架构、算法原理、实验结果及分析等方面。
二、系统架构基于OpenCV的人脸跟踪识别系统主要包括以下几个模块:人脸检测、人脸特征提取、人脸跟踪及结果输出。
其中,人脸检测模块负责从视频流或图像中检测出人脸;人脸特征提取模块负责对检测到的人脸进行特征提取;人脸跟踪模块则根据提取的特征信息实现人脸的实时跟踪;结果输出模块将跟踪结果以可视化形式呈现。
三、算法原理1. 人脸检测算法人脸检测是人脸跟踪识别的第一步,其目的是从视频流或图像中检测出人脸。
OpenCV提供了多种人脸检测算法,如Haar特征级联分类器、DNN(深度神经网络)等。
其中,Haar特征级联分类器具有较高的检测速度,而DNN则具有较高的检测准确率。
在实际应用中,可根据需求选择合适的人脸检测算法。
2. 人脸特征提取算法人脸特征提取是识别不同人脸的关键步骤,其目的是从人脸图像中提取出有效的特征信息。
OpenCV支持多种特征提取算法,如HOG(方向梯度直方图)、LBP(局部二值模式)等。
这些算法可以提取出人脸的形状、纹理等特征信息,为后续的人脸跟踪提供依据。
3. 人脸跟踪算法人脸跟踪算法是实现人脸实时跟踪的关键,其目的是在视频流中实时定位人脸的位置。
OpenCV提供了多种人脸跟踪算法,如光流法、MeanShift算法、KCF(核化相关滤波)等。
其中,KCF算法具有较高的跟踪速度和准确率,被广泛应用于实时人脸跟踪。
四、实验结果及分析为了验证基于OpenCV的人脸跟踪识别系统的性能,我们进行了大量的实验。
实验结果表明,该系统具有较高的检测速度和准确率,能够实时地检测和跟踪人脸。
专利名称:人脸跟踪方法及装置专利类型:发明专利
发明人:鲍一平,何琦,俞刚
申请号:CN201811202488.0申请日:20181016
公开号:CN109344789A
公开日:
20190215
专利内容由知识产权出版社提供
摘要:本发明涉及人脸跟踪技术领域,提供一种人脸跟踪方法及装置。
其中,人脸跟踪方法包括:对图像帧序列中的当前帧进行人脸检测,获得至少一个第一人脸框以及每个第一人脸框的置信度;基于图像帧序列中的上一帧在人脸跟踪后获得的至少一个第二人脸框与每个第一人脸框的位置关系更新每个第一人脸框的置信度;基于更新后的置信度对至少一个第一人脸框进行筛选,利用筛选出的第一人脸框进行人脸跟踪。
该方法有效利用了帧间信息来修正第一人脸框的置信度,可以使获得的置信度更为准确地反映第一人脸框中是否存在人脸,相当于提高了人脸检测的精度,进而能够改善后续的人脸跟踪的效果。
申请人:北京旷视科技有限公司
地址:100000 北京市海淀区科学院南路2号A座313
国籍:CN
代理机构:北京超凡志成知识产权代理事务所(普通合伙)
代理人:邓超
更多信息请下载全文后查看。
基于SVM与Mean-Shift的非刚性目标跟踪框架侯一民;伦向敏【期刊名称】《系统工程与电子技术》【年(卷),期】2009(031)009【摘要】针对动态背景下,序列图像中的非刚性目标跟踪问题,提出了一种基于支持向量机(support vector machine,SVM)和均值移动(Mcan-Shift)的序列图像目标跟踪框架.在初始图像中选择跟踪目标所处的矩形框,将目标框周围一定范围的像素作为背景.以目标和背景数据训练SVM二值分类器.运用得到的分类器对下一帧图像相同区域内的像素分类,得到二值的置信图(confidence map),在置信图范围内运用Mean-Shift算法求得当前目标位置,移动目标框和背景框的中心到目标位置,以10%的比例缩放目标框并选择最优者以适应目标尺度变化.以此时的目标像素和背景像素训练新的SVM分类器,进行下一幅图像的跟踪,直至完成整个序列图像跟踪任务.实验证明,该方法适用于动态背景及非刚性目标的跟踪,且实时性较好.【总页数】5页(P2266-2270)【作者】侯一民;伦向敏【作者单位】东北电力大学自动化工程学院,吉林,吉林,132012;东北电力大学自动化工程学院,吉林,吉林,132012【正文语种】中文【中图分类】TP391【相关文献】1.基于改进的均值漂移算法的非刚性目标跟踪 [J], 赵瑶;常发亮;郝洪霆2.基于模板修正的非刚性目标跟踪算法 [J], 李德亮;林家骏3.基于颜色直方图匹配的非刚性目标跟踪算法 [J], 马丽;常发亮;郭立智4.基于Hough模型和分割模型的非刚性目标跟踪 [J], 王宣;居波;宋悦铭5.基于遗传算法和粒子滤波器的非刚性目标跟踪 [J], 马丽;常发亮;乔谊正因版权原因,仅展示原文概要,查看原文内容请购买。
一种快速人脸跟踪算法的研究
张杨;叶舒帆;高立群
【期刊名称】《东北大学学报(自然科学版)》
【年(卷),期】2010(031)008
【摘要】提出了一种新的在连续运动场景中人脸的检测和跟踪方法.首先采取FloatBoost算法检测人脸,以提高检测速度和精度,然后运用运动学原理及运动估计的思想,利用时间序列分析中移动平均法和指数平滑法预测下一帧图像中跟踪目标的运动位置区域,以减少图像搜索区域,降低处理资源的消耗,达到实时跟踪的效果.仿真实验中,利用MATLAB进行人脸的检测、跟踪实验,并运用本文算法与
FSA,CPME算法对跟踪目标物体的时间进行了对比实验.实验结果表明,本文所提出的方法具有良好的实时性和准确性.
【总页数】4页(P1082-1085)
【作者】张杨;叶舒帆;高立群
【作者单位】东北大学,信息科学与工程学院,辽宁,沈阳,110004;东北大学,资源与土木工程学院,辽宁,沈阳,110004;东北大学,信息科学与工程学院,辽宁,沈阳,110004【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.一种快速人脸目标检测和跟踪算法 [J], 许芬;田兴旺
2.一种快速多人脸跟踪算法 [J], 张涛;蔡灿辉
3.一种多人脸跟踪算法的研究与实现 [J], 周德华;毛敏峰;徐浩
4.一种面向一维图象序列的目标检测和快速跟踪算法的研究 [J], 吴平川;路同浚;孟宪超;王炎
5.一种基于切换模型的快速机动目标跟踪算法研究 [J], 徐本连;王执铨
因版权原因,仅展示原文概要,查看原文内容请购买。
基于深度学习辅助的动态人脸跟踪方法潘今一;王钦;王伟;王亚蒙;刘建烽【期刊名称】《浙江工业大学学报》【年(卷),期】2018(046)005【摘要】动态人脸跟踪过程中,现有的跟踪算法存在快速运动、遮挡和频繁进出摄像机视野下无法及时判定跟踪漂移导致跟踪失败,而目标再出现时作为新的目标进行跟踪.针对以上难题,提出一种融合跟踪校验和深度学习识别辅助的动态人脸跟踪算法(Kernelized correlation filter with verifi-cation and recognition,KCFVR).跟踪算法核心是结合核相关滤波框架,通过跟踪校验算法判定人脸目标是否跟踪漂移导致跟踪失败;在目标重新出现时,结合深度学习网络识别辅助方法判定是否为新目标.实验结果表明:跟踪校验算法及时减少跟踪误差积累,识别辅助算法在跟踪成功率及识别精度上,都取得较优的实验结果,实现同一人脸目标的实时、持续跟踪.【总页数】6页(P481-486)【作者】潘今一;王钦;王伟;王亚蒙;刘建烽【作者单位】浙江工业大学信息工程学院 ,浙江杭州 310023;浙江工业大学信息工程学院 ,浙江杭州 310023;浙江工业大学信息工程学院 ,浙江杭州 310023;浙江工业大学信息工程学院 ,浙江杭州 310023;浙江工业大学信息工程学院 ,浙江杭州 310023【正文语种】中文【中图分类】TP391【相关文献】1.一种复杂环境下的动态多人脸自动检测与实时跟踪方法 [J], 樊慧慧;王金海2.动态图像中人脸的快速捕捉跟踪方法 [J], 江琦;李谊;李文辉;王铎3.基于深度学习的动态人脸识别方法 [J], 何元烈; 刘峰; 孙盛4.基于模板匹配的人脸识别跟踪方法研究 [J], 戴志远;闫克丁;杨树蔚;刘咏梅;李露5.基于轻量级深度网络的动态人脸跟踪方法 [J], 马原东;罗子江;徐斌;崔潇;杨鑫;杨秀璋因版权原因,仅展示原文概要,查看原文内容请购买。
利用颜色的非刚性物体跟踪方法KatjaNummiaro;EstherKoller-Meier;LucVanGool【期刊名称】《自动化学报》【年(卷),期】2003(029)003【摘要】提出了一个利用颜色特征实时跟踪非刚性物体的方法.首先,建立了一个颜色分布模型,该模型对部分遮挡具鲁棒性,对放缩和旋转具不变性,且计算简单.对非刚体物体的实时鲁棒跟踪是一个非常有挑战性的课题,本文提出了利用颜色特征实时跟踪非刚体物体的方法.首先,建立了一个颜色分布模型,该模型对部分遮挡具有鲁棒性,对放缩具有不变性,而且计算简单.然后,采用粒子滤波的方法将颜色分布模型集成到一个动态状态估计的概率框架中.为了处理光照变化等引起的外貌变化,进一步引入自适应模型更新过程.同时,本文还讨论了初始化策略用以处理跟踪物体的消失或消失后再出现的情况.%Robust real-time tracking of non-rigid objects is a challenging task. Color distributions provide an efficient feature for this kind of tracking problems as they are robust to partial occlusion, are rotation and scale invariant and computationally efficient. This article presents the integration of color distributions into particle filtering, which has typically been used in combination with edge-based image features. Particle filters offer a probabilistic framework for dynamic state estimation and have proven to work well in cases of clutter and occlusion. To overcome the problem of appearance changes, an adaptive model update is introduced during temporally stable image observations. Furthermore,an initialization strategy is discussed since tracked objects may disappear and reappear.【总页数】11页(P345-355)【作者】KatjaNummiaro;EstherKoller-Meier;LucVanGool【作者单位】Katholieke Universiteit Leuven, ESAT/PSI-VISICS, Kasteelpark Arenberg 10, 3001 Heverlee, 比利时;Swiss Federal Institute of Technology (ETH), D-ITET/BIWI, Gloriastrasse 35, 8092 Zurich, 瑞士;Katholieke Universiteit Leuven, ESAT/PSI-VISICS, Kasteelpark Arenberg 10, 3001 Heverlee, 比利时;Swiss Federal Institute of Technology (ETH), D-ITET/BIWI, Gloriastrasse 35, 8092 Zurich, 瑞士【正文语种】中文【中图分类】TP391.41【相关文献】1.基于图像序列的非刚性物体运动形变程度估计方法 [J], 汪亚明;郑俊褒;王玉平;石信增;王芳2.基于颜色的粒子滤波非刚性目标实时跟踪算法 [J], 李静;陈兆乾3.多约束非刚性物体形变修复算法 [J], 白佳璐;蔺素珍;左健宏;钟家让4.基于图像非刚性匹配的物体空间转角检测方法 [J], 王宇佳;杨静5.基于单目视觉的非刚性物体动态三维重建综述 [J], 施云飞; 张元月; 许安宁; 徐柳因版权原因,仅展示原文概要,查看原文内容请购买。
非约束环境下人脸特征点的稳定跟踪
郭修宵;陈莹
【期刊名称】《计算机辅助设计与图形学学报》
【年(卷),期】2014(026)007
【摘要】为了对人脸特征点进行精确地跟踪,提出一种在线参考表观模型(ORAM)的算法.首先在原主动表观模型(AAM)中加入在线更新的参考模型;然后采用子空间在线自更新机制,利用增量学习方法在线更新AAM的纹理模型和参考模型;在此基础上,基于同步反向合成建立ORAM的特征点拟合算法.为减少跟踪过程产生的累积误差,利用初始稳定跟踪结果建立纹理子空间重置机制,完成人脸特征点跟踪.实验结果表明,ORAM算法无需训练集,在姿态、表情、光照变化的环境下,能够准确、快速地完成人脸跟踪.
【总页数】8页(P1135-1142)
【作者】郭修宵;陈莹
【作者单位】江南大学轻工过程先进控制教育部重点实验室无锡214122;江南大学轻工过程先进控制教育部重点实验室无锡214122;上海交通大学系统控制与信息处理教育部重点实验室上海200240
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于条件迭代更新随机森林的非约束人脸特征点精确定位 [J], 刘袁缘;谢忠;周顺平;刘郑;王伟明;刘秀平;饶伟
2.纹理约束下的人脸特征点跟踪 [J], 宋刚;艾海舟;徐光祐
3.基于模型约束的人脸特征点跟踪 [J], 赵恩环;杜玲
4.非约束环境下人脸识别技术的研究 [J], 汤一平; 严海东
5.非约束环境下基于YOLOv3-Tiny多模型融合方式的快速人脸定位算法 [J], 万秋波;屈金山;朱泽群
因版权原因,仅展示原文概要,查看原文内容请购买。
视频中的人脸检测定位与跟踪识别华见华见 张祥张祥张祥 龚小彪龚小彪龚小彪(西南交通大学信息科学与技术学院,四川 成都成都 610031 610031 610031))摘要人脸检测定位跟踪作为生物特征识别的一项重要技术,其应用相当广泛。
人脸检测定位跟踪的方法有很多,为了实现视频中彩色图像人脸的精确定位,本文采用了一种基于肤色模型、肤色分割处理的人脸定位算法。
肤色分割处理的人脸定位算法。
通过建立肤色模型,通过建立肤色模型,通过建立肤色模型,经自适应阈值的二值化处理后,经自适应阈值的二值化处理后,经自适应阈值的二值化处理后,再进行再进行肤色分割,肤色分割,将非人脸区域去除;将非人脸区域去除;将非人脸区域去除;最终利用眼睛特征定位人脸。
最终利用眼睛特征定位人脸。
最终利用眼睛特征定位人脸。
实验结果表明,实验结果表明,该算法对于复杂背景下的彩色图像中的人脸正面定位和人脸转动一定角度后定位都有较好效果。
杂背景下的彩色图像中的人脸正面定位和人脸转动一定角度后定位都有较好效果。
关键字:人脸检测跟踪;人脸检测跟踪; 肤色建模;肤色建模; 二值化;二值化;Face Detection And Tracking Identification In The Video HuaJian Zhang Xiang Gong Xiaobiao (School of Information Science & Technology, Southwest Jiaotong University, Chengdu, 610031, China )AbstractFace Face detection detection detection positioning positioning and and tracking tracking tracking as as as a a a biological biological biological feature feature feature recognition recognition recognition is is is an an an important important technique, it is widely used in many aspects. In this article, in order to localize the human face in color color images captured images captured from from the the the video video video accurately, accurately, accurately, a a a human human human face face face localization localization localization algorithm algorithm algorithm based based based on on skin module and skin color segmentation was presented. Firstly, we build the skin module. Then, the the non-face non-face non-face region region region was was was removed removed removed in in in color color color image image image after after after binary binary binary image image image processing processing processing with with with adaptive adaptive threshold and the skin color segmentation. And finally the human face was localized by using the characteristic the eyes Experiments show that the algorithm is effective to localize the human front face and the face after turning an angle in color images under complex background. key words: face detection and tracking; skin module; enbinary 目录第1章绪论 ...................................................................................................................... 3 1.1 1.1 课题研究背景与意义课题研究背景与意义 (3)1.2 1.2 国内外研究状况国内外研究状况 (4)1.3 1.3 人脸检测与跟踪的难点人脸检测与跟踪的难点 (4)1.4 1.4 主要研究内容及章节安排主要研究内容及章节安排 (5)第2章人脸检测和跟踪的主要方法 (6)2.1 2.1 人脸检测的方法人脸检测的方法 (6)2.2 2.2 基于肤色的检测方法基于肤色的检测方法 (7)2.2.1 RGB 模型模型.................................................................................................. 7 2.2.2 YCbCr(YUV)2.2.2 YCbCr(YUV)格式格式 (8)2.2.3 HSV 2.2.3 HSV(色调(色调(色调//饱和度饱和度//强度)模型强度)模型................................................................ 8 2.3 2.3 基于启发式模型的方法基于启发式模型的方法 (9)2.3.1 2.3.1 基于知识的方法基于知识的方法......................................................................................10 2.3.2 2.3.2 基于局部特征的方法基于局部特征的方法...............................................................................10 2.3.3 2.3.3 基于模板的方法基于模板的方法......................................................................................10 2.3.4 2.3.4 基于统计模型方法基于统计模型方法 .................................................................................. 11 2.4 2.4 人脸跟踪的方法人脸跟踪的方法 ................................................................................................ 11 2.4.1 2.4.1 基于特征检测方法的人脸跟踪基于特征检测方法的人脸跟踪.................................................................12 2.4.2 2.4.2 基于模型的人脸跟踪基于模型的人脸跟踪...............................................................................12 2.5 2.5 本章小结本章小结...........................................................................................................14 第3章基于肤色模型的单图片人脸检测 ...........................................................................15 3.1 3.1 基于肤色的人脸定位基于肤色的人脸定位 .........................................................................................15 3.2 RGB 到YCrCb 色彩模型的转换色彩模型的转换............................................................................15 3.3 3.3 人脸肤色模型和二值化人脸肤色模型和二值化......................................................................................16 3.4 3.4 后处理后处理 ..............................................................................................................19 3.5 3.5 人脸定位人脸定位...........................................................................................................19 3.6 3.6 本章小结本章小结...........................................................................................................20 第4章基于肤色模型视频中的人脸检测 ...........................................................................21 4.1算法流程 ...........................................................................................................21 4.2 4.2 图像差分——运动目标提取图像差分——运动目标提取图像差分——运动目标提取.............................................................................21 4.3 4.3 模型建立和光补偿模型建立和光补偿.............................................................................................22 4.4 4.4 眼部特征检测眼部特征检测....................................................................................................24 4.5 4.5 本章小结本章小结...........................................................................................................25 第5章 总结 ...................................................................................................................25 参考文献.........................................................................................................................26 第1章绪论1.1 课题研究背景与意义近年来,随着计算机技术和数字信号处理技术的迅猛发展,人们用摄像机获取环境图像并将其转换成数字信号,且利用计算机实现对视觉信息处理的全过程,这就是计算机视觉技术的起源。
第六章:非刚性人脸跟踪非刚性人脸跟踪,是视频流的每一帧的面部特征的准密度的估计,也是一个困难的问题,因为现代方法从很多相关领域借鉴了思想,相关领域包括:计算机视觉,计算几何学,机器学习,和图像处理。
这里的非刚性涉及到面部特征在面部表情交叉式的变化的相关距离。
并且区别于人脸检测和跟踪,人机检测和跟踪的目的仅是在每一帧图像中找到人脸的位置,而不是面部特征的结构。
非刚性人脸跟踪是一个流行的研究热点,已经进行了20年之久,但是仅在不久之前,各种各样的方法开始变的足够的鲁棒性,并且处理足够快,这奠定了可能商业化应用的基础。
尽管商业级人脸跟踪可能高度复杂并且甚至对经验丰富的计算机视觉科学家提出了一个挑战。
在这一章我们将看到一个人脸跟踪器,在约束的环境下运行的相当的好,该环境的设计使用了适中的数学工具和OpenCV大量的功能,例如线性代数,图像处理和可视化。
这是特征的情况下,当被跟踪的人事先已知并且用图像作为训练数据,标记注释是可用的。
今后描述的技术将作为一个有用的起点和进一步追求更复杂人脸跟踪系统的向导。
本章概要如下:1、复习:这个部分涉及到简短的人脸跟踪历史。
2、有用的东西:这部分概述了本章使用的普通结构和规矩。
它包括面向对象设计,数据存储和表示以及数据收集和注释的工具。
3、几何限制:这一部分描述表面几何和它的变化是如何从学习训练数据和在跟踪中如何利用来限制解决的。
这涉及到把人脸模型作为一个线性形状模型和全面的转换是如何统一到它的表现的。
4、人脸特征检测器:这部分描述怎样学习面部特征的外观,以用来在将要跟踪的人脸图像中检测他们。
5、人脸检测和初始化:这一步讲述如何使用人脸建仓期来初始化跟踪过程。
6、人脸跟踪:这一部分通过图像队列的处理来组合先前描述的所有成分到一个跟踪系统。
讨论了一个好的系统能够运行的环境。
下面的块状图表阐述了系统不同成分之间的关系:注释:注意本章使用的方法遵循一个数据驱动的范例,所用使用的模型都是从数据学得,而不是基于一定的规则环境而手工设计的。
本身,系统的每个成分将要包含两个要素:训练和测试。
训练是从数据中建立模型,测试将这些模型应用到未知的数据。
回顾:非刚性人脸跟踪首先流行于的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 FileNode&node){assert(node.type()==FileNode::MAP);node[“a”]>>a,node[“b”]>>b;}};这里,Mat是OpenCV的矩阵类,type_b是一个用户定义的类,对它同样定义了序列化的功能。
I/O函数read和writer现实序列化。
FileStorage类支持两个类型数据结构的序列化。
为了简化,本章所有的类将只利用映射,即每一个存储变量创造一个类型为FileNode::Map类型的FileNode对象。
这里需要唯一的键分配到每一个元素。
尽管这个键的选择是随意的,因为前后一致,我们将使用变量的名字作为标签。
像先前阐述的代码小片段,read和write 功能呈现一个特别简单的形式,通过使用流操作符(<<and >>)来插入数据到FileStorage对象和从FileStorage对象中提取数据。
大部分OpenCV类有read和write功能的实现,允许他们轻松的处理包含的存储的数据。
除定义序列化功能之外,我们还必须在FileStorage类中为序列化定义两个附加的功能来工作,如下:void writer(FileStorage &fs,const string &,const foo&x){x.wirter(fs);}void read(const FileNode &node,foo& x,const foo&default){if(node.empty()) x=d;else x.read(node);}同时本部分描述的所有类中,这两个函数的功能是保持一样的,他们模版化和定义在ft.hpp 头文件内,可以在附属于本章的源代码中找到。
最后,为了简单地保存和导入用户定义的类,利用序列化功能,模版化的函数同样在头文件中实现,如下:template<class T> T load_ft(const char *fname){T x;FileStorage f(fname,FileStorage::READ);f[“ft object”]>>x,f.release();return x;}template<class T> void save_ft(const char *fname,const T&x){FileStorage f(fname,FileStorage::WRITE);f<<”ft object”<<x;f.release();}注意和对象一起的标签总是一样的(即,ft object)。
采用这些定义的函数,保存和导入对象数据是一个轻松的过程。
通过下面的例子展示:#include “opencv_hotshots/ft/ft.hpp”#incldue “foo.hpp”int main(){.....foo A;save_ft<foo>(“fool.xml”,A);foo B=load_ft<foo>(“foo.xml”);....}注意.xm扩展名表示采用XML_格式化数据文件,对于任何其他的扩展名默认采用YAML 格式。
数据收集:图像和视频的注释现在的人脸跟踪技术几乎完全是数据驱动的,即,算法通常依靠人脸面部特征外观和从一系列例子得到的他们的相对位置的几何依赖性形成的模型,来检测图像中面部特征的位置。
更大的样本集,算法表现更好的鲁棒性,因为他们能够更好的意识到人脸可以表现的变化性的全局性。
因此,建立人脸跟踪算法的第一步是创建一个图像/视频注释工具,用户可以通过该工具指定每一个样本图像中希望得到的面部特征的位置。
训练数据类型用来训练人脸跟踪算法的数据一般由四个成分组成:1、图像:这个成分是一个包含全部人脸的图像集(静的图像或者视频帧)。
为了得到最好的效果,这个集应当详细说明环境的类型(即,统一性,光照,到相机的距离,捕捉设备,以及其他),跟踪器过会在该环境中展开进行。
集合中的人脸呈现我们应用所期望的头部姿势和面部表情也是重要的。
2、注释:这个成分调整每一个图像的手动标记,以使相应的每一个人脸特征被跟踪。
更多的人脸特征经常导致更好的鲁棒性的跟踪器,因为跟踪算法可以是使用这些度量来加固彼此。
普通的跟踪算法在计算上的花费典型地与人脸特征的数量成线性关系。
3、对称目录:这个成分有每个面部特征点的索引,这个成分定义了它的双边地对称特征。
这可以用来镜像训练图像,有效的双倍训练集大小和使数据沿着y轴对称。
4、连通性目录:这个成分包含一个注释对的索引集,用来定义面部特征的语义的解释。
这些连接多可视化跟踪结果是有用的。
下面的图像是四个成分可视化的一个展示,从左到右分别是,原始图像,面部特征注释,彩色编码双边对称点,镜像图像,和注释和人脸特征联通。
为了更方便地使用这些数据,用一个类来实现存储和访问的功能是非常有用的。
OpenCV的ml模块中的CvMLData类处理一般数据的功能,通常用于机器学习问题。
然而,它缺少访问人脸跟踪数据的功能。
同样地,在这章,我们将使用ft_data类,该类声明在ft_data.hpp 头文件中,专门为记住人脸跟踪数据的特性而设计的。
所有的数据成员定义为类的public 成员,如下:class ft_data{public:vector<int> symmetry;vector<Vec2i> connections;vector<string> imnames;vector<vector<Point2f> > points;…}Vec2i和Point2f类型是OpenCV的类,分别为两个整形的容器和2D浮点型坐标。
对称的容器拥有和人脸特征点(同样地是用户定义)一样多的成分。
每一个connections定义为连通的面部表情的基于0的索引对(以0开始)。