如何训练HOG并使用我的HOGDescriptor?

fla*_*mxy 8 opencv histogram feature-descriptor

我想训练数据并使用HOG算法来检测行人.现在我可以用defaultHog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());opencv来检测,但结果不是我的测试视频非常好.所以我想训练使用我的数据库.

我准备了1000多个阳性样本和1000多个阴性样本.它们裁剪为50*100,我已经完成了列表文件.

我在互联网上阅读了一些教程,它们都非常复杂,有时甚至是深奥的.他们中的大多数都是分析HOG的源代码和算法.但只有更少的例子和简单的任意大小.

一些指示显示libsvm\windows\svm-train.exe可以用于训练,任何人都可以根据1000 + 50*100阳性样本给出一个例子吗?
例如,haartraing我们可以opencvhaartraining.exe –a –b使用某些参数一样从中获取*.xml结果,并将其用于人员检测?

还是有其他方法来训练和检测?

我更喜欢知道如何使用它和详细程序.作为细节算法,对我来说并不重要.我只是想实现它.

如果有人知道,请给我一些提示.

DaH*_*HoC 7

我提供了一些示例代码和说明,以便使用openCV开始训练您自己的HOG描述符:请参阅https://github.com/DaHoC/trainHOG/wiki/trainHOG-Tutorial.

该算法确实过于复杂而无法提供,但基本思路是:

  1. 从相同大小和类型的负样本和正样本图像中提取HOG特征.
  2. 使用提取的特征向量及其各自的类来训练SVM分类器,在此步骤中,您可以将svm-train.exe与包含特征向量及其类的正确格式的生成文件一起使用(或直接包含并解决您的源代码中的libsvm库类).
  3. 得到的SVM模型和支持向量被计算到单个描述符向量中,该向量可以与openCV检测器一起使用.

最好的祝福