← 返回 2026-05-07

TT4D:从单目视频重建乒乓球四维时空的流水线与数据集 TT4D: A Pipeline and Dataset for Table Tennis 4D Reconstruction From Monocular Videos

Nima Rahmanian, Daniel Kienzle, Thomas Gossard, Dvij Kalaria, Rainer Lienhart, Shankar Sastry 📅 2026-05-02 👍 4 2026-07-13 08:36
3D 重建 Transformer 数据集 机器人学习 物理仿真 生成模型 运动分析

首个能从一般视角广播视频中端到端重建乒乓球 140+ 小时 3D 轨迹、旋转与人体网格的大规模数据集,核心是把 2D 分段留在 3D 提升之后。

前置知识

PnP(Perspective-n-Point)相机标定

已知 N 个世界坐标 3D 点以及它们在图像上的 2D 投影,求解相机的旋转、平移与(有时)焦距的非线性问题。本文的相机标定以球台四角作为 3D 参考点,迭代最小化重投影误差并同时估计焦距,使算法对部分遮挡与不同广播视角都很鲁棒。

读懂 Stage 1 中提到的 'Perspective-n-Point problem from table corners with unknown focal length' 必须先理解这是把 2D 观测映射回 3D 世界坐标的桥梁;不掌握它就无从判断后文 3D 球轨迹和球拍姿态是如何从 2D 像素计算出来的。

SMPL / 4DHumans 人体参数化

SMPL 用低维参数 $(\phi, \theta, \beta)$ 描述人体形状与姿态,4DHumans 是基于 Transformer 的人体追踪器,能从单目视频输出 SMPL 参数。本文先在相机坐标系下得到 SMPL,再通过相机外参把网格旋转到世界坐标系,并利用单应矩阵将贴地点对齐到地面,从而得到与球台对齐的全局 3D 人体网格。

TT4D 不仅重建球,还重建球员;理解 3D 人体网格如何与球台世界坐标系对齐,是读懂后续'反投影一致性过滤'以及'双打比赛也自然支持'这两个论断的前提。

RoPE(Rotary Position Embedding)按时间戳编码

RoPE 通过对 query/key 施加与位置相关的旋转矩阵来注入相对位置信息。本文直接用绝对时间戳 $t_n$ 作为位置编码,使网络能处理变长、变帧率、缺帧的输入序列,对真实比赛视频天然鲁棒。

这是基线模型 [21] 能在 25 FPS 以上广播视频上零样本迁移的核心,也是为什么本文的 Full-Sequence Lifting Network 能在 20–250 帧之间任意子序列上工作。

Magnus 力与球桌反弹模型

球在空中受重力、空气阻力 $-k_d \|\mathbf{v}\| \mathbf{v}$ 和旋转产生的 Magnus 力 $k_m \boldsymbol{\omega} \times \mathbf{v}$ 共同作用(公式 (SM3));球与球桌接触则按文献 [35] 的滑动/滚动接触模型更新速度与自旋(公式 (SM4)–(SM7))。

本数据集的'物理一致性过滤'和球拍姿态反解都基于这套 ODE;不理解 Magnus 效应就无法理解为什么仅靠球轨迹两个端点(击球+落台)就能唯一决定击球冲量,进而反解球拍拍面姿态。

Conditional Flow Matching 生成式建模

学习一个时变向量场 $v_\theta(\tau_t, t \mid c)$,其 ODE 解将简单高斯分布 $p_0$ 沿常微分方程 $\frac{d\tau_t}{dt} = v_\theta$ 输运到数据分布 $p_\text{data}$。训练损失是预测速度与目标速度的 L2 距离 $\mathcal{L}_{CFM} = \mathbb{E}\|v_\theta(\tau_t, t \mid c) - u_t\|^2$。

论文 5.2 节用 CFM 训练多回合轨迹生成器,是验证 TT4D 物理合理性的核心下游任务;不熟悉 flow matching 就读不懂为什么可以自回归滚出长回合。

研究动机

从单目广播视频重建乒乓球 4D 时空(相机、3D 球、旋转、人体网格)已被广泛研究,但现有工作几乎都遵循'传统流水线':先用 2D 球轨迹把回合切分为单次击球片段(segments),再对每段单独做 3D 提升。代表方法 LATTE-MV [10] 和 TT3D [17] 的实验表明,这种 2D-based 时间切分在球被球员遮挡或 2D 检测丢失时会彻底失败——当 2D 轨迹出现中断,hit point 识别与后续 3D 反投影同时崩塌。手工切分([21, 22])虽然能得到高质量基准,但不可扩展。作者统计 LATTE-MV 在 1017 场比赛中最终只产出 23,782 个 points、26 小时数据,而 YouTube 上有海量未切分多回合视频被浪费。另一个核心难点是 2D 球检测本身的脆弱性:乒乓球直径仅 40 mm、速度可达 100 km/h、镜头常被球员身体遮挡,TrackNetV2/V3 仍会丢失 10%–30% 的检测。

本文的目标是作者希望构建一个真正可扩展、能从一般视角(不限 side-view 单一机位)、从完整未切分广播视频出发,自动重建出 4D 时空信息的端到端流水线,并产出一个数量级大于现有数据集、同时提供稠密球旋转与基于 3D 的时间切分这两个此前在规模上无法获得的新标注的乒乓球数据集。

与已有工作不同的是,本文的独特切入点是'颠倒传统顺序'——先在 2D 域不做任何切分,直接用学习到的 Full-Sequence Lifting Network 把整回合 2D 轨迹提升到 3D,再在 3D 域里寻找 $x$ 坐标极值点确定击球事件、$z$ 坐标极小值确定落台点。一旦拥有连续 3D 轨迹,被遮挡的检测、丢失的 2D 点、回合边界判定都从'2D 图像级难题'退化为'1D 信号分析',从而让 140+ 小时规模的自动化重建首次成为可能。

核心方法

Lift-First Pipeline 把整条流水线反转为四阶段:Stage 1 在 2D 域做粗剪(用 YOLO+PaddleOCR 检测计分板变化切分回合,去重帧,用 TT3D 风格 PnP 标定相机,TrackNetV3 抽 2D 球轨迹,4DHumans 抽 SMPL 网格);Stage 2 用一个 1.6M 参数的 Transformer(基于 Kienzle et al. [21] 改进)一次性把整回合 2D 轨迹提升为 3D 球轨迹并稠密预测每帧 3D 自旋;Stage 3 在 3D 域用 $x$ 极值定位击球、$z$ 极小值定位落台,再用 OCP 反解球拍姿态 $(R_\text{wr}, V_\text{wr})$;Stage 4 通过 2D 重投影误差 + ODE 物理拟合 + 事件合理性三道过滤得到高质量子集。直觉上,可以把传统流水线类比为'先分段后解题',而本文则是'先用大模型直接给出完整答案,再用答案反推题目结构'。

核心创新是把'2D 时间切分'从 3D 重建的前置依赖中彻底解耦,并通过三个相互配合的技术组件实现:(1) 首个能在任意长度(20–250 帧)、未切分回合上工作的 Full-Sequence Lifting Network;(2) 一个规模达 300 万回合的合成数据集(用 MuJoCo 物理仿真 + stitching 算法把单段拼接成完整回合,包含预抛球 toss);(3) 通过 DCE(Disentangled Context Embedding)+ DUTA(Deferred Upsampling Token Attention)显式地把'球位置'与'相机/桌面关键点'分开编码,并对丢失检测用可学习插值 token 处理,使网络能在 10% 随机缺帧条件下仍稳定输出。

方法步骤详情

Stage 1 预处理:先用 YOLO 检测计分板并 PaddleOCR 读分,分数变化处把比赛切分为 points;再用 TrackNetV3(含 inpainting)粗略估计 2D 球轨迹 $\mathbf{b}^{2D}(1:N)$,通过对 2D 轨迹的零值区间和相关信号启发式地确定回合起止,把长剪辑剪到实际回合;用 SSIM + 周期检测去除广播视频的重复帧;对每个有效 clip,用 UNet++ + EfficientNet-B0 分割球台、Hough 直线交点取四角,建立 PnP 优化得到内参焦距与外参 $(R, t)$;用 4DHumans 在相机系下预测 SMPL 参数 $(\phi_i, \theta_i, \beta_i)$,通过单应矩阵与'最近足地点在地面'假设对齐到世界系。Stage 2 全序列提升网络:输入 2D 球位置序列 $\{\mathbf{r}^{2D}(t_n)\}_{n=0}^{N-1}$、对应精确时间戳 $\{t_n\}$ 与 13 个 2D 桌面关键点 $\{\mathbf{k}_i\}_{i=1}^{13}$,先经 DCE 把球与桌面关键点分别映射到高维向量,缺帧的球位置用可学习 $\tau_\text{int}$ 代替但保留桌面关键点,然后由一个 RoPE-based Transformer 处理,最后用两个小 MLP Head 同时输出 3D 位置 $\hat{\mathbf{r}}^{3D}(t_n)$ 与稠密自旋 $\hat{\boldsymbol{\omega}}(t_n)$。Stage 3 3D 域标注:击球事件取 $\mathbf{r}^{3D}$ 的 $x$ 坐标局部极值,要求相邻极值间隔 $\geq 0.2$ s 且极值 $|x| \geq 0.3$ m;落台事件取 $z$ 坐标局部极小。球拍姿态反解用单次打靶 OCP,以 CasADi + IPOPT 求解,使模拟的后继球轨迹的反弹位置与观测吻合,损失函数同时匹配目标自旋与目标落点。Stage 4 过滤:2D 重投影最大归一化误差 $\leq 0.2$(以台面对角线像素长度归一化)、ODE 物理拟合最大 RMSE $\leq 0.3$ m、3D 人体平均位置在 $[0.5, 8.22]\times[0.5, 1.525]$ m 范围内、最少 2 个击球段、平均球可见度 $\geq 50\%$。

技术新颖性

技术新颖性体现在三方面。第一是范式创新:把'2D 切分必须先于 3D 重建'这一被业内普遍接受的隐含假设反过来用,提出 3D-first 思路;这也是为什么本文是首个能处理一般视角(包括双打、镜头移动、广播级动态)的方案。第二是数据合成:以往方法([21, 22])只用 5 万–14 万条 isolated 段训练,本文通过 stitching 算法把 3M 回合的完整多段序列拼出来,并且专门合成'预抛球 toss',让网络对真实比赛的开球动作具有鲁棒性。第三是缺失检测处理:用 DCE 把球和桌面关键点解耦,再用 DUTA 在初始注意力层禁止有效 token 关注插值 token,使 10% 随机缺帧下性能仅由 2.41 px 退化到 3.50 px(Table 2),是 Masked Token Modeling 思想在 3D 轨迹提升任务上的首次落地。

A visual outline of our proposed Lift-First Pipeline. Instead of depending on challenging and noisy temporal segmentations of the video sequence before attempting the 3D uplifting of the trajectory, we invert this logic by lifting the entire sequence to 3D first.
Figure 2: A visual outline of our proposed Lift-First Pipeline. Instead of depending on challenging and noisy temporal segmentations of the video sequence before attempting the 3D uplifting of the trajectory, we invert this logic by lifting the entire sequence to 3D first.
Reconstructed 3D trajectory. Even when the 2D detection is missing, the model is able to compute reasonable predictions due to its interpolation capabilities.
Figure 6: Reconstructed 3D trajectory. Even when the 2D detection is missing, the model is able to compute reasonable predictions due to its interpolation capabilities.

实验结果

本文最重要的实证发现是'Lift-First'在所有视图下都优于传统分段处理:在自建的 TT4DBench(基于 TT3D 真值拼接)上,全回合处理把平均 3D 轨迹误差从 21.71 cm 降到 18.95 cm(Table 3,所有视图),这证明了'网络能利用整回合上下文'。在鲁棒性上(Table 2),单独施加半帧率或 10% 缺帧几乎无影响(合成 3D 误差 2.35→3.09/2.49 cm),两者叠加时合成 3D 误差 3.78 cm、TTST 2D 误差 3.50 px、自旋 17.14 Hz、Macro F1 仍保持 0.882,仍然非常强。在与最直接的优化基线对比中(Table 4,side-view 单段),本文 14.34 cm 略优于 LATTE-MV 的 15.78 cm(且 LATTE-MV 实际拿到 3D 真值特权),并远胜 TT3D 的 29.91 cm。球拍姿态反解在 92 个动捕真值击球上达到 $26.4\pm 4.4°$ 取向误差和 $0.58\pm 0.40$ m/s 速度误差(平均击球速度 3.72 m/s),主要残差来自未知的球拍反弹属性。生成模型(5.2 节)用 DiT 风格 Conditional Flow Matching,10,000 条生成回合中只有 6 条未通过 3D 域时间切分,ODE 拟合误差 Gen 均值 8.72 cm 反而比真值 10.77 cm 略低,物理一致性极佳。数据集规模上,TT4D 最终产出 211,534 个 points、146 小时,从 45,946 场三局两胜比赛经 4 阶段筛选(Table 1,71.4 万 scoreboard clips → 40.6 万 gameplay → 37.2 万 calibration → 21.2 万 reconstructed),相比 LATTE-MV 提升约 5.6×。

Pipeline filtering statistics per stage. Broadcast videos are clipped into points at scoreboard changes. We further trim clip downs to the actual gameplay, eliminating rests before and after the point. Lastly, we calibrate the camera and apply consistency filters.
Table 1: Pipeline filtering statistics per stage. Broadcast videos are clipped into points at scoreboard changes. We further trim clip downs to the actual gameplay, eliminating rests before and after the point. Lastly, we calibrate the camera and apply consistency filters.
3D reconstruction error $\Delta \mathbf{r}^{3D}$ (cm) on TT4DBench. Processing the full point (our approach) consistently yields lower errors than processing individual segments (traditional approach).
Table 3: 3D reconstruction error $\Delta \mathbf{r}^{3D}$ (cm) on TT4DBench. Processing the full point (our approach) consistently yields lower errors than processing individual segments (traditional approach).
Side-view 3D reconstruction error $\Delta \mathbf{r}^{3D}$ (cm) for individual segments from TT4DBench. Comparison to baseline methods with and without noisy 2D detections.
Table 4: Side-view 3D reconstruction error $\Delta \mathbf{r}^{3D}$ (cm) for individual segments from TT4DBench. Comparison to baseline methods with and without noisy 2D detections.
Distributions of the two quality metrics used in our Filtering pipeline. (Top) Histogram of the maximum Physics-Based ODE Fit error per point. (Bottom) Histogram of the maximum normalized 2D Reprojection Error per point.
Figure 3: Distributions of the two quality metrics used in our Filtering pipeline. (Top) Histogram of the maximum Physics-Based ODE Fit error per point. (Bottom) Histogram of the maximum normalized 2D Reprojection Error per point.
Ball position densities for the TT4D dataset. The table region is marked by the dashed red line, and the net's height is marked by the dotted blue line.
Figure 4: Ball position densities for the TT4D dataset. The table region is marked by the dashed red line, and the net's height is marked by the dotted blue line.
Visualization of ball spin strength per spin category.
Figure 5: Visualization of ball spin strength per spin category.
Physical consistency: A physics-based ODE (solid line) fits the network's predicted 3D points (dots) with high precision, confirming the physical consistency of our output.
Figure 7: Physical consistency: A physics-based ODE (solid line) fits the network's predicted 3D points (dots) with high precision, confirming the physical consistency of our output.
(Top) Physical plausibility: The distribution of maximum ODE fit errors (RMSE) for generated rallies (blue) closely matches the real gameplay distribution (orange). (Bottom) Temporal realism: The inter-hit time distribution of generated rallies (blue) aligns closely with real gameplay (orange).
Figure 8: (Top) Physical plausibility: The distribution of maximum ODE fit errors (RMSE) for generated rallies (blue) closely matches the real gameplay distribution (orange). (Bottom) Temporal realism: The inter-hit time distribution of generated rallies (blue) aligns closely with real gameplay (orange).
查看结构化数据
任务指标本文基线提升
3D 球轨迹重建(合成测试集) 3D Position Error $\Delta \mathbf{r}^{3D}$ (cm) 无增强 2.35±1.03;半帧率 3.09±1.38;缺帧 2.49±1.09;两者叠加 3.78±2.15 无对照 baseline 单独列;论文对比仅在 TT4DBench(Table 3)做 Full vs Individual 消融 Full Point 18.95 cm vs Individual Segments 21.71 cm(所有视图,Table 3)
3D 球轨迹重建(TTST 真实测试集) 2D Reprojection Error (px) / Macro F1 无增强 2.41±1.01 / 1.000;最坏组合 3.50±2.34 / 0.882 无基线对比(同任务),用于鲁棒性消融 在缺帧+半帧率条件下 Macro F1 仅由 1.000 降至 0.882,体现强鲁棒性
3D 球轨迹重建(TT4DBench side-view 单段) 3D Position Error (cm) 14.34±18.98(无噪) LATTE-MV 15.78±6.37(拿到 3D 真值特权),TT3D 29.91±27.79 比 LATTE-MV 低 1.4 cm、比 TT3D 低 15.6 cm
球拍姿态反解(动捕真值) Orientation Error (°) / Velocity Error (m/s) 26.4±4.4 / 0.58±0.40(92 个击球,平均击球速度 3.72 m/s) 无直接对比基线;可对照 [29] 的简化模型,本文用全 Magnus 物理 + RK4 积分 首次在广播视频规模上做球拍姿态反解并量化误差
生成式回合物理一致性 ODE Fit RMSE (cm) Gen Mean 8.72 Data Mean 10.77(真值分布) 生成样本物理拟合误差比真值还低,证明生成器学到了真实物理结构

局限与改进

作者明确指出三个主要局限:(1) 球拍姿态反解残差主要在 Z 方向速度和 X 轴旋转(开合拍角),根本原因在于反弹模型使用了与球拍无关的固定参数集($C_{OR}=0.75$, $k_p=0.002$),忽略了真实球拍的海绵/胶皮差异;(2) 球拍姿态 OCP 求解器在 Monte-Carlo 10,000 次试验中只有 97.22% 收敛到 sub-mm 反弹误差,剩余 2.78% 会留下局部最优;(3) 标定阶段丢失约 5% 数据(移动相机 + 标定失败),其中 LATTE-MV 仅支持 side-view,本文的 8.2% 移动机位仍存在识别困难。从读者角度还可补充三点观察:(a) 训练只用合成数据,零样本迁移虽然在 TTST 上 F1=1.000,但论文未跨数据集(如 Blurball [15])做严格域差距分析;(b) 21 万 points 中 9.4% 因人体位置不合理被丢弃,对密集遮挡/远景镜头的鲁棒性仍有提升空间;(c) Flow Matching 模型只评估 10,000 条自回归 rollout,缺少对长回合(>20 段)的累积误差分析。

独立分析的弱点

首先,球拍反弹模型过简化是最大独立弱点——单组固定参数无法覆盖正胶/反胶/不同厚度海绵球拍的物理差异,应在数据集中引入球拍类型标注或直接用动捕球拍测量参数做监督式 fine-tune。其次,OCP 求解器在 2.78% 案例不收敛到全局最优,建议混合多起点初始化或用学习式 surrogate 模型加速;可改写为直接训练一个由 $(v_\text{in}, \omega_\text{in}, \text{flight time}, \text{landing target}) \to (R_\text{wr}, V_\text{wr})$ 的 MLP,把 OCP 当 teacher 做 distillation。第三,3M 合成回合虽然是规模突破,但合成环境的反弹/空气阻力参数与真实乒乓球仍有差异(论文未做 sim-to-real gap 的系统消融),建议在真实数据上做 self-supervised fine-tuning 或 domain randomization。第四,双打场景下网前球员与远端球员的人体网格在重投影过滤中互相干扰,导致 18.1% 点因人体位置被丢弃,需要更精细的多球员对齐模块。

未来方向

作者在结论与 5.4 节中提出的方向包括:(a) 把 Lift-First 范式推广到网球、羽毛球等其他高速度隔网运动,因为 pipeline 对球和球桌结构是运动无关的;(b) 训练'行为感知'的机器人策略,让机器人能预测并模仿职业选手的击球决策;(c) 用作球发射器 [7] 的条件控制,模拟对手打法做针对性训练。本文成果还可延伸出三个独立方向:(1) 把 Full-Sequence Lifting Network 与最新视频基础模型(如 SAM-2、Track Anything)结合,把 2D 球追踪从 TrackNetV3 升级为 foundation model 驱动,进一步降低 10% 缺帧率;(2) 在 TT4D 的稠密自旋标注上训练一个击球意图预测模型,实现基于对手前序动作的回合级轨迹预测,对应乒乓球解说与机器人预判的实用场景;(3) 把 Lift-First 与 4D Gaussian Splatting 联合优化,把稀疏 3D 球轨迹 + SMPL 网格 + 相机参数当作初始化,重建整段比赛的 4D 神经场景,从而支持自由视角回放。

复现评估

复现门槛中等。论文承诺发布 TT4D 数据集,但截至投稿时未开源代码与训练好的模型权重。训练所需算力在论文附录 K.1/K.2 中明示:Lifting Network 1.6M 参数,2.6M 合成回合上 ADAM 优化器、lr=$10^{-4}$、17 个 epoch、约 2 天在单张 H100 上完成;Flow Matching 模型 6 层 DiT、6 个 attention head、embedding 384、batch size 512,lr=$2\times 10^{-4}$ 训练 600k iter 在单张 RTX 4090。数据合成依赖 MuJoCo 物理引擎与 stitching 算法,论文在附录 B 给出完整 Algorithm 2 和 13 个桌面关键点定义。物理一致性过滤阈值(0.2/0.3 m/0.2 s/0.3 m 等)也都在 Table SM1 中列明。整体难度在于 3M 合成数据的生成(需要 1.6M 个 simulate 调用)和广播版权视频的获取;后者是更难复现的非技术门槛。Lifting Network 单次推理在 10 年前 Titan X 上仍能跑 25 points/s(Table SM2),对最终使用者很友好。