SportsLabKit
简介
认识SportsLabKit:先进体育分析的必备工具包。专为专业人士和业余爱好者设计,我们将原始比赛视频转化为可操作的数据。
我们从足球开始,不久将扩展到其他运动。需要量化你的比赛吗?使用SportsLabKit让人体运动可计算。
特点
核心功能
- 高性能跟踪:体育对象跟踪的内部实现,包括SORT、DeepSORT、ByteTrack和TeamTrack。
灵活性
- 即插即用架构:可随时更换检测和ReID模型。支持的模型包括YOLOv8和torch-ReID。
易用性
-
2D场地校准:将边界框转换为2D场地坐标。
-
DataFrame封装:
BoundingBoxDataFrame
和CoordinatesDataFrame
用于轻松操作和分析跟踪数据。
教程
- 入门指南:了解和设置SportsLabKit的第一步。
- 用户指南:在实际场景中有效使用工具包的全面指南。
- 核心组件:深入探讨构成SportsLabKit的基本元素,包括跟踪算法和DataFrame封装。
安装
安装SportsLabKit,只需运行:
pip install SportsLabKit
注意:我们正在积极开发中,请期待更新和变化。
使用示例
要开始跟踪你的第一场比赛,请按照以下简单示例操作:
import sportslabkit as slk
from sportslabkit.mot import SORTTracker
# 初始化相机和模型
cam = slk.Camera(path_to_mp4)
det_model = slk.detection_model.load('YOLOv8x', imgsz=640)
motion_model = slk.motion_model.load('KalmanFilter', dt=1/30, process_noise=10000, measurement_noise=10)
# 配置并执行跟踪器
tracker = SORTTracker(detection_model=det_model, motion_model=motion_model)
tracker.track(cam[:100])
res = tracker.to_bbdf()
save_path = "assets/tracking_results.mp4"
res.visualize_frames(cam.video_path, save_path)
# 跟踪数据现在可以进行分析
输出是一个BoundingBoxDataFrame
,这是一个多级Pandas DataFrame,包含队伍ID、球员ID以及边界框尺寸等各种属性。每行都以帧ID为索引,便于分析。DataFrame还可以自定义,允许你根据需要调整队伍和球员ID。
发展路线
-
更好的CV工具:实现最先进的跟踪方法,添加事件检测等。
-
统一数据表示:正在开发事件数据检测和单一DataFrame结构,用于同时处理事件和轨迹数据。
-
增强兼容性:即将支持数据导出为标准格式,以便轻松与其他工具集成。
贡献
请参阅贡献指南了解更多信息。
贡献者
本项目遵循all-contributors规范。欢迎任何形式的贡献!
相关论文
SoccerTrack: Atom Scott*、Ikuma Uchida*、Masaki Onishi、Yoshinari Kameda、Kazuhiro Fukui、Keisuke Fujii 在CVPR计算机视觉与体育研讨会(CVSports'22)上发表。*作者贡献相同。 |
在谷歌学术上查看引用SoccerTrack的论文。
引用
@会议论文{scott2022soccertrack,
标题={SoccerTrack: 一个基于鱼眼和无人机视频的足球追踪数据集和算法},
作者={Scott, Atom 和 Uchida, Ikuma 和 Onishi, Masaki 和 Kameda, Yoshinari 和 Fukui, Kazuhiro 和 Fujii, Keisuke},
会议名称={IEEE/CVF计算机视觉与模式识别会议论文集},
页码={3569--3579},
年份={2022}
}