YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率

简介: YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率

一、本文介绍

本文记录的是基于MobileOne的YOLOv11骨干网络改进方法研究。MobileOne的基础模块通过重参数化,==降低了模型在推理过程中的参数量和计算量,降低推理延迟,提高内存访问效率==。在将其替换YOLOv11的骨干网络后,实现模型轻量化。

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

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

MobileOne BlockMobileOne架构中的基本模块。

二、MobileOne Block原理

2.1. 结构原理

基于MobileNetV1:以MobileNetV1的块(3x3深度卷积后跟1x1点卷积)为基础。

引入可重参数化跳过连接和分支:引入了可重参数化的跳跃连接以及复制该结构的分支,同时还引入了多个的过参数化分支。

根据文档内容,MobileOne Block的结构在训练时和推理时有所不同,具体步骤如下:

2.2 MobileOne Block训练步骤

  • 输入特征图首先经过一个基于MobileNet - V1的基本块,包括3x3深度卷积和1x1点卷积。
    • 然后,引入可重参数化跳跃连接(reparameterizable skip connection),该连接带有批归一化(batchnorm)。
    • 同时,引入分支来复制上述结构,这些分支具有不同的超参数k(trivial over - parameterization factor),k的取值范围为1到5,通过实验来调整以获得最佳性能。
    • 此时,模块具有分支结构。

      2.3 MobileOne Block推理步骤

    • 通过重参数化过程移除训练时的分支。
    • 卷积和批归一化操作被折叠到一个单一的卷积层中,具体来说,对于卷积层,其权重W和偏置b通过对各分支相应参数进行求和计算得到;对于跳过连接的批归一化,被折叠到一个具有1x1恒等核的卷积层中,并通过填充K - 1个零来实现。
    • 此时,模型具有简单的前馈结构,没有任何分支或跳跃连接,从而降低了内存访问成本。

综上所述,特征图在经过MobileOne Block时,经历了训练时的分支处理和推理时的重参数化以简化结构的步骤,以在保证性能的同时降低延迟和内存消耗。

在这里插入图片描述

2.4 优势

  • 提高准确性:通过引入可重参数化分支和琐碎的过参数化分支,提高性能,优化损失。
  • 降低内存访问成本:在推理时,MobileOne模型没有任何分支,这是通过重参数化过程实现的,从而降低了内存访问成本。
  • 有利于模型扩展:模型的这种结构和参数化方式使其能够更好地扩展模型参数,与其他多分支架构(如MobileNetV2、EfficientNets等)相比,能够在不产生显著延迟成本的情况下增加参数数量,从而使模型能够更好地泛化到其他计算机视觉任务。

论文:https://arxiv.org/abs/2206.04040
源码:https://github.com/apple/ml-mobileone

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

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

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

目录
相关文章
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet
YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet
533 16
YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet
|
9月前
|
机器学习/深度学习 编解码 测试技术
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
769 8
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
|
9月前
|
机器学习/深度学习 文件存储 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
1022 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
|
9月前
|
机器学习/深度学习 存储 TensorFlow
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
2213 11
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
|
9月前
|
机器学习/深度学习 数据可视化 算法
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
1604 6
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
9月前
|
机器学习/深度学习 编解码 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
573 11
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
|
9月前
|
机器学习/深度学习 计算机视觉 网络架构
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
832 19
|
9月前
|
机器学习/深度学习 存储
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
604 15
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
|
9月前
|
机器学习/深度学习 机器人 网络架构
YOLOv11改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1
YOLOv11改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1
625 11
YOLOv11改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1