HOG用于“检测对象”opencv

时间:2011-10-04 00:59:51

标签: opencv object-detection

我想知道,如果有任何代码或任何可用于实现HOG功能的良好文档?我试着阅读文档here,但这很难理解,它需要SVM ..

我需要的只是为对象实现HOG检测器....就像SIFT或SURF一样

是的,我对this工作并不感兴趣。

谢谢..

3 个答案:

答案 0 :(得分:4)

你可以看看 http://szproxy.blogspot.com/2010/12/testtest.html

他还在源码上发布了HOG的“教程”: http://sourceforge.net/projects/hogtrainingtuto/?_test=beta

我知道这一点,因为我遇到了和你一样的问题。虽然教程不是我所说的教程,它是一堆源代码,没有文档,但我认为它有效,至少可以让你到达某个地方。

答案 1 :(得分:2)

最后简化一下,检测图像中特定对象所需的全部内容是:

  • 本地化"兴趣点"提取补丁:

为了获得兴趣点,您可以使用一些算法,如Harris角点检测器,随机或类似滑动窗口的东西。

  • 从这些点获得补丁:

你将不得不采取补丁大小的决定。

  • 从这些补丁计算特征描述符。 (像HOG)​​。

您可以使用另一个功能描述符,如SIFT,SURF ...来代替HOG HOG的实施并不太难。您必须在应用Sobel X和Y内核时计算提取的补丁的渐变,之后您必须在NxM单元格中划分补丁,例如8x8,并计算渐变,角度和幅度的直方图。在以下链接中,您可以看到更详细的说明:  HOG Person Detector Tutorial

  • 检查先前训练过的分类器中的特征向量

获得此向量后,使用之前训练过的分类器(如SMV)检查它是否是所需对象。相反,SVM可以使用NeuralNetworks。

SVM实现更加困难,但是有一些像opencv这样的库你可以使用。

答案 2 :(得分:1)

MATLAB的计算机视觉系统工具箱中有一个函数extractHOGFeatures