No jobs
Core 9 min 1 of 3

What the network actually predicts

Not depth. A depth-like quantity, defined up to a transformation nobody wrote down.

What this repairs

Treating a network output as metres because the dataloader called it "depth" and the colourmap looked plausible.

Assumes

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 22 m and a metre at 5050 m are the same loss, so a network trained with an L1L_1 depth loss spends its capacity on the far field, where the geometry is least informative and the labels are worst. In disparity space, 1/Z1/Z 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.

Check yourself

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.

Euler View - ML Experiment Monitor