我正在开展一个需要检测场景中的人员的项目。
最初在原始帧上运行 HOG 检测器后,所有帧上的特定背景对象都被检测为人,从而产生 3021 个误报检测。
因此,我采取了合理的步骤,通过对所有帧应用背景减法器 (BackgroundSubtractorMOG2) 来删除静态背景。
生成的帧如下所示:
然后将这些蒙版图像添加(使用 bitwise_and)到原始图像中,以便白色像素被替换为构成人物的像素。
Sample:
![](https://i.stack.imgur.com/hqbFu.jpg)
然后我在这些图像上运行 HOG 检测器,得到如下结果:
正如您所看到的,由于某种原因存在大量误报检测。我认为进行背景减除会比在原始图像上使用 HOG 带来更好的结果。
有人可以告诉我为什么这种方法有这么多误报吗?可以采取哪些措施来改进对背景减除图像的检测?
问题在于您通过删除背景改变了图像的性质。因此,HOG 检测器是用正常图像进行训练的,没有人工黑色像素,现在你正在向它提供人工更改的图像,所以它会以奇怪的方式执行是正常的(仍然不明白顶部的检测)虽然图像..)
如果您想在背景扣除的基础上使用 HOG 检测器,则应使用从背景扣除图像中获取的特征来训练 HOG 分类器。
您可以尝试的一件事(如果这不会影响您的应用程序的性能)是在两个图像上使用 HOG 检测器(无论有背景还是没有背景),并且仅接受在两个图像上显着重叠的检测,这可能会消除一些误报两个图像。
PS:HOG 专门设计用于通过检测强边缘并根据 SVM 模型对其进行测试来处理原始图像。通过去除背景,我们创建了人造边缘,这有点违背了使用 HOG 的目的。但我认为您可以通过执行我在上一段中建议的操作来使用它来消除错误检测。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)