TopFormer: Token Pyramid Transformer for Mobile Semantic Segmentation论文解读
TopFormer: Token Pyramid Transformer用于Mobile语义分割的论文解读
-
前言
-
0.摘要
-
1.introduction
-
2.related work
-
3.Architecture
-
- 3.1 Token Pyramid Module
- 3.2 Vision Transformer as Scale-aware Semantics Extractor
- 3.3 Semantics Injection Module and Segmentation Head
-
4.experiment
前言
本文旨在通过移动平台上的Transformer架构实现低成本语义分割任务,并整合多尺度特征。密集预测任务如语义分割需要充分考虑不同尺度信息的交互。现有方法通常在编码器模块中模仿CNN层次结构设计多-scale融合机制。而本文提出了一种创新方法,在Token表示中引入多级金字塔结构以捕捉不同分辨率特征。这种方法既能有效捕获图像细节又能显著降低计算复杂度。此外,在分割任务中我们发现该方法能够有效结合原始Token信息与经Transformer处理后的高层次特征图谱获得良好的性能表现
0.摘要
本文致力于利用topfomer技术构建一个适用于移动设备端的高效语义分割框架。该框架基于transformer架构,并采用层级化token表示方法显著降低了输入数据量。通过多尺度特征融合机制维持了语义分割的效果。从下图中可以看出,在不同模型对比实验中(图中蓝点代表topfomer算法性能指标),与现有模型相比,在保持较高准确率的同时有效降低了延时水平。总体而言,在延时率与准确性之间取得了较好的平衡效果。(测试平台为高通骁龙865移动处理器)

1.introduction
视觉transformer在多个视觉任务(如图像分类、目标检测、语义分割等)上表现出良好的性能表现,然而其基于attention机制所带来的计算开销显著,这对于移动设备或嵌入式系统而言实在是一个巨大的挑战,因为移动设备的计算资源有限且功耗较高,难以承担如此庞大的运算负担,swin网络通过限制窗口内的注意力计算来缓解这一问题,但这种做法同样会带来窗口划分上的时间开销,而专为移动设备设计的MobileViT与Mobile-Former虽然优化了硬件效率,但在时延控制方面仍存在明显劣势,本文提出的topfformer旨在实现时延与准确性之间的最佳平衡点

本文研究表明:金字塔结构中提取出的所有特征均为局部特征;而基于transformer架构的设计能够捕获全局语义信息。将这两种表征方式进行有效整合,则可实现全局与局部表征信息的优势互补
最后评估本文的技术贡献主要包含以下三点
2.related work
。。。
3.Architecture

3.1 Token Pyramid Module
该模块采用MobileNets模块堆叠设计。其特点是交替设置stride为1和2,并重复此模式共四次以完成空间分辨率的缩减。在融合操作前的空间分辨率进一步降至1/32。经过平均池化后空间分辨率再缩减至1/2。因此,在进入变换器模块时的空间分辨率已降至1/64。值得注意的是,在此过程中尽管空间分辨率显著降低但通道数拼接后总通道数仍达到208个(各层输出通道数分别为16、32、64、96)。原始图像仅包含3个通道,在经过上述处理后数据量从原来的3个像素扩展至约98.3%减少后的0.05078125个像素体积(即从原始图像中的每个像素对应到变换器中的一个三维特征向量)。这种显著的数据缩减直接导致平方时间复杂度注意力机制的有效性大幅提高
3.2 Vision Transformer as Scale-aware Semantics Extractor
本段主要介绍的是Transformer编码器的结构。该模型未对注意力机制进行任何改动,在其设计中采用了多层堆叠的方式进行特征提取。具体而言,在注意力计算过程中其计算复杂度呈平方级增长。所谓的语义提取器则是通过堆叠多个Transformer块来实现功能。其中q和k的形状均为[N, C](其中C设为16),而v的形状则为[N, 2C](文中设定C=16)。在注意力计算过程中各层之间的形状变化如下:从[N×C, C×N]降维到[N×N];接着从[N×N, N×2C]进一步降到[N×2C]。(注:文中设定的具体参数为C=16)此外,在该模块的设计中还引入了几个改进措施:首先采用了一维卷积替代全连接层;其次将激活函数从GELU改为ReLU6;最后在每层卷积操作后均接上了Batch Normalization而非Layer Normalization。
3.3 Semantics Injection Module and Segmentation Head
从transformer块中输出的全局语义需要与金字塔结构中的局部语义进行融合。然而这些区域间的语义存在显著差异。为了缓解这种差异带来的问题本文引入了Semantics Injection Module这一机制来缩小区域间语义差异。该模块由三部分组成首先将token金字塔模块生成的局部特征T以及transformer模型提取的全局特征图F作为输入接着分别对其进行多层处理最后将处理后的结果进行组合从而实现跨尺度信息的有效融合具体来说模块的工作流程如下第一步通过1×1卷积层结合Batch Normalization(BN)技术提取特征第二步对全局特征图F执行多层操作以增强其表征能力第三步将各层次提取的信息进行整合形成最终统一的表示方案

上图的黄×就是Semantics Injection Module,下方是它的实现细节:

在经过处理之后的局部语义与全局语义相乘后再加入一次全局语义这代表了一种对局部与整体意义融合的方式这样我们就得到了四张特征图
转换多尺度的特征图到分割结果同样不难具体来说就是将四张不同尺度的特征图通过上采样至同一规格并累加在经过一个1x1卷积层后即可得到物体类别数量的信息实际上这种方法是通过双线性插值将不同分辨率的token映射到与高分辨率token具有相同尺寸的空间中并通过求和运算整合所有信息

4.experiment

本文基于mmsegmentation框架与pytorch平台展开研究工作,在ImageNet数据集上进行了预训练阶段的模型训练,并在此基础上对Ade20k数据集进行了16万次迭代优化过程的探索。实验设置中采用了批次大小为16的策略,并设置了初始学习率为0.00012、权重衰减系数为0.01等超参数配置值。其中优化算法采用了一阶多项式衰减因子(poly)方法进行参数更新策略的选择。研究中我们设计了三种不同的模型架构:TopFormer-Tiny(TopFormer-T)、Top Former-Small(Top Former-S)以及 Top Former-Base (Top Former-B),其分别对应于头层尺寸配置[8,6,4]以及金字塔最低层token通道数配置[256, 192, 128]的设计方案。实验结果表明该方法在保持计算效率的同时实现了较高的分类准确率表现
