如何在动态背景中找到足球运动员的轮廓

时间:2015-02-12 12:59:11

标签: matlab computer-vision video-processing object-detection matlab-cvst

我的项目是分析足球视频的系统的名称。在这个项目的一部分中,我需要检测运动员和运动场中每个人的轮廓。对于没有广告牌遮挡的所有玩家,我使用了游戏场的颜色(绿色)来检测轮廓并提取玩家。但我对玩家或裁判与广告牌有遮挡的情况有疑问。假设广告牌上的广告是动态的(LED广告牌)。如您所知,在这种情况下,找到轮廓更加困难,因为没有静态背景颜色或纹理。您可以在以下图像中看到这种情况的两个示例。

Referee occlusion

enter image description here

注意:为了找到遮挡的位置,我使用场线和广告牌之间的区域,因为该区域具有场的颜色(绿色)。该区域在下图中用红色矩形表示。

enter image description here

我希望结果与下图相似。

enter image description here

有人建议用算法来检测这些轮廓吗?

2 个答案:

答案 0 :(得分:3)

你可以尝试几件事。

  • 使用vision.PeopleDetector对象来检测现场人员。您还可以使用vision.KalmanFilter跟踪检测到的人,如Tracking Pedestrians from a Moving Car示例。
  • 使用计算机视觉系统工具箱中的vision.OpticalFlow对象计算光流。然后,您可以分析生成的流场,以将摄像机动作与玩家动作分开。
  • 使用帧差分来检测移动的物体。好消息是,这将为您提供人们的轮廓。坏消息是,它也会给你带来许多假的轮廓。

答案 1 :(得分:3)

光流可用于捕获运动信息等问题。使用HMM或GMM或非参数的前景提取技术可以解决该问题,因为我已经在监视视频中用于运动分析以检测异常(背景是静态的)。光流的大小和方向似乎是一种有效的方法。我已经阅读了有关使用光流分段的论文。我希望这可以帮到你。