TT Lab
Blog

한국어 English 日本語 中文

Get started
Blog

Blog

Data, Licenses, Training Processes, and the Path to Commercial Service

Status: Draft (2026-10-26), reflects measured values. Data scales were measured directly by us, and licenses were verified only up to the text stated on the official pages and LICENSE files of each dataset and repository. This article does not constitute legal advice. "Commercially usable" is based strictly on the written text; final decisions regarding commercial services must undergo legal review. Writing rules: Measured data is the default, unmeasured items are marked as "Unmeasured," and items with no found basis are marked as "Cannot verify."

Data, Licenses, and Training Processes

Table of Contents

1. Why This Article Is Needed Separately

Discussions about models usually end with architecture and accuracy. However, in real-world services, two questions always follow:

  1. What was used to measure these numbers? Even the same model yields vastly different numbers depending on the data and rules used for measurement.
  2. Can this model be used? The licenses of the data used for training carry over directly to the model.

TT Lab decided on October 18, 2026, to pivot toward a commercial service, and since then, the second question has become the primary question for every model. The final section of this article covers that direction, principles, and plan.

2. Dataset Table

Data Source License Commercial Use Our Use Case Scale (Directly Counted)
OpenTTGames Public table tennis dataset (released with the TTNet paper [1]) CC BY-NC-SA 4.0 Not allowed Foundation for research and evaluation (fixed split) 12 videos, 644,199 frames, 89.5 minutes, 1920×1080 at 120fps, no audio. 52,987 ball-marked frames (8.2%), 4,271 events
Extended OpenTTGames Extended labels for the above data (arXiv:2512.19327) CC BY-NC-SA 4.0 Not allowed Rally winner and cause ground truth, stroke labels (research and evaluation) 281 rally endings (using 275 with known servers), 1,456 strokes
T3Set Public training video dataset (KDD 2025) CC BY-NC-SA 4.0 Not allowed Generalization evaluation under different conditions (no ball ground truth, visual inspection), audio experiments, coaching reference values 32 players, 387 rounds, 734 videos, 26.9GB, 1080p at 60fps, with audio
TT Sounds Table tennis impact sound dataset [2] CC BY-NC 4.0 Not allowed Audio classification experiments only. Not included in the engine 6,037 15ms segments, 5,702 labels (racket 3,396 · table 777 · floor 290 · other 1,239), 149 original recordings
Lab Table Tennis Video(OpenNeuro ds004505) Public neuroscience experiment data CC0 1.0 Allowed One demo, table detection test (3 diagonal lab shots). Excluded from corner training as it is the same lab environment as the test Cannot verify
2015 Slovenian League Broadcast Wikimedia Commons CC BY 3.0 Allowed (with attribution) Corner model training Training 12 images (non-overlapping with test sections), 26 table detection test images, initial screen demo 1080p at 25fps, 24.7 minutes
4K Club Match Wikimedia Commons CC BY 3.0 Allowed (with attribution) Club demo, table detection test (4 side shots). Excluded from corner training for videos from the same gymnasium Cannot verify
1934 Table Tennis Newsreel Wikimedia Commons Public Domain Allowed Vintage film demo, 2 table detection test images Cannot verify
Mobile Portrait Match Video Wikimedia Commons CC BY-SA 4.0 Allowed (under same license) Portrait mobile demo, condition-specific test clip 1080×1920 at 26.08fps
Synthetic Table Tennis Images Our code (no external images) Internal Allowed 80% of corner model training Randomized cameras, lighting, floors, backgrounds, adjacent tables, and people; 2,500 iterations × batch size 12 = 30k images
Synthetic Rallies(ttscore/sim/) Our code Internal Allowed Engine synthetic testing (ground truth generated by separate code) Physics 1ms integration, 7 rally types, 12 camera presets
Lab 3-Match Set (TT3D) Public research data Cannot verify Cannot verify Generalization evaluation only 49,516 ground truth frames
International Broadcast Auto-Tracking (LATTE-MV) Public research data Card is Apache-2.0, original broadcast rights unknown Unknown Generalization evaluation only (ground truth is not human-labeled) 812 matches, 23,781 clips, 640×360 at 30fps
Racket Keypoints (RacketVision table tennis split) Public research data Annotations MIT, video rights unknown → Internal use only Unknown Score graphic reading experiments (internal) 780 clips, 170,027 frames

Some aspects are not apparent from the table alone.

Storage

Originals are stored unmodified on the NAS. Working copies reside on the GPU server volume across 15 bundles totaling about 89GB (including 33GB for OpenTTGames, 26GB for T3Set, and 20.7GB for international broadcasts). The laptop GPU setup mounts the NAS as read-only without a separate local volume. Research outputs (inference results, heatmaps, trained weights) are also kept in a dedicated NAS folder. Download logs record the same path size as 132GB, showing a discrepancy (it cannot be verified which value is current).

3. Where and How Training Actually Runs

While "training" often evokes large GPU clusters, most scoring engine training tasks are very small.

모델 · 학습한 곳 · 규모 · 운영 상태 가짜 바운드 거르기 (1D CNN) 학습: 노트북 CPU 1.8만 파라미터 · 20에폭 · 시드 5개 켬 「확인 필요」 보정 (회귀) 학습: 노트북 CPU 19특징 · 경기 단위 5겹 교차 검증 켬 탁구대 꼭짓점 모델 학습: 노트북 GPU 1회용 파드 셋 합성 80% + CC BY 중계 20% · 약 20분 켬 미세조정 공 모델 학습: 노트북 GPU 1회용 파드 8,934걸음 · 69분 · 켜는 조건 미달 꺼짐 공 모델 BlurBall 저자 가중치를 그대로 씀 149만 파라미터 · 미세조정 없음 켬 탁구대 EfficientTAM S 저자 가중치를 그대로 씀 찾기 사슬의 첫 칸 켬 상업 서비스에 맞춰 학습 자료와 가중치를 상업 사용이 허락된 것으로 바꾸고 있다(6절의 원칙).
Figure: Models We Trained and Use: Training Locations and Operational Status
Model Training Location Time/Scale Required Operation
Fake Bounce Filter (1D CNN, 18k) Laptop CPU 20 epochs, batch size 2048, 5 seeds Enabled
"Verification Needed" Correction (Logistic Regression, 19 features) Laptop CPU 5 training matches × degraded condition rulings, match-level 5-fold cross-validation Enabled (v2)
Learnable "Rally End" (Reducing Latency) Laptop CPU — Rejected (Log E10)
Fine-Tuned Ball Model (clutter-v1) Laptop GPU (8GB class), disposable pod 8,934 steps, 69 minutes Disabled
Table Corner Model (640k head) Laptop GPU (8GB class), disposable pod set 2,500 iterations each × batch size 12, approx. 20 minutes Enabled (2026-10-25)

Extraction and inference (running the ball model across public videos, pose extraction, etc.) were executed on CPU and GPU pods of the GPU server or laptop GPUs.

The Disposable Pod Approach

Training on laptop GPUs is executed via disposable podson Kubernetes. A pod containing the training code and inputs is pinned and launched on a specific node and deleted upon completion (--rm). This approach stems from actual incidents experienced previously.

There were days when GPU pods failed to launch entirely due to GPU driver issues. When utilizing small lab-scale GPUs, it is necessary to develop the habit of checking whether the environment is healthybefore writing training code.

Kubeflow Is Installed, But Not Yet Used for the Scoring Engine

On October 18, 2026, Kubeflow Trainer (v2.3.0, JobSet v0.12.0) was installed via GitOps, and successful synchronization was confirmed. A dedicated training zone was also established. The boundaries of that zone are as follows:

However, training executed via this TrainJob has thus far been limited to table tennis robotic arm reinforcement learning and smoke tests. There is no record of training scoring engine models (ball, filtering, correction, corners) using TrainJob. The reasons are documented in the operations manual. The data and large GPUs required for fine-tuning the ball model reside on the GPU server, whereas the training zone's GPUs are pinned to the laptop GPU node, creating a mismatch in rules. Decisions regarding data migration or rule adjustments must come first. Although installation files for pipelines (KFP 2.16.1) and hyperparameter tuning (Katib v0.19.0) exist, following initial synchronization error troubleshooting logs, their current status is unverified, and no records of their use for table tennis models were found.

To be honest, this is not a major issue at the current scale. Filtering and correction take only a few minutes on a laptop CPU, and the keypoint model takes 20 minutes. A training platform will become necessary when we need to retrain the ball model from scratch (Section 6).

4. Experiment Rules: Making Numbers Trustworthy

What takes more time than training is measuring fairly. At the very beginning of the research log, we wrote down the rules applied to all experiments (2026-10-13).

Fixed Split

Name Matches Rallies known to server Usage
dev_train 3 public training matches 140 Creating learning-based candidates for research
dev_val 2 public training matches 78 Hyperparameters, thresholds, and combination selection only here
test 7 public test matches 57 Used once at the very endof each experiment. Degradation condition table is also here.
all12 All of the above 275 Only when comparing with past records

This split is for research purposes. Training materials for commercial services follow the principles in Section 6.

Note on Data Leakage Warning

The rule engine was refined while observing all 12 public matches (including 7 test matches) on 2026-10-11–12. Therefore, the test score of the rule baseline is in-sample and thus optimistic. Since new learning-based methods have never seen the test matches, the comparison is biased against the new methods. We note this warning at the beginning of the log and include it in every comparison. Also, because the list of training videos for the ball model is not disclosed, we do not know if they overlap with the test matches. Therefore, ball detection quality is not read as generalization performance.

Single Primary Metric, Paired Comparison, Seed Median

Pre-registering Decision Rules Before Seeing Results

For several experiments (needs-confirmation correction v3, edge lines, full camera scoreboard, keypoint model), adoption criteria were written in the log before seeing the results (pre-registration). For example, the keypoint model criterion was: "increase confident&correct cases across 35 new frames, do not increase confident&incorrect cases in any batch, based on the median of three seeds." Even if some criteria were not met, we recorded them without hiding anything. For the keypoint model, after seeing the test results of the first decoding, we designed a second decoding and ran the test twice, recording everything as-is in the log and Part 4.

Real-Time Budget

Rulings Born from Failures

Code Licensing Principles

We do not import GPL, AGPL, or MPL code, but re-implement methods from scratch. Training materials for each model are recorded in the weight metadata (nc_sources) and the log. This record serves as the basis for determining what needs to be retrained during commercial transition (Section 6).

5. Current Empirical Figures at a Glance

What Condition Value Reference
Ball Precision / Recall Public test 7 matches, 60fps, 512×288 radius 5px, 2026-10-11 0.9817 / 0.9785 PERFORMANCE 2.1
Rally Winner (Offline, Rally-level) 12 public matches, 275 rallies, split model keypoints 93.8% (258) PERFORMANCE 2.10
Rally Winner (Deployment Real-time Path) Same 275 rallies, dataset mask keypoints, 2026-10-13 90.2% (248) Log E00
Operational Workflow Fixed Benchmark Table 7 test matches × 11 degradation conditions, 638 labels, 2026-10-16 Correct 508, Incorrect without confirmation 8, Needs confirmation 497, Ghost 51 Logs E25·E27
12 degradation conditions, rally-level Operational ball model + correction v2 587/696 (84%) Log E33
Same conditions, fine-tuned ball model clutter-v1 + correction v3 (disabled) 610/696 (88%) Log E33
Full camera scoreboard 7 test matches, 851s, fake camera 30fps, 58 labels, 2026-10-17 Correct 47, Incorrect without confirmation 0, Needs confirmation 53/65 Log E35
Table detection (operational, keypoints enabled) 204 test frames JPEG 70, 2026-10-25–26 Confident&correct 84 without grabbing, Confident&incorrect 23 Log E44
Decision Latency 7 clean test matches p90 1.31s Logs E00·E07
Real table tennis hall filmed with smartphone — Unmeasured(0 labeled smartphone videos) —

The last line is the most important. All numbers so far have come from public videos: research-grade videos well-shot with fixed cameras, broadcast footage, and synthetic degradation. There are yet no figures for what users actually use: "a smartphone mounted on a tripod at a local table tennis club." Obtaining those figures requires self-filmed videos with manual labels, which leads directly to the task in the next section.

6. Path to Commercial Service: Direction and Principles

TT Lab decided on October 18, 2026, to pivot toward a commercial service, and accordingly, we are replacing training data and weights with those permitted for commercial use. This section outlines only the direction, principles, and plans. All judgments are based on data and statements in the repository and do not replace legal review.

Principles

  1. Operational models are trained on materials permitted for commercial use. Four types of materials can be used: self-filmed and self-labeled videos, synthetic materials created with our own code (table drawings, synthetic rally trajectories), public videos permitting commercial use such as CC BY, CC0, and public domain, and corrections reviewed by users who consented to training usage (Part 6).
  2. Non-commercial (NC) datasets are used exclusively for internal research and evaluation. The non-commercial data in the dataset table above will be used to research and benchmark the engine, but not as training material for commercial services. Its use in evaluation is also subject to legal review (below).
  3. Public assets are created using commercially usable originals. Demo videos on the site were recreated using commercially usable originals in alignment with the commercial transition (2026-10-24–25). The camera scoreboard demo was newly filmed using CC BY league broadcast footage, and author attribution, licenses, and modifications are displayed on screen for each original.
  4. Training materials are recorded for each model. We leave materials in the weight metadata (nc_sources) and the research log so that we can determine at any time which model needs to be retrained with what.
  5. GPL, AGPL, and MPL code are not imported. We re-implement methods from scratch (Section 4).

First Case Built Under These Principles

The table tennis keypoint model in Part 4 is the first model built from scratch using these principles. It was trained with an Apache-2.0 encoder, 80% self-synthesized drawings, and 20% CC BY 3.0 broadcast footage (12 matches), while non-commercial datasets were used solely for testing (metadata nc_sources=[]). How to attribute CC BY in the trained weights will be determined through legal review.

Plan

What Happens to Evaluation Data?

Evaluationcurrently uses non-commercial data. The 7 public test matches form the basis for almost all numbers in this article. Whether it is permissible for a commercial company to use non-commercial data for internal evaluation is a legal question depending on the interpretation of "non-commercial" in data licenses, so we do not conclude it here. There is only one technologically certain path: to build a labeled, self-filmed test set. Doing so simultaneously fills the biggest blank: "unmeasured smartphone field accuracy."

7. Summary

TT's Word. Just as important as how accurately the model predicts is "whose data it learned from." That is why we now aim to study using notebooks we filmed and drawings we made.

References

  1. R. Voeikov, N. Falaleev, R. Baikulov. "TTNet: Real-time Temporal and Spatial Video Analysis of Table Tennis." CVPR Workshops, 2020. arXiv:2004.09927. OpenTTGames data CC BY-NC-SA 4.0 (statement on data release page).
  2. T. Gossard, J. Schmalzl, A. Ziegler, A. Zell. "Sound-Based Spin Estimation in Table Tennis: Dataset and Real-Time Classification Pipeline." IEEE STAR, 2025. arXiv:2409.11760. Data CC BY-NC 4.0 (repository README).
  3. T. Gossard, F. Radovic, A. Ziegler, A. Zell. "BlurBall: Joint Ball and Motion Blur Estimation for Table Tennis Ball Tracking." CVPR Workshops (CVsports), 2026. arXiv:2509.18387. Code MIT.
  4. N. Ravi et al. "SAM 2: Segment Anything in Images and Videos." ICLR, 2025. Code and checkpoints Apache-2.0.
  5. Y. Xiong et al. "Efficient Track Anything." ICCV, 2025. Code and checkpoints Apache-2.0.
  6. Extended OpenTTGames (rally end reasons, winner, stroke labels). arXiv:2512.19327. CC BY-NC-SA 4.0.
  7. Our measurements and records: Repository docs/tt/PERFORMANCE.md 2.1·2.10·2.19, docs/study/tt-score-models/07-datasets.md(data counting), Research Ledger Section 0 (experimental rules) · Ruling · E00 · E25 · E27 · E33 · E35 · E44, deploy/ training task guide document below, backend/app/tt_score_demos.py preface (original demo).

Further Reading

Sign in to like

Comments

No comments yet.

Sign in to leave a comment