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

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

一、本文介绍

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


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

二、动态卷积介绍

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

三、实现代码及RT-DETR修改步骤

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

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

相关文章
|
机器学习/深度学习 算法 Python
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
2243 1
【DYConv】CVPR2020 | 即插即用的动态卷积模块助力你涨点
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
1106 10
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| EMA 即插即用模块,提高远距离建模依赖(含二次创新)
RT-DETR改进策略【注意力机制篇】| EMA 即插即用模块,提高远距离建模依赖(含二次创新)
575 1
RT-DETR改进策略【注意力机制篇】| EMA 即插即用模块,提高远距离建模依赖(含二次创新)
|
计算机视觉
RT-DETR改进策略【Neck】| PRCV 2023,SBA(Selective Boundary Aggregation):特征融合模块,描绘物体轮廓重新校准物体位置,解决边界模糊问题
RT-DETR改进策略【Neck】| PRCV 2023,SBA(Selective Boundary Aggregation):特征融合模块,描绘物体轮廓重新校准物体位置,解决边界模糊问题
769 20
RT-DETR改进策略【Neck】| PRCV 2023,SBA(Selective Boundary Aggregation):特征融合模块,描绘物体轮廓重新校准物体位置,解决边界模糊问题
|
机器学习/深度学习 C语言 计算机视觉
RT-DETR改进策略【Neck】| HS-FPN:高级筛选特征融合金字塔,加强细微特征的检测
RT-DETR改进策略【Neck】| HS-FPN:高级筛选特征融合金字塔,加强细微特征的检测
579 12
RT-DETR改进策略【Neck】| HS-FPN:高级筛选特征融合金字塔,加强细微特征的检测
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
927 12
RT-DETR改进策略【Backbone/主干网络】| CVPR 2024替换骨干网络为 UniRepLKNet,解决大核 ConvNets 难题
|
机器学习/深度学习 PyTorch TensorFlow
RT-DETR改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
RT-DETR改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
750 11
RT-DETR改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
|
人工智能 计算机视觉
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
1093 5
RT-DETR改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
|
机器学习/深度学习 编解码 数据可视化
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
932 11
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
286 11
RT-DETR改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习

热门文章

最新文章