这项工作在初步版本[15]的基础上举行了以下加强:1) 我们提出了一种局部标记聚类方法,该方法在不捐躯性能的环境下明显低落了盘算资本。局部聚类方法使我们的TCFormer能够更高效地处理高分辨率图像。2) 我们提出了CRMTA,通过使用聚类结果来指导留意力过程,从而改进了原始的MTA模块。这一加强充分使用了我们动态视觉标记的优势,并改进了对象关系的学习。3) 我们将TCFormer扩展到更多任务中,如对象检测和语义分割,以证实我们TCFormer的通用性。
图2:我们的标记聚类Transformer(TCFormer)的架构。TCFormer采用广泛使用的金字塔结构,由四个阶段构成。初始阶段的视觉标记是从高分辨率特征图中的像素生成的。在连续阶段之间,基于聚类的标记归并(CTM)模块归并视觉标记,以为后续阶段创建动态标记。多阶段标记聚合(MTA)模块以标记格式集成多尺度标记特征,并输出一个标记金字塔以供进一步处理。
2 相关工作
2.1 视觉Transformer
受Transformer在天然语言处理中取得成功的启发[22-24],Transformer已被扩展到盘算机视觉领域,并在广泛的任务中取得了最先进的成果[1, 7, 10, 18, 8]。大多数最先进的视觉Transformer将图像划分为基于网格的块,并将每个块表示为视觉标记。然后,视觉标记序列通过多个堆叠的Transformer块举行处理。根据视觉标记的尺度,视觉Transformer可以分为两类。
第一类采用等距结构,并在整个过程中使用具有同一尺度的视觉标记。ViT[1]将等距视觉Transformer应用于图像分类,通过处理视觉标记以及一个分类标记来预测分类得分。DeiT[2]进一步基于分类标记引入了蒸馏方法。MAE[21]通过重建随机掩码的图像块,将ViT扩展为自监督学习者。ViTPose[14]使用ViT结构举行姿态估计,并取得了最先进的性能。
第二类采用金字塔结构并生成多尺度的视觉标记。第二类也采用金字塔结构并生成多尺度的视觉标记。CVT[4]通过将卷积层融入Transformer块中,构建多尺度的视觉标记,从而扩展了ViT。PVT[20]引入了一种具有金字塔结构的视觉Transformer,用于麋集预测,它在早期阶段采用高分辨率网格划分,并在每个阶段后低落网格分辨率。Swin[8]具有与PVT相似的结构,但在其Transformer块中采用了基于移动窗口的留意力机制。PVT和Swin在各种任务中都取得了出色的成绩,如对象检测[7,16]和语义分割[10,26]。
我们的TCFormer属于第二类,并生成多尺度的视觉标记。与通例模型差别,TCFormer中的视觉标记不受固定网格结构的限制。相反,TCFormer通过标记特征聚类生成具有可顺应外形和巨细的动态标记,这反映了图像的语义含义并专注于紧张区域。TCFormer还通过精细标记捕捉图像细节。动态视觉标记有助于学习对象关系并捕获具体信息。
2.2 动态视觉标记
基于固定网格的视觉标记忽略了图像的语义含义,并将所有区域视为等同,这不是最优的。为了办理这个问题,动态视觉标记越来越受到关注。生成动态视觉标记的关键在于区分信息丰富和信息贫乏的图像区域,并专注于信息丰富的区域。
标记剪枝是一种常用的生成动态标记的技术,它通过消除无信息的标记来低落盘算复杂度。DynamicViT[22]和AdaViT[17]为每个视觉标记预测分数,并仅保留分数高的信息丰富的标记。PnP-DETR[23]也根据预测的分数选择信息丰富的标记。然而,分数低的标记由粗略的特征向量表示。Evo-ViT[24]根据分类标记的留意力权重区分信息丰富的标记,并用单个代表性标记表示无信息的标记。
标记剪枝方法旨在减少配景图像区域的盘算资本,而其他方法则旨在加强图像特征的学习。DVT[25]根据输入图像的分类难度确定标记的分辨率,从而使更精细的标记能够表示复杂的图像。PS-ViT[26]渐渐调整图像块的中央,以使视觉标记会集在信息丰富的区域,并改善图像特征。
与先前的方法相比,我们TCFormer中的动态标记生成更加灵活。先前的方法仍然范围于基于网格的标记,其中标记剪枝调整网格块的数量,DVT调整网格尺度,而PS-ViT调整网格块中央。相反,我们的TCFormer不受基于网格的图像块的限制,并且在标记的外形和巨细上都具有顺应性。首先,TCFormer生成具有灵活外形的标记。我们的动态视觉标记根据语义含义对图像举行划分,并且不受空间关系的限制,允许甚至非相邻区域由单个标记表示。这种标记外形的灵活性加强了与图像中对象的对齐,改善了对象关系的学习。其次,TCFormer动态调整标记密度,为信息丰富的区域分配更多标记,以学习更具代表性的图像特征。第三,TCFormer为差别区域使用差别尺度的标记,能够通过精细标记表示图像细节来捕获具体信息。
最近,也出现了基于聚类的动态标记生成方法。[27]通过渐渐归并最相似的标记对来生成动态标记,而[28]则提出使用迭代局部聚类举行标记归并。这些工作与我们的TCFormer有雷同的理念,即图像区域应根据语义含义而不是空间位置举行划分。虽然[27]和[28]都旨在通过减少标记数量来低落盘算复杂度,但相比之下,我们的目的是通过动态标记来加强图像特征。
3 标记聚类Transformer
Token Clustering Transformer(TCFormer)的总体架构如图2所示。TCFormer采用流行的金字塔结构,由四个阶段构成。每个阶段由几个堆叠的Transformer块构成。在相邻阶段之间交错部署了一个基于聚类的标记归并(CTM)模块,以动态归并标记,并使每个阶段能够处理差别尺度的标记。第一阶段的视觉标记从高分辨率特征图初始化,特征图中的每个像素都被视为一个标记。在最终阶段之后,一个多阶段标记聚合(MTA)模块以视觉标记的形式集成多尺度特征,并输出一个图像特征金字塔,用于特定任务的处理。我们将在第3.1节中介绍初步版本(TCFormerV1),并在第3.2节中介绍新版本(TCFormerV2)。
3.1 TCFormerV1
3.1.1 Transformer块
图3展示了TCFormerV1中Transformer块的结构。由于视觉Transformer中通常存在大量标记,传统Transformer块中的全局留意力处理会导致不可接受的盘算资本。为了办理这个问题,我们在留意力处理之前引入了一个标记减少层,以减少标记的数量。如图3(b)所示,空间标记减少(SR)层将视觉标记转换为特征图,然后使用卷积层低落特征图的分辨率。下采样的特征图随后被展平以形成键和值标记,从而减少标记的数量。在留意力处理之后,我们联合了一个深度卷积层来捕获局部信息,这在先前的工作如[4, 29, 13]中已被证实是有益的。
3.1.2 基于聚类的标记归并(CTM)模块
如图4所示,我们TCFormer中的基于聚类的标记归并(CTM)模块包罗一个标记聚类和归并过程。给定前一阶段的视觉标记,CTM模块首先通过对标记特征应用聚类算法将标记分组为聚类,然后将同一聚类内的标记归并以生成后续阶段的新视觉标记。
标记聚类。对于标记聚类过程,我们使用了基于k最近邻(DPC-kNN)的密度峰值聚类算法的一个变体[30],因为它简单且易于并行化。给定一组视觉标记 X X X,我们首先盘算每个标记与其他标记之间的距离。然后,我们根据标记与其k最近邻之间的距离来估计局部密度 ρ \rho ρ:
ρ i = exp ( − 1 k ∑ x j ∈ kNN ( x i ) ∥ x i − x j ∥ 2 2 ) \rho_{i}=\exp \left(-\frac{1}{k} \sum_{x_{j} \in \operatorname{kNN}\left(x_{i}\right)}\left\|x_{i}-x_{j}\right\|_{2}^{2}\right) ρi=exp(−k1∑xj∈kNN(xi)∥xi−xj∥22)
其中, kNN ( x i ) \operatorname{kNN}\left(x_{i}\right) kNN(xi)表示标记 i i i的k最近邻。 x i x_{i} xi和 x j x_{j} xj是它们对应的标记特征。
然后,对于每个标记,我们收集它与局部密度较高的标记之间的距离,并使用最小距离作为距离指标。距离指标较大的标记往往是局部密度峰值,并被以为是聚类中央的合适候选者。对于局部密度最高的标记,我们将其与其他标记之间的最大距离设置为其距离指标,以确保它具有最大的距离指标。
δ i = { min j : ρ j > ρ i ∥ x i − x j ∥ 2 , 如果存在 j 使得 ρ j > ρ i max j ∥ x i − x j ∥ 2 , 否则 \delta_{i}=\left\{\begin{array}{l} \min _{j: \rho_{j}>\rho_{i}}\left\|x_{i}-x_{j}\right\|_{2}, \text { 如果存在 } j \text { 使得 } \rho_{j}>\rho_{i} \\ \max _{j}\left\|x_{i}-x_{j}\right\|_{2}, \text { 否则 } \end{array}\right. δi={minj:ρj>ρi∥xi−xj∥2, 如果存在 j 使得 ρj>ρimaxj∥xi−xj∥2, 否则
其中, δ i \delta_{i} δi表示距离指标, ρ i \rho_{i} ρi表示局部密度。
末了,我们通过将每个标记的局部密度与其距离指标相乘来确定其得分,即 ρ i × δ i \rho_{i} \times \delta_{i} ρi×δi。得分较高的标记更有大概成为聚类中央。然后,选择得分最高的标记作为聚类中央,并将别的标记分配给最近的中央。
标记归并。标记归并过程旨在为每个聚类生成一个代表性的标记。一个简单的方法是直接盘算聚类内标记特征的平均值。然而,这忽略了每个标记的差别紧张性。受先前工作[22, 17, 23]的启发,我们根据标记的特征预测其紧张性得分 P P P,以反映其紧张性,并使用预测的紧张性得分来指导标记特征的平均盘算:
y i = ∑ j ∈ C i e p j x j ∑ j ∈ C i e p j y_{i}=\frac{\sum_{j \in C_{i}} e^{p_{j}} x_{j}}{\sum_{j \in C_{i}} e^{p_{j}}} yi=∑j∈Ciepj∑j∈Ciepjxj
其中, C i C_{i} Ci表示第 i i i个聚类的聚集, x j x_{j} xj和 p j p_{j} pj分别是原始标记特征和对应的紧张性得分。 y i y_{i} yi是归并后标记的特征。
如图4所示,原始标记和归并后的标记被输入到后续的Transformer块中,其中归并后的标记作为查询(queries),原始标记作为键(keys)和值(values)。Transformer块旨在将特征从原始标记转移到归并后的标记上,同时将紧张性得分 P P P融入留意力机制中以引导特征转移过程。
Attention ( Q , K , V ) = softmax ( Q K T d k + P ) V \text {Attention }(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{d_{k}}+P\right) V Attention (Q,K,V)=softmax(dkQKT+P)V
其中, d k d_{k} dk是查询的通道维度。为了清晰起见,我们省略了多头设置和空间降维层。通过将标记紧张性得分融入特征平均和留意力过程,我们确保了对输出动态标记有更大影响的关键视觉标记。
3.1.3 多阶段标记聚合(MTA)模块
如第3.1.2节所述,原始CTM模块中使用的DPC-kNN算法[30]涉及盘算每对标记之间的距离。这个过程产生的内存资本和盘算复杂度与标记数量的平方成正比。因此,对于高分辨率的输入图像,早期阶段的原始CTM模块会导致不可接受的复杂度和内存使用量。
如图8所示,CTM模块在差别阶段表现出差别的结果。在早期阶段,它倾向于将视觉标记与其附近的标记归并,并将动态标记与物体边沿(如树枝和热气球)对齐。在深层阶段,CTM模块基于高级语义含义归并远处的标记,比方墙壁和天空区域。使用CTM模块的这一特性,我们引入了一个名为局部CTM模块的新模块,该模块在不捐躯性能的环境下低落了复杂度。为了参考,在后续部门中,原始CTM模块被称为全局CTM模块。
如图\mathbf{7}所示,局部CTM模块在早期阶段将动态标记分为多个部门,并对每个部门单独举行标记聚类过程。这种方法允许输出标记与物体边沿对齐,同时只需要盘算相邻标记对之间的距离。假设我们将输入标记分为 P P P部门,输入标记的数量为 N N N,特征通道维度为 C C C,则全局聚类方法的盘算复杂度为 N 2 C N^{2}C N2C,而局部聚类方法的复杂度为 N 2 C / P N^{2}C/P N2C/P。与前者相比,后者的复杂度低落了 P P P倍。
随着我们向更深的阶段推进,我们减少了局部CTM模块中使用的部门数量,以便于归并更远的标记。在最终阶段,我们将部门数量减少到1,并在该模块中实行原始的全局标记聚类。部门数量的渐渐减少使得在空间上相距较远但在语义上相似的图像区域可以由雷同的标记来表示。我们将局部CTM模块集成到我们的TCFormerV2中。具体来说,我们在前两个局部CTM模块中分别使用了16和4个部门,在末了一个局部CTM模块中使用了1个部门。
在图8中,我们对比了全局CTM模块和局部CTM模块生成的动态标记。在早期阶段,纵然部门数量相对较大,局部CTM模块也能生成与物体边沿对齐精良的动态标记。在深层阶段,我们局部CTM模块中的小部门数量能够实现长距离标记归并,生成与语义含义对齐精良的动态标记。总之,我们的局部CTM模块生成的标记分布与全局CTM模块相似,但复杂度明显低落。
3.2.2 基于聚类减少的MTA