1,Haar特征:

Haar特征分为:边缘特征,线性特征,中心特征,对角线特征。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能有矩形特征简单的描述,如眼睛要比脸颊颜色深,鼻梁两侧要比鼻梁的颜色深,嘴巴比周围的颜色要深等。

2,Haar特征的生成

在实际中,haar特征可以在检测窗口中放大+平移产生一系列子特征,但是白:黑区域面积比始终保持不变。

那么这些通过放大+平移获得的子特征到底多少个?Rainer Lienhart在其论文中给出了完美的解释:假设检测窗口大小为W*H,矩形特征大小为w*h,X和Y为表示矩形特征在水平和垂直方向的能放大的最大比例系数:

如上图:在检测窗口中,一般矩形特征的数量为:

      

对应于之前的x3特征,当x3特征在24*24大小的检测窗口中时(此时W=H=24,w=3,h=1,X=8,Y=24),一共有27600个子特征。

3,计算Haar的特征值

当有了大量的Haar特征用于训练和检测时,接下来的问题是如何计算Haar特征值。

Haar特征值=白色区域内图像像素和 x 权重 - 黑色区域内图像像素和 x 权重:

对于x3和y3特征,weightwhite = 1且weightblack =2;对于point特征,weightwhite= 1且weightblack = 8;其余11种特征均为weightwhite = weightblack = 1。

为什么要设置这种加权相减,而不是直接相减?请仔细观察第一个图中的特征,不难发现x3、y3、point特征黑白面积不相等,而其他特征黑白面积相等。设置权值就是为了抵消面积不等带来的影响,保证所有Haar特征的特征值在“灰度分布绝对均匀的图像”中为0(这种图像不存在,只是理论中的)。

这也就是其他文章中提到的所谓“白色区域像素和减去黑色区域像素和”,只不过是加权相减而已(在XML文件中,每一个Haar特征都被保存在2~3个形如<x y width height weight>的标签中,其中x和y代表Haar矩形左上角点以检测窗口的左上角为原点的坐标,width和height代表矩形框的宽和高,而weight则对应了上面说的权重值,例如图3中的左边Haar特征应该表示为<4 2 12 8 1.0>和<4 2 12 4 -2.0>)。

图3

图4

可以看到,图3中2个不同Haar特征在同一组样本中具有不同的特征值分布,左边特征计算出的特征值基本都大于0(对样本的区分度大),而右边特征的特征值基本均匀分布于0两侧(对样本的区分度)。所以,正是由于样本中Haar特征值分布不均匀,导致了不同Haar特征分类效果不同。显而易见,对正负样本区分度越大的特征分类效果越好,即红色曲线对应图3中的的左边Haar特征分类效果好于右边Haar特征。

4,Haar特征值归一化

从图4中发现,仅仅一个20*20大小的Haar特征计算出的特征值变化范围从-2000~+6000,跨度非常大。这种跨度大的特性不利于量化评定特征值,所以需要进行“归一化”,压缩特征值范围。假设当前检测窗口中的图像为i(x,y),当前检测窗口为w*h大小(例如图3中为20*20大小),OpenCV采用如下方式“归一化”:

(1)计算检测窗口中图像的灰度值和灰度值平方和:

(2)计算平均值:

(3)计算归一化因子:

(4)归一化特征值:

5,积分图

仅仅在24*24大小的窗口,通过平移+缩放就可以产生数十万计大小不一、位置各异的Haar特征。在一个窗口内就有这么多Haar特征,而检测窗口是不断移动的,那么如何快速的计算这些Haar特征的特征值就是一个非常重要的问题了,所以才需要引入积分图。

对于图像中任何一点i(x,y),定义其积分图为ii(x,y)为

其中i(x',y')为点(x',y')处的原始灰度图。这样就定义了一张类似于数学中“积分”的积分图。有了积分图ii(x,y)后,只需要做有限次操作就能获得任意位置的Haar特征值。

图5 积分图计算Haar矩形框示意图

如图5,如果要计算D区域内像素和,只需计算ii(x1,y1)+ii(x4,y4)-ii(x2,y2)-ii(x3,y3),其中ii是积分图,(x1,y1)、(x2,y2)、(x3,y3)和(x4,y4)分别代表图5中的1、2、3、4点的图像坐标。显然可以通过此方法快速计算图像中任意位置和大小的Haar特征。

参考内容:https://blog.csdn.net/u012507022/article/details/54138299

https://blog.csdn.net/playezio/article/details/80471000

图像处理特征提取之(二):Haar特征相关推荐

  1. svm训练特征提取——图像特征提取三大法宝:HOG特征,LBP特征,Haar特征

    图像特征提取三大法宝:HOG特征,LBP特征,Haar特征 一.HOG特征 1.HOG特征: 即局部归一化的梯度方向直方图,是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图 ...

  2. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  3. OpenCV与图像处理学习十二——图像形状特征之HOG特征

    OpenCV与图像处理学习十二--图像形状特征之HOG特征 一.图像特征理解 1.1 颜色特征 1.2 纹理特征 1.3 形状特征 1.4 空间关系特征 二.形状特征描述 2.1 HOG特征 2.1. ...

  4. 图像处理之Haar特征

    Haar-like特征是计算机视觉领域一种常用的特征描述算子(也称为Haar特征,这是因为Haar-like是受到一维haar小波的启示而发明的,所以称为类Haar特征),后来又将Haar-like扩 ...

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

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

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

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

  7. 特征提取之——Haar特征

    本文有自己的原创,也有转载摘录的文章,转载部分在这里这里这里等等. 特征提取方法有很多种,比如说Haar特征,edgelet特征,shapelet特征,HOG特征,HOF特征,小波特征,边缘模板等等 ...

  8. 图像特征提取之Haar特征_人脸识别

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

  9. OpenCV + CPP 系列(卅九)图像特征提取(Haar特征)

    文章目录 Haar特征介绍(Haar Like Features) Haar特征介绍(Haar Like Features) Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征.它分为 ...

  10. Haar特征类有哪些最新发表的毕业论文呢?

    一.总体简介 Haar特征的相关文献在2006年到2020年内共计132篇,主要集中在自动化技术.计算机技术.无线电电子学.电信技术.公路运输 等领域,其中期刊论文100篇.会议论文4篇.专利文献28 ...

最新文章

  1. cookie存值和page分页
  2. 数据中心如何建设,数据中心机房维护方法详解!
  3. HS_300_PE.csv
  4. 单片微型计算机 第九章自测题,单片微型计算机网上练习题答案..doc
  5. 【LUOGU???】WD与积木 NTT
  6. java实验金额转换_java 数字金额转换中文金额
  7. 内容生态搜索趋势研究报告
  8. CSS练习_云层效果
  9. scala案例_Scala案例类和案例对象深入(第1部分)
  10. mysql 远程访问
  11. 【Android应用】 九宫格日志
  12. 透过分布地图,看我中华大地!
  13. 年终盘点:2021年中国科技的重大突破
  14. MT7688的openwrt下4G的移植
  15. python随笔01(robotframework自动化)
  16. C++ 中read和write函数
  17. 苹果手机投影_iPhone 11竟然升级成了浴霸,看来智能手机的未来要靠它了!
  18. .tga图片的文件格式分析
  19. 将电子版照片信息或者扫描件快速识别导出 OCR识别技术
  20. 生物信息学|MOLI:基于深度神经网络进行多组学数据整合并用于药物反应预测

热门文章

  1. 游戏中的数学:向量数学(vector math)
  2. 示波器上1G/S 100MHZ的含义
  3. 服务器显示器指示灯不亮,电脑显示器指示灯不亮怎么办
  4. 我本人常去的一些技术性网站!!(不定期更新)
  5. 《批判性思维》感1.1-[信念执念断言]
  6. Swift高仿喜马拉雅APP之一Charles抓包、图片资源获取等
  7. imshow、image以及imagesc的区别
  8. Git64位windows版Git-2.10.1-64-bit.exe
  9. 2022.08 VMware官网下载安装+配置Linux虚拟机,最新最全
  10. rs232读取智能电表_深度了解智能电度表,面板内容大揭秘!