PP-MobileSeg: 探索移动设备上又快又准的语义分割模型

论文:https://arxiv.org/abs/2304.05152

代码:https://github.com/open-mmlab/mmsegmentation/tree/main/projects/pp_mobileseg

0、摘要

        transformer在CV领域的成功之后,出现了很多在移动设备上使用它们的尝试性工作,但是这些工作在某些实际应用中的表现仍然不能令人满意。为了解决这个问题,本文提出PP-MobileSeg——一个在移动设备上达到SOTA的语义分割模型。PP-MobileSeg包含三个新颖的设计:StrideFormer backbone、聚合注意力模块(AAM)、有效差值模块(VIM):

  • 包含了4个stage的StrideFormer backbone 由MV3块和SEA注意力模块构建,能够以最小的参数量提取丰富的语义信息与细节特征;
  • AAM则首先通过语义特征集成投票过滤细节特征,然后将它们与语义特征相结合以增强语义信息;
  • VIM将下采样的特征上采样到输入图像的大小,它通过仅插值最终预测中存在的类来显着降低模型延迟,这是降低整体模型延迟的最主要因素。

        大量实验表明,与其他方法相比,PP-MobileSeg 在准确性、模型大小和延迟之间实现了更好的权衡。在ADE20K数据集上,PP-MobileSeg在mIoU上比SeaFormer-Base高1.57%,在高通骁龙855上减少了32.9%的参数和42.3%的加速。

1、引言

        相比图像分类、目标检测之类的图像任务,语义分割计算比较昂贵的,因为它需要预测每个像素的类别。由于GPU的存在,现在很少有针对移动设备的语义分割研究。而研究的缺乏,又阻碍了语义分割在移动APP上的应用。

        最近,视觉transformer的爆发式增长,证明了基于transformer的神经网络在语义分割方面的潜力。有部分工作提出利用transformer-CNN结合的混合架构来设计轻量网络,比如Mobile ViT、MobileFormer、EdgeNext。这种混合架构的网络以最低的计算成本结合了全局与局部信息,然而多头自注意力(MHSA)却使得这几个网络很难用于移动设备。尽管已经通过诸如滑窗注意力、高效注意力、外部注意力、轴向注意力、SEA注意力等技术来降低计算复杂度,但是这些技术中的许多需要复杂的索引操作,ARM CPU仍不能支持。除了延时与准确率,内存也是一个制约移动设备应用的关键因素,因为移动设备的内存通常比较有限。因此出现了一个基本问题:我们能否为移动设备设计一个混合网络,在参数、延迟和精度之间具有优越的权衡?

        在这项工作中,我们通过在模型大小和速度约束下探索移动分割架构来解决上述问题,以实现性能飞跃。在广泛搜索下,我们设法提出了三个新颖的设计模块:四级主干StrideFormer、特征融合块AAM和上采样模块VIM,如图2所示。通过结合这些模块,我们提出了一系列名为 PP-MobileSeg 的 SOTA 移动语义分割网络,该网络非常适合具有大量参数、延迟和精度平衡的移动设备。我们改进的网络设计允许 PPMobileSeg-Base 在保持具有竞争力的 1.37 更高的 mIoU(表1)的同时,将推理速度提高 40% 和并将模型大小降低34.9%。与 MobileSeg-MV3 相比,PP-MobileSeg-Tiny 实现了 3.13 更高的 mIoU,同时速度提高了 45% 和 49.5%(表 1)。我们还评估了 PP-MobileSeg 在 Cityscapes 数据集 (表 2)上的性能,这表明它在高分辨率输入上的模型性能方面具有优势。尽管 PP-MobileSeg-Base 的延迟稍长,但它在 mIoU 上比 SeaFormer在Cityscapes数据集 上的模型大小优势高 1.96。

图 1. 我们在 ADE20K 验证集上展示了我们提出的 PP-MobileSeg 模型的准确度延迟参数分析。trade-off分析表示为气泡图,其中 x 轴表示延迟,y 轴表示 mIoU。具有相同颜色的模型来自同一个模型系列。我们的模型实现了更好的准确性-延迟-参数权衡。请注意,延迟使用 Qualcomm Snapdragon 855 CPU 上的 PaddleLite 测试,单线程为 512x512 作为输入形状。
表 1. ADE20K 验证集的结果。使用PaddleLite测量延迟,在高通骁龙855 CPU上使用最终的ArgMax算子,以512x512为输入形状。所有结果都使用单个线程进行评估。mIoU 是通过单尺度推理报告的。

        本文贡献总结如下:

  • 提出了StrideFormer,一个具有MobileNetV3块的4-stage的backbone,可以有效地提取不同接收域的特征,同时最小化参数开销;
  • 提出了聚合注意模块(AAM),它通过增强语义特征的集成投票来融合来自主干的特征,并进一步增强融合特征具有最大感受野的语义特征;
  • 为了减少最终插值和 ArgMax 操作引起的显着延迟,我们设计了 Valid Interplate Module (VIM),该模块在推理时只对最终预测中存在的类进行上采样;用 VIM 替换最终的插值和 ArgMax 操作显着减少了模型延迟;
  • 我们将上述模块结合起来,创建了一系列名为 PPMobileSeg 的 SOTA 移动分割模型。我们的大量实验表明,PPMobileSeg 在 ADE20K 和 Cityscapes 数据集的延迟、模型大小和准确性之间取得了很好的平衡。

2、相关工作

        在速度和模型大小约束下,移动语义分割是一项旨在采用高效网络设计的语义分割网络的任务。

2.1. 语义分割

        为了在语义分割中实现高性能,几个关键元素是必不可少的,包括一个大的感受野来捕获上下文、高分辨率的特征进行精确分割、细节和语义特征的融合用于精确预测以及改进特征表示的注意机制。SOTA模型通常结合几个甚至所有这些元素来实现卓越的性能。语义分割任务的主要要求是,网络必须能够捕获场景的整体视图,同时保留图像的细节和语义。因此,必须设计能够高效有效地整合这些元素的网络架构。

2.2. 高效网络设计

        由于语义分割的计算复杂度大,移动设备上的分割研究有限,只有少数研究关注这一领域。其中,TopFormer 使用自注意力块增强令牌金字塔,并使用他们提出的注入模块将其与局部特征融合。此外,SeaFormer通过高效的SEA注意模块提高了模型的性能。它们都显着优于 MobileSeg 和 LRASPP,后者目前代表了移动语义分割的最新技术。

3、方法

        本节全面探索在速度和大小约束下设计的移动分割网络,旨在获得更好的分割精度。通过我们的研究,我们确定了三个关键模块,这些模块导致更快的推理速度或更小的模型大小,并略微提高了性能。PP-MobileSeg 的完整架构如图 2 所示,它包括四个主要部分:StrideFormer、Aggregate Attention Module (AAM)、segmentation head 和 Valid Interpolate Module (VIM)。StrideFormer利用输入图像生成一个特征金字塔,将跨步注意应用于最后两个阶段,以合并全局语义。AAM负责融合局部特征和语义特征,然后通过分割头生成分割掩码。最后,上采样模块 VIM 用于进一步增强分割掩码,仅通过对最终预测中存在的类对应的少数通道进行上采样来减少延迟。以下部分详细描述了这些模块中的每一个。

图 2. PP-MobileSeg 网络架构。AAM 的结构在图的顶部。法线插值模块和 VIM 之间的差异显示在图右下角。通过选择最终预测中存在的类,VIM 通过上采样几个通道显着降低了延迟。

3.1. StrideFormer

        在StrideFormer模块中,我们利用MobileNetV3[12]块的堆栈来提取不同接收域的特征。关于该架构变体的更详细信息可以在 3.4 小节中找到。给定一个I \in R^{3×H×W}的图像,其中 3, H, W 表示图像的通道、高度和宽度。StrideFormer 产生特征 {F×8, F×16, F×32},表示原分辨率下采样 8, 16 和 32 倍的特征。一个关键的设计选择是主干中的阶段数,其中每个阶段都是一个MobileNetv3块的堆叠,它产生一个特征集F_{Xdownsample-rate}。受 EfficientFormer 的启发,我们发现与 五阶段模型相比,四阶段模型具有最小的参数开销,同时仍然保持出色的性能。因此,我们设计了具有四个阶段范式的StrideFormer。使用从四个阶段主干生成的 {F×8, F×16, F×32},我们在最后两个阶段的特征上添加 M/N SEA 注意块。考虑到具有高分辨率输入的自注意力模块的时间复杂度,我们在 SEA 注意力模块之前添加了步幅卷积,然后对特征进行上采样。通过这种方式,当我们用全局信息赋予特征时,我们将计算复杂度降低了原始实现的 1/4。

3.2. Aggregated Attention Module,AAM

使用主干生成的 {F×8, F×16, F×32},我们设计了一个聚合注意模块 (AAM) 来融合特征。AAM的结构在图2的右上角。在生成的特征中,{F×16, F×32}具有更大的接受域,包含丰富的语义信息。因此,我们通过集成投票将它们用作信息过滤器,来从详细的特征 F×8 中找到重要信息。在过滤过程中,F×16 和 F×32 上采样到与 F×8 相同的分辨率。并将它们应用 sigmoid 算子来获得权重系数。之后,将F×16和F×32相乘,利用乘法结果过滤F×8。我们可以将上述过程表述为公式1:

        此外,我们观察到具有丰富语义的特征补充了先前过滤的细节特征,并且对于提高模型性能至关重要。因此,应该最大程度地保留它。因此,我们将具有最大感受野且使用全局视图增强的 F×32 也添加到过滤后的细节特征中。

        特征融合后,就能够捕获丰富的空间和语义信息,这是分割性能的基础。 在此基础上,我们按照TopFormer的方式添加了一个简单的分割头。分割头由一个 1×1 层组成,这有助于沿通道维度交换信息。然后应用 dropout 层和卷积层来生成下采样分割图。

3.3. Valid Interpolate Module,VIM

在延迟约束下,我们进行了延迟配置文件,发现最终的插值和 ArgMax 操作占总延迟的 50% 以上。因此,我们设计了有效的插值模块(VIM)来代替插值和 ArgMax 操作,并大大减少模型延迟。SeaFormer-Base和PP-MobileSeg-Base的延迟曲线如图3所示。

图3. SeaFormer和PPMobileSeg的延迟剖面比较。

添加 VIM 后的详细统计数据见表3。

        VIM 的提出是基于观察到出现在训练好的模型预测时出现的类别数通常远小于数据集中类别的总数,尤其是对于具有大量类别的数据集,这在具有大量类的数据集中比较常见。因此,在插值和 ArgMax 过程中没有必要考虑所有类。VIM的结构在图2的右下角。如图所示,VIM 由三个主要步骤组成。首先,在下采样后的分割map上应用ArgMax 和 Unique 操作来找到必要的通道;然后,使用索引选择操作来仅选中那些有效通道,并在缩小后的特征上应用插值操作;最后,将所选通道上采样到原始分辨率,生成最终的分割图。使用 VIM 代替插值和 ArgMax 操作,我们以更少的延迟成本检索最终的分割图。

        VIM 的使用大大减少了插值和 ArgMax 操作中涉及的通道,导致模型延迟显着下降。但是,VIM 仅适用于类数足够大以在模型中具有通道冗余的情况。因此,设置了 30 的类阈值,当类的数量低于此阈值时,VIM 不会生效。

3.4. 架构变体

我们提供了 PP-MobileSeg 的两种变体,以使我们的模型适应不同的复杂性要求,即 PPMobileSeg-Base 和 PP-MobileSeg-Tiny。这两个输入形状为 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。在最后两个阶段的特征通道个数上,PP-MobileSeg-Base是128、192,而PP-MobileSeg-Tiny是64、128。特征融合模块的设置对于base模型和tiny模型是相同的,AAM的嵌入通道dim设置为256。

4、实验结果

5、总结

        在本文中,我们研究了混合视觉主干的设计,并解决了移动设备语义分割网络的延迟瓶颈。经过彻底的探索,我们确定了对移动设备友好的设计选项,并提出了一种新的结合了transformer块和CNN的移动语义分割网络,称为PP-MobileSeg。通过精心设计的主干、融合模块和插值模块,PP-MobileSeg 在基于 ARM 的设备上实现了模型大小、速度和准确性之间的 SOTA 平衡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/111509.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一道简单的C#面试题

试题: 抽顺序问题:有10位面试者,需要随机抽号面试。 1)总共十个号数,用数组表示; 2)每一位面试者输入1开始抽签,然后得到抽签号,输入2结束抽签; 3&#x…

超融合数据库:解锁全场景数据价值的钥匙

前言 近日,四维纵横对外官宣已完成上亿元 B 轮融资。作为超融合数据库理念的提出者,三年来 YMatrix 持续在超融合数据库领域中保持精进与迭代,对于超融合数据库在行业、场景中的应用和理解也更为深刻。 本篇文章,我们将基于 YMa…

HTML标题、段落、文本格式化

HTML标题&#xff1a; 在HTML文档中&#xff0c;标题是很重要的。标题是通过<h1> - <h6标签进行定义的&#xff0c;<h1> 定义最大的标题&#xff1b;<h6>定义最小的标题。 <hr> 标签在HTML页面中用于创建水平线&#xff0c;hr元素可用于分隔内容。…

springboot整合日志,并在本地查看

目录 1.导入依赖 2.编写配置 3.使用 4.验证 5.打印错误信息 1.导入依赖 <!-- logback&#xff0c;向下兼容log4j,还支持SLF4J--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId> </depen…

【Docker】Linux路由连接两个不同网段namespace,连接namespace与主机

如果两个namespace处于不同的子网中&#xff0c;那么就不能通过bridge进行连接了&#xff0c;而是需要通过路由器进行三层转发。然而Linux并未像提供虚拟网桥一样也提供一个虚拟路由器设备&#xff0c;原因是Linux自身就具备有路由器功能。 路由器的工作原理是这样的&#xff…

MySQL操作命令整理

MySQL操作命令整理 SQL分类 SQL语句按照其功能范围不同可分为3个类别: 数据定义语言(DDL ,Data Defintion Language)语句:数据定义语句,用于定义不同的数据段、数据库、表、列、索引等。常用的语句关键字包括create、drop、alter等。数据操作语言(DML , Data Manipulatio…

历年上午真题笔记(2014年)

解析:A 网络设计的三层模型 : 接入层:Layer 2 Switching,最终用户被许可接入网络的点,用户通过接入层可以访问网络设备。 汇聚层:Layer2/3 Switching,访问层设备的汇聚点,负责汇接配线单元,利用二、三层技术实现工作组分段及网络故障的隔离,以免对核心层网络设备造…

Istio实战(九)-Envoy 流量劫持

前言 Envoy 是一款面向 Service Mesh 的高性能网络代理服务。它与应用程序并行运行,通过以平台无关的方式提供通用功能来抽象网络。当基础架构中的所有服务流量都通过 Envoy 网格时,通过一致的可观测性,很容易地查看问题区域,调整整体性能。 Envoy也是istio的核心组件之一…

java参数中的-、--、-X、-XX、-D

详细描述请参考&#xff1a;https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html Java标准选项&#xff08;以-、或者–开头&#xff09; Java标准选项被所有的Java虚拟机&#xff08;JVM&#xff09;实现所支持。 这些选项用于普通的动作&#xff0c;例如检…

某国产中间件企业:提升研发安全能力,助力数字化建设安全发展

​某国产中间件企业是我国中间件领导者&#xff0c;国内领先的大安全及行业信息化解决方案提供商&#xff0c;为各个行业领域近万家企业客户提供先进的中间件、信息安全及行业数字化产品、解决方案及服务支撑&#xff0c;致力于构建安全科学的数字世界&#xff0c;帮助客户实现…

【地理位置识别】IP归属地应用的特点

IP归属地应用是一类用于确定特定IP地址的地理位置信息&#xff08;通常是城市、地区或国家&#xff09;的工具和服务。以下是IP归属地应用的几个主要特点&#xff1a; 地理位置识别&#xff1a; IP归属地应用主要用于确定IP地址的地理位置。这可以帮助组织更好地了解其网站访问…

<多线程章节八> 单例模式中的饿汉模式与懒汉模式的讲解,以及懒汉模式中容易引起的Bug

&#x1f490;专栏导读 本篇文章收录于多线程&#xff0c;也欢迎翻阅博主的其他文章&#xff0c;可能也会让你有不一样的收获&#x1f604; &#x1f337;JavaSE &#x1f342;多线程 &#x1f33e;数据结构 文章目录 &#x1f490;专栏导读&#x1f4a1;饿汉模式&#x1f4a1;…

java spring boot 注解、接口和问题解决方法(持续更新)

注解 RestController 是SpringMVC框架中的一个注解&#xff0c;它结合了Controller和ResponseBody两个注解的功能&#xff0c;用于标记一个类或者方法&#xff0c;表示该类或方法用于处理HTTP请求&#xff0c;并将响应的结果直接返回给客户端&#xff0c;而不需要进行视图渲染…

数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC...

全文链接:http://tecdat.cn/?p27384 在本文中&#xff0c;数据包含有关葡萄牙“Vinho Verde”葡萄酒的信息&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 介绍 该数据集&#xff08;查看文末了解数据获取方式&#xff09;有1599个观测值和12个变量&#xf…

华锐技术何志东:证券核心交易系统分布式改造将迎来规模化落地阶段

近年来&#xff0c;数字化转型成为证券业发展的下一战略高地&#xff0c;根据 2021 年证券业协会专项调查结果显示&#xff0c;71% 的券商将数字化转型列为公司战略任务。 在落地数字化转型战略过程中&#xff0c;证券业核心交易系统面临着不少挑战。构建新一代分布式核心交易…

长沙某公司面经总结 - 失败版

1.Java语言的特征 Java的三大特性&#xff1a;封装、继承、多态 面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征&#xff1a; 继承&#xff1a;继承是从已有类得到继承信息创建新类的过程 封装&#xff1a;封装是把数据和操作数据的方法绑定起来&#xff0c;对…

快速入门:使用 Spring Boot 构建 Web 应用程序

前言 本文将讨论以下主题&#xff1a; 安装 Java JDK、Gradle 或 Maven 和 Eclipse 或 IntelliJ IDEA创建一个新的 Spring Boot 项目运行 Spring Boot 应用程序编写一个简单的 Web 应用程序打包应用程序以用于生产环境 通过这些主题&#xff0c;您将能够开始使用 Spring Boo…

Fourier分析导论——第2章——Fourier级数的基本属性(E.M. Stein R. Shakarchi)

第 2 章 Fourier级数的基本属性(Basic Properties of Fourier Series) Nearly fifty years had passed without any progress on the question of analytic representation of an arbitrary function, when an assertion of Fourier threw new light on the subject. Thus…

前端环境的安装 Node npm yarn

一 node npm 1.下载NodeJS安装包 下载地址&#xff1a;Download | Node.js 2.开始安装 打开安装包后&#xff0c;一直Next即可。当然&#xff0c;建议还是修改一下安装位置&#xff0c;NodeJS默认安装位置为 C:\Program Files 3.验证是否安装成功 打开DOS命令界面&#…

基于jsp,ssm物流快递管理系统

开发工具&#xff1a;eclipse&#xff0c;jdk1.8 服务器&#xff1a;tomcat7.0 数据库&#xff1a;mysql5.7 技术&#xff1a; springspringMVCmybaitsEasyUI 项目包括用户前台和管理后台两部分&#xff0c;功能介绍如下&#xff1a; 一、用户(前台)功能&#xff1a; 用…