Towards Ball Spin and Trajectory Analysis in Table Tennis Broadcast Videos via Physically Grounded Synthetic-to-Real Transfer

Daniel Kienzle, Robin Schön, Rainer Lienhart, Shin'Ichi Satoh
4/28/2025
cs.CVcs.AIcs.LG

No official code found. Best implementation: KieDani/SpinAndTrajectoryTableTennis (26 stars, GPL-3.0, last commit 2025-06-23).

Abstract

Analyzing a player's technique in table tennis requires knowledge of the ball's 3D trajectory and spin. While, the spin is not directly observable in standard broadcasting videos, we show that it can be inferred from the ball's trajectory in the video. We present a novel method to infer the initial spin and 3D trajectory from the corresponding 2D trajectory in a video. Without ground truth labels for broadcast videos, we train a neural network solely on synthetic data. Due to the choice of our input data representation, physically correct synthetic training data, and using targeted augmentations, the network naturally generalizes to real data. Notably, these simple techniques are sufficient to achieve generalization. No real data at all is required for training. To the best of our knowledge, we are the first to present a method for spin and trajectory prediction in simple monocular broadcast videos, achieving an accuracy of 92.0% in spin classification and a 2D reprojection error of 0.19% of the image diagonal.

View on arXivView PDF

Code Implementations(1)

GPL-3.0

Official implementation of the paper "Towards Ball Spin and Trajectory Analysis in Table Tennis Broadcast Videos via Physically Grounded Synthetic-to-Real Transfer". https://kiedani.github.io/CVPRW2025/

263Shell, PythonApr 29, 20251 years agoGPL-3.0
aicomputer-visioncvprcvpr2025machine-learning+3 more

Similar Papers

Cite this paper

@article{kienzle2025towards,
  title  = {Towards Ball Spin and Trajectory Analysis in Table Tennis Broadcast Videos via Physically Grounded Synthetic-to-Real Transfer},
  author = {Daniel Kienzle and Robin Schön and Rainer Lienhart and Shin'Ichi Satoh},
  year   = {2025},
  eprint = {2504.19863},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2504.19863v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2504.19863.svg)](https://codeofpaper.com/paper/2504.19863)

Discussion