Prompt Depth Anything:以提示方式驱动的Depth Anything用于实现4K分辨率下的精确米制深度估计
摘要
Prompt 在释放语言和视觉基础模型在特定任务上的能力方面起着关键作用。我们首次将 prompting 引入深度基础模型,开创了一种用于米制深度估计的新范式,称为 Prompt Depth Anything。具体而言,我们使用低成本的 LiDAR 作为 prompt,引导 Depth Anything 模型输出精确的米制深度,分辨率最高可达 4K。我们的方法核心是一个简洁的 prompt 融合设计,将 LiDAR 融合到深度解码器中的多个尺度。针对同时包含 LiDAR 深度和精确 GT 深度的数据集数量有限所带来的训练挑战,我们提出了一条可扩展的数据流水线,结合了合成数据中的 LiDAR 模拟以及真实数据的伪 GT 深度生成。我们的方法在 ARKitScenes 和 ScanNet++ 数据集上刷新了最新的 state-of-the-art,并促进了下游任务的发展,包括 3D 重建和通用机器人抓取等。
1. 引言
高质量的深度感知是计算机视觉和机器人领域的一个基础性挑战。近年来,单目深度估计在模型规模或数据规模扩展的推动下取得了显著进展,催生了一系列深度基础模型 [18, 29, 69, 70]。这些模型在生成高质量相对深度方面表现出色,但存在尺度歧义问题,限制了其在自动驾驶和机器人操作等实际场景中的应用。因此,已有大量研究致力于实现米制深度估计,主要有两种途径:一是对深度基础模型在米制数据集上进行微调 [6, 19],二是通过将图像内参作为附加输入来训练米制深度模型 [8, 24, 46, 74]。然而,如图 1(b) 所示,这两种方法都难以从根本上解决问题。
因此,一个自然的问题是:这些基础模型是否真的无法胜任精确的米制深度估计?这促使我们重新审视语言 [1, 9] 和视觉 [38, 39, 52] 领域的基础模型,这些模型往往包括预训练和指令微调两个阶段。一个合理设计的 prompt 和指令数据集,能够激发基础模型在下游任务上的能力。受到这些成功的启发,我们提出了一种用于米制深度估计的新范式,将其视为一个下游任务——即,通过引入米制信息来 prompt 一个深度基础模型。我们认为,只要能够提供尺度信息,这种 prompt 的形式可以多种多样,例如相机内参。
在本文中,我们选择使用低成本的 LiDAR 作为 prompt 来验证该范式的可行性,原因有二:首先,它能提供精确的米制尺度信息;其次,它应用广泛,甚至已经集成到常见的移动设备中(如 Apple iPhone 具备 LiDAR)。
具体而言,基于 Depth Anything [70],我们提出了 Prompt Depth Anything,实现了4K分辨率下的精确米制深度估计。我们方法的核心是一个专为 DPT-based [48] 深度基础模型 [8, 70] 设计的简洁 prompt 融合架构。该架构在 DPT 解码器的多个尺度中融合 LiDAR 深度,将 LiDAR 特征用于深度解码。米制 prompt 提供了精确的空间距离信息,使得深度基础模型能够更好地作为局部形状学习器,从而获得精确且高分辨率的米制深度估计。
训练 Prompt Depth Anything 需要同时具备 LiDAR 深度和精确 GT 深度的数据。然而,现有合成数据 [51] 并不包含 LiDAR 深度,而真实数据 [72] 中的 LiDAR 仅配有边缘质量较差的 GT 深度。为了解决这一挑战,我们提出了一条可扩展的数据处理流水线:对合成数据模拟低分辨率且带噪声的 LiDAR,对真实数据采用重建方法 [2] 生成边缘质量更高的伪 GT 深度。为减少伪 GT 深度在 3D 重建过程中的误差,我们引入了一种 边缘感知深度损失(edge-aware depth loss),该损失函数仅利用伪 GT 深度的梯度信息(主要集中于边缘处)。
实验结果表明,我们的方法能够实现极高精度的深度估计。我们在包含 iPhone ARKit 深度数据的 ARKitScenes [3] 和 ScanNet++ [72] 数据集上对所提出方法进行了评估,在多个数据集和指标上均达到了最新 state-of-the-art 性能。即便在 zero-shot 设置下,我们的模型也优于其他在非 zero-shot 测试中的方法 [6, 70],显示了 prompt 基础模型的强大泛化能力。我们还展示了 Prompt Depth Anything 的模型主体与 prompt 可分别替换为 DepthPro [8] 和车载 LiDAR [55]。此外,我们的方法也对多个下游任务有所助益,包括 3D 重建与通用机器人抓取。
总而言之,本文主要贡献如下:
- 提出 Prompt Depth Anything:一种通过低成本 LiDAR 作为米制 prompt 来驱动深度基础模型进行米制深度估计的新范式;
- 设计了一个简洁的 prompt 融合架构、一条可扩展的数据流水线,以及一个边缘感知深度损失函数,用于训练 Prompt Depth Anything;
- 在深度估计基准数据集 [3, 72] 上达到 state-of-the-art 性能,验证了 depth foundation model 与 LiDAR prompt 的可替换性,并展示了其在 3D 重建和机器人抓取等下游应用中的潜力。
2. 相关工作
单目深度估计。 传统方法 [23, 54] 依赖手工设计的特征来进行深度估计。随着深度学习的兴起,该领域取得了显著进展。早期的学习方法 [14, 15] 通常局限于单一数据集,缺乏泛化能力。为提升模型泛化能力,研究者引入了多样化的数据集 [12, 33, 61–63, 65, 66, 71]、仿射不变损失函数 [47] 以及更强大的网络结构 [48]。近年来,预训练于大规模图像生成任务的潜变量扩散模型 [52] 被应用于深度估计任务 [20, 29],这类模型具有良好的泛化性,能有效估计相对深度,但仍然无法处理尺度问题。
为实现米制深度估计,早期方法要么将该问题建模为全局分布分类问题 [4, 5, 17, 36],要么在米制深度数据集上对深度模型进行微调 [6, 34, 35]。近期方法 [19, 24, 46, 73, 74] 探讨了单目米制深度估计中的尺度歧义问题,并通过引入相机内参来缓解这一问题。尽管一些最新方法 [8, 20, 24, 29, 46, 70, 74] 展现出强泛化能力,并自称为 depth foundation models [8, 18, 24, 70],但如图 1(b) 所示,米制深度估计仍是一个未解决的挑战。本文从视觉和视觉语言模型中 prompt 技术的成功经验 [38, 39, 77] 中获得启发,尝试通过引入米制 prompt来激活深度基础模型的能力,以解决该挑战。
结合辅助传感器的深度估计。 通过主动传感器获取稠密深度信息通常需要较高功耗。一种更实用的做法是利用低功耗主动传感器获取稀疏深度,然后完成为稠密深度图。已有大量研究致力于稀疏深度数据的补全问题。早期方法依赖于基于滤波 [21, 26, 31] 和优化 [16, 68] 的技术来完成深度补全。近期方法则采用基于学习的策略 [10, 11, 13, 37, 40, 42, 57–59, 67, 78]。这些方法通常在如 NYUv2 [15] 这类深度数据集上使用模拟稀疏 LiDAR 进行评估,而非真实室内 LiDAR 数据,因为真实测试需要同时具备低功耗和高功耗的 LiDAR 传感器。
近年来也有方法收集了同时包含低功耗和高功耗 LiDAR 的数据。例如,DELTA [32] 使用 L5 和 Intel RealSense 435i 构建了一个数据采集系统,而另一些数据集 [3, 27, 50, 72] 则使用 iPhone LiDAR 和 FARO LiDAR 进行采集。我们重点关注后者,因为 iPhone 的普及性使其更具实际应用价值。
与我们工作相近的还有近期提出的 Depth Prompting [43]。但我们的方法与其存在本质区别:我们使用稀疏深度作为 prompt 输入给深度基础模型,直接引导其生成特定输出;而对方方法则是将稀疏深度与深度基础模型的特征融合,用于对其输出进行后处理,这并不构成对基础模型的 prompting。
阅读全文请访问 Prompt Depth Anything:以提示方式驱动的Depth Anything用于实现4K分辨率下的精确米制深度估计