【论文精读】NS-Stereo:NeRF-Supervised Deep Stereo(CVPR 2023)
title: NeRF-Supervised Deep Stereo date: 2023-05-05 17:22:02 tags: 论文精读
作者 |
Fabio Tosi1 Alessio Tonioni2 Daniele De Gregorio3 Matteo Poggi1 |
单位 |
University of Bologna 2Google Inc. 3Eyecan.ai |
代码 |
https://github.com/fabiotosi92/NeRF-Supervised-Deep-Stereo |
期刊/会议 |
CVPR 2023 |
主页 |
0.摘要
We introduce a novel framework for training deep stereo networks effortlessly and without any ground-truth. By leveraging state-of-the-art neural rendering solutions, we generate stereo training data from image sequences collected with a single handheld camera. On top of them, a NeRF-supervised training procedure is carried out, from which we exploit rendered stereo triplets to compensate for occlusions and depth maps as proxy labels. This results in stereo networks capable of predicting sharp and detailed disparity maps. Experimental results show that models trained under this regime yield a 30-40% improvement over existing self-supervised methods on the challenging Middlebury dataset, filling the gap to supervised models and, most times, outperforming them at zero-shot generalization.
- 问题:
在一个数据为王的世界里,获得灵活和可拓展的训练样本来释放深度立体网络的全部潜力仍然是一个待解决的问题。
- 工作内容:
我们介绍了一种新的框架,可以轻松地训练深度立体网络,并且没有任何地面真理。通过利用最先进的神经渲染解决方案,我们从单个手持相机收集的图像序列中生成立体训练数据。在它们之上,进行了nerf监督的训练过程,从中我们利用渲染的立体三组来补偿遮挡和深度图作为代理标签。这导致立体网络能够预测尖锐和详细的视差图。
- 效果:
实验结果表明,在该机制下训练的模型在具有挑战性的Middlebury数据集上比现有的自监督方法提高了30-40%,填补了监督模型的空白,并且在大多数情况下,在零样本泛化方面优于它们。
1. Introduction
端到端深度网络b[50]迅速成为立体声的主要解决方案,在有足够训练数据的情况下,在基准测试中取得了出色的结果[42,55,58]。
足够训练数据是它们成功的关键因素,但也是最大的限制之一。在处理深度估计时,由于需要额外的传感器(例如激光雷达),因此很难获得带注释的数据,因此对该领域来说是一个很厚的进入障碍。多年来,有两个主要趋势可以缓解这个问题:自监督学习范式[3,23,76]和合成数据的使用[30,41,75]。尽管取得了这些进展,但这两种方法仍有弱点需要解决。
自我监督学习:尽管有可能在任何用户收集的任何未标记的立体声对上进行训练,并且可能对数据开放,但自监督损失的使用在处理不适定的立体声设置(例如遮挡、非朗伯表面等)时是无效的。尽管最近的方法软化了遮挡问题[3],预测远不如通过监督训练获得的预测那么清晰、详细和准确。此外,自监督立体文献[13,29,76]通常关注定义明确的领域(即KITTI),很少公开领域泛化能力[3]。
合成数据:尽管在注释密集的合成图像上进行训练可以引导网络进行清晰、详细和准确的预测,但在真实数据上进行测试时发生的领域偏移会削弱训练模型的全部潜力。大量近期文献都在讨论零样本泛化[2,16,30,35,36,87],证明了这个问题的重要性。然而,尽管在立体对的合成方面存在着许多困难,但要获得尽可能真实的立体对还是需要付出很大的努力,尽管合成深度标签可以通过图形渲染管道轻松获取。事实上,为高质量资产建模对于缓解领域转移至关重要,并且需要出色的图形技能。虽然艺术家可以提供各种资产,但这些资产很少是开源的,需要额外的人力来组织成看似合理的场景。
简而言之,在数据是新黄金的世界里,获取灵活且可扩展的训练样本以释放深度立体声网络的全部潜力仍然是一个悬而未决的问题。
我们的主要贡献是:
- 一种使用神经渲染和用户收集的图像序列收集和生成立体训练数据的新范式。
- NeRF监督训练协议,将渲染图像三元组和深度图相结合,以解决遮挡问题并增强精细细节。
- 最先进的零样本泛化在具有挑战性的立体数据集[55]上产生,无需利用任何地面真实或真实的立体图像
2. Related Work
Deep Stereo Matching.
深度立体声匹配。几十年来,立体声匹配一直使用手工制作的算法[56]来解决,根据它们的处理步骤和速度/精度权衡,通常分为局部和全局方法。近年来,深度学习已成为立体匹配领域的主导技术,取得了以前难以想象的结果[50]。该领域的早期努力将管道的各个步骤[56]视为可学习的组成部分[37,61,62,74]。从DispNet[41]开始,端到端架构迅速取代了任何替代方法[10,14,27,33,63,72,82,85,86]。该领域的最新进展从RAFT[67]中获得灵感,通过对3D相关体积[35]或本地窗口[30]中的相关执行查找,或者利用Transformer[25,31]来捕获输入立体声对的特征之间的长程依赖性,来设计递归架构。尽管这些方法在公共基准上取得了令人印象深刻的结果,但它们严格要求领域内的密集地面实况。
Self-Supervised Stereo.
自监督立体声。立体文学的这一分支旨在训练深度模型,而不使用地面实况深度数据。一种常见的策略包括在单对[70,71,90]或视频[15,29,76]的立体图像之间使用光度损失[24]。另一种工作线用手工制作的算法[49,68,69]或从其他网络中提取的代理监督来取代它[3]。尽管这些策略是实用的,但它们已被证明仅在专门化或适应单个领域方面有效,并且往往缺乏通用性[3],但无法对闭塞提供可靠的监督。相比之下,我们通过神经渲染来利用最佳的多视图几何来学习立体,类似的单图像深度估计框架可以从立体图像中学习[23]。
Zero-Shot Generalization.
零样本通用化。这一系列工作的重点是在一组标记图像上训练深度模型,然后在假设目标领域特定数据不可用的情况下,在不同领域进行测试时保持准确性。最初探索的方法包括:使用学习域不变特征[86]、手工制作的匹配体积[8],或将视差估计作为手工制作的立体算法之上的细化问题[2]。该领域的最新趋势包括使用对比特征损失和立体选择性白化损失[87],这是一种ImageNet预训练的分类器,用于提取通用图像特征并将其移植到成本体积中[36],或避免捷径[16]。其中,MonoforStereo(MfS)[79]从大规模的真实世界单眼数据集生成训练立体对。这是以1)需要预先训练的单眼深度网络[53]为代价的,该网络通常在涉及地面实况标签的数百万张图像上进行训练,以及2)处理用于获得正确视图的前向扭曲操作产生的孔洞。相比之下,我们的泛式方法从单个图像中提取立体对不需要在百万张图像上预先训练任何模型[53]、基本事实标记或后处理步骤,并且仍然可以获得更好的结果。
Neural Radiance Fields.
神经辐射场。NeRFs[44]属于神经场家族[81]。这些模型使用一个或多个多层感知器(MLP)隐式地参数化5D光场。在短短三年内,它们已经成为使用神经渲染生成新视图的主要方法。已经开发了不同风格的NeRF来处理动态场景[19,32,39,52,80]、图像重新照明[7,65,88]、相机姿态细化[34,78]、多分辨率图像中的抗锯齿[5,6]、交叉光谱成像[51]、可变形对象[18,46–48,73]或内容生成[9,28,60]。最近的NeRF变体侧重于更快的收敛,例如通过利用多个MLP[54]、因子分解[12]或显式表示[4,45,66]
最近的工作部分探索了NeRFs作为高级对象检测[20]、语义标记[89]或学习描述符[83]的数据工厂的潜力。
3. Method
图2展示了我们的NeRF监督(NS)学习框架。我们首先从多个静态场景中收集多视图图像。然后,我们在每个场景上拟合一个NeRF,以渲染立体三元组和深度。最后,渲染的数据用于训练任何现有的立体匹配网络。
3.1. Background: Neural Radiance Field (NeRF)
神经辐射场(NeRF)[44]通过网络Fψ将场景中一个点的5D输入(3D坐标x=(x,y,z)和捕捉它的相机的观看方向(θ,φ))映射为颜色密度输出(c,σ),将观测场景的辐射建模为Fψ→ (c,σ)。这样的5D函数是通过MLP Fψ的权重来近似的。要渲染2D图像,需要采取以下步骤:1)通过场景发送相机射线以采样一组点,2)用Fψ估计每个采样点的密度和颜色,3)利用体积渲染[40]合成2D图像。在实践中从相机光线r(t)=o+td渲染的颜色C(r)可以通过求解以下积分来获得
分别表示沿射线r从tn到tf以及近平面和远平面的n,tf的累积透射率。积分是通过将射线划分为一组预定义的N个均匀间隔的仓来进行正交计算的
其中δi是相邻样本ti、ti+1之间的阶跃。
Speed-up with Explicit Representations.
使用显式表示加快速度。所描述的模型是有效的,但由于两个原因训练缓慢:首先,MLP必须从头开始学习5D空间中所有点的映射,其次,对于每个单独的输入,需要优化整个权重集。显式表示(例如体素网格)可以存储可以快速索引和插值的附加特征,但这是以更高的内存需求为代价的。这允许1)较浅的MLP,更快地收敛,以及2)减少参数数量以优化每个单个输入,即体素网格上的特征和较浅MLP的少数参数。例如,根据这一原理,DVGO[66]构建了两个体素网格M(dens)和M(feat),前者的建模密度和后者存储由MLP Fψ查询以计算颜色的特征:
而Instant NGP[45]构建多分辨率体素网格通过索引哈希访问:
3.2. NeRF as a Data Factory
参考图2,我们现在逐步描述如何使用神经辐射场生成无数图像对,用于训练任何深度立体网络。
5. Experiments
6. Conclusion
------------
参考: 1.