Depth Anything

义项:单目深度估计模型
Depth Anything

Depth Anything 是由香港大学、TikTok 等机构研究者提出的单目深度估计模型系列,可根据单张图像预测场景中各像素的相对远近[1]。首版论文于 2024 年 1 月公开,并入选 CVPR 2024,其核心做法是用 6200 万级无标注图像扩大训练数据覆盖面,从而提升模型在未见场景中的泛化能力[2]。后续的 V2 与 DA3 版本分别改进了细节精度与多视角几何重建能力[3][4]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

Depth Anything 是一个面向单目深度估计(MDE)的基础模型系列,任务是在只输入一张普通 RGB 图像的条件下,估计画面中每个像素的相对深度,输出通常以视差图或深度图形式给出[1]。它的设计目标不是引入复杂的新模块,而是以尽可能简单的结构构建一个能处理任意图像、适应各种拍摄条件的通用深度模型[1]。

该系列最初以 Depth Anything V1 的名称发布,后续扩展为 V2 与 Depth Anything 3(DA3)等版本,形成一个包含不同参数规模与不同任务分支的模型族[5][4]。在通常语境下,「Depth Anything」既指 2024 年的初代模型,也泛指以此为基础延续的整个系列。

原理

初代模型沿用 DPT 式的编码器—解码器结构,编码器以 DINOv2 预训练权重初始化,解码器将特征还原为稠密深度预测。训练时先把深度值按 $d = 1/t$ 换算到视差空间并在每张图上归一化,再采用仿射不变损失,使不同数据集之间未知的尺度与偏移不再影响监督[6]。

其训练流程属于教师—学生式的自训练。研究者先用约 150 万张来自 6 个公开数据集的标注图像训练教师模型,再由教师为无标注图像生成伪深度标签,最后在标注数据与伪标注数据的并集上训练学生模型[6]。直接混入伪标签并未带来增益,因此研究者在无标注分支上加入强色彩失真与 CutMix 等空域扰动,迫使学生模型在更难的优化目标下学习不变的视觉表征[7]。

为保留预训练编码器的语义能力,模型还在学生编码器与冻结编码器之间施加特征对齐损失,把语义先验迁移到深度任务上,而不必再设置额外的语义分割分支[6]。这一辅助约束使同一编码器在完成深度估计之外,还具备中级与高级视觉感知的多任务能力[6]。

发展历程

2024 年 1 月 22 日,初代 Depth Anything 的论文、项目主页、代码、模型与在线演示一并公开[2]。同月,基于该模型构建的 ControlNet 被集成进 ControlNet WebUI 与 ComfyUI,随后又被 InstantID、InvokeAI 采用为默认深度处理器[2]。2024 年 2 月,该论文被 CVPR 2024 接收[2]。

同年初代论文显示,模型在 6 个公开数据集和随机拍摄照片上的零样本评估中超过 MiDaS-BEiT L-512,经 NYUv2 与 KITTI 的度量深度数据微调后进一步超过 ZoeDepth[6]。2024 年 6 月 13 日,Depth Anything V2 提交至预印本平台,提出用纯合成图像训练教师、扩大教师容量、再以大规模伪标注真实图像指导学生三项做法,模型规模覆盖 2500 万至 13 亿参数[3]。

2025 年 11 月 27 日,字节跳动 Seed 团队发布 Depth Anything 3,将单目深度估计扩展至任意数量、可含未知相机位姿的视角输入[4]。该版本以单个普通 Transformer 为骨干,配合跨视图自注意力与双 DPT 头,同时预测深度图与射线图[4]。

应用

深度信息是三维感知的基础,该系列模型被用于三维重建、自动驾驶、机器人、虚拟现实与建筑测绘等场景[4]。在生成式图像与视频流程中,它输出的深度图可作为 ControlNet 等模型的条件输入,用于控制构图与空间关系[2]。

由于模型体积可控,也有嵌入式方案将其移植到开发板上,从摄像头画面实时生成伪彩色深度图,用于移动设备上的深度感知实验[8]。在 DA3 的设计中,同一套输出还可转换为点云、三维高斯等格式,供新视角合成与场景重建使用[9]。

局限

初代模型的深度标签部分来自传感器、立体匹配与运动恢复结构,这些方式在透明、反光表面或纹理不足区域容易失效,会削弱模型对物体边界与细薄结构的刻画[10]。V2 因此改用合成图像提供精确深度监督,但合成图像与真实画面之间存在域差异,需要更大的教师模型来弥合[3]。

默认输出为相对深度而非绝对尺度,其数值范围随图像内容浮动,在视频连续帧上会出现深度值轻微跳动的闪烁现象[8]。模型计算量较大,在嵌入设备上通常需要降低输入分辨率使用[8]。DA3 的模型卡也注明,其训练数据限于公开学术数据集,在特定领域图像上可能表现受限,效果还会受图像质量、光照条件与场景复杂度影响[9]。

参见

  • 单目深度估计 —— Depth Anything 所解决的核心视觉任务,即从单张图像推断像素深度。

  • DINOv2 —— 该系列模型编码器所依赖的自监督视觉预训练模型。

  • DPT —— Depth Anything 采用的稠密预测解码结构来源。

  • MiDaS —— 早期在混合深度数据集上训练的深度估计模型,被初代工作作为对比基线。

  • ControlNet —— 以 Depth Anything 输出的深度图为条件的生成模型控制方式。

  • Segment Anything —— 初代工作名称的致敬对象,同属通用视觉基础模型。

参考资料

  1. pub [引用日期2026-10-29]
  2. README [引用日期2026-10-29]
  3. Depth Anything V2 [引用日期2026-10-29]
  4. Depth Anything 3:单一 Transformer 架构实现任意视角空间重建 [引用日期2026-10-29]
  5. license: apache-2.0 [引用日期2026-10-29]
  6. paper(PDF) [引用日期2026-10-29]
  7. Depth Anything:致敬SAM,港大&字节提出用于任意图像的深度估计大模型,已开源! [引用日期2026-10-29]
  8. MaixPy [引用日期2026-10-29]
  9. library_name: depth-anything-3 [引用日期2026-10-29]
  10. Depth Anything V2 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:38:40Z

历史版本

本条目引用的词条
DPT DINOv2 自动驾驶 单目深度估计 MiDaS ControlNet Segment Anything