3

我正在尝试使用基于定向对象直方图 (HOG) 特征类型的 OpenCV 级联分类器——例如论文“Fast Human Detection Using a Cascade of Histograms of Oriented Gradients”

在网上搜索,我发现 OpenCV 的 Cascade Classificator 只支持 HAAR/LBP 特征类型(OpenCV Cascade Classification)。

  • 有没有办法将 HOG 与 OpenCV 级联分类器一起使用?你有什么建议?
  • 有我可以使用的补丁或其他库吗?

提前致谢!

编辑 1

我一直在搜索,当我终于在android-opencv中发现Cascade Classifier 中有一个树干允许它使用 HOG 功能时。但我不知道它是否有效......

链接:http ://code.opencv.org/projects/opencv/repository/revisions/6853

编辑 2

我没有测试上面的fork,因为我的问题已经改变了。但是我发现了一个有趣的链接,它可能在将来非常有用(当我回到这个问题时)。

本页包含论文“Histograms of Oriented Gradients for Human Detection”的源代码。此外,更多信息。http://pascal.inrialpes.fr/soft/olt/

4

3 回答 3

3

如果您使用 OpenCV-Python,那么您可以选择使用一些其他库,例如scikits.image,这些库具有内置的定向梯度直方图。

几个月前我不得不解决同样的问题,并在这个项目页面上记录了大部分工作(包括 HoG 的非常基本的 Python 实现,以及使用 PyCUDA 的 HoG 的 GPU 实现) 。那里有可用的代码。GPU 代码应该相当容易修改以便在 C++ 中使用。

于 2012-04-06T22:21:15.703 回答
1

它现在似乎也可以在非 python 代码中使用。2.4.3 中的 opencv_traincascade 有一个 HOG 特征类型选项(我没有尝试):

 [-featureType <{HAAR(default), LBP, HOG}>]
于 2012-12-15T08:55:18.640 回答
1

是的,您可以使用cv::CascadeClassifier功能HOG。要做到这一点,只需加载它hogcascade_pedestrians.xml,您可能会在opencv_src-dir/data/hogcascades.

与...hogcascade相比,分类器工作得更快,结果也更好。haarcascade

于 2015-05-28T12:10:38.130 回答