---
title: "Depth Any Panoramas"
description: "Depth Any Panoramas from Insta360 (Research Team): panoramic-depth-estimation and metric-depth-estimation; Verified."
modelId: "dap"
pageSource: authored
---

Depth Any Panoramas (DAP) is Insta360's metric depth estimator for panoramic images — full 360° depth from a single equirectangular input. In this catalog it is a verified geometry prior: runner parity passed through the shared geometry-prior contract, with weights at Insta360-Research/DAP-weights.

<ModelPaperFigures modelId="dap" locale="en" />

The recorded paper is [arXiv 2512.16913](https://arxiv.org/abs/2512.16913).

Project page: [insta360-research-team.github.io/DAP_website](https://insta360-research-team.github.io/DAP_website/). Code: [Insta360-Research-Team/DAP](https://github.com/Insta360-Research-Team/DAP).

The backbone is **DINOv3-Large** with a DPT-style decoder. A dense metric depth head is paired with a plug-and-play **range-mask** head that marks pixels beyond a confident distance (the cards discuss thresholds such as 10 / 20 / 50 / 100 m). Zero-shot numbers in the paper are reported on Stanford2D3D, Matterport3D, and Deep360 — upstream, not a WorldFoundry scorecard.

<ModelCommandBuilder modelId="dap" locale="en" />

## What it is for

Pick `dap` for feed-forward geometry: views in, reconstruction / trajectory / point cloud out. Use it when you need the catalog 3D route rather than a depth-only prior.

A Depth-Anything-family backbone adapted to panoramic inputs and metric output. It lives under base_models/three_dimensions/depth as an independent prior; ViPE imports it from this canonical owner. Details beyond the recorded structure are not stored here. It is published by Insta360 (Research Team).

Catalog tasks include panoramic-depth-estimation, metric-depth-estimation, and geometry-prior. Catalog aliases include `depth-any-panoramas` and `insta360-dap`. Documented modalities: image in, depth out.

Feed one equirectangular `image`, get `dap-depth.npz`. Aliases `depth-any-panoramas` and `insta360-dap` resolve here. Higher-level pipelines such as ViPE are supposed to **import this canonical owner**, not keep a private copy. For ordinary pinhole photos use the Depth Anything V2/V3 priors instead.

## Runtime contract

Optional `input_path`, `input_size`, `execute`, `max_points`, and `focal_length`; artifacts `dap-depth.npz`.

CLI task profiles: `default`. WorldFoundry binds `DAPPipeline`.

Family status: **Verified**.

It is integrated as an independent geometry prior under worldfoundry/base_models and exposed through the shared geometry-prior pipeline/operator contract. Higher-level pipelines (e.g. ViPE) import it from this canonical owner instead of keeping private copies.

Integrated as an independent geometric prior at worldfoundry/base_models/three_dimensions/depth/depth_anything/depth_anything_v1.

## Running in WorldFoundry

The catalog launch is `worldfoundry-eval run dap --pipeline.task-profile default`. The command builder above switches `--pipeline.task-profile` among recorded tasks and still emits `worldfoundry-eval run`.

It runs in the unified environment `worldfoundry-unified-cu128` (Python 3.11, CUDA 12.8).

Recorded weight repositories include `Insta360-Research/DAP-weights`. Prepare the environment and check local assets with `bash scripts/inference/prepare_model_infer.sh dap`. Add `--download` to fetch missing public checkpoints.

Status: **Verified**.

<ModelRelatedRecipes modelId="dap" locale="en" />
