Diffusion-based monocular depth estimator (Marigold) over each Image, emitting a deploy-time-resolved choice of an affine-invariant relative depth map or a greyscale depth Image. The depth is scale- and shift-invariant relative depth, never metric.
Typical backends
A live image stream is turned into a normalised greyscale depth view and streamed to the browser for inspection.
Relative depth from recorded frames feeds geometry that projects image points onto a ground plane, where ordinal depth ordering is enough.
Caveats
- I/O contractExactly one arm is produced, fixed at deploy time by the connected consumer; fan into two instances if a graph needs both the depth tensor and the visualisation
Image. - CompatibilityThe output is affine-invariant (scale- and shift-invariant) relative depth: values are monotone in true depth but carry no absolute scale, so it can never produce metric
MetricDepthMap metres and brightness is not comparable across frames. - Parameter interactionThe denoising step count must match the checkpoint: the default v1.1 DDIM head is tuned for 1-4 steps, while older v1.0 or non-LCM heads need around 10; too few steps on a full-schedule head degrades the depth.
- CostEnsembling averages several diffusion passes per frame for higher precision, multiplying per-frame latency and GPU memory proportionally; the default runs a single pass.
- AccuracyInference runs at a configurable longest-side resolution and the result is resampled back to the source frame, so the depth map and the visualisation share the input grid; setting that resolution to zero runs at native size.
- FallbackOn CUDA the pipeline loads in float16 (falling back to full precision when no fp16 weights ship) and silently runs on CPU in float32 when CUDA is unavailable, which is correct but impractically slow for a diffusion model.
- LatencyThe checkpoint is hot-swappable at runtime; a change pre-fetches the new snapshot, rebuilds the pipeline in place, and reclaims previous GPU memory.
- State lifetimeThe compute device is captured once at startup; switching between CPU and GPU requires a redeploy.
- Hard constraintGated or private checkpoints require an access token; the default public checkpoints need none.