快捷搜索:  汽车  科技

梯度直方图是谁提出的(HOGhistogramof)

梯度直方图是谁提出的(HOGhistogramof)其他的还有灰度化操作与Gamma矫正,这两个都是可选的操作。这一步主要是将图像裁剪缩放到「64x128」的尺度。最近两年一直在搞深度学习,对于本科时候看的HOG算法已经忘得差不多了,最近重新学习梳理一下这个经典的图像特征提取算法。image-20211215104938760HOG图像特征提取算法主要可以分为如下的几个步骤:

HOG(histogram of oriented gradients)方向梯度直方图

论文名称:Histograms of Oriented Gradients for Human Detection

梯度直方图是谁提出的(HOGhistogramof)(1)

image-20211215105534363

论文发表于2005年的CVPR,是一种有效的图像特征提取策略,至今已经收获了3万7千多的引用量。

最近两年一直在搞深度学习,对于本科时候看的HOG算法已经忘得差不多了,最近重新学习梳理一下这个经典的图像特征提取算法。

梯度直方图是谁提出的(HOGhistogramof)(2)

image-20211215104938760

HOG图像特征提取算法主要可以分为如下的几个步骤:

  1. 图像预处理
  2. 计算图像梯度
  3. 计算梯度直方图
  4. 图像HOG特征向量
1. 图像预处理

这一步主要是将图像裁剪缩放到「64x128」的尺度。

其他的还有灰度化操作与Gamma矫正,这两个都是可选的操作。

无论是灰度图还是RGB图都可以计算图像梯度,不过颜色图像分别对RGB通道进行计算选择其中最大的梯度作为最终的梯度即可。

Gamma矫正是为了减少光照对实验的影响,但是实验证明对结果影响不大。

2. 计算图像梯度

直接使用一维的sober算子分别计算像素点的水平以及竖直方向的梯度。

对于一个像素点,及其8邻域如下图所示。

梯度直方图是谁提出的(HOGhistogramof)(3)

其水平方向梯度为:

竖直方向梯度为:

最终像素点的梯度强度以及方向为:

梯度直方图是谁提出的(HOGhistogramof)(4)

梯度直方图是谁提出的(HOGhistogramof)(5)

3. 计算梯度直方图

在上一步中,计算得到图像中所有像素点的梯度强度以及方向。

将原始64x128图像切分为8x8大小的cell。在每个cell中计算梯度直方图,每个cell包含8x8个像素点,每个像素点包含两个值(梯度的强度以及方向)。统计cell中的值得到方向梯度直方图。

将180度的范围切分为20度的范围,最终得到9个范围的梯度直方图。如下图所示,左上图是每个cell的梯度方向,右上图是每个cell的梯度强度,下图是9个bins。利用插值的方式,将梯度强度映射到不同的梯度方向范围中,最终得到包含9个值的梯度直方图。

梯度直方图是谁提出的(HOGhistogramof)(6)

梯度直方图是谁提出的(HOGhistogramof)(7)

在获得每个cell的直方图后,将「2x2个cell组合为一个block」,将次block中计算得到的梯度直方图concat得到包含一个「4x9=36」长度的vector作为此block的特征向量。

然后利用L2Norm对这个36维的特征向量进行规范化。

4. 图像HOG特征向量

每个block得到一个长度为36的vector作为特征向量,原始「64x128的图像一共可以切分为7x15个block(按照cell步长为1向右滑动)」,最终将所有block的特征向量进行concat得到最终的7x15x36=3780维的特征向量。利用此特征可以进行后续的图像分类以及检测任务。

梯度直方图是谁提出的(HOGhistogramof)(8)

原文首发于「小哲AI」公众号,公众号主要分享人工智能前沿算法解读,AI项目代码解析,以及编程、互联网求职等技术资料文章,偶尔也会分享个人读书笔记、工作学习心得,欢迎关注,一起学习。

猜您喜欢: