MetricAnything:利用噪声异构源扩展度量深度预训练 MetricAnything: Scaling Metric Depth Pretraining with Noisy Heterogeneous Sources
通过稀疏度量提示实现大规模异构3D数据预训练,首次在度量深度估计领域展示scaling趋势
前置知识
单目深度估计(Monocular Depth Estimation)
从单张RGB图像预测场景中每个像素到相机的距离。相对深度估计只需预测像素间的远近顺序关系,而度量深度估计需要预测真实的物理距离(以米为单位)。度量深度估计是连接2D视觉感知与3D物理世界的桥梁,对机器人、自动驾驶、AR等应用至关重要。
本文的核心任务就是度量深度估计,理解相对深度与度量深度的区别是理解本文动机的关键
稀疏度量提示(Sparse Metric Prompts)
从完整深度图中随机采样少量像素点(约1%),形成包含坐标和深度值的三元组集合 $P = \{(x_i, y_i, d_i)\}$。这些稀疏点作为条件输入,引导模型恢复完整的稠密深度图。类似于给模型提供锚点信息,让模型学习如何从少量已知深度推断全局几何结构。
这是本文方法的核心设计,通过随机掩码生成提示来解耦空间推理与传感器偏差,实现从噪声数据中学习
ViT-DPT架构
Vision Transformer(ViT)作为编码器提取图像特征,Dense Prediction Transformer(DPT)作为解码器将特征上采样为稠密预测。ViT通过自注意力机制捕获全局上下文信息,DPT通过多尺度融合生成高分辨率输出。这种架构组合已成为深度估计领域的主流选择。
本文基于此架构提出逆向跳跃连接改进,并将其作为教师和学生模型的骨干网络
Scale-and-Shift-Invariant损失(SSI)
一种对预测深度和真值进行归一化的损失函数,通过中位数绝对偏差(MAD)消除尺度和偏移的差异。公式为:$\tilde{C} = \frac{C - \text{median}(C)}{\text{MAD}(C)}$,其中 $\text{MAD}(C) = \text{median}(|C - \text{median}(C)|)$。这使得模型可以在不同数据集间迁移学习,即使各数据集的深度范围和单位不一致。
本文在合成数据和伪标签生成中广泛使用此损失,是实现跨数据集训练的关键技术
知识蒸馏(Knowledge Distillation)
将大型教师模型的知识转移到小型学生模型的训练方法。在本文中,教师模型(接受稀疏提示输入)生成高质量伪标签,然后用于训练学生模型(仅接受RGB图像输入)。这样学生模型无需提示就能进行度量深度预测,同时继承教师的度量感知能力。
本文通过蒸馏实现从提示驱动模型到无提示模型的转换,扩展了模型的适用场景
Vision-Language-Action模型(VLA)
融合视觉感知、语言理解和动作规划的多模态模型,用于机器人操作任务。VLA模型接收图像和语言指令作为输入,输出机器人执行的动作序列。本文将深度感知能力蒸馏到VLA模型中,通过预测深度token来增强空间理解。
本文展示了预训练深度模型在机器人规划任务中的应用潜力
研究动机
度量深度估计领域的scaling一直面临巨大挑战。与相对深度估计可以通过合成数据和大规模伪标签蒸馏成功扩展不同(如Depth Anything使用6200万图像),度量深度估计受限于数据异构性问题。真实世界的3D标注来自多种传感器(LiDAR、RGB-D、立体相机)和重建算法(SfM、MVS、SLAM),每种来源都有独特的噪声模式、硬件特定的伪影和相机依赖的偏差。这导致三个关键问题:(1)不同数据源之间存在显著的领域差距;(2)传感器错位和算法匹配失败导致的噪声监督;(3)不同相机内参导致的度量模糊。这些问题阻止了其他领域成功的数据混合扩展策略,迫使当前方法局限于精心策划的小型清洁数据集。
本文的目标是本文旨在建立度量深度估计的scaling范式,证明通过有效的预训练框架,度量深度估计可以像NLP和2D视觉领域一样从数据规模增长中受益。具体目标包括:(1)设计一个简单可扩展的预训练框架,能够从噪声、异构的3D数据源中学习;(2)首次在度量深度估计赛道展示明确的scaling趋势;(3)实现跨多种下游任务的最先进性能,包括深度补全、超分辨率、单目深度估计、相机标定、3D重建和机器人规划。
与已有工作不同的是,本文的独特切入角度是将稀疏提示作为通用接口来解耦空间理解与传感器偏差。与以往方法为特定任务设计复杂提示构建流程不同,本文采用极简主义策略:随机掩码深度图生成稀疏提示。这种方法避免了任务特定的架构设计、复杂的提示构建规则或强3D归纳偏置,使模型能够直接从数据中自然学习结构和度量理解。核心洞察是:通过最小化提示中的人类先验设计,让模型从自然异构数据中学习,可以获得更通用和可扩展的方法。这种数据驱动的范式与Rich Sutton的苦涩教训一致:通用的、数据驱动的方法系统性地超越手工设计。
核心方法
MetricAnything的整体思路可以概括为三个阶段。第一阶段是数据聚合:从开源3D数据集中收集约2000万图像-深度对,涵盖重建数据(SfM/SLAM/MVS)、捕获数据(LiDAR/ToF/RGB-D)和渲染数据,所有样本都对齐为像素级度量深度图。第二阶段是基于稀疏提示的预训练:对每张深度图随机采样2000-40000个有效像素构建稀疏提示,训练模型从RGB图像和稀疏提示预测完整稠密深度图。关键设计是不针对任何特定任务做优化,而是让模型通过大量数据学习通用的空间理解能力。第三阶段是蒸馏:使用预训练教师模型为所有真实图像生成高质量伪标签,然后训练无提示的学生模型。这种设计使得教师模型的度量感知能力可以转移到不需要提示输入的场景。
本文的核心创新点是稀疏度量提示作为解耦空间推理与传感器偏差的通用接口。与已有方法的本质区别在于:(1)以往的提示方法(如PromptDA、PriorDA)需要复杂的提示模拟流程(模拟缺失区域、降采样、添加离群点等),引入了强烈的人类先验;本文仅使用随机采样,最小化人类设计。(2)以往方法通常针对单一提示类型(如深度补全或超分辨率)或单一传感器模态训练;本文的统一框架可以处理任意稀疏深度输入,包括从未见过的传感器(如毫米波雷达)。(3)本文首次证明度量深度估计存在scaling趋势——随着训练数据从2M增加到20M,零样本性能持续提升。这打破了度量深度无法scaling的认知。
方法步骤详情
方法分为以下关键步骤:(1)数据收集与标准化:从三类来源(重建、捕获、渲染)收集数据,将所有深度图标准化为统一格式 {G, M},其中G是沿相机z轴的度量深度,M是有效掩码。对于原始点云,使用已知标定参数投影到相机平面获得像素级深度。(2)提示准备:从每个深度图随机采样N个有效像素($N \in [2000, 40000]$)构建稀疏提示 $P = \{(x_i, y_i, d_i)\}$。为解决不同来源的分布差异,应用预训练深度模型获取先验深度图 $P_d$,然后进行像素级深度尺度对齐(PDSA)和全局度量深度恢复(GMDR),最终输入为 $H \times W \times 3$ 的拼接张量。(3)提示注入:使用条件DPT头注入提示,仅增加约5%额外参数。主要参数分配给基础深度骨干网络,使主网络能够纠正噪声提示。(4)预训练目标:对合成数据使用MAE和SSI-MAGE损失,对真实数据使用鲁棒MAE损失(丢弃每张图像中损失最大的20%区域),总损失为 $\mathcal{L}_{total} = \alpha\mathcal{L}_{MAE} + \beta\mathcal{L}_{SSI-MAGE}$。(5)蒸馏训练:教师模型为所有真实图像生成伪标签,学生模型在此监督下训练。学生模型采用逆向跳跃连接和距离平衡反深度损失 $D_{log} = 1 - \ln(D)/\ln(C)$,其中 $C=400$。
技术新颖性
本文的技术新颖性体现在多个方面。首先,稀疏提示的设计理念是少即是多——通过随机采样而非精心设计的模拟来生成提示,这种极简策略反而带来了更好的泛化能力。其次,逆向跳跃连接的设计:传统ViT-DPT架构使用浅层到深层的U-Net风格跳跃连接,将浅层特征注入深层;本文反转这一设计,将深层高层语义特征注入靠近输出的深层解码层,浅层低层特征注入浅层解码层。这种设计的理由是:当伪标签质量高、噪声小时,不需要浅层特征来稳定训练,而可以充分利用深层语义信息。第三,距离平衡反深度损失的设计解决了标准反深度损失在远距离区域衰减过快的问题,通过对数空间变换 $D_{log} = 1 - \ln(D)/\ln(C)$ 实现近远距离的平衡监督。最后,本文首次系统性地展示了度量深度估计的scaling趋势,这是一个重要的实证发现。
实验结果
本文在多个下游任务上进行了全面评估,核心发现如下:(1)深度超分辨率与补全任务:在NYUv2、ETH-3D和KITTI三个数据集上,预训练模型在所有四种提示类型(8×降采样、16×降采样、LiDAR、极稀疏100点)上都实现了零样本最先进性能。例如在NYUv2的8×超分辨率上AbsRel为1.53%,优于PriorDA的1.73%;在ETH-3D的LiDAR提示上仅为0.87%,大幅超越PriorDA的1.90%。(2)雷达-相机深度估计:在nuScenes数据集上,微调预训练模型在0-50m范围内MAE为651.4mm、RMSE为2084.4mm,相比从头训练的1335.4mm MAE几乎翻倍,超越所有现有的雷达-图像融合方法。(3)单目深度估计:Student-DepthMap模型在6个零样本数据集上平均排名第1.50,在Sun-RGBD上δ1达97.7%(AbsRel 0.085),在ETH3D上δ1达79.9%。(4)单目几何估计:Student-PointMap模型在未知内参情况下平均排名1.88,在KITTI上AbsRel仅为3.22%、δ1达97.7%。(5)相机标定:通过优化方法估计焦距,平均角度误差3.12度,中位数误差2.55度,排名第一。(6)多视图3D重建:在ScanNet上结合MapAnything后AbsRel从37.61%降至5.90%,δ1从61.78%提升至99.41%。(7)VLA规划:在LIBERO基准上平均成功率87.7%,超越所有基线包括π0-FAST的85.5%。(8)MLLM空间理解:在VSI-Bench上平均排名58.3,排名第一,超越Spatial-MLLM的48.4和Gemini-1.5 Pro的45.4。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 零样本深度超分辨率/补全 | AbsRel (%) | NYUv2-8×: 1.53, ETH3D-LiDAR: 0.87, KITTI-8×: 2.34 | PriorDA: NYUv2-8×: 1.73, ETH3D-LiDAR: 1.90, KITTI-8×: 4.54 | NYUv2: -11.6%, ETH3D: -54.2%, KITTI: -48.5% |
| 雷达-相机深度估计 | MAE (mm) | 0-50m: 651.4, 0-70m: 863.6, 0-80m: 934.5 | TacoDepth (Plug-in): 0-50m: 1046.8, 0-70m: 1347.1, 0-80m: 1492.4 | 0-50m: -37.8%, 0-70m: -35.9%, 0-80m: -37.4% |
| 单目深度估计(零样本) | δ1 (%) | ETH3D: 79.9, Booster: 59.5, NuScenes: 88.1, Sun-RGBD: 97.7, Middlebury: 65.8 | DepthPro: ETH3D: 41.5, Booster: 46.6, NuScenes: 49.1, Sun-RGBD: 89.0, Middlebury: 60.5 | 平均排名: 1.50 vs DepthPro的3.17 |
| 单目几何估计(未知内参) | AbsRel (%) | KITTI: 3.22, ETH3D: 10.8, iBims-1: 11.3, DIODE: 13.9 | MoGe-2: KITTI: 18.1, ETH3D: 10.4, iBims-1: 13.6, DIODE: 17.5 | 平均AbsRel: 9.81 vs MoGe-2的14.90,δ1: 88.58% vs 75.78% |
| 相机标定 | 平均角度误差 (度) | ETH3D: 2.50, iBims-1: 3.74, 平均: 3.12 | DUSt3R: ETH3D: 5.77, iBims-1: 3.83, 平均: 4.80 | 平均误差降低35.0% |
| 多视图3D重建 | AbsRel (%) | ETH3D: 18.98, ScanNet: 5.90 | MapAnything: ETH3D: 20.43, ScanNet: 37.61 | ETH3D: -7.1%, ScanNet: -84.3% |
| VLA规划 | 成功率 (%) | Spatial: 88.6, Object: 94.4, Goal: 88.8, Long: 78.8, 平均: 87.7 | DAV2 Baseline: Spatial: 87.0, Object: 95.4, Goal: 87.6, Long: 77.2, 平均: 86.6 | 平均提升1.1个百分点 |
| MLLM空间理解 | VSI-Bench平均分数 | 58.3(排名第1) | Spatial-MLLM: 48.4, Gemini-1.5 Pro: 45.4, Qwen2.5VL-72B: 37.0 | 比最佳开源模型提升20.5% |
局限与改进
本文作者承认的局限性包括:(1)模型假设中心投影相机模型,未扩展到特殊相机配置(如非中心或非针孔相机),这限制了在鱼眼、全景等特殊相机上的应用。(2)虽然数据驱动的scaling展示了强大的经验收益,但模型架构本身的scaling尚未探索。从作者自己的观察和我的分析来看,还有一些值得注意的局限:(3)预训练需要144张H200 GPU训练100K步,计算成本极高,可能限制了学术界的复现和改进。(4)虽然论文声称数据来自10000+相机模型,但未详细分析不同相机类型对性能的影响,以及如何处理相机标定误差。(5)在Sintel等合成数据集上的表现相对其他基准较弱(δ1仅27.7%,排名中等),说明在极端领域差距下仍有改进空间。(6)论文未讨论推理时的内存占用和实时性,对于机器人和自动驾驶等实时应用可能是一个实际问题。(7)距离平衡损失的超参数C=400是通过在DIODE数据集上的实验选择的,可能不是所有场景的最优值。
独立分析的弱点
从独立分析来看,本文存在以下弱点及改进方向:(1)提示注入方式较为简单——当前使用条件DPT头仅增加5%参数,但这种轻量级设计可能限制了提示信息的有效传递。改进方向可以探索更灵活的注意力机制,如交叉注意力或自适应层归一化,让模型更好地利用稀疏提示中的度量信息。(2)伪标签生成依赖单一教师模型——所有伪标签由同一个教师生成,存在系统性偏差。可以考虑集成多个不同架构或训练策略的教师模型,通过投票或加权平均生成更鲁棒的伪标签。(3)距离平衡损失的设计虽然有效,但对数变换在极近距离(<1米)可能导致数值不稳定。可以探索更平滑的分段函数或自适应权重方案。(4)数据平衡策略不够精细——论文未详细讨论不同数据源的采样比例,可能存在某些高质量数据源被低估的问题。改进方向包括基于数据质量的加权采样或课程学习策略。(5)学生模型的逆向跳跃连接虽然在高质量伪标签下有效,但在伪标签质量不均匀的区域(如深度不连续处)可能表现不佳。可以引入自适应机制,根据局部伪标签质量动态调整特征融合方式。
未来方向
基于本文成果,未来研究可以向多个方向延伸:(1)架构scaling——本文仅探索了数据scaling,未来可以系统性地研究模型规模scaling,例如从ViT-L/16扩展到ViT-G甚至ViT-22B,探索是否遵循类似NLP领域的scaling law。(2)更多传感器模态——本文已展示毫米波雷达的迁移能力,未来可以扩展到声纳、超声波、事件相机等更多模态,构建真正的多模态度量感知基础模型。(3)视频深度估计——当前模型处理单帧图像,可以扩展到视频序列,利用时序一致性提升深度估计的平滑性和准确性。(4)自监督预训练——本文仍需要有深度标注的数据,未来可以探索仅使用视频或立体图像的自监督预训练方法,进一步扩大数据规模。(5)端到端机器人系统——将预训练的深度模型与机器人控制更紧密地集成,探索深度感知在导航、抓取、操作等任务中的具体应用。(6)3D场景理解——将度量深度估计扩展到完整的3D场景理解,包括语义分割、实例分割、场景流估计等任务。(7)模型压缩与部署——研究知识蒸馏、量化、剪枝等技术,将大模型压缩到边缘设备可部署的规模。
复现评估
论文的复现性评估如下:(1)开源情况:作者在论文末尾提供了项目主页链接 https://metric-anything.github.io/metric-anything-io/,承诺开源代码和模型。但截至目前,具体的开源程度(是否包含预训练权重、训练代码、数据处理脚本)尚不明确。(2)数据方面:论文使用的数据来自多个公开数据集,包括重建数据(ScanNet、ETH3D等)、捕获数据(KITTI、nuScenes等)和渲染数据(Hypersim、Replica等)。数据收集过程有详细描述,但完整的20M数据集的构建细节和预处理流程可能需要大量工程工作。(3)算力需求:预训练需要144张H200 GPU训练100K步,蒸馏训练需要80-144张H200 GPU,VLM微调需要80张GPU。这是相当高的计算成本,普通实验室可能难以复现完整的训练流程。不过,论文提供了多个不同规模的模型变体(Student-DepthMap 877M参数、Student-PointMap 326M参数),可能降低了推理和微调的成本。(4)难度评估:数据收集和预处理是主要难点,需要处理来自不同来源、不同格式、不同质量的数据。模型架构本身(ViT-DPT)是成熟的开源架构,训练流程相对标准。建议复现时先从公开数据集的子集开始,逐步扩大数据规模。
论文图表
表3报告了在6个零样本数据集(ETH3D、Booster、NuScenes、Sun-RGBD、Sintel、Middlebury)上的δ1精度(%)。本文Student-DepthMap模型平均排名第1.50,在ETH3D(79.9%)、Booster(59.5%)、NuScenes(88.1%)、Sun-RGBD(97.7%)和Middlebury(65.8%)上都取得最佳或次佳性能。
全面评估了蒸馏后的无提示学生模型在单目深度估计任务上的性能,是论文最重要的定量结果之一。
表8在Sintel、Spring和iBims-1数据集上评估了深度预测的边界锐利度(F1分数)。本文Student-DepthMap模型平均排名第1.67,在Spring上F1达0.1635(最佳),在Sintel上0.382,在iBims上0.179。
边界质量是深度估计的重要评估维度,本文方法在保持度量准确性的同时也能产生清晰的边界。
表10报告了在LIBERO基准四个任务类别(Spatial、Object、Goal、Long)上的VLA规划成功率。本文方法平均成功率87.7%,超越所有基线包括π0-FAST(85.5%)和ThinkAct(84.4%),在Long任务上取得78.8%的最佳成绩。
展示了深度感知能力在机器人规划任务中的价值,证明了预训练模型的广泛适用性。
左侧报告了不同提示点数(500-64000)在Hypersim上的性能,点数从500增加到64000时AbsRel从0.043降至0.031,但推理时间从224ms增加到308ms。右侧报告了不同平衡系数C在DIODE上的性能,C=400在近距离(0-40m:0.456)和远距离(>40m:0.562)提供了最佳平衡。
提供了超参数选择的实验依据,帮助理解提示密度和损失函数超参数的影响。