21

我正在实现“用于人体检测的定向梯度直方图”中的定向梯度直方图特征,我想可视化结果。所有关于这些特性的论文都使用标准的可视化,但我找不到任何关于这些特性是如何生成的描述。我将不胜感激解释或有用的链接。

4

5 回答 5

13

你在论文中看到的可视化可以解释如下:

描述符由网格中覆盖图像窗口的 M*N 个单元组成。每个单元由边缘方向的直方图表示,其中离散化边缘方向的数量是一个参数(通常为 9)。细胞直方图通过“星”显示直方图中边缘方向的强度:特定方向越强,相对于其他方向的时间越长。

请注意,有多种归一化方案:局部方案,其中单元格仅相对于相邻单元格进行归一化(如 Dalal-Triggs 的原始论文中所示),或全局方案,其中方向长度由所有单元格归一化. 另请注意,一些作者对每个单元格使用多个局部归一化(例如我在下面提到的那个),但可视化仅显示一个(或它们的平均值)。

Felzenszwalb 等人开创性工作的 Matlab 代码。通过在图像上绘制细胞来可视化细胞,其中强度通过边缘的强度而不是长度来可视化。你可以在他们在这里提供的包中找到它(DPM)。查找名为 HOGpicture.m 的函数

下面的示例显示了一个自行车模型(来自 Felzenszwalb 等人),其 HoG 由 7*11 个单元组成,每个单元有 8 个方向

自行车的 HoG 模型,取自 Felzenszwalb 等人

于 2012-11-04T07:54:16.807 回答
11

一个名为Jurgenwiki的博客有一些示例代码(称为get_hogdescriptor_visu()),用于在 OpenCV 中可视化 HOG 描述符。过去,我将 Jurgenwiki 代码复制/粘贴到 C++ 文件中,将我的 HOG 功能传递到get_hogdescriptor_visu()中,可视化效果看起来不错。这是一个例子:

在此处输入图像描述

Jurgenwiki 代码的一个警告是它希望您使用默认HOGDescriptor()参数(例如 16x16 块、8x8 单元、9 个方向箱)。但是,如果您在 中使用自定义参数HOGDescriptor,您可以调整 Jurgenwiki 代码以匹配您的 HOG 参数。

这篇 StackOverflow 帖子也非常有用。

于 2012-11-15T19:42:53.023 回答
2

最近在 iccv 2013 上发表了一篇关于可视化 HOG 特征的论文 (HOGles),这可能很有帮助,代码可在此处获得http://web.mit.edu/vondrick/ihog/#code

于 2014-01-16T18:11:48.463 回答
1

scikit-image 还提供 HOG 可视化: http ://scikit-image.org/docs/dev/auto_examples/plot_hog.html

于 2015-02-24T15:57:46.310 回答
0

在这里,我想问一个问题,一个人走路的两个序列帧,我们提取每个图像的 HOG,然后对两个 HOG 进行差分。我想知道我们在最终的(差异)HOG 可视化中得到了什么信息。

谢谢

于 2015-05-19T03:09:44.270 回答