定向梯度直方图

方向梯度直方图(HOG)特征描述子是目标检测中常用的特征描述符 1.

在下面的示例中,我们计算 HOG descriptor 并展示一种形象化。

算法概述

计算定向梯度直方图(HOG)的方法

  1. (可选)全局图像标准化

  2. 计算x和y方向的梯度图像

  3. 计算梯度直方图

  4. 跨数据块正常化

  5. 展平为特征向量

第一阶段应用可选的全局图像归一化均衡,旨在减少照明效果的影响。在实践中,我们使用伽马(幂定律)压缩,计算每个颜色通道的平方根或对数。图像纹理强度通常与局部表面照明成正比,因此此压缩有助于减少局部阴影和照明变化的影响。

第二阶段计算一阶图像梯度。它们捕捉轮廓、轮廓和一些纹理信息,同时提供对照明变化的进一步抵抗。使用局部主色通道,这在很大程度上提供了颜色不变性。不同的方法还可以包括二阶图像导数,其充当原始的条形探测器--用于捕获的有用特征,例如自行车和人类肢体中的条形结构。

第三个阶段旨在产生一种对本地图像内容敏感的编码,同时保持对姿势或外观的微小变化的抵抗力。所采用的方法以与SIFT相同的方式局部地汇集梯度方向信息 2 特写。图像窗口被分成几个小的空间区域,称为“单元格”。对于每个单元格,我们在单元格中的所有像素上累积一个局部一维梯度或边缘方向的直方图。这个组合的单元级一维直方图形成了基本的“方向直方图”表示。每个方向直方图将渐变角度范围划分为固定数量的预定箱。单元格中像素的梯度大小被用于投票进入方向直方图。

第四阶段计算归一化,即在进入下一阶段之前,将局部细胞组和对比度归一化它们的整体反应。规格化为照明、阴影和边缘对比度带来了更好的不变性。它是通过在我们称为“块”的局部单元组上累积局部直方图“能量”的量度来执行的。结果用于对块中的每个单元格进行归一化。通常,每个单独的单元在几个块之间共享,但其归一化依赖于块,因此是不同的。因此,该单元格以不同的归一化在最终输出向量中出现多次。这看起来可能是多余的,但它提高了性能。我们将归一化的块描述符称为定向梯度直方图(HOG)描述符。

最后一步将来自覆盖检测窗口的密集重叠块网格的所有块的HOG描述符收集成用于窗口分类器的组合特征向量。

参考文献

1

达拉尔和特里格斯,B.《用于人类检测的定向梯度直方图》,IEEE计算机学会计算机视觉和模式识别会议,2005,美国加州圣地亚哥。

2

David G.Lowe,<来自尺度不变关键点的独特图像特征>,《国际计算机视觉杂志》,60,2(2004),第91-110页。

Input image, Histogram of Oriented Gradients

输出:

/scikit-image/doc/examples/features_detection/plot_hog.py:90: FutureWarning:

`multichannel` is a deprecated argument name for `hog`. It will be removed in version 1.0. Please use `channel_axis` instead.

import matplotlib.pyplot as plt

from skimage.feature import hog
from skimage import data, exposure


image = data.astronaut()

fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16),
                    cells_per_block=(1, 1), visualize=True, multichannel=True)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharex=True, sharey=True)

ax1.axis('off')
ax1.imshow(image, cmap=plt.cm.gray)
ax1.set_title('Input image')

# Rescale histogram for better display
hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0, 10))

ax2.axis('off')
ax2.imshow(hog_image_rescaled, cmap=plt.cm.gray)
ax2.set_title('Histogram of Oriented Gradients')
plt.show()

脚本的总运行时间: (0分0.307秒)

Gallery generated by Sphinx-Gallery