没有合适的资源?快使用搜索试试~ 我知道了~
深度估计器中使用Transformer进行多帧自监督训练的新方法
1600使用Transformer的多帧自监督深度估计0Vitor Guizilini Rares,Ambrus,Dian Chen Sergey Zakharov Adrien Gaidon丰田研究所(TRI),洛斯阿尔托斯,加利福尼亚州0{ first.lastname } @tri.global0图1. 我们的DepthFormer架构通过改进特征匹配来实现最先进的多帧自监督单目深度估计,在代价体积生成过程中跨图像进行。0摘要0与单帧方法相比,多帧深度估计通过利用图像之间的几何关系和特征匹配来改进,而不仅仅是学习基于外观的特征。在本文中,我们重新审视了自监督单目深度估计的特征匹配,并提出了一种新颖的Transformer架构用于代价体积生成。我们使用深度离散化的极线采样来选择匹配候选项,并通过一系列的自注意力和交叉注意力层来优化预测。这些层可以增强像素特征之间的匹配概率,改进了容易产生歧义和局部最小值的标准相似度度量。优化后的代价体积被解码为深度估计,整个流程仅使用光度学目标从视频中端到端训练。在KITTI和DDAD数据集上的实验证明,我们的DepthFormer架构在自监督单目深度估计方面建立了新的技术水平,甚至与高度专门化的监督单帧架构相竞争。我们还展示了我们学到的交叉注意力网络可以在数据集之间进行表示转移,增加了预训练策略的有效性。项目页面:https://sites.google.com/tri.global/depthformer。01. 引言0特征匹配是结构运动(SfM)的基本组成部分。通过在帧之间建立对应点,可以执行各种任务,包括深度估计[5,15,16,18],0自运动估计[33,34,58],关键点提取[58,59],校准[17,66],光流[30,51,77]和场景流[24,25]等任务中,自监督学习使得学习过程不需要显式的真实标签[15,82],而是通过使用从多个相机或单个移动相机获得的从一个图像到另一个图像的信息变形而获得的视图合成损失。尽管从训练的角度来看更具挑战性[16,18,72],但自监督方法可以利用任意数量的无标签数据,已经证明可以达到与监督方法相当的性能[18,72],同时实现新的应用,如测试时间的细化[17,56,72]和无监督领域适应[20]。0单帧自监督方法仅在训练时使用多视图信息,作为损失计算的一部分[15,16,18,56,82]。相反,多帧方法在推断时使用多视图信息,传统上通过构建代价体积[32,57,72,74]或相关层[24,61,62]。这些方法学习了几何特征和基于外观的特征,相对于单帧方法[61,72,74]具有更好的性能。然而,多帧计算在建立帧之间的对应关系时严重依赖特征匹配,仅使用图像信息。因此,由于缺乏纹理、重复、亮度变化、动态物体等引起的模糊和局部最小值,对应关系会存在噪声和不准确性[16,18,74]。0在本文中,我们介绍了一种新颖的架构,旨在改进自监督特征匹配(图1),重点是单目深度估计任务。我们通过使用目标和上下文图像特征之间的代价体积来构建一个代价体积。1610通过可微的深度离散化极线采样,我们提出了一种新颖的基于注意力的机制来改进每个像素的匹配概率。我们展示了改进后的概率比传统的相似度度量[70]更加清晰和代表底层3D结构。生成的多帧成本体积通过高响应窗口滤波直接转换为深度估计,并与来自单独网络的单帧特征结合,以解决成本体积生成中的失败情况。通过大量实验证明,我们的特征匹配改进模块在自监督深度估计方面达到了最新的水平,并且由于其强大的几何基础,可以在不同数据集之间进行直接迁移而只有最小的降级。我们的主要贡献是:0•我们引入了一种新颖的架构,DepthFormer,通过交叉和自注意力结合深度离散化的极线采样来改进多视图特征匹配。0•我们的架构实现了最先进的深度估计结果。它在自监督多帧方法上的表现大大超过了其他方法,甚至超过了有监督的单帧架构。0•我们学到的基于注意力的匹配函数可以在数据集之间进行迁移,这可以显著提高收敛速度并减少内存使用。02. 相关工作02.1. 自监督深度估计0Godard等人的工作[15]通过将深度估计作为视图合成问题,并最小化图像重建目标来引入了自监督到深度估计任务中。最初用于立体对,后来将相同的自监督框架扩展到单目设置[82],并添加了一个姿态网络来估计帧之间的相机运动。尽管由于诸如尺度歧义[18]和无法建模动态物体[16]等限制,单目自监督更具挑战性和限制性,但它使得可以从原始视频中学习,从而使其更适用于来自不同来源的大量数据。过去几年中,在视图合成[16, 56]、相机几何建模[17,66]、网络架构[18]、域自适应[20, 21, 49,81]、尺度消歧[18]和其他监督来源[17,19]方面的进一步改进,使得性能可与甚至超过有监督方法[18, 37, 72]相媲美。02.2. 多帧深度估计0从单个图像中估计深度本质上是一个不适定问题,因为存在无限数量的3D场景0可能导致相同的2D投影[22]。单帧网络学习适用于深度估计的外观特征(例如,消失点距离,相对于地平面的位置),但是这些特征通常基于强假设,并且在正确的对抗攻击下会失败[65]。多帧深度估计方法通过在测试时使用多个图像来绕过这个限制,这样可以从跨帧特征匹配中学习到额外的几何特征。虽然还有其他用于多视图深度估计的框架可用,例如测试时细化[5, 44, 56]和循环神经网络[38, 48,79],但是在这里我们专注于在推理过程中明确推理几何的方法。立体方法通过考虑具有已知基线的正交矫正图像对简化了这个特征匹配过程[2, 35, 41, 45,75]。多视图立体(MVS)是矫正设置的推广,它可以处理具有任意重叠的图像[23, 27, 31, 43,76]。然而,大多数MVS方法都是有监督的,并假设已知的相机姿态(作为基准或通过COLMAP获得[55])。类似地,最近的隐式表示方法也实现了多视图自监督学习[28, 71, 78,80],包括对深度估计的扩展[8,73]。然而,这些方法专注于过度拟合简单场景中的静态对象和周围高重叠视图,这限制了它们对大规模数据集的泛化能力[4, 7, 13,18]。重要的是,使用已知的相机姿态、立体对、监督和/或静态场景可以规避单目自监督学习的一些主要限制。最近的一些方法[72,74]通过将多帧成本体积与单帧特征相结合,实现了在这种设置中的深度和自我运动估计。然而,它们仍然依赖于手工设计的相似度度量:Many-Depth[72]使用绝对差值之和(SAD);MonoREC[74]使用结构相似性(SSIM)。正如我们在实验中所展示的,这些度量容易产生歧义和局部最小值,导致次优的对应关系。我们设计的基于注意力的机制旨在改进成本体积生成的多帧匹配。02.3. 深度估计的注意力0在自然语言处理领域[67]的转变之后,基于注意力的架构在计算机视觉领域[9, 40, 42,50]中越来越受欢迎。在[26]中,使用深度注意力体积来引导室内平面表面的学习,而[53]则使用注意力进行深度解码。类似地,[39]使用卷积特征的补丁级注意力,[50]通过提出一个完全基于注意力的主干网络来消除卷积编码。在[29]中,使用自注意机制来处理卷积特征嵌入,并通过对离散视差代价体积进行积分来解码深度。更多1620(a)从两个图像生成交叉注意力代价体积。0(b)用于生成代价体积的深度离散化对极线采样。0图2. 我们提出的交叉注意力代价体积生成的示意图。两个图像(目标It和上下文Ic)由特征提取网络F处理,对于每个目标特征F(u,v),从深度离散化的对极线Et→cu,v中采样D个匹配候选项F(u′i,v′i)。然后使用一系列的L个自注意力和交叉注意力层来改进这个初始匹配分布。输出是一个交叉注意力代价体积At→c,其中包含每个目标特征相对于其对极候选项的匹配概率,由相应的估计交叉注意力值αL(ui, vi)给出。0与我们的工作相关的[40]提出了矫正图像上的自注意力和交叉注意力,然后将其解码为深度估计。然而,他们的方法是有监督的,并且适用于更简单的立体设置。[52]提出了一种自监督的单目基于注意力的方法,使用时空模块来利用几何和外观信息。然而,通过关注3D点,他们放弃了我们用于确定匹配候选项的对极约束。03. 使用Transformer进行自监督深度估计03.1. 单目深度估计0标准的自监督单目深度和自运动架构包括(i)深度网络fD(It;θD),为目标图像It生成深度图ˆDt;和(ii)姿态网络fT(It, Ic;θT),为目标It和上下文Ic图像对预测相对变换。这个姿态预测是一个刚性变换ˆTt→c =[ˆRt→c ˆtt→c 0 1]0我们通过最小化原始目标图像It和使用预测的深度和姿态将Ic上的像素投影到It的合成目标图像ˆIt之间的光度重投影误差[15,82]来联合训练这两个网络。合成图像通过使用双线性插值[82]进行网格采样获得,因此是可微分的,可以进行端到端训练的梯度反向传播。03.2. 交叉注意力代价体积03.2.1 单目对极线采样0我们提出的交叉注意力代价体积生成过程的示意图如图2a所示。两个H × W ×3的输入图像,目标It和上下文Ic,被编码产生1/4原始尺寸的C维特征Ft和Fc。0对于每个特征fuv t ∈ Ft,对应于像素pt = {u,v},从Fc中沿着其对极线Euv t →c采样匹配候选项,如图2b所示。我们使用空间递增离散化(SID)[11]在对数空间中均匀采样深度值。假设有D个范围从dmin到dmax的bin,每个深度值di由以下公式给出:0log(di) = log(dmin) + log(dma0D (1)0从这些匹配候选中生成一个AH/4×W/4×D×C特征体积Ct→c。每个(u,v,i)单元格接收采样特征Fuv t→c =Fc�u′i,v′i�,对于i∈[0,∙∙∙,D],其中��是双线性采样运算符,(u′,v′)是投影像素坐标,使得:0z′i0� uv′i10�0� = KRt→c0�0� K − 10� v 10�0� di + tt→c0�0� (2)0其中Rt→c和tt→c是帧之间的相对旋转和平移,K∈R3×3是针孔相机内参。在实践中,相对旋转和平移由姿态网络预测,K被假设为已知且恒定,尽管这个假设可以放宽[17,66]。03.2.2 交叉注意力匹配0然后使用注意力模块[67]计算Ft和Ct→c之间的相似性。具体来说,我们使用L个多头注意力层,将C特征通道维度分成Nh组,使得Ch =C/Nh。每个注意力头h使用一组线性投影来计算目标特征Ft的查询Qh和键Khht→cVhVh1630(a)SSIM0(b)交叉注意力0(c)相对于其深度离散化的极线候选像素,不同像素的匹配概率分布。蓝线显示SSIM值(公式9),红线显示经过细化后的交叉注意力值αL(第3.2节),绿点标记对应的地面真实深度值(仅用于比较)。0图3.成本体积可视化。在(a)和(b)中,每个H×W×D的单元格根据其对应的归一化SSIM或交叉注意力值进行着色。即使解码的深度图(右上角)看起来相似,我们提出的交叉注意力成本体积产生了更清晰的分布,如(c)中进一步证明的那样,我们展示了不同像素在深度bin上的各种像素匹配分布。我们提出的基于注意力的相似性显著增加了这些分布的清晰度,消除了模糊性和局部最小值。0以及从特征体积Ct→c中获取的值Vh:0Qh = FtWQh + bQh Kh = Ct→cWKh +bKh (3)0其中WQh,WKh,WVh∈RCh×Ch,bQh,bKh,bVh∈RCh。相似性使用softmax进行每个bin的归一化,得到注意力值αh∈RNh×D:0αh = softmax(QThKh√Ch)0D (4)0输出值V∈RC通过对每个头的输出值进行加权拼接得到:0V = α1V1 ⊕ ∙ ∙ ∙ ⊕ αN hVN hWO + bO (5)0其中WO∈RC×C和bO∈RC,⊕是连接操作。类似地,每个bin的注意力值α = 1/Nh×0通过对头部数量进行平均,得到了hαh。这个过程重复L次,每次使用输出值来更新关键字和值计算的特征体积,使得Cl+1t→c=Vl。最终的注意力值用于填充一个交叉注意力成本体积At→c,一个H/4×W/4×D的结构,编码了Ft中每个特征与Ct→c中其匹配候选特征的相似性。At→c的每个(u,v,i)单元格接收来自最后一个交叉注意力层L的相应注意力值α(u′i,v′i)作为特征匹配的相似度度量。在图3中,我们展示了我们提出的交叉注意力匹配细化过程的影响。在图3a中,直接使用输入特征构建相似性成本体积,使用SSIM(公式9),类似于[72,74],而在图3b中,我们使用从相同特征生成的经过细化的交叉注意力权重。经过细化后,匹配结果0分布更尖锐(见图3c中的每个像素示例),从而得到更鲁棒的成本体积,避免了其他非学习外观相似度度量中的模糊和局部极小值。03.2.3 自注意力细化0与[54]类似,我们在目标Ft和采样的上下文特征Ct→c之间交替进行交叉注意力,同时在极线采样的上下文特征之间进行自注意力。在这种设置下,也从Ct→c计算查询Q′h,使得:0Q′h = Ct→cW′Qh + b′Qh(6)0自注意力细化步骤在每个交叉注意力层之后进行,重复L-1次。在最后一次迭代中省略该步骤,因为交叉注意力权重α来自最后一层L,用于填充At→c,而不是输出值V,因此不需要自注意力更新。03.3. 成本体积解码03.3.1 高响应深度解码0我们使用局部高响应窗口[64]从离散的bin中估计连续的深度值,从而增加对多模态分布[40]的鲁棒性。图4a显示了一个示意图,下面我们描述每个步骤。对于每个像素puv,使用argmax操作找到最可能的α的索引huv以及其采样的极线Euvt→c。在huv周围放置一个1维的2s+1窗口,并进行重新归一化:0˜αi = αi0iai,对于i∈[h−s,h+s](7)0使其总和为1。对于puv的深度值通过将这个重新归一化的分布与相应的深度bin相乘来计算:1640(a) 高响应窗口0(b) 输入图像0(c) 最大注意力0(d) 高响应深度0图4.从交叉注意力成本体积中估计高响应深度。我们不是对所有候选项进行加权求和,而是使用以最可能的候选项为中心的窗口。0响应深度bin:0ˆdH =0i∈[h−s,h+s] di˜αi(8)0规范化的注意力值也可以用作匹配置信度的度量,如图4c所示。特别是,最大的注意力值在较长的深度范围内有明显的下降趋势,特别是朝着消失点的方向,这是由于分辨率降低和帧之间的小运动所导致的。我们利用这种新颖的匹配置信度度量,通过掩盖最大注意力值低于某个阈值λmin的像素,从高响应损失计算和解码特征中排除这些像素(图4d)。这些中间深度图的评估结果见表2。03.3.2 上下文调整深度解码0由于我们提出的交叉注意力成本体积是在极线上回归的,它缺乏周围的上下文信息。为了解决这个限制,我们使用类似于[40]的上下文调整层,通过与输入图像进行条件调整来调整估计的深度值。这种调整是残差的,输出被添加到归一化的高响应深度图ˆDH之前,使用相同的统计数据进行恢复。更多细节,请参考补充材料中的定性示例。03.3.3 多尺度深度解码0从单目信息生成成本体积有两个主要限制:(i)它需要自我运动,如果相机在帧之间静止,将失败;(ii)它假设世界是静态的,在存在动态物体的情况下将失败。为了规避这些限制,最近的方法[72,74]提出了将多帧成本体积与单帧深度网络的特征相结合的方法。然后共同解码这些特征,使得预测的深度图对多帧失败情况具有鲁棒性。0图5.我们实验中使用的解码架构。单帧深度网络增加了多帧交叉注意力特征(第3.2节),生成了多个尺度的深度图,除了直接从多帧注意力(第3.3.1节和第3.3.2节)生成的深度图之外。0我们的多尺度解码架构如图5所示。首先,将交叉注意力代价体积(图2a)进行掩蔽,去除匹配置信度低的像素,然后与由单独的网络编码的It的单帧特征进行级联。使用瓶颈卷积层将这两个特征图组合起来,然后解码以产生多个逐渐增加分辨率的S深度估计。类似于[72],我们使用了一种师生训练过程,通过在代价体积生成失败的区域中监督单帧深度网络的性能来改善多帧预测的性能。这个单帧深度网络是联合训练的,共享相同的姿态预测,并在评估过程中被丢弃。03.4. 训练损失0我们使用自监督深度和自我运动架构进行端到端训练,仅使用光度重投影损失,该损失由结构相似性(SSIM)[70]和绝对误差(L1)项的加权和组成:0Lp = α1 - SSIM(02 + (1 - α) ∥It - ˆIt∥ (9)0按照标准程序,我们还使用深度正则化[15]来强制在低纹理区域中保持平滑性:0Ls = 10HW0u,v | δuˆduv|e-||δuIuv|| + |δvˆduv|e-||δvIuv|| (10)0这两个术语结合起来产生最终的训练损失L = Lp +λsLs,它在所有预测的深度图上聚合:ˆDH(高响应,第3.3.1节),ˆDC(上下文调整,第3.3.2节)和ˆDM(多尺度,第3.3.3节),如下所示:0L = λHLH + λCLC +0S �0i=101 2 i L M i (11)1650RGB0SSIM0交叉0解码0图6.在KITTI数据集上预测的深度图,从SSIM(argmin)和交叉注意力(高响应)代价体积以及解码深度估计输出(全分辨率)获得。相应的定量结果在表2中报告。0(a) 输入目标图像0(b) 高响应深度0(c) 解码深度0图7. 在DDAD数据集上预测的深度图。04. 实验04.1. 数据集0KITTI [13]KITTI数据集是深度评估的标准基准。为了与其他方法进行比较,我们采用了Eigen等人[10]的训练协议,结合了Zhou等人[82]对静态帧的过滤,结果是39810/4424/697个训练、验证和测试图像。DDAD [18]DDAD数据集是一个新的深度评估基准,具有更密集的地面真值和更长的范围,对于多帧方法来说尤其具有挑战性。根据[18],我们只使用前置摄像头,结果是12560/3950个训练和验证图像。Cityscapes [6]我们使用Cityscapes数据集来测试我们提出的交叉注意力模块的泛化性能。我们使用2975个训练图像及其30帧序列,总共89250个图像。VKITTI2 [3] 虚拟KITTI2数据集包含了KITTI里程计基准[14]中五个序列的重建,总共有12936个样本,天气条件和时间不同。ParallelDomain [1] 最近在[20]中引入的ParallelDomain数据集包含了城市驾驶场景的程序生成和完全注释的渲染图像。它包含42000/8000个训练和验证样本。TartanAir [69]TartanAIR是一个用于视觉SLAM的合成逼真数据集。我们使用单目视频进行训练,并根据[63]只选择上下文图像,如果平均-0平均光流幅度在8到96个像素之间。我们的总训练集包含189696张图像。04.2. 实现细节0我们的模型使用PyTorch[47]实现,并在8个Titan V100GPU上进行训练。我们使用Adam优化器[36],β1=0.9,β2=0.999,每个GPU的批量大小为1。我们的网络训练50个epochs,初始学习率为2×10^-4,每20个epochs减半一次。根据[72]的方法,我们在最后5个epochs中冻结姿态和单帧教师网络。我们使用t-1帧作为上下文进行代价体积计算,使用t-1和t+1帧进行损失计算。我们的训练和网络参数为:SSIM权重α=0.85,平滑度权重λs=10^-4,高响应和上下文调整权重λH=λC=0.5,最小注意力λmin=0.1,高响应窗口大小s=1,极线深度分段D=128,注意力维度C=128,注意力头数h=8,注意力层数N=6,输出尺度数S=4。更多细节请参考补充材料。04.3. 深度评估0为了验证我们的DepthFormer架构,我们对其性能与其他已发表方法进行了全面比较。我们的研究结果针对KITTI数据集,这是该任务的标准基准,总结在表1中。我们始终以较大的优势胜过所有其他考虑的方法,包括单帧和多帧方法,甚至那些利用语义标签[5, 17, 19]或合成数据[20, 21, 29,49,81]的方法。特别是,我们在深度解码策略上与ManyDepth[72]相比有显著的改进,ManyDepth[72]直接使用绝对差值和(SAD)作为相似度度量,没有任何特征匹配的改进策略。我们的架构也与单帧监督方法相比具有优势,超过了当前的最新技术(更多细节请参考补充材料)。在表2中,我们展示了中间的深度估计结果DepthFormer0.1352.95312.4770.8361660方法0多帧0合成的0语义0数值越小越好 数值越大越好0AbsRel SqRel RMSE RMSE log δ<1.25 δ<1.25^2 δ<1.25^30Struct2Depth [5] � 0.141 1.026 5.291 0.215 0.816 0.945 0.979 Gordon等[17] � 0.128 0.959 5.2300.212 0.845 0.947 0.976 GASDA [81] � 0.120 1.022 5.162 0.215 0.848 0.944 0.974 SharinGAN[49] � 0.116 0.939 5.068 0.203 0.850 0.948 0.978 Monodepth2 [16] 0.115 0.903 4.863 0.1930.877 0.959 0.981 Patil等[48] � 0.111 0.821 4.650 0.187 0.883 0.961 0.982 PackNet-SFM [18]0.111 0.785 4.601 0.189 0.878 0.960 0.982 GUDA [20] � 0.107 0.714 4.421 — 0.883 — —Johnston等[29] 0.106 0.861 4.699 0.185 0.889 0.962 0.982 Wang等[68] � 0.106 0.799 4.6620.187 0.889 0.961 0.982 MonoDEVSNet [21] � 0.104 0.721 4.396 0.185 0.880 0.962 0.9830TC-Depth [52] � 0.103 0.746 4.483 0.185 0.894 — 0.9830Guizilini等[19] � 0.102 0.698 4.381 0.178 0.896 0.964 0.984 ManyDepth [72] � 0.098 0.770 4.4590.176 0.900 0.965 0.9830DepthFormer � 0.090 0.661 4.149 0.175 0.905 0.967 0.9840表1. KITTIEigen测试集上的深度估计结果[10],使用Garg裁剪[12]和半分辨率(640×192或类似)的距离为80m的情况。Multi-Fr.表示测试时使用多帧;Synthetic表示使用额外的合成训练数据;Semantic表示使用额外的语义信息。0方法 AbsRel ↓ RMSE ↓ δ<1.25 ↑0SAD深度(argmin)0.647 17.662 0.575SSIM深度(argmin)0.632 17.124 0.5980高响应深度 0.264 10.919 0.714 调整后的上下文深度0.167 6.367 0.8080解码深度(1/8) 0.095 4.336 0.892 解码深度(1/4)0.091 4.201 0.900 解码深度(1/2) 0.090 4.1460解码深度(完整) 0.090 4.149 0.9050表2.我们的架构在KITTI数据集上的中间深度估计结果(表1,图6)。0通过对我们的架构的各种输出进行解码,我们在图6中提供了定性示例。通过用具有高响应深度自监督的交叉注意力代价体积替换SAD或SSIM代价体积,我们已经显著改善了性能,从Abs.Rel.为0.647和0.632提高到0.264。在考虑低置信度匹配、遮挡和极线投影不准确的情况下,通过进行上下文调整,我们进一步改善了结果,达到0.167。最后,通过将多帧交叉注意力与单帧特征结合进行联合解码,以推理多帧失败案例,我们实现了报告的结果0.090。有趣的是,低分辨率的解码深度图几乎与完整分辨率的输出一样好。我们将这种行为归因于交叉注意力代价体积,该代价体积在较低分辨率(1/4)上计算,并通过跳跃连接连接到解码器。尽管高分辨率解码是有益的,但对于我们报告的最先进性能来说并不是必要的。0我们还在DDAD数据集上进行了实验,该数据集由于具有更长的深度范围和更多的动态物体而更具挑战性。0方法 AbsRel ↓ SqRel ↓ RMSE ↓ δ < 1.25 ↑0Monodepth2 [16] 0.213 4.975 18.051 0.761PackNet-SFM [18] 0.162 3.917 13.452 0.823 GUDA †[20] 0.147 2.922 14.452 0.809 ManyDepth [72] 0.1463.258 14.098 0.8220表3.DDAD验证集[18]上的深度估计结果,不进行任何裁剪,距离最高达200m(图7)。符号†表示使用合成数据进行监督。0即使在这些条件下,我们的DepthFormer架构也实现了最先进的结果,如表3所示,并在图7中提供了定性示例。04.4. 消融分析0在表4中,我们对我们的DepthFormer架构使用的不同组件进行了分析,包括深度估计结果和内存需求。首先,我们分析了我们提出的交叉注意力模块的影响,表明它对于报告的最先进性能至关重要。我们还展示了通过对高响应和调整上下文深度图进行自监督来优化交叉注意力代价体积对我们的报告性能也是关键的。这是可以预期的,因为如果没有它们,交叉注意力特征只能在联合单帧解码的上下文中使用,而不能优化生成仅基于多帧的深度估计。同样,去除上下文特征中的自注意力计算也会降低结果。我们还对不同的高响应和调整上下文的权重进行了消融实验,在λH = λC = [0.1,1.0]之间实现了类似的结果。我们还尝试了架构的不同变体,通过修改注意力DepthFormer0.0904.1490.90515.26.4DDADCityscapesVKITTI2P. DomainTartanAirKITTI—–0.0904.1490.9051670方法 深度 评估 GPU (GB)0AbsRel ↓ RMSE ↓ δ < 1.25 ↑ 训练 测试0无交叉注意力 0.099 4.430 0.900 3.8 2.9 无交叉注意力损失0.103 4.581 0.892 12.1 5.3 无自注意力 0.094 4.259 0.901 12.25.3016个深度区间 0.101 4.595 0.894 6.6 3.2 48个深度区间 0.0954.330 0.900 8.9 4.8 96个深度区间 0.092 4.181 0.903 12.5 5.4032个注意力通道 0.104 4.761 0.885 8.7 3.7 48个注意力通道0.098 4.332 0.894 9.6 4.3 96个注意力通道 0.093 4.207 0.89912.5 5.502个注意力层 0.094 4.388 0.901 11.4 6.1 4个注意力层 0.0934.321 0.901 13.3 6.20表4. 我们架构的各个组件的消融分析,包括深度评估和GPU需求。0层N,注意力特征通道C和深度分binD。这些结果清楚地显示出,增加交叉注意力网络的复杂性会导致结果的改善。这进一步证明了更好的特征匹配对深度估计是有益的,但也表明即使使用更简单的配置仍然可以获得竞争性的结果。对于更复杂的架构以及效率改进[42,60]的进一步探索,我们将留待未来的工作。04.5. 代价体积泛化0我们提出的架构是模块化的,即交叉注意力网络可以与联合单帧解码架构分离。在本节中,我们探索在多个数据集中可以在多大程度上重用交叉注意力代价体积,建立在已有研究的基础上,即几何特征比外观特征更易于迁移[40, 46, 52,61,74]。为此,我们设计了三个实验,将KITTI数据集作为目标数据集,将多个其他数据集作为源数据集。在热插拔实验中,我们用在源数据集上训练的交叉注意力网络替换目标数据集上训练的交叉注意力网络,保持相同的单帧和姿态网络,无需进一步训练。在微调(单目)实验中,我们从头开始训练单帧和姿态网络,并使用在源数据集上预训练的冻结交叉注意力网络。在微调(全部)实验中,我们按照相同的设置,但还同时优化目标数据集上预训练的交叉注意力网络。为了充分利用合成数据,VKITTI2、PD和TartanAir模型使用深度监督进行预训练(使用平滑L1损失)并使用真实的相对位姿。真实世界数据集(DDAD和Cityscapes)使用本文第3.4节中描述的自监督损失进行预训练。这些实验的结果在表5中报告。有趣的是,在数据集之间交换交叉注意力网络只会导致性能略微下降,约为5%。这表明学习到的匹配0数据集变化 AbsRel ↓ RMSE ↓ δ < 1 . 25 ↑0热插拔 0.098 4.364 0.8990微调(单目)0.099 4.336 0.9020微调(全部)0.091 4.187 0.9040热插拔 0.097 4.339 0.8970微调(单目)0.096 4.291 0.8990微调(全部)0.090 4.138 0.9050热插拔 0.094 4.302 0.8980微调(单目)0.094 4.232 0.8990微调(全部)0.091 4.192 0.9040热插拔 0.102 4.432 0.8880微调(单目)0.097 4.295 0.8970微调(全部)0.090 4.110 0.9040热插拔 0.102 4.532 0.8860微调(单目)0.095 4.397 0.8970微调(全部)0.091 4.187 0.9050表5. 在不同预训练源数据集上的交叉注意力代价体积泛化结果,针对KITTI数据集。0该函数对数据集之间的分布转移具有鲁棒性。事实上,当仅训练单帧和姿态网络时,我们仅使用在源数据集上预训练的冻结交叉注意力网络,就能够获得几乎相同的结果。然而,由于交叉注意力网络没有进行优化(即保持冻结状态),训练迭代速度更快(从7.3提高到14.2FPS,约100%),并且内存需求更少(从15.3GB减少到12.4GB,约20%)。在此设置下达到收敛后,我们只需对所有网络进行5个时期的微调,而不是从头训练整个架构所需的50个时期,就能够复现报告的最先进结果。05. 结论0本文提出了一种新颖的基于注意力的代价体积生成过程,用于多帧自监督单目深度估计。我们的主要贡献是设计了一个交叉注意力模块,用于改进图像之间的特征匹配,改进了传统的基于外观的相似度度量方法,这些方法容易产生歧义和局部最小值。我们展示了我们的交叉注意力模块可以导致更稳健的匹配,这些匹配被解码为深度估计,并且仅使用光度目标进行端到端训练。我们在KITTI和DDAD数据集上建立了新的技术水平,超过了其他单帧和多帧自监督方法,我们的结果甚至与最先进的单帧监督架构相当。我们还展示了我们学到的交叉注意力模块具有很高的可迁移性,并且可以在不进行微调的情况下跨数据集使用,以加快收敛速度并减少训练时的内存需求。1680参考文献0[1] Parallel domain.https://paralleldomain.com/,2021年11月。60[2] Filippo Aleotti, Fabio Tosi, Li Zhang, Matteo Poggi, andStefano Mattoccia.通过增强的单目蒸馏实现自监督深度立体。在ECCV,2020年。20[3] Yohann Cabon, Naila Murray, and Martin Humenberger.虚拟KITTI 2. arXiv:2001.10773,2020年。60[4] Holger Caesar, Varun Bankiti, Alex H Lang, Sourabh Vora,Venice Erin Liong, Qiang Xu, Anush Krishnan, Yu Pan,Giancarlo Baldan, and Oscar Beijbom.nuscenes:用于自动驾驶的多模态数据集。在CVPR,2020年。20[5] Vincent Casser, Soeren Pirk, Reza Mahjourian, and AneliaAngelova.无传感器的深度预测:利用结构进行无监督学习的单目视频。在AAAI,2019年。1,2,6,70[6] Marius Cordts, Mohamed Omran, Sebastian Ramos, TimoRehfeld, Markus Enzweiler, Rodrigo Benenson, Uwe Franke,Stefan Roth, and Bernt Schiele.用于语义城市场景理解的Cityscapes数据集。在CVPR,2016年。60[7] Marius Cordts, Mohamed Omran, Sebastian Ramos, TimoScharw¨achter, Markus Enzweiler, Rodrigo Benenson, UweFranke, Stefan Roth, and Bernt Schiele.Cityscapes数据集。在CVPR研讨会(视觉数据集的未来)中,卷2,2015年。20[8] Kangle Deng, Andrew Liu, Jun-Yan Zhu, , and Deva Ramanan.深度监督NERF:更少的视角和更快的训练。arXiv:2107.02791,2021年。20[9] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov,Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner,Mostafa Dehghani, Matthias Minderer, Georg Heigold,Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby.一张图片等于16x16个单词:用于图像识别的Transformer。ICLR,2021年。20[10] David Eigen, Christian Puhrsch, and Rob Fergus.使用多尺度深度网络进行深度图预测。arXiv:1406.2283,2014年。6,70[11] Huan Fu, Mingming Gong, Chaohui Wang, Kayhan Bat-manghelich, and Dacheng Tao.深度序数回归网络用于单目深度估计。在CVPR,2018年。30[12] Ravi Garg, Vijay Kumar Bg, Gustavo Carneiro, and Ian Reid.无监督的CNN用于单视图深度估计:几何拯救。在ECCV,2016年。70[13] Andreas Geiger, Philip Lenz, Christoph Stiller, and RaquelUrtasun. 视觉与机器人相遇:KITTI数据集。IJRR,2013年。2,60[14] Andreas Geiger, Philip Lenz, and Raquel Urtasun.我们准备好自动驾驶了吗?KITTI视觉基准套件。在CVPR,2012年。60[15] Cl´ement Go
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功