YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注

简介: YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注

一、本文介绍

本文记录的是基于EfficientViT的YOLOv11轻量化改进方法研究EfficientViT通过构建多尺度线性注意力模块将全局感受野与多尺度学习相结合,并以此模块为核心构建网络,构建轻量级且硬件高效的操作,以提升性能并降低硬件部署难度。

本文在替换骨干网络中配置了原论文中的EfficientViT_M0EfficientViT_M1EfficientViT_M2EfficientViT_M3EfficientViT_M4EfficientViT_M56种模型,以满足不同的需求。

模型 参数量 计算量 推理速度
YOLOv11m 20.0M 67.6GFLOPs 3.5ms
Improved 11.8M 31.1GFLOPs 3.2ms

专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!

二、EfficientViT结构详解

EfficientViT: Multi-Scale Linear Attention for High-Resolution Dense Prediction

2.1 设计出发点

  • 解决高分辨率密集预测模型的部署难题:高分辨率密集预测在现实世界有广泛应用,但现有先进模型计算成本高,难以在硬件设备上部署。
  • 兼顾性能与硬件效率:之前的模型通过复杂结构或硬件低效操作获得性能,EfficientViT旨在用轻量级且硬件高效的操作实现全局感受野和多尺度学习,以提升性能并降低硬件部署难度。

2.2 原理

2.2.1 多尺度线性注意力模块(Multi - Scale Linear Attention)

  • ReLU线性注意力实现全局感受野:使用ReLU线性注意力替代softmax注意力来实现全局感受野。在ReLU线性注意力中,相似性函数定义为$Sim(Q, K)=ReLU(Q)ReLU(K)^{T}$,通过矩阵乘法的结合律,可将计算复杂度从二次降为线性,同时避免了softmax等硬件低效操作。
  • 解决ReLU线性注意力的局限性ReLU线性注意力因缺乏非线性相似函数,难以生成集中的注意力图,捕捉局部信息能力弱。为此,在每个FFN层插入深度可分离卷积(depthwise convolution)来增强局部信息捕捉能力。
  • 实现多尺度学习:通过聚合附近的Q/K/V tokens生成多尺度tokens,使用小核深度可分离卷积进行信息聚合,避免影响硬件效率。在实际实现中利用组卷积减少总操作数。对多尺度tokens执行ReLU线性注意力,将全局感受野与多尺度学习相结合

    2.2.2 基于多尺度线性注意力构建EfficientViT

    以提出的多尺度线性注意力模块为核心构建块(EfficientViT Module),采用标准的骨干 - 头部/编码器 - 解码器架构设计模型。

在这里插入图片描述

2.3 结构

2.3.1 骨干(Backbone)

遵循标准设计,由输入干(input stem)和四个阶段组成,特征图大小逐渐减小,通道数逐渐增加。在第3和第4阶段插入EfficientViT模块,下采样使用步长为2MBConv

2.3.2 头部(Head)

将第2、3、4阶段的输出(P2、P3、P4)形成特征图金字塔,通过1x1卷积标准上采样操作调整空间和通道大小,并通过加法融合。头部采用简单设计,包含几个MBConv块和输出层(预测和上采样)。

在这里插入图片描述

2.4 优势

  • 性能提升
    • 语义分割:在Cityscapes和ADE20K数据集上,与之前的先进模型相比,在提高效率的同时保持或提高了mIoU。例如在Cityscapes上,与SegFormer相比,EfficientViT在边缘GPU上可节省高达13x的#MACs,降低高达8.8x的延迟,且mIoU更高。
    • 超分辨率:在轻量级超分辨率任务中,在BSD100上与基于CNN的先进方法相比,保持相同或更低GPU延迟的同时,PSNR提高高达0.09dB;与基于ViT的先进方法相比,GPU加速高达5.4×且PSNR相同。在高分辨率超分辨率任务中,与Restormer相比,GPU加速高达6.4×,PSNR提高0.11dB。
    • 实例分割(Segment Anything):构建的EfficientViT - SAM模型在A100 GPU上吞吐量比SAM - ViT - Huge提高48.9×,且在COCO上的零射击实例分割性能略优。
  • 硬件效率高:模型不涉及硬件低效操作,#FLOPs的降低可直接转化为硬件设备上的延迟降低,在移动CPU、边缘GPU和云GPU等多种硬件平台上均实现显著加速。

论文:https://arxiv.org/pdf/2205.14756
源码:https://github.com/mit-han-lab/efficientvit

三、实现代码及YOLOv11修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:

https://blog.csdn.net/qq_42591591/article/details/143285563

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
11月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
339 2
|
11月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
287 1
|
11月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
11月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
464 60
|
8月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
9月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
583 2
|
11月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
484 57
|
11月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
309 57
|
9月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
222 8
|
10月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
362 0