0

0

EfficientViT | 边缘设备上实时语义分割

星夢妙者

星夢妙者

发布时间:2025-04-26 10:32:31

|

984人浏览过

|

来源于php中文网

原创

efficientvit: 用于设备端语义分割的轻量级多尺度注意力


论文链接:https://www.php.cn/link/e102943424a748e28068406f64765596 代码链接:https://www.php.cn/link/8c9ce62eb00bfc39549c0b3cbe197cebEfficientViT | 边缘设备上实时语义分割 演示


摘要:在针对高分辨率视觉应用时,视觉变换器(ViT)不如卷积神经网络(CNN)表现出色。ViT 的关键计算瓶颈是 softmax 注意力模块,其计算复杂度与输入分辨率成二次方关系。降低 ViT 的成本以便在边缘设备上部署至关重要。现有的方法(如 Swin、PVT)通过将 softmax 注意力限制在局部窗口内或降低键/值张量的分辨率来降低成本,但这牺牲了 ViT 在全局特征提取方面的核心优势。EfficientViT 是一种高效的 ViT 架构,用于高分辨率、低计算成本的视觉识别。我们建议使用线性注意力替代 softmax 注意力,同时通过深度卷积增强其局部特征提取能力。EfficientViT 保持了全局和局部特征提取能力,同时享受线性计算复杂度。EfficientViT 是一个全新的轻量级多尺度注意力的语义分割模型系列。与之前的语义分割模型不同,这些模型依赖于沉重的自我关注、硬件效率低下的“大核”卷积或复杂拓扑结构来获得良好性能,而我们的轻量级多尺度注意力仅需轻量级和高效的硬件操作,就能实现全局感受野和多尺度学习(语义分割模型的两个关键特征)。在基准数据集上,EfficientViT 比以往最先进的语义分割模型有显著的性能提升,并在移动平台上显著提速。在 Cityscapes 上,我们的 EfficientViT 在不损失性能的情况下,在移动平台上的性能分别提高了 15 倍和 9.3 倍。与 SegNeXt 相比,移动延迟分别减少了 15 倍和 9.3 倍。在保持相同移动延迟的情况下,EfficientViT 在 ADE20K 上比 SegNeXt 增加了 7.4 mIoU。

贡献:将注意力机制的 softmax 平方复杂度降低到线性复杂度,同时引入深度卷积增强局部特征提取能力。 EfficientViT | 边缘设备上实时语义分割 image-20230919102753047

相关工作:基于 ViT 的模型、设备端高分辨率语义分割 方法论:概述、轻量级多尺度注意力 EfficientViT | 边缘设备上实时语义分割 image-20230919102314552

虽然线性注意力在计算复杂度和硬件延迟方面优于 softmax 注意力,但线性注意力有其局限性。以往的研究表明,在 NLP 中,线性注意力和 softmax 注意力之间通常存在显著的性能差距。对于视觉任务,之前的工作也表明线性注意力不如 softmax 注意力。线性注意力的劣势主要是由于局部特征提取能力的损失。如果没有 softmax 注意力中使用的非线性分数归一化,线性注意力很难像 softmax 注意力那样集中其注意力分布。给定相同的原始注意力分数,使用 softmax 比不使用 softmax 更能集中注意力。因此,线性注意力不能有效地集中在局部模式产生的高注意力分数,削弱了其局部特征提取能力。我们的想法是通过卷积来增强线性注意力,这在局部特征提取中非常有效。这样,我们就不需要依赖线性注意力来捕获局部特征,而可以专注于全局特征提取。具体来说,为了保持线性注意力的效率和简单性,我们建议在每个 FFN 层中插入一个深度卷积(DWConvGconv),这会产生很少的计算开销,同时大大提高线性注意力的局部特征提取能力。展示了增强型线性注意力的详细架构,它由一个线性注意力层和一个 FFN 层组成。将深度卷积插入 FFN 的中间。与之前的方法不同,我们在 EfficientViT 中不使用相对位置偏差。虽然相对位置偏差可以提高性能,但它使模型对分辨率变化很脆弱。多分辨率训练或新分辨率下的测试在检测和分割中很常见。去除相对位置偏差使 EfficientViT 对输入分辨率更加灵活。与以前的低计算 CNN 中的设计不同,我们为下采样块添加了额外的下采样 shortcuts。每个下采样 shortcut 由一个平均池化和一个 1x1 卷积组成。在我们的实验中,这些额外的下采样 shortcuts 可以稳定 EfficientViT 的训练并提高性能。

EfficientViT 架构: EfficientViT | 边缘设备上实时语义分割 image-20230919102354273

它由输入 stem 和 4 个阶段组成。最近的研究表明,在早期阶段使用卷积对 ViT 效果更好。我们遵循这个设计,并在第 3 阶段开始使用增强的线性注意力。为了突出高效的骨干本身,我们使用相同的扩展比 e 为 MBConv 和 FFN (e = 4),以保持超参数简单,所有深度卷积的核大小 k 相同(k = 5,除了输入 stem),以及所有层的相同激活函数(hard swish)。P2、P3 和 P4 表示阶段 2、3 和 4 的输出,形成特征图金字塔。我们按照惯例将 P2、P3 和 P4 馈送到检测头。我们使用 YoloX 进行检测。对于分割,我们融合了 P2 和 P4。在 Fast-SCNN 之后,融合的特征被馈送到包含多个卷积层的轻量级头部。对于分类,我们将 P4 馈送到轻量级头部,与 MobileNetV3 相同。

实验: EfficientViT | 边缘设备上实时语义分割 image-20230919104023799

EfficientViT | 边缘设备上实时语义分割EfficientViT | 边缘设备上实时语义分割

LobeHub
LobeHub

LobeChat brings you the best user experience of ChatGPT, OLLaMA, Gemini, Claude

下载

结论:主要是为语义分割任务设计的模型,但在图像分类任务 ImageNet 上不仅精度高,而且速度快(不是 SOTA,只是比较高而已,Top1 acc 排名 100 左右)。针对高分辨率场景,降低了 attention 的复杂度。针对边缘设备端分割模型的推理性能优化,达到实时推理的目的。金标准(Conv+Pseudo-MHSA 卷积加多头自注意力机制)的问题,至少可以说明两点,一是卷积的局部性+等变性的归纳偏置加 MHSA 的长距离表示能力;二是硬件和编译软件和运行软件对 CNN 支持的较好,对 transformer 还需要更多的支持。

参考文献

相关专题

更多
http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1986

2024.08.16

PHP 高并发与性能优化
PHP 高并发与性能优化

本专题聚焦 PHP 在高并发场景下的性能优化与系统调优,内容涵盖 Nginx 与 PHP-FPM 优化、Opcode 缓存、Redis/Memcached 应用、异步任务队列、数据库优化、代码性能分析与瓶颈排查。通过实战案例(如高并发接口优化、缓存系统设计、秒杀活动实现),帮助学习者掌握 构建高性能PHP后端系统的核心能力。

98

2025.10.16

PHP 数据库操作与性能优化
PHP 数据库操作与性能优化

本专题聚焦于PHP在数据库开发中的核心应用,详细讲解PDO与MySQLi的使用方法、预处理语句、事务控制与安全防注入策略。同时深入分析SQL查询优化、索引设计、慢查询排查等性能提升手段。通过实战案例帮助开发者构建高效、安全、可扩展的PHP数据库应用系统。

80

2025.11.13

JavaScript 性能优化与前端调优
JavaScript 性能优化与前端调优

本专题系统讲解 JavaScript 性能优化的核心技术,涵盖页面加载优化、异步编程、内存管理、事件代理、代码分割、懒加载、浏览器缓存机制等。通过多个实际项目示例,帮助开发者掌握 如何通过前端调优提升网站性能,减少加载时间,提高用户体验与页面响应速度。

25

2025.12.30

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

119

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

32

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 3.2万人学习

Go 教程
Go 教程

共32课时 | 3.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号