SimTrack3D: Monocular 3D Trajectory Prediction of Fast-Moving Shuttlecocks via Broadcast-Calibrated Sim-to-Real Transfer

Gino Chang

Project page · 2026

Reconstructed shuttle trajectories over a calibrated court
Reconstructed 3D shuttle trajectories over the calibrated court model. Hue encodes tactical family: attack, flat, lift / clear, net play.

Demo

One rally, three views. Left: the broadcast, with the TrackNetV3 2D track coloured by stroke and both players' poses; the cross under each player is the ankle midpoint, the planar anchor of §3.5. Middle: the reconstruction rendered through the venue's own calibrated camera, cropped to the same rectangle as the left panel, so the two can be compared directly — the court corners project to within a pixel and a half of where they appear in the video, which is the calibration of §3.1 checked on the footage itself. Right: the same reconstruction from a free camera, which is what a monocular broadcast cannot otherwise give. Nine strokes; eight come back as flights the court permits, the ninth is a net shot the repair could not fix and is flagged rather than forced.
The same scene composited onto the frame. Court lines, net, the reconstructed flight, the shuttle and both skeletons, drawn through the fitted camera and laid over the video: court lines within 1.4 px, the 3D shuttle within 4.1 px of the tracked one at the median, the skeleton joints within 0.6 px. One camera, one world frame, and every reconstruction has to project back onto the picture it came from.

Abstract

Recovering metric 3D trajectories of fast-moving sports projectiles from a single uncalibrated broadcast camera is fundamentally ill-posed. In broadcast badminton, standard monocular depth cues fail catastrophically: the shuttlecock is small and textureless (∼6.9 px across a 1280-pixel frame), motion blur collapses optical scale, high-speed smashes travel nearly collinear with the optical axis, and the projectile never bounces during active play. Crucially, we demonstrate that validation via 2D reprojection residual is fundamentally deceptive: on high-speed smashes, candidate trajectories exhibiting a 46-fold discrepancy in 3D error (0.06 m vs. 2.78 m) yield 2D reprojection residuals within a 0.20-pixel band — far beneath visual tracker noise floors.

To overcome this fundamental ambiguity, we introduce SimTrack3D, a physics-grounded framework built on the principle that while a monocular view cannot resolve axial depth, it measures the ground plane with sub-pixel precision. First, we resolve the focal-length degeneracy of coplanar court lines by formulating a non-coplanar calibration incorporating the elevated net cord, leveraging its 26 mm catenary sag as an independent physical validation gate. Second, we synthesize 77,728 aerodynamically feasible trajectories by solving boundary-value problems anchored to 13,010 real tournament strokes, training Shuttle3D, a ray-depth transformer operating entirely in canonical viewing space. Third, we formulate a two-tier inference scheme featuring a null-space constrained rectifier that projects unconstrained predictions onto the physically admissible set along the two weakest eigenvectors of the reprojection curvature.

On 6,553 real tournament strokes, SimTrack3D recovers physically valid trajectories for 96.0% of strokes (with unfixable outliers explicitly flagged rather than hallucinated), compared to only 18.3% for unconstrained optimization baselines, reducing arrival endpoint error from 3.33 m to 0.60 m. We further extend the synthetic domain from trajectories to images: a broadcast-registered renderer whose camera, player poses and motion blur are all measured from the footage itself, agreeing with the frame it reconstructs to 2.2 px on the court lines and 3.8 px on the players, and on which a detector trained only on broadcast localises the shuttle to 2.7 px with the confidence it reports on real footage. Because it places a body fitted from the broadcast and a reconstructed shuttle in one metric frame, it also yields a geometrically independent probe of our own output: at 58 contact frames the striking wrist lies 0.52 m from the line of sight through the tracker’s own detection but 1.54 m from the reconstructed 3D point, localising the pipeline’s residual depth error to the stroke seam. Finally, we formulate an image-computable observability metric N, which exhibits a strict power-law correlation with the Cramér–Rao Lower Bound (CRLB ∝ N−0.98, R² = 0.83). This theoretical formulation quantifies the exact boundary where visual data ceases to constrain depth and the domain prior dominates.

46×3D-error spread hidden inside 0.2 px of 2D reprojection (smash)
32broadcast cameras measured, 22 with no court annotation at all
0%illegal flights in the output: 96% of real strokes are returned, the rest are flagged
N−0.98Cramér–Rao bound vs. the image-only observability number

1. Introduction

Deep heatmap regressors such as TrackNet[1, 2, 3] have established reliable 2D localization for small, high-speed sports projectiles. However, lifting these 2D pixel tracks into metric 3D trajectories remains an open challenge. Monocular 3D vision typically resolves depth ambiguity from object-centric cues: known physical dimensions, kinematic articulation, or surface texture gradients. In broadcast racket sports, every conventional cue collapses simultaneously:

Profile likelihood of 2D reprojection residual and true 3D error against assumed launch height, clear versus smash
Figure 1 — The reprojection fallacy in fast trajectory lifting. Reprojection error is blind to true 3D metric error on high-speed, low-curvature strokes. Fixing launch height z0 and fitting remaining parameters against noisy 2D tracks (σ = 2 px): for a high-curvature clear (left), 2D reprojection exhibits a well-conditioned global minimum at ground truth. For an axial smash (right), candidate trajectories spanning 3D errors from 0.06 m to 2.78 m sit within a 0.20 px reprojection margin — well beneath visual detector jitter.

The reprojection fallacy. Because monocular sports broadcasts lack dense 3D ground truth, prior literature frequently validates reconstructions via 2D reprojection residuals or qualitative plausibility heuristics (e.g., net clearance or landing within the venue). As demonstrated in Figure 1, reprojection error is uninformative on high-speed strokes: on an axial smash, candidate trajectories exhibiting 3D errors from 0.06 m to 2.78 m yield virtually identical 2D residuals within 0.20 px. Validation by reprojection alone is structurally blind to massive line-of-sight depth errors.

Core intuition: anchoring depth to the floor. While a single broadcast view cannot resolve depth along a viewing ray directly, it resolves the ground plane with sub-pixel precision. Furthermore, every stroke in a rally is physically bounded by boundary conditions on this floor: the server's feet, the receiver's court positioning, the painted court lines, and the terminal landing. We formalize these spatiotemporal boundary conditions as planar anchors. The net cord provides the sole elevated, rigid metric reference above the floor.

In this work, we present SimTrack3D, a physics-grounded framework that recovers metric 3D projectile trajectories by exploiting non-coplanar net geometry, domain-faithful boundary-value simulation, and constrained null-space projection. Our core contributions are:

2D projectile tracking in sports. Deep heatmap regressors typified by TrackNet[1] localise small, high-speed objects across temporal frame stacks. Subsequent iterations integrate trajectory rectification[2] and spatio-temporal attention[3], with parallel architectures adapted for soccer and table tennis. While motion blur is classically discarded as corruption, BlurBall[6] demonstrates that blur streaks encode instantaneous velocity vectors. In this paper, we leverage existing 2D detectors as observational front-ends and focus entirely on the ill-posed monocular 3D lifting problem.

Monocular 3D trajectory reconstruction. Reconstructing 3D trajectories from single-view footage requires strong priors to resolve depth ambiguities. MonoTrack[7] optimizes a single launch state per stroke against 2D detections via non-linear least squares. In table tennis, TT3D[4] and TT4D[5] exploit table impacts as metric boundary conditions. SynthNet[8] and Uplifting Table Tennis[9] demonstrate that transformers trained on synthetic arcs can learn monocular lifting. However, existing methods validate primarily on 2D reprojection or uncalibrated heuristics. We show that such proxies fail to penalize major depth degeneracies and introduce hard physical constraints to guarantee validity.

Sim-to-real transfer and system identification. Sim-to-real transfer paradigms span domain randomization[10], differentiable simulation, and domain adaptation. Rather than applying blind domain randomization over arbitrary camera distributions, our strategy follows rigorous system identification: we explicitly measure 32 broadcast camera geometries and synthesize trajectories from real match events.

Broadcast camera calibration and field registration. Planar field calibration from court markings provides an 8-DoF homography but leaves focal length entangled with extrinsic tilt and distance[11]. While vanishing-point estimators and deep registration networks[12][13] calibrate ground planes, sports fields lacking perpendicular vertical elements remain mathematically degenerate. We resolve this by incorporating the elevated net cord and its catenary profile into the calibration objective.

A longer survey, with the sim-to-real mechanisms and the constrained-estimation literature treated separately, is on the supplementary page.

3. Methodology

3.1 Sag-gated non-coplanar calibration

Let X = [XYZ] denote a 3D coordinate in the canonical world frame, where the court surface lies on Z = 0. A planar homography relates court coordinates to image coordinates u = [uv, 1]:

$$s\,\mathbf{u} = \mathbf{H}\,[X, Y, 1]^{\top}, \qquad \mathbf{H} \in \mathbb{R}^{3\times 3}.$$

Because court markings are strictly coplanar, H provides eight constraints, leaving focal length f and camera distance d mathematically degenerate. Evaluating Zhang's coplanar constraints[11] on our broadcast corpus reveals a 65% discrepancy in focal length estimates across plausible line correspondences.

Overview of the SimTrack3D pipeline in six panels
Figure 2 — Overview of the SimTrack3D pipeline. (a) Broadcast video with 2D projectile tracks and detected human poses. (b) Non-coplanar calibration: court lines and elevated catenary net cord jointly determine camera extrinsics and focal length, physically gated by net sag. (c) Ray parameterization: pixel tracks are mapped to unit viewing rays and floor intersections, conditioned on spatiotemporal planar anchors. (d) Tier 1 (Shuttle3D): a ray-depth transformer estimates metric depth along each ray. (e) Tier 2 (Rectifier): an aerodynamic launch state is fitted and projected onto the admissible physical manifold along the two weakest eigenvectors of reprojection curvature. (f) Reconstructed metric 3D flight in the calibrated world court frame.

To decouple intrinsics from extrinsics, we incorporate the elevated badminton net cord. Under BWF specifications, the cord is suspended at post height Hp = 1.55 m and sags under gravity to Hc = 1.524 m at court center, representing an invariant vertical deflection of Δz = 26 mm across a width L = 6.10 m. In net-aligned coordinates, the cord profile follows a catenary:

$$z(x) = a \cosh\!\left(\frac{x - x_0}{a}\right) + c, \qquad a = \frac{T_h}{\mu g}.$$

Because Δz / L ≪ 1, the shallow catenary parabolic expansion holds:

$$z(x) \approx H_c + \frac{(x - x_0)^2}{2a}, \qquad \Delta z = \frac{L^2}{8a}.$$

Joint optimization. We extract sub-pixel court line segments and net-cord samples (e.g., 270 samples with 0.14 px fit residual on representative venues) via ridge filtering over temporal median backgrounds. We formulate calibration as a joint non-linear optimization over focal length f, rotation R, and translation t:

$$\min_{f, \mathbf{R}, \mathbf{t}} \sum_{i} d_\perp\!\left(\mathbf{p}_i, \mathbf{l}_i(f, \mathbf{R}, \mathbf{t})\right)^2 + \sum_{j} \left\lVert \mathbf{q}_j - \pi\!\left(\mathbf{Q}_j; f, \mathbf{R}, \mathbf{t}\right) \right\rVert^2,$$

where d is the point-to-line orthogonal distance on the court plane, and π(·) denotes perspective projection of 3D net-cord points Qj.

Independent physical validation gate. The physical sag Δz is withheld from optimization. After convergence, we evaluate estimated vertical deflection, rejecting any calibration that violates our pre-defined physical tolerance:

$$\left| \widehat{\Delta z} - 26\,\text{mm} \right| \le 12\,\text{mm}.$$

This gate rejects degenerate minima where 2D line residuals appear optimal (<0.3 px) while camera distance is erroneous by several meters. Across 32 evaluated broadcast venues, 19 of 26 unannotated venues pass fully automatically (zero false passes, median corner error 0.033 m), and 22 pass with lightweight 4-corner initialization, exhibiting a median sag of 23.1 mm.

3.2 Aerodynamic boundary-value synthesis

A tournament shuttlecock experiences strong quadratic drag. With kinematic state s(t) = [x(t)v(t)], the governing equations of motion are:

$$\dot{\mathbf{x}} = \mathbf{v}, \qquad \dot{\mathbf{v}} = \mathbf{g} - \gamma \lVert \mathbf{v} \rVert \mathbf{v},$$

where g = [0, 0, −9.81] m/s2 and γ = g / vT2. With terminal velocity vT = 6.8 m/s, the aerodynamic drag parameter is γ ≈ 0.212 m−1.

Rather than sampling unconstrained launch states, we anchor synthesis to real tournament dynamics. Given annotated 2D court endpoints X0, XT and duration T from 13,010 match events in ShuttleSet, vertical trajectory reconstruction is formulated as a two-point boundary-value problem:

$$\mathbf{x}(0) = [X_0, Y_0, Z_0]^{\top}, \qquad \mathbf{x}(T) = [X_T, Y_T, Z_T]^{\top},$$

where launch and arrival heights Z0, ZT are drawn from stroke-specific priors. We solve for initial velocity v0 via a shooting method using a 4th-order Runge–Kutta integrator. At iteration k, with terminal residual Φ(v0) = (Tv0) − xT, updates follow damped Newton steps:

$$\mathbf{v}_0^{(k+1)} = \mathbf{v}_0^{(k)} - \lambda\, \mathbf{J}_{\Phi}^{-1} \Phi\!\left(\mathbf{v}_0^{(k)}\right), \qquad \mathbf{J}_{\Phi} = \frac{\partial \Phi}{\partial \mathbf{v}_0} \in \mathbb{R}^{3\times 3}.$$

The shooting solver achieves a 99.9% convergence rate.

Physical audit and feasibility filtering. In unconstrained synthetic generation, up to 10.6% of BVP solutions pass under the net cord (particularly on low-margin shots: 19.9% of net shots). To eliminate unphysical training data, we solve an ensemble of eight vertical height candidates per stroke, enforcing continuous-time physical criteria:

$$z(t_{\text{net}}) \ge H_{\text{cord}}(x) + 0.02\,\text{m}, \qquad z(t) \ge 0, \qquad \max_t z(t) \le 12\,\text{m}.$$

This yields 77,728 valid trajectory sequences. Continuous shooting enforces a strict 2 cm clearance margin, guaranteeing physical admissibility across the dataset.

3.3 Shuttle3D: ray-depth transformer

To achieve camera-agnostic generalisation, Shuttle3D operates on normalized viewing rays in world coordinates. For a 2D detection pt = [utvt], the unit viewing ray is:

$$\mathbf{r}_t = \frac{\mathbf{M}^{-1} [u_t, v_t, 1]^{\top}}{\lVert \mathbf{M}^{-1} [u_t, v_t, 1]^{\top} \rVert}, \qquad \mathbf{M} = \mathbf{P}_{[:,\,1:3]},$$

where P is the calibrated camera matrix. Its intersection with the floor plane Z = 0 is:

$$[X_{\text{floor}}, Y_{\text{floor}}]^{\top} = \left(\mathbf{C} - \frac{C_z}{r_{t,z}} \mathbf{r}_t\right)_{xy},$$

where C is the optical center. Each frame is tokenized as a 7D feature vector: [rt, Xfloor, Yfloor, 1horiz, t], where 1horiz flags near-horizontal rays where floor intersections diverge. The camera center is appended as a global conditioning token. A 6-layer Transformer encoder (dmodel = 192, 8 attention heads) estimates a relative depth dt along each ray:

$$\mathbf{P}_t = \mathbf{C} + d_t \lVert \mathbf{C} - \mathbf{c}_0 \rVert\, \mathbf{r}_t,$$

where c0 is the court center. Estimating depth rather than absolute height prevents numerical divergence for low-angle views where rt,z → 0.

Domain-matched noise injection. To bridge the sim-to-real gap, training sequences are corrupted with empirically measured detector artifacts: heavy-tailed tracking noise (σ = 6.4 px median, 90th-percentile 24.6 px), burst dropouts, late visual acquisition, and calibration jitter. Differentiable hinge losses penalize violations of court boundaries and floor intersections during backpropagation.

3.4 Null-space constrained rectification

Because per-frame transformer predictions lack temporal coupling, raw trajectories exhibit high-frequency jitter and occasional physical violations. We therefore introduce a second-tier Rectifier. Given estimated 3D positions, we fit an initial 6D aerodynamic launch state s0 = [x0v0] via non-linear least squares:

$$\min_{\mathbf{s}_0} \sum_{t} \frac{\lVert \pi(\mathbf{P}(t; \mathbf{s}_0)) - \mathbf{p}_t \rVert^2}{\sigma_{2D}^{2}} + \rho_{\text{Huber}}\!\left( \sum_{t} \frac{\lVert \mathbf{P}(t; \mathbf{s}_0) - \widehat{\mathbf{P}}_t \rVert^2}{\sigma_{\text{prior}}^{2}} \right),$$

subject to hard court inequality constraints:

$$z(t) \ge 0, \qquad z(t_{\text{net}}) \ge H_{\text{cord}}(x) + 0.02\,\text{m}, \qquad (y_0 - y_{\text{net}})(y_T - y_{\text{net}}) < 0.$$
Reprojection cost and the feasible set over the two least-constrained directions of the launch state
Figure 3 — Null-space rectification along weakest observability directions. (a) Reprojection residual landscape spanned by the two smallest eigenvectors of JJ. The broad, shallow basin illustrates extreme line-of-sight depth ambiguity. (b) Physically admissible launch states occupy only 23.8% of this subspace. The unconstrained optimum (circle) falls outside the feasible set; our constrained solver projects it into the feasible region (star). (c) Metric consequence: the unconstrained fit passes beneath the cord; the projected trajectory cleanly clears the tape while reprojection error rises by merely 0.16 px.

Projection along weakest observability directions. If the unconstrained fit violates any physical rule, the rectifier executes projected gradient descent. Critically, optimization steps are restricted to the 2D subspace spanned by the two eigenvectors [v5v6] corresponding to the smallest eigenvalues of the Gauss–Newton reprojection curvature matrix JJ:

$$\mathbf{s}_0^{(k+1)} = \mathbf{s}_0^{(k)} + \alpha_1 \mathbf{v}_5 + \alpha_2 \mathbf{v}_6.$$

As illustrated in Figure 3, this subspace represents the line-of-sight depth degeneracy where metric adjustments cost negligible reprojection penalty. The optimizer operates under a maximum residual budget Δbudget = 14.0 px. In practice, the observed 90th-percentile reprojection cost on real tournament strokes is merely 0.76 px (median 0.00 px). Strokes that cannot satisfy all physical constraints within this budget are flagged as unreliable rather than forced into unphysical trajectories.

3.5 Spatiotemporal planar anchors

To ground the unobservable depth axis, we extract spatiotemporal boundary conditions directly from broadcast video:

These anchors enter Shuttle3D as conditioning tokens and inform the Rectifier's optimization.

3.6 Image-level synthesis: a broadcast-registered renderer

The synthetic domain of §3.2 is a domain of trajectories: it transfers because the flight model and the camera distribution are measured, but it cannot exercise a detector, and it cannot tell us whether a reconstructed shuttle is where a human arm could have put it. We therefore extend the synthesis to images. The renderer places, in one metric frame, a measured broadcast camera, the court and net at BWF dimensions, two articulated human bodies, procedural rackets, and a shuttle on a flight from §3.2 — with motion blur at the shutter measured from the footage rather than assumed.

Schematic of the image-level synthesis pipeline
Figure 4 — Nothing in the rendered image is authored. Four quantities are measured from the clip itself — the camera, the players' poses, the shutter and the flight — combined in one metric scene, and the render is then checked against the frame it was built from.

The renderer needs a rigid camera. For venues where §3.1 has run, its output is already one. Where a venue is described instead by four court corners plus a focal length, the projection P = [g1, g2, sKr3, g3] that keeps the Z = 0 slice exactly equal to the homography is pixel-exact on the court and not a physical camera: its decomposition returns negative focal lengths with det R = −1. Projection is insensitive to that mirror, so no estimation result is affected; a renderer handed it produces a black frame. The mirror is vertical in the image, and flipping the corresponding row of R recovers a proper camera whose reprojection agrees with the original to 3.92 px over nine points spanning the ground, the net-post tops, the players and the shuttle — inside the 6.03 px residual the corner annotations themselves carry.

Plan and elevation of the virtual court with the measured camera
Figure 5 — The virtual court and where the camera stands. Court and net follow the BWF specification; the camera is the one solved from the clip being reconstructed, and the corpus envelope beneath (b) is what §3.1 measured across eleven venues. The elevation range has no overlap with the synthetic cameras used for table tennis, which is the concrete reason camera geometry has to be measured per sport rather than sampled.

Players are fitted from the broadcast, not animated. No motion-capture corpus contains badminton, and a stock walk cycle would defeat the purpose. Instead an SMPL-X body is optimised per frame so that its joints project onto the 2D skeleton detected in that frame, through that venue's projection. Three constraints make the fit metric rather than merely plausible. Depth is anchored by back-projecting the ankle pixels onto the court plane — the same sub-pixel ground measurement the rest of this paper rests on — because apparent height is a poor depth cue and fixing the body to a nominal 1.72 m pulls both players about 0.8 m toward the camera; sole contact uses the lowest mesh vertex, not the ankle joint, which sits 7 cm off the floor; and the pose itself is the decoded 32-dimensional latent of a learned pose prior, so that only configurations a human can hold are reachable, with the whole sequence then refined jointly under acceleration penalties on the latent, the root orientation and the translation. The learned prior costs 1.3 px of reprojection against an L2 pull toward the rest pose (2.6 → 3.9 px) and buys poses that stay on the human manifold through lunges and low recoveries, where the L2 prior instead pays for pixels with implausible joint combinations.

What is optimised in the SMPL-X fit and what each term prevents
Figure 6 — The body fit, and the failure each term prevents. The depth does not come from apparent height — it comes from the ankles on the court plane, the same sub-pixel ground measurement the rest of the paper rests on. The pose is a decoded latent rather than a freely optimised 63-vector, so implausible configurations are unreachable instead of merely penalised.
Figure 7 — A rendered reconstruction of a real rally segment, beside the footage it was built from. Left: broadcast. Right: the render. Same camera, both players fitted per frame from the broadcast's own 2D skeletons, shuttle on the reconstructed trajectory, motion blur at a measured shutter. Frames 200–226 have no reconstructed stroke and are filled by solving a flight between the previous stroke's landing point and the next stroke's launch point; the overlay marks them as reconstruction rather than data.

Strokes are populated from observed strikes. Fitting 16 clips across eight calibrated venues yields a library of 3,144 poses, each tagged with the racket hand, the wrist heights, and — from the stroke annotations — whether that frame is a contact and which player struck. To render a synthetic stroke, the striker is the observed striking pose whose racket head sits closest to the required launch height, yawed to face the net and translated so that the racket head coincides with the launch point and the feet rest on the floor. Launch point, landing point and duration come from the human annotations exactly as in §3.2; only the height between them is solved.

4. Observability and Estimation Bounds

4.1 Möbius projection of ballistic motion

Consider an unaccelerated path in 3D camera coordinates: Xc(t) = X0 + Vt. Under perspective projection, image coordinates follow:

$$u(t) = f\,\frac{X_0 + V_x t}{Z_0 + V_z t} + c_x = \frac{a_1 t + b_1}{t + c}, \qquad v(t) = \frac{a_2 t + b_2}{t + c}.$$

Any constant-velocity 3D trajectory projects strictly as a 1D Möbius transformation of time parameterized by five degrees of freedom. Any visual deviation from this Möbius profile constitutes the empirical signature of physical acceleration.

4.2 The observability number N

We define the dimensionless observability number N as the root-mean-square deviation of the tracked 2D trajectory from the best-fit unaccelerated Möbius curve, normalized by detector noise σ2D:

$$N = \frac{1}{\sigma_{2D}} \sqrt{\frac{1}{T} \sum_{t=1}^{T} \left\lVert \mathbf{p}_t - \hat{\mathbf{p}}_t^{\,\text{M\u00f6bius}} \right\rVert^{2}}.$$

The metric N computes the signal-to-noise ratio of observable acceleration directly from 2D pixel coordinates, requiring zero 3D ground truth. When N ≤ 1, trajectory bending is drowned in visual noise, rendering unconstrained monocular depth recovery mathematically indeterminate.

Cramer-Rao bound against the observability number N on a log-log scale
Figure 8 — The observability metric N predicts estimation bounds. Evaluated across 7,994 strokes: the theoretical CRLB follows a strict power-law scaling CRLB ∝ N−0.98 (R² = 0.83). On high-N strokes (clears, lifts), Shuttle3D behaves as an unbiased estimator operating above the CRLB. On low-N strokes (smashes, drives), Shuttle3D beats the unbiased CRLB by up to 4.6×, demonstrating that depth recovery is dictated by the learned tactical prior rather than image evidence.

4.3 Fisher information and the Cramér–Rao bound

Under Gaussian observation noise, the Fisher Information Matrix over launch state s0 is:

$$\mathbf{I}(\mathbf{s}_0) = \frac{1}{\sigma_{2D}^{2}} \sum_{t} \left( \frac{\partial \pi(\mathbf{P}(t; \mathbf{s}_0))}{\partial \mathbf{s}_0} \right)^{\!\top} \left( \frac{\partial \pi(\mathbf{P}(t; \mathbf{s}_0))}{\partial \mathbf{s}_0} \right).$$

For any unbiased estimator, covariance is bounded by Cov(0) ≽ I(s0)−1. Propagating to spatial position yields the Cramér–Rao Lower Bound on 3D variance:

$$\operatorname{Var}\!\left(\widehat{\mathbf{P}}(t)\right) \succeq \mathbf{J}_t\, \mathbf{I}(\mathbf{s}_0)^{-1}\, \mathbf{J}_t^{\top}, \qquad \mathbf{J}_t = \frac{\partial \mathbf{P}(t)}{\partial \mathbf{s}_0}.$$

Spectral analysis and dual degeneracy. SVD on I(s0) over 3,993 test strokes reveals that the right singular vector of σmin aligns with the camera ray to the launch point within a median angle of 1.9° (<10° on 89.0% of strokes), confirming that unobservability aligns with optical depth.

Crucially, the alignment angle to the line of sight and log N are uncorrelated (r = −0.00), while alignment angle explains only part of the conditioning (r = +0.35 with log σmin). This shows that monocular trajectory lifting exhibits two independent degeneracy mechanisms: (i) geometric collinearity with the viewing ray, and (ii) short temporal duration (small arc length). Grouping strokes by N accounts for both mechanisms simultaneously without requiring 3D truth.

4.4 Predicting recoverability and prior reliance

As plotted in Figure 8, across 7,994 anchored strokes, the observability metric N predicts the theoretical CRLB via an empirical power law:

$$\text{CRLB} \propto N^{-0.98} \qquad (R^2 = 0.83,\ \text{Spearman } \rho = -0.92).$$

Controlling for frame count, the partial correlation remains −0.59.

Quantifying prior reliance via bound violation. An unbiased estimator cannot outperform the CRLB. However, as shown in Table 1, Shuttle3D outperforms the unbiased CRLB on 9 out of 15 stroke categories (by up to 4.6× on flat drives). This occurs because our model acts as a Bayesian regularizer: on low-N strokes where visual evidence is indeterminate, it regresses toward typical tactical shot profiles, trading variance for domain-specific bias.

Significantly, the two types furthest above the bound — defensive lift (ratio 2.70) and clear (ratio 1.81) — possess high, prolonged arcs (N ≥ 14.9). Where visual evidence is strong, the model behaves as an honest estimator, paying the full unbiased variance price.

Table 1 — Spectral conditioning, CRLB and error across all 15 stroke types (held-out synthetic strokes, n ≥ 30)
Stroke typeCountNCRLB (m)Shuttle3D (m)Ratio
Lift2,32527.00.1830.2711.48
Clear89423.00.1600.2891.81
Cross-net20015.30.2870.4381.53
Defensive lift14414.90.3030.8192.70
Over-cut drop7811.10.4240.4441.05
Push3119.90.4970.4000.80
Net shot2,6659.80.6190.3980.64
Drop9488.90.4580.3900.85
Block1,5188.60.5830.5420.93
Defensive drive1496.30.7230.7871.09
Tap smash3904.21.4400.4000.28
Rear drive2284.01.0590.6450.61
Smash1,3813.71.2320.3440.28
Rush1763.21.8861.1470.61
Drive2402.32.5390.5560.22

5. Experiments and Results

5.1 Experimental setup

Datasets. We evaluate across two corpora. The ShuttleSet benchmark supplies 6,553 tournament strokes across 10 venues featuring annotated player ground locations and TrackNetV3 detections. The TrackNetV3 broadcast corpus supplies 2,592 interior strokes from 22 international tournament venues with frame-level 2D ground truth, calibrated purely from broadcast video via our non-coplanar pipeline.

Evaluation metrics. For synthetic data, we report per-frame median 3D error. For real footage devoid of dense 3D ground truth, we evaluate: (i) physical feasibility rate, the percentage of strokes satisfying all court, net and floor constraints; (ii) reprojection cost, the pixel penalty incurred by constrained projection; and (iii) leave-one-anchor-out error, the metric discrepancy between predicted trajectory boundaries and held-out physical floor positions.

5.2 Baseline comparisons

We benchmark against state-of-the-art monocular projectile reconstructors and classical estimators. MonoTrack[7] optimizes a per-shot launch state and drag coefficient under unconstrained reprojection loss. Iterated EKF + RTS smoother combines extended Kalman filtering with Rauch–Tung–Striebel backwards smoothing over identical aerodynamic models. Batch MAP performs global maximum a posteriori optimization over the complete temporal frame sequence.

Table 2 — Quantitative baseline comparison on matched real and synthetic sets. 400 synthetic test strokes and an identical benchmark subset of 1,138 real tournament strokes. On the full 6,553 real corpus, SimTrack3D achieves 96.0% feasibility, 0.91 m launch error and 0.60 m arrival error.
MethodSynth 3D (m)Real validLaunch err (m)Arrival err (m)
MonoTrack1.00118.3%2.813.33
EKF + RTS smoother1.38312.5%6.853.09
Iterated EKF0.32322.1%3.272.65
Batch MAP0.31722.4%2.952.55
Ours (Shuttle3D + rectifier)0.31497.4%1.000.57

As reported in Table 2, unconstrained optimization baselines fail catastrophically on real tournament footage: MonoTrack yields physically plausible flights on only 18.3% of strokes, with arrival endpoints missing the defending player by a median of 3.33 m.

Crucially, Batch MAP outperforms Shuttle3D on the two highest-N stroke types where sensory evidence is rich (lift: 0.136 m vs. 0.279 m; clear: 0.139 m vs. 0.309 m). This directly corroborates our theoretical prediction: an efficient unbiased estimator attains the CRLB when sensory information is uncompromised. However, on fast smashes where N collapses, Batch MAP deteriorates severely (1.264 m vs. 0.229 m for Shuttle3D), achieving only 22.4% valid flights on real footage. In contrast, SimTrack3D delivers 97.4% physical feasibility on this benchmark subset, achieving an arrival error of 0.57 m.

5.3 Ablation: input space parameterization

To evaluate whether performance gains stem from model capacity or geometric parameterization, we evaluate four input representations under identical Transformer backbones and training schedules on held-out strokes: world rays to depth along the ray (ours), world rays to 3D coordinates, pixels plus the camera matrix to 3D coordinates, and pixels plus a learned camera embedding to 3D coordinates.

Table 3 — Impact of input space parameterization. Held-out strokes viewed through seen vs. held-out camera configurations; median 3D error in metres.
RepresentationSeen camsUnseen camsOut-of-ray (m)
Ours (ray → depth)0.3880.3870.000
Ray → 3D position0.3710.4060.059
Pixels + camera matrix0.3380.5790.215
Pixels + intrinsics/center0.3410.6900.464
Pixels + learned embedding0.3291.4080.934

As shown in Table 3, pixel-space baselines perform well on seen cameras by memorizing venue-specific depth priors, but degrade severely (1.7× to 4.3×) when evaluated on novel camera setups. In contrast, our ray-depth formulation achieves zero performance degradation on unseen cameras (0.388 m vs. 0.387 m), confirming robust geometric transfer.

5.4 Leave-one-anchor-out real-world validation

Because real footage lacks dense 3D ground truth, we validate physical accuracy by holding out each spatiotemporal anchor in turn and measuring prediction discrepancy against real floor positions.

Table 4 — Leave-one-anchor-out evaluation on 6,553 real strokes. Discrepancy measured against held-out player ground positions. All configurations use the same model and the same one-step rectifier as Table 2.
Anchor configurationValidLaunch err (m)Arrival err (m)
No anchors96.0%0.910.60
w/o hitter feet84.5%0.720.50
w/o receiver feet (n = 5,747)93.7%0.690.55
w/o landing (n = 530)69.2%1.33
All anchors enabled80.1%0.680.48

Table 4 demonstrates that planar floor anchors systematically reduce boundary endpoint error. Enforcing all anchors as strict hard inequalities during rectification reduces overall feasibility to 80.1%, reflecting noise in visual pose detections. Consequently, our final pipeline treats anchors as soft tokens in Tier 1 and reserves hard constraints in Tier 2 strictly for court boundary rules.

Diagnostic analysis of the net-cord clearance boundary in five panels
Figure 9 — Diagnostic analysis of the net-cord clearance boundary. (a) Timing vs. altitude ambiguity: because an image ray intersects the net plane at a unique height, clearance is fixed by the estimated crossing frame. (b) On synthetic strokes, violation rates are dictated by the true physical clearance margin. (c) Sim-to-real margin mismatch: real tournament players hit closer to the tape (median 0.18 m) than synthetic BVP generators (0.37 m). (d) Net-hit certificate: 10.3% of apparent cord violations hit the tape, where the rule does not apply.

5.5 Diagnostic: net-cord clearance boundary

As illustrated in Figure 9, on real footage 8.9% of unconstrained reconstructions violate net clearance. Our diagnostic confirms that this is not an altitude estimation failure.

5.6 Ablation analysis

Table 5 — Component progression and synthesis ablation. Raw network feasibility vs. rectifier return rate, alongside a training-synthesis comparison on 800 real strokes.
System stageRaw validReturn validArrival (m)
Shuttle3D (clean 2 px noise)78.9%0.73
+ measured noise model85.0%0.59
+ court rule losses88.4%0.60
+ Tier-2 rectifier96.0%0.60
Synthesis comparison (800 real strokes):
Random launch state sampling67.9%1.29
BVP anchored synthesis (ours)64.6%0.90

Table 5 delineates the progression across stages. Incorporating measured tracking noise and rule losses improves raw network validity from 78.9% to 88.4%. The Tier-2 rectifier establishes a 96.0% final return rate of physically valid trajectories on real tournament matches.

Crucially, the synthesis ablation highlights that physical feasibility does not imply metric accuracy: random launch parameter sampling achieves a higher raw feasibility rate (67.9% vs. 64.6%) by generating conservative, high-clearance arcs, but suffers severe metric degradation on real strokes (1.29 m vs. 0.90 m endpoint error).

Four synthetic strokes, one of each class, populated from the fitted pose library
Figure 10 — One synthetic stroke of each class, populated from the pose library. Launch point, landing point and duration are the human annotations; only the height between them is solved. The striker is the observed striking pose whose racket head sits closest to the required launch height. Shutter is the exposure regressed from that clip's own streaks.

5.7 How close the rendered images are to broadcast

A synthetic image domain is only worth building if it is close to the real one, so we measure the distance rather than assert it. We reconstruct one real rally segment in full — same camera, both players fitted per frame from that footage, shuttle on the reconstructed trajectory — and compare the render against the broadcast frame it was built from.

registration of the rendered twin to the broadcast framevalue
court lines, 1,440 samples over 12 lines2.2 px median (p90 6.0)
near / far player, 91-frame sequence fit3.9 / 3.8 px median
rendering camera against the venue projection3.9 px, worst of 9 test points
camera motion within a rally (phase correlation, 20 frames)0.25 px median
shuttle streak, rendered vs real (53 annotated frames)11.1 px vs 15.2 px major axis
render cost9 s/frame, CPU path tracing, 1280×720

Court alignment lands at the residual the corner annotations themselves carry, and the fitted bodies sit within the detector's own keypoint noise. The one clear shortfall is streak length. The minor axis matches (6.1 against 5.4 px), so the shuttle's size is right and only the exposure is short: the render used the corpus-median shutter of 1/116 s while this clip is slower. Shutter is measurable per clip from the streaks themselves — median 1/150 s with an eight-fold spread across clips, 1/91 to 1/1708 — and wiring that per-clip value into the renderer is the obvious correction.

The acceptance test: a detector that has never seen a render. Registration says the geometry is right; it does not say a detector would treat the image as broadcast. So the released TrackNetV5-Lite — trained on real footage only, not fine-tuned here — is run on the 91 rendered frames and on the 91 real frames they reconstruct, and scored against the projected 3D on the render. On the real side this corpus has no human per-frame 2D; the two references available are the raw TrackNetV3 detection (another detector's opinion) and the reconstruction's own reprojection (which carries the reconstruction's error), and both are reported as what they are.

the released detector, same 90 framesreferencemedianp90< 4 px< 8 pxheatmap peak
real footageraw TrackNetV3 detection1.9 px3.096%99%0.69
real footage, clean strokesreconstruction reprojection3.5 px10.663%83%0.69
rendered twintrue projection2.7 px5.674%96%0.66

A detector that has never seen a rendered pixel localises the rendered shuttle to 2.7 px at the median with 96% of frames inside 8 px, and reports the same heatmap confidence on the render as on the broadcast (0.66 against 0.69). The only rendered frames it misses by more than 8 px are the contact frames 160–164, where the racket frame occludes the shuttle at 8–9 px; the physics-filled frames, with no player near the shuttle, are its best (2.2 px). What this does not establish is that it fails on the same frames as on real footage: the real side has no ground truth, so a per-frame comparison is a comparison of two detectors, and we do not draw one.

Detection error per frame of the released detector on the real clip and on its rendered twin
Figure 11 — The released detector on the same 91 frames, real and rendered. Top: pixel error per frame against each reference; the shaded frames have no reconstructed stroke and carry a physics-solved shuttle. The reconstruction's reprojection is a noisy reference — its excursions at 160–165 and across the filled stroke are the reconstruction's, not the detector's, which the raw-detection line makes visible. Bottom: heatmap peak, the detector's own confidence, which it does not distinguish between real and rendered.

The population step has its own failure mode, and it is a sampling failure rather than a fitting one. A first library built from randomly chosen 100-frame windows contained exactly one overhead strike among 58 striking poses, which makes a synthetic smash impossible to stage. Two explanations were natural and both were tested and rejected: keypoint confidence at overhead contacts is the highest in the corpus (0.97 against 0.94 elsewhere) and the fitted wrist reprojects 5.5 px from the detected one, so the fit follows the data; and the distance from the nearest fitted wrist to the line of sight through the raw detection, swept around each contact, reads 1.08 / 0.74 / 0.52 / 0.66 / 0.95 m at −8 / −4 / 0 / +4 / +8 frames — a clean minimum exactly at contact, so the striker is identified correctly. The cause is that random windows are mostly footwork. Selecting windows by the annotated stroke class, since smash, clear, cut and push are struck above the head, changes the library without changing a line of the fitter.

pose library, 16 clips over 8 venuesrandom windowsselected by stroke class
striking poses5866
overhead-class strikes151
highest reachable racket head1.69 m2.24 m
racket head vs required launch point, overhead strokes0.80 m0.26–0.30 m

5.8 An independent check on contact-frame depth

Placing a fitted body and a reconstructed shuttle in the same metric frame creates a comparison this problem does not otherwise admit, and it bears directly on the wrist-elevation anchor of §3.5. The reference pixel is the tracker’s raw detection, which the reconstruction consumes but never edits; nothing in the pose fitting sees a shuttle at all, and the body’s depth comes from ankles on the court plane. The two sides of the comparison are therefore independent of each other and of the reconstruction being tested.

Geometry of the contact-frame depth measurement, and the control sweep
Figure 12 — The detected pixel agrees with the arm; the depth along that pixel’s ray does not. (a) The striking wrist sits about one racket from the line of sight through the tracker’s raw detection, and well beyond arm-and-racket reach from the reconstructed 3D point; the band on the ray is where the reconstruction places the shuttle in depth. (b) The control: that distance has a clean minimum exactly at the contact frame, which is what rules out a misidentified striker.

Over 58 contact frames in 8 venues, the distance from the striking wrist to the reconstructed 3D shuttle is 1.54 m — beyond an arm plus a racket — while the distance from the same wrist to the line of sight through the raw detection is 0.52 m, which is about one racket. The detection therefore agrees with the fitted body, and the depth along that ray is what disagrees. The reconstructed point itself sits only 0.09 m off the detection’s ray, so the 2D fit is tight; resolved along the ray, its depth is scattered with a slight far bias: a median 0.21 m beyond the wrist’s closest approach, with an interquartile range of −1.11 to +1.65 m.

This is what §4 predicts rather than a contradiction of it. The contact frame is the seam between two solved flights, the instant at which the arc being fitted ends and the next begins, and it carries the least depth information of any frame in the stroke. The measurement turns that qualitative statement into a number, on 58 events rather than the 14 rally-final anchors of §5.4, and it says that reported depth at the moment of impact should carry an explicit uncertainty of roughly a metre while the same trajectory's mid-flight depth does not.

6. Discussion and Limitations

Operational scope and tracking continuity. Following standard broadcast sports vision pipelines[7], our framework operates under the operational assumption of a stationary main broadcast camera. Furthermore, trajectory lifting is performed on stroke intervals with at least 45% visual tracking continuity. Across tournament venues, raw detector recall ranges from 9% to 92%, meaning analyzed rallies naturally reflect trackable game segments.

Aerodynamic model sensitivity. Synthesis and estimation share a quadratic drag model with terminal velocity vT = 6.8 m/s. To quantify sensitivity to drag misspecification, we evaluated the estimator under perturbed terminal velocities (vT ± 15%). Perturbing vT by −15% (5.78 m/s) increases mean 3D error by 63% (0.471 m → 0.769 m) and launch error from 0.309 m to 1.474 m. Remarkably, physical feasibility remains virtually unchanged (98.7% → 96.5%). This reinforces our core thesis: physical plausibility provides a necessary sanity boundary, but does not guarantee metric accuracy.

Ground truth in broadcast sports. Monocular sports vision lacks large-scale 3D sensor ground truth. In our corpus, 14 rally-final strokes provide an exact physical 3D anchor (z = 0 at landing), on which SimTrack3D achieves a median 3D error of 1.00 m and a landing height error of 0.32 m. While these 14 strokes serve as an absolute sanity check rather than a comprehensive benchmark, our leave-one-anchor-out formulation provides a scalable proxy for single-camera sports evaluation. §5.8 adds a second, geometrically independent probe of the same kind: a human body fitted from the broadcast, which never sees a shuttle, bounds where the striking hand was at 58 contact frames and localises the pipeline’s weakest depth to the stroke seam.

What the image-level domain does not yet establish. §3.6 renders images that register to broadcast at 2.2 px on the court and 3.8 px on the players, and §5.7 shows a detector trained only on broadcast treats them as broadcast — 2.7 px median against the true projection, with the same confidence. What has not been run is the converse: a detector trained on the renders and evaluated on real footage. Until it is, the renderer is validated as a measurement instrument and as an evaluation domain, not yet as training data. Its known gaps are the shutter (per-clip exposure is measured but not wired in), lighting estimated from the real shadows, and the absence of crowd, stands and clothing.

7. Conclusion

We presented SimTrack3D, a principled framework for monocular 3D trajectory reconstruction of fast-moving sports projectiles from broadcast video. By resolving focal-length degeneracy via sag-gated net-cord calibration, synthesizing domain-faithful trajectories via aerodynamic BVP formulation, and enforcing physical rules along unobservable null-space directions, SimTrack3D achieves 96.0% physically valid reconstructions on real tournament matches. Furthermore, our observability theory formalizes the boundary where sensory data ends and domain priors take over, establishing a rigorous foundation for single-camera 3D trajectory estimation.

Interactive 3D model

The calibrated court, net, broadcast camera frustum and forty reconstructed trajectories, exported from Blender. Drag to orbit, scroll to zoom.

loading model…
attack (smash, net kill, rush) flat (drop, drive, push) lift / clear net play broadcast camera

BibTeX

@misc{chang2026shuttle3d,
  title  = {SimTrack3D: Monocular 3D Trajectory Prediction of Fast-Moving
            Shuttlecocks via Broadcast-Calibrated Sim-to-Real Transfer},
  author = {Chang, Gino},
  year   = {2026},
  note   = {Project page}
}

Court and net geometry follow BWF specifications (6.10 × 13.40 m doubles court; net 1.55 m at the posts, 1.524 m at centre). Shuttle flight model: quadratic drag with 6.8 m/s terminal velocity, RK4. Tracking: TrackNetV3. Rendering: Blender 4.2. Every ordinary number on this page comes from the experiment logs of this project.

References

13 works, every one resolved against OpenAlex or the arXiv API; identifiers that could not be resolved were not cited.

  1. Yu-Chuan Huang, I-No Liao, Ching‐Hsuan Chen, Tsì-Uí İk & Wen-Chih Peng. TrackNet: A Deep Learning Network for Tracking High-speed and Tiny Objects in Sports Applications arXiv (Cornell University) (2019). 10.48550/arxiv.1907.03698
  2. Y. C. Chen & Yu-Shuen Wang. TrackNetV3: Enhancing ShuttleCock Tracking with Augmentations and Trajectory Rectification (2023). 10.1145/3595916.3626370
  3. Arjun Raj, Lei Wang & Tom Gedeon. TrackNetV4: Enhancing Fast Sports Object Tracking with Motion Attention Maps (2025). 10.1109/icassp49660.2025.10889364
  4. Thomas Gossard, Andreas Ziegler & Andreas Zell. TT3D: Table Tennis 3D Reconstruction arXiv (Cornell University) (2025). 10.48550/arxiv.2504.10035
  5. Nima Rahmanian, Daniel Kienzle, Thomas Gossard, Dvij Kalaria, Rainer Lienhart & Shankar Sastry. TT4D: A Pipeline and Dataset for Table Tennis 4D Reconstruction From Monocular Videos arXiv (Cornell University) (2026). 10.48550/arxiv.2605.01234
  6. Thomas Gossard, Filip Radović, Andreas Ziegler & Andreas Zell. BlurBall: Joint Ball and Motion Blur Estimation for Table Tennis Ball Tracking arXiv (Cornell University) (2025). 10.48550/arxiv.2509.18387
  7. Paul Liu & Jui-Hsien Wang. MonoTrack: Shuttle trajectory reconstruction from monocular badminton video arXiv (Cornell University) (2022). 10.48550/arxiv.2204.01899
  8. Morten Holck Ertner, Sofus Schou Konglevoll, Magnus Ibh & Stella Graßhof. SynthNet: Leveraging Synthetic Data for 3D Trajectory Estimation from Monocular Video (2024). 10.1145/3689061.3689073
  9. Daniel Kienzle, Katja Ludwig, Julian Lorenz, Shin'ichi Satoh & Rainer Lienhart. Uplifting Table Tennis: A Robust, Real-World Application for 3D Trajectory and Spin Estimation arXiv preprint (2025). 10.48550/arXiv.2511.20250
  10. Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba & Pieter Abbeel. Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World arXiv (Cornell University) (2017). 10.48550/arxiv.1703.06907
  11. Z. Zhang. A flexible new technique for camera calibration IEEE Transactions on Pattern Analysis and Machine Intelligence (2000). 10.1109/34.888718
  12. Jonas Theiner & Ralph Ewerth. TVCalib: Camera Calibration for Sports Field Registration in Soccer 2023 IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) (2023). 10.1109/wacv56688.2023.00122
  13. Marc Gutiérrez-Pérez & Antonio Agudo. PnLCalib: Sports Field Registration via Points and Lines Optimization arXiv preprint (2024). 10.48550/arXiv.2404.08401