4实验
4.1 消融实验
1、Token Pyramid的影响
如表所示,将来自不同尺度的堆叠Token
作为语义提取器的输入,并将最后一个Token
分别作为语义提取器的输入。为了公平的比较,附加了一个1×1卷积层来扩展与堆叠的Token
一样的通道。实验结果证明了使用Token Pyramid作为输入的有效性。
如表3所示,使用{1/4,1/8,1/16,1/32}的Token
可以在最重的计算下获得最佳性能。使用{1/16,1/32}的Token
在最轻的计算下获得较差的性能。为了在精度和计算成本之间实现良好的权衡,作者选择在所有其他实验中使用{1/8,1/16,1/32}的Token
。
2、Scale-aware Semantics Extractor的影响
结果如表所示。在这里使用不带SASE的Topformer作为基线。加入SASE将带来约10%的mIoU收益,这是一个显著的改善。为了验证Transformer Block
中的多头自注意力模块(MHSA),删除了所有的MHSA模块,并添加了更多的ffn,以进行公平的比较。结果表明,在精心的架构设计下是一个高效有效的模块中MHSA可以获得约2.4%的mIoU收益。同时,将SASE与流行的上下文模型进行了比较,如ASPP和PPM。
如表4所示,“+SASE”比“+PSP”和“+ASPP”可以以更低的计算成本获得更好的性能。实验结果表明,SASE更适合用于移动设备。
3、Semantic Injection Module和Segmentation Head的影响
如表所示,将局部Token
与Sigmoid
层之后的语义相乘,表示为“SigmoidAttn”。将语义提取器中的语义添加到相应的局部Token
中,称为“SemInfo”。与“SigmoidAttn”和“SemInfo”相比,同时添加“SigmoidAttn”和“SemInfo”通过一点额外的计算可以带来很大的改进。
在这里还讨论了Segmentation Head
的设计。将特征传递到Semantic Injection Module
后,输出的层次特征具有较强的语义和丰富的空间细节。提出的Segmentation Head
简单地将它们相加,然后使用2个1×1卷积层
来预测分割图。
作者还设计了另外2个分割头,如图所示。Sum Head
等同于只在SIM中添加SemInfo
。Concat Head
使用1×1卷积层
来减少SIM输出的通道,然后将特征拼接在一起。
如表所示,与Concat head
和Sum head
相比,目前的Segmentation Head
可以取得更好的性能。
4、SIM宽度的影响
如表所示,M=256,192,128通过非常接近的计算实现了类似的性能。因此,在tiny, small和base模型中分别设置M=128,192,256。
5、output stride的影响
不同分辨率的结果如表所示。s32、s64、s128表示集合分辨率为输入大小的、、。考虑到计算量和精度的权衡性,选择s64作为语义提取器的输入Token
的输出stride。
6、参数量与实时性
如图所示,虽然语义提取器具有大部分参数(74%),但语义提取器的FLOPs和实际延迟相对较低(约10%)。
4.2 图像分类
为了进行公平的比较,作者还使用了ImageNet的预训练参数作为初始化。如图所示,提出的TopFormer
的分类架构,将平均池化层和线性层附加到全局语义上,以生成类分数。
由于输入图像的分辨率较小(224×224),这里将语义提取器的输入Token
的目标分辨率设置为输入大小的。
4.3 语义分割
1、ADE20K
2、Cityscapes
3、可视化结果
4.4 目标检测
5参考
[1].TopFormer:Token Pyramid Transformer for Mobile Semantic Segmentation
6推荐阅读
阿里巴巴提出USI 让AI炼丹自动化了,训练任何Backbone无需超参配置,实现大一统!
超快语义分割 | PP-LiteSeg集速度快、精度高、易部署等优点于一身,必会模型!!!
CVPR2022 oral | MetaFormer才是探索Transformer的源泉,衍生PoolFormer速度喜人