人脸识别——Haar特征、积分图及Haar级联

2024-05-28 06:08

本文主要是介绍人脸识别——Haar特征、积分图及Haar级联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    人脸识别(检测)技术主要涉及到Haar特征、积分图和Haar级联三大类,下面我简单概述一下这三类知识,并给出相应学习链接。


Haar特征

    Haar特征分为四类:边缘特征、线性特征、中心特征和对角线特征,将这些特征组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和‘减’去黑色矩形像素和。 Lienhart R.等对Haar-like矩形特征库作了进一步扩展,扩展后的特征大致分为4种类型:边缘特征、线特征环、中心环绕特征和对角线特征,如下:


    关于Haar特征不少国内外研究者都对其矩形特征库进行扩展,以找到最佳的特征模版。

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


积分图

    计算Haar的特征值需要计算图像中封闭矩形区域的像素值之和,在不断改变模版大小和位置的情况下,需要计算大量的多重尺度区域,这可能会遍历每个矩形的每个像素值且同一个像素如果被包含在不同的矩形中会被重复遍历多次,这就导致了大量的计算和高复杂度,因此提出积分图的概念。

    积分图原理概述:将图像以线性时间初始化(仅第二次遍历图像时),并可以通过矩形区域四个角的值,提供像素的总和。通过下图可以更好地理解这个概念:


    如果需要计算图像中任意矩形区域的,不需要遍历区域内的所有像素。想象下图中左上的点和任何相对的点P形成的矩形。设AP表示这个矩形的面积,如前图所示,AB表示通过去左上角点和相对的B点形成的5*2矩形的面积。为了清楚起见,看下图:


    上图中的左上部分,着色像素表示左上角与点A之间的区域。这个区域用AA表示,剩下的图用AB、AC、AD表示。若想计算上图ABCD区域,将使用下列公式:


     这个特定公式有什么特别之处呢?正如我们所知,提取图像的Haar特征需要计算多个尺度矩形的和。这些计算是重复的因为反复遍历了同一个像素。运行速度如此之慢,对一构建一个实时系统来说是不可行的。正如所见,不需要多次遍历相同的像素。如果要计算任意一个矩形区域,上述公式等号右边的所有值在积分图像中都是易于获取
的,只需要用正确的值替代它们就可以提取特征了。


Haar级联

    Harr级联是一个基于Haar特征的级联分类器,级联分类器是什么?它是一个把弱分类器串联成强分类器的过程。弱分类器和强分类器分别是什么?弱分类器是性能受限的分类器,它们没法正确地区分所有事物。如果你的问题很简单 弱分类结果可接受。强分类器可以正确的对数据进行分类。
    建立一个实时系统需要保证分类器运行良好并且足够简单。唯一需要考虑到的是简单分类器不够精确,若试图更精确就会变成计算密集型且运行速度慢。精确度和速度的取舍在机器学习中相当常见。所以串联一群弱分类器形成一个统一的强分类器可以解决这个问题。弱分类器不需要太精确,串联起来形成的强分类器具有高精确度。    

关于Haar特征及积分图的学习资料推荐:

http://blog.csdn.net/zouxy09/article/details/7929570   适合初始了解、学习Haar和积分图

http://blog.csdn.net/lanxuecc/article/details/52222369  可以学习Opencv人脸检测源码

http://blog.csdn.net/liulina603/article/details/8617281  人脸检测整体流程的原理详细解释 包括公式 适合进阶。

http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html  Haar分类器

http://www.cs.ubc.ca/~lowe/425/slides/13-ViolaJones.pdf   2001年Paul Vioal和Michael Jones发表了创造性的论文 里面描述了级联步骤中的技巧,从而更快更有效的检测对象


这篇关于人脸识别——Haar特征、积分图及Haar级联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009744

相关文章

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

微积分-积分应用5.4(功)

术语“功”在日常语言中用来表示完成一项任务所需的总努力量。在物理学中,它有一个依赖于“力”概念的技术含义。直观上,你可以将力理解为对物体的推或拉——例如,一个书本在桌面上的水平推动,或者地球对球的向下拉力。一般来说,如果一个物体沿着一条直线运动,位置函数为 s ( t ) s(t) s(t),那么物体上的力 F F F(与运动方向相同)由牛顿第二运动定律给出,等于物体的质量 m m m 与其

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检

WebShell流量特征检测_哥斯拉篇

90后用菜刀,95后用蚁剑,00后用冰蝎和哥斯拉,以phpshell连接为例,本文主要是对后三款经典的webshell管理工具进行流量分析和检测。 什么是一句话木马? 1、定义 顾名思义就是执行恶意指令的木马,通过技术手段上传到指定服务器并可以正常访问,将我们需要服务器执行的命令上传并执行 2、特点 短小精悍,功能强大,隐蔽性非常好 3、举例 php一句话木马用php语言编写的,运行

图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取

图结构在多个领域中扮演着重要角色,它能有效地模拟实体间的连接关系,通过从图中提取有意义的特征,可以获得宝贵的信息提升机器学习算法的性能。 本文将介绍如何利用NetworkX在不同层面(节点、边和整体图)提取重要的图特征。 本文将以NetworkX库中提供的Zachary网络作为示例。这个广为人知的数据集代表了一个大学空手道俱乐部的社交网络,是理解图特征提取的理想起点。 我们先定义一些辅助函数

【ML--05】第五课 如何做特征工程和特征选择

一、如何做特征工程? 1.排序特征:基于7W原始数据,对数值特征排序,得到1045维排序特征 2. 离散特征:将排序特征区间化(等值区间化、等量区间化),比如采用等量区间化为1-10,得到1045维离散特征 3. 计数特征:统计每一行中,离散特征1-10的个数,得到10维计数特征 4. 类别特征编码:将93维类别特征用one-hot编码 5. 交叉特征:特征之间两两融合,x+y、x-y、

【机器学习 sklearn】特征筛选feature_selection

特征筛选更加侧重于寻找那些对模型的性能提升较大的少量特征。 继续沿用Titannic数据集,这次试图通过特征刷选来寻找最佳的特征组合,并且达到提高预测准确性的目标。 #coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timest

【python 走进pytotch】pytorch实现用Resnet提取特征

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂, 而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 准备一张图片,pytorch可以方便地实现用预训练的网络提取特征。 下面我们用pytorch提取图片采用预训练网络resnet50,提取图片特征。 # -*- coding: utf-8 -*-import os