RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

简介: RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

一、本文介绍

本文记录的是基于MobileNet V3的RT-DETR目标检测轻量化改进方法研究MobileNet V3的模型结构是通过==网络搜索==得来的,其中的基础模块结合了MobileNet V1的深度可分离卷积、MobileNet V2的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意力模块,使模型在性能、效率和灵活性方面都具有显著的优势。

本文在替换骨干网络中配置了原论文中的smalllarge2种模型,以满足不同的需求。

模型 参数量 计算量 推理速度
rtdetr-lm 32.8M 108.0GFLOPs 11.6ms
Improved 19.4M 61.3GFLOPs 10.6ms

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

二、MoblieNet V3设计原理

MobileNet V3是基于一系列互补的搜索技术和新颖的架构设计而提出的新一代神经网络模型,其设计的原理和优势主要包括以下几个方面:

2.1 原理

2.1.1 网络搜索

  • 平台感知的NAS(Platform - Aware NAS):用于搜索全局网络结构,通过优化每个网络块来实现。对于大型移动模型,复用了MnasNet - A1的结构,并在此基础上应用NetAdapt和其他优化。对于小型移动模型,观察到原奖励设计未针对其优化,因此调整了权重因子w,重新进行架构搜索以找到初始种子模型。
  • NetAdapt:用于逐层搜索过滤器的数量,是对平台感知的NAS的补充。它从平台感知的NAS找到的种子网络架构开始,通过生成新的提案并根据某些指标选择最佳提案,逐步微调单个层,直到达到目标延迟。在选择提案时,修改了算法以最小化延迟变化和准确率变化的比率。

    2.1.2 网络改进

  • 重新设计昂贵层:对网络末尾和开头的一些昂贵层进行修改。对于末尾的层,将产生最终特征的层移动到最终平均池化之后,以降低延迟并保持高维特征,同时去除了之前瓶颈层中的投影和过滤层,进一步降低计算复杂度。对于初始的滤波器层,实验发现使用hard swish非线性函数并将滤波器数量减少到16时,能在保持准确率的同时减少延迟和计算量。
  • 非线性函数:引入了名为h-swish的非线性函数,它是swish非线性函数的改进版本,计算更快且更有利于量化。通过将sigmoid函数替换为分段线性的hard版本(如h - swish [x] = x * ReLU6(x + 3) / 6),并在网络的后半部分使用h-swish,减少了计算成本,同时在准确率上与原始版本没有明显差异。
  • 大的挤压 - 激励(Large squeeze - and - excite):将挤压 - 激励瓶颈的大小固定为扩展层通道数的1 / 4,在增加少量参数的情况下提高了准确率,且没有明显的延迟成本。

2.1.3 高效的移动构建块

结合了MobileNet V1的深度可分离卷积、MobileNet V2的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意力模块,同时升级了这些层,使用修改后的swish非线性函数以提高效率。

在这里插入图片描述

2.2 优势

  • MobileNet V3通过网络搜索和改进,结合了多种技术的优势,在性能、效率和灵活性方面都具有显著的优势,适用于移动设备上的各种计算机视觉任务。并且定义了MobileNetV3 - LargeMobileNetV3 - Small两个模型,分别针对高资源和低资源使用场景,可根据不同需求进行选择和应用。

论文:https://arxiv.org/abs/1905.02244.pdf
源码:https://github.com/d-li14/mobilenetv3.pytorch

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

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

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

目录
相关文章
|
10天前
|
机器学习/深度学习 存储 Python
深入剖析SVM核心机制:铰链损失函数的原理与代码实现
铰链损失(Hinge Loss)是支持向量机(SVM)中核心的损失函数,广泛应用于机器学习模型训练。其数学形式为 \( L(y, f(x)) = \max(0, 1 - y \cdot f(x)) \),其中 \( y \) 是真实标签,\( f(x) \) 是预测输出。铰链损失具有凸性、非光滑性和稀疏性等特性,能够最大化分类边际并产生稀疏的支持向量,提高模型泛化能力。它在正确分类、边际内分类和错误分类三种情况下有不同的损失值,适用于线性可分问题且对异常值不敏感。铰链损失通过严格的边际要求和连续梯度信息,提供了高效的优化目标,适合构建鲁棒的分类模型。
138 77
深入剖析SVM核心机制:铰链损失函数的原理与代码实现
|
21小时前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
74 62
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
6天前
|
安全 UED
产品经理-体验设计 - AxureMost
商业体验设计旨在通过牺牲用户体验以实现企业盈利,而用户体验设计则以用户为中心,注重用户在使用产品时的多方面感受,包括感官、交互、情感、信任、价值和文化体验。用户体验设计强调严谨性、创意性和一致性,确保用户操作便捷且愉悦,同时考虑不同层次用户的需求,提供引导和支持,最终提升用户的整体满意度和忠诚度。
|
13天前
|
监控 关系型数据库 MySQL
|
10天前
|
存储 算法 物联网
区块链在能源交易中的应用:打造去中心化能源市场
区块链在能源交易中的应用:打造去中心化能源市场
76 22
|
12天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
6天前
|
存储 安全 JavaScript
TypeScript-内置应用程序类型-Recode
通过使用 `Record` 类型,开发者可以显著提升代码的安全性和可维护性。无论是配置对象、字典结构还是动态表单,`Record` 类型都提供了一个简洁、类型安全的解决方案。
187 82
|
11天前
|
传感器 机器学习/深度学习 编解码
 GEE数据集:高分辨率真彩色影像 Red-Green-Blue (RGB) ,0.1m
NEON机载观测平台的高分辨率真彩色影像数据集(RGB),分辨率为0.1米。该数据集由数码相机采集,与激光雷达和成像光谱仪数据同步处理,共享相同的地理投影。适用于识别土地使用变化特征,如道路、建筑物等。数据覆盖2013年至今,提供多个元数据字段,包括访问编号、传感器型号、站点信息等。代码示例展示了如何在GEE中读取和可视化特定站点(如ABBY)的2021年影像数据。 引用:NEON数据基于CC0 1.0协议发布,鼓励广泛使用,但需注意数据局限性并遵循相关指南。
113 70
|
12天前
|
安全
Deploy Github Pages With GPG Signing
This article is also posted on my blog, feel free refer to it for the latest revisions: [Deploy Github Pages With GPG Signing](https://blog.timerring.com/posts/deploy-github-pages-with-gpg-signing)
108 70
|
4天前
|
机器学习/深度学习 人工智能 计算机视觉
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法
MILS 是 Meta AI 推出的零样本生成高质量多模态描述方法,支持图像、视频和音频的描述生成,无需额外训练。
74 34
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法

热门文章

最新文章