【目标检测】YOLOv5 网络结构,bottleneckCSP 与 C3 模块图解 | 您所在的位置:网站首页 › 概率c3上6下怎么算的图解 › 【目标检测】YOLOv5 网络结构,bottleneckCSP 与 C3 模块图解 |
文章目录
Focus 模块Csp 模块BottleneckCspC3CSP1_X 与 CSP2_XYOLOv4 的 CSP_X
SPP 与 SPPF
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 模块:
其实 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 模块: 因为是再 v6.0 的版本才换的 SPPF,所以按照道理来说 v4.0 之前的版本中 SPP 的激活函数应该都是 LeakyReLU,但是这里为了方便,都用 SiLU 作为激活函数了。 修正:上图左边的是 SPPF 模块,右边的是 SPP 模块(已修改) 参考文章: yolov5从V1.0到V6.2网络变化梳理 YOLOv5中的CSP结构 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |