【论文简述及翻译】RAFT-Stereo: Multilevel Recurrent Field Transforms for Stereo Matching(3DV 2021)

一、论文简述

1. 第一作者:Lahav Lipson

2. 发表年份:2021

3. 发表期刊:3DV,Best paper

4. 关键词:立体匹配、端到端训练、迭代优化、GRU

5. 探索动机:立体中的3D卷积处理代价体的计算成本很高,并限制了可能操作的分辨率,需要专门的方法来处理高分辨率图。另一方面,RAFT表明迭代改进可以完全在高分辨率下执行,提出了一个在标准光流基准上性能很好的简明结构。

6. 工作目标:是否可以基于RAFT的设计思路,提出一种新的用于双视图立体视觉的结构

7. 核心思想:将RAFT运用到了立体匹配中,并进行了如下改进:

  • 只计算X轴(W方向)的视差信息,输入的图像对需经过极线校准;
  • 构建多尺度Conv-GRU模块,迭代优化时增大网络感受野,从而增加对大范围无/弱纹理区域的适应性;
  • Slow-Fast GRU:通过使用小分辨多更新、大分辨率少更新的策略,保持精度的同时提升了速度。

8. 实现方法:

  • 特征提取:通过特征编码器从两个输入图像中提取每个像素的特征,通过上下文编码器从I1中提取特征的;
  • 计算视觉相似度:通过计算所有特征向量对的内积,构造一个3D W×W×H相关体,在3D体最后1维上进行多尺度池化,以构建一组多尺度体;
  • 相关查找:定义查找算子LC,它通过从相关金字塔中索引生成特征图;
  • 迭代更新:基于GRU的循环更新算子,构建多尺度Conv-GRU模块,更新模块的感受野;多个GRU单元之间交叉互联, 交错使用隐藏状态;使用最高分辨率那层的GRU单元从相关体中检索值并迭代更新初始化为零的视差场;
  • 上采样:采用和RAFT相同的上采样方式;
  • 监督:计算伴随权重呈指数增长的预测光流和真实光流之间的l1距离。

9. 实验结果:实现了最先进的跨数据集的泛化性,在Middlebury排行榜上RAFT-stereo排名第一,1px的误差比第二好的方法高出29%,并且在ETH3D双视图立体视觉基准上的表现优于所有已公布的工作。

10.论文&代码下载:

IEEE Xplore Full-Text PDF

GitHub - princeton-vl/RAFT-Stereo

二、论文翻译

RAFT-Stereo: Multilevel Recurrent Field Transforms for Stereo Matching 

摘要

我们首次提出了RAFT- stereo,一种基于光流网络RAFT的用于矫正后的立体视觉的新型深度结构。我们首次提出了多级卷积GRUs,它可以更有效地跨图像传播信息。RAFT-Stereo的改进版本可以进行精确的实时推断。在Middlebury排行榜上RAFT-stereo排名第一,1px的误差比第二好的方法高出29%,并且在ETH3D双视图立体视觉基准上的表现优于所有已公布的工作。

1. 介绍

立体深度估计是一个基本的视觉问题,直接应用于机器人、增强现实、摄影测量和视频理解问题。标准设置提供了两个帧(一个左帧和一个右帧)作为输入。任务是估计输入图像之间的像素位移图。在矫正后的立体视觉中,每个像素的位移被约束到一条水平线。这个位移图被称为视差,可以与相机校准参数一起使用,以恢复深度、3D点云或其他适合于下游目标应用的3D表示。

早期的工作关注于该问题的两个关键部分:(1)特征匹配和(2)正则化。给定两幅图像,特征匹配的目的是计算一对图像块之间的匹配代价。常用的方法包括互信息、归一化互相关、汉明距离、普查变化。给定一组有噪声的匹配,正则化的目标是根据平滑性和平面性等先验恢复具有一致性的深度图。这两个目标可以自然地表述为一个优化问题,即根据3D几何先验最大化视觉相似性度量。

光流与矫正后的立体视觉是密切相关的问题。在光流中,任务是预测逐像素的位移场,这样,对于第一帧中的每个像素,我们可以估计它在第二帧中的对应关系。在矫正立体中,任务是相同的,除了我们有额外的约束,即x位移总是正的,对应的点位于水平线上,因此y位移总是0。

尽管立体和光流之间有相似之处,但用于这两种任务的神经网络结构却截然不同。在立体中,最主要的方法是使用3D卷积神经网络。首先通过枚举整数视差来构建3D代价体,然后使用3D卷积网络来过滤代价体。这个公式将立体几何作为网络设计的一个归纳先验。然而,使用3D卷积来处理代价体的计算成本很高,并限制了可能操作的分辨率。需要专门的方法来处理高分辨率图,例如Middlebury数据集的百万像素的图像。

另一方面,光流通常采用迭代改进的方法。RAFT表明迭代改进可以完全在高分辨率下执行,提出了一个在标准光流基准上性能很好的简明结构。RAFT首先从输入图像中提取特征,然后通过计算所有像素对之间的相关来构建4D代价体。最后,基于GRU的更新算子通过从相关体中检索的特征对光流场进行迭代更新。

我们首次提出了RAFT-Stereo,一种新的用于双视图立体视觉的结构。我们方法的概述如图1所示。总体设计基于RAFT。首先,通过计算相同高度像素之间的视觉相似性,我们将全对的4D相关体替换为3D体。此外,我们首次提出了多级GRU单元,它通过交叉连接在多个分辨率上保持隐藏状态,但仍然生成一个高分辨率的视差更新。这提高了更新算子跨图像传播信息的能力,提高了视差域的全局一致性。

图1. 从每幅图像中提取相关特征(蓝色)并用于构建相关金字塔。 “上下文”图像特征(白色)和初始隐藏状态也从上下文编码器中提取。视差场被初始化为零。每次迭代,GRU(s)(绿色)使用当前视差估计从相关金字塔中采样。GRU(s)使用生成的相关特征、初始图像特征和当前隐藏状态来产生新的隐藏状态和视差更新。

RAFT-Stereo与以前的立体网络有很大的不同。现有的工作通常凭借3D卷积网络处理立体代价体。相比之下,RAFT-Stereo只使用2D卷积和使用单一矩阵乘法构建的轻量级代价体。RAFT-Stereo避免了3D卷积的高计算量和高内存成本,可以直接应用于百万像素图像,而不需要调整大小或以块的方式处理图像。此外,通过使用迭代网络,我们可以轻松地通过提前停止以精度换取效率。RAFT-Stereo也不需要额外的复杂的损失项,因此容易训练。

我们的主要贡献是建立了结合立体和光流方法的立体网络。相比现有神经网络,RAFT-Stereo显示出更好的跨数据集泛化性。当只在合成数据上训练时,我们的网络在真实数据集上表现非常好,例如KITTI、ETH3D和Middlebury,在相同设置下进行评估,比其他所有工作都要好。此外,RAFT-stereo是准确的。它在Middlebury排行榜上排名第一,并在ETH3D排行榜上超越了所有已公布的工作。由于具有较高的精度和较好的泛化性,我们相信RAFT-Stereo算法将是一种非常有用的非专门制定的立体视觉算法。

2. 相关工作

预测校正后的立体图像之间的视差是计算机视觉中一个长期存在的问题。早期的工作专注于设计更好的匹配代价和高效的推断算法。传统的立体管道机制通常由匹配阶段和过滤阶段组成。在匹配阶段,计算图像块之间的成对代价。在优化和滤波阶段,利用先验校正错误匹配,恢复一致的视差图。

在立体匹配管道中深度学习首先用于计算匹配代价。Zbontar和LeCun提出了一个网络来评估一对图像块之间的匹配得分。然后使用半全局匹配、一致性检查和过滤处理匹配代价。Mayer等人在Flownet结构的基础上,提出了首个端到端可训练的立体匹配网络,再加上一个巨大的合成数据集,使得训练立体卷积网络成为可能。

受经典管道机制的启发,许多工作采用了3D神经网络结构进行端到端的立体匹配。GCNet是最先提出这种方法的论文之一。在该框架中,图像首先通过二维卷积网络进行映射,获得稠密的特征表示。接下来,通过连接或相关算子,构建二维特征图的三维代价体。然后通过一系列3D卷积层过滤代价体,接着通过可微分argmin算子映射出每个像素点的深度估计。许多工作已经提出这种设计的变体,例如使用堆叠的3D沙漏结构来处理代价体,或设计新的聚合层来更好地传播信息。3D卷积的目的是作为经典滤波算法(如SGM)的可微近似。

虽然在数据集如KITTI和FlyingThings3D上这种方法优于传统方法,但3D卷积计算成本高,并且常常无法泛化他们的训练之外的域,这意味着他们不能轻易地用于没有真实训练数据的数据集。为了提高深度立体网络的泛化能力,人们已经做了一些努力,如添加新的网络组件或生成额外的训练数据。DSMNet试图提高GA-Net结构的泛化能力,方法是对用于构造代价体的特征进行归一化,并利用一种非局部基于图的过滤方法来减少GA-Net对局部模式的依赖。DSMNet比之前的工作取得了更好的泛化效果,但在结构设计中仍然使用了3D卷积。这导致了较高的计算成本,并限制了DSMNet可操作的分辨率。这些工作主要集中在zero-shot跨数据集泛化性。在本文中,我们还评估了在ETH3D、KITTI和Middlebury数据集上的跨数据集泛化性。

另一项工作是用更轻量级的模块替换3D网络中成本更高的组成部分。Liang等人首先提出了一种两阶段立体改进网络。Bi3D提出了用一系列分类阶段估计深度的方法。最近,HITNet通过使用预测的tile来引导立体图像预测,利用场景的平面几何作为网络设计中的一个归纳先验。在前向传播中,HITNet的基于tile的方法必须确定每个像素是否位于一个平面上。为了学习这种行为,他们必须在tile的角度和决策权重上强加一些额外的损失项,而不是像RAFT-Stereo那样只使用标准的L1损失。HITNet还能保持进行全分辨率的立体预测,而RAFT-Stereo只在最后阶段对立体预测进行上采样。这使得RAFT-Stereo的存储效率更高,使我们能够在百万像素图像上预测全分辨率的立体图像。

3. 方法

给定一对校正图像(IL, IR),我们的目标是估计一个视差场d,即给出IL中每个像素的水平位移。与RAFT相似,我们的方法由三个主要部分组成:特征提取器、相关金字塔和基于GRU的更新算子,如图1所示。更新算子从相关金字塔中迭代地检索特征,并在视差场上进行更新。

3.1. 特征提取

我们使用两个独立的特征提取器,称为特征编码器和上下文编码器。该特征编码器应用于左图像和右图像,并将每个图像映射为稠密特征图,然后使用稠密特征图构造相关体。该网络由一系列的残差块和下采样层组成,根据实验中使用的下采样层的数量,生成分辨率为输入图像1/4或1/8的256个通道的特征图。我们在特征编码器中使用实例归一化。

上下文编码器与特征编码器具有相同的结构,只是我们将实例归一化替换为批归一化,并且只在左边的图像上应用上下文编码器。上下文特征用于初始化更新算子的隐藏状态,并在更新算子的每次迭代期间输入GRU。

3.2. 相关金字塔

相关体:我们使用特征向量之间的点积作为视觉相似性的度量。类似于RAFT通过计算所有像素对之间的视觉相似性来构造4D相关体,我们将相关体的计算限制在y坐标相同的像素上。给定分别从IL和IR提取的特征图f,g∈R HXWXD,可以通过将内积的计算限制为共享相同第一个索引的特征向量,对4D体构造进行修改,来计算3D相关体

与4D体一样,3D体的计算可以通过使用单一矩阵乘法来高效地实现,这可以很容易地在GPU上计算,只占用总运行时间的一小部分。

在矫正立体视觉中,我们通常可以假设所有的视差都是正的;因此,相关体实际上只需要为正视差计算。然而,计算全体的优点是,操作可以使用高度优化的矩阵乘法来实现。这简化了整体结构,允许我们使用常见的操作,而不是需要定制的GPU内核。

相关金字塔:我们通过在最后一个维度上重复平均池化构造了一个4层的相关体金字塔。金字塔的k层是由第k层的体构建,使用核大小为2和步幅为2的一维平均池化,产生一个新的体Ck+1,维数为H×W×W/2k。金字塔的每一层都增加了感受野,但通过只池化最后一个维度,我们保持了原始图像中呈现的高分辨率信息,这使我们能够恢复非常精细的结构。

相关查找:为了在相关金字塔中索引,我们定义了一个查找算子,类似于在RAFT中定义的算子。给定当前视差估计,我们在当前视差估计周围构造一个具有整数偏移的一维网格,如图2所示。该网格用于在相关金字塔的每一层进行索引。因为网格数值是实数,当索引每个体时我们使用线性插值。然后,检索到的值被连接成一个单一的特征图。

图2. 从相关金字塔中查找。我们使用当前的视差估计来从相关金字塔的每个层级中检索值。我们通过在当前视差估计和整数偏移处进行线性插值,在金字塔中的每个层级上进行索引,其大小取决于相关金字塔级别。

3.3. 多级更新算子

我们从初始起点d0=0预测一系列视差场{d1,…,dN}。在每次迭代过程中,我们使用当前的视差估计来索引相关体,从而产生一组相关特征。这些特征通过2个卷积层。类似地,当前视差估计也通过两个卷积层。将相关特征、视差和上下文特征连接并输入GRU。GRU更新隐藏状态,然后使用新的隐藏状态来预测视差更新。

多个隐藏状态:最初的RAFT完全以不变的高分辨率执行更新。这种方法的一个问题是,随着GRU更新数量的增加,感受野的增长非常缓慢,对于具有大的无纹理区域且几乎没有局部特征的场景,这可能会是一个问题。为了缓解这个问题,我们提出了一种多分辨率更新算子,它可以同时在1/8、1/16和1/32分辨率的特征图上操作。在我们的实验中,我们证明了我们使用的多分辨率更新算子产生了更好的泛化性能。

GRU通过使用彼此的隐藏状态作为输入进行交叉连接,如图3所示。GRU在最高分辨率进行相关查找和最终视差更新。我们还尝试了更高分辨率的模型,以分辨率为1/4、1/8和1/16的输入图像进行GRU更新。

图3. 多级GRU。我们使用3级卷积GRU,它作用于大小为输入图像分辨率的1/32、1/16和1/8特征图。通过上采样和下采样操作,将相邻分辨率的GRU之间传递信息。最高分辨率(红色)的GRU从相关金字塔执行查找并更新视差估计。

上采样:预测的视差图是输入图像分辨率的1/4或1/8。为了输出全分辨率视差图,我们使用与RAFT相同的凸上采样方法。RAFT-Stereo将全分辨率视差值视为其粗糙的分辨率邻域的3x3网格的凸组合。通过最高分辨率GRU对凸组合权重进行预测。

Slow-Fast GRU​​​​​​​:与更新1/16分辨率隐藏状态相比,GRU更新1/8分辨率隐藏状态需要大约4倍FLOPs的计算量。为了利用这一事实进行更快的推断,我们训练了一个版本的RAFT-Stereo,在该版本中,对于1/8分辨率隐藏状态的每次更新,我们都要多次更新1/16和1/32分辨率隐藏状态。在KITTI分辨率图像上用32个GRU更新,这个简单的改变将RAFT-Stereo的运行时间从0.132s缩短到0.05s,减少了52%。参见表6。

这一改进使我们能够用RAFT-Stereo获得与实时立体视觉中最先进方法相媲美的性能(见第4.7节),用一个运行速度快一个数量级的方法。

3.5. 监督

我们对整个预测序列{d1,…,dN}的预测视差和真实值之间的L1距离进行了监督,权重呈指数递增。给定真实视差dgt,Loss被定义为

4. 实验

我们在ETH3D、Middlebury和KITTI-2015上评估RAFT-Stereo。延续先前的工作,我们在Scenceflow数据集上预训练我们的模型。我们的方法在ETH3D和Middlebury排行榜上取得了最先进的性能,并且在ETH3D、KITTI和Middlebury上的zero-shot泛化设置上优于现有的方法。

实现细节:RAFT-Stereo在Pytorch中实现,并使用两个RTX 6000 GPU进行训练。所有模块都是用随机权重从头开始初始化的。在训练期间,我们使用AdamW优化器。在消融实验中进行了32次视差场更新后我们对RAFT-Stereo进行了评估,表1中实验进行了80次更新后进行评估。

​表1. 合成到真实的泛化实验。所有方法都在SceneFlow上进行了训练,并在 KITTI2015、Middlebury 和 ETH3D 验证数据集上进行了测试。我们公布了200k步后评估的六个独立训练运行的平均结果。误差是端点错误大于指定阈值的像素百分比。我们使用标准评估阈值:KITTI为3px,Middlebury为2px,ETH3D为1px。

训练计划:最终模型在合成数据训练200k步,批量大小为8,而在消融实验中训练100k步,批量大小为6。消融实验(见表6)在训练期间进行了16次视差域的更新,最后的结果经过22次更新的训练。我们使用一个周期的学习率计划,最低学习率为1e−4。所有的RAFT-Stereo实验都是在随机裁剪的360×720图片上训练的(不包括基准提交),所有的实验,不包括消融实验,都使用数据增强进行训练。具体地说:图像饱和度调整在0(灰度)和1.4之间;对右侧图像进行扰动以模拟在ETH3D和Middlebury等数据集中常见的不完美校正;我们通过使用[2−0.2,2+0.4]范围内的随机因子拉伸图像和视差图,以模拟一系列可能的视差分布。

4.1. Zero-Shot Generalization

我们评估了RAFT-Stereo从合成训练数据到未知的真实世界的数据集的泛化能力。这一能力至关重要,因为不存在用于训练的大规模真实数据集。在表1中,我们公布了RAFT-Stereo从Sceneflow直接泛化到KITTI15、ETH3D和Middlebury验证集,并在相同zero-shot设置下与其他方法进行了比较。

在三个验证数据集上,在Zero-Shot 合成到真实设置中,RAFT-Stereo展示了最先进的性能。RAFT-Stereo使用数据增强迭代训练200k次。

4.2. KITTI

我们将RAFT-Stereo提交给KITTI-2015立体基准。在撰写本文时,RAFTStereo在已公开的方法中,在KITTI-2015立体排行榜上的前景错误像素百分比上排名第二(见表2)。对于KITTI排行榜,我们使用320x1000随机裁剪在KITTI训练集上迭代5k次进行了微调,最低学习率为1e−5,并增强了数据。

​表2. KITTI-2015排行榜上的结果。仅包括已公布的结果。每个评估指标的最佳结果用粗体表示,次优用下划线表示。在提交时,在已公布的方法中RAFT-Stereo错误(EPE >3.0 px)前景像素的百分比排名第二。

4.3. ETH3D

ETH3D数据集太小,无法进行训练,因此我们直接评估在SceneFlow数据集上训练过的模型。为了从Sceneflow泛化到ETH3D,我们通过在附加灰度的Sceneflow图像上微调网络来模拟ETH3D的图像分布,并通过Gamma调整来模拟在ETH3D中经常过度曝光的黑白图像。在验证集上,我们注意到应用大量GRU迭代可以在不增加内存成本的情况下提高精度。为了获得表1和表3中的最终验证结果,我们运行RAFT-Stereo进行了80次迭代。在图4中我们给出了ETH3D的定性结果。仅使用合成训练数据,在ETH3D双视图立体排行榜上,在已公布的方法中RAFT-Stereo排名第一,获得了2.44的bad 1-pixel误差(端点误差大于1px的像素百分比),比第二的2.69降低了9.3%。

​表3. ETH3D测试集排行榜上的结果。在提交时,在所有已发布方法中的每个评估指标中RAFT-Stereo均排名第一。对于所有指标,越低越好。

​图4. ETH3D立体数据集的结果。RAFT-Stereo对无纹理表面和过度曝光等困难情况具有鲁棒性。

4.4. Middlebury

在Middlebury测试集排行榜上RAFT-Stereo排名第一,2px误差为4.74%,比第二好的端到端深度学习方法减少了26%的误差。参见表4。Middlebury数据集提供23个用于训练和/或验证的高分辨率图像对,以及具有替代光照的版本。在Sceneflow上进行预训练之后,我们在23个Middlebury训练图像进行384x1000随机后进行了4000步的微调,批大小为2,在训练期间进行了22次更新迭代。

表4. Middlebury 测试集排行榜上的结果与表现最好的方法的比较。所有指标越低越好。

RAFT-Stereo具有极高的内存效率,因此能够输出全分辨率(1900x3000)高密度光流。这与排行榜上34种最佳方法中的其余的33种形成了鲜明对比,这些方法需要从半分辨率上采样输出。为了进一步减少内存,我们还将RAFT的内存高效相关实现改进为3D,其中的相关特征是动态计算的。有关更多信息,请读者参阅RAFT中的第3.2节。除了前面提到的对右图像的水平图像拉伸、饱和度调整和垂直扰动之外,我们不做额外的数据增强来调整Middlebury数据集。图5显示了在Middlebury上RAFT-Stereo的定性结果。

图 5. 在Middlebury测试集上与最先进的端到端深度学习方法比较的结果。我们还在图片左下角公布了每个输出的1px误差。RAFT-Stereo能够恢复其他方法无法恢复的极其精细的细节,例如自行车车轮的辐条、植物的单个叶子和尖锐的物体边界。

4.5. 合成数据集

为了提高Zero-Shot泛化性能,我们使用额外的合成数据来训练额外版本的RAFT-Stereo。由于真实世界的立体对应训练数据很难大量获得,大多数立体对应工作(如PSMNet和DSMNet)利用合成训练数据,特别是仅用Sceneflow数据集进行训练。

然而,Sceneflow中3D场景的整体结构并不能代表我们希望泛化的其他真实世界的数据集。为了补救这个问题,我们调查了另外三个公开可用的合成数据集,并证明了将它们与Sceneflow相结合可以提高zero-shot泛化性能。在表5中,我们展示了数据集的某些组合有利于对特定验证数据集的泛化。

表5. 合成数据泛化实验。所有实验均以不同的权重初始化运行两次,并对验证性能进行平均。数据是平衡的,以便每个数据集代表相同比例的训练数据。实验是使用具有单个隐藏状态的RAFT-Stereo进行的,进行了随机裁剪和右图像的垂直扰动。

Flowing ThingsFlowing Things是一个真实照片的合成数据集,包含零星放置在场景周围的各种物体。Flowing Things最初打算作为目标检测和3D位姿估计的数据集,提供61.5K图像对用于训练立体对应方法。我们证明了使用该数据集可以提高泛化性能,特别是对于KITTI和Middlebury数据集。

Tartan AirTartan Air是一个公开提供的模拟环境的真实照片的合成数据集,模拟真实世界的设置。该数据集主要用作SLAM数据集,但也提供用于训练立体对应方法的296K图像对。在我们的实验中,我们展示了Tartan Air对KITTI和ETH3D具有很好的泛化性。

Sintel-StereoSintel数据集主要作为训练光流方法的合成数据集。除了光流训练数据外,他们还提供用于训练立体对应方法的2.1K图像对。虽然仅在该数据集上训练RAFT-Stereo会导致其过拟合,但我们发现,将Sintel-Stereo与三个合成数据集结合使用可提供出色的泛化性能,特别是它提高了对ETH3D数据集的泛化性。

4.6. 消融

GRU LevelsRAFT-Stereo在多种分辨率下保持和更新多个隐藏状态,通常为1/8、1/16和1/32分辨率,如图3所示。除了用于该分辨率的特定上下文特征之外,每个隐藏状态都使用专用GRU进行更新,该GRU将相邻的隐藏状态用作上下文。使用多个隐藏状态会增加运行时间,但会带来更好的整体性能。

BackboneRAFT-Stereo使用单独的主干,以便为GRU更新提取相关特征和上下文特征。我们表明,使用单个主干同时产生相关特征和上下文特征可以在不引起任何性能下降的前提下更快地进行推断。我们在实时版本的RAFT中使用单主干结构(见第4.7节和图6)。

​图6. 从合成数据到KITTI-2015的zero-shot泛化比较图。所有方法仅在Sceneflow上进行训练,无需任何微调。RAFT-Stereo可以配置为实时推断,并通过最先进的立体方法实现具有竞争力的性能。相对于我们的基本模型(蓝色),我们的实时模型(蓝绿色)使用共享主干、两个隐藏状态分辨率和slow-fast GRU以1/8分辨率更新光流场(第4.7节)

ResolutionRAFT-Stereo更新其1/8或1/4分辨率的视差运行估计值。将运行时的视差估计保持在1/4分辨率会产生明显更好的泛化效果,但会导致运行时间较慢,并且使用大约4倍的GPU内存。这是通过缩小特征提取器中的步长和预测用于凸上采样的按比例缩小的掩码来实现的。

Collapsed Cost Volume没有训练单独的网络来估计立体对应,一种选择是应用现有的光流法,并将预测的光流投影到极线上。我们表明,与RAFT相比,通过简单地压缩代价体来实现用于立体的RAFT的运行时间要快得多。

Slow-Fast通过更频繁地迭代较低分辨率的GRU和较少迭代较高分辨率的GRU,我们观察到RAFT-Stereo的运行时间显著减少,但对精确度的影响有限。在表6中,“Slow-Fast”版本的RAFT-Stereo分别更新最低、中间和最高分辨率的隐藏状态30、20和10次,而“常规”更新每个隐藏状态32次。“Slow-Fast”和“常规”使用相同的模型权重。

​表6. 消融实验。我们最终模型中使用的设置是带有下划线的。有关详细信息,请参阅第4.6节。所有实验都在随机320x720裁剪图片的Sceneflow上运行100k步,并将右图像的垂直扰动作为唯一的增强。在保留的FlyingThings3D测试集上评估方法,我们使用该测试集为我们的零样本泛化/实时实验做出所有设计决策。我们公布了在100k步后评估的1px误差,该误差是在两次独立训练运行和随机权重初始化的平均值。公布的运行时长的比较是在1248x384分辨率图像(即 KITTI 分辨率)上进行的。

4.6. 实时推断

我们证明了RAFT-Stereo可以配置为在KITTI分辨率(1248x384)图像上进行实时推断,并且具有竞争力的性能。通过利用Slow-Fast bi-level (1/8和1/16分辨率)GRU和单个主干,RAFT-Stereo的运行速度为26 FPS。我们实时的RAFT-Stereo实现的表现(5.91D1误差)与DSMNet48相当。参见图6。此外,我们在CUDA中实现了我们自己的双线性采样器,因为Pytorch的默认实现被证明是一个实时瓶颈。

5. 总结

我们在RAFT的基础上提出了一种全新的适用于双视图立体深度结构 (RAFT-Stereo)。RAFT-Stereo利用多级GRU有效地在图像中传递信息,从而扩展了RAFT。我们的方法实现了最先进的跨数据集的泛化性,在Middlebury基准测试中排名第一,在ETH3D上的表现优于所有已公开的工作。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华科附小第一名

您的支持对我的前行很重要!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值