前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >先验扩散: 在单眼深度估计的扩散模型中利用语言先验 !

先验扩散: 在单眼深度估计的扩散模型中利用语言先验 !

作者头像
未来先知
发布2025-02-25 08:10:17
发布2025-02-25 08:10:17
760
举报
文章被收录于专栏:未来先知未来先知

本文探讨了利用文本到图像扩散模型学习的语言先验知识解决单目深度估计中的歧义和视觉干扰的潜力。特别是,传统的单目深度估计由于缺乏立体或多视角深度线索而具有固有的歧义,并且由于视觉缺乏鲁棒性而具有噪声。

作者提出,扩散模型中的语言先验可以通过利用与语言描述对齐的几何先验来增强单目深度估计,这种先验是在文本到图像预训练过程中学习的。

为了生成能正确反映文本的图像,模型必须理解指定物体的尺寸和形状、它们的空间关系以及场景的缩放。因此,作者提出PriorDiffusion,使用一个同时考虑图像和文本描述与场景对齐的预训练文本到图像扩散模型,通过去噪过程推理仿射不变的深度。作者还证明,语言先验可以指导模型关注特定区域,并帮助其与用户意图对齐感知三维场景。

同时,它还可以作为扩散轨迹收敛的约束,因为从压缩的低维语言特征学习三维属性比从冗余的高维图像特征学习更有效。

通过在HyperSim和Virtual KITTI上进行训练,作者在NYUv2、KITTI、ETH3D和ScanNet等扩散基础深度估计器中实现了最先进的零样本性能和更快的收敛速度。

1 Introduction

单目深度估计要求模型从单张图像中预测像素级的深度。扩散模型近年来在生成高质量深度图方面取得了进步,因为它们能够通过逐步去噪潜在表示来生成准确的深度预测,从而捕捉复杂的结构和细微细节。然而,由于固有的歧义和各种视觉瑕疵,这仍然是一个具有挑战性的任务。

许多固有的歧义之一是尺寸歧义。与立体或多视角深度估计方法不同,单目方法缺乏多视角提供的几何深度线索,导致在场景中准确区分物体的相对大小和距离具有困难。也就是说,不同的实际3D场景可以在不同的缩放下投影到同一张2D图像中。例如,一个靠近的小物体在图像中可以看起来与远离的较大物体相同。另一个具有挑战性的歧义是纹理歧义。均匀纹理或具有重复模式的表面(如铺砖地板)可能会对深度估计器造成混淆。模型可能会错误地将重复视为均匀深度,尽管实际深度可能会有所不同(例如,铺砖地板向远处退去)。此外,可见性歧义限制了仅从视觉信号中区分小、部分或被遮挡的物体的能力。另一方面,视觉瑕疵(如照明、运动模糊、大气条件和透视畸变)可能会扭曲或掩盖关键的视觉线索,导致视觉算法错误地解释场景结构、深度和物体边界,从而降低其准确性和可靠性。

一种新兴的解决方案在于利用语言作为补充模态,在先验中解决歧义和视觉干扰。人类提供的语言描述提供了关于空间关系、场景类型、物体尺寸和深度层次的大量先验信息。例如,模型区分附近的玩具车和远处的真实车可能具有挑战性。然而,当人类提供的语言输入指定细节,如“这是一个近的玩具车”,这将为模型提供关于物体的3D尺寸和形状的先验信息。

结合观察到的尺寸,这一先验有助于缩小深度估计的分辨率空间,从而导致更准确的深度预测。在物体较小或部分被遮挡的情况下,语言可以指示物体的身份和语义,使模型推理其典型的3D尺寸和形状,并针对观察到的部分进行更精确的深度预测。语言输入在解决纹理歧义方面也具有价值。描述线索可以指定场景中表面的类型和功能,帮助模型推理几何属性。例如,如果一个均匀纹理的表面被描述为“白色的天花板”,模型可以将其解释为一个在观察者上方一致深度处的连续、平面,并延伸到远处。同样,对于具有重复图案的表面,如红色和黑色交织的地毯,语言输入如“红色和黑色交织地毯延伸穿过房间”可以帮助模型认识到重复图案属于平面,防止将砖块之间的边缘误解为深度间断。

为此,作者提出了PriorDiffusion,将人类提供的场景语言描述作为先验知识,引导深度图预测。在文本到图像预训练过程中,扩散模型学习生成与提供语言描述相符的多样化场景。为了实现这一目标,扩散模型必须理解每个目标的尺寸和形状、空间关系以及语言输入中描述的场景大小,以生成准确地表示输入文本在各种视图和场景布局下的图像。因此,在深度估计中,由人类生成的描述允许模型利用输入文本中嵌入的几何先验知识更有效地感知3D场景。在作者的PriorDiffusion中,在去噪过程中,模型使用图像和语言输入来预测要移除的噪声。最终,高斯噪声逐步细化为与输入图像和语言描述都相符的深度图。由于在训练和推理图像中获取足够的人类提供文本描述具有挑战性,作者利用视觉语言模型(例如LLaVA[11])为每张图像生成描述,模拟人类标注。

为了支持作者的假设,作者在两个合成数据集上进行训练,分别是HyperSim [62]和Virtual KITTI [4],并在四个真实世界数据集上进行零样本评估,包括NYUv2 [69],KITTI [24],ETH3D [68]和ScanNet [10]。与其他最先进的扩散深度估计器相比,作者在定性结果上取得了优越性,同时在保真度更高的定量结果上,收敛速度更快。

作者的贡献:通过利用语言作为先验,使用预先用文本到图像生成进行深度学习的单目深度估计,作者证明了:

  1. 语言可以为语言描述中的物体提供关于其存在、几何属性和空间关系的先验信息,从而使深度估计器更好地推理这些物体的深度。
  2. 语言先验知识指导模型的注意力指向特定区域,使其根据用户的意图感知3D场景。这对视觉系统来说特别有益,尤其是那些具有小尺寸、恶劣照明、遮挡或与背景具有高度视觉相似性的区域。
  3. 语言先验为扩散轨迹的收敛速度提供了约束。作者的直觉是,从压缩的低维语言特征中学习3D属性(如几何特性和空间关系)比从冗余的高维图像特征中学习更有效。

2 Related Work

单目深度估计是一个密集回归问题,需要从单张图像中像素级预测深度,捕捉场景内的复杂空间关系。一些深度模型通过最小化深度预测和真实深度图之间的损失,在度量尺度(例如米)上学习像素级深度推理。每个模型通常只应用于一个数据域,该域中它被训练,具有相似的相机参数和物体尺度。具体而言,DORN利用了空间增加的离散化技术。AdaBins将深度范围分成了自适应的桶。NeWCRFs使用了神经窗口全连接CRF来计算能量。VADepthNet使用了第一阶变分约束,使网络 Aware 到场景空间中的深度梯度。

当真实深度不可用时,自监督方法依赖于几何约束,其中尺度通过雷达[70],惯性[28, 78],激光雷达或双目图像进行分配。为了实现跨域泛化,使深度估计在野外具有影响力,其他工作探索了仿射不变的深度估计,该方法预测深度到未知全局位移和比例。这种方法可以容纳具有不同尺度的各种场景,同时保留场景内不同物体或区域之间的几何关系。HND [98]利用空间信息和深度分布分 LayerNorm 深度表示。

Depth Anything [88]从大规模自动标注的数据中学习。DPT [60]利用尺度不变和位移不变的修剪损失。MiDas [59]将多个数据集与训练目标与深度范围和比例无关。Marigold [35]将微调协议与扩散模型关联。

现有方法试图仅从图像中预测深度,这受到比例,物体方向,遮挡和视觉噪声(如视点,照明,外观,纹理等)的模糊影响。另一方面,作者的PriorDiffusion利用Diffusion模型中的语言先验知识,为输入文本相关场景提供全面的了解,以解决视觉算法的歧义和噪声变量。

单目深度估计的扩散模型

去噪扩散概率模型(DDPM)[30]学习了一个扩散过程,该过程逐步降低图像的噪声,使它们可以通过应用反向过程从数据分布中获取样本。它们已经被应用于各种任务,如文本到图像的基因表达,超分辨率,图像修复 3D目标生成[40, 56, 48],等等。几种方法已经探索了使用DDPM进行度量深度估计。DiffusionDepth[12]学习将随单目视觉条件的随机深度分布去噪为深度图。同样,DDP[34]编码输入图像并使用扩散将其解码为深度图。DepthGen[66]扩展了一个多任务扩散模型用于度量深度预测。它的继任者,DDVM[67],专注于使用合成和真实数据集进行预训练以提高深度估计性能。最后,VPD[109]和Marigold[35]利用预训练的稳定扩散模型[63]作为图像特征提取器,结合额外的文本输入以增强深度预测。虽然以前的工作只关注使用图像作为扩散模型的条件来预测深度,但作者的 PriorDiffusion 利用语言先验在扩散模型中解决歧义和视觉噪声,并可控地进行3D感知。

单目深度估计的视觉语言模型通过在多样化的数据集上进行预训练,对语言和图像进行全面理解,从而为下游任务奠定了坚实的基础。

通常,CLIP [57] 采用对比学习在文本-图像对上进行操作,从而实现一系列应用,如少样本图像分类,图像分割 ,目标检测 ,以及 3D 感知。考虑到它们日益增强的能力,一些工作 尝试将视觉语言模型应用于单目深度估计。

尤其是,DepthCLIP [105] 利用 CLIP 的语义深度响应和深度投影方案进行零样本单目深度估计。WorDepth [96] 从文本描述中学习 3D 场景的变分先验分布。RSA [97] 使用语言描述来预测尺度,将相对深度对齐到度量尺度。虽然语言在 3D 感知的各个方面都有应用,但作者的工作是首次在扩散模型中使用语言先验以利用与语言描述相匹配的几何先验来增强 3D 感知。

3 Method

4 Experiments

训练数据集。作者采用Marigold [35]中的训练方案,在两个合成数据集上训练作者的PriorDiffusion,这两个数据集都覆盖了室内和室外场景。第一个数据集,HyperSim [62],是一个逼真的室内场景集合,包含461个场景。从中,作者使用官方的划分选择大约54K个样本,排除任何不完整的样本。RGB图像和深度图被重新缩放到480 x 640像素的分辨率,相对于对焦点,将原始距离测量转换为相对于对焦点平面的一般深度值。

第二个数据集,Virtual KITTI [4, 20],包括在五种不同的条件下生成的合成街道场景,如不同的天气和相机视角。作者使用Virtual KITTI 2 [4]版本。在训练中,作者选择四个场景,总共大约有20K个样本,并将图像裁剪成与KITTI基准分辨率[24]对齐,设置最大深度为80米。

实现细节作者使用PyTorch实现作者的方法,使用Stable Diffusion v2 [63]作为基础,并遵循原始的预训练设置,使用-目标[65]。在训练期间,作者使用了DDPM噪声调度器[30],共1000个扩散步骤,而在推理时,应用了DDIM调度器[71],共50次采样步骤。作者的训练过程共进行了30000次迭代,批次大小为32,通过在16步(每步批量为2)的梯度累积中完成,以适应单个GPU。作者使用Adam优化器,学习率,并包括随机水平翻转作为数据增强。通常在20000次迭代后(训练收敛),在Nvidia RTX 3090 GPU上需要约4天。

在表1中,作者将PriorDiffusion与其他最先进的非线性不变深度估计器进行了定量比较,这些估计器在本文中列出的所有零样本基准测试中进行了测试。PriorDiffusion在所有测试数据集上(包括NYUv2,KITTI,ETH3D和ScanNet)实现了最高的δ1准确率和最低的绝对相对误差(AbsRel)。值得注意的是,PriorDiffusion在NYUv2上的AbsRel为5.9%,δ1为95.9%,与Marigold等顶级竞争对手相当,表明了其强大的泛化能力。这是由于语言的泛化能力,因为它在不同类型的3D场景中具有不变性和鲁棒性。如图5所示,PriorDiffusion相对于Marigold具有更快的收敛速度。在表1中,即使在20,000次迭代时,PriorDiffusion也实现了与Marigold在30,000次迭代时相当或更好的性能指标。这可以归因于作者模型中集成的语言先验,它提供了额外的语义和几何先验作为额外的约束,加快了收敛扩散过程。直观的解释是,模型在从图像中学习物体的几何属性和空间关系方面花费较少的努力,因为这些属性是高维和计算密集的。相反,这些特性已经以压缩和低维的形式嵌入在语言输入中,人类提供的语言充当了有效的先验,使得扩散轨迹可以更快地收敛。

定性比较。除了整体定量改进外,作者还主张语言先验可以引导模型关注更好地感知语言描述中的指定区域,这更符合用户的兴趣。NYUv2的视觉表示如图3所示,其中作者的PriorDiffusion相对于Margold在给定的输入图像上实现了更准确的深度预测,特别是对于语言描述中突出显示的实例。例如,在第一行,由于颜色和纹理与背景混合,肥皂分配器在输入图像中几乎难以区分。基于视觉的深度估计器如Margold很难识别它,导致深度预测与背景相匹配。相比之下,语言描述明确包括“肥皂分配器”这一术语,为模型提供了一个几何和空间先验,表明肥皂分配器存在以及它应该是什么样子。因此,作者的PriorDiffusion可以更准确地感知肥皂分配器的深度。同样,如图4所示,作者可视化了KITTI数据集的结果,其中如停车的汽车或标志等物体在仅从视觉信号中几乎无法区分。如图6所示,通过结合更详细的语言描述,深度预测得到了增强,对于指定的区域或物体。

模板 Prompt 比较。 在用户提供的描述不可用的情况下,作者旨在探索作者的方法是否仍能有效地使用空白输入或标准模板 Prompt 。如果用户没有给出与场景相匹配的具体语言描述,作者可以使用一些预定义的模板 Prompt ,例如"一张图像"或更详细的 Prompt ,如"一个复杂的三维场景,其中不同距离的物体不断变化。"作为PriorDiffusion的输入,以保持其性能。 "这些模板,如表2中所示,在语言输入不实际时有助于保留模型的性能。需要注意的是,作者在训练和推理过程中并未考虑无意义的语言输入。因此,在推理时使用模板 Prompt 作为输入可能与训练域不同,导致语言描述的协变量漂移。这个问题可以通过在训练过程中将模板 Prompt 作为输入来缓解,使PriorDiffusion更好地适应各种无法实现有意义语言描述的场景。

5 Discussion

局限性一个主要的局限性是,它依赖于提供的语言描述的准确性和详细性。来自人类用户的模糊或误导性文本输入可能导致深度预测不 optimal,并可能损害模型的性能。此外,扩散模型的训练和推理的计算成本高于其他 CNN 或 Transformer 方法,这可能影响在实时或资源受限的环境中部署这种方法的可行性。

最后,作者的方法需要用户输入语言,这在某些情况下可能不可行。在用户提供的描述不可用的情况下,作者的方法仍可以执行标准模板 Prompt 。另一种潜在的解决方案是使用视觉语言模型 [11]、图像描述符 [31] 或像 RSA [97] 这样的方法,根据视觉模型的输出 [39, 115] 实时生成语言描述。尽管作者在本文中没有探索这种方法,但它为未来的研究提供了一个有前景的方向。

结论

作者提出了一种名为PriorDiffusion的新方法,该方法将语言先验与扩散模型相结合,以增强单目深度估计。通过利用与语言相关的文本到图像模型学习到的几何先验,PriorDiffusion克服了单目深度估计中固有的歧义和视觉干扰,在各种零样本基准测试中实现了最先进的表现,同时保持了较快的收敛速度。作者还强调了在基于视觉的AI系统中弥合视觉感知与语言理解之间的差距的潜力。

参考文献

[0]. PriorDiffusion: Leverage Language Prior in Diffusion Models.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Work
  • 3 Method
  • 4 Experiments
  • 5 Discussion
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档