Depth-Anything-3

GitHub
4.9k 505 中等 6 次阅读 今天Apache-2.0图像其他
AI 解读 由 AI 自动生成,仅供参考

Depth Anything 3 是一款先进的开源视觉几何模型,致力于从任意视角的图像或视频中精准恢复三维空间深度信息。它能够灵活处理单目图像及多视图序列,即便在缺乏相机姿态参数的情况下,依然能生成空间一致性的深度图。这一特性有效解决了传统深度估计方法往往需要复杂的多任务学习架构或特定场景训练的限制,实现了极简而高效的技术路径。

对于计算机视觉开发者、算法研究人员以及涉及 3D 重建、自动驾驶或机器人导航的团队而言,Depth Anything 3 提供了强有力的基础支持。其核心亮点在于仅需一个标准的 Transformer 骨干网络,配合创新的深度射线表示法,便能在性能上超越前代产品及同类竞品。特别值得一提的是,新增的流式推理功能让超长视频序列的深度分析成为可能,且显存占用极低。所有模型均基于公开学术数据集训练,兼具通用性与可靠性,是探索视觉感知技术的理想选择。

使用场景

某自动驾驶研发团队正在优化巡检机器人的室内建图模块,核心目标是利用普通摄像头替代昂贵传感器实现环境感知。

没有 Depth-Anything-3 时

  • 必须搭载昂贵的激光雷达才能获取准确深度信息,导致单机硬件成本居高不下。
  • 传统多视角融合算法逻辑复杂,推理速度慢,难以满足实时动态导航的延迟要求。
  • 处理长视频序列时显存占用过大,经常导致程序崩溃中断,无法连续作业。
  • 针对不同场景需反复微调模型,缺乏通用性,部署周期长达数周且维护困难。

使用 Depth-Anything-3 后

  • 仅凭单目或双目摄像头即可恢复高精度几何结构,大幅降低硬件门槛与采购成本。
  • 统一架构同时支持单目与多视图估计,简化了工程管线并显著提升推理效率。
  • 借助流式推理功能,在有限显存下稳定处理超长监控视频流,确保持续运行。
  • 基于公开数据集预训练,无需额外标注数据即可直接落地应用,缩短交付时间。

Depth-Anything-3 让普通摄像头也能具备专业级的实时三维空间理解能力,彻底改变了视觉感知系统的构建方式。

运行环境要求

操作系统
  • 未说明
GPU

需要 NVIDIA GPU 及 CUDA 环境,流式推理建议显存小于 12GB

内存

未说明

依赖
notes推荐使用 -1.1 后缀的模型权重以修复训练 bug;支持滑动窗口处理超长视频;模型文件需从 Hugging Face 下载
python3.10+
torch>=2
torchvision
xformers
gsplat
gradio
Depth-Anything-3 hero image

快速开始

Depth Anything 3:从任意视角恢复视觉空间

Haotong Lin* · Sili Chen* · Jun Hao Liew* · Donny Y. Chen* · Zhenyu Li · Guang Shi · Jiashi Feng
Bingyi Kang*†

†项目负责人 *同等贡献

论文 PDF 项目页面

本工作提出了 Depth Anything 3 (DA3),该模型能够从任意视觉输入中预测空间一致的几何结构,无论是否已知相机位姿。 为了追求极简建模,DA3 得出了两个关键见解:

  • 💎 一个单一的普通 Transformer 网络(例如标准 DINO 编码器)就足以作为骨干网络,无需架构上的专门设计,
  • ✨ 一种单一的深度 - 射线表示法消除了对复杂多任务学习的需求。

🏆 DA3 在单目深度估计方面显著优于 DA2, 并在多视图深度估计和位姿估计方面优于 VGGT。 所有模型均仅在公开学术数据集上训练。

Depth Anything 3 - Left

Depth Anything 3

📰 新闻

  • 2025-11-12: 🚀 发布新模型和 DA3-Streaming!通过滑动窗口流式推理处理超长视频序列推理,且 GPU 显存占用低于 12GB。特别感谢 Kai Deng 对 DA3-Streaming 的贡献!
  • 2025-08-12: 📊 基准评估流程 发布!在 5 个数据集上评估位姿估计和 3D 重建。
  • 2025-11-30: 添加 use_ray_poseref_view_strategy(用于多视图输入的参考视图选择)。
  • 2025-11-25: 添加 Awesome DA3 Projects,这是一个社区驱动的板块,展示基于 DA3 的应用。
  • 2025-11-14: 论文、项目页面、代码和模型均已发布。

✨ 亮点

🏆 模型库

我们发布了三个系列的模型,每个系列都针对视觉几何中的特定用例进行了定制。

  • 🌟 DA3 主系列 (DA3-Giant, DA3-Large, DA3-Base, DA3-Small) 这些是我们的旗舰基础模型,使用统一的深度 - 射线表示法训练。通过改变输入配置,单个模型可以执行广泛的任务:

    • 🌊 单目深度估计:从单张 RGB 图像预测深度图。
    • 🌊 多视图深度估计:为高质量融合生成来自多张图像的一致性深度图。
    • 🎯 位姿条件深度估计:当提供相机位姿作为输入时,实现卓越的一致性深度估计。
    • 📷 相机位姿估计:从一张或多张图像中估计相机的外参和内参。
    • 🟡 3D 高斯估计:直接预测 3D 高斯分布,实现高保真的新视图合成。
  • 📐 DA3 度量系列 (DA3Metric-Large) 专为单目设置下的度量深度估计而微调的专用模型,适用于需要真实世界尺度的应用。

  • 🔍 DA3 单目系列 (DA3Mono-Large)。专用于高质量相对单目深度估计的模型。与基于视差的模型(如 Depth Anything 2)不同,它直接预测深度,从而具有更优越的几何精度。

🔗 利用这些可用模型,我们开发了一个嵌套系列 (DA3Nested-Giant-Large)。该系列结合任意视图巨型模型和度量模型,以真实世界度量尺度重建视觉几何。

🛠️ 代码库特性

我们的仓库旨在成为一个强大且用户友好的工具包,适用于实际应用和未来研究。

  • 🎨 交互式 Web UI 与画廊:通过易于使用的基于 Gradio 的 Web 界面可视化模型输出并比较结果。
  • 灵活的命令行界面 (CLI):功能强大且可脚本化的命令行界面,用于批处理和集成到自定义工作流中。
  • 💾 多种导出格式:将结果保存为各种格式,包括 glb, npz, 深度图像,ply, 3DGS 视频等,以便与其他工具无缝连接。
  • 🔧 可扩展和模块化设计:代码库的结构便于未来研究和集成新模型或功能。

🚀 快速开始

📦 安装

pip install xformers torch\>=2 torchvision
pip install -e . # Basic
pip install --no-build-isolation git+https://github.com/nerfstudio-project/gsplat.git@0b4dddf04cb687367602c01196913cde6a743d70 # for gaussian head
pip install -e ".[app]" # Gradio, python>=3.10
pip install -e ".[all]" # ALL

有关详细的模型信息,请参阅下方的 模型卡片 (Model Cards) 部分。

💻 基本用法

import glob, os, torch
from depth_anything_3.api import DepthAnything3
device = torch.device("cuda")
model = DepthAnything3.from_pretrained("depth-anything/DA3NESTED-GIANT-LARGE")
model = model.to(device=device)
example_path = "assets/examples/SOH"
images = sorted(glob.glob(os.path.join(example_path, "*.png")))
prediction = model.inference(
    images,
)
# prediction.processed_images : [N, H, W, 3] uint8   array
print(prediction.processed_images.shape)
# prediction.depth            : [N, H, W]    float32 array
print(prediction.depth.shape)  
# prediction.conf             : [N, H, W]    float32 array
print(prediction.conf.shape)  
# prediction.extrinsics       : [N, 3, 4]    float32 array # opencv w2c or colmap format
print(prediction.extrinsics.shape)
# prediction.intrinsics       : [N, 3, 3]    float32 array
print(prediction.intrinsics.shape)

export MODEL_DIR=depth-anything/DA3NESTED-GIANT-LARGE
# This can be a Hugging Face repository or a local directory
# If you encounter network issues, consider using the following mirror: export HF_ENDPOINT=https://hf-mirror.com
# Alternatively, you can download the model directly from Hugging Face
export GALLERY_DIR=workspace/gallery
mkdir -p $GALLERY_DIR

# CLI auto mode with backend reuse
da3 backend --model-dir ${MODEL_DIR} --gallery-dir ${GALLERY_DIR} # Cache model to gpu
da3 auto assets/examples/SOH \
    --export-format glb \
    --export-dir ${GALLERY_DIR}/TEST_BACKEND/SOH \
    --use-backend

# CLI video processing with feature visualization
da3 video assets/examples/robot_unitree.mp4 \
    --fps 15 \
    --use-backend \
    --export-dir ${GALLERY_DIR}/TEST_BACKEND/robo \
    --export-format glb-feat_vis \
    --feat-vis-fps 15 \
    --process-res-method lower_bound_resize \
    --export-feat "11,21,31"

# CLI auto mode without backend reuse
da3 auto assets/examples/SOH \
    --export-format glb \
    --export-dir ${GALLERY_DIR}/TEST_CLI/SOH \
    --model-dir ${MODEL_DIR}

模型架构定义在 DepthAnything3Net 中,并通过位于 src/depth_anything_3/configs 的 YAML 配置文件指定。输入和输出处理由 DepthAnything3 处理。要自定义模型架构,只需创建一个新的配置文件(例如,path/to/new/config)如下:

__object__:
  path: depth_anything_3.model.da3
  name: DepthAnything3Net
  args: as_params

net:
  __object__:
    path: depth_anything_3.model.dinov2.dinov2
    name: DinoV2
    args: as_params

  name: vitb
  out_layers: [5, 7, 9, 11]
  alt_start: 4
  qknorm_start: 4
  rope_start: 4
  cat_token: True

head:
  __object__:
    path: depth_anything_3.model.dualdpt
    name: DualDPT
    args: as_params

  dim_in: &head_dim_in 1536
  output_dim: 2
  features: &head_features 128
  out_channels: &head_out_channels [96, 192, 384, 768]

然后,可以使用以下代码片段创建模型。

from depth_anything_3.cfg import create_object, load_config

Model = create_object(load_config("path/to/new/config"))

📚 有用文档

🗂️ 模型卡片

通常情况下,您会观察到 DA3-LARGE 取得了与 VGGT 相当的结果。

Nested 系列使用 Any-view 模型(任意视角模型)来估计姿态和深度,并使用单目度量深度估计器 (monocular metric depth estimator) 进行缩放。

⚠️ 带有 -1.1 后缀的模型是在修复训练错误后重新训练的;请优先使用这些更新后的检查点 (checkpoints)。原始的 DA3NESTED-GIANT-LARGEDA3-GIANTDA3-LARGE 仍然可用,但已被弃用。使用 -1.1 模型时,您可以期待在街景场景中获得更好的性能。

🗃️ 模型名称 📏 参数量 📊 相对深度 📷 姿态估计 🧭 姿态条件 🎨 GS (高斯泼溅) 📐 度量深度 ☁️ 天空分割 📄 许可证
Nested 系列
DA3NESTED-GIANT-LARGE-1.1 1.40B CC BY-NC 4.0
DA3NESTED-GIANT-LARGE 1.40B CC BY-NC 4.0
任意视角模型 (Any-view Model)
DA3-GIANT-1.1 1.15B CC BY-NC 4.0
DA3-GIANT 1.15B CC BY-NC 4.0
DA3-LARGE-1.1 0.35B CC BY-NC 4.0
DA3-LARGE 0.35B CC BY-NC 4.0
DA3-BASE 0.12B Apache 2.0
DA3-SMALL 0.08B Apache 2.0
单目度量深度 (Monocular Metric Depth)
DA3METRIC-LARGE 0.35B Apache 2.0
单目深度 (Monocular Depth)
DA3MONO-LARGE 0.35B Apache 2.0

❓ 常见问题

  • 单目度量深度 (Monocular Metric Depth):要从 DA3METRIC-LARGE 获取以米为单位的度量深度,请使用 metric_depth = focal * net_output / 300.,其中 focal 是以像素为单位的焦距(通常是相机内参矩阵 K 中 fx 和 fy 的平均值)。注意 DA3NESTED-GIANT-LARGE 的输出已经是米为单位。

  • 射线头 (use_ray_pose):我们的 API 和 CLI 支持 use_ray_pose 参数,这意味着模型将从射线头推导相机姿态,这通常稍慢一些,但更准确。注意默认值为 False 以获得更快的推理速度。

    DA3NESTED-GIANT-LARGE 的 AUC3 结果
    模型 HiRoom ETH3D DTU 7Scenes ScanNet++
    ray_head 84.4 52.6 93.9 29.5 89.4
    cam_head 80.3 48.4 94.1 28.5 85.0
  • 不支持 XFormers 的旧 GPU:请参阅 Issue #11。感谢 @S-Mahoney 提供的解决方案!

🏢 优秀的 DA3 项目

这是一个由社区整理的 Depth Anything 3 集成列表,涵盖 3D 工具、创意管线、机器人以及 Web/VR 查看器等领域,包括但不限于以下项目。欢迎您通过 PR 提交基于 DA3 的项目,如果适用,我们将审核并展示。

  • DA3-blender: 用于从一组图像进行基于 DA3 的 3D 重建的 Blender 插件。

  • ComfyUI-DepthAnythingV3: Depth Anything 3 的 ComfyUI 节点,支持单/多视图和视频一致深度,可选导出点云。

  • DA3-ROS2-Wrapper: 支持多摄像头的 ROS2 实时 DA3 深度。

  • DA3-ROS2-CPP-TensorRT: DA3 ROS2 C++ TensorRT 推理节点:一个使用 TensorRT 进行实时推理的 DA3 深度估计 ROS2 节点。

  • VideoDepthViewer3D: 将带有 DA3 度量深度的视频流式传输到 Three.js/WebXR 3D 查看器,用于 VR/立体播放。

🧑‍💻 官方代码库核心贡献者与维护者


Bingyi Kang

Haotong Lin

Sili Chen

Jun Hao Liew

Donny Y. Chen

Kai Deng

📝 引用

如果您在研究或项目中发现 Depth Anything 3 有用,请引用我们的工作:

@article{depthanything3,
  title={Depth Anything 3: Recovering the visual space from any views},
  author={Haotong Lin and Sili Chen and Jun Hao Liew and Donny Y. Chen and Zhenyu Li and Guang Shi and Jiashi Feng and Bingyi Kang},
  journal={arXiv preprint arXiv:2511.10647},
  year={2025}
}

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

tesseract

Tesseract 是一款历史悠久且备受推崇的开源光学字符识别(OCR)引擎,最初由惠普实验室开发,后由 Google 维护,目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据,有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题,是数字化归档和信息自动化的重要基础工具。 在技术层面,Tesseract 展现了强大的适应能力。从版本 4 开始,它引入了基于长短期记忆网络(LSTM)的神经网络 OCR 引擎,显著提升了行识别的准确率;同时,为了兼顾旧有需求,它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码,开箱即用即可识别超过 100 种语言,并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面,它灵活支持纯文本、hOCR、PDF、TSV 等多种格式,方便后续数据处理。 Tesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库(libtesseract),不包含图形用户界面(GUI),因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中

73.3k|★★☆☆☆|3天前
开发框架图像