Feed-forward 3D reconstruction from a single Image or a set of [Image] views with Depth Anything 3. Recovers per-view [MetricDepthMap], [CameraIntrinsics], [CameraPose], or a fused PointCloud, selected downstream.
Typical backends
Camera trajectory and structure from video. Decode frames from a sweep and publish the recovered per-view poses and depth.
Dense cloud from stills. Fuse a set of overlapping images into one cloud and pass it to a downstream 3D consumer.
Mono geometry from one frame. A single image yields per-view depth and intrinsics at the identity pose, shipped over HTTP.
Caveats
- I/O contractThe input is a single image or a list of overlapping views, fixed at deploy time by the upstream connection; a single image is normalised to a one-element view set and runs the same reconstruction pass.
- AccuracyPoses and intrinsics are only meaningful relative to two or more overlapping views. A single image yields mono geometry up to a global scale at the identity pose, where the world frame coincides with the camera frame.
- Hard constraintThe pose, intrinsics and PointCloud arms require a posed or multi-view checkpoint; a monocular checkpoint that predicts no intrinsics or poses fails fast instead of emitting wrong geometry.
- AccuracyGeometry is in metres only with a metric checkpoint; an any-view checkpoint recovers geometry correct only up to one global scale.
- I/O contractPer-view outputs are produced at the model's processing grid rather than the source resolution, and the recovered intrinsics correspond to that grid; the confidence floor and point cap apply only to the fused PointCloud arm.
- I/O contractEach emitted CameraIntrinsics is the full pinhole record with fx, fy, cx, cy, a zero skew and an empty distortion list; the model predicts a pinhole camera and no lens distortion is fabricated.
- CostA GPU is strongly preferred; CPU inference works but is impractical for real-time use.
- State lifetimeThe checkpoint bundle is loaded from local files at startup, so the weights must be staged in the container before the first batch, and all config is captured once at startup.