YOLOv11改进策略【卷积层】| CVPR-2024 利用DynamicConv 动态卷积 结合C3k2进行二次创新,提高精度

简介: YOLOv11改进策略【卷积层】| CVPR-2024 利用DynamicConv 动态卷积 结合C3k2进行二次创新,提高精度

一、本文介绍

本文记录的是利用DynamicConv优化YOLOv11的目标检测网络模型。 在大规模训练中,模型的参数数量越多,FLOP也越高,但在一些对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此Dynamic convolution模块应运而生。本文详细研究了Dynamic convolution模块的运行原理,并将其加入到YOLOv11中进行二次创新。


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

二、动态卷积介绍

2.1 设计出发点

  • 在大规模视觉预训练中,通常模型的性能受到数据、参数和FLOP三个关键因素的影响。一般来说,模型的参数数量越多,FLOP也越高,但在移动设备等对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此需要一种新的设计来解决这个问题,Dynamic convolution模块应运而生。

2.2 原理

  • Dynamic convolution模块基于动态系数生成的原理来工作。对于输入$X$,首先应用全局平均池化将信息融合成一个向量,然后使用一个两层的带有softmax激活的MLP模块来动态地产生系数$\alpha$,即$\alpha = softmax(MLP(Pool(X)))$,这里$\alpha \in \mathbb{R}^{M}$。
  • Dynamic convolution的计算可以表示为$Y = X * W'$,其中$W'=\sum{i = 1}^{M} \alpha{i} W{i}$,$W{i} \in \mathbb{R}^{C{out } ×C{in } ×H ×W}$是第$i$个卷积权重张量,$\alpha{i}$是对应的动态系数。系数$\alpha{i}$是根据不同的输入样本动态生成的。

2.3 结构

  • 系数生成模块:具有$C{in}$隐藏维度,该模块需要$C{in}^{2}+C{in}M$个参数以及$C{in}^{2}+C_{in}M$个FLOP。
  • 动态权重融合模块:此模块是无参数的,具有$M \cdot C{out } \cdot C{in } \cdot K \cdot K$个FLOP。
  • 卷积过程模块:与常规卷积类似,但权重是动态融合后的结果。

动态卷积的FLOP增加量相对标准卷积来说可忽略不计。其FLOP比例$R{flops}$在$1<M \ll H'W', C{in } \approx C_{out }$的条件下约等于$1$,即相比于标准卷积,它在引入更多参数的同时几乎没有带来额外的FLOP。这使得模型在增加参数以更好地从大规模预训练中受益的同时,不会因FLOP的大幅增加而难以在计算资源受限的设备上运行。

论文:https://arxiv.org/pdf/2306.14525
源码:https://github.com/huawei-noah/Efficient-AI-Backbones

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

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

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

相关文章
|
机器学习/深度学习 算法 Python
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
2730 1
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
|
机器学习/深度学习 数据可视化 测试技术
YOLO11实战:新颖的多尺度卷积注意力(MSCA)加在网络不同位置的涨点情况 | 创新点如何在自己数据集上高效涨点,解决不涨点掉点等问题
本文探讨了创新点在自定义数据集上表现不稳定的问题,分析了不同数据集和网络位置对创新效果的影响。通过在YOLO11的不同位置引入MSCAAttention模块,展示了三种不同的改进方案及其效果。实验结果显示,改进方案在mAP50指标上分别提升了至0.788、0.792和0.775。建议多尝试不同配置,找到最适合特定数据集的解决方案。
4514 0
|
机器学习/深度学习
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
1736 8
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
|
计算机视觉
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
3269 10
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
|
机器学习/深度学习 数据可视化 算法
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
2854 7
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
机器学习/深度学习 算法 计算机视觉
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
3215 8
YOLOv11改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
4201 6
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
2899 13
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
|
编解码 异构计算
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
4961 7
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
人工智能 计算机视觉
YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
2325 6
YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度