HOG人物检测器:背景扣除图像上的误报检测

时间:2017-02-03 00:04:56

标签: opencv image-processing computer-vision detection background-subtraction

我正在开展一个需要检测场景中人物的项目。

最初在原始帧上运行HOG检测器后,特定背景物体被检测为所有帧上的人物,给我3021次误报检测。

所以我采取了逻辑步骤,通过对所有帧应用背景减法器(BackgroundSubtractorMOG2)来删除静态背景。 生成的框架如下所示:

然后将这些蒙版图像(使用bitwise_and)添加到原始图像,以便将白色像素替换为构成人物的像素。

样品:

然后我在这些图像上运行了HOG检测器,结果如下:

正如你所看到的,由于某些原因,有很多误报。我认为做背景减法会比在原始图像上使用HOG给我更好的结果。

有人可以告诉我为什么这种方法有很多误报?还有什么可以改进背景减影图像的检测?

1 个答案:

答案 0 :(得分:2)

问题在于您通过删除背景来改变图像的性质。因此,HOG探测器使用正常图像进行训练,没有人工黑色像素,现在你正在喂它人工改变的图像,所以它会以一种奇怪的方式执行它是正常的(仍然不能理解在虽然图像的顶部..)

如果你想在背景减法的顶部使用HOG探测器,你应该训练HOG分类器,其中包含从背景减去图像中获取的特征。

您可以尝试的一件事(如果这不会破坏您的应用程序的性能),就是在两个图像上使用HOG检测器,有背景和没有背景,并且只接受在两者上重叠的检测,这可能从两张图片中删除一些误报。

PS:HOG专门设计用于通过检测强边缘并针对SVM模型测试它们来处理原始图像。通过去除背景,我们创造了人工边缘,这有点打败了使用HOG的目的。但我认为您可以通过执行上一段中的建议来使用它来删除错误检测。