如何追踪足球的位置?

时间:2015-07-20 13:14:47

标签: opencv computer-vision sensor feature-detection sensor-fusion

我开始研究追踪足球(美国的足球),我可以就哪种方法更可靠,更有效率提出一些建议。

球需要加以确定它是否在球门柱之间,如果它是一个目标(中间/左/右/右上角/等),那么大致是哪一侧。

最初我正在考虑一个嵌入式惯性测量单元(IMU,一种融合操作传感器,如加速度计/陀螺仪/磁力计,有时候是GPS),能够实现蓝牙低功耗(BLE 4.0版,其范围比蓝牙经典更大)获得球的绝对位置,这可能是一个选择。由于我对IMU的经验不足,有关DO和DONT的一些提示会很方便。

另一种选择是在球门柱后面使用相机。使用2D相机,我想象一个这样的设置: camera setup proto 希望相机足够快,因为我认为运动模糊是挑战之一,因为当球快速运动时,形状和颜色会出现扭曲。

在检测方面,我正在考虑一种基于某些假设的天真方法:

  • 将背景分段,因为它是静态的(主要是绿色)
  • 尝试Hough Transform for circle and ellipses
  • 基于边界框大小分割移动对象和过滤器(寻找较小的球状对象)

我也在考虑训练足球检测的级联,但我想事先检查这是否有点过分。

1 个答案:

答案 0 :(得分:1)

您可以使用廉价的Kinect相机,其算法如下:

  1. 检测RGB数据中的斑点(抗模糊)
  2. 在点云中进行欧几里德聚类,在那里你可以检测到斑点,其中一个阈值/边界框与你玩的球的大小有关(深度数据有绝对测量值)
  3. 计算球的质心
  4. 在视线上计算质心距相机中心的距离
  5. 查看距离是否小于相机与同一光线上目标之间的距离
  6. 在我看来,这些操作非常简单,算法应该在商品硬件上实时运行。

    唯一需要注意的是Kinect在一定距离后的精确度大约是废话,所以你必须稍微修补它才能使它工作。或者,如果它无法覆盖所有目标,您可能必须使用多个。