Depth Anything 3
Lin 2025 · 论文
一句话总结 — 一个单一的普通Transformer(原始DINOv2,未做架构特化),仅在一个最小化目标上训练——逐视角深度图加逐像素光线图——即可从任意数量的视角(无论是否已知位姿)恢复一致的几何结构与相机位姿,平均位姿精度超越VGGT 35.7%、几何精度超越23.6%,同时在单目深度上也超越了Depth Anything V2。
问题
单目深度、SfM、MVS和SLAM都是从图像中恢复三维结构,彼此的区别往往只是输入视角的数量——然而该领域却为每一种任务都构建了专门的模型。近期的统一模型(DUSt3R、VGGT)存在关键局限:复杂的定制架构、从零开始的多任务联合优化,以及无法充分利用大规模预训练骨干网络。DA3提出了两个最小化建模的问题,并对二者都给出了肯定的回答:(1) 是否存在一个最小的预测目标集合,还是必须对众多三维任务进行联合建模?(2) 单一的普通Transformer是否足够?第二个障碍在于数据:真实世界的深度(COLMAP、主动传感器)带有噪声且不完整,而单靠干净的合成深度又无法将相机位姿估计泛化到真实世界。
方法与架构
深度-光线表示。 对于张输入图像,模型为每个视角预测一张深度图和一张光线图——每个像素存储一个光线起点和未归一化的方向(其模长保留了投影尺度),从而避开了直接回归所带来的正交性约束。世界坐标点由此只是逐元素的组合:
相机参数可从光线图中恢复:光心为光线起点的均值;又因为定义了一个单应矩阵,通过DLT求解并做RQ分解即可得到。由于这一步在推理时开销较大,一个轻量级相机头会从每个视角的一个相机token中预测视场角、四元数和平移(约占骨干网络计算量的0.1%)。消融实验表明,深度+光线的组合使Auc3相比深度+相机的组合几乎翻倍,并优于点图或冗余的多目标设置。
- 单一Transformer骨干网络:一个预训练的ViT(原始DINOv2),具备输入自适应的跨视角自注意力——没有架构改动,只是token的重新排列。前层在每张图像内部进行注意力计算;其余层交替进行跨视角与视角内注意力()。当只有一张图像时,它会自然地退化为一个单目深度模型,且不增加任何额外开销。
- 相机条件注入:每个视角前面都会加上一个相机token——若位姿已知,则该token为一个编码的MLP输出;若位姿未知,则为一个共享的可学习token——从而使有位姿和无位姿的输入可由同一个模型处理(训练中以0.2的概率激活该条件)。
- 双DPT头:深度分支与光线分支共享重组(reassembly)模块,仅在融合层上有所不同,从而促使两种预测之间相互作用;将其消融为两个独立的DPT头会持续降低性能。
- 师生训练:一个单目相对深度教师模型(DINOv2 + DPT,纯粹在合成数据上训练,预测指数深度而非DA2的视差)为真实世界数据生成稠密伪标签,并通过RANSAC最小二乘尺度-偏移对齐到稀疏/带噪声的度量深度:。这样既保留了位姿-深度的一致性,又增添了DA2级别的细节。
- 损失函数:按有效点的平均L2范数归一化,,其中——包括对深度、光线图和组合点图的置信度加权L1项,外加相机损失和深度梯度损失。
仅在公开学术数据集上训练:128块H100 GPU,20万步,基础分辨率504x504,每个样本2-18个视角,在12万步时从真值标签切换为教师标签。同样的方案还产出了一个单目学生模型、一个度量深度模型,以及一个前馈式3DGS变体(额外的GS-DPT头预测像素对齐的高斯参数)。
实验结果
- 全新的视觉几何基准(HiRoom、ETH3D、DTU、7Scenes、ScanNet++——89个以上场景):在20种设置中的18种上取得最先进水平;平均而言相机位姿精度比此前的SOTA VGGT高35.7%,几何精度高23.6%(摘要)。
- 位姿(Auc3):在HiRoom上,DA3-Giant(11.0亿参数)得分80.3,对比VGGT(11.9亿参数)的49.1和Pi3的67.0;在ScanNet++上为85.0对比62.6(相对第二名提升33%);相比所有基线,Auc3至少有8%的相对提升。
- 重建:平均相对VGGT提升25.1%,相对Pi3提升21.5%;DA3-Large(3.0亿参数骨干网络),规模只有VGGT的三分之一,在10种设置中的5种上仍能胜过它。
- 单目深度():DA3得分为KITTI 95.3、NYU 97.4、SINTEL 75.5、ETH3D 98.6、DIODE 95.4,全面超过DA2(94.6/97.9/77.2/86.5/95.2);单目学生模型达到97.1/98.0/82.3/98.8/96.5,在ETH3D上比DA2高出10%以上。DA3-metric在ETH3D度量深度上取得SOTA(为0.917,对比UniDepthv2的0.863)。
- 前馈式新视角合成(NVS):微调后的DA3在DL3DV上达到21.33 PSNR,对比VGGT骨干网络的20.96和专用模型DepthSplat的19.24——几何质量直接转化为渲染质量。
- 效率:在A100上以504x336分辨率运行,DA3-Giant每张图像37.6 FPS,对比VGGT的34.1;单块80 GB A100可处理900-1000张图像,而VGGT只能处理400-500张(DA3-Large:78.4 FPS,1500-1600张图像)。规模相当的VGGT风格双Transformer架构性能会降至单骨干网络架构的79.8%——这一差距归因于完整预训练与三分之二未预训练模块之间的差异。
对SLAM的意义
DA3将本路线图追踪的两条深度几何脉络合而为一。作为Depth Anything V2的继任者,它为稠密单目SLAM提供了更强的即插即用单目深度先验——其度量变体更是直接解决了尺度问题。作为DUSt3R/VGGT风格的任意视角模型,它输出的正是SLAM系统所需的前端量——逐视角一致的深度加上可在一次前向传播中融合为干净点云的相机位姿——其位姿精度更高,视角容量也大约是VGGT的两倍,这对VGGT-SLAM这类基于子地图的系统很重要(论文将此类SLAM应用列为该模型家族的使用方)。相机token条件化对SLAM而言尤其值得关注:跟踪器的位姿估计可以被注入以改善几何估计,而不必从零重新估计。需要诚实指出的局限:DA3是前馈式重建,而非SLAM——没有回环检测、重定位或全局光束法平差;输出是尺度归一化的而非度量尺度(度量变体除外);动态场景也被明确留待未来工作解决。
相关条目
- Depth Anything V2 — 单目前代版本,DA3将其合成教师/伪标签学生的方案推广到任意视角几何
- DUSt3R — 前馈式点图回归的起源;DA3认为深度+光线是更好的最小化目标
- VGGT — 此前的任意视角SOTA,采用多阶段架构和冗余目标,被DA3的普通Transformer所超越