【问题标题】:HOG Detection methodsHOG检测方法
【发布时间】:2018-10-07 23:11:19
【问题描述】:

我是计算机视觉和机器学习的新手,我搜索了很多,但没有找到适合我的问题的答案。

首先:我想知道所有这些检测方法之间的区别。

1)HOG.detect()

2)HOG.detectMultiScale()

3)HOG.setSvmDetector()

第二:我读到HOG.setSvmDetector() 仅用于检测一个对象,因为 SVM 是一个二元分类,我想知道我们可以训练多类 SVM(One vs All)并且对于每个单类 SVM,我们应用一个新实例HOG.setSvmDetector() 的?

举个例子,如果我构造了 2 个 SVM,这意味着现在我有 2 个类的多类 SVM,我可以这样做吗:

HOGDescriptor hog1 = newHOGDescriptor()

HOGDescriptor hog2 = new HOGDescriptor()

hog1.setSvmDetector(第一类)

hog2.setSvmDetector(第二类)

【问题讨论】:

    标签: opencv image-processing computer-vision svm


    【解决方案1】:

    HOG.detect 它检测单个图像中的对象。

    HOG.detectMultiScale 它检测图像中具有原始大小的对象,然后使用某个因素对图像进行下采样,例如使用 1.2 作为因子。然后它检测下采样图像中的对象并进一步下采样图像。重复此过程,直到图像大小小于检测窗口大小。然后它结合在所有图像上找到的所有检测。

    HOG.setSvmDetector() 用于设置训练好的分类器。 OpenCV 为您提供了针对不同数据集的预训练分类器,例如 getDefaultPeopleDetector()(使用 INRIA 行人数据集训练)和 getDaimlerPeopleDetector()(使用戴姆勒行人数据集训练)。

    您还可以训练自己的分类器,无论是二分类还是多分类,并在 setSvmDetector() 中使用它。

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2013-03-21
      • 1970-01-01
      • 2021-09-06
      • 2011-11-30
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多