YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构

简介: YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构

一、本文介绍

本文记录的是基于EfficientNet v1的 YOLOv11 轻量化改进方法研究EfficientNet采用了创新性的复合缩放方法,通过精心平衡网络宽度深度分辨率来提升性能。本文将EfficientNet的设计优势融入YOLOv11中,提升YOLOv11的性能与效率,使其在目标检测任务中表现更为出色。

本文配置了原模型中的efficientnet-b0efficientnet-b1efficientnet-b2efficientnet-b3efficientnet-b4efficientnet-b5efficientnet-b6efficientnet-b7efficientnet-b8efficientnet-l210种不同大小的模型结构,以满足不同的需求。

模型 参数量 计算量 推理速度
YOLOv11m 20.0M 67.6GFLOPs 3.5ms
Improved 16.0M 27.7GFLOPs 2.1ms

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

二、EfficientNet详解

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

2.1 轻量设计出发点

  • 随着卷积神经网络的发展,模型规模不断扩大,但硬件内存限制使得在追求更高精度的同时需要更好的效率。

  • 传统的卷积神经网络如AlexNetGoogleNetSENet等虽然精度不断提高,但参数过多,面临硬件瓶颈。

  • 同时,在移动设备普及的背景下,也需要设计高效的小型网络,如SqueezeNetsMobileNets等,但对于大型模型的高效设计空间和调优成本问题仍未得到很好解决

因此,EfficientNet旨在研究超大型且能超越现有精度的卷积神经网络的模型效率,通过模型缩放来实现这一目标。

2.2 结构原理

2.2.1 复合缩放方法

提出一种新的复合缩放方法,使用复合系数$\phi$统一缩放网络的宽度、深度和分辨率。具体公式为$$depth: d=\alpha^{\phi}$$$$width: w=\beta^{\phi}$$$$resolution: r=\gamma^{\phi}$$其中$\alpha$、$\beta$、$\gamma$是通过小网格搜索确定的常数,且满足$\alpha \cdot \beta^{2} \cdot \gamma^{2} \approx 2$,$\alpha \geq 1$,$\beta \geq 1$,$\gamma \geq 1$。

这种方法基于观察到网络宽度深度分辨率之间存在相互关联,平衡这三个维度的缩放对于提高模型性能至关重要,而传统的单一维度缩放方法存在局限性。

例如,仅增加网络深度会遇到梯度消失问题,且精度提升会逐渐减小;仅增加宽度或分辨率也会出现精度饱和的情况。通过这种复合缩放方法,可以根据可用资源的增加,按照一定比例同时调整网络的各个维度,从而在保持效率的同时提高模型精度。

在这里插入图片描述

2.2.2 EfficientNet - B0基线网络

通过多目标神经架构搜索开发了新的移动尺寸基线网络EfficientNet - B0

其主要构建模块是移动倒置瓶颈MBConv,并添加了挤压与激励优化。网络结构在不同阶段具有不同的层数、输入分辨率和输出通道数,如起始阶段是一个$Conv3x3$层,输入分辨率为$224x224$,输出通道为$32$,后续阶段包括不同类型的MBConv层卷积层等,从EfficientNet - B0开始,通过上述复合缩放方法,固定$\phi$进行小网格搜索确定$\alpha$、$\beta$、$\gamma$,然后再固定这些系数,通过改变$\phi$来缩放基线网络,得到EfficientNet - B1B7等一系列模型。

2.3 优势

  • 精度方面:在ImageNet数据集上,EfficientNet - B7达到了84.3%的top - 1精度,超越了之前的最佳模型GPipe,同时使用的参数比GPipe少8.4倍。与广泛使用的ResNet - 50相比,EfficientNet - B4在相似的FLOPS下,将top - 1精度从76.3%提高到83.0%(提升了6.7%)。
  • 效率方面:在推理速度上,EfficientNet - B1比ResNet - 152快5.7倍,EfficientNet - B7比GPipe快6.1倍。在计算资源使用上,一般比其他具有相似精度的卷积神经网络减少一个数量级的参数和FLOPS,如EfficientNet - B3使用的FLOPS比ResNeXt - 101少18倍,但精度更高。

论文:https://arxiv.org/pdf/1905.11946
源码:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

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

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

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

目录
相关文章
|
2月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
156 58
|
2月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
53 2
|
2月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
62 1
|
2月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
2月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
191 60
|
2月前
基于Reactor模型的高性能网络库之Channel组件篇
Channel 是事件通道,它绑定某个文件描述符 fd,注册感兴趣的事件(如读/写),并在事件发生时分发给对应的回调函数。
153 60
|
2月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
165 57
|
2月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
124 57
|
13天前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
|
2月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
63 4

热门文章

最新文章