【VJ算法】Haar 特征 + integral image 积分图


1、Haar特征 与 Haar特征提取模板

定义
Haar 特征提取算法 是一种图像特征提取算法。
基于不同目标,使用不同特征提取模版,提取到的 Haar 特征分为:
(1)边缘特征
(2)线性特征
(3)中心特征和对角线特征,组合成的特征

Haar特征 由 原图Haar特征提取模板 计算得出。

Haar特征提取模版:可以理解为卷积模板 (如同prewitt、sobel算子,当然不完全一样)。其有如下几种(包括水平、垂直、斜45度):

在这里插入图片描述
计算得出的Haar特征有如下三类(由 Haar特征提取模板 决定):
(1)边缘特征
(2)线性特征
(3)中心特征和对角线特征,组合成的特征


2、Harr特征的计算方式

将Harr特征提取模版作为窗口,在原图像上滑窗
Harr特征值 = 黑色区域中的像素和 - 白色区域中的像素和

举例如下:
在这里插入图片描述


3、Haar特征 的使用

Haar特征值反映了图像的灰度变化情况。这种矩形特征只对一些简单的图形结构较敏感(如边缘、线段),所以只能描述特定走向(水平、垂直、对角)的结构。

Haar特征多用于人脸检测、行人检测。


4、opencv 中的 haar特征的使用

OpenCV(2.4.11版本)所使用的共计14种Haar特征,包括:

  • 5种Basic特征
  • 3种Core特征
  • 6种Titled(即45°旋转)特征

在使用opencv自带的训练工具进行训练时,haarFeatureParams参数中的mode参数正对应了训练过程中所使用的特征集合:

  1. 如果mode为BASIC,则只使用BASIC的5种Haar特征进行训练,训练出的分类器也只包含这5种特征。
  2. 如果mode为CORE,则使用BASIC的5种Haar特征 + CORE的3种Haar特征 进行训练。
  3. 如果mode为ALL,则使用BASICA的5种Haar特征 + CORE的3种Haar特征 + ALL的6种TitledHaar特征 共14种特征进行训练。

默认使用BASIC模式,实际训练和检测效果已经足够好。不建议使用ALL参数,引入Titled倾斜特征需要多计算一张倾斜积分图,会极大的降低训练和检测速度。

在这里插入图片描述


5、积分图

在第2部分 介绍了特征图的计算方式。按照那种计算方式,计算每个窗口的特征值,都需要计算:

  • 黑色区域像素和
  • 白色区域像素和
  • 黑白两部分的差值

这样计算量会比较大。如果使用积分图会大大减小我们的计算量。

1)什么是积分图?

积分图是一张与原图像尺寸相同的图。 积分图中每个像素点(x, y)的值是 原图像中从(0, 0)点到 相同位置的点(x, y)间的所有像素和。如下图:

在这里插入图片描述

2)使用积分图快速求区域像素和

原图中区域D 的像素和,可使用积分图如下公式计算得出
在这里插入图片描述

3)使用积分图快速的计算Haar特征

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Enzo 想砸电脑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值