跳转至

MetricAnything: Scaling Metric Depth Pretraining with Noisy Heterogeneous Sources

会议: ECCV2026
论文: ECCV 原文
项目: MetricAnything
领域: 深度、法线与立体
关键词: 度量深度估计、异构数据预训练、稀疏深度提示、知识蒸馏、单目几何

一句话总结

MetricAnything 用随机稀疏深度提示组织约2000万异构图像深度对的预训练,再把条件教师的稠密伪标签蒸馏给纯 RGB 学生,在深度补全和单目度量深度上取得较好的平均排名,并展示依赖数据、提示与蒸馏设计共同作用的规模收益。

研究背景与动机

相对深度只需要判断远近和几何形状,度量深度还必须回答物体究竟离相机多少米。同样大小的像素投影可能来自不同焦距、不同物体尺寸或不同距离,因此增加图片数量并不自动消除尺度歧义。Depth Anything 已证明混合大量数据有利于相对深度;Metric3D、UniDepth、Depth Pro 等度量方法则需要处理相机参数、绝对尺度和细节恢复之间的耦合。

困难也不只是标注少。LiDAR、ToF、RGB-D、双目重建和渲染数据的有效区域、噪声形态及距离分布都不同:重建会在弱纹理或反光处失效,传感器会出现遮挡、时间错位和稀疏采样,合成数据虽然干净却缺少真实感。把这些数据直接混合,网络可能学到的是设备偏差而不是通用几何。已有提示式深度方法能借助少量已知距离,但常为特定传感器模拟提示形状,使任务设计与数据扩展绑定。

本文把稀疏度量观测当作统一的预训练条件,而不是某个补全任务的专用输入。已知距离为尺度提供锚点,图像负责补足未观测区域,教师随后把多来源噪声标签转换为更统一的监督,让学生在没有提示时也能使用学到的几何先验。核心 idea:先借助简单随机稀疏提示学会从异构数据恢复稠密度量几何,再通过适配伪标签特性的蒸馏把这种能力迁移到纯 RGB 预测。

方法详解

整体框架

系统分成有提示教师和无提示学生两个阶段。教师接收 RGB 图像与少量像素的真实距离,预测整幅图像的度量深度;学生训练时使用教师生成的伪深度,推理时只需要 RGB。作者分别训练输出深度图的 Student-DepthMap,以及由 MoGe-2 微调得到、输出点图的 Student-PointMap,两者不是同一个模型的两种评测名称。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Sources["重建、传感器与渲染数据"] --> Data["多源度量数据统一"]
    Data --> Prompt["稀疏度量提示准备"]
    RGB["RGB图像"] --> Prior["预训练深度先验"]
    Prior --> Prompt
    Prompt --> Teacher["条件教师预训练"]
    RGB --> Teacher
    Data -.->|训练监督| Teacher
    Teacher -->|生成稠密伪标签| Student["无提示学生蒸馏"]
    RGB --> Student
    Student --> Output["推理:仅RGB生成深度或点图"]
    Teacher --> PromptOutput["有提示推理:稠密度量深度"]

图中的提示准备不等于直接把几个点喂入 Transformer。它先利用预训练深度先验补齐条件,再将规则化条件送入 DPT 解码头;虚线是原始有效深度的训练监督,不是学生测试时可用的信息。项目所谓“无需手工提示”,主要指不需要针对任务人工设计采样形状,并不表示没有提示预处理或外部深度先验。

关键设计

1. 多源度量数据统一:把设备输出转成同一种监督接口

作者汇集重建、传感器采集和渲染三类开源3D数据,规模约2000万图像深度对,覆盖超过10000种相机模型。每幅深度图都伴随有效性掩码,记录哪些像素确实有测量;深度采用相机坐标系的轴向距离,而不是把所有传感器的原始距离直接混用。对原始点云,先用已知传感器到相机位姿和相机内参投影到像素平面,再得到对应深度和有效区域。因此,训练数据整理仍需要标定信息,不能把网络不依赖专用相机结构理解为原始数据无需标定。

三类数据承担互补作用:重建数据带来场景覆盖,但匹配失败会产生伪几何;实测数据提供绝对距离,却受稀疏度、材料反射和测量范围限制;渲染数据有锐利、干净的几何边界。有效性掩码只排除已知无效测量,并不能保证剩余点没有噪声。后续随机提示和鲁棒监督正是为仍然存在的错误设计,而非假设所有输入已经清洗成精确真值。

2. 稀疏度量提示准备:保留尺度锚点,同时规范不规则条件

训练时从有效像素中随机抽取2000至40000个位置,每个提示由像素坐标和该处度量深度组成。作者不专门模拟激光扫描线、规则低分辨率网格或某种雷达分布,让不同来源本身提供不同缺失模式。模型必须利用图像把稀疏距离传播到未观测区域,而不是只记住固定传感器的采样版式。测试时甚至可以输入仅100个点,但这属于比训练采样范围更稀疏的泛化设置,不是训练默认值。

不过,不规则点集还不能直接成为高效的二维条件。作者先用 Depth Pro 获取先验深度,再通过逐像素深度尺度对齐(PDSA)和全局度量深度恢复(GMDR)在先验引导下填补提示缺失区域,最后把两张处理后的图与提示掩码沿通道拼接,形成三通道条件。局部对齐与全局恢复提供不同尺度层面的校正信息,掩码则保留哪些位置有真实观测。正文没有展开两项操作的完整数值实现,因此不能把它们进一步描述成某个未经证实的拟合算法;可以确定的是,这一步不含可学习参数,仍可能传播噪声,必须交给教师继续修正。

3. 条件教师预训练:把纠错能力留给主干,而非加重提示分支

教师沿用 Depth Pro 风格的 ViT 与多尺度 DPT 解码器,用插值和浅层卷积构成条件化 DPT 头,将准备好的提示送入解码过程,新增参数约为原网络的5%。同时,原来的 patch encoder 与 image encoder 合并为共享 ViT。这样大部分参数仍用于从 RGB 学习几何和纠正错误,而不是让一个复杂条件分支承担所有预测工作。正文比较过的候选注入方式包括交叉注意力、AdaLN 和 ControlNet 式条件,但最终采用的是条件化解码头,不能把这些候选都画成实际模块。

稀疏点并非必须被无条件满足的硬约束。教师要识别提示中的异常值,结合图像结构生成更一致的稠密结果。对干净合成数据,训练同时约束深度值与梯度结构;对真实数据,剔除每幅图损失最大的20%区域,减少错误测量对优化的支配。这种鲁棒性来自数据和损失共同作用,不是随机采样本身能够自动去除所有传感器偏差。训练完成后,同一个教师可以接受低分辨率深度或稀疏观测做超分辨率与补全,不必针对每种测试提示重新训练。

4. 无提示学生蒸馏:监督变干净以后,也要改变学生的归纳偏置

教师在采集的真实图像上利用稀疏提示生成稠密伪标签,把不同来源、不同有效区域的标注转为统一预测,尤其补充原始传感器难以覆盖的远处背景。直接去掉教师的提示层再训练学生并不理想:直接深度损失容易损害细节,逆深度监督又会过度削弱远距离梯度。因此作者引入对数深度域的距离平衡监督,希望在近处结构与远处距离之间保留有效学习信号,平衡系数最终选为400。

网络连接也随监督质量变化。常规 U-Net 风格连接把浅层颜色、纹理特征送到靠近输出的解码阶段,在噪声标签下有稳定训练的作用,但也可能使预测过分依赖低层线索。本文反转 ViT 到 DPT 的跳跃连接安排,让深层语义特征进入更接近输出的解码层,浅层特征进入较早的解码层。作者认为统一且更干净的伪标签允许最后的预测更依赖语义几何。这个理由是有条件的:实验中,反转连接在原始真实标签上并不更好,所以它不是可无条件替换所有深度网络的结构改进。

一个完整示例

以一张有稀疏 LiDAR 深度的街景为例,训练时先确认投影有效位置,再随机留下2000个深度点。Depth Pro 先验给出全图形状,PDSA、GMDR 和掩码构成三通道条件,RGB 主干与条件化 DPT 共同预测车辆、路面以及没有直接测量的远处区域。教师仍通过有效深度接受监督,其中高损失区域的影响被削弱。

教师训练好以后,为这张图生成稠密伪标签;学生用这张图和伪标签学习,但不接收那2000个点。部署时,新图可以只输入 RGB 并输出度量深度。若部署本来就有稀疏传感器,则可以直接使用教师分支。这里的街景只是流程示例,不是论文额外报告的一条定量测试。

损失函数 / 训练策略

预训练对合成数据采用平均绝对误差(MAE)与尺度平移不变的平均绝对梯度误差(SSI-MAGE);对真实数据采用剔除高损失区域的鲁棒 MAE。缓存中的总损失式和距离平衡公式有符号缺损,这里不猜补精确运算符、权重或实现。正文支持“对数域监督”和系数400的选择,但仅凭损坏公式不足以严格复现作者宣称的距离权重机制。

教师使用144张 H200 训练100000步,预热10000步;ViT 峰值学习率为0.000001,DPT 与提示层为0.00001,新增提示卷积核和偏置零初始化。Student-DepthMap 的训练被作者称为“from scratch”,但 ViT 实际由 DINOv3 ViT-H+/16 初始化,只有 DPT 随机初始化;该模型在144张 H200 上训练200000步,预热5000步,ViT 与 DPT 峰值学习率分别为0.000002和0.00002。

Student-PointMap 则由 MoGe-2 全参数初始化,在80张 H200 上微调10000步,预热1000步,ViT 与 DPT 峰值学习率分别为0.0000025和0.000025。雷达融合、VLA 和 VLM 的迁移还各有下游训练设置,不能从单目深度的零样本评测推导出这些应用也完全无需适配。

实验关键数据

主实验

表1摘录原文表1的零样本深度超分辨率与补全结果:预训练教师直接处理未见测试集,不进行任务特定微调。AbsRel 是有效像素上绝对深度误差除以真值深度的平均值;表中以百分数表示,越低越好。8倍、16倍表示输入深度降采样倍率;Extreme 表示100个稀疏点。

数据集 / 提示 PriorDA AbsRel (%) MetricAnything AbsRel (%) 解释
KITTI / 8倍 4.54 2.34 超分辨率
KITTI / 16倍 8.20 3.53 更低分辨率输入
ETH3D / LiDAR 1.90 0.87 类激光扫描提示
ETH3D / Extreme 1.61 0.84 仅100点
NYUv2 / Extreme 2.01 2.08 此项落后于 PriorDA
全部12项平均排名 3.25 1.50 排名而非 AbsRel,越低越好

表2摘录原文表3的纯 RGB 零样本单目深度结果,使用 Student-DepthMap,不提供稀疏提示。\(\delta_1\) 是预测与真值之比及其倒数的较大者小于1.25的像素比例,以下按百分数报告,越高越好。

数据集 Depth Pro \(\delta_1\) (%) Metric3D-v2 \(\delta_1\) (%) Student-DepthMap \(\delta_1\) (%)
ETH3D 41.5 87.7 79.9
Booster 46.6 39.4 59.5
nuScenes 49.1 82.6 88.1
SunRGBD 89.0 75.6 97.7
Sintel 40.0 38.3 27.7
Middlebury 60.5 29.9 65.8

Student-DepthMap 在原文全体方法中的平均排名为1.50,但 ETH3D 与 Sintel 明显存在更强对手。两张表的优势都应理解为跨任务整体竞争力,而非逐数据集全面领先。

消融实验

表3对应原文表12,保持学生训练数据、训练日程与评测设置一致,报告 AbsRel 百分数,越低越好。这里是专门的组件消融实验,不应把其绝对误差与表2不同指标的数字直接拼接比较。

配置 Booster AbsRel (%) ETH3D AbsRel (%) 平均 AbsRel (%)
完整 MetricAnything 28.2 14.7 21.5
改用 PriorDA 式特定提示 34.1 33.2 33.7
仅用单一来源的合成 / 渲染数据 45.4 17.4 31.4
学生改回 U-Net 风格连接 39.7 32.0 35.9
去掉距离平衡损失 40.3 16.1 28.2

原文表13进一步显示,ETH3D 伪标签训练时反转连接把 Abs 从0.269降到0.182,但 RMSE 从1.440升到1.898;真实标签下 Abs 则从0.327变为0.334。结构收益确实依赖监督来源,而且不是所有误差指标同时改善。

关键发现

  • 数据扩展必须配合方法:第4.4节报告,教师从800万扩展至2000万样本时,完整方法 AbsRel 相对降低22.5%,受控 PriorDA 式基线反而恶化4.4%;对照采用相同100000训练步和评测协议。这是当前规模区间内的经验趋势,不是已经建立普适幂律。
  • 提示越密并非越划算:原文表15中 Hypersim 的提示点从500增至64000,AbsRel 从0.043降至0.031,耗时从224增至308毫秒,收益逐渐饱和。这支持训练采样范围的折中,但不意味着所有部署硬件有相同耗时。
  • 迁移结果需注明训练:原文表2中 nuScenes 的0至50米雷达融合 MAE 从从头训练的1335.4降到预训练后微调的651.4毫米;原文表8的 VSI-Bench 平均58.3来自额外使用200000问答对和4225规划实例微调的模型,并非零样本 VLM 分数。

亮点与洞察

  • 提示不仅用于推理时补充深度,也用于训练时统一异构监督。最可迁移的思想是用少量可信观测提供尺度条件,再通过教师建立较一致的稠密学习目标。
  • 蒸馏不只是压缩模型,而是改变监督分布。本文把连接方式与损失一起调整,提示了“适合噪声标签的架构”未必适合更干净、更长距离的伪标签。
  • 受控规模对照比单纯展示大模型更有说服力。它至少区分了增加数据与正确使用数据,但仍需更完整的计算量匹配实验解释成本收益。

局限与展望

  • 作者明确讨论的限制包括提示预处理对采样模式和噪声仍然敏感,以及常规学生损失与连接无法充分利用长距离伪标签;正文没有独立局限章节,不能把其方法动机当作所有问题均已解决的证据。
  • 本笔记的判断:方法依赖预训练深度先验、已标定的源数据以及大规模 H200 训练资源。所谓简洁主要是提示任务与网络改动较简洁,不等于数据处理和训练成本低。
  • 本笔记的判断:稠密伪标签在原传感器量程外仍是模型推断,不是新增实测真值。远距离结构可能继承教师偏差,值得加入距离分层置信度评估与独立长距离测量验证。
  • 复现边界:当前提供的是正文缓存,没有补充材料;部分公式和并列表格的文本抽取受损。本文未重建损坏公式,涉及更细的损失定义、数据划分和模型实现仍需原始材料支持。

相关工作与启发

  • 对比 Depth Pro:本文沿用其深度网络和部分监督设计,并用它生成提示准备阶段的先验;新意集中在异构数据预训练组织、轻量条件化及学生蒸馏,而不是重新发明整套深度主干。
  • 对比 PriorDA / PromptDA:共同点是用稀疏度量先验帮助预测。MetricAnything 将重点从特定任务提示工程转向随机提示与数据扩展,但仍借鉴先验对齐和条件化解码,不能说完全抛弃了已有处理链。
  • 对比 MoGe-2:它既是 Student-PointMap 的初始化,也是伪标签来源的受控基线。该设置说明教师监督可以迁移到点图预测,但学生收益不能完全归因于全新网络结构。
  • 研究启发:可进一步在固定训练算力下联合控制数据来源、提示噪声和距离范围,判断何时增加低质量数据仍然有益;这是本笔记提出的问题,不是论文已完成的结论。

评分

  • 新颖性: 4/5,核心价值在规模化预训练与蒸馏组合,单独组件多建立在已有方法上。
  • 实验充分度: 4/5,覆盖有提示、无提示和跨任务迁移,并有受控消融,但不同任务训练条件需仔细区分。
  • 写作质量: 3/5,主线清楚,部分全面领先的表述强于逐项结果,缓存公式也限制精确核验。
  • 价值: 4/5,为异构度量深度数据提供了可扩展路线,实际复现和部署成本仍高。