最近在目标探测与识别课上学了积分图和Haar特征的相关知识。刚学的时候,对Haar特征的数量计算有一些疑惑。后来查阅相关资料之后,恍然大悟了。下面分享一下我的见解:

积分图

这个就不用多说了。积分图尺寸与原图像尺寸一致,积分图上任意一点(x,y)的值就是原图像上从左上角到对应(x,y)位置所围成的矩形区域所有像素的灰度值之和。

由积分图计算Haar特征

使用积分图计算Haar特征,主要是为了加快计算速度。比如,在积分图的基础上计算某一矩形区域的像素值之和时,可以参考下图

这里要注意的是,A区域(ii1)的右下角不在D区域里,在实际计算的时候要看仔细。
Haar特征主要有五个,分别是:

上图中的黑白两色分布可能跟有些资料上刚好相反,不过实质是一样的。比如,人眼睛和眉毛之间以及嘴唇存在边缘特征一,鼻梁存在线性特征四

在利用积分图计算Haar某一特征的时候,是用白色矩形区域的像素值之和减去黑色矩形区域的像素值之和(当然你也可以用黑色的减去白色的,这取决于自己的实际应用)。
这里以计算边缘特征1为例,

计算结果应该是B区域的像素值之和减去A区域的像素值之和。

Haar特征值的数量及其计算

一幅2424大小的图像中含有的Haar特征总数量达到了162336个。具体的计算公式可以参考Haar特征与积分图
下面我以一幅3
3大小的图像介绍一下怎么算它的Haar边缘特征一。

首先要确定Haar特征一的尺寸。

特征一由上下两部分组成。因此特征一的高度必须能被2整除,即能够分成上下两份;而特征一的宽度没有特殊要求,视具体情况而定。
比如在33的图像上计算12大小的Haar特征一,过程如下

每次计算都是矩形下半部分(视为白色区域)的像素值之和减去上半部分(视为黑色区域)的像素值之和。结果依次是0,0,0;0,-1,0 …
这样大小的特征算子在33的图像里能够滑动6次,也就是能得到6个特征值。
当然我们还能取2
2大小的算子在图像里滑动,能够滑动4次;还能取32大小的算子,能够滑动2次。再大的算子就超过了图像的尺寸,不能取了
因此在3
3大小的图像里,Haar特征一的特征值数量为6+4+2=12个,这与用公式计算得到的结果是一致的。
在实际应用中,按情况取固定尺寸的算子来滑动计算就好啦

Haar特征计算的一些见解相关推荐

  1. 分类器是如何做检测的?(2)——【续】检测中的LBP和HAAR特征计算过程

    前面介绍分类器检测过程的示例中是以HOG特征为例,那LBP和HAAR特征在xml中是如何表达和测试的呢? 2.3    LBP与HAAR特征 HAAR特征的计算和表达方式与HOG很类似,在OpenCV ...

  2. Haar特征和级联分类器目标检测介绍及应用

    文章目录 Haar特征和级联分类器目标检测介绍及应用 1. Haar特征 2. 级联分类器 3. 实现步骤 4.尝试训练自己的级联分类器 4. 应用示例 Haar特征和级联分类器目标检测介绍及应用 H ...

  3. OpenCV14:Haar特征

    首先,我们需要了解特征是什么?所谓特征,就是某个区域的像素点经过某种运算后得到的结果. 其中,结果可能是 具体值.向量.矩阵 那么如何利用特征区分目标(即如何判断特征)?方法之一是,类似于阈值判决的方 ...

  4. Adaboost 人脸检测:Haar特征及积分图、分类器的级联

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 人脸识别功能实现的原理介绍与算法介绍 人脸识别:人脸数据集 A ...

  5. haar分类器详解(Haar特征,积分图,adaboost算法,筛选式级联分类器),DCG介绍 --文献阅读报告《基于素描对视频的人脸识别研究》

    基于素描对视频的人脸识别--haar分类器详解,haar特征,adaboost,级联强分类器,积分图,DCG 背景 算法总体流程 1.预处理--识别出人脸并将人脸图像标准化 haar特征 积分图--加 ...

  6. 物体识别算法——SIFT/SURF、haar特征、广义hough变换的对比分析

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:cvvision 链接:http://www.cvvision.cn/7780.html 来源:CV视觉网 识别算法概述: ...

  7. 目标检测的图像特征提取—Haar特征

    1.Haar-like特征 Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征. Haar特征分为三类:边缘特征.线性 ...

  8. Haar特征原理与icvCreateIntHaarFeatures方法的具体实现附详细注释—— 人脸识别的尝试系列(二)

    带着强烈的兴趣,上周开始人脸识别的尝试与学习,并且将具体的操作过程记录了下来 链接如下:http://blog.csdn.net/u011583927/article/details/44627493 ...

  9. Haar特征与积分图—概念解析

    1. Adaboost方法的引入 1.1 Boosting方法的提出和发展 在了解Adaboost方法之前,先了解一下Boosting方法. 回答一个是与否的问题,随机猜测可以获得50%的正确率.如果 ...

最新文章

  1. python3 多线程简介
  2. C/Cpp / 设计模式 / 观察者模式
  3. 我们“凭什么”找工作?
  4. confirm弹框修改按钮确认取消为是否
  5. 精度、延迟两不误,移动端性能新SOTA,谷歌TF开源轻量级EfficientNet
  6. Android SDK隐藏,如何使用可用的隐藏API和内部API构建Android SDK?
  7. VC++ MsChart控件怎么用?
  8. 大数据发展现状和趋势
  9. 3dmax材质丢失插件_3dmax找丢失贴图的材质插件怎么用
  10. vue 动态背景图轮播
  11. html怎么改变图片整体大小,html怎么改变图片大小
  12. 先验 超验_关于先天、先验、经验和超验的理解
  13. 文本数据挖掘----初识数据挖掘
  14. 魔兽争霸III显示器设置分辨率 修改注册表单实现
  15. Tkinter保姆级教程(上)
  16. ubuntu18给当前用户安装cuda11.2 图文教程 、 配置cuDNN8.1 ——【一文读懂】
  17. 自由人NFT:数字藏品乱象中,我们如何辨别?
  18. 【Gas优化】GasChecker
  19. 网易企业邮箱搬家步骤
  20. 多箭齐发稳增长 地方两会圈定2022年经济重点

热门文章

  1. 如何查看Linux操作系统版本?
  2. 搭建拥有自己的qq机器人(含代码)
  3. UDS - odx otx
  4. 怎么修改linux系统时区,Linux系统时区该怎么修改?
  5. proposal presentation
  6. R语言操作PDF文件的包
  7. 全角转半角,JAVA对中文的处理
  8. 不知道去哪找java基础资料?推荐几个学习网站,小白必备
  9. PostGIS安装---基于centos7
  10. C语言题目:左旋字符串.