As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




7年前关闭。




我需要跟踪在建筑物内四处走动的人。我有一个指向下方的摄像头,安装在离地面6米(20英尺)的天花板上。

性能很重要,因为计划是使其在多个网络摄像头上实时运行。目前,我已经安装了一个摄像头,并且在GPU上使用VIBE进行了背景扣除,在720p上获得了约320 fps的帧速。

尽管VIBE表现不错,但我仍在努力保持一致性。如果人们彼此之间的距离太近,则它们被视为一个斑点。我还需要忽略非人类物体的运动。

我真的需要大家提供一些意见和建议,以帮助我确定VIBE输出中是什么是人类,什么不是人类。什么是明智的方法?我试图将人类定义为具有一定的正方形像素大小,但是我觉得必须有更聪明的方法来将人类与非人类运动区分开。

如果一种替代方法有意义,例如光流,跟踪学习检测算法(OpenTLD?),性能良好的HOG,我将非常感兴趣。

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

最佳答案

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

如果您有关于如何改善斑点检测的想法,请尝试这些。我对VIBE或您的场景细节(室内或室外,相机晃动量,镜头质量等)不熟悉,所以在这里我没有建议。

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

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

10-04 20:23