文档详情

Adaboost人脸检测算法原理.doc

发布:2018-10-08约4.03千字共8页下载文档
文本预览下载声明
Adaboost人脸检测算法原理 在众多的检测方法中,Viola等提出的Adaboost人脸检测方法,从根本上解决了检测的速度问题,同时有较好的识别效果。它利用一个只有200个关键特征的集合,就能达到95%以上的检测率,检测一幅380×280像素的图像需要时间不到0.7s,这样的性能使它成为人脸检测最好的方法。 Viola人脸检测方法是一种基于积分图、AdaBoost算法和级联检测器的方法,方法框架可以分为以下三大部分: (1)使用特征值表示人脸,使用积分图实现特征数值的快速计算; (2)使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器; (3)将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,级联结构能有效地提高分类器的检测速度。 1特征值和积分图 在一个20×20(或其他大小)的图片提取一些简单的特征,并计算其特征值(如图1),方法是将白色区域内的像素和减去黑色区域。对于一些优势矩形特征来说,在人脸与非人脸图片的相同位置上,特征值的大小是不一样的,这些特征可以用来区分人脸和非人脸。 图1 一些矩形特征 图2是大部分矩形特征对人脸与非人脸样本的特征值分布曲线。大部分特征对人脸和非人脸样本的特征值为0的点几乎处于相同位置(46.5%,51.5%),且都在所有特征的中间范围。 这说明该矩形特征对于人脸和非人脸几乎没有分辨能力。 图(a) 人脸图像特征值分布 图(b) 非人脸图像特征值分布 图2 大部分矩形特征对人脸和非人脸图像的特征值分布曲线 图3是少数矩形特征对人脸与非人脸样本的特征值分布曲线。对于非人脸样本的分布,特征值为0的点处于所有特征的中间范围(59.4%),这说明该特征也“看不到”非人脸的特点。 但是对于人脸样本,该特征表现了很一致的倾向性,93.4%的特征在0点的一侧,与非人脸样本的相差34%。 这说明该特征能够分辨人脸和非人脸。 图(a) 人脸图像特征值分布 图(b) 非人脸图像特征值分布 图3 少数矩形特征对人脸和非人脸图像的特征值分布曲线 上述的分析说明,确实存在优势的矩形特征,能够在一定的置信范围内区分人脸和非人脸。 AdaBoost人脸检测算法引用了“积分图”的概念,这使得检测器中特征的计算非常快。如图所示:坐标点(x,y)的积分图定义为: (1) 其中表示像素点的积分图,表示原始图像。通过下式迭代进行计算: (2) 3) 其中表示行的积分和,且,。求一幅图像的积分和,只需要遍历图像一次即可。 图4 积分图像的计算 如图4所示:图中点“1”的积分图的值是矩形框A中所有像素的像素值之和。点“2”的积分图所对应的值为A+B,点“3”是A+C,点“4”是A+B+C+D,所以D中所有的像素值之和可以用4+1-(2+3)计算。借助于图中的四个矩形,可以实用积分图计算图像中所有像素的值之和。 图5 四个Haar-like特征 作者定义了四种Haar-like特征,如图5所示。很明显,图中由两个矩形构成的特征,其像素和之差可通过六个参考矩形求得;由三个矩形构成的特征可以通过八个参考矩形求得;由四个矩形构成的特征可以通过九个参考矩形求得。特征值的求法为白色矩形框内的所有像素点的灰度之和减去灰色矩形框中所有像素的灰度值之和。(a)、(b)表示的是两个矩形框的Haar-like特征,(c)表示的是三个矩形框的Haar-like特征,(d)表示的是四个矩形框的Haar-like特征。 2 AdaBoost算法 基于AdaBoost的学习算法。它能从一个很大的特征集中选择很小的一部分关键的特征,从而产生一个极其有效的分类器,最初的AdaBoost学习算法可用于提高一个简单的分类器(有时又称为弱分类器)的性能,它最终形成的强分类器的训练错误率接近于零,而且具有很好的推广性。Viola其定义了180000种矩形特征,这个数远远大于图像中像素的数目。每个特征都能很快计算出来,再通过试验选出一小部分作为特征以形成一个有效的分类器。要得到最终的强分类器,最重要的是如何找到这些特征。为此,每个弱分类器的设计都是从能对正例和反例进行正确分类的所有若分类器的集合中选择错误率最小的一个。对每个特征而言,弱学习器决定分类器的最佳的门限值,使其具有最小的误分样本数。 在AdaBoost 算法中,每个训练样本都被赋予一个权重,表明它被某个分量分类器选入训练集的概率。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被正确分
显示全部
相似文档