利用单目深度基础模型提升双目匹配:DEFOM-Stereo新突破

DEFOM-Stereo利用单目深度基础模型突破双目匹配瓶颈,在多个数据集上取得领先成果,为立体视觉研究提供新思路。

原文标题:CVPR 2025 | 双目匹配新突破!DEFOM-Stereo高效利用单目深度基础模型

原文作者:数据派THU

冷月清谈:

本文介绍了一种新的双目匹配模型DEFOM-Stereo,该模型创新性地利用了单目深度基础模型Depth Anything V2的强大单目先验知识。针对传统双目匹配在遮挡、弱纹理和高分辨率等方面的固有挑战,DEFOM-Stereo通过联合编码器、单目视差初始化和尺度更新等模块,有效融合了单目深度信息与双目匹配框架RAFT-Stereo。实验结果表明,DEFOM-Stereo在仿真和真实场景的Zero-Shot评估中表现出色,并在KITTI、Middlebury和ETH3D等权威Benchmark以及鲁棒视觉挑战(RVC)中均取得领先地位,充分验证了其优越的性能。

怜星夜思:

1、DEFOM-Stereo 如何解决单目深度估计和真实视差之间的尺度不一致性问题?这个尺度不一致性在实际应用中会造成什么影响?
2、DEFOM-Stereo 将 Depth Anything V2 的单目深度估计集成到双目匹配框架中,除了提高准确度,还有什么潜在优势?例如,在处理特定场景(如弱纹理区域)或设备限制的情况下,会有什么帮助?
3、文章提到 DEFOM-Stereo 在 RVC(鲁棒视觉挑战)的联合评估中表现出色,这意味着什么?RVC 评估主要关注哪些方面?对于实际应用,RVC 评估结果有什么指导意义?

原文内容

本文共1300字,建议阅读5分钟
双目立体匹配是计算机视觉中几十年来经久不衰的一个研究课题。



1、概况


双目立体匹配是计算机视觉中几十年来经久不衰的一个研究课题,其主要是从矫正的左右目图像中恢复稠密的匹配视差。进入深度学习时代后, 双目匹配的准确度和鲁棒性都得到了稳步的提高。


然而,现在模型仍然受到搜索准确的稠密匹配的一些固有难点的约束,如遮挡(在右图中匹配点没有直接展现),弱纹理/图像模糊/不良曝光(造成匹配难以准确定位),以及高分辨(往往伴随着大视差,需要很大搜索范围)。


最近,深度估计领域的的一个相关任务 - 单目相对深度估计获得非常大的提升。例如,Marigold [1] 和 Depth Anything V1 [2] 和 V2 [3] 在不同场景中实现了卓越的零样本泛化能力。其中 Depth Anything V2 [4] 是能够恢复非常好的场景结构细节,且相比与基于 Stable Diffusion 的 Marigold [5] 具有显著更快的速度。


因此,为了能够利用单目深度基础模型提供的强大的单目先验用于双目匹配,本文设计了将 Depth Anything V2 [6] 循环双目匹配框架 RAFT-Stereo [7],从构造出了新的双目匹配模型 DEFOM-Stereo。


在仿真域到真实域的 Zero-Shot 综合评估上,DEFOM-Stereo 相比于其他双目模型具有显著的优势。此外,在双目领域的权威在线 Benchmarks 上,包括 KITTI,Middlebury 和 ETH3D 上,DEFOM-Stereo 均由众多指标排名第一。并且,在鲁棒视觉挑战(RVC)的联合评估设定下,我们的模型也能同时在各个子测试集上由于之前所有 RVC 模型。


论文标题:
DEFOM-Stereo: Depth Foundation Model Based Stereo Matching
论文地址:
http://arxiv.org/abs/2501.09466
项目主页:
https://insta360-research-team.github.io/DEFOM-Stereo/
代码开源:
https://github.com/Insta360-Research-Team/DEFOM-Stereo


2、方法框架



2.1 联合编码器


我们利用 Depth Anything V2 中的强大预训练 ViT 和随机初始化的 CNN 一起组成联合编码器,这样使得双目匹配网络中的特征提取更加有效。由于在循环双目匹配框架中,存在两个图像编码器:


1)匹配特征编码器,同时应用在左右图从而来计算像素点之间的相关性;


2)上下文提取器,只应用在左图来控制循环的视差迭代恢复过程。我们同时构建了组合特征提取器和组合上下文特征提取器。


2.2 单目视差初始化


为了利用 Depth Anything V2 估计的深度(实际上是仿射不变的视差)中的已经恢复的场景结构信息,我们将其估计的“深度”进行一定的幅度调整后,用于循环迭代视差的初始化。


虽然相对深度估计被设计成能够恢复仿射不变视差,即与真实视差只相差一个未知的线性变换。但我们在实测发现,即使是最先进的 Depth Anything V2,估计的"深度"图和真实的视差之间不能只用一个线性变换拟合,其估计的“深度”图的各个区域间存在一定的尺度不一致性,如下图所示。


此外,我们将 Depth Anything V2 估计的“深度”图经过仿射对齐到 GT 视差后,再进行视差误差计算,同样也产生非常大的误差。这些,都给后续的循环迭代视差恢复造成了一定的困难。



2.3 尺度更新


为了应对上述单目深度的尺度不一致现象,我们在原始的循环残差迭代更新前面插入了提出的一种尺度更新模块,这个模块以估计一个稠密的尺度因子图的,并以乘积形式更新迭代的视差图。


为了使稠密的尺度因子图恢复得更加准确,我们还设计了一种从相关体金字塔中进行尺度查找的方法。尺度查找主要是预设一系列尺度因子,乘以当前估计视差图获得一些列尺度视差图,再去相关体金字塔采样获取尺度相关特征。


3、实验结果


3.1 零样本泛化对比



3.2 在线 Benchmarks


我们模型同时在 Middlebury,ETH3D,KITTI 2012/2015 上同时具有领先表现,同时在 RVC 联合评估也完胜其他 RVC 模型。


参考文献

[1] https://marigoldmonodepth.github.io/
[2] https://depth-anything.github.io/
[3] https://depth-anything-v2.github.io/
[4] https://depth-anything-v2.github.io/
[5] https://marigoldmonodepth.github.io/
[6] https://depth-anything-v2.github.io/
[7] https://github.com/princeton-vl/RAFT-Stereo

编辑:于腾凯
校对:林亦霖




关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

从研究的角度来看,RVC 评估提供了一个统一的平台,用于比较不同算法的鲁棒性。通过 RVC 评估,我们可以更清楚地了解各种算法的优缺点,从而指导未来的研究方向。

实际应用中,RVC 评估结果可以帮助我们更好地理解算法的适用范围,避免在不适合的场景中使用算法,从而提高系统的性能和可靠性。尤其是在安全性要求较高的应用中,如自动驾驶、医疗诊断等,RVC 评估结果更加重要。

从学术的角度来看,DEFOM-Stereo通过尺度更新模块来动态调整单目深度估计的尺度,本质上是在学习一个残差函数,用于弥补单目深度估计的不足。这与传统的基于优化的方法不同,它利用了深度学习的强大表达能力,可以更好地拟合复杂的尺度变换。

实际应用中,尺度不一致性可能会导致重建的三维模型出现比例失真,影响后续的物体识别、场景理解等任务。尤其是在需要精确的三维信息的应用中,如机器人导航、增强现实等,这个问题更加突出。

RVC 鲁棒视觉挑战主要关注的是算法在各种恶劣环境下的表现,比如光照变化剧烈、存在噪声干扰、图像模糊等等。DEFOM-Stereo 在 RVC 中表现出色,说明它在这些恶劣环境下也能保持较高的精度,这对于实际应用非常重要。如果在实际应用中,算法经常需要处理各种复杂的场景,那么 RVC 的评估结果就具有很高的参考价值。

RVC 的评估结果可以帮助我们选择更适合实际应用的算法,提高系统的稳定性和可靠性。

RVC 评估可不是闹着玩的,它考察的是算法在各种极端情况下的表现,比如光线变化、图像模糊、遮挡等等。DEFOM-Stereo 能在 RVC 里拿第一,说明它的鲁棒性是真的强,在复杂环境下也能稳定工作。

对我们来说,RVC 结果就是一个很好的参考。如果你的应用场景比较复杂,需要算法有很强的适应能力,那 DEFOM-Stereo 这种在 RVC 表现好的算法就值得考虑。

文章里提到Depth Anything V2估计的“深度”图各个区域间存在一定的尺度不一致性,为了解决这个问题,DEFOM-Stereo在循环残差迭代更新前面插入了一个尺度更新模块,通过估计稠密的尺度因子图并以乘积形式更新迭代的视差图。为了更准确地恢复尺度因子图,还设计了一种依据相关体金字塔进行尺度查找的方法。

单目深度估计与真实视差之间的尺度不一致,会导致后续的循环迭代视差恢复困难,精度下降。想象一下,如果初始值就存在偏差,后续的迭代优化也很难完全纠正。

我觉得最大的优势是提高了鲁棒性!Depth Anything V2 本身在弱纹理区域的表现就不错,把它用到双目匹配里,相当于给双目匹配也加了一层保障。以前双目匹配最怕的就是光照不好、纹理不丰富的地方,现在有了单目深度估计的加持,应该能好很多。

另外,如果设备的计算能力有限,可以考虑降低 Depth Anything V2 的分辨率,或者只在关键区域使用,这样也能节省不少计算资源。

DEFOM-Stereo通过引入一个尺度更新模块来解决这个问题,该模块估计一个稠密的尺度因子图,并以乘积形式更新迭代的视差图。感觉这个方法挺巧妙的,相当于给最初的单目深度估计加了一个动态校准,让它更好地适应双目匹配的需求。

尺度不一致性的影响还是很大的,如果不同区域的尺度不一致,就会导致三维重建出现扭曲,影响最终的精度和效果。大家可以想象一下,原本应该是平行的两条线,结果因为尺度不一致,重建出来就变成相交的了,那就完全错了。

从工程角度来看,将 Depth Anything V2 集成到双目匹配框架中具有模块化的优势。可以根据实际需求灵活调整单目深度估计的权重,甚至可以替换成其他单目深度估计模型。这种灵活性使得 DEFOM-Stereo 可以应用于各种不同的场景和设备。

此外,通过共享特征提取层,还可以减少模型的参数量,提高计算效率。这对于移动设备或嵌入式设备来说非常重要。

集成了单目深度估计我认为是可以提升模型在特定场景下的泛化能力。比如在弱纹理区域,单目深度估计可以提供一些先验信息,帮助双目匹配算法找到正确的匹配点。另外,在设备限制的情况下,可以使用单目深度估计的结果作为双目匹配的初始化,从而减少计算量。
当然,这种方法的有效性也取决于单目深度估计的准确性,如果单目深度估计本身存在较大误差,可能会对双目匹配的结果产生负面影响。