Adaboost 人脸检测原理剖析

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

相关文章
|
存储
Typora上传图片后提示 “image load failed“ 无法加载出图片
Typora上传图片后提示 “image load failed“ 无法加载出图片
2791 1
Typora上传图片后提示 “image load failed“ 无法加载出图片
|
开发工具
Typora上传Gitee图床成功,却无法显示图片?(image load failed)
博主构建好Typora-Picgo-Gitee图床之后,发现:虽然图片确实上传到Gitee仓库了,而且也能看到。但是Typora本地却看不到图片,提示(image load failed)
1726 0
Typora上传Gitee图床成功,却无法显示图片?(image load failed)
|
10月前
|
机器学习/深度学习 人工智能 算法
昇腾AI行业案例(一):基于AI图像处理的疲劳驾驶检测
在本实验中,您将学习如何使用利用CV(Computer Vision)领域的AI模型来构建一个端到端的疲劳驾驶检测系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
428 3
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
Linux 开发工具 数据安全/隐私保护
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
256 7
|
C# Windows
C#开源的两款功能强大的录屏神器
C#开源的两款功能强大的录屏神器
235 5
|
机器学习/深度学习 人工智能 数据处理
AI计算机视觉笔记一:YOLOV5疲劳驾驶行为检测
如何使用云服务器AutoDL进行深度学习模型的训练,特别是针对YOLOV5疲劳驾驶行为训练检测
|
机器学习/深度学习 前端开发
【机器学习】机器学习30个笔试题
本文提供了一份包含30个问题的机器学习笔试试题集,覆盖了回归模型、极大似然估计、特征选择、模型评估、正则化方法、异常值检测、分类问题等多个机器学习领域的关键知识点。
1119 0
【机器学习】机器学习30个笔试题
|
网络安全 开发工具 git
python在容器内克隆拉取git私有仓库
python在容器内克隆拉取git私有仓库
173 0
|
Java Shell Python
【经验分享】Typora 设置代码块的默认语言并设置为开机启动
在Typora中设置代码块默认语言为Java(或其他语言)的自动化方法。通过下载AHK(AutoHotkey)软件,创建一个.ahk脚本,设定`Ctrl+Shift+K`快捷键触发代码块并输入指定语言。将脚本改名为.ahk扩展名并运行,确保图标出现在任务栏。要实现开机启动,使用Win+R打开"运行",输入shell:startup并粘贴.ahk文件到启动文件夹。
818 2

热门文章

最新文章

下一篇
开通oss服务