(ECCV 2022)Self-distilled Feature Aggregation for Self-supervised Monocular Depth Estimation

Self-distilled Feature Aggregation for Self-supervised Monocular Depth Estimation

在这里插入图片描述
图1 在KITTI[13]上使用不同特征聚合技术(直接拼接(Raw)、基于偏移的聚合(OA)[26]和提出的SDF A模块)的网络(见第4.3节)进行深度图比较,其中“A1”是精度度量。

abstract

自监督单目深度估计是近年来计算机视觉领域研究的热点。现有文献大多通过直接拼接或元素相加的方式聚合多尺度特征进行深度预测,但这种特征聚合操作往往忽略了多尺度特征之间的上下文一致性。针对这一问题,我们提出了自蒸馏特征聚合(SDFA)模块,用于同时聚合一对低规模和高规模特征并保持其上下文一致性。SDFA采用三个分支分别学习三个特征偏移映射:一个偏移映射用于细化输入的低尺度特征,另外两个偏移映射用于细化输入的高尺度特征采用设计的自蒸馏方式。然后,我们提出了一种基于SDFA的自监督单目深度估计网络,并设计了一种自蒸馏训练策略,利用SDFA模块对所提出的网络进行训练。在KITTI数据集上的实验结果表明,该方法在大多数情况下优于比较先进的方法。代码可从https://github.com/ZM-Zhou/SDFA-Net_pytorch获得。

一、Introduction

单目深度估计是计算机视觉中一个具有挑战性的课题,它旨在从单个图像中预测逐像素的场景深度。最近,用于单目深度学习的自监督方法[12,14,16]受到了广泛关注,因为它们可以在没有真实深度标签的情况下进行训练。

现有的自监督单目深度估计方法根据训练数据的类型大致可以分为两类:用单目视频序列训练的方法[31,51,58]和用立体对训练的方法[12,14,16]。无论训练数据的类型如何,许多现有的方法[15,16,41,42,46,54,43]都采用了各种编码器-解码器架构进行深度预测,并且估计过程可以被认为是一个顺序学习多尺度特征并预测场景深度的一般过程。在大多数研究中,编码器从输入图像中提取多尺度特征,解码器通过直接拼接或元素加法逐渐将提取的多尺度特征聚合起来,然而,尽管这种特征聚合操作在这些现有研究中已经在一定程度上证明了其有效性,但它们通常忽略了多尺度特征之间的上下文一致性,即不同尺度的特征对应的区域应该包含相似场景的上下文信息。这个问题可能会影响这些作品的进一步性能提升。

为了解决这个问题,我们首先提出了自蒸馏特征聚合(SDFA)模块,用于同时聚合一对低规模和高规模特征并保持其上下文一致性,灵感来自所谓的“特征对齐”模块的成功,该模块使用基于偏移的聚合技术来处理图像分割任务[25,26,36,35,1]。必须指出的是,这种特征对齐模块并不能保证其在自监督单目深度估计社区中具有优越的有效性。如图1所示,当基于偏移的聚合(OA)技术直接嵌入到编码器-解码器网络中以处理单目深度估计任务时,尽管它在度量“A1”(被认为是精度度量)下的性能优于基于连接的聚合(Raw),但它容易将不准确的深度分配到遮挡区域上的像素(例如,由于特征对齐模块对这些像素计算出的特征对齐不准确(图1中黄色框中车辆轮廓周围的区域)。为了解决这一问题,本文提出的SDFA模块采用三个分支分别学习三个特征偏移映射:一个偏移映射用于细化输入的低比例尺特征;另外两种方法在设计的自蒸馏方式下共同用于精炼输入的高尺度特征。

然后,我们提出了一种基于SDFA的自监督单目深度估计网络,称为SDFA - Net,该网络使用一组立体图像对进行训练。SDFA - Net采用编码器-解码器架构,该架构使用修改版本的微型swin -transformer[38]作为编码器,并使用多个SDFA模块的集合作为解码器。此外,探索了一种自蒸馏训练策略来训练SDFA - Net,该策略通过两个原则从原始深度预测中选择可靠的深度,并使用选择的深度通过自蒸馏训练网络。

总之,我们的主要贡献包括:

  1. 我们提出了自蒸馏特征聚合(SDFA)模块,该模块可以在自蒸馏的方式下有效地将小尺度特征与大尺度特征进行聚合
  2. 我们提出了SDFA- Net和探索的SDFA模块用于自监督单目深度估计,其中SDFA模块的集合既用于聚合多尺度特征,又用于保持多尺度特征之间的上下文一致性进行深度预测
  3. 我们设计了自蒸馏训练策略,使用探索的SDFA模块来训练所提出的网络。如第4节所示,在大多数情况下,所提出的网络在KITTI数据集[13]上的性能优于比较先进的方法。

二、Related Work

本文综述了两组分别使用单目视频立体对训练的自监督单眼深度估计方法。

2.1 Self-supervised Monocular Training

用单目视频序列训练的方法旨在同时估计摄像机姿态和预测场景深度。Zhou等人[58]提出了一种端到端方法,该方法由两个独立的网络组成,用于预测深度和相机姿势。Guizilini等[20]提出了PackNet,其中上采样和下采样操作通过3D卷积重新实现。Godard等[15]在Monodepth2中设计了每像素最小重投影损失、自动掩码损失和全分辨率采样。Shu等[46]设计了在特征映射上定义的特征度量损失,用于处理图像中判别性较低的区域。

此外,通过联合使用单目视频和额外的语义信息来学习深度的框架也在[4,21,32,34]中进行了研究。一些作品[2,29,56]研究了共同学习光流、深度和相机姿势。一些方法被设计用于在具有挑战性的环境中处理自监督单目深度估计,例如室内环境[28,57]和夜间环境[37,50]。

2.2 Self-supervised Stereo Training

使用立体图像对训练的方法通常通过预测输入对立体图像之间的差异来估计场景深度。Garg等人[12]提出了一项开创性的工作,在训练阶段使用预测的差异和立体对中的一幅图像来合成另一幅图像。Godard等[14]提出了一种左右视差一致性损失来提高单目深度估计的鲁棒性。Tosi等[48]提出了monoResMatch,该算法采用三种沙漏结构网络分别提取特征、预测原始差异和精炼差异。FAL-Net[16]提出了间接学习深度的方法,其中视差用一组离散视差的加权和表示,网络预测每个离散视差的概率图。Gonzalez和Kim[18]提出了模糊度增强,提高了深度预测的准确性和一致性。

此外,为了进一步提高自监督单目深度估计的性能,有几种方法使用了一些额外的信息(例如,传统算法[48,54,60]或额外网络[3,6,22]和语义分割标签产生的差异)。例如,Watson等人[54]提出了深度提示,该深度提示使用半全局匹配[24]计算,并用于指导网络学习准确的深度。其他方法采用知识蒸馏[19]进行自监督深度估计[42,41]。Peng等人[41]从网络的多尺度输出中生成最优深度图,并使用该提取的深度图训练相同的网络。

三、Methodology

在本节中,我们首先介绍了所提出的网络的架构。然后,详细描述了自蒸馏特征聚合(SDFA)。最后给出了设计好的自蒸馏训练策略

3.1 Network Architecture

本文提出的SDFA-Net采用带跳跃连接的编码器-解码器架构进行自监督单目深度估计,如图2所示。
编码器。受视觉变压器[5,10,45,52,55]在各种视觉任务中的成功启发,我们引入了以下改进版本的微型Swin-transformer[38]作为骨干编码器,从输入图像Il∈R3×H×W中提取多尺度特征。原swin -transformer包含4个变压器级,通过stride=4的卷积层对输入图像进行预处理,得到4个中间特征[C1, C2, C3, C4],分辨率为[h/4 × w/4, h/8 × w/8, h/16 × w/16, h/32 × w/32]考虑到丰富的空间信息对深度估计很重要,为了保留更多的高分辨率图像信息,我们将原Swin-transformer中stride=4的卷积层改为stride=2的卷积层,修改后的swin -transformer提取的特征是原来的两倍,即[h/2 × w/2, h/4 × w/4, h/8 × w/8, h/16 × w/16]。
在这里插入图片描述
图2 SDFA-Nett的体系结构。利用SDFA-Net从输入图像Il中预测基于体的深度表示Vgl和深度图Dl。编码器提取的特征可以通过原始和精炼数据路径传递,分别预测原始深度图Dlr和精炼深度图Dld

解码器。解码器使用从编码器中提取的多尺度特征{Ci}4i=1作为输入,输出差分对数体积Vlg作为场景深度表示。该解码器由三个SDFA模块(如图2所示,分别表示为SDFA-1、SDFA-2、SDFA-3)、一个卷积块和两个卷积输出层组成。SDFA模块用于自适应聚合具有可学习偏移映射的多尺度特征,将在3.2节中详细描述。卷积块用于将聚合特征的空间分辨率恢复到输入图像的大小,由最近的上采样操作和两个3 × 3的卷积层组成,并具有ELU激活[7]。为了在自蒸馏方式下训练SDFA模块,避免训练两个网络,编码特征可以通过两个数据路径通过解码器,并通过不同的偏移映射进行聚合。两个3 × 3卷积输出层用于预测训练阶段的两个深度表示,分别定义为原始深度表示和蒸馏深度表示。据此,将这两条数据路径定义为原始数据路径和精炼数据路径。一旦所提出的网络被训练,给定任意的测试图像,在推理阶段,只使用输出的蒸馏深度表示Vlg’作为其最终深度预测

3.2 Self-Distilled Feature Aggregation

提出了一种具有可学习特征偏移映射的自提取特征聚合(SDFA)模块,用于自适应地聚合多尺度特征并保持它们之间的上下文一致性。它联合使用前一层的低尺度解码特征和编码器的相应特征作为输入,输出聚合后的特征如图3所示。这两个特性可以从原始数据路径输入,也可以从精炼数据路径输入。
在这里插入图片描述
图3 自蒸馏特征聚合。在不同的数据路径中选择不同的偏移映射。

从图3可以看出,在设计的模块SDFA -i (i = 1,2,3)下,其前一层的特征Fi+1(特别是F4 = C4)通过使用一个ELU激活的3 × 3卷积层[7],并通过标准双线性插值进行上采样。同时,使用批处理归一化(Batch Normalization, BN)[27]和ELU激活的另外一个3 × 3卷积层来调整来自编码器的相应特征Ci的通道尺寸,使其与Fi+1的通道尺寸相同。然后,将通过上述操作获得的两个特征连接在一起,并通过三个分支来预测偏移量图∆iF,∆iC1和∆iC2。偏移量图∆iF用于细化上采样的Fi+1。根据所使用的数据路径P,采用切换操作S(∆iC1,∆iC2|P),从∆iC1和∆iC2中选择一个偏移映射,对调整后的Ci进行细化,其公式为:
在这里插入图片描述
在得到偏移映射后,设计一个细化函数R(F,∆),通过偏移映射∆的引导对特征F进行细化,由双线性插值核实现。具体地说,为了从F∈RC×H×W中生成一个位置p = [x, y]T上的精化特征~F(p),其偏移量为∆(p),则精化函数表示为:
在这里插入图片描述
其中’⟨·⟩'表示双线性采样操作。由此生成精细化特征~F i+1~Ci,有:
在这里插入图片描述
其中U(·)表示双线性上采样,conv(·)表示具有ELU激活的3 × 3卷积层,convb(·)表示具有BN和ELU的3 × 3卷积层。最后,由两个细化特征得到聚合特征Fi:
在这里插入图片描述
其中“⊕”表示元素相加。

考虑到(i)由于遮挡和图像模糊,通过自监督训练学习到的偏移量通常不是最优的,(ii)期望通过使用额外的线索(例如,从3.3节预测的深度图中获得一些可靠的深度)来学习更有效的偏移量,SDFA以以下设计的自蒸馏方式进行训练。

3.3 Self-distilled Training Strategy

为了用一组SDFA模块训练所提出的网络,我们设计了如图4所示的自蒸馏训练策略,将每次训练迭代分为三个连续步骤:自监督前向传播、自蒸馏前向传播和损失计算。
在这里插入图片描述
图4 自蒸馏练策略。它包括三个步骤:自监督前向传播(FP)、自蒸馏前向传播(FP)和损失计算

自监督正向传播。在这一步中,网络将立体对中的左侧图像Il作为输入,通过原始数据路径输出左侧视差logit体积Vlg∈RN×H×W。如文献[16]所述,利用Il和Vlg合成右侧图像^ Ir,利用Vlg得到原始深度图Dlr。具体而言,给定最小和最大视差dmin和dmax,我们首先通过指数量化定义离散视差水平dn [16]:
在这里插入图片描述
其中N为视差等级的总数。为了合成正确的图像,将Vlg的每个通道进行相应的视差dn移位,生成右侧 视差-logit体积^ Vrg。通过softmax操作,通过^ Vrp得到一个右差概率体^ Vrg,用于立体图像合成:
在这里插入图片描述
式中,^V rp|n是^ V rp的第n个通道,'⊙’表示逐元素乘法,并且Iln是随dn移位的左像。为了获得原始深度图,通过softmax运算Vlg生成左差概率体V lp。根据立体图像合成,V lp的第n个通道近似等于dn的概率图。得到伪视差图dl+为:
在这里插入图片描述
给定立体对的基线长度B和左侧相机的水平焦距fx,通过Dlr = Bfx/ dl+计算左侧图像的原始深度图Dlr

自蒸馏正向传播。为了减轻遮挡的影响,学习更准确的深度,编码器提取的多尺度特征{Ci}4i=1被水平翻转,并通过提取的数据路径通过解码器,输出一个新的左视差-logit体积Vlg’。将Vlg’翻转后,通过翻转后的Vlg’得到蒸馏后的视差图dld和蒸馏后的深度图Dld,如式(8)所示。对于自蒸馏方式下的SDFA-Net训练,我们采用两种原理从原始深度图Dld中选择可靠深度:光度原理可见原理。如图4所示,我们分别用两个二进制掩码实现这两个原则。

光度原理用于从Dlr中选择像素的深度,以便获得更好的重投影左侧图像。具体来说,对于左侧图像中的任意像素坐标p,通过左侧深度图Dl得到其在右侧图像中的对应坐标p ':
在这里插入图片描述
据此,将右侧图像像素p′的RGB值赋给图像像素p,得到重投影后的左侧图像^ Il。然后,将L1损失与结构相似度(SSIM)损失加权求和[53]来衡量重投影图像^ Il与原始图像Il之间的光度差异:
在这里插入图片描述
其中α是一个平衡参数。光度原理表述为:
在这里插入图片描述
其中“[·]”是艾弗森括号,e和t1是预定义的阈值。艾佛森括号中的第二项用于忽略具有较大光度误差的不准确深度。

可见原则用于消除仅在左侧图像中可见的区域中潜在的不准确深度,例如,在右侧图像中遮挡的像素或在右侧图像边缘之外的像素。使用左侧视差图dl可以找到右侧图像中被遮挡的像素。具体来说,我们观察到,对于任意像素位置p = [x, y]T,以及它的水平右邻居pi = [x + i, y]T(i=1,2,,, K),如果p的对应位置被右侧图像中pi的位置遮挡,则其差值之差应接近或等于其水平坐标之差[60]。因此,用蒸馏后的视差图dld计算出的遮挡掩模为:
在这里插入图片描述
其中t2是预定义的阈值。另外,联合利用边缘外掩模Mlout[39]滤除相应位置在右侧图像之外的像素。因此,可视原则表述为:
在这里插入图片描述
**损失计算。**在这一步中,计算训练SDFA-Net的总损失。值得注意的是,原始深度图Dlr是通过最大化真实图像Ir与合成图像^ Ir之间的相似性来学习的,而蒸馏深度图Dld是通过自蒸馏来学习的。总损失函数由四项组成:图像合成损失Lsyn、自蒸馏损失Lsd、原始平滑损失L+smo、蒸馏平滑损失Ldsmo

图像合成损失Lsyn包含L1损失和感知损失[30],用于反映真实右侧图像Ir与合成右侧图像´Ir之间的相似性:
在这里插入图片描述
其中,“∥·∥1”和“∥·∥2”分别表示L1范数和L2范数,ϕi(·)表示预训练的VGG19的第i池化层输出[47],β为平衡参数。
自蒸馏损耗Lsd采用L1损耗将原始深度图Dlr的精确深度提取到蒸馏深度图Dld中,其中精确深度由光度掩模Mlp和可见光掩模Mlv选择:
在这里插入图片描述
利用边缘感知平滑损失Lsmo来约束伪视差图dl+和蒸馏视差图dld的连续性:
在这里插入图片描述
其中∂x、∂y分别是水平方向和垂直方向的微分算子,γ是调整边缘保存程度的参数。
因此,总损失为上述四项的加权和,其计算公式为:
在这里插入图片描述
其中{λ1, λ2, λ3}为三个权重参数。考虑到在自监督方式下学习到的深度在训练初期是不可靠的,在这些训练迭代时将λ2和λ3设为零,同时禁用自蒸馏前向传播。

Experiments

在本节中,我们评估了SDFA-Net以及15种最先进的方法,并对KITTI数据集进行了消融研究[13]。使用KITTI的特征分割[11]进行网络训练和测试,其中包括22600对用于训练的立体图像和679张用于测试的图像,同时也使用改进的特征测试集[49]进行网络测试。此外,像[16]一样,Cityscape数据集[8]中的22972对立体对被联合用于训练。在训练和推理阶段,图像被调整为1280 × 384的分辨率。我们采用[12]中提出的作物和80m的标准深度帽进行评价。以下误差和精度指标与现有文献[15,16,34,41,46]相同:Abs Rel, Sq Rel, RMSE, logmse, A1 = δ < 1.25, A2 = δ < 1.252, A3 = δ < 1.253。有关数据集和指标的更多详细信息,请参阅补充材料。

4.1 Implementation Details

我们使用PyTorch[40]实现了SDFA-Net,并在ImageNet1K数据集上预训练了修改后的tiny swin -transformer[9]。使用β1 = 0.5, β2 = 0.999的Adam优化器[33]对SDFA - net进行50次epoch的训练,batch size为12。初始学习率首先设置为10−4,并在epoch 30和40时降低一半。训练25次后使用自蒸馏前向传播和相应的损失。为了从输出卷计算差异,我们将最小和最大差异设置为dmin = 2, dmax = 300,并且将离散级别的数量设置为N = 49。将损失函数的权重参数设为λ1 = 0.0008, λ2 = 0.01, λ3 = 0.0016,设β = 0.01, γ = 2。对于自蒸馏正向传播中的两个原理,我们设置α = 0.15, λ = 1e - 5, t1 = 0.2, t2 = 0.5和K = 61。我们使用随机调整大小(从0.75到1.5)和裁剪(192×640),随机水平翻转和随机颜色增强作为数据增强。

4.2 Comparative Evaluation

我们首先对原始KITTI特征测试集[11]上的SDF - A-Net与表1中列出的15种现有方法进行了比较。对比方法用单目视频序列(M)[20,21,34,46,59]或立体图像对(S)[3,15,16,17,18,41,44,48,54,60]进行训练。值得注意的是,其中一些是用额外的信息进行训练的,例如语义分割标签(s)[21,34,60]和离线计算的视差(d)[41,44,48,54,60]。此外,我们还在改进的KITTI特征测试集上对SDF - A-Net进行了评估[49]。相应的结果如表1所示。

从表1的第1-23行可以看出,当只使用KITTI数据集[13]进行训练(K)时,即使不进行后处理(PP),大多数情况下,SDFA- net在所有比较方法中表现最好,当对原始特征测试集进行后处理操作步骤[14]时,其性能得到进一步提高。当cityscape[8]和KITTI[13]共同用于训练(CS+K)时,SDF A-Net的性能得到了进一步的提高,在原始特征测试集上,特别是在度量“Sq.Rel”下,它仍然是所有比较方法中性能最好的。

从表1第24-34行可以看出,当使用改进的特征测试集进行测试时,大多数情况下SDF A-Net仍然优于对比方法。尽管在这个指标(Abs.Rel)下它的表现相对较差,它在其他指标下的性能得到了显著改善。这些结果表明,SDFA-Net可以更准确地预测深度。

在图5中,我们给出了几个SDFA-Net的可视化结果,以及三种典型的方法,它们的代码已经公开发布:Edge-of-Depth[60]、FAL-Net[16]和EPCDepth[41]。可以看出,SDFA-Net不仅保持了精细的几何细节,而且在较远的场景区域预测的深度也更为准确,如误差图所示。
在这里插入图片描述
在这里插入图片描述
图5 Edge-of-Depth[60]、F AL-Net[16]、EPCDepth[41]和我们的SDF A-Net在KITTI上的可视化结果。输入图像和预测深度图显示在奇数行中,而我们在偶数行中给出了使用改进的特征测试集计算的相应的“RMSE”误差图。对于误差映射,红色表示误差较大,蓝色表示误差较小。

在图5中,我们给出了几个SDFA-Net的可视化结果,以及三种典型的方法,它们的代码已经公开发布:Edge-of-Depth[60]、FAL-Net[16]和EPCDepth[41]。可以看出,SDFA-Net不仅保持了精细的几何细节,而且在较远的场景区域预测的深度也更为准确,如误差图所示。

4.3 Ablation Studies

为了验证SDF A-Net中每个元素的有效性,我们对KITTI数据集进行了烧蚀研究[13]。首先,我们只使用自监督前向传播和自监督损失(即图像合成损失Lsyn和原始平滑损失L+smo)训练基线模型。基线模型由[15]中提出的原始swin -transformer骨干(Swin)作为编码器和原始解码器组成。值得注意的是,在原始解码器的每个块中,多尺度特征通过直接连接聚合。然后我们用改进版的Swin变压器(Swin†)替换主干。我们还依次用SDFA模块替换第i个原始解码器块,并且我们的完整模型(SDFA- net)使用三个SDFA模块。提出的自蒸馏训练策略用于训练包含SDFA模块的模型。此外,用于与SDFA模块进行比较的基于偏移的聚合(OA)模块仅包含两个偏移分支,并且不包含“蒸馏数据路径”。我们只使用自监督损失训练解码器中使用OA模块的模型。相应的结果报告于表2(a)。

在这里插入图片描述
图6 (a) KITTI上SDFANet预测的原始深度图和蒸馏深度图的可视化。(b) SDFA模块学习到的相应偏移量图的可视化。从上到下,在SDFA-1、SDF A-2和SDF A-3中学习偏移映射。颜色编码显示在右侧,其中色调和饱和度分别表示偏移向量的范数和方向。左下角偏移映射中的蓝色箭头表示3 × 3补丁中的偏移向量。

从表2(a)的第1-5行可以看出,使用Swin变压器的修改版本(’ Swin†')进行深度预测的效果优于原始版本,这表明具有丰富空间细节的高分辨率特征对于预测深度很重要。通过用所提出的SDFA模块替换不同的解码器块,在大多数情况下,模型的性能得到了提高。结果表明,SDFA模块可以更有效地对特征进行深度预测。从表2(a)的第6-7行可以看出,尽管与“Swin†+Raw”相比,“Swin†+OA”获得了更好的定量性能,但我们的完整模型在所有指标下都表现最好,这表明SDFA模块受益于自蒸馏下学习的偏移映射。

此外,我们在图1中可视化了用“Swin†+Raw”、“Swin†+OA”和我们的SDF A-Net模型预测的深度图。虽然基于偏移量的聚集改善了深度预测的定量结果,但“Swin†+OA”容易在遮挡区域上预测不准确的深度。SDFANet不仅缓解了这些区域的预测不准确,而且进一步提高了深度估计的性能。这证明了SDFA模块保持学习特征之间的上下文一致性,以实现更准确的深度预测。有关更详细的消融研究,请参阅补充材料。

为了进一步了解SDFA模块的效果,在图6中,我们将SDFA- net的预测深度结果可视化,同时将每个SDFA模块学习到的特征偏移映射用颜色编码可视化。此外,这些模块中偏移向量的平均范数如表2(b)所示,是在原始特征测试集[13]上计算得到的。从表2(b)和图6(b)的第一列可以看出,∆F中的偏移量反映了场景信息,这些偏移向量的范数比较长。这些偏移量被用来用捕获的信息来细化上采样的解码特征。由于低分辨率特征包含更多的全局信息和更少的场景细节,因此为这些特征学习的偏移向量的方向(例如,图6(b)左下角的∆3F)变化很大。具体来说,考虑到任意3 × 3 patch中的特征是由卷积核处理的,patch中的偏移量可以为该过程提供自适应的非局部信息,如图6(b)中蓝色箭头所示。如表2(b)和图6(b)的最后两列所示,∆C1和∆C2的偏移量规范明显短于∆F。考虑到编码后的特征保持了可靠的空间细节,利用这些偏移量对局部小区域的特征进行细化。

此外,我们注意到分别在自监督和自蒸馏方式下学习的∆C1和∆C2有明显的差异。同时,用∆F和∆C2聚合的特征得到的深度图比用∆F和∆C1聚合的特征得到的深度图更准确,特别是在遮挡区域(图6(a)中用红框标记)。这些可视化结果表明,可学习的偏移映射有助于自适应地聚合上下文信息,而自蒸馏有助于进一步保持所学特征之间的上下文一致性,从而获得更准确的深度预测。

Conclusion

在本文中,我们提出了自提取特征聚合(SDF A)模块来自适应地聚合具有可学习偏移映射的多尺度特征。在此基础上,我们提出了用于自监督单目深度估计的SDFA- net,并使用所提出的自蒸馏训练策略对其进行训练。实验结果证明了该网络的有效性。在未来,我们将研究如何更有效地聚合特征,以进一步提高自监督单目深度估计的准确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值