第二章人脸检测识别方法7第二章人脸检测识别方法人脸检测问题最初来源于人脸识别。人脸识别是生物识别领域最热门的一个方向,它涵盖了计算机视觉,图像处理和模式识别等前沿技术,在人机交互,安防系统和身份认证等方面有着广阔的应用价值。人脸检测是指采用一定的方法对给定的图片或视频进行搜索,判断其中是否存在人脸,如果存在则定位出每个人脸的位置以及大小。人脸识别的研究可以追溯到20世纪60、70年代,经过几十年的发展已渐趋成熟,人脸检测是人脸识别系统中的一个关键环节,但是早期的人脸识别研究主要针对简单背景和人脸位置相对固定的情况,因此人脸检测问题并未受到重视。但随着开发实际系统需求的日渐提高,人们要求在复杂背景下实时地进行人脸检测,这种假设下的研究不再能满足需求,由此所面临的一系列问题使得人脸检测开始作为一个独立的课题受到研究者的重视。本章着重介绍当前人脸检测和人脸识别的主要方法。2.1人脸检测方法概述人脸检测【16Ir7】的目的是要在--N图像上快速准确地将人脸部分分割定位出来。人脸检测的基本思想是用知识分析或统计的方法对人脸进行建模,比较所有可能的待检测区域和人脸模型的匹配度,得到可能存在的人脸。人脸检测问题包含的内容十分广泛,从不同的角度有不同的分类方法。从图像所包含的色彩信息来分类,可以分为灰度图像和彩色图像的人脸检测。在灰度图像中由于只包含256级灰度,一般可以使用边缘检测和轮廓提取的方法来检测人脸,而彩色图像中包含了肤色、唇色等色彩信息,所以可以使用基于肤色的方法进行检测。根据图像背景的复杂程度来分,可以分为简单背景下的人脸检测和复杂背景下的人脸检测。简单背景即背景比较单一,和人脸的相似程度较小比较容易区分。而复杂背景是指背景并不确定,并且背景中可能包含了和人脸相似的特征,正是由于这点在复杂背景下做人脸检测往往会导致误检。按照图像的类型来分,可分为静态图像的人脸检测和视频序列的人脸检测。对于静态图像中的人脸检测研究者们侧重于解决当多个人脸同时出现在一副静态图像中时,如何能够都检测出来,降低漏检率。而对于视频序列中的人脸检测,研究者们更侧重于检测速度的提高,以适应实时的要求。8基于OpenCV的人脸跟踪识别系统研究我们可以采用如何利用上述各种特征信息的方式,将人脸检测分为两类。第一类是基于特征分析的方法,这类方法直接利用现有的人脸信息,在提取一些低层次特征的基础上再对图像进行基于知识的分析以进行人脸检测,人脸的一些明显的信息,如肤色和面部器官的几何分布在系统的不同层次被利用起来。第二类是指基于整体的方法。它主要采用了模式识别领域的一些进展,将人脸区域看作是一类模式,即模板特征,使用大量的人脸与非人脸样本训练构造分类器,通过判别图像中所有可能区域属于哪类模式的方法实现人脸的检测,实际上人脸检测问题被转化为统计模式识别的二分类问题。基于特征分析和统计方法这两大类别,对人脸检测的主要方法进行介绍:2.1.1基于特征分析的人脸检测方法基于特征分析的方法中主要有基于轮廓对称性的人脸检测方法、基于局部特征的人脸检测方法、肤色区域分割与人脸验证结合法和基于模板匹配的人脸检测方法,下面对这几种方法进行概要介绍。1、基于轮廓对称性的人脸检测方法这种方法是利用人脸轮廓的对称性【18】特征来进行人脸检测的,主要思想是首先对人脸轮廓或人脸各个器官轮廓进行检测,然后验证它们之间是否满足对称性关系。在这类算法中Zabrodsky提出了连续对称性检测方法,检测一个圆形区域的对称性,从而确定是否为人脸。为了描述物体的点对称性,有学者提出了广义对称变换方法,用检测局部对称性强的点来进行人脸器官定位。它只考察人眼中心点的强对称性和脸部特征的几何分布,对人脸偏转、表情变化、光照变化等条件不敏感,因而具有较好的鲁棒性。但计算量很大,而且只利用了各点的对称性,易产生大量的候选点,使定位精度受到影响。2、基于局部特征的人脸检测方法该方法注重检测人脸的五官轮廓特征以及它们之间的位置关系。例如人的两个眼睛总是对称的分布在人脸的上半部分,鼻子和嘴唇中心点的连线基本与两眼之间的连线垂直等。于是可以利用一组描述人脸的局部特征分布的规则来进行人脸检测。这些规则可以表述为人脸局部特征ll9J之间的相对距离和位置关系,当满足这些规则的图像区域找到后,则认为一幅人脸已经被检测出来,然后可以对候选的人脸区域进行进一步验证,以确定候选区域是否包含人脸。该方法所面临的问题是,由于图像噪声等因素的影响,造成人脸局部特征不明显,使得根据局部特征组合来判断人脸的算法失效,从而产生误检和漏检。3、肤色区域分割与人脸验证结合法对于彩色图像的人脸检测,首先可以建立一个合适的肤色模型20‘21】进行肤色第二章人脸检测识别方法9检测。在检测出区域后,需要进一步的合并筛选,这可根据它们在色度上的相似性和空间上的相关性合并筛选出可能的面部区域,同时利用区域的几何特征或灰度特征验证候选区域是否为人脸,以排除其它色彩类似肤色的物体。区域分割与验证在很多方法中是密切结合、统一考虑的。在通常情况下,仅根据肤色像素的聚积特性就可完成区域的连通分割。Yoo等利用肤色像素的连通性分割出区域,使用椭圆拟合各个区域,根据椭圆长短轴的比率判断其是否为人脸。Cai等根据肤色模型提供的像素的似然度,采用从局部最大值处逐渐扩展的方法得到肤色区域,然后使用灰度平均脸模板匹配的方法验证区域内是否有人脸。4、基于模板匹配的人脸检测方法模板匹配方法的思想是计算测试样本与参考模板之间的相似度,以其是否大于阈值来判断测试样本是否为人脸。模板分固定模板田1和可变模板瞄。24j两种。固定模板实现简单,但由于人脸特征变化大,难以较好的反映人脸的共性,检测精度低,适应性不强,目前已很少使用,不过有些方法仍用作人脸的预处理和粗检。可变模板是在模版中包含一些非确定的因素,根据测试样本的具体条件,自适应地调整匹配模板,以提高模板的适应性和检测精度。下面分别介绍固定模板和可变模板。固定模板,这种方法是将人脸用一组独立的器官模板表示,如眼睛模板、嘴巴模板、鼻子模板、眉毛模板以及下巴模板等,通过检测这些器官模板来定位人脸。有研究者利用基于模版的方法来定位眼睛的位置,把标准的眼睛模板调整为5个不同的尺寸,然后再输入图像中寻找眼睛。这种固定的模板匹配的方法比较容易实现,但也存在着一些缺点,比如传统的边缘描述往往很难获得较高可靠度的连续边缘,尤其是眼睛和嘴巴与周围皮肤的对比度较低,有些地方甚至连边缘都检测不到,即使获得了可靠度高的边缘,也很难从中提取出所需的特征量。另外,人脸的特征受表情、姿势、旋转等因素影响很大,对于每一个模式类,选择一个好的模板和确定一个恰当的匹配准则是困难的。很难设计一种通用的模板方法来表征人脸的共性。早期的系统采用这种方法,目前己不多见。可变形模板是为了改进固定模板匹配方法的缺点而提出的。该方法首先制定出模板参数并且定义一个能量函数,然后根据检测区域的数据对参数进行修改直至收敛,此时的能量函数为最小化的能量函数,而此时的模板参数将被作为器官的几何特征。能量函数要根据图像的灰度信息,被检测物体轮廓等先验知识来设计。当用可变形模板进行人脸检测时,首先,可变形模板在待检测图像中移动,并动态地调整其参数,计算能量函数。当能量函数达到最小值时,根据其位置和参数决定的可变形模板形状应该达到与人脸的最佳拟合,这样就检测到~幅人脸。利用变形模板进行人脸检测的优点在于:由于模板可调,能够检测不同大小,lO基于OpenCV的人脸跟踪识别系统研究具有不同旋转角度的物体。但其缺点也相当明显,就是检测前必须根据待检测物体的形状来设计弹性模板的轮廓,否则会影响收敛的结果。当图像进行全局搜索时,由于要动态地调整参数和计算能量函数,计算时间会很长。2.1.2基于统计的人脸检测方法基于统计的人脸检测方法有基于概率模型的人脸检测方法、基于神经网络的人脸检测方法和基于支持向量机的人脸检测方法,对这几种方法也做以下概述。1、基于概率模型的人脸检测方法基于概率模型的方法是计算输入图像区域属于人脸模式的后验概率,根据此概率对所有可能的图像窗口进行判别。Schneiderman等提出一种基于后验概率估计的人脸检测方法,该方法利用贝叶斯原理将后验概率估计转化为一个似然度求解问题,将难以估计的先验概率和后验概率用一个比率参数代替,作为调节检测器敏感度的参量。Schneiderman等采用64*64像素的模式区域,将其分为16个子区域,通过子区域独立性等假设降低“人脸”与“非人脸”模式分布表达式的复杂性,最后转化为稀疏编码的直方图,通过计算训练样本的频度求得两种模式的概率分布。Schneiderman等还将概率估计的方法用于检测正面旋转人脸和侧面人脸,同时使用多分辨率信息复用和由粗到精搜索的策略提高检测的速度。属于这一类的还有Webert25J等提出的视点不变性学习(Viewpoint-InvariantLearning)的方法等。另一种概率模型是用于描述信号统计特性的隐马尔可夫模型(HiddenMarkovModels.HMM),目前也被应用于人脸检测和识别。Nefianl261等根据正面人脸由上到下各个区域(头发、额头、双眼、鼻子、嘴)具有自然不变的顺序这一事实,使用一个包含五个状态的一维连续HMM加以表示。将头部图像按照这五个区域划分为互有重叠的条块,对各块进行K-L变换,选取前若干个变换系数作为观测向量训练。Nefian等还提出了基于嵌入式HMM的人脸检测算法,该方法同时考虑到人脸由左到右各个特征的自然顺序,使用了二维HMM并且采用二维DCT变换的系数作为观察向量。此外还有Meng[2‘7】等使用HMM描述人脸的小波特征中不同级间的相关性等方法。基于HMM的方法一般只使用人脸样本进行训练,主要针对人脸识别的头肩部图像。2、基于神经网络的人脸检测方法神经网络128】具有记忆功能,当训练样本比较全面时,神经网络可以处理比较复杂的检测问题,所以许多检测算法采用神经网络方法。人脸模式、眼睛模式和嘴巴模式等都具有较明显的特点,因此可以采用神经网络的识别方法。神经网络方法能够适应较为复杂的人脸检测,准确性也较高,所以使用神经第二章人脸检测识别方法网络进行人脸检测的算法比较多。但是,由于人脸属于高维矢量,导致网络中训练节点众多,算法往往需要大量的训练样本,因此,神经网络方法的研究着重于系统的优化训练。3、基于支持向量机的人脸检测方法支持向量机(SupportVectorMachine,SVM)是Vapnik等人提出的基于结构风险最小化原理的统计学理论。SVM常用于回归和分类问题。它比基于经验风险最小化的人工神经网络方法具有更好的泛化能力。Osuna等将SVM方法用于人脸检测,取得了较好的效果。SVM的训练样本包括有限“人脸"样本和用“自举"方法收集的“非人脸”样本。SVM分类器经训练后,得到最优分类超平面,可用于图像中的人脸检测。长期以来,SVM训练需要求解计算复杂度极高的二次规划问题,从而限制了该方法的应用。Platt提出的SMO(SequentialMinimalOptimization)算法可以解决SVM训练困难的问题。2.1.3本文采用的人脸检测方法一Adaboost基于特征分析的方法中人脸检测时只是用到了人脸中的某个或某几个特征的组合来匹配地进行人脸的检测,这类方法容易引起漏检和误检,相较而言基于统计的人脸检测方法在检测率方面的效果较好,但是考虑到计算的复杂性和速度问题本文选用Adaboost方法用于跟踪与识别前的人脸检测定位。下面对Adaboost方法进行论述。Adaboost是常被应用的人脸检测算法。按照前面人脸检测的分类,Adaboost算法属于基于图像的人脸检测方法中的统计方法。在Adaboost方法中,每个训练样本都被赋予了一个权值,表明它能否被当前弱分类器(简单而分类性能相对差的分类器,例如简单的感知机就可以作为一个弱分类器)正确分类。Adaboost方法通过不断地加入弱分类器,最终达到某个预定的足够小的错误率。在加入某个新的弱分类器的某次迭代中,如果一个训练样本已经被正确分类,其权值就被下调,否则,其权值就要被调高,以便使下一轮的弱分类器专注于这些被错误分类的样本。最终得到的分类器则是训练得到的所有弱分类器的一个线性组合。依据这一基本思想,Freund和Schapire[30J首先给出了Adaboost算法的具体形式。而针对人脸检测这个具体的应用问题,Ⅵola等人提出了一个修改的Adaboost算法,Viola的算法将弱分类器与弱特征(大量可选特征中的某一个特征)等价起来,每个弱分类器仅通过一个特征实现分类,并通过Adaboost算法组合弱分类器,从而同时实现了弱特征的选择与组合。针对人脸检测问题,Viola等人定义了大量矩形特征(简化的Harr特征,可以从20*20的图像中提取数十万的特征供挑选和组合)。Viola提出的这个AdaBoost算法已经成为人脸检测领域的经典成果得到了更多的
基于OpenCV的人脸跟踪识别系统研究 - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)