人脸识别——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

相关文章

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征 在机器学习领域,朴素贝叶斯是一种常用的分类算法,它的简单性和高效性使得它在实际应用中得到了广泛的应用。然而,在使用朴素贝叶斯算法进行分类时,我们通常会面临一个重要的问题,就是如何处理连续特征和离散特征。因为朴素贝叶斯算法基于特征的条件独立性假设,所以对于不同类型的特征,我们需要采取不同的处理方式。 在本篇博客中,我们将探讨如何有效地处理

OpenCV机器学习-人脸识别

一 基本概念 1 计算机视觉与机器学习的关系 计算机视觉是机器学习的一种应用,而且是最有价的应用。 2 人脸识别 哈尔(haar)级联方法 Harr是专门为解决人脸识别而推出的; 在深度学习还不流行时,Harr已可以商用; 深度学习方法(DNN) 3 Haar人脸识别步骤 创建Haar级联器 导入图片并将其灰度化 调用detectMultiScale方法进行人脸识别 detect

Adaboost集成学习 | Adaboost集成学习特征重要性分析(Python)

目录 效果一览基本介绍模型设计程序设计参考资料 效果一览 基本介绍 Adaboost集成学习特征重要性分析(Python)Adaboost(自适应增强)是一种常用的集成学习方法,用于提高机器学习算法的准确性。它通过组合多个弱分类器来构建一个强分类器。在Adaboost中,每个弱分类器都被赋予一个权重,这些权重根据其在训练过程中的表现进行调整。因此,Adaboost可以通

机器学习算法(二):1 逻辑回归的从零实现(普通实现+多项式特征实现非线性分类+正则化实现三个版本)

文章目录 前言一、普通实现1 数据集准备2 逻辑回归模型3 损失函数4 计算损失函数的梯度5 梯度下降算法6 训练模型 二、多项式特征实现非线性分类1 数据准备与多项式特征构造2 逻辑回归模型 三、逻辑回归 --- 正则化实现1 数据准备2 逻辑回归模型3 正则化损失函数4 计算损失函数的梯度5 梯度下降6 训练模型 总结 前言 今天我们开始介绍逻辑回归的从零开始实现代码了,

首次使用回声状态网络 (ESN) 和语音特征进行帕金森病 (PD) 预测

帕金森病(Parkinson's disease, PD)是一种使人衰弱的神经退行性疾病,它需要进行精确和早期的诊断,以便为患者提供有效的治疗和护理。这种疾病是由James Parkinson在1817年首次确定的,其特征是多巴胺生成神经元的退化。多巴胺的不足导致了一系列症状,包括静止性震颤、肌肉僵硬、运动迟缓(姿势不稳定)、以及其他重要特征,如睡眠障碍、心律失常、便秘和语音变化,这

人脸识别技术:前沿应用与业务场景探索

随着科技的飞速发展,人脸识别技术已经成为我们日常生活中不可或缺的一部分。这项技术以其独特的生物特征识别能力,在公共安全、金融、交通、教育等多个领域展现出巨大的潜力和价值。本文将深入探讨人脸识别技术的原理、业务场景以及相关的成功案例。 一、人脸识别技术概述         人脸识别技术是一种基于生物特征识别的技术,它通过分析人脸的几何特征(如眼睛、鼻子、嘴巴等的位置和形状)以

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均包含简要注释。 结果展示 获取方式 https://mbd.pub/o/bread/mbd-ZpeYkpZw

基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PID控制器 4.2 积分分离PID控制器 4.3 滑模控制器 5.完整工程文件 1.课题概述 基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器。 2.系统仿真结果 (完整程序运行后无水印)

百度ai人脸识别项目C#

一、项目描述 本项目通过集成百度AI人脸识别API,实现了人脸检测和识别功能。用户可以上传图片,系统将自动识别人脸并返回识别结果。 二、开发环境 Visual Studio 2019或更高版本.NET Framework 4.7.2或更高版本AForge.NET库百度AI平台人脸识别API 三、具体实现 1.界面设计 1.1所用的库 AForge.Controls Vide

特征工程综述

在之前学习机器学习技术中,很少关注特征工程(Feature Engineering),然而,单纯学习机器学习的算法流程,可能仍然不会使用这些算法(现在大部分的算法网上也都有源码),尤其是应用到实际问题的时候,常常不知道怎么提取特征来建模,因此这里着重理解一下特征工程。 一、特征工程的意义          我们知道,影响分类/聚类结果的因素有:源数据、特征的提取、模型的选择。大