Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >人脸识别的原理——Haar 特征

人脸识别的原理——Haar 特征

作者头像
Color Space
发布于 2021-12-01 09:44:39
发布于 2021-12-01 09:44:39
5.5K0
举报

OpenCV 中提供了关于人脸识别的算法,它主要使用 Haar 级联的概念。

1.Haar 特征

人脸识别使用 Haar 级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与 已知对象是否匹配。Haar 特征分为 4 种类型:边缘特征、线性特征、中心特征和对角线特征。将这些特征组合成特征模板,特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白 色矩形像素之和减去黑色矩形像素之和。Lienhart R.等人对 Haar-like 矩形特征库做了进一步 扩展,扩展后的特征大致分为 4 种类型——边缘特征、线性特征、圆心环绕特征和特定方向 特征,如图 1所示。

图 1 扩展后的 Haar 特征

Haar 特征的提取简单来说就是通过不断改变模板的大小、位置和类型,将白色矩形区域 像素之和减去黑色矩形区域像素之和,从而得到每种类型模板的大量子特征。

2.积分图

计算 Haar 的特征值需要计算图像中封闭矩形区域的像素值 之和,在不断改变模板大小和位置来获取子特征的情况下,计算 大量的多重尺度区域可能会需要遍历每个矩形的每个像素点的 像素值,且同一个像素点如果被包含在不同的矩形中会被重复遍 历多次。这就导致了大量的计算和高复杂度,并且包含了大量不 必要的操作,因此可以用积分图来减少计算量。

积分图的原理是从第二次遍历图像开始,通过第一次遍历图 像时保留下来的矩形区域 4 个角的值来提供需要的像素的总和。我们通过图 2 所示的积分原图可以更好地理解这个概念,因 此如果需要计算图像中任意矩形区域的面积,就不需要遍历区域 内的所有像素点。

图 2 积分原图

例如,计算图 12.5 中矩形 ABCD 的面积。将矩形 ABCD 的面积记为 S1,图中左顶点记为 O 点,以 O 点与 A 点连线为对角线的矩形面积记为 S2,以 O 点与 B 点连线为对角线的矩形面 积记为 S3,以 O 点与 C 点连线为对角线的矩形面积记为 S4,以 O 点与 D 点连线为对角线的矩 形面积记为 S5,如图 3所示。

图 3 O 点对应的不同矩形区域

有了 4 个区域的面积后,就可以通过 S2、S3、S4 和 S5 来计算出 S1 的面积了,如式所示。

提取目标图像的 Haar 特征需要计算多个尺度矩形的和。这些计算是重复的,因为遍历图 像时反复遍历了同一个像素点,而这会导致系统运行速度缓慢且效率低下,并且这对构建一个 实时的人脸识别系统来说是不可行的,因为卡顿会造成用户体验不好的情况。

其实不需要多次遍历相同的像素点。运用积分图的思想,如果要计算任意一个矩形区域, 上述公式等号右边的所有值在积分图像中都是易于获取的,之后只需要用正确的值替代它们就 可以比较轻松地提取相关特征了,从而大幅度减少了计算量。

3.Haar 级联

Haar 级联是一个基于 Haar 特征的级联分类器,级联分类器能够把弱分类器串联成强分 类器。弱分类器可以理解为性能受限的分类器,它们没有办法正确地区分所有事物。当问题 很简单时,弱分类器产生的结果是可以接受的,但是问题一旦复杂起来,结果就会出现很大的偏差。强分类器可以正确地对数据进行分类,建立一个实时系统来保证分类器运行良好并 且足够简单。

在强相连与弱相连之间,唯一需要考虑的就是分类器够不够精确的问题。如果试图获得更 精确的结果,那么最终系统就会变成计算密集型,但运行速度慢的系统。精确度和速度的取舍 在机器学习中十分常见。将一些弱分类器串联成一个统一的强分类器可以解决这个问题。弱分 类器本身面对的问题的需求不需要太精确,将它们串联起来形成的强分类器具有高精确度、低 速度的特点。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV与AI深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Adaboost算法的人脸检测分类器
人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来。
Datawhale
2020/07/14
2K0
基于haar特征+adboost分类器的人脸检测算法----haar特征
人脸检测由来已久 ,它属于计算机视觉范畴。在早期的人脸检测研究中主要侧重于人脸的识别和人物身份的鉴定,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来。
FPGA开源工作室
2019/10/29
3.8K0
基于haar特征+adboost分类器的人脸检测算法----haar特征
Haar-like特征提取原理
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/chaipp0607/article/details/79943932
chaibubble
2019/05/26
2.7K0
Haar 特征
Haar 特征是图像处理中的一种纹理特征提取方法,广泛用于人脸识别。 简介 Haar 特征值反映了图像的灰度变化情况 ,该特征原理很简单,本质上相当于使用固定模板对图像做卷积,但是卷积核比较简单可解释 早期 Haar 特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。 Lienhart R.等人对 Haar-like 矩形特征库做了进一步 扩展,扩展后的特征大致分为 4 种类型——边缘特征、线性特征、圆心环绕特征和特定方向特征 : 每种特征模板内有白色和黑色两种矩形,定义该模
为为为什么
2023/01/11
4990
Haar 特征
人脸Haar特征与快速计算神器:积分图
背景介绍 iPhone十周年纪念之作iPhoneX刚刚发布,其搭载的“刷脸解锁”功能再次将“人脸识别”技术带入大众视野。 借iPhoneX的东风,今天给大家介绍一下人脸检测的关键特征:
机器学习算法工程师
2018/03/06
1.9K0
人脸Haar特征与快速计算神器:积分图
人脸检测发展:从VJ到深度学习(上)
本文分上下两篇,上篇主要介绍人脸检测的基本流程,以及传统的VJ人脸检测器及其改进,下篇介绍基于深度网络的检测器,以及对目前人脸检测技术发展的思考与讨论。为了让本文更适合非计算机视觉和机器学习背景的读者,文中对所涉及到的专业术语尽量以通俗的语言和用举例的方式来进行解释,同时力求严谨,以体现实事求是和一丝不苟的科学研究精神。 这是一个看脸的世界!自拍,我们要艺术美颜;出门,我么要靓丽美妆。上班,我们要刷脸签到;回家,我们要看脸相亲。 当手机把你的脸变得美若天仙,当考勤机认出你的脸对你表示欢迎,你知道是什么
AI科技评论
2018/03/07
1.7K0
人脸检测发展:从VJ到深度学习(上)
harr特征加级联分类器的目标检测系统1.识别系统架构2.训练方法3.加速方法4.代码实践参考文献
1.识别系统架构 harr_system.png 以上是Harr特征+级联分类器的识别系统架构图,系统分为以下几个部分: 滑动框:固定大小的在原图上滑动的框,用于获取子图 Harr特征提取器:在子图上
月见樽
2018/07/04
7840
如何用OpenCV在Python中实现人脸检测
https://github.com/maelfabien/Machine_Learning_Tutorials
机器之心
2019/05/30
1.6K0
人脸检测算法综述
人脸检测是目前所有目标检测子方向中被研究的最充分的问题之一,它在安防监控,人证比对,人机交互,社交和娱乐等方面有很强的应用价值,也是整个人脸识别算法的第一步。在本文中,SIGAI将和大家一起回顾人脸检测算法的整个发展历史。
SIGAI学习与实践平台
2018/08/07
3.4K0
人脸检测算法综述
opencv+Recorder︱OpenCV 中使用 Haar 分类器进行面部检测
以 Haar 特征分类器为基础的对象检测技术是一种非常有效的对象检测技术(2001 年 Paul_Viola 和 Michael_Jones 提出)。它是基于机器学习的,通过使用大量的正负样本图像训练得到一个 ascade_function,最后再用它来做对象检测。 现在我们来学习面部检测。开始时,算法需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的 Haar 特征会被使用。它们就像我们的卷积核。每一个特征是一个值,这个值等于黑色矩形中的像素值之后减去白色矩形中的像素值之和
悟乙己
2019/05/26
1.1K0
特征提取——局部特征
https://blog.csdn.net/coming_is_winter/article/details/72850511 https://blog.csdn.net/zouxy09/article/details/7929348/
AomanHao
2022/01/14
1.3K0
特征提取——局部特征
使用Python+OpenCV进行图像处理(三)| 视觉入门
检测是计算机视觉任务中的主要任务之一,而且应用很广泛。检测技术可以帮助人类检测那些容易被肉眼忽略的错误;也可以”帮助“自动驾驶汽车感知空间信息。无疑自动化的检测技术的广泛应用将为我们带来效率与安全。
磐创AI
2019/05/14
2.3K1
使用Python+OpenCV进行图像处理(三)| 视觉入门
理解AdaBoost算法
与随机森林一样,Boosting算法也是一种集成学习算法,随机森林和集成学习在SIGAI之前的公众号文章“随机森林概述”中已经介绍。Boosting的分类器由多个弱分类器组成,预测时用每个弱分类器分别进行预测,然后投票得到结果;训练时依次训练每个弱分类器,每个弱分类器重点关注被前面的弱分类器错分的样本。弱分类器是很简单的分类器,它计算量小且精度不用太高。
SIGAI学习与实践平台
2018/09/29
5230
理解AdaBoost算法
理解AdaBoost算法
与随机森林一样,Boosting算法也是一种集成学习算法,随机森林和集成学习在SIGAI之前的公众号文章“随机森林概述”中已经介绍。Boosting的分类器由多个弱分类器组成,预测时用每个弱分类器分别进行预测,然后投票得到结果;训练时依次训练每个弱分类器,每个弱分类器重点关注被前面的弱分类器错分的样本。弱分类器是很简单的分类器,它计算量小且精度不用太高。
SIGAI学习与实践平台
2018/09/04
2K0
理解AdaBoost算法
OpenCV与图像处理(十)
图像处理是利用计算机对图像进行去噪、增强、复原、重建、编码、压缩、几何变换、分割,提取特征等的理论、方法和技术。图像处理中,输入的是低质量的图像,输出的是改善质量后的图像。
Must
2020/07/27
1.4K0
【深度学习 | 卷积&haar】面部表情识别系统|原理详解&附详细案例&源码
在微表情识别系统的研究中,对微表情的准确理解是至关重要的。本章将深入探讨微表情的定义、与常规表情的区别以及微表情的分类,为读者提供深入了解微表情的基础知识。
数字扫地僧
2024/04/16
1.6K3
python+opencv 实现图像人脸检测及视频中的人脸检测
原文链接:https://yetingyun.blog.csdn.net/article/details/108153075 创作不易,未经作者允许,禁止转载,更勿做其他用途,违者必究。
叶庭云
2022/01/10
1.5K0
python+opencv 实现图像人脸检测及视频中的人脸检测
python+opencv 实现图像人脸检测及视频中的人脸检测
人脸检测的常见步骤如下,如果想要将人脸准确地检测出来,需要通过建立人脸模型,获取准确区分人脸的分类器,这里我们使用网上公开的扩展包或已经训练好的分类器。
叶庭云
2020/09/17
14.1K0
python+opencv  实现图像人脸检测及视频中的人脸检测
基于SURF算法相似图像相对位置的寻找
例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同的,这个时候就可以利用SURF进行特征点
智能算法
2018/04/02
2.1K0
基于SURF算法相似图像相对位置的寻找
基于SURF算法相似图像相对位置的寻找
例如以下两个相似证件的模板,若以其中一幅图像为模板,并给出相应的位置,可以给出其他相似图像进行定位相对应的位置,如下图所示,其中除了标题和样式一样,内容确是不同的,这个时候就可以利用SURF进行特征点
智能算法
2018/04/03
1.8K0
基于SURF算法相似图像相对位置的寻找
相关推荐
基于Adaboost算法的人脸检测分类器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档