Adaboost 人脸检测原理剖析

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: 【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

相关文章
|
6月前
|
编解码 算法
Adaboost 人脸检测原理剖析2
【1月更文挑战第7天】
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第8天
|
5月前
|
机器学习/深度学习 存储 算法
心得经验总结:浅析人脸检测之Haar分类器方法
心得经验总结:浅析人脸检测之Haar分类器方法
35 0
|
6月前
|
算法
|
6月前
|
机器学习/深度学习 数据采集 PyTorch
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
PyTorch使用神经网络进行手写数字识别实战(附源码,包括损失图像和准确率图像)
149 0
|
机器学习/深度学习 存储 PyTorch
PyTorch应用实战五:实现二值化神经网络
PyTorch应用实战五:实现二值化神经网络
529 0
|
机器学习/深度学习 存储 算法
秒懂算法 | 基于主成分分析法、随机森林算法和SVM算法的人脸识别问题
本文的任务与手写数字识别非常相似,都是基于图片的多分类任务,也都是有监督的。
257 0
秒懂算法 | 基于主成分分析法、随机森林算法和SVM算法的人脸识别问题
|
算法 数据可视化 数据处理
Opencv与python实现多目标跟踪 (一) - PaddleDetection目标检测
Opencv与python实现多目标跟踪 (一) - PaddleDetection目标检测
489 0
|
数据采集 机器学习/深度学习 算法
【图像分类】基于yolov5的钢板表面缺陷分类(附代码和数据集)
基于yolov5的钢板表面缺陷分类(附代码和数据集)
【图像分类】基于yolov5的钢板表面缺陷分类(附代码和数据集)
|
机器学习/深度学习 存储 算法
PyTorch深度学习实战 | 基于ResNet的人脸关键点检测
人脸关键点检测指的是用于标定人脸五官和轮廓位置的一系列特征点的检测,是对于人脸形状的稀疏表示。关键点的精确定位可以为后续应用提供十分丰富的信息。因此,人脸关键点检测是人脸分析领域的基础技术之一。许多应用场景(如人脸识别、人脸三维重塑、表情分析等)均将人脸关键点检测作为其前序步骤来实现。本文将通过深度学习的方法来搭建一个人脸关键点检测模型。 1995年,Cootes提出 ASM(active shape model) 模型用于人脸关键点检测,掀起了一波持续多年的研究浪潮。这一阶段的检测算法常常被称为传统方法。2012年,AlexNet 在 ILSVRC 中力压榜眼夺冠,将深度学习带进人们的视野。
756 0
PyTorch深度学习实战 | 基于ResNet的人脸关键点检测

热门文章

最新文章