RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络

简介: RT-DETR改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络

一、本文介绍

本文记录的是利用PP-LCNet中的DepSepConv模块优化RT-DETR。本文利用DepSepConv模块改善模型结构,使模型在几乎不增加延迟的情况下提升网络准确度。

模型 参数量 计算量 推理速度
rtdetr-l 32.8M 108.0GFLOPs 11.6ms
Improved 30.2M 86.5GFLOPs 10.7ms

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

二、PP-LCNet介绍

PP-LCNet:一个轻量级的CPU卷积神经网络

2.1 PP-LCNet结构设计

2.1.1 特点

论文中总结了一系列在不增加推理时间的情况下提高精度的方法,并结合这些方法实现了精度和速度的更好平衡。基于此提出了设计轻量级CNN的一些通用规则。

2.1.2 模块原理

  • 基本块:使用MobileNetV1中提到的DepthSepConv作为基本块,该模块不会增加模型的推理速度和额外的操作,且已被英特尔CPU加速库深度优化,推理速度可超越其他轻量级块。

  • 激活函数:将BaseNet中的激活函数从ReLU替换为H-Swish,大大提高了性能,同时推理时间几乎不变。

  • SE模块SE模块有助于对网络通道进行加权以获得更好的特征,但在英特尔CPU上会增加推理时间。通过实验发现,将SE模块添加到网络尾部附近的块中,可以发挥更好的作用,实现更好的精度 - 速度平衡。

  • 卷积核大小:实验发现,在网络尾部用5×5卷积核替换3×3卷积核,可以在低延迟和高准确性的情况下达到替换几乎所有层的效果,因此只在尾部进行此替换操作。

  • 1×1卷积层:在GAP后的网络输出维度较小,直接添加最终分类层会丢失特征的组合。为了给网络更强的拟合能力,在最终GAP层后添加了一个1280维大小的1×1卷积(相当于FC层),可以在几乎不增加推理时间的情况下让模型存储更多信息。

在这里插入图片描述

论文:https://arxiv.org/pdf/2109.15099.pdf
源码:https://github.com/PaddlePaddle/PaddleClas

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

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

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

目录
相关文章
|
1月前
|
编解码 异构计算
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
77 9
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
18天前
|
人工智能 安全 网络安全
网络安全领导者有效缓解团队倦怠的四步策略
网络安全领导者有效缓解团队倦怠的四步策略
|
9天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
49 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
97 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
69 10
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
|
1月前
|
机器学习/深度学习
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
65 11
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
9月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。
118 9
|
7月前
|
机器学习/深度学习 数据可视化 Python
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
该博客展示了如何通过Python预处理神经网络权重矩阵并将其导出为表格,然后使用Chiplot网站来可视化神经网络的神经元节点之间的连接。
95 0
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码

热门文章

最新文章