AceSense

Architecture · Published 26 August 2026

Building a failure-aware tennis vision pipeline from one phone camera

How validation, court geometry, ball and player tracking, pose, shot detection, and immutable publication keep uncertainty visible.

One camera does not contain every truth

A normal phone video can support image-space tracks, court reprojection when calibration is sufficient, event classification, and pose-derived observations. It cannot automatically provide lab-grade kinetics, calibrated 3D ball position, or official line calls.

The pipeline starts by naming those boundaries and refuses to fill missing evidence with a plausible number.

Stage the inference contract

Media validation and normalization precede gameplay segmentation, court detection, ball and player tracking, bounce and shot detection, and relationship validation. Each stage records readiness and failure rather than returning one opaque success flag.

Global court and scene decisions are made before chunk workers so a chunk boundary cannot silently change geometry.

Publish atomically

Workers write a new immutable generation and upload the canonical result last. Create-only remote publication prevents a late competing worker from replacing the winner.

If a rerun fails, the previous complete report remains canonical.

Evidence stays frame-linked

Every coaching claim should link to the source moment and retain confidence or unavailable state. Coaches add intent, fatigue, injury history, and tactical context that pixels cannot recover.

That evidence boundary turns automated indexing into a review aid rather than a synthetic authority.

Production checklist

← Engineering