Adaboost 人脸检测原理剖析

简介: 【1月更文挑战第6天】

Adaboost 人脸检测原理剖析

Haar-like 特征可以分为边缘特征、中心特征、对角线特征以及线性特征。

(a)即为边缘特征,其用于检测目标图像在边缘上的变化信息,如人脸边缘与背景的灰度变化,人头发与人脸额头之间的灰度变化等;

(b)即为线性特征,其用于检测目标图像在水平以及垂直方向上的变化信息,如人的鼻梁两侧肤色要比鼻梁上的颜色深等;
image.png

(c)即为中心特征和对角线特征,其用于检测对角线上以及矩形模板外围和中心之间的变化信息,如人的眼睛比人脸的其他部分颜色要深,嘴巴要比其周围肤色颜色要深等。并且在这些水平垂直的基础上,又添加了 45°方向的矩形模板。通过采用这三种不同形式的矩形模板来表示人脸区域的特征,达到区分人脸部分与背景部分并将两者分割的目的。

image.png

在OpenCV接口中,实现了Haar/LBP/HOG等多种特征,以Haar特征为例介绍,Haar特征最先由Paul Viola等人提出,后经过Rainer Lienhart等扩展引入45°倾斜特征,成为现在OpenCV所使用的的样子共计14种Haar特征,包括5种Basic特征、3种Core特征和6种Titled(即45°旋转)特征。

人脸检测分类器=haar-like (特征)+CART(弱)+ Adaboost(强) + Cascade(级联)

Haar特征可以在检测窗口中由放大+平移产生一系列子特征,但是白:黑区域面积比始终保持不变。
image.png

以x3特征为例,在放大+平移过程中白:黑:白面积比始终是1:1:1。
首先在红框所示的检测窗口中生成大小为3个像素的最小x3特征;之后分别沿着x和y平移产生了在检测窗口中不同位置的大量最小3像素x3特征;然后把最小x3特征分别沿着x和y放大,再平移,又产生了一系列大一点x3特征;然后继续放大+平移,重复此过程,直到放大后的x3和检测窗口一样大。这样x3就产生了完整的x3系列特征。

将矩形作为人脸检测的特征向量,称为矩形特征。本算法选取了最简单的5个矩形特征模板进行训练,以得到一套用于人脸检测的最适合的矩形特征,事实证明,虽然这种特征选取方法的训练速度时间较长,但是检测效率很高。
矩形特征在人脸图像上的特征匹配:
上行是 24×24 像素窗口内选出的矩形特征,
下行是 24×24 像素分辨率的人脸图像与上行选出的矩形特征的匹配!

矩形特征对一些简单的图形结构,比如边缘、线段,比较敏感,但是其只能描述特定走向(水平、垂直、对角)的结构,因此比较粗略。如图,脸部一些 特征能够由矩形特征简单地描绘,例如,通常,眼睛要比脸颊颜色更深;鼻梁两 侧要比鼻梁颜色要深;嘴巴要比周围颜色更深。

image.png

相关文章
|
4月前
|
编解码 算法
Adaboost 人脸检测原理剖析2
【1月更文挑战第7天】
|
4月前
|
算法
|
5月前
|
机器学习/深度学习 数据采集 PyTorch
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
50 0
|
10月前
|
机器学习/深度学习 传感器 算法
【图像分割】基于K-means算法实现遥感图像分类附Matlab代码
【图像分割】基于K-means算法实现遥感图像分类附Matlab代码
|
5月前
|
算法 计算机视觉
图像特征提取--ORB算法
图像特征提取--ORB算法
59 0
|
11月前
|
算法 数据可视化 数据处理
Opencv与python实现多目标跟踪 (一) - PaddleDetection目标检测
Opencv与python实现多目标跟踪 (一) - PaddleDetection目标检测
306 0
|
12月前
|
机器学习/深度学习 传感器 人工智能
【图像去噪】基于自适应全变分算法实现图像去噪附matlab代码
【图像去噪】基于自适应全变分算法实现图像去噪附matlab代码
|
12月前
|
机器学习/深度学习 算法 TensorFlow
yolov4+deepsort(yolo目标检测+自适应卡尔曼滤波追踪+毕业设计代码)
yolov4+deepsort(yolo目标检测+自适应卡尔曼滤波追踪+毕业设计代码)
166 0
|
12月前
|
机器学习/深度学习 存储 算法
图像特征提取与描述_角点特征03:Fast算法+ORB算法
我们前面已经介绍过几个特征检测器,它们的效果都很好,特别是SIFT和SURF算法,但是从实时处理的角度来看,效率还是太低了。为了解决这个问题,Edward Rosten和Tom Drummond在2006年提出了FAST算法,并在2010年对其进行了修正。
339 0
|
机器学习/深度学习 传感器 算法
【图像分割】基于Kullback-Leibler 散度的模糊 C 均值 (FCM) 算法实现图像分割附matlab代码
【图像分割】基于Kullback-Leibler 散度的模糊 C 均值 (FCM) 算法实现图像分割附matlab代码