遇见数据集

rally3d

收藏
github2026-07-01 更新2026-07-03 收录
官方服务:

资源简介:

rally3d是一个端到端系统,从普通广播视频中生成同步的、度量的3D乒乓球训练数据,包括球轨迹、球员身体姿态和桌子/相机几何信息,形成数据集规模。

Rally3D is an end-to-end system that generates synchronized, metric 3D table tennis training data from ordinary broadcast videos. The generated data covers ball trajectories, player body poses, as well as geometric information of the table and camera, thereby forming large-scale table tennis training datasets.

创建时间:
2026-07-01
原始信息汇总

数据集概述:rally3d

数据集名称: rally3d
主页地址: https://github.com/zxpeng2007/tt3d-data

核心目标

从普通广播电视视频中,端到端地生成大规模、度量化的3D乒乓球比赛训练数据。

数据类型

对于每一个重建的回合(rally),数据集提供以下内容:

  • 相机参数 (camera.yaml):标定的单目相机(姿态 + 焦距),以球桌为世界坐标原点。
  • 2D球轨迹 (ball_traj_2D.csv):逐帧的球检测结果,包含运动模糊线索(Interp 标志表示桥接帧)。
  • 3D球轨迹 (ball_traj_3D.csv):度量化的3D球轨迹,包含弹跳点(Interp 标志表示射线填充帧)。
  • 球员3D姿态 (p0_3d.npy, p1_3d.npy):两名球员的3D关节点位置(帧数,17个关节点,3维坐标),单位为米,以世界坐标系表示。
  • 几何与元数据 (table.json, meta.json):球桌几何常数、来源及质量指标。

系统工作流程

  1. 数据源:从WTT/ITTF转播中,按照预算(默认每位球员5小时)批量下载单打比赛视频,以控制数据集规模和多样性。
  2. 回合分割:通过单遍关键帧时间线,根据球桌是否在画面中进行分类,并利用广角镜头滤镜(遮罩尺寸、边界接触、宽度跨度)剔除近景回放镜头。连续的比赛关键帧合并为回合片段。
  3. 球桌与相机标定:利用已知的球桌几何尺寸(2.74米×1.525米),通过分割检测到的角点进行相机标定。为解决矩形角点对应关系的90°歧义,系统通过重新求解并保留能将两名球员放置于球桌两端(脚踝射线投射至地面)的相机参数。
  4. 身体姿态估计:使用RTMPose进行无mmcv的2D姿态估计,结合IoU跟踪和球员选择,然后通过MotionBERT进行2D到3D姿态提升,最后在脚部接触地面的帧上最小化重投影误差,将姿态对齐到世界坐标系。
  5. 乒乓球检测与轨迹重建:采用针对高速运动的模糊感知检测器(BlurBall,低阈值、宽跟踪门控),对短暂的2D丢失轨迹进行二次桥接,基于物理模型进行3D重建,并通过重投影门控、速度限制、射线深度填充(2D检测确定射线方向,深度值平滑插值)以及每个飞行弧段上的抛物线保形Savitzky–Golay平滑进行精炼。
  6. 数据编排:整个流程可中断恢复并按回合进行质量控制。最终通过一个清单文件(manifest.parquet + dataset_card.json)汇总所有数据。所有合成数据点均通过 Interp 标志标记,以区分测量值和推断值。

设置与使用

  • 环境准备:运行 python scripts/setup_env.py 创建Python 3.12虚拟环境并安装依赖;运行 python scripts/download_weights.py 下载所需模型权重。
  • 数据生成:可通过 python scripts/run_bulk.py 一键执行下载、分割、重建和汇总。也支持分阶段运行:
    • python scripts/download_videos.py --max-hours-per-player 5
    • python scripts/segment_rallies.py --videos data/videos --out data/rallies
    • python scripts/batch_generate.py --rallies data/rallies --out data/dataset
    • python scripts/aggregate_dataset.py --dataset data/dataset
  • 可视化检查:使用 python scripts/render_rally.py --rally-dir data/dataset/rallies/<match>/<rally> 可以查看任意回合的2D叠加、3D场景动画及摘要图表。

重要声明

  • 版权:下载的视频为私有研究输入,受版权保护,仅用于内部研究,不会重新分发。仅共享代码和衍生的数值标注数据。
  • 灵感与致谢:本项目受TT3D启发,并使用了TT3D、BlurBall、MotionBERT和RTMPose等优秀的开源研究成果,这些组件保留各自的许可协议。
搜集汇总
数据集介绍
rally3d 数据集图片
构建方式
在竞技体育数据分析领域,三维运动捕捉数据对于技战术研究具有重要价值,然而传统的多视角采集方案受限于场地和设备成本。rally3d数据集应运而生,它通过一个端到端的流水线,从常规单目广播视频中自动化提取乒乓球比赛的度量三维数据。构建过程首先利用yt-dlp批量下载世界乒乓球职业大联盟和国际乒联的完整比赛视频,并通过预算机制控制每位球员的采集时长。随后,基于台面存在性的一遍关键帧时间线进行回合分割,结合宽镜头过滤机制排除近景回放。在每回合重建阶段,利用已知的台面几何尺寸(2.74×1.525米)与分割检测的角点进行单目相机标定,并通过脚部射线投影到地面的物理消歧方法解决矩形成像的90度角度歧义。人体姿态部分采用RTMPose进行二维姿态估计,结合IoU跟踪与球员选择,再由MotionBERT提升至三维空间,最终通过最小化脚部接触帧的重投影误差实现世界坐标系对齐。球体轨迹方面,基于模糊感知的BlurBall检测器适配高速球速环境,通过二次插值桥接短时二维丢失,利用物理模型进行三维重建,经重投影门控、速度约束和每段飞行弧线的Savitzky–Golay平滑后,对内部间隙进行射线深度填充。整个流程可恢复且按回合进行质量门控,所有合成数据点均通过Interp标志明确标记,保证数据诚实性。
特点
rally3d数据集具备多项显著特性。其核心优势在于从单目广播视频即可大规模产出多种度量三维数据,包括校准后的单目相机参数(以台面为世界原点)、带运动模糊线索的二维球体检测轨迹、含弹跳标记的度量三维球体轨迹、两位球员的三维关节点序列(世界坐标系,单位米)以及台面几何常量与质量度量元数据。数据集通过每位球员不超过五小时的视频预算策略,在保持样本多样性的同时控制整体规模。所有合成推断的数据点均被明确标记,确保用户能够区分测量值与推断值。此外,系统内置了基于台面存在的宽镜头过滤机制,有效排除非比赛画面的近景回放,提升数据纯度。重建过程支持断点续传与按回合质量门控,通过清单文件(manifest.parquet和dataset_card.json)聚合整个语料库,便于大规模数据分析。
使用方法
使用rally3d数据集时,首先需按照官方文档完成环境配置,通过执行setup_env.py脚本创建Python 3.12虚拟环境并安装CUDA Torch及依赖项,再通过download_weights.py脚本下载台面分割、BlurBall和MotionBERT的预训练权重。数据生成可通过统一的run_bulk.py脚本依次完成视频下载、回合分割、重建和汇总,或分阶段执行各个脚本以实现更细粒度的控制。用户可借助render_rally.py脚本对任意重建回合进行可视化检查,包括二维叠加投影视图、三维场景动画和统计图表。值得注意的是,下载的视频仅作为私有研究输入,不会重新分发,仅代码和导出的数值标注数据在此公开。该数据集基于TT3D、BlurBall、MotionBERT和RTMPose等开源组件构建,使用时需尊重各组件各自的许可证,若使用TT3D组件还应引用其CVPR-W 2025论文。
背景与挑战
背景概述
在体育科学和计算机视觉交叉领域,从单一视角的普通广播视频中自动化提取高精度三维运动数据始终是亟待突破的难题。在此背景下,rally3d数据集应运而生,由研究团队于近年开发,旨在解决乒乓球运动中球轨迹、运动员姿态及场地几何结构的同步重建问题。该数据集以世界乒乓球职业大联盟及国际乒联的公开赛事转播为数据源,通过创新的端到端流水线,在控制每位选手素材量(默认5小时)的前提下,实现了从视频下载到三维标注的全流程自动化。其核心研究问题聚焦于:如何利用已知的球台几何先验(2.74m×1.525m)与物理约束,在缺乏多视角同步采集的条件下,获得度量级的三维运动数据。该数据集为体育分析、动作理解及三维重建领域提供了宝贵的基准资源,尤其推动了单目视频中高速运动目标(如乒乓球)与人体姿态联合估计的研究进展。
当前挑战
rally3d所面对的挑战涵盖多个层面。首先,领域核心问题在于单目视频中高速乒乓球轨迹的三维重建——球体尺寸小、运动速度快、运动模糊严重,传统方法难以在广播级画面中稳定捕捉。此外,广播视角频繁切换、近景回放与特写镜头干扰了连续帧间的球台检测与相机标定,需通过宽幅镜头过滤算法剔除无关片段。在构建阶段,团队面临两大技术难题:其一,球台矩形角点对应存在90度歧义,需引入物理消歧方案(即检查重建后球员是否位于球台两端)以确定正确相机位姿;其二,三维球轨迹的间歇性遮挡导致深度信息缺失,为此设计了基于射线与插值的深度填充策略,并结合弹跳物理约束与Savitzky–Golay平滑滤波,确保轨迹的物理一致性。所有合成点均通过Interp标志区分实测与推断数据,保证了数据集的透明性与可靠性。
常用场景
经典使用场景
Rally3D数据集在体育视频分析领域具有开创性意义,它专门用于从单目广播视频中恢复乒乓球比赛的三维信息。研究者可以利用该数据集提取包含运动员全身关节坐标、球体运动轨迹以及球台几何参数在内的精确三维数据。典型的使用场景在于,通过rally3d提供的pipeline,将常规电视转播画面转化为可供深度学习模型训练的高质量标注数据,从而支撑乒乓球技战术分析、运动员姿态估计以及球路预测等研究任务。该数据集巧妙解决了高速旋转小球与复杂光照条件下的动态目标追踪难题,为体育视频理解提供了全新的基准资源。
解决学术问题
Rally3D数据集有效解决了体育视频分析中缺乏三维标注数据的核心瓶颈。传统方法受限于人工标注成本高昂、多视角同步拍摄系统部署困难,难以从单目视频中获取精确的时空信息。该数据集通过物理约束与神经网络融合的策略,实现了端到端的自动重建,消除了摄像机标定误差、球体模糊以及人体自遮挡等学术难题。它使得研究者能够在无侵入条件下大规模采集比赛数据,为运动生物力学分析、运动模式识别以及对抗策略量化研究提供了可靠的数据基础,显著推动了计算机视觉在体育科学领域的深入应用。
衍生相关工作
围绕Rally3D数据集,学术界已衍生出多项里程碑式的相关工作。其中TT3D项目首次提出从广播视频中重建乒乓球比赛三维场景的完整框架,并为rally3d提供了关键的台球分割模型与物理求解器。BlurBall算法专门针对高速运动中的球体模糊进行检测优化,显著提升了小球追踪的鲁棒性。MotionBERT作为二维到三维姿态提升的骨干网络,在体育场景中展现出优异的泛化能力。RTMPose则为运动员的二维关键点检测提供了实时且准确的解决方案。这些衍生工作共同构建了从数据采集、特征提取到语义理解的完整技术生态,持续推动着体育人工智能领域的发展与创新。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务