Haar级联分类器概述
—— 才疏学浅, 难免有错误和遗漏, 欢迎补充和勘误.
- Haar级联分类器是基于Haar-like特征,运用积分图加速计算,并用Adaboost训练的强分类器级联的方法来进行人脸检测。
- 目前常用Haar-like特征的分类有:
图1. Haar-like特征分类
- 首先定义每个Haar-like特征的特征值 为:
featurevalue weight white - weightblack
即 =白色区域像素-黑色区域像素,weight为权重值,其是为了白、黑两种矩形区域的像素数目一致,保证在灰度绝对均匀的地方其特征值是0。 - Haar-like特征的值经过运算可以反映该区域的灰度变化情况,将一副输入图像的每一个区域也做类似的运算后与训练集中图像的Haar-like特征值对比,如图2所示,根据生活实际我们有以下常识:在人脸上鼻梁两边部位的颜色比鼻梁处更深,两个眼睛部位的颜色比旁边脸颊处更深等,所以可以据此判断输入图像是否具有人脸特征。
图2. Haar-like特征在人脸图中的应用
- 特征模板经过平移、伸缩变换得到一系列新的矩形特征。矩形特征根据其类型、位置和大小的不同,可以在一副图像中可以生成非常多的矩形特征从而增大了计算压力,所以需要运用积分图的方法来提高特征值的计算效率。
- 积分图的构造方式是:位于图像 处的积分图 是该处左上角方向所有像素 的和:integral_image
- 积分图在图像各个点的处上储存了其左上角所有像素的和,下面是对图像中某一区域运用积分图计算Haar-like特征来得到其特征值:
图3. 矩形特在坐标中的表示
区域A的像素值为: ,
区域B的像素值为: 。
该矩形特征的特征值为:
- 对于个正、负样本图像中的某个固定特征fi计算出每张图像该特征的特征值,将计算出的个特征值进行排序和打标识,然后根据上节(基于AdaBoost级联分类器的人脸/眼睛位置检测算法概述)1.中的原理取到最优阈值并获得该特征下的最优弱分类器,根据上节2.和3.原理来训练出该特征的强分类器,最终通过级联的方式获得Haar级联分类器。下图为运用Haar级联分类器来检测人脸的过程:
图4. Haar级联分类器检测人脸过程