# Tracknet Tracking Eval

> Evaluates the ability of deep learning models to detect and track high-speed, tiny objects (tennis and badminton balls) in broadcast sports videos. It probes robustness to motion blur, occlusion, and domain shifts by comparing single-frame vs. multi-frame tracking and transfer learning across different sports. Use when the user wants to benchmark on Tennis, Badminton, or asks about evaluating this task. Reports F1-measure.

- Skill: `qhjqhj00/tracknet-tracking-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/tracknet-tracking-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/tracknet-tracking-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/tracknet-tracking-eval

---


# tracknet-tracking-eval

> TrackNet: A Deep Learning Network for Tracking High-speed and Tiny Objects in Sports Applications — Huang et al. (2019) (arXiv:1907.03698, 2019)

## What this evaluates

Evaluates the ability of deep learning models to detect and track high-speed, tiny objects (tennis and badminton balls) in broadcast sports videos. It probes robustness to motion blur, occlusion, and domain shifts by comparing single-frame vs. multi-frame tracking and transfer learning across different sports.

## Datasets

- **Tennis** — total 20844; splits: train (-1), test (-1)
- **Badminton** — total 18242; splits: train (-1), test (-1)

## Metrics

- `Precision` — range: percent
  - Precision = # of True Positive / (# of True Positive + False Positive).
- `Recall` — range: percent
  - Recall = # of True Positive / (# of VC1+VC2+VC3), where VC1-VC3 represent visible ball counts across visibility classes.
- `F1-measure` **(primary)** — range: percent
  - F1-measure = 2(Precision × Recall) / (Precision + Recall). Harmonic mean of precision and recall.

## Input / output format

**Input**: Video frames resized to 640×360 pixels. Models take either a single frame or three consecutive frames as input.

**Output**: Heatmap indicating the predicted 2D coordinates of the tracked object (ball) in the target frame.

## Scoring recipe

```python
PE = euclidean_dist(pred_coords, gt_coords)
threshold = 5.0 if sport == 'tennis' else 7.5
if PE <= threshold: TP += 1
else: FP += 1
# FN counted from visibility classes (VC1-VC3)
precision = TP / (TP + FP)
recall = TP / (TP + FN)
f1 = 2 * (precision * recall) / (precision + recall)
```

## Common pitfalls

- PE threshold is sport-dependent (5px for tennis, 7.5px for badminton), not a fixed global value.
- Recall denominator is defined by visible ball counts (VC1+VC2+VC3), not total frames, making it sensitive to occlusion/visibility classes.
- Transfer learning from tennis to badminton fails due to domain shift in speed and shape, not model architecture.

## Evidence (verbatim from paper)

> The overall performance in terms of precision, recall, and F1-measure are summarized in Table [V]. These three metrics are defined by Precision = # of True Positive / (# of True Positive + False Positive), Recall = # of True Positive / (# of VC1+VC2+VC3), and F1-measure = 2(Precision × Recall) / (Precision + Recall.

## Citation

```bibtex
@misc{huang2019tracknet,
  title={TrackNet: A Deep Learning Network for Tracking High-speed and Tiny Objects in Sports Applications},
  author={Huang et al. (2019)},
  year={2019},
  note={arXiv:1907.03698}
}
```

- arXiv: 1907.03698

