A single image is consistent with infinitely many scenes. Double every distance and double the size of every object and the image is pixel-identical. No amount of architecture removes that: the mapping from image to metric depth is not a function, and a network that appears to compute it is doing something else.
What it is doing is exploiting a prior. Doors are about two metres tall, roads are about as wide as two cars, texture gradients fall off in a characteristic way, and objects that occlude are in front. These are statistical regularities of the training distribution, and they are enormously informative — which is why monocular depth works at all — and they are not geometry, which is why it fails in specific and predictable ways.
The reason relative models predict in disparity space is worth spelling out. In depth space, a metre of error at m and a metre at m are the same loss, so a network trained with an depth loss spends its capacity on the far field, where the geometry is least informative and the labels are worst. In disparity space, compresses the far field: the same loss now weights the near field, where the pixels are dense and the labels are good.
That is a defensible modelling choice with a real consequence — the model is accurate where disparity is large and vague where it is small — and it is why comparing two models that predict in different spaces requires care.
A model reports excellent AbsRel on a benchmark but its raw output is useless for obstacle avoidance. How is that possible?
Show answer
Because AbsRel is almost certainly computed after a per-image alignment that the robot cannot perform. The benchmark fits the unknown scale (and often shift) using the ground truth, then measures what is left. A robot has no ground truth at inference time. The number is a fair measure of relative structure and no measure at all of usable metric depth — which is the distinction the next concept is entirely about.