乐于分享
好东西不私藏

用 AI 分析羽毛球比赛视频的工具,自动标出球员骨架、追踪羽毛球轨迹、算出跑动距离和速度

用 AI 分析羽毛球比赛视频的工具,自动标出球员骨架、追踪羽毛球轨迹、算出跑动距离和速度

Good-Badminton

用 AI 分析羽毛球比赛视频的工具。简单说就是把你的比赛录像扔进去,它能自动标出球员骨架、追踪羽毛球轨迹、算出跑动距离和速度,还能生成热力图看你在场上哪个区域活动最多。

Github地址

https://github.com/yo-WASSUP/Good-Badminton

功能特性

  • 球员姿态检测 - 支持 RTMPose、RTMO 和 Ultralytics YOLO Pose,识别人体关键点和骨架。
  • 羽毛球检测 - 使用 YOLO 模型检测羽毛球位置,并在输出视频中绘制轨迹。
  • 球场坐标映射 - 手动标注球场关键点,将图像坐标映射到标准球场坐标。
  • 球员位置追踪 - 分别追踪上半场和下半场球员位置,记录移动轨迹。
  • 回合检测 - 根据连续球场视图自动判断回合开始和结束,并在视频叠加层和检测数据中记录回合编号。
  • 运动统计分析 - 统计移动距离、当前速度、最大速度和回合数量。
  • 可视化输出 - 生成带骨架、轨迹、统计信息和球场轨迹的分析视频。
  • 位置图表 - 自动生成球员位置热力图和散点图。
  • 中英文显示 - 可通过 --language zh/en 切换可视化文字。
  • 本地运行 - 视频、模型和分析结果都保存在本地。

系统要求

  • Python 3.8+
  • FFmpeg,并已加入系统 PATH
  • 羽毛球 YOLO 检测权重,请从 GitHub Releases 下载

性能需求与参考速度

推荐配置:

  • GPU,建议 6GB+ 显存;显存越大,越适合更高分辨率视频和更大的姿态模型。
  • 16GB+ 系统内存。
  • SSD 存储,方便写入输出视频、detections.jsonl 和可视化图片。
  • CPU 可以运行完整流程,但姿态检测和羽毛球检测会明显变慢,更适合短视频或功能验证。

参考速度会受显卡、视频分辨率、姿态模型、是否显示窗口、是否保留音频影响。

以 720p 视频、--pose-family yolo-pose --yolo-pose-model yolo11n-pose.pt 和 weights/yolo11s-ball.pt 为例,GPU 推理日志通常接近:

pose 0.02s, shuttlecock 0.02s, shuttle draw 0.00s, players draw 0.01s, court draw 0.00s

开启 --performance-stats 可以每隔约 5 秒打印一次性能汇总,用于判断瓶颈在姿态推理、羽毛球检测还是绘制阶段。