超轻超快分割模型 | PP-MobileSeg 安卓手机就可以实时运行

简介: 超轻超快分割模型 | PP-MobileSeg 安卓手机就可以实时运行

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无法支持的复杂索引操作。除了延迟和准确性之外,内存存储也是移动应用程序的关键因素,因为内存存储在移动设备上是有限的。

因此,出现了一个根本问题:「能否为移动设备设计一个在参数、延迟和准确性之间具有卓越权衡的混合网络?」

image.png

在这项工作中通过探索模型大小和速度约束下的移动分割架构来解决上述问题,以实现性能飞跃。在广泛的搜索下,成功地提出了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。

总之,本文的贡献如下:

  1. 介绍了StrideFormer,这是一种具有MobileNetV3块的4阶段主干,可以有效地提取不同感受野的特征,同时最大限度地减少参数开销。同时坐在还将SEA的注意力机制应用于最后两个阶段的输出,以改进计算约束下的全局特征表示;
  2. 提出了聚合注意力模块(AAM),它通过增强语义特征的集合投票来融合来自主干的特征,并进一步增强融合特征与最大感受野的语义特征;
  3. 为了减少最终插值和ArgMax操作造成的显著延迟,作者设计了有效插值模块(VIM),该模块仅在推理时间内对最终预测中存在的类进行上采样。用VIM代替最后的插值和ArgMax操作可以显著降低模型延迟;
  4. 将上述模块结合在一起,创建了一系列SOTA移动端分割模型,称为PP-MobileSeg。大量实验表明,PP-MobileSeg在ADE20K和Cityscapes数据集之间实现了延迟、模型大小和准确性之间的良好平衡。

2、本文方法


本节介绍了在速度和大小约束下设计的移动端分割网络的全面探索,旨在获得更好的分割精度。通过研究,已经确定了3个关键模块,它们可以导致更快的推理速度或更小的模型规模,并有轻微的性能改进。

image.png

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。

此外,作者观察到,具有丰富语义的特征补充了之前过滤的细节特征,对提高模型性能至关重要。因此,应该最大限度地保留它。因此,将,即最大感受野的特征,并随着全局视图的增强,添加到过滤的细节特征中。

image.png

在特征融合之后,融合的特征捕获了丰富的空间和语义信息,这是分割性能的基础。除此之外,在TopFormer之后添加了一个简单的分割头。分割头由1×1层组成,有助于沿着通道维度交换信息。然后应用丢弃层和卷积层来产生下采样的分割图。

2.3、有效插值模块

在延迟限制下,做了一个延迟专业文件,发现最终的插值和ArgMax操作占据了总延迟的50%以上。因此,作者设计了有效插值模块(VIM)来取代插值和ArgMax操作,并大大降低了模型延迟。

SeaFormer Base和PP-MobileSeg Base的延迟情况如图3所示。添加VIM后的详细统计数据见表3。VIM基于这样的观察,即在训练好的模型的预测中出现的类的数量通常远小于数据集中的类的总数,尤其是对于具有大量类的数据集。这是具有大量类的数据集的常见情况。因此,没有必要考虑插值和ArgMax过程中的所有类。

image.png

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.

相关文章
|
29天前
|
算法 数据处理 Android开发
掌握安卓性能优化的秘诀:电池寿命与运行效率的提升
【10月更文挑战第6天】 本文深入探讨了安卓应用开发中的性能优化技巧,重点分析了影响电池寿命和运行效率的关键因素,并提供了针对性的优化策略。通过代码优化、资源管理、后台任务处理等方法,开发者可以显著提升应用的续航能力和流畅度。同时,结合具体案例,展示了如何在实际开发中应用这些技巧,确保应用在各种场景下都能保持高效运行。本文旨在为安卓开发者提供实用的性能优化指导,助力其打造更优质的应用体验。
37 2
|
5月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
85 6
如何将python应用编译到android运行
|
13天前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
22 3
|
1月前
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
110 2
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
1月前
|
Web App开发 Android开发
利用firefox调试安卓手机端web
该教程详细介绍如何通过Firefox浏览器实现手机与电脑的远程调试。手机端需安装最新版Firefox,并按指定步骤设置完成;电脑端则需安装15版及以上Firefox。设置完成后,通过工具栏中的“远程调试”选项,输入手机IP地址即可连接。连接确认后,即可使用电脑端Firefox调试器调试手机上的Web信息。注意,调试前手机需提前打开目标网页。
42 2
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
177 2
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
16天前
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
2月前
|
人工智能 机器人 UED
数字人模型网页手机云推流语音交互
随着AI技术的发展,数字人与大型语言模型的结合迎来了新机遇,各类数字人服务不断涌现,应用于多种场景。点量小芹发现许多厂商仍在探索如何优化数字人在移动端的表现。通过云推流实时渲染解决方案。无论是直播中的数字人形象定制,还是网页客服与大屏讲解的应用,只需将数字人模型置于服务器端,借助云渲染技术,用户即可在网页或移动设备上轻松使用高精度的数字人,显著降低硬件需求,提升互动体验。
124 13
|
2月前
|
vr&ar 图形学 UED
电子沙盘VR模型大屏平板手机微信使用方案
数字孪生电子沙盘和VR模型被广泛应用在房地产等行业,为不同设备定制不同版本的模型是常见做法。然而,通过实时云渲染技术,可以将PC端的VR模型转化为网页版,使用户能够在平板或手机上流畅浏览详细信息,无需开发多个版本。这不仅提升了用户体验,还简化了模型提供商的工作流程,降低了成本。尤其在新楼盘发布时,可通过公众号或广告链接快速吸引潜在客户。成本主要取决于并发用户数及显卡性能要求,但该技术显著提高了跨设备访问的便利性。
49 1