各位看客,如发现错误(应该还有一些),望不吝指教。因为有删减,所以不是特别详细具体
以前写的内容:
HOG(Histograms of Oriented Gradients)特征是Dalal于2005年针对行人检测问题提出的特征,能够大体描述行人的轮廓[12]。HOG特征是目前行人检测领域最常用的特征。对于其它非行人目标的检测,HOG特征也取得了突出效果,可以说是目标检测邻域,单一特征中效果最好的特征[26]。此外,HOG特征还被应用到姿态估计[62],人脸识别[63],表情识别[64],场景分类等[65]等问题。
图 2.8 HOG特征的提取流程
HOG的提取流程如图 2.8,下文对每一个部分进行详细介绍。
(1)伽马校正
使用伽马变换对图像预处理,增强图像暗区的对比度[64]。Dalal的实验结果表明,使用Gamma变换后,在FFPW为的条件下误检率可降低 。
(2)计算梯度
以表示图像某一通道中处的颜色值,其处的水平方向梯度记为,垂直方向梯度记为,计算式如下:
则 处的梯度幅值 和梯度方向 计算公式如下:
实际计算时,分别使用模板和对图像卷积得到和,对于多通道图像,选择梯度幅值最大的通道的梯度作为该像素点的梯度。
图 2.9 块内的梯度插值和加权示意图
(3)统计梯度方向
这一步骤是HOG特征计算的核心,将图像划分为的单元(Cell),个单元组成一个块(Block),块内的梯度插值和加权方式如图
2.9所示。块内的像素点对块内的单元进行投票。每个单元都统计一个梯度方向直方图。梯度方向没有符号区分,即将梯度方向在范围内等间隔划分为9个区间(Bin)。每一个像素点的梯度方向都采用线性插值,即对梯度方向相邻的两个区间投票。此外,还要对该像素点周围的单元进行双线性插值投票,具体来说,F、G、J、K内的像素点需要对Cell
0-Cell 3共4个单元进行插值,而A、D、P、M内的点只需对其所在的单元插值,其余的区域需要对2个单元插值。像素点对某一个单元的某一个梯度方向的权重,为该点的梯度方向在该梯度方向和该单元插值后,再经过高斯加权后的值。如图 2.9所示,高斯加权使得越靠近块中心的像素点权值越大,反之越小。
(4)归一化
为了克服光照不均匀以及前景与背景的对比差异,有必要采用局部归一化。HOG特征首先对每一个块的36维向量进行L2-norm归一化,即,然后使用截断,即,最后再重新进行一次L2-norm归一化。由于块与其周围的块有重叠,使得每个单元对其周围的块都有贡献,但归一化的块并不一样。这样虽然会造成信息冗余,但是能显著提升算法精度。
(5)向量化
最后,将检测窗口内的特征组成一维向量。Dalal设定的步长为8个像素,因此相邻块之间会有1-2个重叠的单元,而每个单元对其周围的4个块都有贡献。对于的检测窗口最终组成维的特征向量。