【他山之石】TPAMI 2024 | 倒置金字塔多任务Transformer用于视觉场景理解

科技   2025-01-15 18:01   北京  

“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注!

前言本文介绍了一种倒置金字塔多任务Transformer,能够在全球上下文中对不同任务的空间特征进行跨任务交互建模。具体来说,我们首先利用Transformer编码器捕获所有任务的通用特征,然后设计了一个Transformer解码器来建立全局的空间和跨任务交互,并设计了一个新颖的UPTransformer块,逐步提高多任务特征的分辨率,并在不同尺度上建立跨任务交互。

1 论文信息

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

倒置金字塔多任务Transformer用于视觉场景理解

作者:Hanrong Ye, Dan Xu

2 论文创新点

  1. 提出了一种新的多任务学习框架InvPT++,该框架通过倒置金字塔结构的Transformer模型,实现了跨任务特征的全局交互和多尺度学习。
  2. 设计了UP-Transformer块和两种类型的跨尺度自注意力模块(融合注意力和选择性注意力),有效提升了多任务特征的交互和模型的计算效率。
  3. 引入了编码器特征聚合策略,增强了模型对多尺度信息的建模能力,从而在多个2D/3D多任务场景理解基准测试上取得了显著的性能提升。

3 方法

3.1 框架概述

提出的InvPT++的整体框架概述如图2所示。它可以分为三个部分:一个任务通用的InvPT++ Transformer编码器、几个任务特定的初步解码器和一个InvPT++ Transformer解码器。Transformer编码器被设计为对所有任务共享,从同一输入图像中获取任务共享特征。随后,初步解码器提取所有任务的任务特定特征,这些特征用于计算初步预测。初步预测是通过任务标签和损失函数学习的。对于每个任务,相应的任务特定特征和初步预测在通道维度上连接,形成后续InvPT++解码器的输入。InvPT++解码器被设计为在空间全局方式中建模所有任务交互,并细化所有任务的任务特定特征。任务特定的线性投影层然后从细化的任务特定特征计算最终预测。以下部分将提供这些模块的详细描述。

3.2 InvPT++ 编码器

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

3.3 任务特定的初步解码器

任务特定初步解码器的功能是为不同任务生成任务特定特征和粗略预测。为了实现这一点,我们构建了一个由3x3卷积核、批量归一化操作和ReLU组成的基元,表示为“Conv-BN-ReLU”。每个任务的初步解码器由两个Conv-BN-ReLU单元组成。它接受编码器特征作为输入,并提供相应任务的任务特定特征。
假设我们学习个任务,初步解码器生成任务特定特征,表示为。通过将任务特定特征应用任务特定的1x1卷积来获得第个任务的初步预测。初步预测通过任务标签的真实值通过损失函数进行学习。
接下来,我们将在通道维度上集成。得到的张量通过线性投影层处理,以将通道维度对齐到,产生组合任务特定特征。然后我们将所有组合任务特定特征展平并连接,形成多任务令牌序列,使得。这个多任务令牌序列将作为后续InvPT++解码器的输入。

3.4 InvPT++ 解码器结构

解码器在InvPT++中起着至关重要的作用,促进了不同任务之间的有效协作。我们设计InvPT++ Transformer解码器构建块的动机是三个关键考虑因素:
(i)在空间全局上下文中建立所有任务特征之间的交互对于促进多任务模型中的任务协同至关重要,从而显著提高其性能。
(ii)许多视觉Transformer[13]、[14]、[60]倾向于由于长距离自注意力在高空间分辨率下的计算成本过高而大幅降低特征图的分辨率。然而,特征图分辨率对于像素级预测任务至关重要,因为每个像素的细粒度任务标签值被分配[63]。因此,我们希望在更高的分辨率下细化多任务特征。
(iii)不同的任务需要对视觉信息有不同的视角。采用多尺度表示非常有利,因为它提供了对各种任务的全面理解[12]、[38]。
考虑到这些动机,我们设计了一个Transformer解码器,逐步提高特征分辨率,称为“InvPT++解码器”。InvPT++解码器的架构如图3所示。提出的InvPT++解码器由三个阶段组成,每个阶段都设计了一个精心设计的Transformer块,以在不同的空间分辨率下促进跨任务交互。在InvPT++解码器的第一阶段(即,),我们建立跨任务交互,并在编码器的输出分辨率下细化多任务特征,即。在第二和第三阶段(即,),我们设计了一个“UP-Transformer块”来逐步增加特征分辨率,并在更高的尺度上启用跨任务交互。设计了一个跨尺度自注意力模块来通过连接不同尺度的注意力消息来增强跨任务交互的建模,并进一步开发了一种编码器特征聚合方法,以帮助学习多尺度表示。

为了更清晰的说明,在阶段,其中,输入特征表示为,我们有。这里,表示输入特征的高度和宽度,而表示通道数。初始阶段的输入是,如第3.3节讨论的,导致
提出的InvPT++解码器输出所有任务的细化任务特征。它结合了InvPT++解码器不同阶段的特征序列,以纳入多尺度信息。具体来说,它从InvPT++解码器的不同阶段的输出中获取令牌序列,然后将它们重塑为空间特征图。它使用双线性插值对不同阶段的特征图的分辨率进行对齐,并使用线性投影层匹配通道数,然后以逐元素的方式求和特征图。然后将合并的特征图输入到Conv-BN-ReLU单元中,以生成最终的个细化任务特征。

3.5 UP-Transformer块

UP-Transformer块是InvPT++解码器中的关键构建块。它被设计为逐步上采样多任务令牌序列,同时促进跨任务交互,以通过空间全局长距离交互细化所有任务的特征。UP-Transformer块的结构如图4所示。它用于InvPT++解码器的第二和第三阶段(即,)。

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

为了在更高的分辨率下细化任务特征,UP-Transformer中考虑了上采样。然而,直接插值2D令牌序列可能会破坏对密集场景理解问题至关重要的特征空间结构。因此,我们设计了一个名为Reshape & Up模块的块来重塑和上采样多任务令牌序列,如图5所示。在Reshape & Up模块中,我们首先使用张量切片将个任务的令牌序列沿第一维均匀地分成个特征组。然后,我们将每个组的令牌序列重塑为空间特征图,尺寸为。每个组的空间特征图使用双线性插值进行上采样,高度和宽度加倍。每个组的上采样特征图进一步通过Conv-BN-ReLU单元处理,以调整通道维度。最后,组特征图被展平回令牌序列,然后沿第一维连接,得到包含所有个任务特征的上采样令牌序列。

在UP-Transformer的开始,我们使用Reshape & Up模块来增强多任务令牌序列的空间分辨率,同时将通道数减半,得到上采样令牌序列。接下来,与来自Transformer编码器的特征令牌序列结合,并由LN层[64]处理。输出然后输入到随后的自注意力层。

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

在自注意力块中,我们的目标是在所有任务的特征之间建立空间全局跨任务交互。我们利用自注意力机制来模拟所有任务特征中每对令牌之间的关系。然而,直接基于高分辨率多任务令牌序列计算自注意力图将导致过大的内存占用。因此,在InvPT++解码器中所有Transformer块的自注意力模块之前,我们对进行下采样。具体来说,首先被分割并重塑为组空间图,每组的形状为,对应于一个单一任务。为了生成查询张量,对每个组使用步长为2的3x3卷积层,表示为Conv(·)。为了生成键和值张量,使用步长为(对于第阶段)的平均池化操作Pool(·, ks)。这种方法显著提高了自注意力模块的计算效率,使得在高分辨率下进行空间全局跨任务交互成为可能。
接下来,每个组的查询、键和值张量被展平并连接为查询、键和值令牌序列。这个过程表示为Flatten(·)。假设分别是QKV线性投影层的权重矩阵,查询、键和值的计算可以描述如下:

具体来说,解码器不同阶段查询Q、键K和值V张量的形状在表1中列出。接下来,我们可以使用计算自注意力分数矩阵

这里,用作缩放因子以解决幅度爆炸问题[43]。在原始Transformer模型中,自注意力图是通过将softmax激活函数应用于直接计算的。

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

3.6 跨尺度自注意力:融合注意力和选择性注意力

如图4所示,为了促进不同尺度的多尺度特征的跨任务交互建模,我们提出了一个特殊的自注意力模块,称为跨尺度自注意力,在UP-Transformer块中。跨尺度自注意力机制传递前一阶段的注意力消息到当前阶段,以帮助学习具有跨尺度信息的跨任务交互。为了从前一阶段获得注意力消息,我们首先设计了一个注意力消息传递机制。如图4所示,注意力消息传递将第阶段的注意力分数矩阵传递到当前阶段。具体来说,我们首先适当调整平均池化层的步长参数,以保持不同阶段的第二维一致。使用Reshape & Up模块增加的空间分辨率,得到与匹配维度的注意力消息矩阵。注意力消息矩阵,它体现了前一阶段的跨任务关系,将用于通过实施跨尺度自注意力来帮助建模当前阶段的跨任务交互。我们开发了两种不同类型的跨尺度自注意力机制,即融合注意力和选择性注意力,如图6所示。这两种机制在利用前一阶段的注意力消息方面有所不同。本质上,融合注意力使用线性组合来融合前一阶段的注意力消息和当前阶段的注意力分数,而选择性注意力引入了一种更高效、更有效的策略,通过前一阶段的注意力消息来学习跨任务交互。我们将在以下各节中介绍这两种变体。

3.6.1 融合注意力

融合注意力学习一对权重,用于融合前一阶段的注意力消息和当前阶段的注意力分数,如图6所示。具体来说,在我们获得注意力消息矩阵之后,融合注意力学习两个权重来结合,并应用softmax函数得到组合注意力图

这里,Softmax(·)函数对复合注意力分数矩阵应用行内softmax操作。UP-Transformer块输出更新后的多任务令牌序列,它是通过将与值张量相乘得到的。然后,经过上采样,并通过来自的跳跃连接进行添加。

3.6.2 选择性注意力

选择性注意力与融合注意力采取不同的方法,并实现了更高的计算效率。其动机是,由于注意力消息矩阵包含了从先前层获得的令牌级跨任务关系,我们可以利用这些信息来找到重要令牌,并仅在它们之间执行自注意力。这种方法通过只关注重要令牌来减少计算成本,从而提高了跨任务交互的有效性和效率。如图6所示,我们首先进行一个名为“重要令牌发现”的过程,以识别重要令牌。具体来说,假设注意力消息矩阵的维度为,我们首先计算沿第一维的平均值,得到个平均值,我们将其表示为“Avg(·)”过程。这些平均值代表了在前一尺度的自注意力中相应键令牌的重要性水平。然后,我们选择前个键令牌作为重要令牌,并记录它们的索引为,我们将其表示为“top(, k)”操作,得到以下结果:
然后,我们基于索引中选择当前阶段的重要键令牌。这个操作表示为“Select(K_s, I_s)$”。我们有:

接下来,我们仅针对个重要键令牌计算注意力图,这防止了对所有令牌进行冗余计算,从而提高了效率和有效性。另一方面,为了减轻丢弃令牌的信息损失,我们通过平均池化将未选择的令牌合并为一个,并将其纳入注意力计算中。我们将合并的令牌命名为剩余令牌。假设未选择令牌的索引为,这个过程被表述为:

然后,注意力图的计算现在被表述为:
在InvPT++中,我们更倾向于选择性注意力作为标准的跨尺度自注意力方法,因为它的优越效率和有效性。这些优点在实验部分得到了进一步的证实。

3.6.3 编码器特征聚合

不同的场景理解任务依赖于不同层次的视觉信息。一些任务,如物体边界检测,需要对图像的基本语义理解,而其他任务,如语义分割和人体解析,需要更高级别的视觉表示。因此,学习不同尺度的特征在为多任务预测提供全面信息方面起着至关重要的作用。基于这一动机,我们引入了一种有效的编码器特征聚合方法,该方法将编码器中的多尺度特征整合到相应的解码器阶段中。如图4所示,在每个UP-Transformer块内,我们获得与当前空间分辨率相同的编码器令牌序列,表示为。假设的通道数为,我们将其重塑为空间特征图,并使用3x3卷积层将通道数修改为。然后,我们将结果展平回令牌序列,并将其扩展倍以匹配的维度,然后将其添加到中。通过这种方式,InvPT++解码器接收来自编码器的多尺度特征,最终增强了整体性能。

4 实验


击呗!

人工智能前沿讲习
领先的人工智能知识平台
 最新文章