




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全套设计加扣 3012250582本 科 生 毕 业 论 文题目 一种基于随机森林的实时人脸关键点定位实现 姓 名 学 号 指导教师 专 业 数字媒体技术 学 院 计算机学院 A Dissertation Submitted to Zhejiang University for the Degree of Bachelor of EngineeringTITLE: Real-time Facial Landmark Localization Based On Random Forest Author: Supervisor: 3110102800 Major: Digital Media College: Submitted Date: 06/03/2015 浙江大学本科生毕业论文(设计)诚信承诺书 1.本人郑重地承诺所呈交的毕业论文(设计),是在指导教师的指导下严格按照学校和学院有关规定完成的。2.本人在毕业论文(设计)中引用他人的观点和参考资料均加以注释和说明。3. 本人承诺在毕业论文(设计)选题和研究内容过程中没有抄袭他人研究成果和伪造相关数据等行为。4. 在毕业论文(设计)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。 毕业论文(设计)作者签名: 年 月 日全套设计加扣 3012250582摘要人的面部能够展现非常多的信息,范围非常广阔,通过对脸部一系列操作,可以进行包括身份识别到心理状态的理解(如情绪识别)等,而面部特征点检测作为人脸操作的中间步骤,起到了及其重要的作用。人脸中具有区分性的特征点被称为人脸特征点,比如眼角、嘴角等。在概念上,定位特征点非常的简单,但是在实际中,由于综合的因素比如姿态、表情、遮挡、光照以及人脸的变化,这对于计算机视觉来说是极具挑战性的。关键词人脸特征点定位,主动形状模型,随机森林,局部二值特征,局部性原理全套设计加扣 3012250582I浙江大学计算机科学与技术学院本科毕业论文 AbstractAbstractHuman face could bring a lot of information, covers many fields. Through a series operations for face, We can get important information from identification to the psychological understanding such as emotional recognition, as the intermediate step of face operation, facial landmark localization plays an important role. Distinguish Points on face called Facial landmark, such as canthus and mouth corners, etc. It is very simple and easy to localize these feature points in concept, but due to the comprehensive factors such as head posture, facial expression, shade, illumination and the variety of human face, it is a challenge for computer vision in practice.KeywordsFacial landmark localization, Active Shape Model(ASM), Random Forest, Local Binary Feature(LBF), locality principleII浙江大学计算机科学与技术学院本科毕业论文 目录目录摘要IAbstractII第1章 绪论61.1 课题背景61.2 人脸特征定位点研究现状71.3 人脸特征点定位主要技术91.3.1 基于先验信息91.3.2 基于几何形状91.3.3 基于色彩信息101.3.4 基于外观信息101.4 本文研究目标和内容101.4.1 本文研究目标101.4.2 本文研究内容111.5 本文结构安排11第2章 文献综述132.1 背景介绍132.2 人脸关键点定位综述132.2.1 基于结构的可变形模式(Component based Deformable Mode)132.2.2 级联可变形状模型(Cascade Deformable Shape model)142.2.3 约束的局部神经场模型(Constrained Local Neural Field model, CLNF)152.2.4 深度卷积网络级联(Deep Convolutional Network Cascade)152.2.5 粗至精的卷积网络级联(Coarse-to-fine Convolutional Network Cascade)162.2.6 显式形状回归(Explicit Shape Regression)172.2.7 约束的局部模型(Constrained local models, CLM)172.2.8 参数化的内核主成分分析(Parameterized Kernel Principal Component Analysis, PKPCA)182.2.9 树状模型(Tree-structured models)192.3 本章小结19第3章 研究方案203.1 人脸检测203.1.1 Boosting算法203.1.2 Adaboosts算法203.1.3 Adaboost级联分类器213.1.4 人脸检测过程223.2 基于随机森林的人脸特征点定位算法243.2.1 回归局部二值特征263.2.2 全局线性回归293.2.3 搜索算法293.2.4 局部性原理303.3 人脸定位系统框架323.3.1 快速人脸特征点定位系统的工作流程323.3.2 界面设计33第4章 实验结果344.1 快速人脸关键点定位系统344.1.1 实验环境344.1.2 系统界面344.2 实验数据集354.3 实验结果384.3.1 LBF特征的人脸定位在不同数据集上的结果384.3.2 不同算法的结果对比424.3.3 算法性能对比434.4 分析与讨论444.5 本章小结44第5章 不足与改进45第6章 本文总结466.1 课题总结466.2 展望476.3 今后工作48参考文献49致谢5145浙江大学计算机科学与技术学院本科毕业论文第1章 Error! No text of specified style in document.第1章 绪论1.1 课题背景在人与人之间的交流中,视觉起了非常重要的作用,人类可以通过视觉获取非常多的信息,包括他是谁,他在做什么,他的情绪起伏等等。人的面部结构非常的精细复杂,由三维空间的人脸投影至二维平面上,所形成的的二维图像会产生很大的变化。同一个人在不同的姿态、光照、表情下所形成的的二维图像之间的差异非常大,同时,头发与人脸之间的相互遮挡也会使得人脸部分不可见,这导致了后续基于人脸操作的复杂性与不稳定性。人的面部能够传递大量信息,因此在计算机视觉中,对人脸的应用成为了热门领域,包括人脸识别,人脸跟踪、情绪理解等。近些年,作为一种自然且快速的生物识别技术,人脸识别越来越多的被应用于各类系统中,例如门禁系统,智能机器人系统等,这些系统需要准确及鲁棒的人脸识别技术。在这些对人脸的应用中,人脸的特征起到了非常重要的作用,后续应用是否可靠很大程度依赖于它。因此对人脸特征的定位成为了必不可少且非常重要的中间环节。人脸标记点包括鼻尖、眼角、下巴、嘴角、鼻角、眉毛形状、耳垂等。为了方便分析,大多的标记点检测算法倾向于整体的面部语义区域,比如嘴、鼻子、眼角、眉毛、脸颊或下巴的全部区域。人脸标记点分为两类:主要和次要,或者基准和辅助。它们的区别是基于图像特征检测技术的可靠性。例如,嘴角、眼角、鼻尖和眉毛可以比较容易的通过低级图像特征检测得到,如SIFT特征、HOG特征。直接检测出来的标记点被称为基准。基准的标记点在人脸识别以及面部追踪中具有更加突出的作用。次要的标记点能够通过主要标记点来寻找。次要的标记点包括了下巴、脸颊轮廓、眉毛以及唇中、鼻孔等,在面部表情中,它们的作用更加重要。错误的人脸标记点定位会导致人脸特征描述的变形,标记点的精度极大影响后续操作的性能。在计算机视觉的运用中,特征点定位存在一定的难度。随着系统计算能力的加强,人们希望能够将一些识别的能力嵌入到某些设备中,并且需要达到实时运行的能力,如智能相机。这种类型的应用需要一个更加鲁棒的算法来抵抗干扰因素,如光照影响,表情等。目前的人脸标记点定位主要存在四个难点:可变性:不同的环境会给人的面貌带来不同的视觉感受,也会给人脸标记点定位带来难度,如部分遮挡,使得无法计算特征;姿态和光照,一些夸张的面部表情可能会使特征点偏移,摄像头的分辨率也会对定位的精度产生影响。人与人之间个体的外貌差别会使得之间的标记点看起来非常的不同。有时候,由于手的运动、头部旋转或头发遮挡等导致的自身遮挡,只能观察到部分的人脸标记点。同时,由于光照和脸部表情变化,人脸标记点的检测也会非常困难。目前,并不存在能够实时定位出目标点并且能够抵抗在所有脸部自身变化的人脸标记点的定位算法。精确性以及标记点数量的要求:标记点的数量以及精确度是根据应用的具体需求的变化而变化的。例如在人脸识别的时候,只需要一些主要标记点,如两个嘴角、四个眼角以及鼻尖就足够了。另一方面,更高级的面部动画或者面部表情理解则需要更多的标记点以达到更高的精度。由于次级的标记点是通过主要的标记点来寻找的,因此主要的标记点必须非常精确,否则会对整体的标记点精度产生较大的影响。缺乏公认的无误差的数据集:大多数的数据集提供了不同标记的注解,而它们的基准点的准确度并不能肯定。标记点定位算法的精确度很大程度上取决于用于训练的数据集,每个算法使用了不同的数据集来训练和评估性能,因此难以对不同算法进行比较。图像采集条件:分辨率、背景噪声、光照等图像采集条件会影响标记点定位性能。用某个数据集训练出来的标记点定位器在另一个数据集中测试出来的性能通常都是比较差的。这些都是需要进行综合考虑和评判的因素。1.2 人脸特征定位点研究现状对眼睛、鼻子、嘴和下巴等这些在人脸中具有重要的语义信息的特征点的定位对于后续的人脸识别、人脸跟踪、人脸动画和3D人脸建模等式必不可少的。如今,随着网络中的照片数量爆炸式的增长,自动、高效且鲁棒的人脸对齐算法炙手可热。而在真实的、无约束的环境中,这仍然是非常具有挑战性的。人脸形状S=x1,y1,xnp,ynpT由Nfp个特征点组成。对于给定的人脸图片,人脸特征定位的目标是估算得到一个尽可能接近于真实形状S的形状S,即最小化:S-S2(11)式(1-1)为定位误差,用来引导训练以及评估算法的性能。然而在使用过程中,由于S是未知的,因此无法直接获得最小化。根据不同的估算S的方法,可以将大多数的定位算法分为两种类型:基于优化的方法和基于回归的方法。基于优化的方法最小化的是与式(1-1)相关的另一个误差函数,这一类的方法取决于误差函数的优劣以及它是否能够很好的进行优化。例如Cootes等在1995和1998年提出的主动形状模型(Active Shape Model, ASM)和主动表观模型(Active Appearance Model, AAM)。ASM是一种基于点分布模型(PointDistributionModel,PDM)的算法,在PDM中,人脸的几何形状可以通过将特征点坐标串联形成的形状向量来表示。在训练ASM模型时,通过大量训练样本图像及手动标定的特征点构建约束的形状模型,归一化对齐后进行PCA降维,对每个特征点构建局部特征。搜索时,通过平均形状得到初始模型后,对每个特征点附近匹配局部最优的特征点,用形状模型修正,迭代至收敛。然而由于它使用的是局部的纹理信息,若由于初始化等一些原因使得局部匹配产生误差,最终的形状可能只会收敛到局部目标而非全局目标,从而导致了错误的结果。AAM是对ASM的改进,它不仅利用了形状信息,也对整个人脸的重要纹理信息进行了统计和分析。也就是说,它使用覆盖目标区域的所有的图像区域信息而不是仅仅使用边界附近的信息。AAM充分利用了全局的纹理信息,并结合形状模型和灰度模型建立表观模型,得到了形状与纹理之间的联系。学习的表观模型对于姿势、表情和光照产生的复杂微妙的人脸面部变化处理能力非常有限,对于无法被看见的人脸,它得到的结果并不好。并且,由于AAM是基于灰度下降的优化,因此初始化非常重要。基于回归的方法主要为了学习到一个可以将输入图像映射至目标输出的回归函数。通过大量的训练数据可以有效的学习到复杂的变化。然而由于训练时只使用局部的图像块,没有利用特征点之间的相关性,所学习到的回归对处理大的姿态变化以及部分遮挡的能力较弱。1.3 人脸特征点定位主要技术根据人脸特征点定位所依据的人脸信息的不同,可以将现有的人脸特征点定位方法分为以下几类:1.3.1 基于先验信息由于人脸五官分布规则,并不会有较大改变,可以从这些人脸特征中总结出规则,利用这些先验规则处理输入的图像,强化特征,根据规则筛选出候选区域。例如基于人眼,有学者使用改进的Hough变换来检测人眼,但眼睛开闭会产生影响,因此将眼睛看做圆形并不合理。Liming Zhang等人利用已得到的先验知识检测眼睛,二值化图像后根据黑色区域的面积等信息定位出瞳孔,追踪得到眼睛轮廓。基于先验信息的方法虽然简单,但是对图像要求非常高,对姿态、表情和光照变化的抵抗性并不强,只适用于人脸特征的初步检测,并不适用于最后的定位。1.3.2 基于几何形状可变形模板是常用的方法,它的主要思想是构造一个可用参数进行调整的几何模型来匹配检测区域的轮廓,可调整的参数对应了形状的变化部分,包括角度、位置、大小等,此外,还有一个评价函数计算模型与待检测区域的匹配度。搜索时改变参数,最小化能量函数,使模型逐渐收敛。可变形模板利用了特征区域的全局信息,可以较好的检测出眼睛和嘴的位置和形状,但由于人脸的复杂性及外界光照条件,可能无法检测到边缘或者无法获取高精度的特征点,且由于它是基于优化的方法,收敛速度慢导致计算时间长,并且对初始值非常依赖,若设定不好,容易陷入局部最小。1.3.3 基于色彩信息它主要是利用统计信息建立目标的色彩模型,搜索时根据色彩模型得到候选区域。由于人脸中大部分色彩为肤色,且肤色在色彩空间中具有聚合性,因此它的在人脸检测中应用广泛。而脸部特征的部分具有较为复杂的色彩信息,嘴、眼白、瞳孔等的色彩与肤色并不一致,在使用建模时可能有一定的困难。Son Lam Phung利用了这些差异来寻找特征部分。他在已经获得的肤色区域中寻找空洞,并根据它们的相对关系判断是否为脸部的特征区域,虽然速度快,但容易受到外界条件影响,如光照和图像采集设备,它的精度并不高,适合于粗略定位或者对速度要求高,而精度要求低的应用。1.3.4 基于外观信息它将整个人脸作为整体映射至高维空间中,因此,同一类型的脸部特征可以被视为高维空间的点集,用统计方式建模,搜索时,根据检测区域与模型匹配度来确定是否包含脸部特征。主成分分析法(Principal Component Analysis, PCA)将人脸降维到若干个特征向量,检测时使用PCA模型重构出检测区域,求出与原图之间的距离,根据距离判断是否为候选区域。1.4 本文研究目标和内容1.4.1 本文研究目标一个好的快速人脸关键特征点定位系统应该包括以下几个特性:精确精确包含两个方面:1、精确的人脸定位;2、精确的关键点定位。关键点定位是基于人脸检测进行的,错误的人脸检测会导致错误的定位。关键点的定位精度也直接的影响了后续操作的性能,因此,精确的关键点定位输出应是这个系统必备的。快速提取和回归局部二值特征的计算代价非常便宜,因此这个系统相比于之前的方法应该快非常多,甚至达到实时的速度。1.4.2 本文研究内容本文重点研究了基于随机森林的人脸特征点定位算法以及局部二值特征(Local Binary Feature, LBF),将它与广泛使用的几种面部特征点定位方法进行比较,并且利用它实现了一个快速的人脸特征点定位系统。本节主要介绍了论文的研究目标及内容。本文的主要研究内容如下:1、分析了人脸特征点定位在人脸应用中的意义和作用,介绍了几种比较常见的人脸特征点的方法和原理。2、深入研究了基于回归的随机森林的快速人脸特征点定位方法,编写C+代码,实现了快速的人脸定位系统,通过摄像头读入人脸并且进行实时的特征点定位。3、将本文使用的算法与几种常见的人脸特征点定位方法进行比较,分析它们在不同人脸库中的测试结果及性能差异,总结它的不足,并且确定改进方向。1.5 本文结构安排论文的结构安排如下:1、第一章,绪论部分,主要介绍了本文的研究背景,说明人脸特征点在人脸应用中的重要意义和作用,介绍了常见的几种人脸特征点定位算法技术,并指出本文的主要研究内容及结构安排。2、第二章,介绍了近几年的人脸特征点的定位方法,说明了他们使用的数据集及检测的人脸特征点标记个数。3、第三章,深入研究了基于回归的随机森林的人脸特征点定位,以及使用的LBF特征,实现算法,介绍系统框架并且编写快速人脸特征点定位系统。4、第四章,介绍了研究成果,展示了系统界面,用本文的方法在Helen、LFPW和IBUG数据集上进行了测试,展示了部分测试结果,并且展示了本文算法与ESR和ERT算法在COFW数据集上的实验结果,最后是几个不同算法的性能对比。5、第五章,总结了本文的不足之处,并且提出了可以进行改进的方向。6、第六章,是对本文的总结,对今后工作的安排,以及对未来的展望。浙江大学计算机科学与技术学院本科毕业论文第2章 Error! No text of specified style in document.第2章 文献综述人的面部能够展现非常多的信息,范围非常广阔,通过对脸部一系列操作,可以进行包括身份识别到心理状态的理解(如情绪识别)等,而面部特征点检测作为人脸操作的中间步骤,起到了及其重要的作用。人脸中具有区分性的特征点被称为人脸特征点,比如眼角、嘴角等。在概念上,定位特征点非常的简单,但是在实际中,由于综合的因素比如姿态、表情、遮挡、光照以及人脸的变化,这对于计算机视觉来说是极具挑战性的。在这里,介绍了近几年人脸特征点定位的方法及其使用的数据库和使用的特征点的数量。2.1 背景介绍一般来说的标记点,指的是那些自然或人为产生的特征,它们与周围环境相比较为突出,并且从远处也能够识别,因此它们普遍具有导航的功能。于此相同,人脸标记点被定义为检测并且定位脸上某些特定的关键点,这些关键点能够影响后续的对人脸的一系列操作,比如人脸识别、目光检测、人脸跟踪、表情识别、姿势理解等。对一张人脸图像,人脸标记点是固定的,因此它具有区分的作用。人脸标记点包括鼻尖、眼角、下巴、嘴角、鼻角、眉毛形状、耳垂等。为了方便分析,大多的标记点检测算法倾向于整体的面部语义区域,比如嘴、鼻子、眼角、眉毛、脸颊或下巴的全部区域。人脸标记点分为两类:主要和次要,或者基准和辅助。它们的区别是基于图像特征检测技术的可靠性。例如,嘴角、眼角、鼻尖和眉毛可以比较容易的通过低级图像特征检测得到,如SIFT特征、HOG特征。直接检测出来的标记点被称为基准。基准的标记点在人脸识别以及面部追踪中具有更加突出的作用。次要的标记点能够通过主要标记点来寻找。次要的标记点包括了下巴、脸颊轮廓、眉毛以及唇中、鼻孔等,在面部表情中,它们的作用更加重要。2.2 人脸关键点定位综述2.2.1 基于结构的可变形模式(Component based Deformable Mode)他们提出了基于组成部分的变形模型进行人脸对齐,他们用了一个新的统计框架来计算局部和全局的形状特征。对于形状组成部分,它使用了独立的高斯模型,而不是对能够保留更详细的局部形变的整体形状的统计分析,组件中每个模型都使用了马尔可夫网络的搜索策略。他们使用了高斯过程隐变量模型(Gaussian Process Latent Variable Model)来控制全方位的形变,因此它能够更好的描述形状组成部分之间的非线性关系。这种方法能够使得系统维持全方位低频的形状变化,以及夸张表情引起的高频局部变形。数据集:YALE FACE DATABASE B检测到的关键点:79图 21 component based deformable model的结果2.2.2 级联可变形状模型(Cascade Deformable Shape model)这篇文字提出了一种两个阶段的级联变形形状模型,对头部大幅度的姿态变化的情况能够高效的定位人脸标记点。对于人脸检测,他们提出了一组系数的学习方法来自动的选择最突出的人脸标记点。三维面部形状模型检测出自由姿态下人脸标记点的初始化。在两个阶段中,进行变形,第一步使用了均值漂移的局部搜索以及约束的局部模型迅速接近全局最优。第二步,用每个组成部分来改进微小的形状变化。它提高了CLM和多ASM在人脸标记点检测及跟踪上的性能。数据集:MultiPIE, AR, LFPW,LFW and AFW ,Talking Face Video检测到的关键点:65图 22 cascade deformable shape model的结果2.2.3 约束的局部神经场模型(Constrained Local Neural Field model, CLNF) 它提出了约束的局部神经场模型来进行人脸标记点的检测。该模型采用了概率的图像块处理器(probabilistic patch expert)(标记点检测器)可以输入像素与对齐的标记点之间的非线性空间关系,以及非均匀的正则化标记点的均值漂移(NRLM)优化技术可以考虑每个图像块处理器之间的可靠性以获得更高的精度。数据集:LFPW and Helen检测到的关键点:65图 23 constrained local neural field model的结果2.2.4 深度卷积网络级联(Deep Convolutional Network Cascade)它提出了三层的深度卷积网络级联模型。每一级融合多个网络的输出到鲁棒和准确的估计。第一层中,卷积网络提取了整个人脸区域的高级别的特征,这有两个优点:1、整个面部的纹理信息被用来定位关键点;2、训练网络来同时预测所有关键点,编码关键点之间的几何约束,因此这个方法可以避免模糊和数据损坏引起的局部最小化。在后两层中对最初预测的关键点进行微调以达到更高的准确性。这个方法并不适用于定位大量的人脸标记点。数据集:LFW,LFPW and BioID检测的关键点:5图 24 deep convolutional network cascade的结果2.2.5 粗至精的卷积网络级联(Coarse-to-fine Convolutional Network Cascade)它提出了四层的卷积网络级联,解决又粗到细的方式中的问题。每个网络层细化了在先前网络层生成的人脸标记点的自己,并且预测明确的几何约束,例如特定的面部组件的位置和旋转角度,以纠正当前网络层的输入。第一层分别估计了内部点和轮廓点的包围盒。第二层预测了内部点的初始位置估计,这在第三层中进行细化。最后一层通过使用旋转的图像块作为新的输入提高了嘴和眼的预测。对于轮廓点,这里采取了两层分开的网络。这个方法适用于定位大量的人脸标记点(大于50)。数据集:300-W (300 faces in wild)检测的关键点:68图 25 coarse-to-fine convolutional network cascade model的结果2.2.6 显式形状回归(Explicit Shape Regression) 它提出了一个有效且高精度的显式形状回归方法。该模型直接学习了一个矢量回归函数来推断整个面部的形状并且显式的最小化训练数据中的定位误差。在学习框架中它的固有形状编码到回归器,并且在测试时运用了从粗到精的方式。这个方法使用了两层的升压回归,基于相关性的特征以及形状索引特征选择方法,因此它的回归变得更加有效。它展现了高精度以及有效的结果。测试时回归的过程非常的快,87个标记点的形状用时15ms。数据集:BioID, LFPW and LFW87检测的关键点:5,29或87图 26 explicit shape regression model的结果2.2.7 约束的局部模型(Constrained local models, CLM) 该模型基于主动外观模型(AAM)进行改进。CLM不同于AAM是因为它不是对整个面部的生成模型,相反,它迭代的产所标记点模板,并且使用了形状约束搜索技术。通过贝叶斯公式估算了标记点模板的位置矢量,贝叶斯公式的后验分布包括了通过模板匹配得分的图像信息以及统计形状信息。因此,通过联合的形状模型来预测新的标记点的位置,并且通过从训练图像进行采样来更新模板。数据集:BioID and XM2VTS检测到的关键点:22图 27 constrain local model的结果2.2.8 参数化的内核主成分分析(Parameterized Kernel Principal Component Analysis, PKPCA) 在这里,通过拓展KPCA结合几何变换以及应用梯度下降算法来快速定位,提出了参数化的内核主成分分析(PKPCA)模型。这个模型与PCA不同之处在于,它能够对刚性或非刚性变形数据的非线性结构进行建模。它并不要求手动标记训练数据。数据集:CMU Multi-PIE检测到的关键点:46图 28 PKPCA model的结果2.2.9 树状模型(Tree-structured models)它针对了人脸检测、面部姿态估计以及人脸标记点定位这三个相互关联的问题。此算法是形状驱动的,并且局部和全局信息从一开始就合并,由于姿态是估计的一部分,该算法实际上可以作为一个多视点算法。多视点通过考虑一些(30-60)局部的连接成为共同描述面部标记点相关的树的图像块实现。数据集:CMU MultiPIE and AFW检测的关键点:61图 29 tree structured model的结果2.3 本章小结本文介绍了几年标记点定位技术,可以看到,大多数定位方式可以分为两种:基于优化和基于回归的。基于优化的方式最小化一个误差函数,而基于回归的方式学习一个将图像映射到目标输出的回归函数。而形状约束在所有方式中都是非常重要的。全套设计加扣 3012250582第3章 研究方案3.1 人脸检测人脸特征点定位需要的输入为人脸图像,因此从图像中定位出人脸位置成为人脸应用分析的首要环节。对于任意一幅给定的图像,人脸检测采用某种特定的策略对其进行搜索,确定当中是否含有人脸,若含有人脸,则返回人脸位置、大小,甚至姿态。人脸检测的性能,包括实时性和精度对整个系统的性能具有较为重要的影响。快速、精确的在一幅图片中检测出人脸是人脸检测算法的目标。本节介绍了Viola等人提出的Adaboost级联人脸检测算法,它将Adaboost算法和级联方法结合起来,实现对人脸区域的实时检测,使得人脸检测能够真正的进入实用。3.1.1 Boosting算法Boosting是一种可以提高任意给定的学习算法性能的方法。它的思想起源于1984年Valiant提出的可能近似正确( Probably Approximately Correct, PAC)学习模型。在PAC学习模型中,Valiant和 Kearns提出了弱学习和强学习的概念。简单来说,弱学习指那些识别错误率小于1/2,即准确率仅比随机猜测好一点的学习算法;强学习指那些识别正确率很高,且能在多项式时间内完成的学习算法。1989年,Kearns和Valiant提出了PAC学习模型中弱学习算法与强学习算法的等价问题,即,任意给定仅比随机猜测略好的弱学习算法 ,是否可以将其提升为强学习算法 ? 如果二者等价 ,那么只需找到一个比随机猜测略好的弱学习算法就可以将其提升为强学习算法 ,而不必寻找很难获得的强学习算法。3.1.2 Adaboosts算法Aoaboost(Adaptive Boosting)是Boosting的改进,由Freund和Schapire提出,它的算法的效率与Boosting方法的效率几乎一样,但由于不需要事先知道弱分类算法的分类正确率的下限,可以非常容易的运用到实际问题中。它能够自适应的调整弱学习算法的错误率,不需要知道样本的空间分布。经过每次的弱学习,它能够调整样本的空间分布并且改变训练样本的权重降低被正确分类的样本权重,增加被错误分类的样本权重。这样,那些被错误分类的样本在下一次的弱学习过程中能够被更加重视。经过若干次的迭代之后,错误率便能够降到预期。Adaboost具体算法如下,其中输入包含N个标记完成的训练样本集合S,其中包含m个人脸样本,标记为yi=+1,l个非人脸样本,标记为yi=-1,S=1, y1,2, y2,N, yN。初始化权重,将yi=+1的人脸样本权重置为w0,+1=12m。将yi=-1的非人脸样本权重置为w0,-1=12l。设迭代次数为T,即获得T个弱分类器,对每次迭代t:1、权重归一化, wt,i=wt,ij=1nwt,i2、计算第j个弱分类器迭代误差之和j=wt,jhjxi-yi,从中选出迭代误差之和j最小的弱分类器hjx;计算出i=i1-i,令i=log1i,此弱分类器的权重为j;3、更新样本权重,wt+1,i=wt,it1-ei,t=t1-t,i为第i个样本是否被正确归类,若正确分类,则ei=0;反之,ei=1。T轮迭代完成后,将这T个弱分类器线性组合,得到最终的强分类器:hjx=1, t=1rthtx12t=1rt 0, else (31)其中,t为第二步中获得的弱分类器的权重。3.1.3 Adaboost级联分类器2001年,Viola等基于Adaboost算法提出了一个鲁棒且快速人脸检测的新算法,并且为此架构了一个框架。他们的人脸检测框架主要有以下三大贡献:1、引入了一个新的图像表示方法:积分图(integral image),对于haar特征,使用积分图可以以常量时间快速的计算出大量的图像特征。2、基于Adaboost的学习方法,在巨大的特征池中选择出一小部分重要的特征来构建出分类器。3、将更多复杂的分类器用级联的方式组合起来,这样可以快速排除背景区域,使得更多的计算用于可能为人脸的区域。利用这一算法学习的瀑布型正面人脸检测器是当时正确率最高的算法之一,且在速度上远远快于其他算法许多,检测速度达到15fps,达到了实时的效果,使得人脸检测能够运用到实际中。瀑布型检测器结构如图3-1,瀑布中的每一层都是由Adaboost算法训练得到的强分类器,每层阈值为t使大多数(在训练时指定,如99.9%)的人脸通过,尽量使得非人脸抛弃。越高的层数越复杂,包含越多的弱分类器,具有更强的分类能力,因为它们需要分类近似人脸的非人脸图像。瀑布型检测器的训练算法如下:设置每层最大虚警率f,每层最低通过率d以及整个检测器的虚警率Fa。正样本集合为Spos,负样本集合为Sneg。初始化,F1=1,i=1。While FiFa- 用Spos和Sneg的样本训练第i层,得到阈值bi,使得fid- Fi+1=fiFi,i=i+1,Sneg=- 若Fi+1Fa,使用当前得到的瀑布检测器扫描非人脸的图片,收集所有误检至Sneg。第1层第2层第t层.非人脸TTTFFF输入图像人脸图像图 31 瀑布型检测器3.1.4 人脸检测过程训练时使用的样本大小决定分类器能够处理的对象的大小,一般的人脸检测分类器为20x20或24x24,弱分类器只能检测该大小的人脸。然而在实际中人脸的大小变化范围非常大,如图3-2,不同图片中的同一人脸大小并不相同,同一图片中不同人的脸大小也会有非常大的差异。因此需要通过多尺度来检测不同尺度大小的人脸。图 32 实际应用中人脸在图像中尺度变化非常大应用于多尺度检测的尺度变化方法一般有两种:1、改变分类器的尺度,这需要改变弱分类器的阈值,较为复杂,但是检测速度快;2、对图像进行不同尺度的抽样,较简单,但是速度比第一种方式慢。对于haar特征训练的分类器应选用第一种方法,这时因为基于haar特征的弱分类器缩放比较方便,且积分图像只需要计算一次,有效减少计算量,可以加快检测速度,而第二种方式重复的计算特征,计算量大。人脸检测的流程图如下,将图像转为灰度之后,通过灰度图得到积分图像,在不同尺度下对积分图像进行检测,并在不同尺度下合并检测结果。最后输出合并后的检测结果。 . .灰度图像积分图像多尺度检测当前尺度检测结果当前尺度检测结果当前尺度检测结果当前尺度合并当前尺度合并当前尺度合并多尺度合并输出结果输入图像图 33 人脸检测流程通过不同尺度检测能够得到多个检测窗口,而相近尺度下也会由于位置邻近产生重复检测。为了防止产生重复的结果,应合并检测窗口。图3-4展示了合并检测结果的例子,其中为(a)同一尺度下多个检测窗口重叠,(b)为不同尺度下多个检测窗口重叠,(c)为最终合并后的输出结果。(a) 同尺度下窗口重叠 (b) 不同尺度下窗口重叠(c)合并后结果图 34通过人脸检测得出的人脸图像便可送入下一阶段,进行人脸特征点的定位。3.2 基于随机森林的人脸特征点定位算法基于回归的局部二值特征(Local Binary Feature)的人脸特征点定位算法主要由微软亚洲研究院的孙健等人提出,2014年在CVPR发表。基于形状的回归方法在人脸特征点定位方面有着较为领先的鲁棒性和精确性,具有如下特点:1、它们有着强大的分辨能力;2、它们能够自适应地执行形状约束(形状约束在所有人脸特征点定位方式中都是非常重要的);3、它们能够有效的利用大量的训练数据。基于回归的局部二值特征的人脸特征点定位是一种高效且非常准确的回归方法,它主要有两个新的部分:一组局部二值特征,以及学习这些特征的局部性原理。局部性原理指导学习一组能够分别较好的分辨出每个面部特征点的局部二值特征。获得的局部二值特征用来联合地为最终的输出来学习出一个线性回归。它在定位的速度、定位的准确性与定位的可靠性上都非常的出色,对于一些表情、姿态较为夸张扭曲的人脸图像,它的定位效果与其它定位方法相比出色许多。由于提取和回归局部二值特征的计算量很下,相比于以前的方法,它的速度快非常多。形状回归的方法使用了级联的方式预测人脸形状S。最初,S被初始化为一个形状S0,通过逐阶段估计形状增量S来逐步精化S。回归的过程可以总结如下:St=St-1+St (32)S代表形状,St代表在t阶段预测的形状,它等同于上一阶段预测出的S加上一个形状增量S。形状增量S则通过回归求出。这里,在t阶段的形状增量St的回归为:St =WtTI,St-1 (33)其中I为输入图像,St-1为之前阶段获得的形状,t为一个特征映射函数,Wt为一个线性回归矩阵。需要注意的是,t取决于I和St-1。通过这个方法学习到的特征被称为“被索引的形状”特征。通过将St增加到St-1,回归进入下一个阶段。基于回归的局部二值特征的人脸特征点定位的算法核心主要包括三个部分:回归局部二值特征、搜索算法、局部性原理。3.2.1 回归局部二值特征在这里,使用了一个局部原理来规则化学习,这基于两个发现,对一个阶段的某个标记点,最具有分辨能力的纹理信息位于前一阶段估计的标记点周围的局部区域,且此标记点的形状上下文(即其他标记点的位置)以及局部纹理提供了充足的信息。因此先学习固有特征来独立的编码每个标记点的局部纹理,然后执行联合回归来合并形状上下文。在此使用了以下两种方式归一化的学习t:1、t被分解成一组独立的局部特征映射函数,即,t=1t,2t,Lt(L为标记点的数量)。2、每个lt通过在相应的局部区域内独立回归第l个标记点来学习。由于线性回归矩阵Wt和特征映射函数t都是未知的,在学习训练的过程中,使用了两个连续的步骤来学习它们。首先学习了一个局部特征映射函数来为每个标记点生成局部二值特征。我们将所有的局部特征串起来得到t。接着通过线性回归学习Wt。这个学习步骤以级联的方式逐层重复。3.2.1.1 局部特征映射函数lt特征映射函数由一组二值特征映射函数组成,即t=1t,2t,Lt,根据之前的局部原理,分别学习其中的每一个。学习lt的目标是回归真实的形状增量St:mint,lti=1lSit-ltltIi, Sit-122 (34)其中,i遍历所有的训练样本,运算符l从向量Si中提取出两个元素(2l-1, 2l),并且lSi t是在第i个训练样本中第l个标记点的真实的2D偏移量(形状增量)。为了学习每个局部映射函数lt,使用了一个标准的回归随机森林(Random Forest)。随机森林是一个用随机方式建立的,包含多个决策树的分类器,它的输出是由各个树输出的众数而定。随机森林的随机性主要体现在两个方面:1、训练每棵树时,从全部训练样本中选取一个子集进行训练,用剩余的数据进行评测,评估其误差;2、在每个节点,随机选取所有特征的一个子集,用来计算最佳分割方式。随机森林的主要优点有:1、在大的、高维数据训练时,不容易出现过拟合而且速度较快;2、测试时速度很快;3、对训练数据中的噪声和错误鲁棒。训练时,树节点的分割使用的是像素差特征(pixel-difference feature)。这个特征由孙健等人在他们2012年的论文中提出。像素差特征,即为图中两个像素点之间的强度差。这样的特征的计算量非常小,并且在给出充足的训练数据时,具有强大的分辨能力。一个像素应相对于目前估计的形状,而非根据原始的图像坐标系来进行索引,这能够更好的获得几何不变性,并且使得回归问题更加简单,在学习过程中更快的收敛。索引一个像素的一个简单的方法是归一化形状之后使用全局坐标(x,y),然而这只适用于一些简单的形状,如椭圆,对于非刚性的人脸并不适用。因为最有用的特征分布在那些重要的标记点附近,如眼睛、鼻子和嘴巴。举例来说,一个好的像素差特征可以是“眼睛中心比鼻尖颜色更暗”或者“两个眼睛的中间颜色相近”,而标记点的位置随着不同的人脸的三维姿态、表情等变化非常大。因此在这里,选用的是某个标记点的局部坐标系x, y。从图3-4中可以看出,这样的方式能够使得索引在上述的变化中保持不变,使得算法更加鲁棒。(a)(b)图 35 (a)中,在相同的局部坐标系中的像素索引具有同样的意义,(b)中,在同一全局坐标下索引的像素具有不同的含义,这时由于人脸形状变化导致的。在此,为了学习各个局部映射函数lt,对每个标记点建立随机森林,含有T颗决策树,每颗决策树用N个训练样本进行训练。对每一颗决策树,为了训练其每个分割节点,选取了F个特征,这些特征获取如下:以当前标记点为中心,抽取两组随机半径和随机角度,这样就获得了一对对应的像素值,得到一个像素差特征。对于这F个特征,选择能够产生最大方差衰减的某个特征,通过它将树分为左子树与右子树。每个叶节点储存了一个2D偏移向量,即叶中所有训练样本的平均值。3.2.1.2 局部二值特征在获得特征时,并不使用叶节点中存储的2D偏移向量,而是将样本遍历树,直至它能够达到每个树的某个叶节点,随机森林的输出即为这些叶节点输出的总和。假设叶节点的总数为D,则输出可以被写作:ltltIi,Sit-1 (35)其中wlt是一个2-D矩阵,每一列都为储存在相应叶节点的二维向量,lt是一个D维的二值向量。对lt中的每一维,它的值为1,如果测试样本达到对应的叶节点,否则为0。因此,lt是一个很稀疏的二值向量。lt中非零元素的数量与森林中树的数量相等,比D要小的多。我们将这样的lt称为“局部二值特征”。图3-5展示了提取局部二值特征的过程。 0 1 0 . 0 1 0 0 . 1itjt 0 1 0 . 0 . 1 0 0 . 1级联0 1 0 0|1 0 0 0|0 0 1 0图 36局部特征映射函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论