具有方向梯度直方图(HOG)特征类型的OpenCV级联分类

时间:2012-04-06 01:33:16

标签: opencv classification object-detection

我正在尝试使用基于面向对象直方图(HOG)特征类型的OpenCV级联分类器 - 例如论文“使用一系列面向梯度直方图进行快速人体检测”

在网上搜索,我发现OpenCV的Cascade分类器只支持HAAR / LBP功能类型(OpenCV Cascade Classification)。

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

提前致谢!

编辑1

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

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

编辑2

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

此页面包含论文“直方图的直方图”的源代码 人体检测“。此外,更多信息。http://pascal.inrialpes.fr/soft/olt/

3 个答案:

答案 0 :(得分:3)

如果您使用OpenCV-Python,那么您可以选择使用一些额外的库,例如scikits.image,它们具有直方图的内置渐变内置函数。

几个月前我必须完全解决同样的问题,并在此project page记录了大部分工作(包括HoG的非常基本的Python实现,以及使用PyCUDA的HoG的GPU实现)。那里有代码。在C ++中使用GPU代码应该相当容易修改。

答案 1 :(得分:1)

现在似乎也可以在非python代码中使用。 2.4.3中的opencv_traincascade有一个HOG featuretype选项(我没试过):

 [-featureType <{HAAR(default), LBP, HOG}>]

答案 2 :(得分:1)

是的,您可以cv::CascadeClassifier使用HOG功能。要执行此操作,只需使用hogcascade_pedestrians.xml中找到的opencv_src-dir/data/hogcascades加载它。

hogcascade进行比较后,分类器工作得更快,结果更好,haarcascade ...