我正在处理一个涉及在各种帧中检测人的项目。检测器能够检测到大多数帧中的人物。
但有时它会将静止的背景对象误认为是人。我真的很想知道为什么会发生这种情况,当前检测器的工作方式如何导致这些假阳性。
还有什么方法可以消除这些假阳性?
以下是假阳性检测的示例:
但有时它会将静止的背景对象误认为是人。我真的很想知道为什么会发生这种情况,当前检测器的工作方式如何导致这些假阳性。
还有什么方法可以消除这些假阳性?
以下是假阳性检测的示例:
(图片取自"行人检测:现有技术的评估",作者为Piotr Dollar、Christian Wojek、Bernt Schiele和Pietro Perona)
那篇论文已经有点过时了,但你可以看到即使最好的算法在图像数据集中也表现不太出色,更别说在真实情况下了。
所以,回答你的问题,要如何提高它的性能?这要看情况。如果你的具体场景中有一些假设可以使这个问题变得简单,那么你可能能够消除一些误报。另一个改善结果的方法是融合不同的传感器信息来帮助视觉系统,这也是每个自动驾驶辅助系统都在做的事情。大多数使用LIDAR和RADAR将摄像头与需要观察的地方联系起来,这有助于算法的性能和速度。
因此,你可以看到这非常依赖应用程序。如果你的应用程序只需要在简单的场景下工作,那么背景减除算法将有助于消除错误检测。你还可以使用错误检测的数据来引导分类器,从而提高其性能。
但要知道一件事:在计算机视觉中没有100%的准确率,无论你尝试多少次。它始终是接受假阳性和系统鲁棒性之间的平衡。
干杯。
编辑:回答标题中的问题,为什么背景物体被检测为人?因为HOG算法是评估图像边缘的算法,你可能会将HOG特征发送到SVM中,对吧?在您提供的图像中检测到的垂直杆与人类具有一些视觉特性,例如其垂直边缘。这就是为什么这些算法在交通标志和其他垂直元素中经常失败的原因,正如您可以在我关于此主题的硕士论文中看到的那样:使用积分通道进行ADAS的视觉行人检测