Skip to content

Depth Anything V2

Depth Anything V2 是由 Depth Anything 团队 提出的 通用深度估计模型的第二个版本,旨在实现“万物皆可深度”的目标 —— 利用大规模数据预训练,让深度估计模型具备良好的通用性和泛化能力。

该模型于 2024 年提出,进一步提升了对多样场景的深度感知能力,支持零样本深度预测、图像-深度对生成、图像编辑等多种任务。


🔍 模型亮点

1. 🌐 通用深度估计能力

Depth Anything V2 在多种深度估计基准测试集(如 KITTI、NYU Depth V2、DIW、IBims)上展现了强大的零样本泛化能力。

2. 🧠 强大预训练 Backbone

采用 ViT(Vision Transformer)作为编码器,结合 大规模图像-深度对预训练数据,具备良好的特征提取能力和上下文建模能力。

3. 📦 多任务融合结构

模型在结构设计上支持融合深度估计、语义分割、图像恢复等任务的信息,体现了“视觉大模型”的趋势。


⚙️ 模型架构

模型整体架构如下:

  • Encoder:使用 Vision Transformer(ViT),可选 Tiny、Small、Base 等不同规模。
  • Decoder:融合局部细节与全局上下文,输出像素级深度图。
  • 训练策略:使用大规模训练集(如 Depth Anything Dataset),结合合成数据和真实世界图像。

支持输入图像尺寸范围为:

\[ \text{Input size} = H \times W,\quad \text{推荐为 } 384 \times 384 \]

📊 性能对比(Zero-shot)

在 NYU Depth V2 和 KITTI 上与主流方法比较(均为不调参的 zero-shot 测试):

模型 NYU RMSE ↓ KITTI AbsRel ↓ DIW δ < 1.25 ↑
DPT (MiDaS) 0.505 0.099 0.682
LeReS 0.471 0.102 0.683
Depth Anything V1 0.453 0.092 0.694
Depth Anything V2 0.417 0.085 0.731

🧪 使用示例

安装依赖后,快速运行推理:

git clone https://github.com/DepthAnything/Depth-Anything-V2.git
cd Depth-Anything-V2
pip install -r requirements.txt
python demo.py --image_path assets/demo.jpg --output_path output.png

🛠️ 应用场景

  • 自动驾驶:用于立体深度推断、3D重建等任务。
  • 增强现实(AR):支持真实场景中的物体遮挡、空间理解等。
  • 图像增强:如深度引导的图像修复、虚化、模糊恢复。
  • 机器人感知:增强机器人在未知环境中的空间建模能力。

🧩 与其他模型对比

模型名称 是否通用预训练 支持零样本 编码器类型 是否开源
LeReS ResNet
MiDaS ViT/DPT
DPT Transformer
Depth Anything V2 ✅ 是 ✅ 是 ✅ ViT ✅ 是

📚 Ref