[2005CVPR]Histograms of Oriented Gradients for Human Detection

HOG这种方法跟边缘方向直方图尺度不变特征变换(SIFT)以及形状上下文方法shape contexts有很多相似之处,但与它们的不同点是HOG描述器是在一个网格密集的大小统一的细胞单元上计算,而且为了提高性能,还采用了重叠的局部对比度归一化.HOG方法是在图像的局部细胞单元上操作,所以它对图像几何和光学的形变都能保持很好的不变.




算法步骤step1:Gamma/Colour Normalization

作者分别在灰度空间、RGB色彩空间和LAB色彩空间上对图像进色彩和 伽马归一化,但实验结果显示,这个归一化的预处理工作对最后的结果没有影响,原因可能是:在后续步骤中也有归一化的过程,那些过程可以取代这个预处理的归一化。所以,在实际应用中,这一步可以省略。


算法步骤step2:Gradient Computation 

Several smoothing scales were tested include- ing σ =0 (none)
uncentred [−1, 1], centred [−1, 0, 1] and cubic- corrected [1, −8, 0, 8, − 1]
2×2 diagonal     
3×3 Sobel
Simple 1-D [−1, 0, 1] masks at σ =0 workbest
For colour images, wecalculate separate gradients for each colour channel, andtake the one with the largest norm as the pixel’s gradient vector. 

算法步骤step3:Spatial / Orientation Binning 

0◦– 180◦ (“unsigned” gradient) or 0◦–360◦ (“signed”gradient) 作者发现,采用无向的 梯度和 9 个直方图 通道,能在行人检测试验中取得最佳 的效果
为每个 cell 统计方向梯度直方图,是一个 9 维的向量,采用三次插值进行投票。为什么是三次插值呢?[两次是偏移x,y,一次是角度,比如我的角度是20度的话,那就要分给0-20度和20-40度的]
it is useful to downweight pixels near the edges of the block by applying aGaussian spatial window to each pixel before accumulating orientation votesinto cells. ( σ = 0.5 ∗ blockwidth )

算法步骤step4:grouping the cells together into larger blocks

[2005CVPR]Histograms of Oriented Gradients for Human Detection_第1张图片如左图,会有 4 * 4 block, 每个 block 里面都有 4 cell, 所以总共有 (4*4)*(2*2)*9 个特征

R- HOG 区间 大体上是一些 方形的 格子, 它可以有三个参数 来表征:每个区间中细胞单元的数目、每个细胞单元中像素点的数目、每个细胞 的直方图通道数目
block的overlap提高了5%的performance,overlap可以消除block之间的突变

算法步骤step5:Normalization and Descriptor Blocks 



L2-Hys, L2-norm followed by clipping (limitingthemaximumvaluesof v to 0.2) and renormalizing


算法步骤step6:svm训练

我用的是libsvm



算法的总结

RGB colour space with nogamma cor rection ;
[−1, 0, 1]gradient filter with no smoothing ;
linear gradient voting into 9 orientation bins in 0◦–180◦;
16 ×16 pixelblocks of four 8×8 pixel cells; Gaussian spatial win- dow with σ = 8 pixel;
L2 -Hys (Lowe-styleclipped L2 norm) block normalization;
block spacing stride of 8 pixels (hence 4-fold coverage of each cell) ;
64×128detection window ;
linear SVM classifier.

对于64*128的窗口,因为cell width = cell height = 8,又加上block的overlap,所以总共有7*15个block
每个block内又有4个cell,每个cell是一个9维的特征,所以每个block有36维特征

我们来计算一下特征数 :(64/8-1)*(128/8-1) *  4 * 9 = 3780



作者还提到了圆形的block [2005CVPR]Histograms of Oriented Gradients for Human Detection_第2张图片


[2005CVPR]Histograms of Oriented Gradients for Human Detection_第3张图片


e图就是生成的特征

根据f图就可以看出对于人来说,轮廓占的svm权重比较大


INRIA行人库   http://pascal.inrialpes.fr/data/human/

hog+svm源代码  timehandle的http://hi.baidu.com/nokltkmtsfbnsyq/item/f4b73d06f066cd193a53eec3

你可能感兴趣的:(of,Histogram,HOG,oriente)