【目标检测】YOLOv5 网络结构,bottleneckCSP 与 C3 模块图解

文章目录

  • Focus 模块
  • Csp 模块
    • BottleneckCsp
    • C3
    • CSP1_X 与 CSP_2X
    • YOLOv4 的 CSP_X
  • SSP 与 SSPF

YOLOv5 作为 YOLO 家族的第五个版本,本身也演进了几个子版本,现在网上的资料都没有标注具体是哪个子版本的,导致不同文章之间各种混乱,像是盲人摸象。

其实官方的 release 里对各个版本的变动其实都讲得非常清楚了。

下面简单说一下各版本用到的模块:

V1.0版本

  • backbone主要模块:Focus、Conv、BottleneckCSP、SPP;
  • head主要模块:BottleneckCSP、Conv、nn.Upsample、Concat、nn.Conv2d。

V2.0版本在V1.0版本基础上删去nn.Conv2d,并且Detect指定为17, 20, 23层输出。
V4.0版本用C3代替了BottleneckCSP,而其他的结构不变。CBL 也换成了 CBS,使用 SiLU 作为激活函数
V6.0版本将第0层的Focus替换成Conv,将SPP替换成SPPF;

Focus 模块

Focus 模块其实和 YOLOv2 PassThrough 层是一样的,这个在最终版本的 YOLOV5 v6.x 版本中被抛弃了。

Csp 模块

看别的文章,大家一定都会看到过 CSP1_x, CSP2_x,bottleneckCSP,C3 这些模块,有时候也会疑惑 YOLOv5 究竟用了多少中 CSP 模块。

如同上面说的那样,YOLOv5 一共使用过两种 Csp 模块

  • v4.0 版本之前的 BottleneckCSP,用的 LeakyReLU 作为激活函数
  • v4.0 版本之后的 C3,用的 SiLU 作为激活函数

BottleneckCsp

这里我们两种结构都介绍一下,首先是已经不再用的 BottleneckCSP 模块:

在这里插入图片描述
其中的 CBL 模块就是 Conv2D + BN + LeakyReLU 的组合,这里的 bottleneck 可以根据传入的参数决定是否带有 shortcut。如果是带有 shortcut 的话,就是正统的 residual 模块了,如果没有 shortcut,就是单纯的 2 个 CBL 串联。

C3

在这里插入图片描述
C3 模块因为内部有 3 个卷积模块,所以被命名为 C3 模块,去掉了 BottleneckCSP 中一些繁杂的 Conv2d 操作,并且将激活函数从 LeakyReLU 换成了 SiLU。我们的 CBL 模块也因此变成了 CBS 模块。和 BottleneckCSP 一样,内部的 bottleneck 也分为带 shortcut 和不带 shortcut 两种。

CSP1_X 与 CSP_2X

其实 CSP1_X 是指带 shortcut 的 CSP 模块的统称,也就是内部 bottleneck 带 shortcut 的 BottleneckCSP 和 C3 都可以叫 CSP1_X。

而不带 shortcut 则归为 CSP2_X。

一般来说 CSP1_X 用在 backbone 部分,而 CSP2_X 则用在 neck 部分。

最后的 X 的含义是 bottleneck 的数量。

YOLOv4 的 CSP_X

因为是从 YOLOv4 才开始使用的 CSP 模块,所以在这里顺便放个 YOLOv4 的 CSP_X 模块:

在这里插入图片描述

SSP 与 SSPF

在这里插入图片描述
因为是再 v6.0 的版本才换的 SPPF,所以按照道理来说 v4.0 之前的版本中 SPP 的激活函数应该都是 LeakyReLU,但是这里为了方便,都用 SiLU 作为激活函数了。

参考文章:

  • yolov5从V1.0到V6.2网络变化梳理
  • YOLOv5中的CSP结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2905665.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【FedCoin: A Peer-to-Peer Payment System for Federated Learning】

在这篇论文中,我们提出了FedCoin,一个基于区块链的点对点支付系统,专为联邦学习设计,以实现基于Shapley值的实际利润分配。在FedCoin系统中,区块链共识实体负责计算SV,并且新的区块是基于“Shapley证明”&a…

如何通过vscode连接到wsl

下载wsl扩展 远程连接模式

天锐绿盾 || 公司文件数据加密系统,资料防泄密软件,国内专业数据安全系统——自动智能无感透明加密、防泄密管理系统

#天锐绿盾# 天锐绿盾是一款专为中国企业设计的数据防泄密系统,旨在为企业提供全方位的数据安全解决方案,特别关注对敏感信息和核心技术资料的保护。 www.drhchina.com PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-9…

Oracle存数字精度问题number、binary_double、binary_float类型

--表1 score是number(10,5)类型 create table TEST1 (score number(10,5) ); --表2 score是binary_double类型 create table TEST2 (score binary_double ); --表3 score是binary_float类型 create table TEST3 (score binary_float );实验一:分别往三张表插入 小数…

苹果应用商店上架工具的最新趋势与未来发展展望

摘要 移动应用app上架是开发者关注的重要环节,但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作,各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用,最终指出合理使用工具的重要性。 引言 移动应…

衢州常山县行政服务中心 | 55寸1x5弧形显示屏

项目产品:55寸OLED柔性屏 项目时间:2023年3月 项目地点:衢州常山县行政服务中心办公室 近日,衢州常山县行政服务中心成功完成了其办公室内的55寸1x5弧形显示屏的安装与调试工作。此次项目采用了先进的55寸OLED柔性屏,…

C++王牌结构hash:哈希表闭散列的实现与应用

一、哈希概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素 时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log n),搜索的效率…

selenium实战之爬取虎牙直播列表页

文章目录 声明实现流程给你主播列表页面分析登录遮罩层处理解析直播列表的数据分页处理 完整的代码 声明 前面有了 selenium的基础,这里就拿虎牙直播页面来做一个实战测试,这是作为学习,测试使用,并不用作为商业用途,不…

【话题】AI大模型学习:理论、技术与应用探索

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景1. AI大模型学习的基础理论1.1 机器学习1.2 深度学习 2. AI大模型学习的技术要点2.1 模型结构设计2.2 算法优化2.3 大规模数据处理 3. AI大模型学习的应用场景3.1 自…

为啥学霸反而很少被霸凌?

编辑搜图 请点击输入图片描述(最多18字) ​为什么学霸很少被霸凌? 在我们的学生时代,总有一些同学因为成绩优秀而被大家称为“学霸”。然而,你是否注意到,这些学霸同学往往很少成为霸凌的受害者&#xff…

广场舞团系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 系…

数据可视化-ECharts Html项目实战(7)

在之前的文章中,我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts Html项目实战(6…

Ubuntu通过分用户进行多版本jdk配置

前言:本文内容为实操记录,仅供参考! linux安装jdk参考:http://t.csdnimg.cn/TeECj 出发点:最新的项目需要用jdk17来编译,就把服务器的jdk版本升级到了17,但是有一些软件例如nexus还需要jdk1.8进…

Vue挂载全局方法

简介:有时候,频繁调用的函数,我们需要把它挂载在全局的vue原型上,方便调用,具体怎么操作,这里来记录一下。 一、这里以本地存储的方法为例 var localStorage window.localStorage; const db {/** * 更新…

Rancher介绍

1.什么是Rancher Rancher是一套容器管理平台,专门用于部署和管理容器化应用。以下是关于Rancher的详细介绍: 容器编排与管理:Rancher是一个开源的企业级容器管理平台,它支持Kubernetes作为其容器编排引擎。Rancher可以帮助用户在…

【ARM】DS-5的使用单独编译器的激活方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 用于解决客户在使用DS5的license去激活单独的编译器的步骤。 2、 问题场景 客户在购买了DS-5的license之后,不采用IDE的开发方式,采用使用单独编译器的方式对于工程进行构建。激活出现问题&a…

swagger/knife4j 接口文档增加图标 springboot

1.在资源目录下增加图标文件 2.配置/favicon.ico 资源 Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/favicon.ico").addResour…

工业智能物联网关如何助力工业防震减灾

地震灾害难以预料,一旦发生往往就损失重大。对于工业领域而言,地震灾害的影响不仅仅是对人员安全的威胁,还包括对生产设施的破坏、生产进程的中断以及伴生的持续性经济损失。 随着5G、大数据、物联网技术的发展,面向工业领域构建一…

ventoy_grub2_boot_win7_win10.md

ventoy (grub2) 的 extMenu启动 win7 efi 、win10 efi ventoy界面按F6(extMenu菜单) 弹出 ventoy/ventoy_grub.cfg中的菜单内容 ventoy (grub2) 的 extMenu启动 win7 efi 1. 生成 老式 分区启动记录 EFI\Microsoft\Boot\bootmgfw.efi: 命令: bcdboot…

PowerBI加权计算权重

1.打开主页,点击快速度量值 2.计算里面 选择计算:每个类别的加权平均值 3.就是添加数据,基值(就是你要计算的值)粗细(就是你要用那个值计算权重)类别(就是你是要乘以那个类别&#x…