【机器学习】传统目标检测算法之Haar分类器

引言

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矩形特征是用于物体检测的数字图像特征。这类矩形特征模板由两个或多个全等的黑白矩形相邻组合而成,而矩形特征值是【白色矩形灰度值的和】【减去黑色矩形灰度值的和】,矩形特征对一些简单的图形结构,如线段、边缘比较敏感。如果把这样的矩形放在一个非人脸区域,那么计算出的特征值应该和人脸特征值不一样,所以这些矩形就是为了把人脸特征量化,以区分人脸和非人脸。

之所以选择基于特征的方法而没有选择基于像素的方法是因为,在给定的有限的数据样本情况下,基于特征的检测不但能够编码特定区域的状态,而且通过基于特征设计的系统远比基于像素的系统快

脸部的特征能够由矩形特征简单地描绘,例如眼睛要比脸颊颜色深,鼻梁两侧要比鼻梁颜色深,嘴巴要比周围颜色深等。

看完这张图应该能够明白为什么Haar特征能够用来做人脸的特征提取了吧!

不过,这里面还有一个挺严重的问题。对于一个24*24像素分辨率图像,其内的矩阵特征数目大约160000多个,需要通过特定算法选择合适的矩阵特征,并将其组合成强分类器才能检测人脸。

2、积分图

在获得矩形特征后,要计算矩形特征的值。积分图是这样定义的,坐标A(x,y)的积分图是其左上角的所有像素之和,这样对每个像素进行少量的计算得到的“积分图”可以在相同的时间里计算尺度大小不同的矩形特征值,因此大大提高计算速度。下面会介绍具体的实现。

对于图像内一个点A(x,y),定义其积分图ii(x,y)为:

其中i(x',y')为点(x',y')处的像素值。

坐标A(x,y)的积分图定义为其左上角矩阵所有像素之和,如下图阴影部分所示:

由此可知,要计算两个区域像素值之差(即计算矩形模板的特征值),只需要用特征区域端点的积分图来进行简单加减运行就可以了。用积分图的方法可以快速计算矩形特征的特征值。

如上图示,特征模板的特征值 = 区域B的像素值-区域A的像素值 = [ii4 + ii1 - (ii2 + ii3)] - [ii6 + ii3 - (ii4 + ii5)]。

3、Haar分类器

上文对矩形特征和积分图的相关概念作了简要介绍,然后我们要利用积分图对矩形特征的计算进行人脸检测算法中弱分类器的选取。(上面有讲到,特征数目是相当多的,必须要经过选取。)

Haar分类器是一个监督学习分类器。要进行物体的检测,首先要对图像进行直方图均衡化并归一化到同样大小,然后标记里面是否包含要检测的物体,故人脸检测也不例外。

3.1、直方图均衡化

直方图均衡化的作用是图像增强。

有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布。

第一个问题。均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是八位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。

可能会有其它更优的直方图均衡化的操作(例如photoshop中的),但都大同小异。


搞明白了这个之后我们就回到haar分类器

3.2、级联分类器

Haar分类器使用AdaBoost算法,但是把它组织为筛选式的级联分类器,每个节点是多个树构成的分类器,且每个节点的正确识别率很高。在任一级计算中,一旦获得“不在类别中”的结论,则计算终止。只有通过分类器中所有级别,才会认为物体被检测到。这样的优点是当目标出现频率较低的时候(即人脸在图像中所占比例小时),筛选式的级联分类器可以显著地降低计算量,因为大部分被检测的区域可以很早被筛选掉,迅速判断该区域没有要求被检测的物体。

关于级联分类器的知识,打算另开一个章节来讲。

写好了,参见级联分类器Cascade

参考文章:

https://blog.csdn.net/jasonding1354/article/details/36896451

https://blog.csdn.net/jasonding1354/article/details/37558287

猜你喜欢

转载自blog.csdn.net/qq_32742009/article/details/81389765