3

首先,我尝试了 OpenCV 库中的默认人员检测器。

    HOGDescriptor hog;
    hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
    hog.detectMultiScale(img, found, 0, Size(8,8), Size(0,0), 1.05, 2);

尽管它在带有网络摄像头的室内环境中返回正匹配,但它们非常罕见。所以我用 INRIA 数据集的负片和正片图像训练了描述符,但这次误报太多了。我并不是想将错误匹配降低到零,将它们降低到合理的水平就足够了。我应该怎么办?

另一个问题是,我认为我的示例视频中的人物距离太远,无法轻松区分为人类图像。我尝试减小单元大小,但不确定这是正确的方法。关于这个还能做什么?

图片会对您有所帮助,但由于声誉问题,我无法发布它们。

谢谢

4

1 回答 1

0

检查opencv [doc]:http ://docs.opencv.org/modules/gpu/doc/object_detection.html#gpu-hogdescriptor-detectmultiscale看来您没有正确使用界面。

您是否对训练有素的 SVM 进行了评估,并且在那里也观察到了不好的检测率?如果是,您需要对训练参数或输入数据进行一些操作。据我所知,INRIA 集包括人物和非人物图像,但只有精确定义的正片。当我训练一个猪分类器时,负样本的选择有很大的影响。哦,你有没有使用提升?IIRC 提升在原始论文中提供了很大的性能提升。

于 2013-07-06T21:42:14.653 回答