基于haar特征以及adaboost分类器在opencv人脸识别中的应用(1)

一、 特征
首先,人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,其输入可以是一张图片或者是一段视频甚至于可以取自摄像头中的实时视频流。常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法需要捕捉某类特定的特征来判别是否是一个人。
所谓特征,就是某个区域的像素点经过某种运算后得到的结果。其结果可能是具体值、向量、矩阵。对于人脸来说,有着几大重要的特征,主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。
几何特征即基于人脸上的眼睛、鼻子、嘴巴、眉毛等人体共性但个人来讲又不同的点来对个体进行区分。
模板特征方法大致有特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法等。
模型方法大致有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。

二、Haar特征
该特征常和AdaBoost结合用于识别人脸。Haar特征很简单,分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。
Haar特征值反映了图像的灰度变化情况,所以在检测时需要将图片先转换为灰度图像。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水平、垂直、对角)的结构。
Haar的4种特征提取模板矩形如下图(色块矩阵姿态包括水平、垂直、斜45度):
在这里插入图片描述

Haar分类器算法的要点如下:
1.使用Haar-like特征做检测。
2. 使用积分图(Integral Image)对Haar-like特征求值进行加速。
3. 使用AdaBoost算法训练区分人脸和非人脸的强分类器。
4. 使用筛选式级联把强分类器级联到一起,提高准确率。
矩形特征可位于图像任意位置,大小也可以任意改变,所以矩形特征值是矩形模版类别、矩形位置和矩形大小这三个因素的函数。故类别、大小和位置的变化,使得很小的检测窗口含有非常多的矩形特征,如:在24*24像素大小的检测窗口内矩形特征数量可以达到16万个。
这样就有两个问题需要解决了:
(1)如何快速计算那么多的特征?—积分图大显神通;
(2)哪些矩形特征才是对分类器分类最有效的?如通过AdaBoost算法来训练。

发布了150 篇原创文章 · 获赞 28 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_38498942/article/details/104610935