我想了解,是否有任何代码或好的文档可用于实现HOG特征?我试图阅读这里的文档,但很难理解,并且需要SVM.. 我只需要实现一个用于对象检测的HOG检测器... 就像SIFT或SURF所做的那样。 顺便说一下,我对这个工作不感兴趣。 谢谢。
您可以查看这个网址:http://szproxy.blogspot.com/2010/12/testtest.html。此外,他还在source forge上发布了有关HOG的“教程”:http://sourceforge.net/projects/hogtrainingtuto/?_test=beta。我知道这是因为我和您一样也遇到了同样的问题。虽然这个“教程”并不是我所说的教程,而只是一堆源代码,没有文档,但我认为它可以工作,并且至少能够帮助您解决问题。
简化后,要在图像中检测特定对象,您需要做的是: 定位“感兴趣点”以提取补丁: 为了获得感兴趣点,您可以使用一些算法,如Harris角点检测器、随机或类似于滑动窗口的算法。 从这些点获取补丁: 您将不得不决定补丁的大小。 从这些补丁计算特征描述符(如HOG)。 您可以使用另一个特征描述符,如SIFT、SURF等。HOG的实现并不太难。您必须计算提取补丁的梯度,应用Sobel X和Y内核,然后将补丁分成NxM单元格,例如8x8,并计算梯度、角度和幅度的直方图。在下面的链接中,您可以看到更详细的解释:HOG Person Detector Tutorial 在先前训练的分类器中检查您的特征向量 一旦您得到了这个向量,可以使用之前训练过的分类器(如SVM)来检查它是否是所需的对象。除了SVM之外,您也可以使用神经网络等其他方法。SVM的实现比较困难,但有一些库(如OpenCV)可供使用。