Haar特征描述算子-人脸检测

Haar前期简介

在AdaBoost算法的基础上,使用Haar-like小波特征和积分图方法进行人脸检测,需要补充说明,小波特征不是由Viola和Jones这两位大神完成的,经由他们设计的人脸检测更为有效,在此基础上,他们继续探索AdaBoost,进行AdaBoost训练出的强分类器进行级联。这对于人脸检测的意义,是非常重要的,可以说是里程碑的一笔。在完成Viola-Jones检测器之后,后来继续对其完善,Rainer Lienhart和Jochen Maydt两位大牛将这个检测器进行了扩展,最终形成了OpenCV现在的Haar分类器。

Haar-like 特征

主要分为:边缘特征、线性特征、中心特征和对角线特征,组成特征模板,他分为黑白两种颜色的矩形,被定义的特征值为白色矩形像素和减去黑色矩形像素和。它的特征值反映了图像的灰度变化情况

重点内容

深入理解Haar-like特征
理解积分图的计算算法原理
理解使用积分图来计算Haar特征值算法原理和实际用途
理解Haar特征归一化算法原理
学会使用OpenCV自带的Haar分类器进行人脸检测,简单实训

算法理论简介

Haar-like特征的计算—积分图

通过积分图,可以一次遍历出来图像中所有区域像素,大大提高图像特征计算的效率。
积分图主要将图的各点区域像素之和作为数组元素保存。当需要某个区域像素时,则可以直接遍历数组获取。提高相应的计算效率。
积分图的构造方式是:位置(𝑖,𝑗)处的值𝑖𝑖(𝑖,𝑗)是原图像(𝑖,𝑗)左上角方向所有像素𝑓(𝑘,𝑙)的和: KaTeX parse error: Unexpected character: '�' at position 2: �̲�𝑖(𝑖,𝑗)=∑𝑘≤… 积分图构建算法:

1、用𝑠(𝑖,𝑗)表示行方向的累加和,初始化𝑠(𝑖,−1)=0;

2、使用𝑖𝑖(𝑖,𝑗)表示一个积分图像,初始化𝑖𝑖(−1,𝑖)=0;

3、逐行扫描图像,递归计算每个像素(𝑖,𝑗)行方向的累加和𝑠(𝑖,𝑗)和积分图像𝑖𝑖(𝑖,𝑗)的值: KaTeX parse error: Unexpected character: '�' at position 2: �̲�(𝑖,𝑗)=𝑠(𝑖,…

KaTeX parse error: Unexpected character: '�' at position 2: �̲�𝑖(𝑖,𝑗)=𝑖𝑖…
结束时,扫描到达图像右下角像素,形成积分图像𝑖𝑖。
演示:
图像四个点为α,β,γ,δ,则图像的像素可用KaTeX parse error: Unexpected character: '�' at position 2: �̲�𝑠𝑢𝑚=𝑖𝑖(α)…来表示。Haar-like特征值指两个矩阵像素和的差。

计算Haar特征值

一个区域的像素值的和,可以由该区域的端点的积分图来计算。由前面特征模板的特征值的定义可以推出,矩形特征的特征值可以由特征端点的积分图计算出来

经验分享与总结

1、准备人脸、非人脸样本集;
2、计算特征值和积分图;
3’ 今次学习了解了Haar-like 特征算子在图像计算的应用。如何快速扫描图片的像素,保存以及迅速查找对应区域的像素,对于图像像素的处理,基本上掌握,需要更加多练习,进而更加熟练。

[1].https://github.com/datawhalechina/team-learning/blob/master

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页