HoG功能如何以图形方式表示?
computer-vision
feature-extraction
image-processing
opencv
5
0

我正在实现“用于人类检测的定向梯度直方图”中的“定向梯度直方图”,我想将结果可视化。关于这些功能的所有论文均使用标准的可视化效果,但是我找不到有关这些功能如何生成的任何描述。谢谢您的解释或有用的链接。

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

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

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

请注意,有多种规格化方案:局部方案,其中仅对相邻细胞进行规格化(如Dalal-Triggs的原始论文所述),或全局方案,其中取向长度由所有单元标准化。还要注意,一些作者对每个单元使用了多个局部归一化(例如,我在下面指的是一个),但是可视化仅显示了一个(或它们的平均值)。

Matlab代码用于Felzenszwalb等人的开创性工作。通过在图像上绘画将细胞可视化,其中强度通过边缘的强度而不是长度来可视化。您可以在此处提供的软件包(DPM)中找到它。寻找一个名为HOGpicture.m的函数

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

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

收藏
评论

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

在此处输入图片说明

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

这个StackOverflow帖子也非常有用。

收藏
评论

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

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号