Transformer在计算机视觉领域的成功促使人们多次尝试将其应用于移动设备,但在一些现实世界的应用中,其性能仍然不令人满意。
为了解决这个问题,本文提出了PP MobileSeg,这是一种在移动设备上实现最先进性能的语义分割模型。PP MobileSeg包括3个创新:StrideFormer Backbone、聚合注意力模块(AAM)和有效差值模块(VIM)。四阶段的StrideFormer主干由MV3块和跨SEA注意力构建,能够以最小的参数开销提取丰富的语义和细节特征。
AAM首先通过语义特征集合投票对详细特征进行过滤,然后将其与语义特征相结合以增强语义信息。此外,还提出了VIM来将下采样的特征上采样到输入图像的分辨率。它只对最终预测中存在的类进行插值,从而显著降低了模型延迟,这是对整个模型延迟的最重要贡献。
大量实验表明,与其他方法相比,PP-MobileSeg在准确性、模型大小和延迟之间实现了卓越的权衡。在ADE20K数据集上,PP-MobileSeg在mIoU中的精度比SeaFormer Base高1.57%,在高通骁龙855上的参数减少了32.9%,加速度加快了42.3%。
1、简介
与图像分类或目标检测等其他计算机视觉任务相比,语义分割是一项计算成本高昂的任务,因为它涉及预测每个像素的类别。虽然GPU设备上的语义分割取得了重大进展,但很少有研究涉及移动语义分割的挑战。这种研究的缺乏阻碍了语义分割在移动应用程序中的实际应用。
最近,视觉Transformer(ViTs)的激增证明了基于Transformer的神经网络在语义分割方面的良好性能。各种工作已经提出了用于轻量级神经网络设计的Transformer-CNN混合架构,例如MobileViT、MobileFormer和EdgeNext。这种混合架构以尽可能低的成本将全局和局部信息结合在神经网络中。
然而,多头自注意力(MHSA)的计算复杂性使得这些网络很难部署在移动设备上。尽管已经做出了一些努力来降低时间复杂性,包括转移窗口注意力、有效注意力、外部注意力、轴向注意力、SEA注意力等。但其中许多技术需要ARM CPU无法支持的复杂索引操作。除了延迟和准确性之外,内存存储也是移动应用程序的关键因素,因为内存存储在移动设备上是有限的。
因此,出现了一个根本问题:「能否为移动设备设计一个在参数、延迟和准确性之间具有卓越权衡的混合网络?」
在这项工作中通过探索模型大小和速度约束下的移动分割架构来解决上述问题,以实现性能飞跃。在广泛的搜索下,成功地提出了3个新设计的模块:四j阶段的骨干StrideFormer、特征融合块AAM和上采样模块VIM,如图2所示。通过组合这些模块提出了一系列称为PP-MobileSeg的SOTA移动语义分割网络,该网络非常适合具有良好参数、延迟和准确性平衡的移动设备。
改进的网络设计使PP-MobileSeg Base的推理速度比SeaFormer分别提高了40%和34.9%,同时保持了1.37的高mIoU。与MobileSeg-MV3相比,PP-MobileSeg Tiny的mIoU提高了3.13,同时速度快了45%,体积小了49.5%,这表明了它在高分辨率输入的模型性能方面的优越性。尽管PP-MobileSeg Base的延迟稍长,但它保持了模型大小的优势,同时在Cityscapes数据集上的mIoU比SeaFormer高1.96。
总之,本文的贡献如下:
- 介绍了StrideFormer,这是一种具有MobileNetV3块的4阶段主干,可以有效地提取不同感受野的特征,同时最大限度地减少参数开销。同时坐在还将SEA的注意力机制应用于最后两个阶段的输出,以改进计算约束下的全局特征表示;
- 提出了聚合注意力模块(AAM),它通过增强语义特征的集合投票来融合来自主干的特征,并进一步增强融合特征与最大感受野的语义特征;
- 为了减少最终插值和ArgMax操作造成的显著延迟,作者设计了有效插值模块(VIM),该模块仅在推理时间内对最终预测中存在的类进行上采样。用VIM代替最后的插值和ArgMax操作可以显著降低模型延迟;
- 将上述模块结合在一起,创建了一系列SOTA移动端分割模型,称为PP-MobileSeg。大量实验表明,PP-MobileSeg在ADE20K和Cityscapes数据集之间实现了延迟、模型大小和准确性之间的良好平衡。
2、本文方法
本节介绍了在速度和大小约束下设计的移动端分割网络的全面探索,旨在获得更好的分割精度。通过研究,已经确定了3个关键模块,它们可以导致更快的推理速度或更小的模型规模,并有轻微的性能改进。
PP-MobileSeg的完整架构如图2所示,主要包括StrideFormer、聚合注意力模块(AAM)、分割头和有效插值模块(VIM)。通过输入图像并生成一个特征金字塔,并将注意力应用到最后两个阶段,以合并全局语义。
AAM负责融合局部特征和语义特征,然后通过分割头部产生分割Mask。最后,利用上采样模块VIM进一步增强分割Mask,只对最终预测中存在的类对应的几个通道进行上采样,从而减少延迟。
2.1、StrideFormer
MobileNetV3 Block来提取不同感受野的特征。给定图像,其中3,H,W表示图像的通道、高度和宽度。StrideFormer生成特征,,,表示与输入图像的分辨率相比下采样了8、16和32次的特征。一个关键的设计选择是主干中的stage的数量,其中每个stage都是一组mobilenetv3块,这些块产生其中一个特征集,即。
受efficientFormer的启发,作者发现与5个stage的模型相比,4个stage的模型具有最小的参数开销,同时仍保持优异的性能,如表3所示。因此,采用4阶段范式设计StrideFormer。通过从4个阶段的主干生成,,,在接下来的Seaformer的最后两个阶段的特征上添加M/N SEA注意力块。
由于具有大分辨率输入的自注意力模块的时间复杂性,在SEA注意力模块之前添加stride卷积,然后对特征进行上采样。通过这种方式,当用全局信息赋予特征时,将计算复杂度降低了原始实现的1/4。
2.2、聚合注意力模块
利用从主干生成的,,,设计了一个聚合注意力模块(AAM)来融合特征。AAM的结构位于图2的右上角。在生成的特征中,,具有较大的感受野,并包含丰富的语义信息。因此,使用它们作为信息过滤器,通过集合投票来找出细节特征中的重要信息。
在过滤过程中,和被上采样到与相同的分辨率。并将sigmoid算子应用于它们以获得权重系数。然后,将和相乘,相乘结果用于滤波。这里可以将上述过程公式化为Eq1。
此外,作者观察到,具有丰富语义的特征补充了之前过滤的细节特征,对提高模型性能至关重要。因此,应该最大限度地保留它。因此,将,即最大感受野的特征,并随着全局视图的增强,添加到过滤的细节特征中。
在特征融合之后,融合的特征捕获了丰富的空间和语义信息,这是分割性能的基础。除此之外,在TopFormer之后添加了一个简单的分割头。分割头由1×1层组成,有助于沿着通道维度交换信息。然后应用丢弃层和卷积层来产生下采样的分割图。
2.3、有效插值模块
在延迟限制下,做了一个延迟专业文件,发现最终的插值和ArgMax操作占据了总延迟的50%以上。因此,作者设计了有效插值模块(VIM)来取代插值和ArgMax操作,并大大降低了模型延迟。
SeaFormer Base和PP-MobileSeg Base的延迟情况如图3所示。添加VIM后的详细统计数据见表3。VIM基于这样的观察,即在训练好的模型的预测中出现的类的数量通常远小于数据集中的类的总数,尤其是对于具有大量类的数据集。这是具有大量类的数据集的常见情况。因此,没有必要考虑插值和ArgMax过程中的所有类。
VIM的结构位于图2的右下角。正如结构所示,VIM由3个主要步骤组成。
- 首先,将ArgMax和Unique操作应用于下采样的分割图,以找出必要的通道;
- 然后,索引选择操作仅选择那些有效通道,并将插值应用于精简的特征;
- 最后,将所选通道上采样到原始分辨率,以产生最终的分割图。
用VIM代替插值和ArgMax运算,以更低的延迟成本检索到最终的分割图。VIM的使用大大减少了插值和ArgMax操作中涉及的通道,从而显著降低了模型延迟。然而,VIM仅适用于类的数量大到足以在模型中具有通道冗余的情况。因此,设置了30的类阈值,并且当类的数量低于该阈值时,VIM将不生效。
2.4、体系结构变体
本文提供了PP-MobileSeg的两种变体,以使模型适应不同的复杂性要求,即PP-MobileSeg Base和PP-MobileSeg Tiny。这2种变体在形状为512x512的输入下的大小和延迟如表1所示。Base模型和Tiny模型具有相同数量的MobileNetV3层,而Base模型比Tiny模型更宽。并且Base模型生成具有更多通道的特征,以丰富特征表示。
此外,注意力块也有几个不同之处。PP-MobileSeg Base模型在SEA注意力模块中有8个头,M/N=3/3个注意力块。PP-MobileSeg Tiny模型在SEA注意力模块中有4个头,块数为M/N=2/2。
最后2个阶段的特征通道分别是PP-MobileSeg Base的128192和PP-MobileSig Tiny的64128。Base模型和Tiny模型的特征融合模块设置相同,AAM的嵌入通道设置为256。有关网络体系结构的更多详细信息,请参阅源代码。
3、实验
3.1、ADE20K Results
3.2、Cityscapes Results
3.3、消融实验
1、VIM
正如前面提到的,VIM可以代替插值和ArgMax操作,以加速推理速度。从轮廓比较(图3)可以看出,应用VIM后,分割的总推理时间占比从76.32%大大下降到48.71%。表3的实验结果显示,加入VIM后,模型延迟降低了49.5%。这些实验证明了VIM在具有大量类的数据集上的加速能力是特殊的。
2、StrideFormer
在模板中使用四阶段网络后,参数开销显著降低了32.19%。实验结果还显示,准确率提高了0.78%,作者将这归因于增强的骨干。
3、AAM
AAM提高了0.59%的精度,同时略微增加了延迟和模型大小。为了深入了解AAM的设计,作者将融合模块分为两个分支:集成投票和最终的语义,如表4所示。报告的结果揭示了这两个分支的重要性,特别是最终语义的重要性。如果没有它,准确率就会下降0.45%。
4、参考
[1].PP-MobileSeg: Explore the Fast and Accurate Semantic Segmentation Model on Mobile Devices.