一、本文介绍
本文记录的是基于MobileNet V4的YOLOv11目标检测轻量化改进方法研究。其中MobileViT块
旨在以较少的参数对输入张量中的局部和全局信息进行建模,结合卷积与 Transformer 的优势,并实现有效的信息编码与融合,。本文配置了原论文中MobileViT-S
、MobileViT-XS
和MobileViT-XXS
三种模型,以满足不同的需求。
模型 | 参数量 | 计算量 | 推理速度 |
---|---|---|---|
YOLOv11m | 20.0M | 67.6GFLOPs | 3.5ms |
Improved | 12.0M | 32.3GFLOPs | 2.1ms |
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、MobileViT V1模型轻量化设计
MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TRANSFORMER
2.1 出发点
- 轻量级卷积神经网络(CNNs)虽在移动视觉任务中有应用,但存在空间局限性。基于自注意力的视觉Transformer(ViTs)虽可学习全局表示,但模型较重。因此需要结合两者优势,构建适用于移动视觉任务的轻量级、低延迟网络。
2.2 原理
- 将
Transformer
视为卷积,学习全局表示的同时,隐式地结合卷积的特性(如空间偏差),并能用简单的训练方法(如基本的数据增强)学习表示,还能轻松与下游架构集成。2.3 结构
2.3.1 MobileViT块
- 对于输入张量$x\in\mathbb{R}^{H\times W\times C}$,先应用$n\times n$标准卷积层,再用点式(或$1\times1$)卷积层得到$X_{L}\in\mathbb{R}^{H\times W\times d}$。
- 将$X{L}$展开为$N$个非重叠的扁平块$X{U}\in\mathbb{R}^{P\times N\times d}$,对每个块应用Transformer得到$X_{G}\in\mathbb{R}^{P\times N\times d}$。
- 折叠$X{G}$得到$X{F}\in\mathbb{R}^{H\times W\times d}$,经点式卷积投影到低维空间后与$X$通过拼接操作合并,再用一个$n\times n$卷积层融合这些拼接特征。
2.3.2 整体架构
- 受轻量级CNNs启发,网络在不同参数预算下有不同配置。初始层是步长为$3\times3$的标准卷积,接着是
MobileNetv2块
和MobileViT块
。使用Swish
作为激活函数,在MobileViT块
中$n = 3$,特征图的空间维度通常是$2$的倍数且$h, w\leq n$,设置$h = w = 2$。
2.4 优势
- 性能更好:在不同移动视觉任务中,对于给定的参数预算,
MobileViT
比现有的轻量级CNNs性能更好。例如在ImageNet - 1k数据集上,约600万个参数时,MobileViT
的top - 1准确率比MobileNetv3高3.2%。- 泛化能力强:泛化能力指训练和评估指标之间的差距。与之前的ViT变体相比,
MobileViT
显示出更好的泛化能力。 - 鲁棒性好:对超参数(如数据增强和L2正则化)不敏感,用基本的数据增强方法训练,对L2正则化不太敏感。
- 计算成本:理论上,
MobileViT
的多头自注意力计算成本为$O(N^{2}Pd)$,比ViT的$O(N^{2}d)$低效,但实际上更高效。例如在ImageNet - 1K数据集上,MobileViT
比DeIT的FLOP少$2X$,准确率高1.8%。
- 泛化能力强:泛化能力指训练和评估指标之间的差距。与之前的ViT变体相比,
论文:https://arxiv.org/pdf/2110.02178
源码:https://github.com/apple/ml-cvnets
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: