Haar-like算法
当下的人脸检测主要为以下两种方法:
1.基于知识的检测方法:检测器官特征和器官之间的几何关系
2.基于「统计」的检测方法:像素相似性度量
基于知识的方法主要利用先验知识将人脸看作器官特征的组合,根据眼睛、眉毛、嘴巴、鼻子等器官的特征以及相互之间的几何位置关系来检测人脸。
基于统计的方法则将人脸看作一个整体的模式——二维像素矩阵,从统计的观点通过大量人脸图像样本构造人脸模式空间,根据相似度量来判断人脸是否存在。
本文主要介绍基于统计的检测方法Haar,Haar特征值反映了图像的灰度变化情况。通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。
Haar分类器=Haar-like特征+AdaBoost算法+级联+积分图; 要理解Haar分类器,那么就需要理解构成它的每一部分。Haar-like特征:检测提供基础特征;积分图:为了加速特征的计算而使用的算法;AdaBoost:训练区分人脸与非人脸强分类器;级联:把强分类器级联在一起,提高准确率。
1.Haar-like特征
Haar-like是一种简单且高效的图像特征,其基于矩形区域相似的强度差异性Haar小波。w=白色区域像素之和-黑色区域像素之和得到的就是这个区域的一个特征值,这个特征值可以用来区分人脸与非人脸。当然,一个特征的区分度是很有限的。为了增加区分度,可以对多个矩形特征计算得到一个区分度更大的特征值,然而在一个窗口中怎样排列能够更好的体现人脸的特征,这是未知的所以需要AdaBoost算法去训练找到,在训练前需要将每种组合穷举出来,为了增加计算特征值的速度,使用了积分图。
Haar-like的特征矩形如下所示:
需要注意的是,当一次遍历结束后,窗口将在宽度或长度上成比例的放大,在重复