DPT:密集预测的视觉Transformers

标题:Vision Transformers for Dense Prediction

原文:https://arxiv.org/abs/2103.13413

开源:https://github.com/intel-isl/DPT  (1.3k Stars)

摘要:我们引入了密集视觉Transformer,这是一种利用视觉Transformer代替卷积网络作为密集预测任务主干的架构。我们将视觉Transformer各个阶段的token组装成不同分辨率的image-like表示,并使用卷积解码器将它们逐步组合成全分辨率预测。Transformer主干以恒定且相对高的分辨率处理表示,并且在每个阶段都具有全局感受野。与完全卷积网络相比,这些特性允许密集视觉Transformer提供更细粒度和更全局一致的预测。我们的实验表明,这种架构在密集预测任务上产生了实质性的改进,特别是当大量训练数据可用时。对于单目深度估计,与最先进的全卷积网络相比,我们观察到相对性能提高了28%。当应用于语义分割时,密集视觉Transformer以49.02%mIoU在ADE20K上创造了新的技术状态。我们进一步表明,该架构可以在较小的数据集(如NYUv2、KITTI和Pascal Context)上进行微调,在这些数据集上,它还设置了最新的技术状态。

1    引言

几乎所有现有的密集预测架构都基于卷积网络[6,31,34,42,49,50,53]。密集预测体系结构的设计通常遵循逻辑上将网络分为编码器和解码器的模式。编码器通常基于图像分类网络,也称为主干,该网络在大型语料库(如ImageNet[9])上进行预训练。解码器聚集来自编码器的特征,并将其转换为最终的密集预测。密集预测的体系结构研究通常集中于解码器及其聚合策略[6,7,50,53]。然而,人们普遍认识到,主干架构的选择对整个模型的性能有很大影响,因为编码器中丢失的任何信息都不可能在解码器中恢复。

卷积主干逐渐对输入图像进行下采样,以在多个尺度上提取特征。下采样能够逐步增加感受野,将低级特征分组为抽象的高级特征,同时确保网络的内存和计算需求保持可控。然而,下采样具有明显的缺点,这些缺点在密集预测任务中尤为突出:特征分辨率和粒度在模型的较深阶段丢失,因此很难在解码器中恢复。虽然特征分辨率和粒度对于某些任务(如图像分类)可能无关紧要,但它们对于密集预测至关重要,在密集预测中,架构应该理想地能够以或接近输入图像的分辨率来解析特征。

已经提出了减轻特征粒度损失的各种技术。这些包括以更高的输入分辨率进行训练(如果计算预算允许)、扩展卷积[49]以快速增加感受野而不进行下采样、从编码器的多个级到解码器的适当放置的跳连[31],或者最近通过在整个网络中并行连接多分辨率表示[42]。虽然这些技术可以显著提高预测质量,但网络仍然受到其基本构建块的瓶颈:卷积。卷积与非线性一起构成图像分析网络的基本计算单元。根据定义,卷积是具有有限感受野的线性算子。单个卷积的有限的感受野和有限的表现力需要顺序堆叠到非常深的架构中,以获得足够广泛的上下文和足够高的表现力。然而,这需要产生许多需要大量内存的中间表示。对中间表示进行降采样是必要的,以将内存消耗保持在现有计算机架构可行的水平。

在这项工作中,我们介绍了密集预测Transformer(DPT)。DPT是一种基于编码器-解码器设计的密集预测架构,该设计利用Transformer作为编码器的基本计算构建块。具体而言,我们使用最近提出的视觉Transformer(ViT)[11]作为主干架构。我们将ViT提供的单词包表示(bag-of-words representation)重新组合成各种分辨率的图像状特征表示,并使用卷积解码器将特征表示逐步组合成最终的密集预测。与完全卷积网络不同,视觉Transformer主干在计算初始图像嵌入后放弃显式下采样操作,并在所有处理阶段保持具有恒定维度的表示。此外,它在每个阶段都有一个全局感受野。我们表明,这些特性对于密集预测任务特别有利,因为它们自然会导致细粒度和全局一致的预测。

我们进行了单目深度估计和语义分割的实验。对于通用单目深度估计任务[30],在大规模训练数据可用的情况下,与该任务中表现最好的全卷积网络相比,DPT提供了超过28%的性能提升。该架构还可以微调到小型单目深度预测数据集,如NYUv2[35]和KITTI[15],在那里它也设置了新的技术状态。我们使用语义分割实验进一步证明了DPT的强大性能。对于这项任务,DPT在具有挑战性的ADE20K[54]和Pascal Context[26]数据集上设置了新的技术状态。我们的定性结果表明,与卷积网络相比,这些改进可以归因于更细粒度和更全局一致的预测。

2    相关工作

全卷积网络[33,34]是密集预测的典型架构。多年来,已经提出了这种基本模式的许多变体,然而,所有现有架构都采用卷积和下采样作为其基本元素,以学习能够利用适当大的上下文的多尺度表示。一些工作提出逐步对在不同阶段池化的表示进行上采样[1,23,27,31],而其他工作则使用扩张卷积[6,7,49]或多尺度的并行多尺度特征聚合[53]来恢复细粒度预测,同时确保足够大的上下文。最近的架构在整个网络中保持高分辨率表示以及多个较低分辨率表示[37,42]。

近年来,基于注意力的模型[2],特别是Transformer[39]已经成为学习自然语言处理(NLP)的强大模型的首选架构[4,10,24]。Transformer被设定为基于自注意机制的模型。当将Transformer模型实例化为高容量架构并在非常大的数据集上进行训练时,Transformer模型尤其成功。已有几项工作将注意力机制应用于图像分析[3,28,29,41,52]。特别是,最近已经证明,在NLP中成功的基于token的Transformer架构的直接应用可以在图像分类方面产生有竞争力的性能[11]。这项工作的一个关键见解是,像NLP中的Transformer模型一样,视觉Transformer需要与足够数量的训练数据配对,以实现其潜力。

3    架构

本节介绍密集视觉Transformer。我们维护了过去成功用于密集预测的整体编码器-解码器结构。我们利用视觉Transformer[11]作为主干,展示了该编码器产生的表示如何有效地转化为密集预测,并为该策略的成功提供了直觉。完整体系结构的概述如图1(左侧)所示。

图1。左图:架构概述。通过提取非重叠的图块,然后对其展平表示进行线性投影(DPT Base和DPT Large),或者通过应用ResNet-50特征提取器(DPT Hybrid),将输入图像转换为tokens(橙色)。通过位置嵌入来增强图像嵌入,并添加与图块无关的读出token(红色)。 Tokens通过多个transformer阶段传递。我们将不同阶段的tokens重新组合成多分辨率的图像表示(绿色)。融合模块(紫色)逐步融合和上采样表示,以生成细粒度预测。中心:Reassembles操作概述。Tokens被组装成具有输入图像的1/s空间分辨率的特征图。右图:融合块使用残差卷积单元组合特征[23],并对特征图进行上采样。 

Transformer编码器。    抽象地看,视觉Transformer(ViT)[11]对图像[36]的一袋单词表示进行操作[36]。分别嵌入到特征空间中的图像块,或者从图像中提取的深层特征,扮演“单词”的角色。在本工作的其余部分中,我们将把嵌入的“单词”作为token。Transformer使用多头自注意(MHSA)的串接块来变换token集[39],这些块将token彼此关联以变换表示。

对于我们的应用程序来说,重要的是,Transformer在所有计算中维护token的数量。由于token与图像块具有一对一的对应关系,这意味着ViT编码器在所有Transformer阶段保持初始嵌入的空间分辨率。此外,MHSA本质上是一种全局操作,因为每个token都可以注意并影响其他token。因此,Transformer在初始嵌入后的每个阶段都具有全局感受野。这与卷积网络形成鲜明对比,卷积网络在特征通过连续卷积和下采样层时逐渐增加其感受野。

更具体地说,ViT通过处理图像中大小为像素的所有非重叠正方形图块,从图像中提取图块嵌入。图块被展平为向量,并使用线性投影分别嵌入。另一种更具样本效率的ViT变体通过将ResNet50[16]应用于图像来提取嵌入,并使用所得特征图的像素特征作为token。由于Transformer是 set-to-set函数,因此它们本质上不保留单个token的空间位置信息。因此,图像嵌入与可学习位置嵌入相连接,以将空间位置信息添加到表示中。在NLP中的工作之后,ViT还添加了一个特殊的token,该token不基于输入图像,并用作最终的全局图像表示,用于分类。我们将此特殊token称为读出token。将嵌入过程应用于大小为像素的图像的结果是一组tokens,其中,表示读出token,是每个token的特征维度。

使用个Transformer层将输入token变换为新的表示,其中表示第个Transformer的输出。Dosovitskiy等人[11]定义了这一基本蓝图的几个变体。我们在工作中使用了三种变体:ViT-Base,它使用基于patch的嵌入过程,并具有12个Transformer层;ViT-Large,使用相同的嵌入程序,具有24个Transformer层和更宽的特征尺寸;ViT-Hybrid使用ResNet50来计算图像嵌入,然后是12个Transformer层。我们对所有实验使用patch大小。我们让感兴趣的读者参考原著[11],了解有关这些架构的更多细节。

ViT-Base和ViT-Large的嵌入过程分别将展平的图块投影到维度D=768和D=1024。由于两个特征维度都大于输入图块中的像素数量,这意味着如果有益的话,嵌入过程可以学习保留信息。原则上,可以以像素级精度解决来自输入patch的特征。类似地,ViT Hybrid架构以1/16的输入分辨率提取特征,这是通常用于卷积主干的最低分辨率特征的两倍。

卷积解码器。    我们的解码器将这组token组合成不同分辨率的图像状特征表示。特征表示逐渐融合到最终的密集预测中。我们提出了一个简单的三阶段重新组装(Reassemble)操作,以从Transformer编码器的任意层的输出token中恢复类似图像的表示:

其中,表示恢复的表示相对于输入图像的输出尺寸比,表示输出特征尺寸。

我们首先将token映射到一组token,这样可以空间连接成类似图像的表示:

    (1)

该操作基本上负责适当地处理读出token。由于读出token对于密集预测任务没有明确的用途,但可能仍然有助于捕获和分发全局信息,因此我们评估了该映射的三种不同变体:

    (2)

简单地忽略读出token,

    (3)

通过添加表示将信息从读出token传递到所有其他token,以及

(4)

将读出token与所有其他token拼接,再用一个线性层投影到原始特征维度D,再接一个非线性GELU层[17],这样将信息从读出token传递到所有其他token。

Read块之后,通过根据图像中初始patch的位置放置每个token,可以将生成的token reshape为图像状的表示。形式上,我们应用了一种空间拼接操作,该操作产生了大小为的特征图,其中包含个通道:

    (5)

我们最终将此表示传递给空间重采样层,该层将表示缩放为大小,每个像素具有特征:

    (6)

我们通过首先使用1×1卷积将输入表示投影到,然后在时使用(步幅)3×3卷积,或在s<p时使用步幅3×3转置卷积,分别实现空间下采样和上采样操作,来实现此操作。

无论确切的Transformer主干如何,我们都会在四个不同的阶段和四种不同的分辨率重新组合特征。我们以较低的分辨率组装Transformer较深层的特征,而以较高的分辨率组装早期层的特征。当使用ViT Large时,我们从层重新组装token,而使用ViT Base时,我们使用层。当使用ViT Hybrid时,我们使用来自嵌入网络的第一个和第二个ResNet块以及阶段的特征。我们的默认架构使用投影作为读取操作,并生成维的特征图。我们将分别将这些架构称为DPT-Base、DPT-Large和DPT-Hybrid。

我们最后使用基于RefineNet的特征融合块[23,45](见图1(右))组合从连续阶段提取的特征图,并在每个融合阶段以2倍的比例逐步对表示进行上采样。最终表示大小是输入图像分辨率的一半。我们附加一个特定于任务的输出头以生成最终预测。完整体系结构的示意图如图1所示。

处理不同的图像大小。    与完全卷积网络类似,DPT可以处理不同的图像大小。只要图像大小可被整除,就可以应用嵌入过程,并将产生不同数量的图像token。作为一个set-to-set架构,Transformer编码器可以轻松处理不同数量的tokens。然而,位置嵌入对图像大小有依赖性,因为它编码输入图像中的patch的位置。我们遵循[11]中提出的方法,并将位置嵌入线性插值到适当的大小。请注意,这可以对每个图像进行动态(on the fly)处理。在嵌入过程和Transformer阶段之后,只要输入图像与卷积解码器的步幅(32像素)对齐,重组和融合模块都可以轻松地处理不同数量的token。

4    实验

我们将DPT应用于两个密集预测任务:单目深度估计和语义分割。对于这两项任务,我们表明,与具有类似容量的卷积网络相比,DPT可以显著提高精度,特别是在有大型训练数据集可用的情况下。我们首先介绍了使用默认配置的主要结果,并在本节末尾显示了不同DPT配置的全面消融。

4.1    单目深度估计

单目深度估计通常被认为是一个密集回归问题。已经表明,只要注意如何将深度的不同表示统一为共同表示,并且在训练损失中适当处理共同的歧义(如尺度歧义),就可以从现有数据源构建大规模元数据集[30]。由于已知Transformer只有在大量训练数据可用时才能充分发挥其潜力,因此单目深度估计是测试DPT能力的理想任务。

实验方案。    我们严格遵循Ranftl等人的方案[30]。我们使用在逆深度表示上操作的尺度和移位不变修剪损失(scale- and shift-invariant trimmed loss)以及[22]中提出的梯度匹配损失(gradient-matching loss)来学习单目深度预测网络。我们构建了一个包含[30]中使用的原始数据集(在该工作中称为MIX 5)的元数据集,并使用五个附加数据集([18,43,44,46,47])对其进行扩展。我们将此元数据集称为MIX 6。它包含大约140万张图像,据我们所知,它是迄今为止最大的单目深度估计训练集。

我们将多目标优化[32]与Adam[19]一起使用,将主干的学习率设置为1e−5,解码器权重设置为1e-4。编码器用ImageNet预训练的权重初始化,而解码器随机初始化。我们使用由3个卷积层组成的输出头。输出头逐渐将特征维度减半,并在第一卷积层之后将预测上采样到输入分辨率(详细信息见补充材料)。我们禁用解码器中的batch normalization,因为我们发现它会对回归任务的结果产生负面影响。我们调整图像的大小,使其长边为384像素,并对大小为384的随机正方形裁剪进行训练。我们训练了60个阶段,其中一个阶段由72000个步骤组成,批量大小为16。由于批量大小不能被数据集的数量整除,因此我们在从各个数据集采样之前,首先随机均匀地提取数据集,从而构建一个小批量。我们执行随机水平翻转以增强数据。与[30]类似,我们首先对数据[45,46,47]的一个精心策划的子集进行预处理60个时期,然后再对整个数据集进行训练。(As the batch size is not divisible by the number of datasets, we construct a mini-batch by first drawing datasets uniformly at random before sampling from the respective datasets. We perform random horizontal flips for data augmentation. Similar to [30], we first pretrain on a well-curated subset of the data [45, 46, 47] for 60 epochs before training on the full dataset.)

Zero-shot跨数据集迁移。    表1显示了不同的在训练期间未见数据集的Zero-shot迁移结果。我们请感兴趣的读者参考Ranftl等人[30],了解评估程序和误差度量的详细信息。对于所有指标,越低越好。这两种DPT变体都显著优于现有技术。与最佳发布架构MiDaS相比,DPT Hybrid的平均相对改进率超过23%,DPT Large的平均相对改善率超过28%。DPT Hybrid以相当的网络容量实现了这一点(表9),而DPT Large大约是MiDaS的3倍。注意,这两种架构的延迟与MiDaS相似(表9)。

表1。与单目深度估计的最新技术的比较。我们根据[30]中定义的协议评估zero-shot跨数据集迁移。计算量相对于原始MiDaS[30]模型的相对性能。对于所有指标而言,越低越好。

为了确保观察到的改进不仅仅是由于扩大的训练集,我们在我们的大型元数据集MIX 6上重新训练了MiDaS使用的完整解决方案网络。虽然完全卷积网络确实受益于更大的训练集,但我们观察到,两种DPT变体仍然强于该网络。这表明DPT可以更好地受益于增加的训练集大小,这一观察结果与其他领域中基于Transformer的架构的先前发现相匹配。

定量结果由图2中的可视化比较支持。DPT可以更好地重建精细细节,同时在卷积架构具有挑战性的区域(例如,图像上的大均匀区域或相对深度排列,large homogeneous regions or relative depth arrangement across the image)改善全局一致性。

图2:单目深度估计的样本结果。与MiDaS使用的全卷积网络相比,DPT显示出更好的全局一致性(例如,天空,第二行)和更精细的细节(例如,树枝,最后一行)。

对小数据集进行微调。    我们在KITTI[15]和NYUv2[35]数据集上对DPT Hybrid进行微调,以进一步与现有工作比较DPT的表示能力。由于网络是用仿射不变损失训练的,因此其预测是任意缩放和移动的,并且可以具有较大的幅度。因此,直接微调将具有挑战性,因为预测的幅度与真值的全局不匹配将主导损失。因此,我们首先使用[30]中描述的鲁棒对齐过程将初始网络的预测与每个训练样本对齐。然后,我们对整个训练集中产生的尺度和位移进行平均,并将平均尺度和位移应用于预测,然后将结果传递给损失。我们对Eigen等人提出的损失进行了微调。[12]。我们禁用KITTI的梯度匹配损失,因为该数据集仅提供稀疏的真值。(Since the network was trained with an affine-invariant loss, its predictions are arbitrarily scaled and shifted and can have large magnitudes. Direct fine-tuning would thus be challenging, as the global mismatch in the magnitude of the predictions to the ground truth would dominate the loss. We thus first align predictions of the initial network to each training sample using the robust alignment procedure described in [30]. We then average the resulting scales and shifts across the training set and apply the average scale and shift to the predictions before passing the result to the loss. We fine-tune with the loss proposed by Eigen et al. [12]. We disable the gradient-matching loss for KITTI since this dataset only provides sparse ground truth.)

表2和表3总结了结果。我们的体系结构在所有指标上都匹配或提高了这两个数据集的最先进性能。这表明DPT也可以有效地应用于较小的数据集。

4.2    语义分割

我们选择语义分割作为我们的第二项任务,因为它代表了离散token任务,并且是密集预测体系结构的一个非常有竞争力的试验场。我们采用与先前实验相同的主干和解码器结构。我们使用一个输出头,以半分辨率进行预测,并使用双线性插值将对数上采样到全分辨率(详细信息见补充材料)。编码器再次从ImageNet预训练的权重初始化,解码器随机初始化。

实验方案。    我们严格遵循Zhang等人制定的方案[51]。我们采用跨熵损失,并将辅助输出头与辅助损失一起添加到倒数第二个融合层的输出。我们将辅助损失的权重设置为0.2。在两个头部的最终分类层之前,使用0.1的Dropout。我们使用动量为0.9的SGD和衰减因子为0.9的多项式学习速率调度器。我们在融合层中使用批量归一化,并以批量大小48进行训练。图像大小调整为520像素边长。我们使用随机水平翻转和∈(0.5,2.0)范围的随机重新缩放进行数据增强。我们在大小为480的正方形随机裁剪上训练。我们将学习率设置为0.002。我们在测试时使用多尺度推断,并报告像素精度(pixAcc)和平均交并比(mIoU)。

ADE20K。    我们在ADE20K语义分割数据集[54]上训练DPT 240个epoch。表4总结了我们对验证集的结果。DPT Hybrid优于所有现有的完全卷积架构。DPTLarge表现稍差,可能是因为与我们之前的实验相比,数据集明显更小。图3提供了可视化比较。我们观察到,DPT倾向于生成更清晰、更细粒度的对象边界描绘,并且在某些情况下,预测也更少杂乱。

对较小数据集进行微调。    我们在Pascal Context数据集[26]上对DPTHybrid进行了50个epoch的微调。所有其他超参数保持不变。表5显示了本实验验证集的结果。我们再次看到,即使在较小的数据集上,DPT也能提供强大的性能。

图3。ADE20K(第一列和第二列)和Pascal Context(第三列和第四列)上的语义分割示例结果。预测通常更好地与对象边缘对齐,并且更少的杂乱。

4.3    消融

我们通过消融研究检查了DPT的许多方面和技术选择。我们选择单目深度估计作为消融的任务,并遵循先前描述的相同协议和超参数设置。我们使用了一个简化的元数据集,它由三个数据集[45,46,47]组成,由大约41000张图像组成。我们选择这些数据集,因为它们提供了高质量的真值。我们将每个数据集分成一个训练集和一个总共约1000张图像的小验证集。我们报告了验证集的结果,即预测与真值的仿射对齐后的相对绝对偏差[30]。除非另有规定,否则我们使用ViT Base作为主干架构。(We report results on the validation sets in terms of relative absolute deviation after affine alignment of the predictions to the ground truth [30])

跳连。    卷积架构为将特征从编码器传递到解码器提供了自然的合适位置,即在表示的下采样之前或之后。由于Transformer主干保持恒定的特征分辨率,因此不清楚主干特征中的哪些位置应用来抽取特征。我们在表6(顶部)中评估了几种可能的选择。我们观察到,从包含低级特征的层以及包含高级特征的深层挖掘特征是有益的。我们为所有进一步的实验采用最佳设置。

我们对表6(底部)中的混合架构进行了类似的实验,其中R0和R1指的是使用ResNet50嵌入网络的第一和第二下采样阶段的特征。我们观察到,使用嵌入网络中的低级特征比仅使用Transformer级的特征能带来更好的性能。我们将此设置用于所有涉及混合架构的进一步实验。

读出token。    表7检查了实现重组块的第一阶段以处理读出token的各种选择。尽管忽略token会产生良好的性能,但平均而言,投影会提供稍好的性能。另一方面,添加token会产生比忽略token更糟糕的性能。我们使用投影进行所有进一步的实验。

主干。    不同主干的性能如表8所示。ViT Large优于所有其他主干,但大小也几乎是ViT Base和ViT Hybrid的三倍。ViT Hybrid以类似数量的参数优于ViT Base,并具有与大型主干网相当的性能。因此,它在精度和容量之间提供了良好的权衡。

ViT Base具有与ResNext101-WSL相当的性能,而ViT Hybrid和ViT Large提高了性能,尽管它们已经在显著较少的数据上进行了预训练。注意,除了ImageNet预训练之外,ResNext101 WSL还基于十亿规模的弱监督数据语料库进行了预训练[25]。已经观察到,这种预训练提高了单目深度预测的性能[30]。该体系结构对应于最初的MiDaS体系结构。

我们最后将其与ViT的一种最新变体DeIT[38]进行了比较。DeIT通过更高效的数据预训练程序来训练ViT架构。注意,DeITBase架构与ViT Base相同,而DeITBase Dist引入了一个额外的蒸馏token,我们在重新组装操作中忽略了这一点。我们观察到,与ViT Base相比,DeIT Base Dist确实提高了性能。这表明,与卷积结构类似,图像分类的预训练过程的改进可以有益于密集预测任务。

推断分辨率。    虽然全卷积结构在其最深层可以具有较大的有效感受野,但靠近输入的层是局部的,并且具有较小的感受野。因此,当以与训练分辨率显著不同的输入分辨率执行推断时,性能受到严重影响。另一方面,Transformer编码器在每一层都有一个全局感受野。我们推测,这使得DPT对推理分辨率的依赖性降低。为了验证这一假设,我们绘制了当以高于训练分辨率384×384像素的分辨率执行推断时,不同架构的性能损失。我们在图4中绘制了在训练分辨率下执行推理的性能相对于性能的相对下降百分比。我们观察到,随着推理分辨率的增加,DPT变体的性能确实会更优雅地下降。

推断速度。    表9显示了不同网络架构的推断时间。计时在Intel Xeon Platinum 8280 [email protected]、8个物理内核和Nvidia RTX 2080 GPU上进行。我们使用宽度为384像素的正方形图像,并报告400次运行的平均值。DPT Hybrid和DPT Large显示出与MiDaS使用的完全卷积架构相当的延迟。有趣的是,虽然DPT Large在参数计数方面比其他架构大得多,但它具有竞争性的延迟,因为它通过其较宽和较浅的结构表现出高度的并行性。

5    结论

我们引入了密集预测TransformerDPT,这是一种神经网络架构,它有效地利用视觉Transformer执行密集预测任务。我们在单目深度估计和语义分割上的实验表明,与完全卷积架构相比,所提出的架构产生了更细粒度和全局一致的预测。与之前的Transformer工作类似,DPT在大规模数据集上训练时充分发挥了其潜力。

补充材料

A    架构详细信息

我们在本节中提供了其他技术细节。

混合编码器。    混合编码器基于具有group norm和权重标准化的预激活ResNet50[57]。它定义了最初的stem之后的四个阶段,每个阶段在应用多个ResNet块之前对表示进行下采样。我们用表示第级的输出。因此,DPT Hybrid在第一级()和第二级()之后抽取跳连。

残差卷积单位。    图A1(a)显示了解码器中使用的残差卷积单元[23]的示意图。批量归一化用于语义分割,但对于单目深度估计禁用。当使用批量归一化时,我们禁用前一卷积层中的偏差。

单目深度估计头。    单目深度估计的输出头如图A1(b)所示。初始卷积将特征维度减半,而第二卷积具有32的输出维度。最后的线性层将此表示投影到表示每个像素的逆深度预测的非负标量。双线性插值用于对表示进行上采样。

语义分割头。    语义分割的输出头如图A1(c)所示。第一卷积块保留特征维度,而最后的线性层将表示投影到输出类的数量。Dropout率为0.1。我们使用双线性插值进行最后的上采样操作。因此,预测表示类的每像素logits。

B    其他结果

我们在本节中提供了额外的定性和定量结果。

单目深度估计。    我们注意到,对于具有密集、高分辨率评估的数据集,Zero-shot迁移的性能获得了最大的提高[15,55,59]。这可以用更精细的预测来解释。对这些数据集的样本结果(参见图A3)的可视化检查证实了这种直觉。与完全卷积基线相比,我们在DPT预测中观察到了更多细节和更好的全局深度安排。注意,DPT和MiDaS的结果是以相同的输入分辨率(384像素)计算的。(We notice that the biggest gains in performance for zero-shot transfer were achieved for datasets that feature dense, high-resolution evaluations [15, 55, 59]. This could be explained by more finegrained predictions. Visual inspection of sample results (c.f . Figure A3) from these datasets confirms this intuition.We observe more details and also better global depth arrangement in DPT predictions when compared to the fullyconvolutional baseline. Note that results for DPT and MiDaS are computed at the same input resolution (384 pixels))

语义分割。    我们在图A2中显示了ADE20K验证集的每类IoU分数。虽然我们观察到与基线相比,每类IoU的总体趋势有所改善[51],但我们没有观察到跨类的强模式。(While we observe a general trend of an improvement in per-class IoU in comparison to the baseline [51], we do not observe a strong pattern across classes.)

注意力图。    我们在图A4和A5中显示了来自不同编码器层的注意力图。在这两种情况下,我们都显示了单目深度估计模型的结果。我们可视化了两个参考token(分别为左上角和右下角)对编码器中不同层图像中所有其他token的注意。我们显示了所有12个注意力头部的平均注意力。

我们观察到这样的趋势,即注意力在浅层(最左边的列)中在空间上更靠近参考token,而深层(最右边的列)经常出现在整个图像上

你可能感兴趣的:(DPT:密集预测的视觉Transformers)