All work03 / 07
Fédération Française de TennisEfrei Research LabParis, France
2025

WhenVideo understanding

TAL4Tennis

PublishedICAART 2025

Finds the play inside hours of broadcast.

Localises serve, exchange and non-play phases directly in untrimmed broadcast video, with a bidirectional state-space temporal model.

  • 65.82average mAP on TenniSet, 11 classes; next best ActionFormer 62.38
  • 26.18mAP at tIoU 0.9 on held-out Roland-Garros clay; ActionFormer 21.84
  • 91.89frame-level Macro-F1 on the held-out set, highest of all methods

Overview

The problem

A tennis broadcast is a continuous stream: serves and exchanges alternate with replays, pauses, crowd shots and camera changes that show the same court and players. Court registration, tracking and stroke recognition are only meaningful on the in-play portions, yet those portions are usually isolated outside the learned model, by audio-visual heuristics, score-change rules or manual cutting. A missed boundary or an included replay then propagates into every downstream task.

What was missing

Racket-sport methods recognise strokes or events inside clips that already contain a rally, leaving the phase structure of the raw stream to preprocessing. Transformer localisers model long context with attention whose cost grows quadratically with sequence length, and ActionFormer restricts it to local windows. State-space models capture long-range context at linear cost, but in sports video they had mainly been applied to per-frame problems such as tracking.

Architecture

INPUTUntrimmedbroadcastfull match streamFROZENVideoMAE V2-g16-frame snippets ·stride 2 · 1,408-d persnippetTEMPORAL BACKBONE · TRAINEDMasked 1-D convolution embeddingDBM stem · bidirectional Mambalevel 0 · full resolutionDBM block + max-poollevel 56-level temporal pyramidforward and backward scans share weights,linear cost in sequence lengthPROCESSINGPoint generatoranchor-free,scale-aware temporalpointsHEADClassification headphase scores · sigmoid focallossHEADRegression headleft / right boundaryoffsets · DIoU lossPROCESSINGDecode + Soft-NMSclass-wise, σ = 0.5OUTPUTPhase segmentsServe · Exchange · Other,with start, end and score

Swipe to see the whole diagram →

Frozen VideoMAE V2-g snippet features feed a Decomposed Bidirectional Mamba pyramid; anchor-free points classify phases and regress their boundaries.
Technical details
  • Frozen VideoMAE V2-g features: 16-frame snippets, stride 2, one 1,408-d descriptor per snippet, precomputed once and reused across epochs.
  • A masked 1-D convolution embedding, a DBM stem and five DBM blocks with temporal max-pooling form a six-level pyramid. Each Decomposed Bidirectional Mamba block scans forward and backward with shared weights.
  • An anchor-free point generator assigns scale-aware regression ranges; centre sampling keeps positives away from ambiguous phase edges.
  • Classification: sigmoid focal loss (α = 0.25, γ = 2). Regression: one-dimensional Distance-IoU on left/right offsets. EMA of weights (0.999); 85 epochs including 5 of warm-up.
  • Inference: score threshold 0.001, top 2,000 candidates per level, class-wise Soft-NMS (σ = 0.5), at most 200 segments per video.
  • Ablations (TenniSet, 3 classes, average mAP): Mamba 72.32 vs Transformer 71.05 vs convolution 70.82; Soft-NMS 72.32 vs hard NMS 71.88 vs none 56.83.

What I built

  1. 01

    Phase localisation as a learning problem

    Extracting in-play sequences from continuous broadcasts is formulated as learned temporal localisation, with no externally engineered filtering.

  2. 02

    Sequence-level context at fine resolution

    Point-based boundary regression is conditioned on bidirectional Mamba scans over the whole sequence, at every level of the temporal pyramid.

  3. 03

    An evaluation protocol for racket sports

    Multi-threshold localisation benchmarking with boundary-precision diagnostics, held-out clay-court transfer without adaptation, and F³Set event detection.

Main results

65.82average mAP on TenniSet, 11 classesActionFormer 62.38
19.51mAP at tIoU 0.9, where boundaries must be nearly exactActionFormer 16.69
26.18mAP at tIoU 0.9 on held-out Roland-Garros clay, no adaptationActionFormer 21.84
91.89frame-level Macro-F1 on held-out Roland-GarrosActionFormer 89.96
40.69Edit score on F³Set events, finest vocabularyActionFormer 36.77
75.55element-level F1 on F³Set (coarse vocabulary, ±4 frames)ActionFormer 73.15
TenniSet Split 2, original 11-class taxonomy: mAP (%) at temporal IoU thresholds
MethodtIoU ↑
0.10.30.50.70.9Avg
TemporalMaxer71.6471.1369.7559.8012.4356.95
TriDet75.5274.7973.7363.9115.7260.73
DyFADet75.7875.3574.1763.9114.7860.80
ActionFormer76.7776.2374.9467.2816.6962.38
TAL4Tennis (Ours)80.8080.2579.0069.5319.5165.82
Three-class phases (Serve, Exchange, Other) on TenniSet Split 2 and the held-out French Open test set: mAP (%) at temporal IoU thresholds
MethodTenniSet Split 2 – tIoU ↑French Open Test – tIoU ↑
0.10.30.50.70.9Avg0.10.30.50.70.9Avg
TemporalMaxer87.9686.3082.5969.2115.5268.3169.7859.1754.0039.895.9445.75
DyFADet89.4688.3883.8672.2821.2271.0469.5362.0859.0250.0718.1451.77
TriDet89.3888.0383.4372.6022.6471.2270.5260.9957.5050.0419.7851.77
ActionFormer90.4789.1183.9872.1023.8371.9069.2361.8059.9251.5121.8452.86
TAL4Tennis (Ours)90.9689.7083.6973.5623.7172.3269.5061.6458.7852.5726.1853.73
Event detection on F³Set, all methods on the same frozen VideoMAE V2-g features
Temporal toleranceMethodF³Set (G-high)F³Set (G-mid)F³Set (G-low)
F1-evtF1-elmEditF1-evtF1-elmEditF1-evtF1-elmEdit
±2 framesActionFormer6.6137.0136.779.7838.1245.8327.5946.7758.08
TriDet7.4039.1134.4911.4940.8145.1726.5648.1852.44
TemporalMaxer3.2231.7724.776.3433.8737.5018.3242.2145.01
DyFADet4.5633.4027.657.8235.4439.2820.7243.1147.09
TAL4Tennis (Ours)8.5140.8940.6912.0642.1149.7730.8950.7060.94
±4 framesActionFormer10.3757.8336.7715.2059.3545.8343.2673.1558.08
TriDet10.4256.5634.4916.4859.1345.1738.0869.9352.44
TemporalMaxer5.2147.9524.779.9751.2137.5028.1264.3445.01
DyFADet6.9149.8527.6511.8852.9139.2830.8864.5947.09
TAL4Tennis (Ours)12.8261.8040.6918.0963.6449.7746.9775.5560.94

Qualitative results

Demo

A held-out Roland-Garros 2022 game, never seen in training: the annotation (dashed) and TAL4Tennis predictions (filled) under the live broadcast, with one 30-second skip. Predictions are made offline over the whole clip.

Limits and next steps

The video encoder stays frozen and is never adapted to the localisation objective, which bounds fine-grained event recognition (event F1 of 8.51 at F³Set's finest vocabulary). Longer temporal context helps, but not uniformly across thresholds.

Beyond this project

Phase and event detection in any long untrimmed stream: highlight generation, video monitoring, process and procedure analysis.

Research output

Paper

TAL4Tennis: Temporal Action Localization in Tennis Videos Using State Space Models

Ahmed Jouini, Mohamed Ali Lajnef, Faten Chaieb-Chakchouk, Alex Loth

ICAART 2025, SciTePress, pp. 398–406

Peer-reviewed core idea; the evaluation shown here is the thesis version.

Code

Madou10-lab/TAL4Tennis

GitHub

Contact

Interested in the work?

I'm looking for AI research engineer roles in computer vision and video understanding, ideally in sports analytics, though not only. Ready to start a new journey.

Paris, France