HOG特征

HOG特征是一种用于目标检测的特征描述子,通过计算图像局部区域的梯度方向直方图来描述物体。该方法将图像划分为小的细胞,统计每个细胞的梯度直方图,并在更大的块上进行归一化,以增强光照和位置不变性。HOG特征常用于行人检测,通过不同尺度和旋转的模板匹配实现尺度和旋转不变性。与其他特征相比,如SIFT,HOG计算量较小,但在行人检测中表现出色。HOG的计算包括图像灰度化、梯度计算、直方图统计、块归一化等步骤。
摘要由CSDN通过智能技术生成

HOG特征概述

HOG即histogram of oriented gradient, 是用于目标检测的特征描述子,该技术将图像局部出现的方向梯度次数进行计数,该方法和边缘方向直方图、scale-invariant feature transform类似,不同的是hog的计算基于一致空间的密度矩阵来提高准确率。Navneet Dalal and Bill Triggs首先在05年的CVPR中提出HOG,用于静态图像or视频的行人检测。


HOG特征原理

HOG的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述。通过将整幅图像分割成小的连接区域(称为cells),每个cell生成一个方向梯度直方图或者cell中pixel的边缘方向,这些直方图的组合可表示出(所检测目标的目标)描述子。为改善准确率,局部直方图可以通过计算图像中一个较大区域(称为block)的光强作为measure被对比标准化,然后用这个值(measure)归一化这个block中的所有cells.这个归一化过程完成了更好的照射/阴影不变性。

与其他描述子相比,HOG得到的描述子保持了几何和光学转化不变性(除非物体方向改变)。因此HOG描述子尤其适合人的检测。

通俗的讲:

HOG特征提取方法就是将一个image:

1.            灰度化(将图像看做一个x,y,z(灰度)的三维图像)

2.            划分成小cells(2*2)

3.            计算每个cell中每个pixel的gradient(即orientation)

4.            统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor


HOG特点

再小谈下Hog、SIFT与PCA-SIFT的应用与区别:

Hog没有旋转和尺度不变性,因此计算量小;而SIFT中每个feature需要用128维的向量来描述,因此计算量相对很大。

那么行人检测中怎么应用HOG呢

对于解决Scale-invariant 的问题:将图片进行不同尺度的缩放,就相当于对模板进行不同尺度scale的缩放

对于解决Rotation-invariant 的问题:建立不同方向的模版(一般取15*7的)进行匹配

总的来说,就是在不同尺度上的图像进行不同方向的模板(15*7)匹配,每个点形成一个8方向的梯度描述。


SIFT由于其庞大计算量不用与行人检测,而PCA-SIFT的方法过滤掉很多维度的信息,只保留20个主分量,因此只适用于行为变化不大的物体检测。


HOG特征的原始文献

"Histograms of Oriented Gradients for Human Detection" 

"Finding People in Images and Videos" (PhD Thesis) (较为详细)


 HOG特征算子的网络参考资料

http://www.cnblogs.com/tornadomeet/archive/2012/08/15/2640754.html //讲的很好,讲解了源码的算法和思路

http://blog.csdn.net/carson2005/article/details/7841443#

http://blog.csdn.net/abcjennifer/article/details/7365651

http://blog.csdn.net/zouxy09/article/details/7929348#


HOG算子定义

HOG又叫梯度直方图特征,是一种对图像局部重叠区域的密集型描述符, 它通过计算局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。

        HOG特征是一种局部区域描述符,它通过计算局部区域上的梯度方向直方图来构成人体特征,能够很好地描述人体的边缘。它对光照变化和小量的偏移不敏感。

图像中像素点(x,y)的梯度为

    

Dalal提出的Hog特征提取的过程:把样本图像分割为若干个像素的单元(cell),把梯度方向平均划分为9个区间(bin),在每个单元里面对所有像素的梯度方向在各个方向区间进行直方图统计,得到一个9维的特征向量,每相邻的4个单元构成一个块(block),把一个块内的特征向量联起来得到36维的特征向量,用块对样本图像进行扫描,扫描步长为一个单元。最后将所有块的特征串联起来,就得到了人体的特征。例如,对于64*128的图像而言,每2*2的单元(16*16的像素)构成一个块,每个块内有4*9=36个特征,以8个像素为步长,那么,水平方向将有7个扫描窗口,垂直方向将有15个扫描窗口。也就是说,64*128的图片,总共有36*7*15=3780个特征。


在行人检测过程中,除了上面提到的HOG特征提取过程,还包括彩图转灰度,亮度校正等步骤。总结一下,在行人检测中,HOG特征计算的步骤:

(1)将输入的彩图转换为灰度图;

(2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);   目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;

(3)计算梯度;主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

(4)将梯度投影到单元的梯度方向;目的是为局部图像区域提供一个编码,

(5)将所有单元格在块上进行归一化;归一化能够更进一步对光照、阴影和边缘进行压缩,通常,每个单元格由多个不同的块共享,但它的归一化是基于不同块的,所以计算结果也不一样。因此,一个单元格的特征会以不同的结果多次出现在最后的向量中。我们将归一化之后的块描述符就称之为HOG描述符。

(6)收集得到检测空间所有块的HOG特征;该步骤就是将检测窗口中所有重叠的块进行HOG特征的收集,并将它们结合成最终的特征向量供分类使用。




HOG特征描述算子的原理、思路、步骤

1. HOG特征描述子的定义

HOG Descriptor: locally normalised histogram of gradient orientation in dense overlapping grids,即局部归一化的梯度方向直方图。


2. HOG特征的基本思想

Histogram of Oriented Gradient descriptors provide a dense overlapping description of image regions,即统计图像局部区域的梯度方向信息来作为该局部图像区域的表征。

HOG有点类似于SIFT特征描述子,区别: 
1)HOG没有选取主方向,也没有旋转梯度方向直方图,因而本身不具有旋转不变性(较大的方向变化),其rotate不变性是通过采用不同旋转方向的训练样本来实现的; 
2)HOG本身不具有scale不变性,其scale不变性是通过改变检测图像的size来实现的;

3)HOG是在dense采样的图像块中求取的,在计算得到的HOG特征向量中隐含了该块与检测窗口之间的空间位子关系,而SIFT特征向量是在一些独立并离散分布的特征点上提取的(dense SIFT除外)。


3. HOG特征的假设和出发点

The hypothesis is that local object appearance and shape can often be characterised rather well by the distribution of local intensity gradient or edge directions, even without precise knowledge of the corresponding gradient or edge positions. 即,在图像中,物体的局部外观和形状能够通过其局部梯度或边缘信息很好地表征和描述。


3. HOG特征描述向量的提取与计算步骤


HOG特征提取的流程图如下图所示:



1)全局图像归一化

目的:减少光照的影响

方法:gamma compression 
a) 对每个颜色通道分别,计算平方根,或者 
b) 对每个颜色通道分别,求log


2)计算图像梯度

目的:通过梯度信息来描述图像中物体的边缘、轮廓、形状等纹理信息

方法:对每个颜色通道分别计算梯度。梯度算子:水平边缘算子: [-1, 0, 1] ;垂直边缘算子: [-1, 0, 1]T 。

最后选择三个通道中具有最大模值norm的梯度vector作为该像素的gradient vector。


3)统计局部图像梯度信息

目的:统计局部图像梯度信息并进行量化(或称为编码),得到局部图像区域的特征描述向量。该特征描述算向量既能够描述局部图像的内容,又能够对该图像区域内的pose或外观的小变化具有不变性。

方法:求取梯度方向直方图

a)将image window划分为多个区域“cell”;

b)为每个“cell”计算一个1-D的加权梯度方向直方图;

其中,直方图包含9个bin,划分区间:0°-180°或0°-360°。

其中,加权采用三线性插值方法,即将当前像素的梯度方向大小、像素在cell中的x坐标与y坐标这三个值来作为插值权重,而被用来插入的值为像素的梯度幅值。

采用三线性插值的好处在于:避免了梯度方向直方图在cell边界和梯度方向量化的bin边界处的突然变化。


4)归一化

目的:对每个block得到的histogram进行归一化后,能够够对光照、阴影、边缘对比度等具有更好的不变性、

方法:

1)将多个临近的cell组合成一个block块,然后求其梯度方向直方图向量;

2)采用L2-Norm with Hysteresis threshold方式进行归一化,即将直方图向量中bin值的最大值限制为0.2以下,然后再重新归一化一次;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值