使用什么数据集获得了对DefaultPeopleDetector()SVM的训练?

时间:2017-06-09 12:27:20

标签: python-2.7 opencv

hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())

我在网上论坛上看到过这两行代码,但我不明白SVM向量来自何处,即用于训练此SVM的训练数据是什么,我可以找到该数据和源代码任何地方?

为什么SVM向量对于64x128图像的长度为3781?

对此的一些见解将非常有用。

由于

1 个答案:

答案 0 :(得分:1)

在这里,您使用预先训练的人员检测器作为SVM。您可以在doc中阅读相关内容。我不知道他们训练它的方式(算法,参数)。但根据this回答,它是用Daimler Pedestrian Detection Dataset训练的。

cv2.HOGDescriptor_getDefaultPeopleDetector()将返回一个大小为3781的数组。这些是SVM用于对人进行分类的系数。它与您正在使用的输入图像无关。

最重要的是,您可以根据需要训练SVM以检测另一个对象并将其用作SVM检测器。查看this答案了解更多信息。