BetterDepth: Plug-and-Play Diffusion Refiner for Zero-Shot Monocular Depth Estimation

📄 arXiv: 2407.17952v2 📥 PDF

作者: Xiang Zhang, Bingxin Ke, Hayko Riemenschneider, Nando Metzger, Anton Obukhov, Markus Gross, Konrad Schindler, Christopher Schroers

分类: cs.CV

发布日期: 2024-07-25 (更新: 2024-11-06)

备注: NeurIPS 2024


💡 一句话要点

BetterDepth:即插即用的扩散细化器,用于零样本单目深度估计

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)

关键词: 单目深度估计 零样本学习 扩散模型 深度细化 条件生成

📋 核心要点

  1. 现有零样本单目深度估计方法细节不足,而基于扩散的方法在复杂几何场景中表现不佳,缺乏几何一致性。
  2. BetterDepth利用预训练MDE模型的全局深度布局,通过条件扩散模型迭代细化图像细节,实现几何正确且细节丰富的深度估计。
  3. 通过全局预对齐和局部补丁掩蔽策略,BetterDepth在小规模数据集上训练,并在多个数据集上取得了SOTA性能,且可即插即用。

📝 摘要(中文)

零样本单目深度估计(MDE)方法通过大规模数据集的训练,在实际场景中表现出强大的性能,但通常缺乏足够的细节。最近基于扩散的MDE方法展现出卓越的细节提取能力,但在几何结构复杂的场景中表现不佳,因为这些场景挑战了它们在较少样3D数据上训练的几何先验。为了利用两者的互补优势,我们提出了BetterDepth,以实现几何上正确的仿射不变MDE,同时捕捉精细的细节。具体来说,BetterDepth是一个基于条件扩散的细化器,它将预训练MDE模型的预测作为深度条件,其中全局深度布局被很好地捕获,并基于输入图像迭代地细化细节。为了训练这样的细化器,我们提出了全局预对齐和局部补丁掩蔽方法,以确保BetterDepth保持对深度条件的忠实性,同时学习添加细粒度的场景细节。通过在小规模合成数据集上进行高效训练,BetterDepth在各种公共数据集和真实场景中实现了最先进的零样本MDE性能。此外,BetterDepth可以以即插即用的方式提高其他MDE模型的性能,而无需进一步的重新训练。

🔬 方法详解

问题定义:零样本单目深度估计旨在仅使用单张图像预测场景的深度信息,无需针对特定场景进行训练。现有方法,尤其是基于深度学习的方法,要么缺乏足够的细节,要么在处理几何结构复杂的场景时表现不佳,难以保证几何一致性。这些方法通常依赖于大规模数据集的训练,但仍然难以泛化到所有真实场景。

核心思路:BetterDepth的核心思路是结合预训练的单目深度估计模型的全局几何信息和扩散模型的细节生成能力。预训练模型提供粗略但全局一致的深度图,而扩散模型则负责在保持全局结构的前提下,添加精细的局部细节。通过将预训练模型的输出作为条件,引导扩散模型的生成过程,从而实现高质量的深度估计。

技术框架:BetterDepth是一个基于条件扩散的细化框架。整体流程如下:1) 使用预训练的单目深度估计模型生成初始深度图;2) 将初始深度图和输入图像作为条件输入到扩散模型中;3) 扩散模型通过迭代的去噪过程,逐步细化初始深度图,生成最终的深度估计结果。该框架包含一个深度条件模块和一个扩散细化模块。

关键创新:BetterDepth的关键创新在于其条件扩散细化框架以及针对训练过程提出的全局预对齐和局部补丁掩蔽策略。全局预对齐旨在对齐预训练模型的深度尺度,确保扩散模型学习到的细节与全局深度一致。局部补丁掩蔽则鼓励扩散模型关注图像的局部细节,避免过度依赖预训练模型的输出。

关键设计:BetterDepth使用U-Net作为扩散模型的主干网络,并采用DDPM(Denoising Diffusion Probabilistic Models)作为扩散过程。深度条件模块将预训练模型的输出深度图与输入图像进行通道拼接,然后输入到U-Net中。损失函数包括L1损失和感知损失,用于衡量生成深度图与真实深度图之间的差异。全局预对齐通过调整预训练模型的输出深度图的尺度来实现。局部补丁掩蔽则是在训练过程中随机遮盖部分图像区域,迫使扩散模型学习从周围信息推断深度。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

BetterDepth在多个公开数据集上取得了最先进的零样本单目深度估计性能。例如,在KITTI数据集上,其性能显著优于其他零样本方法。此外,BetterDepth还能够以即插即用的方式提升其他单目深度估计模型的性能,无需重新训练,展示了其强大的泛化能力和实用价值。

🎯 应用场景

BetterDepth可应用于机器人导航、自动驾驶、三维重建、虚拟现实和增强现实等领域。它能够提升这些应用对环境的感知能力,使其能够更好地理解和交互。由于其零样本特性,BetterDepth无需针对特定场景进行训练,具有很强的通用性和实用价值,未来可能成为各种视觉应用的标准组件。

📄 摘要(原文)

By training over large-scale datasets, zero-shot monocular depth estimation (MDE) methods show robust performance in the wild but often suffer from insufficient detail. Although recent diffusion-based MDE approaches exhibit a superior ability to extract details, they struggle in geometrically complex scenes that challenge their geometry prior, trained on less diverse 3D data. To leverage the complementary merits of both worlds, we propose BetterDepth to achieve geometrically correct affine-invariant MDE while capturing fine details. Specifically, BetterDepth is a conditional diffusion-based refiner that takes the prediction from pre-trained MDE models as depth conditioning, in which the global depth layout is well-captured, and iteratively refines details based on the input image. For the training of such a refiner, we propose global pre-alignment and local patch masking methods to ensure BetterDepth remains faithful to the depth conditioning while learning to add fine-grained scene details. With efficient training on small-scale synthetic datasets, BetterDepth achieves state-of-the-art zero-shot MDE performance on diverse public datasets and on in-the-wild scenes. Moreover, BetterDepth can improve the performance of other MDE models in a plug-and-play manner without further re-training.