Tennis Court Keypoint Localization System
A two-stage court-localization pipeline that detects seven court and net-post landmarks, then refines line and post cues in local crops for downstream camera geometry.

Project role
I developed the earlier court-landmark pipeline used to connect image detections with known tennis-court geometry. It supplies identifiable reference points for camera localization and scene mapping.
Coarse landmark detection
The first model detects seven named landmarks: three court reference points, k11, k21, and k31, plus the top and bottom of each net post, p11, p12, p21, and p22. Predictions are represented as boxes whose centers provide the image-space landmark coordinates.
The reference inference path resizes the image to 832 × 480 and adds configurable horizontal padding. Its coordinate mapping removes the padding and restores the original image scale before passing landmarks to other stages.
Local refinement
A second model runs on crops around the two detected post bases. Its six-class output includes line-support points and post landmarks, allowing the pipeline to recover more detailed geometric cues near each post. Crop offsets are added back so both coarse and refined detections share the source image’s coordinate system.
Refinement is optional and depends on the corresponding coarse post being detected. The implementation exposes separate confidence, overlap, image-size, and crop settings for the two stages, along with visualizations for inspecting their outputs.
Place in the project sequence
This project produces court landmarks; the geometric consumer estimates camera pose from them. It is distinct from the later grid-guided court model, which learns line intersections against a separate synthetic grid and reconstructs court lines from those predictions.

