hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
我在网上论坛上看到过这两行代码,但我不明白SVM向量来自何处,即用于训练此SVM的训练数据是什么,我可以找到该数据和源代码任何地方?
为什么SVM向量对于64x128图像的长度为3781?
对此的一些见解将非常有用。
由于
答案 0 :(得分:1)
在这里,您使用预先训练的人员检测器作为SVM。您可以在doc中阅读相关内容。我不知道他们训练它的方式(算法,参数)。但根据this回答,它是用Daimler Pedestrian Detection Dataset训练的。
cv2.HOGDescriptor_getDefaultPeopleDetector()
将返回一个大小为3781的数组。这些是SVM用于对人进行分类的系数。它与您正在使用的输入图像无关。
最重要的是,您可以根据需要训练SVM以检测另一个对象并将其用作SVM检测器。查看this答案了解更多信息。