我是靠谱客的博主 潇洒机器猫,最近开发中收集的这篇文章主要介绍python+OpenCV笔记(二十九):人脸检测与识别(一)——Haar级联一、Haar级联的概念化二、Haar特征三、获取Haar级联数据 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一、Haar级联的概念化

二、Haar特征

三、获取Haar级联数据 


一、Haar级联的概念化

        在显微镜下,没有两片雪花看起来是一样的,但我们必须承认,雪花在整体上的相似之处更加明显。因此,抽象图像细节的一些方法有助于产生稳定的分类和跟踪结果。这些抽象称为特征,把一组特征表示为一个向量,可以根据图像的对应特征向量之间的距离来度量两幅图像之间的相似程度。

        类 Haar 特征是应用于实时人脸检测的常用特征之一。每个类 Haar 特征描述了相邻图像区域之间的对比度模式。例如,边、顶点和细线都生成了一种特征。有些特征是独特的,因为这些特征通常出现在某一类对象(如人脸)上。而不会出现在其他对象上。可以把这些特征组织成一个层次结构,称为级联。其中最高层包含最显著特征,使分类器能够快速拒绝缺乏这些特征的主体

        对于任意给定的主体,特征可能会根据图像大小和正在评估对比度的领域大小而有所不同。正在评估对比度的领域大小称为窗口大小。为使 Haar 级联分类器尺度不变或者对尺度变化具有鲁棒性,窗口大小应保持不变。但是将图像重新缩放多次,在某种程度上,缩放时对象(如人脸)大小可能匹配窗口的大小。

        原始图像和缩放图像一起称为图像金字塔。图像金字塔中的每个连续的层都是一幅更小的缩小图像。OpenCV提供了一个尺度不变的分类器,可以以一种特定的格式从 XML 文件加载级联分类器。这个分类器在内部将任意给定图像转化为图像金字塔。

二、Haar特征

        我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的Haar特征会被使用,就像我们的卷积核,每一个特征是一个值,这个值等于黑色矩形中的像素值之和减去白色矩形中的像素值之和

Haar特征值反映了图像的灰度变化情况。例如︰脸部的一些特征能由矩形特征简单的描述,眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。

Haar特征可用于图像任意位置,大小也可以任意改变,所以矩形特征值是矩形模版类别、矩形位置和矩形大小这三个因素的函数。故类别、大小和位置的变化,使得很小的检测窗口含有非常多的矩形特征。

 得到图像的特征后,训练一个决策树构建的adaboost级联决策器来识别是否为人脸。

三、获取Haar级联数据 

方法1:从 OpenCV4 源代码中找到 data/haarcascades 的子文件夹,子文件夹内包括以下文件:

 方法2:访问githubLearning-OpenCV-4-Computer-Vision-with-Python-Third-Edition/chapter05/cascades at master · PacktPublishing/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition · GitHubLearning OpenCV 4 Computer Vision with Python 3 – Third Edition, published by Packt - Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition/chapter05/cascades at master · PacktPublishing/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Editionhttps://github.com/PacktPublishing/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition/tree/master/chapter05/cascades

        这些文件包含可以由cv2.CascadeClassifier的 OpenCV 类加载的 XML 文件。

        该类的实例把给定的 XML 文件解释为 Haar 级联,为某种类型的物体(如人脸)提供一个监测模型。 


人脸检测实操:

python+OpenCV笔记(三十):人脸检测与识别(二)——在静态图像与视频上进行人脸检测https://blog.csdn.net/qq_45832961/article/details/122741723


【参考】:OpenCV 4计算机视觉 Python语言实现(原书第三版) 作者:Joseph Howse

最后

以上就是潇洒机器猫为你收集整理的python+OpenCV笔记(二十九):人脸检测与识别(一)——Haar级联一、Haar级联的概念化二、Haar特征三、获取Haar级联数据 的全部内容,希望文章能够帮你解决python+OpenCV笔记(二十九):人脸检测与识别(一)——Haar级联一、Haar级联的概念化二、Haar特征三、获取Haar级联数据 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部