Phase 2: distance from focal length and pixel geometry
Aryan Sethi+1: Claude Opus 5 (1M context)
6b89d1b
src/depth/ground_plane.py is written to be transcribed: the ray-plane
intersection a step at a time, with the two traps named -- h is the height above
the road rather than a translation component, and Argoverse 2 pixels need
undistorting before the pinhole model applies. A vectorised, distortion-aware
form sits alongside it for the pipeline.
Scored on nuScenes val against LiDAR ground truth, from ground-truth boxes:
1.05 m MAE under 10 m, 3.96 m at 10-20 m, 8.97 m at 30-45 m, every object given
an estimate.
The headline is not that number though. Read per class, cones look 5.91 m biased
against barriers at 1.23 m, which reads as a class problem. It is not: inside any
one scene the two classes agree closely, and the apparent cone bias is one scene
holding 120 of the 265 cones. Median relative error per scene runs -35% to +35%,
and fitting a single constant row shift per scene halves the error, 3.34 -> 1.71 m,
with the worst scene going 6.56 -> 1.30 m on a -50 px shift. That is an effe…