欢迎光临散文网 会员登陆 & 注册

多任务新SOTA!InvPT++:用于视觉场景理解的倒金字塔Transformer

2023-07-11 22:51 作者:自动驾驶之心  | 我要投稿

今天自动驾驶之心很荣幸邀请到小乌龟来分享多任务学习的最新进展InvPT++:用于视觉场景理解的倒金字塔多任务Transformer,如果您有相关工作需要分享,请在文末联系我们!


>>点击进入→自动驾驶之心【全栈算法】技术交流群  

论文作者 | Hanrong Ye


自动驾驶之心 · 特约解读 | 小乌龟


编辑 | 自动驾驶之心


InvPT++:Inverted Pyramid Multi-Task Transformer for Visual Scene Understanding


多任务场景理解的目的是设计一个多功能的模型能够同时预测多个场景理解任务。以前的研究通常以更局部的方式处理多任务特征,因此不能有效地学习空间上的全局和跨任务的相互作用,这阻碍了模型在多任务学习中充分利用各种任务的一致性的能力。为了解决这个问题,我们提出了Inverted Pyramid multi-task Transformer,能够在全局范围内模拟不同任务的空间特征之间的跨任务互动。具体来说,我们首先利用一个transformer编码器来捕捉所有任务的通用特征。然后,我们设计了一个transformer解码器来建立全局的空间和跨任务互动,并设计了一个新颖的UP-Transformer块来逐步提高多任务特征的分辨率,并建立不同尺度的跨任务互动。此外,还提出了两类跨尺度的自我注意模块,即融合性注意和选择性注意,以有效地促进不同特征尺度的跨任务互动。进一步介绍了编码器特征聚合策略,以便在解码器中更好地模拟多尺度信息。在几个二维/三维多任务基准上的综合实验清楚地表明了我们建议的有效性,建立了显著的最先进的性能。这些代码可在此公开获取,Multi-Task-Transformer/InvPT at main · prismformore/Multi-Task-Transformer · GitHub。


1 介绍


多个相互关联的任务的并发学习和推理是多任务场景理解的目标[1]。这种技术适用于各种人工智能产品,包括机器人、自动驾驶汽车和增强现实(AR)头盔。大部分的视觉场景理解任务(如分割、深度估计和物体检测)需要对视觉场景进行像素级的理解[2]。这些任务涉及到密集的预测,在像素级固有地拥有相当多的显性和隐性关联[3]。这些相关性,如果得到充分的利用,可以大大提升多任务模型的整体性能。此外,多个任务的同时学习和预测本身就比单独训练和推断几个单任务模型的效率更高,因为各种任务可以共享许多网络模块。这样的观察引发了研究人员越来越多的兴趣,他们从不同的角度开发先进的多任务学习方法,旨在更有效地解决多任务场景理解的复杂性。


目前流行的多任务场景理解方法主要依赖于卷积神经网络(CNN),通过设计多任务优化损失函数[4],以及创建[3]或探索[5]多任务网络架构取得了相当大的进展。虽然这些方法已经显示出令人鼓舞的结果,但它们仍然受到其深度学习框架中广泛采用的卷积核的内在属性的限制,即先前的工作[6]、[7]中讨论的定位。这些核在相对本地化的感受野内模拟基本的空间和任务相关的环境。基于注意力的技术已经被提出来解决这个限制[8], [9], [10], 但它们所促成的跨任务互动的范围仍然很窄。因此,捕捉所有任务的全局依赖和关系,对于密集场景理解中的多任务学习至关重要,这仍然是一个开放的问题。


最近,人们引入了transformer模型来捕捉密集预测问题中的长距离空间关系[11],[12]。然而,这些模型主要集中在单一任务的学习设置上,没有探索使用transformer对多个密集预测任务进行联合建模。开发一个统一的transformer框架,对空间和跨任务的相关性进行全局建模,并不简单,而且具有挑战性。现有的transformer在采用更高的特征分辨率时面临困难,因为计算复杂度呈指数级增长,因此许多方法选择大幅降低空间分辨率以减轻计算开销[13]、[14]. 然而,这限制了密集预测任务的性能,这些任务的性能受模型生成的特征图的分辨率影响很大。在我们工作的同时,一些研究已经研究了多任务transformer [15], [16], [17]。然而,他们的注意力图仍然拥有有限的上下文,并且缺乏对不同任务的特征之间的空间和跨任务互动的全局建模能力。


为了解决上述挑战,我们开发了一个创新的Inverted Pyramid Multitask Transformer框架,简称为 "InvPT++"。这个框架有效地模拟了空间和所有任务背景下的长距离依赖关系,同时以高分辨率学习,为多任务密集场景的理解产生准确的密集预测图。InvPT++包括三个主要部分。作为模型的第一部分,InvPT++ transformer编码器通过空间长距离关系建模从输入图像中导出通用视觉表征。随后,一个配备了几个创新的UP-Transformer模块的InvPT++解码器,以逐步提高的分辨率来完善多任务特征。更重要的是,它能够捕捉全局和空间背景下不同规模的各种任务之间的跨任务互动。我们进一步提出了一个跨尺度的自我关注,它能够利用前一个transformer层的关注信息来帮助在当前层的跨任务互动建模,在设计的UP-transformer块中。我们开发了两种类型的跨尺度自我关注:融合性注意和选择性注意。融合性注意学习一对权重来融合来自上一层的注意信息和当前层的注意分数。不同的是,选择性注意的设计是为了进一步提高计算效率。它从原始标记序列中选择一个重要的标记子集,在自我注意的计算中只采用这些重要的标记。识别重要标记的过程是由前一层的注意力得分来指导的。此外,我们设计了一个编码器特征聚合(EFA)策略,通过纳入从InvPT++编码器获得的多尺度特征来增强解码器特征。在几个常用的多任务密集场景理解基准上,即PASCAL-Context、NYUD-v2、Cityscapes和Cityscapes-3D数据集上,InvPT++明显优于之前的最先进方法。通过在这些竞争性基准上的实验结果,对所提出的模块进行了仔细检查。


与我们之前的会议版本In vPT[18]相比,在本次工作中,我们进一步在跨尺度自我注意模块中引入了强大的选择性注意策略,通过利用上一层的跨尺度注意信息,大大减少了自我注意模块的冗余计算。选择性注意机制使InvPT++在计算自我注意图之前发现重要的标记,并在自我注意计算中只使用重要的标记。重要标记的选择实际上是由上一层的注意力信息引导的。这一创新使InvPT++明显地超过了InvPT,同时在transformer解码器中使用的FLOPs减少了22.51%。我们通过考虑两个新的和更具挑战性的二维/三维多任务场景理解基准,即Cityscapes[19]和Cityscapes-3D[20]数据集,有效地扩展了我们的实验,以研究InvPT++的有效性。实验中进一步提供了定性和定量方面的实质性结果和分析。


这项工作的贡献有三个方面:


  • 我们提出了一个强大的transformer模型 "InvPT++",它是为多任务视觉场景理解而设计的。据我们所知,这是第一个多任务深度框架,在跨任务互动的建模中实现了空间上的全局背景,使各任务能够在一个单一模型中相互加强学习。


  • 我们开发了一个UP-Transformer模块,它有效地促进了跨任务互动和多任务特征的多尺度学习。通过堆叠多个UP-Transformer模块,我们构建了InvPT++解码器,可以为不同任务生成高分辨率的特定任务特征。


  • 在UP-Transformer块内,我们提出了两种类型的跨尺度自我注意模块:融合性注意和选择性注意。它们都有助于通过在不同尺度上传递注意力信息来模拟跨任务的互动。我们进一步设计了一种编码器特征聚合方法,以帮助在多任务解码器中学习多尺度特征。


所提出的InvPT++的不同组件的有效性得到了广泛的验证,InvPT++也在几个主要的2D/3D多任务密集场景理解基准上产生了新的最先进的性能,包括PASCAL-Context、NYUD-v2、Cityscapes和Cityscapes-3D数据集。本文的其余部分组织如下:第2节回顾了相关领域的文献。第3节详细介绍了拟议的InvPT++中的不同模块。第4节展示了我们的实验结果,以验证我们建议的有效性。第5节是本文的结论。


2 相关工作


最相关的工作被组织成两个方面,即密集场景理解的多任务学习,以及视觉变换。


密集场景理解的多任务学习


与单任务学习相比,多任务学习有两方面的优势:(i)首先,在一个模型中联合学习多个任务自然比用不同的模型分别学习任务更有效率,因为不同的任务可以共享一些由任务共享网络模块捕获的共同信息。(ii)其次,由于不同的任务可以通过信息互补来互相帮助,因此通过适当的多任务模型的设计,它们可以胜过单任务模型。鉴于不同的密集场景理解任务之间共享的显著共性,多任务学习的优势激发了该领域的大量研究。


现有的深度多任务学习方法探索了两个不同的方向,即基于优化和基于架构。基于优化的方法专注于加强多任务优化过程,通常是通过为不同任务的损失函数和梯度设计多任务平衡技术[4], [21], [22], 或者通过CON TRAStive Learning regularization loss[23], [24]来强制执行跨任务一致性。相反,基于架构的方法主要侧重于开发有效的多任务模型架构,要么贯穿整个深度模型[25],[25],[26],[27],[28],要么专门在解码器阶段[3],[8],[9],[18],[29],[30]。

在多任务密集场景理解领域已经有了重大的发展,先驱性的研究[2]、[3]、[4]、[25]、[27]、[31]、[32]证明了这一点。为了设计更好的多任务模型架构,PAD-Net[3]提出了一个有效的跨任务交互模块,名为 "多模式蒸馏",实现了跨任务信息融合。MTI-Net[30]通过加入多尺度建模策略改进了PAD-Net,进一步提升了性能。然而,由于在跨任务交互模块中使用了CNN,这些工作只能以高度空间局部的方式建立跨任务关系模型。因此,一些研究人员转向自我注意[33]来为跨任务交互建模。[29]、[8]和[9]开发了基于空间全局或局部注意力的方法来学习每个任务的特定表征,然后将这些特征传播到各个任务中。然而,这些工作仍然是在局部背景下对跨任务互动进行建模,这阻碍了多任务模型的进一步改进。


一些同时进行的工作在多任务模型中加入了自我注意。ATRC[10]利用神经结构搜索技术,为单个任务确定合适的注意力类型。然而,它在捕捉包含所有任务的全局背景方面存在不足。MTFormer[16]和MQTransformer[17]开发了不同的跨任务信息融合模块,然而多任务信息不能在空间上的全局背景下相互作用。与MTAN[26]类似,MulT[15]的特定任务模块直接查询任务共享的骨干特征,以获得特定的任务特征,但无法对跨任务的互动进行建模。MultiMAE[34]学习了一个通用的骨干模型,但需要在每个单一任务上进行微调,这使得它基本上是一系列的单任务模型,而不是一个多任务模型。与这些关于多任务学习的研究不同,我们在本文中引入了一个新的transformer框架,促进了不同任务特征之间的空间全局互动,这对多任务模型的性能有关键影响。


视觉变换


视觉变换的研究是一个蓬勃发展的研究领域。transformer最初是为NLP任务设计的[33],现在已经广泛用于计算机问题的研究[13], [35], [36],包括多模态学习[37], [38], 2D [13], [39], [40], [41], [42], [43]和3D任务[44], [45], [46]。关于视觉变换的架构设计,以前的工作可以分为几类:(一)利用有用的归纳偏见与自我注意。例如,Swin Transformer[47]提出在移位窗口的基础上计算局部注意而不是全局注意,以提高计算效率。Focal Transformer[48]在定义自我注意的上下文时采用了多粒度策略,其动机是认为相邻的区域更重要。这有助于减少注意力地图的大小,提高计算效率。(二) 将变压器与CNN结合起来[14], [49], [50]. BOTNet[49]在ResNet的一些层中嵌入了一个特殊的多头自我注意模块。PVT[14]和CVT[50]则相反,用CNN改进变压器结构,以提高性能和效率。(iii) 发明变压器的特殊训练技术。例如,DEIT[51]为知识提炼设计了一个特殊的可学习标记,这使得从预训练的CNN学习成为可能。DRLOC[52]利用了一个辅助任务来帮助transformer学习标记的相对位置。DPT[11]提出了一个为密集预测任务设计的transformer,利用转置的卷积层来获得高分辨率的特征图。HRFormer[12]通过使用局部注意来减少开销,在模型的不同层中保持多尺度特征。


根据我们的调查,本研究是第一个使用统一的transformer模型在多尺度的空间全局背景下同时对所有任务的互动进行建模,用于多任务场景理解,这有助于它在几个基准上大大超越以前的方法。


3 方法


3.1架构综述


图2描述了拟议的InvPT++的整体框架概况。它可以分为三个部分:一个任务通用的InvPT++ transformer编码器,几个特定任务的初步解码器,以及一个InvPT++ transformer解码器。transformer编码器为所有任务所共享,从同一输入图像中获取任务共享的特征。之后,初步解码器为所有任务提取特定的任务特征,用于计算初步预测。初步预测是通过任务标签和损失函数学习的。对于每个任务,相应的特定任务特征和初步预测在信道维度上被串联起来,形成后续InvPT++解码器的输入。InvPT++解码器被设计为以空间上的全局方式对所有任务的互动进行建模,并完善所有任务的特定特征。然后,特定任务的线性投影层从细化的特定任务特征中计算出最终预测结果。以下各节将对这些模块进行详细描述。



3.2 InvPT++编码器


InvPT++编码器是一个transformer编码器,旨在提取给定图像的通用任务共享特征。在每个transformer层中,自我注意模块通过对不同空间位置之间的长距离空间依赖性进行建模,协助学习全局特征表示。编码器产生一个特征序列,然后被重塑为一个空间特征图。特征图的形状是x,其中和分别代表特征图的高度和宽度。假设我们学习了T个任务,那么从编码器得到的任务-通用特征就会被传递给T个初步解码器来生成相应的T个特征图。在实验中,我们探索了不同的编码器选择,例如带有全局注意力的ViT[13],以及带有窗口注意力的Swin Transformer[47]。



3.3 特定任务的初步解码器


特定任务的初步解码器的功能是为不同的任务产生特定的特征和粗略的预测。为了实现这一目标,我们构建了一个基本单元,由一个带有3×3核的卷积层、一个批量归一化操作和一个ReLU组成,记为 "Conv-BN-ReLU"。每个任务的初步解码器由两个Conv-BN-ReLU单元组成。它接受编码器的特征作为输入,并为相应的任务提供特定的任务特征。


假设有T个任务需要学习,初步解码器产生的特定任务特征表示为, t∈[1, T]。第t个任务的初步预测是通过对相应的特定任务特征进行特定任务的1×1卷积实现的。初步预测是在监督下通过损失函数从真值任务标签中学习的。


接下来,我们将和整合到通道维度上。得到的张量由线性投影层处理,使通道维度与对齐,产生组合的特定任务特征。然后,我们将所有合并的特定任务特征,


3.4InvPT++解码器的结构




解码器在InvPT++中起着至关重要的作用,促进不同任务之间的有效协作。我们对InvPT++ transformer解码器构建块的设计是出于三个关键考虑:


(i) 在空间全局背景下建立所有任务特征之间的互动,对于促进多任务模型中的任务协同至关重要,从而显著提高其性能。


(ii) 许多视觉变换 [13], [14], [50]倾向于大幅降低特征图的分辨率,因为在高空间分辨率下,长距离自我注意的计算成本过高。然而,特征图的分辨率对于像素级的预测任务至关重要,因为细粒度的任务标签值是分配给每个像素的[53]。因此,我们希望在更高的分辨率下完善多任务特征。


(iii) 各种任务都需要对视觉信息有不同的看法。采用多尺度表示法被证明是非常有利的,因为它提供了对各种任务的整体理解[12], [30]。


考虑到这些动机,我们设计了一个transformer解码器来逐步扩大特征分辨率,称为 "InvPT++解码器"。图3描述了InvPT++解码器的结构。拟议的InvPT++解码器由三个阶段组成,每个阶段都有一个精心设计的transformer块,以促进不同空间分辨率下的跨任务互动。在InvPT++解码器的第一阶段(即s=0),我们在编码器的输出分辨率,即x,建立跨任务互动并完善多任务特征。在第二和第三阶段(即s=1,2),我们设计了一个 "UP-Transformer块 "来逐步提高特征分辨率,并在更高的尺度上实现跨任务交互。我们设计了一个跨尺度的自我注意模块,通过连接来自不同尺度的注意信息来促进跨任务互动的建模,并进一步开发了编码器特征聚合的方法来帮助学习多尺度表征。


拟议的InvPT++解码器为所有任务输出精炼的任务特征。它结合了来自不同解码器阶段的特征,以纳入多尺度信息。具体来说,它从InvPT++解码器不同阶段的输出中获得标记序列,随后将其重塑为空间特征图。它使用双线性插值对来自不同阶段的特征图的分辨率进行调整,并采用线性投影层来匹配通道号码,然后以元素方式对特征图进行求和。合并后的特征图再被送入Conv-BN-ReLU单元,以生成最终的T精炼任务特征。


3.5 UP-Transformer Block


UP-Transformer块作为InvPT++解码器的一个关键构件。它被设计为逐步对多任务标记序列进行上采样,同时促进跨任务互动,通过空间上的全局长距离互动来完善所有任务的特征。图4说明了UP-Transformer块的结构。它被用于InvPT++解码器的第二和第三阶段(即s = 1, 2)。


3.5.1 Reshape & Up:多任务特征上采样


为了在更高的分辨率下细化任务特征,UP-Transformer中考虑了上采样。然而,直接插值二维标记序列会破坏特征的空间结构,然而这对于密集的场景理解问题是至关重要的。因此,我们设计了一个块来重塑和上采样多任务标记序列,称为重塑和上采样模块,如图5


3.5.2 跨任务互动的空间全局建模


在自我注意区块中,我们的目标是建立空间上的全局跨任务互动。我们利用自我注意机制,从所有任务的特征中建立每对标记之间的关系。然而,直接计算基于高分辨率多任务标记序列F_s^'的自我注意图会导致过大的内存占用。因此,我们在将F_s^'输入到InvPT++解码器的所有转换块的自我注意模块之前对其进行了下采样。具体来说,F_s^'最初被分割并重塑为T


随后,我们可以用和计算出自我关注的分数矩阵:



由于多尺度信息对视觉理解任务很重要[30],我们通过设计一个跨尺度的自我注意模块来改进自我注意模块,该模块将前一层的注意信息整合到当前层的自我注意模块中。接下来的部分将详细讨论该模块。


3.6 跨尺度的自我关注:融合性注意和选择性注意


如图4所示,为了促进不同尺度的多尺度特征的跨任务交互模式,我们在UP-Transformer块中提出了一个特殊的自我注意模块,名为跨尺度自我注意。跨尺度自我注意机制将前一阶段的注意信息传递给当前阶段,以帮助跨尺度信息的跨任务交互学习。



我们开发了两种不同类型的跨尺度自我注意机制,即融合注意和选择性注意,如图6所示。这两种机制在利用前一层的注意信息方面有所不同。实质上,融合性注意采用线性组合来合并前一阶段的注意信息和当前阶段的注意分数,而选择性注意则是在前一阶段的注意信息指导下,引入了一种更有效率和效果的跨任务互动学习策略。我们将在以下章节中介绍这两种变体。


3.6.1 融合注意力


在这里,函数对综合注意力得分矩阵进行了逐行的softmax 操作到综合注意得分矩阵。


3.6.2 选择性注意力


在InvPT++中,我们倾向于将选择性注意作为标准的跨尺度自我注意方法,因为它的效率和效果都很好。这些优点在实验部分得到了进一步证实。


3.6.3 编码器特征聚合


不同的场景理解任务依赖于不同层次的视觉信息。有些任务,如物体边界检测,需要对图像进行基本的语义理解,而其他任务,如语义分割和人类解析,则需要更高层次的视觉表示。因此,学习不同规模的特征在为多任务预测提供全面信息方面起着关键作用。在这个动机下,我们引入了一种有效的编码器特征聚合方法,将编码器的多尺度特征整合到相应


4 实验


在实验部分,我们的目标是提出全面的实验结果,评估我们提出的方法的功效。


4.1 实验执行


4.1.1 数据集


为了评估我们的方法,我们使用了四个被广泛认可的多任务学习的基准,包括PASCAL-Context[55], [56], NYUD-v2[57], Cityscapes[19], 和Cityscapes-3D[20]数据集。PASCAL-Context数据集包括4,998个训练样本和5,105个测试样本,以各种基本的视觉理解任务的标签为特征,例如,语义分割(Semseg),人类解析(Parsing)和物体边界检测(Boundary)。早期的多任务学习工作为另外两个任务生成了伪标签[2]:表面法线估计(Normal)和显著性检测(Saliency)。NYUD-v2数据集包含1449个训练样本和795个测试样本,为Semseg和Depth提供标签。正常和边界的标签可以从这些注释中得到。我们使用这些数据集中的所有任务来评估我们的方法。城市景观数据集包括不同城市的街道图像,提供Semseg和Depth的像素标签。该数据集由2975张训练图像和500张带有精细注释的验证图像组成。Cityscapes-3D数据集进一步提供了Cityscapes图像中各种车辆的3D边界框,使我们能够对3D物体检测(3Ddet)、Semseg和Depth进行联合学习。


4.1.2 评价


4.1.3 实现细节


对于模型训练,我们遵循InvPT[18]的设置,使用Adam优化器来训练模型。训练迭代次数和批次大小分别为40,000和4。我们采用多项式学习率调度器,使用2×10-5的学习率和1×10-6的权重衰减率。我们采用MTI-Net[30]中不同任务的损失函数的设计,并使用相同的损失权重。在ImageNet-22K[59]上预训练的Swin-T transformer [47]被认为是我们消融研究的编码器。初步解码器的输出通道数为768。在Cityscapes的实验中,我们采用ViT-B[13]作为编码器,并以8个批次的大小对模型进行训练。对于Cityscapes-3D的实验,由于3D检测的分辨率要求较高,为768×1536,因此采用Swin-T作为编码器,并以2个批次的大小对其进行40,000次的训练。对于3Ddet,我们采用FCOS-3D[60]的最终预测头来估计位置坐标、旋转角度、尺寸、物体类别、中心度和方向分类。要全面了解三维检测预测头,请参见FCOS-3D论文,以了解更多细节。


4.1.4 编码器特征聚合的实现


我们的编码器特征聚合模块的设计是针对各种编码器架构的不同属性而设计的。对于具有明确定义的分层结构的编码器模型,如Swin Transformer[47],我们可以直接将其编码器的标记序列从不同阶段送入InvPT++解码器。


相反,对于在所有层中表现出统一结构的模型,如ViT[13],我们采取了不同的方法。在这里,我们从不同的层中手动选择统一分布的标记序列。然后,这些被选中的标记序列被重塑为空间地图,并通过转置的卷积层。这种操作使这些序列的空间分辨率与目标阶段的解码器特征相一致。


具体来说,在ViT-B模型中,总共有12层,我们选择使用编码器的第三、第六和第九层的特征。对于有24层的ViT-L模型,我们利用编码器第六层、第十二层和第十八层的特征。对于第一个尺度的特征图,我们采用了核大小为2、跨度为2的转置卷积。对于第二个尺度的特征图,我们采用了核大小为4、跨度为4的方法。


4.1.5 关于InvPT++解码器中的QKV的详细信息


正如方法部分所介绍的,查询Q、密钥K和值V张量在InvPT++解码器的不同阶段有不同的形状。我们在表1中提供了关于其形状的更多细节。符号的定义见第3节。


4.1.6 模型优化


在NYUD-v2和PASCAL-Context数据集的实验中,我们总共考虑了六个密集预测任务,即Segseg、深度、正常、解析、Saliency和边界。对于连续回归任务(即深度和正常),我们采用了L1损失。对于离散分类任务(即Semseg、Parsing、Saliency和Boundary),我们采用了交叉熵损失。为了保持简单性,我们对中间监督和最终监督都采用同一套损失函数。整个模型可以进行端到端的优化。在城市景观的实验中,我们对Semseg采用交叉熵损失,对深度采用L1损失。对于三维物体检测,我们采用了FCOS-3D[60]中描述的损失函数组合。



4.1.7 数据预处理


我们采用与[10]相同的数据预处理方法。在PASCAL-Context上,图像被填充成512×512的大小,而在NYUD-v2上,输入的图像被随机裁剪成448×576,因为Swin Transformer[47]需要均匀的高度和宽度尺寸进行补丁合并。常见的数据增强方法,如随机缩放、裁剪、水平翻转和颜色抖动,都被采用。在城市景观的实验中,我们坚持UR[61]的数据预处理方法。我们使用7类Semseg注释,并将图像分辨率设置为128×256。利用了随机翻转和随机缩放的数据增强方法。在Cityscapes-3D的实验中,我们使用19类Semseg注释,并将图像分辨率设置为768 × 1536。数据增强方法不适用于Cityscapes-3D。


4.2 模型分析


4.2.1 基线和模型变量


我们建立了一系列的模型基线和变体来验证所提出的InvPT++的不同组成部分,如表4所示。模型变体的说明如下:(i) InvPT++基线(MT)代表一个稳健的多任务模型。它采用Swin-T作为transformer编码器,并利用2个具有3×3内核大小的Conv-BN-ReLU单元作为每个任务的特定解码器,这与我们方法中使用的初步解码器相同。编码器特征图在解码器之前被上采样8次,用于更细粒度的预测,使用多尺度特征聚合策略来进一步提高性能,与以前的工作中的多任务基线相似[10],[30]。(ii) InvPT++基线(ST)是一个单任务模式的集合,其结构类似于InvPT++基线(MT)。(iii) InvPT++ w/ UTB将UP-Transformer块纳入InvPT++基线(MT)。(iv) InvPT++ w/ UTB + FA进一步实现了融合注意(FA)的注意信息传递。(v) InvPT++ w/ UTB + FA + EFA引入了编码器特征聚合。




4.2.2 InvPT++解码器的消融研究


我们在PASCAL-Context和NYUD-v2上进行了一系列的实验,以验证InvPT++不同模块的功效,特别是在解码器方面,结果见表4。根据实验结果,我们发现,作为核心贡献的UP-Transformer Block(UTB),在NYUD-v2数据集上,对Semseg的性能提高了2.12,对深度的性能提高了0.0707,对普通的性能提高了0.42。引入融合注意(FA)版本的跨尺度自我注意,使性能得到明显的改善,并通过应用所提出的编码器特征聚合(EFA)进一步提升。


为了对照单任务基线,我们在两个数据集上将我们的模型与它的单任务等价物(称为 "InvPT基线(ST)")进行比较,如表4所示。与单任务变体相比,我们的模型表现出大幅度的性能提升,在NYUD-v2上实现了2.59%的多任务增益,在PASCAL-Context上实现了1.76%的多任务增益。


为了评估所设计的选择性注意和融合性注意在跨尺度自我注意中的有效性和效率,我们用InvPT++的一个较大的ViT-L编码器变体来实现它们,并在表2(PASCAL-Context)和表3(NYUD-v2)中展示了结果。默认情况下,我们在选择性关注中保留前50%的关键标记。选择性注意在所有的任务中都取得了更好的性能,同时使用的FLOPs也少得多。因此,我们选择选择性关注作为InvPT++的默认选项。


此外,我们研究了在选择性注意中改变所选关键标记的比例对性能的影响。我们进行了保留25%、50%和75%的关键标记的实验,结果见表5。我们观察到,保持较高比例的标记往往会产生更好的性能,尽管它增加了计算成本。


4.2.3 InvPT++编码器的消融研究


我们在本节中考察了InvPT++编码器的影响。我们采用两类transformer编码器,即Swin Transformer(Swin-T、Swin-B和Swin-L)[47]和ViT(ViT-B和ViT-L)[13],作为我们的InvPT++ transformer编码器。PASCAL-Context的结果列于表6,而NYUD-v2的结果列于表7。我们注意到,在同一模型系列中,具有较高容量的模型在Semseg和Parsing等任务上通常会取得一致的性能改进。然而,对于其他较低级别的任务(如边界),这种提高并不明显。对于这种性能提升的差异,一个可能的解释是训练期间的任务竞争问题,正如以前的研究[4], [62]中所讨论的那样。



4.2.4 不同级数的消融研究


我们的方法中的UP-Transformer块一般包括三个阶段。在图10中,我们展示了在PASCAL-Context数据集中,改变InvPT++解码器的级数对不同任务性能的影响。该模型使用了ViT-L编码器。我们观察到,采用额外的阶段增强了InvPT++解码器在所有任务中产生更好预测的能力。这是由于我们的InvPT++解码器可以在更高的分辨率下对跨任务的互动进行建模,因为阶段的数量增加。


4.2.5 通过InvPT++实现学习特征的可视化


我们在图9中提供了从transformer基线(即 "InvPT++基线(MT)")和我们的InvPT++模型学到的最终特征的可视化。它进一步说明了我们提出的InvPT++模型如何提高了特征的质量。在PASCAL-Context数据集和Cityscapes数据集的测试分割中,使用t-SNE[63]对每类1000个随机选择的样本中的所有20个语义类的学习特征点的统计数据进行了可视化。很明显,我们的模型有助于学习更多的鉴别性特征,从而导致更高的定量结果。此外,生成的用于语义分割的特定任务特征图也得到了直观的改善。



4.2.6 初步预测和最终预测的可视化


图8展示了InvPT++在PASCAL-Context上产生的初步预测和最终预测的定性比较。我们可以看到,InvPT++解码器有效地完善了初步预测,使所有密集预测任务的结果都得到了显著改善。这进一步验证了精心设计的InvPT++解码器的有效性。


4.3 最先进的比较

为了展示所提出的InvPT++模型在多任务场景理解上的出色表现,我们将其与许多最先进的方法进行了比较。表8提供了拟议的InvPT++方法与现有的最先进的技术之间的比较,包括PAD-Net[3]、MTI-Net[30]、ATRC[10],以及在NYUD-v2和PASCAL-Context数据集上基于transformer的MQTransformer[17]。InvPT++在这两个基准的所有9个任务指标上一直超过其他方法,特别是在更高层次的场景理解任务上,如Semseg和Parsing上表现出色。值得注意的是,在NYUD-v2上,我们的InvPT++在Semseg上超过了MQTransformer+4.67(mIoU),而在PASCAL-Context上,InvPT++在Semseg和Parsing上分别比MQTransformer多了+8.97(mIoU)和+9.01(mIoU)。我们用ViT-L主干实现了ATRC、MTI-Net和PAD-Net,并在表11中与我们的InvPT++进行比较。我们仍然可以观察到,InvPT++在所有任务中的表现始终优于其他的任务,同时消耗的计算成本也降低了,这为其卓越的有效性提供了有力的证据。我们在图12(针对PASCAL-Context)和图11(针对NYUD-v2)中进一步说明了我们的模型和竞争性ATRC[10]产生的多任务预测。视觉效果清楚地表明,InvPT++产生的输出结果明显更精细。定性和定量的结果都证明了我们方法的优越性。


为了进一步评估InvPT++的有效性,我们调查了它在另一个流行基准上的表现:Cityscapes。我们在Cityscapes上实现了PAD-Net和MTI-Net,并将InvPT++与几种方法进行比较,包括UR[61]、MTAN[26]和XTC[24]。结果显示在表9中。InvPT++取得了最好的性能,进一步证明了我们建议的有效性。


我们还在Cityscapes-3D基准上实现了InvPT++,它需要同时学习语义分割、三维物体检测和深度估计。为了比较,我们构建了一个强大的基线模型,使用Swin-T作为编码器,两个Conv-BN-ReLU单元作为特定任务的解码器,以及FCOS-3D[60]作为三维检测头。结果列于表10。InvPT++在所有任务中都超过了基线。此外,我们在图7中展示了在Cityscapes-3D数据集上生成的结果,这表明InvPT++可以同时为2D和3D任务生成高质量的预测。


4.3.1 归纳性能


我们进一步研究了我们的模型在适应不同数据分布的能力方面的表现。我们使用PASCAL Context数据集的训练分割来训练我们的模型,随后在DAVIS数据集上生成多任务预测。我们的方法与PAD-Net和ATRC进行了比较,输出结果的可视化显示在图13。与其他方法不同的是,我们的模型即使在面对未见过的数据分布时也能成功地产生令人满意的预测结果。这一结果表明,与以前的模型相比,我们的模型表现出明显优越的泛化能力。


5 结语


本研究介绍了倒金字塔多任务变换(InvPT++),这是一个为多任务视觉场景理解而创建的有力模型。凭借其在空间全局背景下对跨任务互动进行建模的独特能力,InvPT++可以在不同的特征尺度上细化多任务表征。我们还提出了一个新的跨尺度自我注意机制,旨在连接不同尺度的注意信息,从而加强对跨任务互动的建模。为了支持多尺度特征的学习,我们采用了专门设计的编码器特征聚合策略,进一步提高了我们InvPT++方法的有效性。通过定量和定性的实验,我们证明了我们框架内各种模块的功效。结果清楚地表明,我们的方法优于其前辈,并在几个有竞争力的多任务基准上取得了强大的先进性能。


投稿作者为『自动驾驶之心知识星球』特邀嘉宾,如果您希望分享到自动驾驶之心平台,欢迎联系我们!



① 全网独家视频课程


BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码免费学习)



视频官网:www.zdjszx.com


② 国内首个自动驾驶学习社区


近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!



③【自动驾驶之心】技术交流群


自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、Occupancy、多传感器融合、大模型、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)


多任务新SOTA!InvPT++:用于视觉场景理解的倒金字塔Transformer的评论 (共 条)

分享到微博请遵守国家法律