如何追踪足球的位置?
How to track a football's position?
我开始研究跟踪橄榄球(美国的足球),我可以就哪种方法更可靠、更有效提出一些建议。
球需要转向以确定它是否在球门 posts 之间,如果它是一个球门(centre/left/right/top 右 corner/etc,大致会在哪一侧。 )
最初我在考虑一个嵌入式惯性测量单元(IMU,一个融合 os 传感器,例如 accelerometer/gyroscope/magnetometer,有时还有 GPS)能够支持低功耗蓝牙(BLE,4.0 版,它有一个比蓝牙经典更大的范围)以获得球的绝对 position,因此这可能是一个选项。由于我对 IMU 还不是很熟悉,一些关于 DO 和 DONT 的提示会很方便。
另一种选择是在目标 post 后面使用摄像机。使用 2D 相机,我想象这样的设置:
希望相机足够快,因为我认为运动模糊将是挑战之一,因为当球快速运动时形状和颜色会出现扭曲。
在检测方面,我正在考虑基于一些假设的天真的方法:
- 分割背景,因为它是静态的(并且 mos 是绿色)
- 尝试对圆和椭圆进行霍夫变换
- 根据边界框大小分割移动对象和过滤器(寻找更小的球状对象)
我也在考虑为足球检测训练级联,但我想事先检查一下这是否过大。
你可以使用像这样的简单算法的廉价 Kinect 相机:
- 检测 RGB 数据中的斑点(抗模糊)
- 在检测到斑点的点云中进行欧几里得聚类,用一个 threshold/bounding 框来表示你玩的球的大小(深度数据具有绝对测量值)
- 计算球的质心
- 计算质心到视图射线上相机中心的距离
- 查看距离是否小于同一射线上相机与目标的距离
在我看来,这些操作非常简单,算法应该 运行 在商用硬件上实时运行。
你唯一需要注意的是,Kinect 在一定距离后的精度几乎是垃圾,所以你必须稍微修改一下才能让它工作。或者,如果它不能覆盖所有目标,您可能不得不使用多个。
我开始研究跟踪橄榄球(美国的足球),我可以就哪种方法更可靠、更有效提出一些建议。
球需要转向以确定它是否在球门 posts 之间,如果它是一个球门(centre/left/right/top 右 corner/etc,大致会在哪一侧。 )
最初我在考虑一个嵌入式惯性测量单元(IMU,一个融合 os 传感器,例如 accelerometer/gyroscope/magnetometer,有时还有 GPS)能够支持低功耗蓝牙(BLE,4.0 版,它有一个比蓝牙经典更大的范围)以获得球的绝对 position,因此这可能是一个选项。由于我对 IMU 还不是很熟悉,一些关于 DO 和 DONT 的提示会很方便。
另一种选择是在目标 post 后面使用摄像机。使用 2D 相机,我想象这样的设置:
在检测方面,我正在考虑基于一些假设的天真的方法:
- 分割背景,因为它是静态的(并且 mos 是绿色)
- 尝试对圆和椭圆进行霍夫变换
- 根据边界框大小分割移动对象和过滤器(寻找更小的球状对象)
我也在考虑为足球检测训练级联,但我想事先检查一下这是否过大。
你可以使用像这样的简单算法的廉价 Kinect 相机:
- 检测 RGB 数据中的斑点(抗模糊)
- 在检测到斑点的点云中进行欧几里得聚类,用一个 threshold/bounding 框来表示你玩的球的大小(深度数据具有绝对测量值)
- 计算球的质心
- 计算质心到视图射线上相机中心的距离
- 查看距离是否小于同一射线上相机与目标的距离
在我看来,这些操作非常简单,算法应该 运行 在商用硬件上实时运行。
你唯一需要注意的是,Kinect 在一定距离后的精度几乎是垃圾,所以你必须稍微修改一下才能让它工作。或者,如果它不能覆盖所有目标,您可能不得不使用多个。