Advertisement

图像特征— —Haar特征

阅读量:

概念

将 Haar 特征求取分为四个类型:边缘特征求取、线性特征求取、中心特征求取以及对角线特征求取,并构建出完整的 Haar 特征模板。该 Haar 特征模板由白色区域与黑色区域组成,并定义该模板的 Haar 特征值为白色区域像素数量与黑色区域像素数量之差。通过计算 Haar 特征值能够反映图像亮度的变化情况。例如:脸部的一些 features 能由矩形 features 简单地描述如眼睛部位比脸颊整体颜色更深鼻梁两侧比鼻梁整体颜色更深嘴角部位比周边颜色更深等然而在实际应用中发现这种基于矩形 feature 的方法主要针对的是那些具有明显边缘或直线结构的对象

这里写图片描述

通过调整图像模板的空间尺度与位置参数,在指定区域窗体中能够穷尽多种多样的模式特性。上图所示的那个模板被称为"原始模式";当该原始模式在区域窗体内部执行平移或缩放操作时所生成的新模板则被统称为"矩形结构";而这些新模板所具有的数值特性即为"特徵强度"。

在图像中任意确定的位置上均可放置矩形特征,并且其大小亦能被随意调节。由此可知,在这种情况下其值是由其模版类别、位置参数以及尺寸参数共同决定的一个函数关系。这些因素的变化导致模版类、尺寸与定位参数的变化,在极小规模的小窗口中却包含了大量丰富的特征信息。在一个固定为24×24像素的窗口内,则通过不同设置会产生超过16万条左右的不同特征。

Haar特征数量计算

基于图中的一个m \times m大小的子窗口区域, 我们可以统计在如此较大(此处可替换为"较大的")的子窗口区域内共有多少个矩形特征.

这里写图片描述

对于采用 m×m 像素分辨率的检测器而言,在其内部所有满足特定条件的矩形数量可以通过以下方式计算。

对于任意大小为m×m的子窗口,在不改变其形状的前提下只需唯一确定一个这样的子窗口;若该子窗口还需满足以下两个关键要求(被称作(s, t)条件;符合该条件的子窗口则被称为满足条件的子窗口):

  1. x 方向边长必须能被自然数s 整除(能均等分成s 段)

  2. y 方向边长必须能被自然数t 整除(能均等分成t 段)

则该矩形的最小尺寸分别为 s \times tt \times s
其最大大小则分别由 \lfloor \frac{m}{s} \rfloor \times s \times \lfloor \frac{m}{t} \rfloor \times t\lfloor \frac{m}{t} \rfloor \times t \times \lfloor \frac{m}{s} \rfloor \times s 组成;
其中 \lfloor\,\cdot\,\rfloor 表示取整运算符

我们通过下面两步就可以定位一个满足条件的矩形:

这里写图片描述

由上分析可知,在m×m 子窗口中,满足(s, t)条件的所有矩形的数量为:

这里写图片描述

具体来说,在s,t条件下反映了矩形特性的表征;在此基础上列出了一些典型矩形特性的s,t组合情况:

这里写图片描述
这里写图片描述

下面以 24×24 子窗口为例,具体计算其特征总数量:

这里写图片描述

下面列出了,在不同子窗口大小内,特征的总数量:

这里写图片描述

Haar特征计算—积分图

Integral Image即是一种仅需遍历一次整个图像即可计算出所有区域的像素和总和的快速算法,并显著提升了图像特征值计算的效率。

积分图的核心概念是将图像从起始点到每个点所形成的矩形区域像素之和作为一个数组元素存储在内存中。当需要计算某个区域的像素总和时可以通过直接引用数组中的对应元素而无需重复计算该区域的像素总和从而显著提升了计算效率。此外该技术能在不同尺度下以恒定时间(即常数时间)完成不同特征的计算因此大幅优化了检测速度。

积分图即为一种能体现全局信息特征的数据结构形式。在构建过程中,其数值计算结果即为位置(x,y)处对应的值i_i(x,y),该值等于原图像中位于该点左上方区域的所有像素灰度值之总和:

这里写图片描述

积分图构建算法:

这里写图片描述

1)用s(x,y)表示行方向的累加和,初始化s(x,-1)=0;

2)用ii(x,y)表示一个积分图像,初始化ii(-1,y)=0;

对图像进行逐像素遍历处理,并按顺序计算每个像素(i,j)在行方向上的累加和s(i,j),同时生成积分矩阵ii(i,j)的值。

s(x,y)=s(x,y-1)+i(x,y)

ii(x,y)=ii(x-1,y)+s(x,y)

4)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。

这里写图片描述

当构建完成积分图后,对于任意选取的矩阵区域内的所有像素点数值之和,均可以通过简单的数学计算得出其总和值。如图所示,则可直观地看出各个区域的累加结果。

这里写图片描述

Haar特征值本质上就是两个矩阵像素和之间的差异;同样可以在常数时间内完成这一过程;因此,在计算基于矩形特性的Haar特征值时,仅需关注该特定矩形区域端点处对应的积分图数据;无论该特定矩形区域 undergo何种尺度变换(scale transformation),其对应的 Haar 特征值得计算时间始终保持不变;这样一来,在一次完整的图像扫描过程中 就能够得到所有可能子窗口对应的 Haar 特征值。

参考

<>

全部评论 (0)

还没有任何评论哟~