SimTrack3D — supplementary material

Gino Chang

Supplementary material · 2026

Supplementary material

These four analyses did not fit the eight-page submission. None of them is needed to follow the main results; each answers a question a careful reader is entitled to ask. Numbering and the bibliography are shared with the main page.

S1. Closing the loop: self-training on the estimator’s own output

Everything reported in §5 comes from a model trained on synthetic flights alone. This section describes what happens if that rule is relaxed and the estimator's own repaired output is fed back as supervision. It is reported because it works, and separated because a sim-to-real claim that needs real labels to hold is not a sim-to-real claim.

The estimator of §3.4 runs at test time and returns a possible flight for every stroke. That is useful in itself, but it also produces something the training pipeline never had: a 3D label for real footage. The label is not ground truth — it is the network's own proposal moved onto the feasible set — yet it differs from the proposal in exactly the way physics says it must, and it is available on every rally we can track.

Training on one's own predictions is self-training, and its failure mode is well known: a confident mistake becomes a confident label, and the error is reinforced rather than corrected. That risk is acute here, because §4 shows the network is most assertive precisely where the image is least informative. Two things make the loop safe enough to be worth closing.

The first is that the corrector is independent of the model's confidence. The court's rules are not learned, not tuned, and not correlated with anything the network believes; a reconstruction that passes below the cord is wrong no matter how certain the network was. Projection therefore removes an entire class of error that self-training on raw predictions would preserve.

The second is that the projection reports its own reliability. Two numbers fall out of the solve at no extra cost and need no ground truth: the reprojection residual of the fitted flight, and the price of feasibility, the extra residual the projection had to accept. A stroke whose flight explains its pixels and needed no help is a stroke worth learning from; a stroke that the physics could only satisfy by abandoning the image is not. We keep strokes below the median residual and discard the rest.

The fine-tuning itself is deliberately plain, so that any gain is attributable to the labels and not to the recipe: the same architecture and loss, initialised from the synthetic model, with each batch drawn one quarter from the accepted real pseudo-labels and three quarters from synthetic data so the prior is refreshed rather than overwritten.

The evaluation is the point. Measuring the fine-tuned model with the constrained solve still attached would be circular, since the solve enforces the property we are testing for. We therefore measure the raw network, with no solve at test time, on venues held out in their entirety — every rally from those matches excluded from the pseudo-label set, so the model has never seen that camera's depth prior. The question is whether the fraction of physically impossible reconstructions falls. If it does, physics has moved from a post-hoc correction into the prior itself, which is the difference between a filter and a model that has learned the game.

It does fall, by about a third (§5.7): on two venues held out entirely, the raw network's impossible fraction goes from 27.4% to 17.6% after twelve epochs on 2,588 accepted pseudo-labels, at a cost of 0.006 m on the synthetic benchmark. Physics can be distilled into the prior; it cannot yet replace the safety net.

S2. Synthetic benchmark: absolute accuracy by stroke type

Claim. A ray-depth lifter trained only on anchored synthetic flights recovers metric 3D on held-out strokes, and its error is governed by how much the image can say about each stroke.

Held-out strokes are partitioned by real anchor, so no replayed flight appears on both sides. Badminton is tactically stratified, and so is the error: the table lists every type with at least thirty held-out strokes, ordered by observability.

stroke typestrokesNCRLB (m)Shuttle3D (m)model / CRLB
挑球 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
all held-out strokes11,6530.387 per stroke / 0.329 per frame

Through cameras the model never saw. The model is trained on 51,672 strokes rendered through the 25 training cameras and tested on 11,653 held-out strokes, 2,525 of them through the 7 held-out cameras. Its per-frame median is 0.325 m through cameras it never saw, against 0.330 m through the cameras it trained on. Per stroke type through unseen cameras the ordering is unchanged (per-stroke medians): lift 0.271, clear 0.273, smash 0.352, net shot 0.392, drop 0.417, block 0.533 m. The camera is not what the network learns.

Baselines on the same held-out set: assuming the shuttle is on the floor gives 11.8 m, a constant depth to the court centre gives 1.99 m. The stress sweep of §5.8 shows this figure degrades gracefully with detection noise and dropout rather than collapsing.

Conclusion. The claim holds, with a qualification the next sections build on. For lifts and clears the model sits just above the Cramér–Rao bound, as an honest estimator must. For every fast or short stroke it sits below the bound, by up to 4.6× on drives. An unbiased estimator cannot do that; the network is answering those strokes from the distribution of real play it was trained on, not from the image. §4 and §6.1 take that up.

S3. Venues the model has never seen through any camera

Claim. A model that never saw a venue's camera lifts through it as well as through the cameras it was trained on.

The twenty-two TrackNetV3 venues are the test: they are calibrated from broadcast alone (§3.1), five of them are held out of training entirely, and their per-frame 2D truth removes the tracker from the comparison. On their 2,592 interior strokes the raw network's reconstructions are physically impossible for 17.9% (cord 9.5%, no side change 6.9%, floor 2.2%, hall 0.0%), against 11.6% on the ShuttleSet corpus (§5.5). Per venue the rate runs from 9.6% to 30.1%, and correlates only weakly with camera height (−0.31) or distance (−0.22), so venue difficulty rather than camera geometry sets the spread. The two corpora are not directly comparable — these venues are calibrated from broadcast alone and their strokes are segmented by a different pipeline — so the number to read here is the split by camera below, not the gap between corpora. The constrained solve pays a median price of 0.00 px on these venues (p90 23 px), and returns possible flights for all of them.

The split by camera is what matters, and it has almost closed. Of the 22 venues, five were held out of training entirely (§5.1); on those the impossible fraction is 18.4%, against 17.8% on the 17 whose cameras rendered training data — a gap of six tenths of a point. Seeing a venue's camera in training is worth almost nothing, which is the claim this section exists to test. Per venue the range is 9.6% to 24.5%, and the two extremes are both training-camera venues, so venue difficulty rather than camera novelty sets the spread. On the 150 strokes solved with the rectifier the price of feasibility is 0 px at the median and 20.3 px at the 90th percentile.

One control belongs here. The model trained on random launch states (§5.9) breaks a rule on 24.8% of these strokes while being 1.8× less accurate on held-out synthetic ones, so on these venues the more accurate model is also the more legal one. That is not something a rule count can be relied on to show. Plausibility and accuracy are separate axes, and the evidence for that does not come from this control: the cord test is decided by a 1% depth error (§5.6), and on the rally-final strokes where the true 3D landing is known, adding the floor constraint drives the landing height error to zero while increasing the horizontal error.

Closing the loop (§3.5). The constrained solve labelled 6,878 real ShuttleSet strokes from eight venues; two venues (1,702 strokes) were held out entirely, and of the 5,176 trainable strokes the residual gate kept the 2,588 below the median. Fine-tuning the 25-camera model for twelve epochs on batches drawn one quarter from these labels and three quarters from synthetic data, and then scoring the raw network with no solve at test time, the fraction of physically impossible reconstructions falls from 14.2% to 6.1% on the trained venues and from 27.4% to 17.6% on the two it never saw, while held-out synthetic error moves from 0.267 to 0.273 m. A third of the real-footage failures were learnable from the court's rules alone, without a single 3D label; the remaining two thirds are what the second tier is for.

camera group (synthetic, held-out strokes)venuesheight / distancestrokes3D error, median (m)height error (m)
low and near164.0–7.0 m / 16.8–30.9 m5,8500.2830.063
mid117.0–9.8 m / 20.9–37.9 m4,0150.2770.088
high and far510.6–15.2 m / 30.5–42.7 m1,7880.2870.127

Conclusion. The claim holds on both sides of the sim-to-real boundary. On synthetic data accuracy is flat across camera geometry (a 0.010 m spread, an order of magnitude below the error; only the height component grows with camera height, 0.063 to 0.127 m), and on real footage unseen venues are indistinguishable from seen ones (18.4% vs 17.8% impossible on the TrackNetV3 venues, 71.8% vs 72.9% possible on the held-out ShuttleSet venues). The camera is not what the network learned.

S4. Robustness to tracker noise and dropout

Claim. The model degrades gracefully with the two failures real trackers actually have.

Training injects σ = 2 px detection noise and 5% random dropout. A sweep over noise level and the number of consecutively dropped frames measures the margin. Each cell is 1,908–2,000 held-out strokes; the figure is the median per-stroke 3D error in metres.

tracker noise0 dropped2 dropped4 dropped6 dropped8 dropped
σ = 1 px0.3020.3220.3540.4040.483
σ = 2 px (training condition)0.3110.3330.3650.4310.487
σ = 3 px0.3350.3440.3790.4420.490
σ = 4 px0.3530.3710.4000.4560.527
σ = 5 px0.3740.3910.4250.4670.542

Conclusion. Quintupling detection noise costs 25%; dropping eight consecutive frames costs 45–60% depending on the noise level, and the two effects are close to separable. Real trackers fail by losing the shuttle, not by jittering (9–92% detection per venue on our footage), so it is the length of the gap, not the precision of the hits, that governs what can be recovered.

S5. Real tournament footage: the guarantee, and what the repair costs

Claim. A model trained on synthetic flights alone, with no real 3D label and no fine-tuning on real video, produces flights that a badminton court permits, and the repair that guarantees this is cheap enough to be invisible.

The estimator runs on 6,553 real strokes from ten venues, through the cameras measured in §3.1, with the anchors of §3.5 as tokens to the network and the court's rules in the rectifier. Nothing here was trained on real data.

stage (real footage, 6,553 strokes)share of strokesphysically possiblelaunch error (m)arrival error (m)repair cost (px)
MonoTrack-style per-stroke fit18.3%2.813.33
Shuttle3D, one launch state fitted to its depths67.1%already possible0
… the rectifier moves it into the feasible set28.9%possible0 median, 0.76 p90
… no legal flight within the budget4.0%flagged, nothing returned
Shuttle3D + one-step rectifier100%96.1%0.910.590 median

Two thirds of the strokes need no repair at all: the launch state that best explains the network's depths already breaks no rule. The rectifier moves another 28.9% into the feasible set, and it does so almost for free — the median repaired stroke gives up no measurable reprojection accuracy, and the 90th percentile gives up 0.76 px, well inside the tracker's own noise. For the remaining 4.0% no legal flight is found and none is returned: the stroke is flagged. Forcing one would trade an honest gap for a plausible-looking wrong answer, and it would break the property that makes the output usable — that every trajectory in it is one the game allows.

What the sim-to-real work bought. The same architecture trained without the tracker-noise model of §3.3 — clean 2 px Gaussian noise and random dropout, the standard synthetic recipe — is worse on real video by every measure that matters, although it scores better on the clean synthetic benchmark (0.244 against 0.271 m). Modelling the real tracker's failures is worth 19% of the arrival error.

trained withpossible after repairlaunch error (m)arrival error (m)repair cost, p90 (px)
clean synthetic noise (σ = 2 px, 5% dropout)95.8%1.040.731.36
measured tracker noise, late pick-up, truncation, calibration jitter96.1%0.910.590.76

Endpoint error deserves its own qualification. The reference is the hitting player's annotated ground position, itself a median 0.75 m from the racket, so a 0.6 m arrival error is close to the floor this reference can resolve; the improvement from 0.73 to 0.59 m is therefore larger in relative terms than it looks. On the 530 rally-final strokes the landing spot read from the stationary shuttle gives a second, independent check, and it is the hardest case in the corpus: those strokes are the fastest and shortest, and no receiver stands at their end.

Conclusion. Feasibility is not accuracy, and the two are reported separately for that reason. What the guarantee provides is that every returned flight is one the game allows, obtained in 31 ms per stroke, from a model that has never seen a real 3D label.

S6. Extended related work

This section is organised by the problem each literature solves rather than by venue, because the difficulty here is that no single community owns it: the tracker comes from sports vision, the depth ambiguity from monocular geometry, the training data from the sim-to-real literature, the calibration from sports field registration, and the guarantee from constrained estimation.

2.1 Tracking a small, fast object in 2D

The 2D half of this problem is solved well enough to build on. TrackNet[[cite:TrackNet: A Deep Learning Network for Tracking High-speed and Tiny Objects in Sports Applications]] established the recipe still in use: a heatmap network consuming several consecutive frames so that motion, not appearance, localises an object too small to have texture. Successors extend it with trajectory-aware refinement and rectification[[cite:TrackNetV3: Enhancing ShuttleCock Tracking with Augmentations and Trajectory Rectification]] and with motion attention[[cite:TrackNetV4: Enhancing Fast Sports Object Tracking with Motion Attention Maps]], and the same architecture family has been retargeted to soccer[[cite:A deep learning ball tracking system in soccer videos]], table tennis[[cite:Fast moving table tennis ball tracking algorithm based on graph neural network]] and to a sport-agnostic baseline[[cite:Widely Applicable Strong Baseline for Sports Ball Detection and Tracking]]. Speed-accuracy trade-offs for ball detection are surveyed in[[cite:Enhancement of Speed and Accuracy Trade-Off for Sports Ball Detection in Videos—Finding Fast Moving, Small Objects in Real Time]], and the general difficulty of small-object detection and tracking in[[cite:Small Object Detection and Tracking: A Comprehensive Review]].

What matters for us is that a broadcast shuttlecock is not a point but a streak. Motion blur is treated as a nuisance to be removed in general vision[[cite:Real-World Deep Local Motion Deblurring]], but in racket sports it carries information: BlurBall[[cite:BlurBall: Joint Ball and Motion Blur Estimation for Table Tennis Ball Tracking]] estimates ball position and blur jointly and shows the streak improves localisation, and blur-aware detection has been applied to broadcast sport directly[[cite:Tracking the Blur: Accurate Ball Trajectory Detection in Broadcast Sports Videos]]. Our own measurements on 9,312 annotated shuttlecock positions agree: the streak's long axis grows linearly with image speed while its short axis is constant to 0.20 px, which is what makes exposure self-calibrating from the video alone. Badminton-specific detectors continue to appear[[cite:YO-CSA-T: A Real-time Badminton Tracking System Utilizing YOLO Based on Contextual and Spatial Attention]][[cite:Shuttlecock Detection and Fall Point Prediction using Neural Networks]][[cite:Badminton shuttlecock detection and prediction of trajectory using multiple 2 dimensional scanners]], including real-time smash-speed estimation on device[[cite:A Real-Time, Vision-Based System for Badminton Smash Speed Estimation on Mobile Devices]].

Multi-object tracking metrics and player tracking are adjacent but distinct problems[[cite:HOTA: A Higher Order Metric for Evaluating Multi-object Tracking]][[cite:Multi-camera multi-player tracking with deep player identification in sports video]][[cite:DeepPlayer-Track: Player and Referee Tracking With Jersey Color Recognition in Soccer]][[cite:Multi-Player Tracking for Multi-View Sports Videos with Improved K-Shortest Path Algorithm]]; we use annotation for stroke segmentation rather than tracking players.

2.2 Monocular 3D trajectory reconstruction in racket sports

Reconstructing 3D ball flight from one view is an established goal with a consistent structure: fit a physical flight model to a 2D track through a calibrated camera. Early table-tennis systems reconstructed trajectories for performance analysis[[cite:A System That Reconstructs a 3D Trajectory of a Table Tennis Ball for Performance Analysis in Table Tennis]][[cite:Reconstruction of 3D Trajectories for Performance Analysis in Table Tennis]][[cite:Plane Approximation-Based Approach for 3D Reconstruction of Ball Trajectory for Performance Analysis in Table Tennis]]; robot table tennis needs the same estimate in real time and solves it with filtering[[cite:Reliable Real-Time Ball Tracking for Robot Table Tennis]][[cite:Ball Tracking and Trajectory Prediction for Table-Tennis Robots]][[cite:A Method for Prediction the Trajectory of Table Tennis in Multirotation State Based on Binocular Vision]]. Multi-camera systems avoid the ambiguity entirely[[cite:Precise 3D Baseball Pitching Trajectory Estimation Using Multiple Unsynchronized Cameras]] and are therefore not comparable.

The closest work to ours is MonoTrack[[cite:MonoTrack: Shuttle trajectory reconstruction from monocular badminton video]], which reconstructs badminton shuttle trajectories from monocular video by fitting a per-shot launch state and drag coefficient under a reprojection loss. We re-implement it faithfully as our baseline. In table tennis the same idea has been pushed further: TT3D[[cite:TT3D: Table Tennis 3D Reconstruction]] uses the bounce on a calibrated table as a hard geometric anchor, TT4D[[cite:TT4D: A Pipeline and Dataset for Table Tennis 4D Reconstruction From Monocular Videos]] builds a pipeline and dataset for 4D reconstruction from monocular video, and Uplifting Table Tennis[[cite:Uplifting Table Tennis: A Robust, Real-World Application for 3D Trajectory and Spin Estimation]] trains a transformer on synthetic trajectories to lift 2D tracks to 3D with spin. Related efforts recover 3D localisation from 2D labels using physics[[cite:Towards Learning Monocular 3D Object Localization From 2D Labels using the Physical Laws of Motion]], estimate spin from broadcast footage[[cite:Towards Ball Spin and Trajectory Analysis in Table Tennis Broadcast Videos via Physically Grounded Synthetic-to-Real Transfer]], reconstruct a ballistic shot from a monocular broadcast[[cite:3D Ball Trajectory Reconstruction of a Ballistic Shot from a Monocular Basketball Video]], and localise a soccer ball in real time from a single camera[[cite:Real-time Localization of a Soccer Ball from a Single Camera]][[cite:Individual Locating of Soccer Players from a Single Moving View]].

Two of these deserve separate mention because they share our strategy. SynthNet[[cite:SynthNet: Leveraging Synthetic Data for 3D Trajectory Estimation from Monocular Video]] and "Where Is The Ball"[[cite:Where Is The Ball: 3D Ball Trajectory Estimation From 2D Monocular Tracking]] both train on synthetic trajectories and represent the input in a camera-independent form; the latter reports an ablation showing that a canonical ray representation outperforms domain-randomised pixel input, which is independent support for the parameterisation we adopt. The gap we address is not that these methods lift badly. It is that every one of them validates on real footage with a proxy — reprojection error, a landing tile, a bounce or net consistency check — and none reports whether that proxy can pass while the 3D is wrong.

Badminton has also been studied without 3D reconstruction: shuttlecock trajectory prediction from player context, stroke and skill modelling with transformers[[cite:TemPose: a new skeleton-based transformer model designed for fine-grained motion recognition in badminton]], self-play simulation of the game[[cite:ShuttleArena: Interpretable Self-Play in Physics-Based Badminton]], and event-camera reconstruction of swing dynamics[[cite:Fine reconstruction of badminton swing dynamic trajectory assisted by event camera]]. Earlier work estimated shuttle trajectory from motion blur in a single image[[cite:A Trajectory Estimation Method for Badminton Shuttlecock Utilizing Motion Blur]], which is the same physical signal we exploit for exposure.

2.3 Sim-to-real transfer: what the field actually does

Training on synthetic data and deploying on real data is a mature field with a small number of distinct mechanisms, and it is worth being precise about which one we use.

Domain randomisation makes the simulator's nuisance parameters so variable that the real world looks like one more sample[[cite:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World]]. It underlies CAD2RL[[cite:CAD2RL: Real Single-Image Flight without a Single Real Image]] and drone racing[[cite:Deep Drone Racing: From Simulation to Reality With Domain Randomization]], has been given structure by conditioning on scene context[[cite:Structured Domain Randomization: Bridging the Reality Gap by\n Context-Aware Synthetic Data]], analysed theoretically[[cite:Understanding Domain Randomization for Sim-to-real Transfer]], benchmarked[[cite:Benchmarking Domain Randomisation for Visual Sim-to-Real Transfer]], and applied to object detection for robotics[[cite:Object Detection Using Sim2Real Domain Randomization for Robotic Applications]]. Its known failure mode is that the randomisation range must bracket the real value; when it does not, no amount of variety helps.

Real-to-sim, or system identification, takes the opposite route: measure the real system and set the simulator to match. SimOpt closes the loop by updating the simulation distribution from real rollouts[[cite:Closing the Sim-to-Real Loop: Adapting Simulation Randomization with\n Real World Experience]], sim-to-sim canonicalisation trains a mapping to a canonical rendering[[cite:Sim-to-Real via Sim-to-Sim: Data-efficient Robotic Grasping via Randomized-to-Canonical Adaptation Networks]], residual physics learns the part of the dynamics the model misses[[cite:Residual Physics Learning and System Identification for Sim-to-real Transfer of Policies on Buoyancy Assisted Legged Robots]], and differentiable simulators fit parameters by gradient[[cite:Differentiable physics-based system identification for robotic manipulation of elastoplastic materials]][[cite:RISP: Rendering-Invariant State Predictor with Differentiable Simulation and Rendering for Cross-Domain Parameter Estimation]][[cite:Underwater Soft Robot Modeling and Control With Differentiable Simulation]][[cite:Med-Real2Sim: Non-Invasive Medical Digital Twins using Physics-Informed Self-Supervised Learning]]. Sensor-level realism can be identified the same way[[cite:Bridging the Reality Gap for Pose Estimation Networks using Sensor-Based Domain Randomization]][[cite:Sensor Transfer: Learning Optimal Sensor Effect Image Augmentation for\n Sim-to-Real Domain Adaptation]].

Domain adaptation aligns features or pixels using unlabelled real data: adversarial feature alignment[[cite:Adversarial Discriminative Domain Adaptation]][[cite:Domain Separation Networks]], entropy minimisation[[cite:ADVENT: Adversarial Entropy Minimization for Domain Adaptation in\n Semantic Segmentation]], self-training and co-training[[cite:Co-Training for Unsupervised Domain Adaptation of Semantic Segmentation Models]][[cite:Asymmetric Tri-training for Unsupervised Domain Adaptation]][[cite:DAFormer: Improving Network Architectures and Training Strategies for Domain-Adaptive Semantic Segmentation]], statistical alignment[[cite:Joint Geometrical and Statistical Alignment for Visual Domain Adaptation]], frequency-domain transfer[[cite:FDA: Fourier Domain Adaptation for Semantic Segmentation]], and standard benchmarks[[cite:VisDA: The Visual Domain Adaptation Challenge]]. We use none of it. Our model never sees real video during training, which is a limitation we state rather than a design virtue.

Image-level translation refines synthetic images towards realism[[cite:Learning from Simulated and Unsupervised Images through Adversarial\n Training]][[cite:Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks]], optionally with a task-consistency term[[cite:RL-CycleGAN: Reinforcement Learning Aware Simulation-To-Real]]. Photorealism is the competing school: photorealistic synthetic datasets[[cite:Synscapes: A Photorealistic Synthetic Dataset for Street Scene Parsing]][[cite:SceneNet RGB-D: 5M Photorealistic Images of Synthetic Indoor Trajectories with Ground Truth]][[cite:Virtual Worlds as Proxy for Multi-Object Tracking Analysis]], physically based rendering pipelines[[cite:BlenderProc: Reducing the Reality Gap with Photorealistic Rendering]][[cite:BlenderProc2: A Procedural Pipeline for Photorealistic Rendering]][[cite:Generating Images with Physics-Based Rendering for an Industrial Object Detection Task: Realism versus Domain Randomization]][[cite:Photo-realistic Neural Domain Randomization]], and applications from spacecraft pose[[cite:Deep Learning for Spacecraft Pose Estimation from Photorealistic Rendering]] to street scenes[[cite:Training Deep Networks with Synthetic Data: Bridging the Reality Gap by Domain Randomization]]. Reviews of synthetic-data generation[[cite:Review and analysis of synthetic dataset generation methods and techniques for application in computer vision]][[cite:A survey on Image Data Augmentation for Deep Learning]] and of how a transfer budget should be spent[[cite:How Should a Simulation-to-Reality Transfer Budget Be Spent?]] survey the trade-offs. Mixing a little real data in is often the cheapest win of all[[cite:Cut, Paste and Learn: Surprisingly Easy Synthesis for Instance Detection]].

Our approach sits in the real-to-sim family and is unusually literal about it: rather than randomising camera parameters over an assumed range, we measure real broadcast cameras (thirty-two in all, twenty-five of them used for training) and sample only from those, and rather than sampling flights from a prior, we solve boundary-value problems anchored to 13,129 annotated strokes from real matches. What we do not do is close the loop — our identification is one-shot, not iterative as in SimOpt.[[cite:Closing the Sim-to-Real Loop: Adapting Simulation Randomization with\n Real World Experience]]

2.4 Synthetic data for sports vision

Synthetic data has reached sport recently and mostly for detection rather than 3D: SoccerSynth-Detection renders soccer scenes to train player detectors[[cite:SoccerSynth-Detection: A Synthetic Dataset for Soccer Player Detection]] and SoccerSynth Field does the same for field detection[[cite:SoccerSynth Field: enhancing field detection with synthetic data from virtual soccer simulator]]. Virtual environments have long been used to study sports skill itself[[cite:Deep Reinforcement Learning in a Racket Sport for Player Evaluation With Technical and Tactical Contexts]]. The 3D-trajectory works of §2.2 that train on synthetic flights[[cite:SynthNet: Leveraging Synthetic Data for 3D Trajectory Estimation from Monocular Video]][[cite:Uplifting Table Tennis: A Robust, Real-World Application for 3D Trajectory and Spin Estimation]][[cite:Where Is The Ball: 3D Ball Trajectory Estimation From 2D Monocular Tracking]] are the closest precedents for what we build, and they differ from us mainly in how the camera distribution is chosen.

2.5 Camera calibration for broadcast sport

A planar court gives a homography, and a homography does not determine focal length: this is the classical degeneracy of plane-based calibration[[cite:A flexible new technique for camera calibration]], and it is why single-view calibration usually recruits extra structure such as vanishing points[[cite:Unsupervised Vanishing Point Detection and Camera Calibration from a Single Manhattan Image with Radial Distortion]][[cite:Vanishing Point Extraction and Refinement for Robust Camera Calibration]][[cite:CAMERA CALIBRATION COMBINING IMAGES WITH TWO VANISHING POINTS]][[cite:Atlanta world: an expectation maximization framework for simultaneous low-level edge grouping and camera calibration in complex man-made environments]] or a learned prior[[cite:CTRL-C: Camera calibration TRansformer with Line-Classification]]. Sports field registration is now a field of its own, with keypoint- and line-based methods[[cite:PnLCalib: Sports Field Registration via Points and Lines Optimization]][[cite:No Bells, Just Whistles: Sports Field Registration by Leveraging Geometric Properties]][[cite:TVCalib: Camera Calibration for Sports Field Registration in Soccer]][[cite:KaliCalib: A Framework for Basketball Court Registration]][[cite:YOCO-Sport: An End-to-End Framework for Deep Learning-Based Camera Calibration from Sports Broadcast Footage]], graph-based homography estimation[[cite:Automated Camera Calibration via Homography Estimation with GNNs]], sequential Bayesian estimation across a video[[cite:Video-based sequential Bayesian homography estimation for soccer field registration]], and a benchmark protocol[[cite:A Universal Protocol to Benchmark Camera Calibration for Sports]].

Almost all of this work registers the ground plane, which is exactly the part that does not constrain focal length. Our contribution is to recruit the net cord — the only rigid off-plane structure a badminton court offers — and, separately, to gate each calibration on the cord's catenary sag, a physical invariant the fit never sees.

2.6 Physically constrained reconstruction

Enforcing physics on a monocular reconstruction is well established for humans: scene constraints resolve pose ambiguity[[cite:Resolving 3D Human Pose Ambiguities with 3D Scene Constraints]], gravity constrains human-object reconstruction[[cite:Gravity-Aware Monocular 3D Human-Object Reconstruction]], trajectory optimisation enforces physical consistency on pose sequences[[cite:Trajectory Optimization for Physics-Based Reconstruction of 3d Human Pose from Monocular Video]], and physical plausibility can be built into prediction[[cite:Physical Plausibility-aware Trajectory Prediction via Locomotion Embodiment]]. Physics-informed learning more broadly is surveyed in[[cite:Physics-informed machine learning]][[cite:Understanding Physics-Informed Neural Networks: Techniques, Applications, Trends, and Challenges]][[cite:Driven by Data or Derived Through Physics? A Review of Hybrid Physics Guided Machine Learning Techniques With Cyber-Physical System (CPS) Focus]][[cite:Respecting causality for training physics-informed neural networks]].

The distinction that matters here is soft versus hard. Most of the work above adds physics as a loss term, which can always be traded away. Enforcing constraints exactly is a separate literature: constrained Kalman filtering projects the unconstrained estimate onto a feasible set[[cite:Kalman filtering with state constraints: a survey of linear and nonlinear algorithms]], differentiable optimisation layers embed a constrained solve inside a network[[cite:Differentiable Convex Optimization Layers]], and architectures exist that satisfy hard constraints by construction[[cite:HardNet: Hard-Constrained Neural Networks with Universal Approximation Guarantees]]. We take the projection route, applied per stroke to a six-parameter flight, and we report what feasibility costs in reprojection error rather than only that it was achieved.

2.7 Observability, degeneracy and estimation bounds

That a monocular view leaves depth weakly determined is not news; what is useful is to quantify it per stroke. Bundle adjustment has long treated the null space of the normal equations as a first-class object — gauge freedom, handled by minimum-norm steps[[cite:Bundle Adjustment — A Modern Synthesis]]. In filtering, the observability-constrained EKF identifies the same kind of unobservable subspace in order to protect it from spurious information[[cite:Observability-based consistent EKF estimators for multi-robot cooperative localization]], and observability-aware trajectory optimisation plans motions that make states observable[[cite:Observability-Aware Trajectory Optimization: Theory, Viability, and State of the Art]]. Visual-inertial estimators must handle the same degeneracies[[cite:VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator]].

We use that subspace differently: not to protect it and not to plan around it, but as the place to look for a physically feasible solution, on the argument that moving there is nearly free in image terms. We pair this with a Cramér–Rao bound on the six launch parameters, which turns "this stroke is hard" into a number that can be compared against what a model actually achieves.

2.8 Does in-distribution error predict real-world performance?

Our central negative result runs against a well-supported regularity. "Accuracy on the Line" reports a strong linear relationship between in-distribution and out-of-distribution accuracy across many benchmarks[[cite:Accuracy on the Line: On the Strong Correlation Between Out-of-Distribution and In-Distribution Generalization]], and where that relationship holds, a synthetic test set would be a fair guide. But it is not universal: in-distribution and out-of-distribution performance are sometimes inversely correlated[[cite:ID and OOD Performance Are Sometimes Inversely Correlated on Real-world Datasets]], and underspecification explains why two models with identical validation loss can behave differently under shift[[cite:Underspecification Presents Challenges for Credibility in Modern Machine Learning]]. Metrics designed for the sim-to-real gap itself have begun to appear[[cite:Instance Performance Difference: A Metric to Measure the Sim-To-Real Gap in Camera Simulation]].

The closest precedent for our diagnosis is in human pose: physical plausibility can be measured without ground truth by simulating the result[[cite:Measuring Physical Plausibility of 3D Human Poses Using Physics Simulation]], and that work also finds its own plausibility proxy does not track accuracy reliably — the same shape of result we obtain for net clearance. Reference-free consistency assessment is being explored for generated video as well[[cite:Reference-Free Assessment of Physical Consistency in World Model-based Video Generation]]. Our contribution here is the sharper, rank-order version of the claim, measured on 6,553 real strokes: across stroke types, held-out synthetic error carries no usable signal about real-footage error, and neither does the image-side observability number.

2.9 Shuttlecock aerodynamics

The flight model we integrate rests on a well-characterised object. The shuttlecock's drag coefficient, terminal velocity and strongly asymmetric trajectory have been measured in wind tunnels and free flight[[cite:Aerodynamic properties of badminton shuttlecock]][[cite:Measurements of aerodynamic properties of badminton shuttlecocks]][[cite:A study of badminton shuttlecock aerodynamics]][[cite:Aerodynamic Properties and Flow Behavior for a Badminton Shuttlecock with Spin at High Reynolds Numbers]][[cite:Flow analysis and aerodynamic characteristics of a badminton shuttlecock with spin at high Reynolds numbers]][[cite:Aerodynamics of badminton shuttlecock: Characterization of flow around a conical skirt with gaps, behind a hemispherical dome]][[cite:Effect of Porosity of Badminton Shuttlecock on Aerodynamic Drag]], simulated[[cite:Flight trajectory simulation of badminton shuttlecocks]][[cite:Aerodynamic Characteristics and Trajectory Analysis of Badminton Shuttlecocks]], and summarised for the sport as a whole[[cite:The physics of badminton]]. A terminal velocity near 6.8 m/s and a drag-dominated, markedly asymmetric arc are what make a badminton flight identifiable from a short observation at all, and they are also why a ballistic parabola is not an adequate model.

These sections cite no additional work; the bibliography is on the main page.