本文经自动驾驶之心公众号授权转载,转载请联系出处。
原标题:Diffusion Models for Monocular Depth Estimation: Overcoming Challenging Conditions
论文链接:https://arxiv.org/pdf/2407.16698
代码链接:https://github.com/fabiotosi92/Diffusion4RobustDepth
作者单位:博洛尼亚大学
论文思路:
本文提出了一种新颖的方法,旨在解决单张图像深度估计任务中由挑战性、分布外数据带来的复杂性。首先,从那些由于没有不利因素而便于深度预测的图像开始,本文系统地生成包含全面挑战和相关深度信息的用户定义场景。这是通过利用具有深度感知控制的最前沿文本到图像扩散模型实现的,这些模型以生成高质量图像内容而著称,同时保持生成图像与源图像之间的3D结构一致性。随后,通过一种自蒸馏协议对任何单目深度网络进行微调,该协议考虑到使用本文策略生成的图像及其在简单、无挑战场景中的深度预测。针对本文的目的设计的基准测试实验展示了本文提案的有效性和多功能性。
主要贡献:
- 本文率先使用扩散模型作为一种新颖的解决方案,解决单张图像深度估计中的挑战,特别是涉及恶劣天气条件和非朗伯面(non-Lambertian surfaces)场景的情况。
- 通过蒸馏扩散模型的知识,本文的方法提高了现有单目深度估计模型的鲁棒性,尤其是在具有挑战性的分布外环境中。
- 本文的方法同时应对恶劣天气和非朗伯面挑战,展示了在实现与依赖额外训练信息的专门解决方案(如[18, 27])相媲美的结果的同时,解决多个挑战性场景的潜力。
论文设计:
单目深度估计作为计算机视觉中的关键任务,由于深度学习技术的最新突破而取得了显著进展。这在多个领域有着广泛的应用,从增强机器人技术和增强现实到提高自动驾驶的安全性和精确度,特别是在由于资源或空间限制而无法依赖多张图像进行深度估计的情况下。然而,尽管单目深度估计在实际应用中具有优势,但它面临着从单张图像推断深度的挑战,这一问题被公认为具有不良设定和严重欠约束的特性。通常,解决这一挑战的方法包括通过监督方法[9, 15, 46, 61, 93, 98, 101]训练单目深度网络,使用主动传感器的标注数据,或利用在训练时使用立体图像对[29]或单目视频序列[112]的自监督技术。
最先进的模型,如DPT [69]和较新的Depth Anything [96],结合了大量数据集的见解,每个数据集的深度标注使用不同的技术提取。这种广泛的训练协议使这些模型能够在广泛的现实场景中表现出色。然而,必须强调的是,即使这些模型在许多设置中表现优异,当处理远离训练期间观察到的分布的数据时,仍面临显著挑战,例如恶劣条件(如雨天和夜间)或具有非朗伯表面的物体。这些挑战主要源于缺乏用于鲁棒模型训练的高质量标注数据,以及现有基于视觉的深度提取技术和主动传感器(如LiDAR、ToF、Kinect等)的局限性,这些技术在复杂环境中(如雨、雪或具有特定反射特性的材料)表现不佳。因此,在这些情况下的深度估计往往不可靠,对依赖准确3D信息的后续应用产生严重影响。通常,当前的方法倾向于独立解决这些挑战。有些方法专注于解决光照不足和恶劣天气的问题 [26, 27, 91],而另一些则处理非朗伯表面的问题 [18]。这些分散的方法突显了需要一种统一的方法——一个能够同时处理所有不利场景的单一框架,提供更鲁棒和通用的解决方案。
在这项工作中,本文引入了最初为图像合成设计的扩散模型[20, 44],作为一种开创性的策略,以应对那些位于通常用于训练深度估计模型的数据分布长尾部分的图像所带来的严峻挑战。
基于具有多模态控制的文本到图像扩散模型的原理[56, 106],本文旨在创建一个多样化的高度逼真的场景集合,这些场景准确复制特定参考环境的3D结构,但有意地加入了各种不利因素。重要的是,这些条件完全是任意的,可以根据特定应用的需求通过用户定义的文本提示进行定制。
更具体地说,本文的方法首先选择那些最初描绘没有与不利条件相关的复杂性的场景图像。这些样本可以从现有的现实世界数据集[17, 28, 57]中获取,通过自定义集合收集,甚至可以使用生成模型[2, 59]生成。对于预选的图像,本文采用任何现成的单目深度估计网络来提供场景的初始3D表示。重要的是,这样的模型可以在不同的大规模数据集上进行预训练,或者根据应用需求定制到特定领域。
随后,本文应用文本到图像扩散模型,将最初简单的图像转化为更复杂的图像,同时保持相同的基础3D场景结构(即深度)。在结合复杂和简单图像后,用于3D数据生成的预训练深度网络进入微调阶段。在此阶段,本文将模型暴露于组合数据集,提供具有挑战性的训练图像及其在初始步骤中获得的相应深度图。这一微调过程提升了单目网络推断深度的能力,使其能够更好地处理不利环境,如图1所示。
图1:框架结果。从上到下分别为:源图像、原始Depth Anything [96]的深度预测,以及本文微调版本的结果。
本节概述了本文的框架,如图2所示,旨在改善在不利环境下的单目深度估计。假设在一个领域中不存在同时描绘简单和复杂条件的图像,本文的方法使用具有深度感知控制的扩散模型将简单样本转换为复杂样本。随后,本文通过自蒸馏和使用生成数据的尺度和偏移不变损失来微调预训练的单目深度网络。
图2:方法概述。左侧:图像生成和自蒸馏。扩散蒸馏数据(上):简单图像()和文本提示()输入到条件扩散模型中生成不利场景()。深度标签蒸馏(下):预训练网络从简单图像()估计深度()。使用()对 进行微调,采用尺度和偏移不变损失。右侧:微调后的网络在测试中处理从简单到复杂场景的多样化输入。
图3:生成图像——天气条件。(a-b):来自KITTI 2015 [54]的RGB图像和深度图。(c-f):由扩散模型[56]生成的图像,这些图像由(b)中的深度图和每个子图中指示的文本提示条件生成。
图4:生成图像——ToM对象。从上到下分别为:来自Stable Diffusion [2]的简单场景,来自Depth Anything [96]的深度图,使用[56]生成的转换场景。
实验结果:
图5:定性结果。从上到下分别为:RGB图像、原始模型预测的深度图以及使用本文方法微调版本预测的深度图。
总结:
本文引入了一种开创性的单目深度估计训练范式,该范式利用扩散模型来应对分布外场景。通过将简单样本转换为复杂样本,本文生成了捕捉现实世界挑战的多样化数据。本文的微调协议增强了现有深度网络的鲁棒性和泛化能力,使其能够在不需要特定域数据的情况下处理恶劣天气和非朗伯表面。跨多个数据集和最先进架构的广泛实验表明了本文方法的有效性和多功能性。