YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN

简介: YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN

一、本文介绍

本文给大家来的改进机制是RepViT,用其替换我们整个主干网络,其是今年最新推出的主干网络,其主要思想是将轻量级视觉变换器(ViT)的设计原则应用于传统的轻量级卷积神经网络(CNN)。我将其替换整个YOLOv8的Backbone,实现了大幅度涨点。我对修改后的网络(我用的最轻量的版本),在一个包含1000张图片包含大中小的检测目标的数据集上(共有20+类别),进行训练测试,发现所有的目标上均有一定程度的涨点效果,下面我会附上基础版本和修改版本的训练对比图。


推荐指数:⭐⭐⭐⭐⭐

专栏目录:YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制

专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备

二、RepViT基本原理

image.png

RepViT: Revisiting Mobile CNN From ViT Perspective 这篇论文探讨了如何改进轻量级卷积神经网络(CNN)以提高其在移动设备上的性能和效率。作者们发现,虽然轻量级视觉变换器(ViT)因其能够学习全局表示而表现出色,但轻量级CNN和轻量级ViT之间的架构差异尚未得到充分研究。因此,他们通过整合轻量级ViT的高效架构设计,逐步改进标准轻量级CNN(特别是MobileNetV3),从而创造了一系列全新的纯CNN模型,称为RepViT。这些模型在各种视觉任务上表现出色,比现有的轻量级ViT更高效。

其主要的改进机制包括:

  1. 结构性重组:通过结构性重组(Structural Re-parameterization, SR),引入多分支拓扑结构,以提高训练时的性能。
  2. 扩展比率调整:调整卷积层中的扩展比率,以减少参数冗余和延迟,同时提高网络宽度以增强模型性能。
  3. 宏观设计优化:对网络的宏观架构进行优化,包括早期卷积层的设计、更深的下采样层、简化的分类器,以及整体阶段比例的调整。
  4. 微观设计调整:在微观架构层面进行优化,包括卷积核大小的选择和压缩激励(SE)层的最佳放置。

这些创新机制共同推动了轻量级CNN的性能和效率,使其更适合在移动设备上使用,下面的是官方论文中的结构图,我们对其进行简单的分析。

image.png

每个阶段的通道维度用 Ci 表示,批处理大小用 B 表示。

  • Stem:用于预处理输入图像的模块。
  • Stage1-4:每个阶段由多个RepViTBlock组成,以及一个可选的RepViTSEBlock,包含深度可分离卷积(3x3DW),1x1卷积,压缩激励模块(SE)和前馈网络(FFN)。每个阶段通过下采样减少空间维度。
  • Pooling:全局平均池化层,用于减少特征图的空间维度。
  • FC:全连接层,用于最终的类别预测。

总结:大家可以将RepViT看成是MobileNet系列的改进版本

目录
相关文章
|
2月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv8改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv8改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
84 0
|
2月前
|
机器学习/深度学习 编解码 PyTorch
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
Pytorch实现手写数字识别 | MNIST数据集(CNN卷积神经网络)
|
1月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
4月前
|
机器学习/深度学习
CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)
CNN卷积神经网络手写数字集实现对抗样本与对抗攻击实战(附源码)
32 0
|
4月前
|
机器学习/深度学习 编解码
一种用于心音分类的轻量级1D-CNN+DWT网络
这是由National Institute of Technology Rourkela, Central University of Rajasthan发布在**2022 ICETCI**的论文,利用离散小波变换(DWT)得到的多分辨率域特征对1D-CNN模型进行心音分类训练。
44 1
|
2月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
123 2
|
5月前
|
机器学习/深度学习 算法 数据库
m基于GA-CNN遗传优化卷积神经网络的手势识别算法matlab仿真
m基于GA-CNN遗传优化卷积神经网络的手势识别算法matlab仿真
69 1
|
1月前
|
机器学习/深度学习 算法
基于CNN+LSTM深度学习网络的时间序列预测matlab仿真
基于CNN+LSTM深度学习网络的时间序列预测matlab仿真
|
1月前
|
机器学习/深度学习 编解码 人工智能
一篇文章搞懂CNN(卷积神经网络)及其所含概念
一篇文章搞懂CNN(卷积神经网络)及其所含概念
67 0
一篇文章搞懂CNN(卷积神经网络)及其所含概念
|
2月前
|
算法
m基于Faster-RCNN网络的人员摔倒检测系统matlab仿真,带GUI操作界面
m基于Faster-RCNN网络的人员摔倒检测系统matlab仿真,带GUI操作界面
30 9

热门文章

最新文章