RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息

简介: RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息

一、本文介绍

本文记录的是基于MobileNet V4的RT-DETR目标检测轻量化改进方法研究。其中MobileViT块旨在以较少的参数对输入张量中的局部和全局信息进行建模,结合卷积与 Transformer 的优势,并实现有效的信息编码与融合,。本文配置了原论文中MobileViT-SMobileViT-XSMobileViT-XXS三种模型,以满足不同的需求。

模型 参数量 计算量 推理速度
rtdetr-l 32.8M 108.0GFLOPs 11.6ms
Improved 12.0M 32.3GFLOPs 8.9ms

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

二、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%。

论文:https://arxiv.org/pdf/2110.02178
源码:https://github.com/apple/ml-cvnets

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

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

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

相关文章
|
6月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
7月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
480 2
|
7月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
177 8
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
405 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
317 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
318 10
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。
下一篇
开通oss服务