Hog
步骤:
- 图像预处理
- 梯度图
- 归一化
- SVM
一图读懂Hog
读不懂那就一点一点看吧------------------------------------
1、图像预处理:包括伽马校正或灰度化
2、计算每一个像素点的梯度值,得到梯度图(规模和原图大小一样)
其中:
- 水平梯度 gx =30-20=10
- 竖直梯度 gy=64-32=32
到此,梯度图以计算完成
梯度方向的范围是0-180度。取绝对值的原因是这样效果更好
首先,我将0-180度分成9个bins,分别是0,20,40...160。然后统计每一个像素点所在的bin。请看下图:
左上图是8*8的梯度方向值,右上图是8*8的梯度强度值,下图是9个bins。
先看两个蓝色圈圈。因为蓝圈的方向是80度,大小是2,所以该点就投给80这个bin;
再看两个红色圈圈。因为红色圈圈的方向是10,大小是4,因为10距离0点为10,距离20点为也为10,那么有一半的大小是投给0这个bin,还有一半的大小(即是2)投给20这个bin。
那么统计完64个点的投票数以后,每个bin就会得到一个数值,可以得到一个直方图,在计算机里面就是一个大小为9的数组。
3、对16*16大小的block归一化
归一化的目的是降低光照的影响。
上面取的8*8就是所谓的cell,以及求出的9bins就是cell的一维特征向量
对于图像中
检测窗口的尺寸为64×64,假设给出块的尺寸为16×16,块步长为(8,8),
经过计算:检测窗口中共滑动7×7=49个block。在一个块中选择细胞单元不再滑动,给出细胞单元的尺寸为(8,8),所以一个块中一共有2×2=4个cell。
每一个block将按照上图滑动的方式进行重复计算,直到整个图像的block都计算完成。