# Racketvision Eval

> Probes multi-sport vision capabilities by evaluating unified ball tracking, racket pose estimation, and dynamic trajectory prediction across table tennis, tennis, and badminton. It tests both static perception and temporal modeling of human-object interactions. Use when the user wants to benchmark on RacketVision, or asks about evaluating this task. Reports ball tracking.

- Skill: `qhjqhj00/racketvision-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/racketvision-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/racketvision-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/racketvision-eval

---


# racketvision-eval

> RacketVision: A Multiple Racket Sports Benchmark for Unified Ball and Racket Analysis — Dong et al. (2025) (arXiv:2511.17045, 2025)

## What this evaluates

Probes multi-sport vision capabilities by evaluating unified ball tracking, racket pose estimation, and dynamic trajectory prediction across table tennis, tennis, and badminton. It tests both static perception and temporal modeling of human-object interactions.

## Datasets

- **RacketVision** — total ?; splits: (unstated)

## Metrics

- `ball tracking` **(primary)** — range: other
  - Predicts 2D ball position (x_t, y_t) and a binary visibility flag v_t per frame. Evaluated by position error and visibility classification accuracy.
- `racket pose estimation` — range: other
  - Predicts a 4D bounding box and 5 2D keypoints per racket. Evaluated by localization accuracy of the box and keypoint coordinates.
- `ball trajectory prediction` — range: other
  - Predicts M future ball positions given N historical frames of ball positions and optionally racket poses. Evaluated by trajectory error over the forecast horizon.

## Input / output format

**Input**: RGB frames (single frame or sequence of 6 frames for tracking; single frame for pose; N historical frames of ball positions ± racket keypoints for trajectory)

**Output**: Ball: 2D position (x_t, y_t) and visibility flag v_t. Racket: bounding box (x_min, y_min, x_max, y_max) and 5 keypoints (x_i, y_i). Trajectory: sequence of M future 2D positions (x_hat, y_hat).

## Scoring recipe

```python
# Ball Tracking
pos_error = sqrt((pred_x - gt_x)^2 + (pred_y - gt_y)^2)
vis_accuracy = mean(1 if pred_v == gt_v else 0)

# Racket Pose
bbox_iou = intersection_over_union(pred_bbox, gt_bbox)
kp_error = mean(sqrt((pred_kp_x - gt_kp_x)^2 + (pred_kp_y - gt_kp_y)^2))

# Trajectory
traj_error = mean(sqrt((pred_traj_t - gt_traj_t)^2 for t in 1..M))
```

## Common pitfalls

- Naive multi-modal fusion of ball and racket features degrades performance compared to ball-only baselines
- Pipeline dependency requires perception models to be trained on sparse ground-truth first to generate soft labels for trajectory training
- Evaluation settings vary by input modality (ball-only vs ball+racket) and forecast horizon (short: N=20/M=5 vs long: N=80/M=20)

## Evidence (verbatim from paper)

> The RacketVision benchmark is structured around three interconnected tasks that form a comprehensive pipeline for sports analysis, progressing from low-level perception to high-level prediction: ball tracking, racket pose estimation, and ball trajectory prediction.

## Citation

```bibtex
@misc{dong2025racketvision,
  title={RacketVision: A Multiple Racket Sports Benchmark for Unified Ball and Racket Analysis},
  author={Dong et al. (2025)},
  year={2025},
  note={arXiv:2511.17045}
}
```

- arXiv: 2511.17045

