hog特征及其提取方法图示

1 什么是hog特征

hog特征是histogram of gradient的缩写。我们观察图像时,信息更多来自目标边沿的突变。我们计算一块区域内的所有像素处的梯度信息,即突变的方向和大小,然后对360度进行划分,得到多个bin,统计该区域内的所有像素所在的bin,就得到了一个histogram。这就是hog特征。

2 hog特征的提取方法

2.1 将彩色图像转换为灰度图像

2.2 Gamma归一化

2.3 计算每幅图像的梯度

2.3.1 梯度分量的计算

水平模板:[-1,0,1],水平方向以水平向右为正方向

竖直模板:[1, 0, -1]^T,竖直方向以竖直向上为正方向

2.3.2 梯度的计算

hog特征及其提取方法图示

如上图所示,计算出alpha和beta,然后alpha属于[0, 45度)的bin,beta属于[270度, 315)度的bin。

alpha = arctan(y/x)

beta = 360度 - arctan(y/x)

其中x和y是该梯度分别沿x轴和y轴的分量的模值。

2.4 将图像划分为多个cell,每个cell是6像素*6像素,然后每2*2的cell构成一个block

hog特征及其提取方法图示

2.5 对每个cell中的每个像素的梯度按照方向统计直方图,360度bin的划分如下,这里进行了8等分

hog特征及其提取方法图示

2.6 cell直方图的计算

分别得到落入[0, 45) [45, 90) [90, 135) [135, 180) [180, 225) [225, 270) [270, 315) [315, 360)的梯度,然后把每个bin中的梯度的模值相加,就得到了该bin的分量。

这样就得到了一个cell的特征,即一个8维的向量。

2.7 block特征的计算

将block中的cell的所有特征串联起来,构成该block的特征,然后归一化,就是说,把每个特征除以该特征向量的模值,归一化是为了消除光照的影响。这样每个block是一个8*4=32维的向量。

2.8 block是可以重叠的,block中的cell不重叠

也就是说,对于整个image而言,block可以重叠,比如说步长是8个像素,那么从0开始到11是一个block,然后从8开始到19是一个block,从16开始到27是一个block,它们之间是有重叠的。

2.9 最终的特征向量

将所有的block的特征向量串联起来就是最终的特征向量了,即hog特征。

上一篇:DownloadProvider调试


下一篇:青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 10(排行榜界面&界面管理)