0

我需要跟踪在建筑物内走动的人。我在距地面 6 米(20 英尺)的天花板上安装了一个向下的网络摄像头。

性能很重要,因为计划是让它在多个网络摄像头上实时运行。目前我安装了一个摄像头,并且在 GPU 上使用 VIBE 进行背景减法,我在 720p 上获得约 320 fps,这很棒。

虽然 VIBE 表现良好,但我正在努力保持一致性。如果人们走得太近,他们就会被认为是一团。我还需要忽略非人类物体的运动。

我真的需要你们的一些意见和想法,如何确定什么是人类,什么不是我的 VIBE 输出。什么是明智的做法?我试图将人类定义为具有一定的正方形像素大小,但我觉得必须有更聪明的方法来区分人类与非人类运动。

如果另一种方法有意义,例如光流、跟踪学习检测算法(OpenTLD?)、性能良好的 HOG,我会非常有兴趣了解它。

任何想法和意见表示赞赏:)

4

1 回答 1

2

有很多方法可以解决您的问题,但没有一种是通用的。两个主要的方法系列是 (a) 改进较低级别的 blob 检测和处理或 (b) 处理跟踪器中的歧义。

如果您对如何改进 blob 检测有任何想法,请尝试这些。我不熟悉 VIBE 或场景的细节(室内与室外、相机抖动量、镜头质量等),所以我没有建议。

假设合并的 blob 来自独立的行人,考虑使用理解 blob 拆分和合并的粒子过滤器。如果人们成群结队地移动,请考虑增强跟踪器以检测人群并放弃单独跟踪每个人。

如果您可以构建一个强大的跟踪器,您可能能够通过运动模式和像素大小过滤掉非人类。

于 2013-03-18T12:19:03.803 回答