我正在使用 OpenCV 示例代码“peopledetect.cpp”来检测行人。 该代码使用 HoG 进行特征提取,使用 SVM 进行分类。请在此处找到使用的引用论文。
摄像头安装在墙上,高度为 10 英尺,向下 45 度。框架内的行人移动没有限制。 我对真阳性率(正确检测到行人)感到满意,但误报率非常高。
我观察到的一些错误检测包括移动的汽车、树木和墙壁等。 谁能建议我如何改进现有代码以降低误检率。 对博客/代码的任何引用都非常有帮助。
最佳答案
您可以在视频流上应用背景减法算法。我在使用 BackgroundSubtractorMOG2 的类似项目中取得了一些成功.
我使用的另一个技巧是消除所有太小或纵横比错误的“移动像素”。我通过对背景减法输出图像进行 Blob /轮廓分析来做到这一点。您需要注意纵横比,以确保支持重叠的行人。
请注意,您使用的模型(不确定是哪个)可能是针对正面行人进行训练的,而不是向下 45 度角。这显然会影响您的准确性。
关于opencv - 减少行人检测中的错误检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347328/