引言
Haar分类器又称Viola-Jones识别器,是Viola和Jones分别在2001年的《Rapid Object Detection using a Boosted Cascade of Simple Features》和2004年的《Robust Real-Time Face Detection》提出并改进的。Haar分类器由 Haar 特征提取、离散强分类器、强分类级联器组成。核心思想是提取人脸的 Haar 特征,使用积分图对特征进行快速计算,然后挑选出少量关键特征,送入由强分类器组成的级联分类器进行迭代训练。
1、Haar-like特征
Haar-like矩形特征是用于物体检测的数字图像特征。这类矩形特征模板由两个或多个全等的黑白矩形相邻组合而成,而矩形特征值是白色矩形的灰度值的和减去黑色矩形的灰度值的和,矩形特征对一些简单的图形结构,如线段、边缘比较敏感。如果把这样的矩形放在一个非人脸区域,那么计算出的特征值应该和人脸特征值不一样,所以这些矩形就是为了把人脸特征量化,以区分人脸和非人脸。
之所以选择基于特征的方法而没有选择基于像素的方法是因为,在给定的有限的数据样本情况下,基于特征的检测不但能够编码特定区域的状态,而且通过基于特征设计的系统远比基于像素的系统快。
图1 特征模板
脸部的特征能够由矩形特征简单地描绘,例如眼睛要比脸颊颜色深,鼻梁两侧要比鼻梁颜色深,嘴巴要比周围颜色深等。
图2 矩形特征在人脸图像的特征匹配
对于一个24*24像素分辨率图像,其内的矩阵特征数目大约160000多个,需要通过特定算法选择合适的矩阵特征,并将其组合成强分类器才能检测人脸。
2、积分图
在获得矩形特征后,要计算矩形特征的值。积分图被定义为坐标A(x,y)的积分图是其左上角的所有像素之和,这样对每个像素进行少量的计算得到的“积分图”可以在相同的时间里计算尺度大小不同的矩形特征值,因此大大提高计算速度。
对于图像内一个点A(x,y),定义其积分图ii(x,y)为:
图3 积分图公式
其中i(x',y')为点(x',y')处的像素值。
坐标A(x,y)的积分图定义为其左上角矩阵所有像素之和,如下图阴影部分所示:
图4 积分图定义示例图
由此可知,要计算两个区域像素值之差(即计算矩形模板的特征值),只需要用特征区域端点的积分图来进行简单加减运行就可以了。用积分图的方法可以快速计算矩形特征的特征值。
图5 矩形特征的特征值计算
如上图示,特征模板的特征值 = 区域B的像素值-区域A的像素值 = [ii4 + ii1 - (ii2 + ii3)] - [ii6 + ii3 - (ii4 + ii5)]。
转载请标明出处,原文地址:http://blog.csdn.net/jasonding1354/article/details/36896451
参考资料:
《学习OpenCV(中文版)》
浅析人脸检测之Haar分类器方法,http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html
基于Adaboost的人脸检测方法及眼睛定位算法研究 龙伶敏