如何处理遮挡和分段问题

12
我正在尝试使用计算机视觉实现一个人数统计系统,用于大学项目。目前,我的方法是:
  1. 使用MOG2进行背景减除
  2. 形态滤波器去除噪声
  3. 跟踪斑点
  4. 计算穿过指定区域(一条线)的斑点数量
问题在于,如果人们以组的形式到来,我的方法只会计数一个人。从我的阅读中得知,我认为这就是所谓的遮挡问题。另一个问题是当人们与背景相似时(穿着黑色衣服并经过黑色柱子/墙壁),斑点被分开,而实际上它是一个人。
从我的阅读中得知,我应该实现一个检测器+跟踪器(例如使用HOG检测人)。但是我的检测结果很差(例如使用OpenCV人体检测器和我自己训练的检测器,假阳性率为50%,命中率为50%),所以我不确定是否要使用检测器作为跟踪的基础。感谢您的回答和阅读本帖子的时间!
2个回答

6
视频监控序列中的人物跟踪仍然是研究界面临的一个难题。然而,粒子滤波器(PF)(又称顺序蒙特卡罗)在遮挡和复杂场景方面取得了良好的结果。您应该阅读this。此外,在参考文献之后还有示例源代码的额外链接。
使用PF的优点是在跟踪检测(仅限)中节省计算时间。
如果您选择这种方法,请随时询问有关PF背后的数学问题的更好理解。

1
谢谢提醒,@Eric。我找到了几篇关于人员跟踪的相关文章或讨论,其中提到了粒子滤波器。
  • https://dev59.com/pnDYa4cB1Zd3GeqPCqe8
  • https://dev59.com/x1TTa4cB1Zd3GeqPogla#4904213
我一定会深入研究这些主题!PS. 我想你是指粒子滤波器,而不是特定的过滤器。
- bonchenko

5
处理遮挡(和背景减除)仍然是未解决的问题,因此没有单一的“好”答案!以下是几个指针可以帮助您完成项目。
您希望检测一个“blob”是一个人还是一组人。有几件事情可以做来处理这个问题。
- 使用多个摄像头(不太可能从所有角度将一组人检测为单个blob) - 尝试检测人体的部位。如果在单个blob上检测到两个头部,则有多个人。同样可以说是3条腿,5个肩膀等。
在跟踪“丢失”的人(走在另一个物体后面的人)的领域中,可以通过推算其位置来处理。您知道一个人在帧之间只能移动那么多。通过考虑这一点,您知道用户不可能在图像中间被检测到,然后突然消失。经过多个帧未看到此人后,您可以放弃观察,因为此人可能已经有足够的时间离开。

我明白了,所以我需要改进和修改我的检测器,从全身人体检测器到基于部位的人体检测器。我会多了解一些关于这方面的知识,因为我更熟悉使用HOG、LBP、潜在SVM等检测方法,而不是多摄像头技术。谢谢你,Nallath! - bonchenko
有点像所谓的“词袋”模型。 - Nallath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接