最详细的YOLOv4网络结构解析

您所在的位置:网站首页 yolov4代码输出 最详细的YOLOv4网络结构解析

最详细的YOLOv4网络结构解析

#最详细的YOLOv4网络结构解析| 来源: 网络整理| 查看: 265

目录 1. 概述2. 网络分块解析2.0 先睹为快2.1 CSPDarknet53实现2.2 SPP实现2.3 PANet实现2.4 YOLOv3 head实现

1. 概述

现阶段的目标检测器主要由4部分组成: Input、Backbone、Neck、Head。 在这里插入图片描述 YOLOv4模型由以下部分组成:

CSPDarknet53作为骨干网络BackBone;SPP作为Neck的附加模块,PANet作为Neck的特征融合模块;YOLOv3作为Head。 2. 网络分块解析 2.0 先睹为快

我们可以使用模型结构可视化工具Netron: https://github.com/lutzroeder/Netron.对网络结构进行可视化,Netron提供了APP和网页2种版本。 这里我们使用网页版来看一下官方给出的网络结构。方法是:

打开网页版Netron网址https://lutzroeder.github.io/netron/点击Open Model...输入YOLOv4官方配置文件yolov4.cfg得到以下网络结构(图片老长了,这里就截取出一点,小伙伴们可以自己尝试下。)。 在这里插入图片描述

上图长的不要不要的,先贴上一张图,整体感受一下yolov4网络结构(图片来源:https://blog.csdn.net/weixin_44791964/article/details/106533581) 在这里插入图片描述

在官方给出的cfg文件中,我们可以看到YOLOv4网络每一层的输出,每一层layer是如何得到的注释在了每一行后面,没有注释的就是对上一行的特征图进行卷积。可以看到YOLOv4网络共有161层,在 608 × 608 608 \times 608 608×608分辨率下,计算量总共128.46BFLOPS,YOLOv3为141BFLOPS。

layer filters size/strd(dil) input output 0 conv 32 3 x 3/ 1 608 x 608 x 3 -> 608 x 608 x 32 0.639 BF 1 conv 64 3 x 3/ 2 608 x 608 x 32 -> 304 x 304 x 64 3.407 BF 降低特征图宽度和高度 size // 2,特征图尺寸 304 x 304 x 64 2 conv 64 1 x 1/ 1 304 x 304 x 64 -> 304 x 304 x 64 0.757 BF 1 x 1 卷积 通道不降维 64 ==> 64 3 route 1 -> 304 x 304 x 64 复制 layer 1 特征图 4 conv 64 1 x 1/ 1 304 x 304 x 64 -> 304 x 304 x 64 0.757 BF 5 conv 32 1 x 1/ 1 304 x 304 x 64 -> 304 x 304 x 32 0.379 BF 6 conv 64 3 x 3/ 1 304 x 304 x 32 -> 304 x 304 x 64 3.407 BF 7 Shortcut Layer: 4, wt = 0, wn = 0, outputs: 304 x 304 x 64 0.006 BF 由 layer 4 和 layer 6 相加得到 8 conv 64 1 x 1/ 1 304 x 304 x 64 -> 304 x 304 x 64 0.757 BF 1 x 1 卷积 通道不降维 64 ==> 64 9 route 8 2 -> 304 x 304 x 128 concatenation layer 8 和 layer 2 10 conv 64 1 x 1/ 1 304 x 304 x 128 -> 304 x 304 x 64 1.514 BF 1 x 1 特征融合并降维 128 ==> 64 11 conv 128 3 x 3/ 2 304 x 304 x 64 -> 152 x 152 x 128 3.407 BF 降低特征图宽度和高度 size // 2,特征图尺寸 152 x 152 x 128 12 conv 64 1 x 1/ 1 152 x 152 x 128 -> 152 x 152 x 64 0.379 BF 1 x 1 卷积 通道降维 128 ==> 64 13 route 11 -> 152 x 152 x 128 复制 layer 11 特征图 14 conv 64 1 x 1/ 1 152 x 152 x 128 -> 152 x 152 x 64 0.379 BF 1 x 1 卷积 通道降维 128 ==> 64 15 conv 64 1 x 1/ 1 152 x 152 x 64 -> 152 x 152 x 64 0.189 BF 16 conv 64 3 x 3/ 1 152 x 152 x 64 -> 152 x 152 x 64 1.703 BF 17 Shortcut Layer: 14, wt = 0, wn = 0, outputs: 152 x 152 x 64 0.001 BF 由 layer 14 和 layer 16 相加得到 18 conv 64 1 x 1/ 1 152 x 152 x 64 -> 152 x 152 x 64 0.189 BF 19 conv 64 3 x 3/ 1 152 x 152 x 64 -> 152 x 152 x 64 1.703 BF 20 Shortcut Layer: 17, wt = 0, wn = 0, outputs: 152 x 152 x 64 0.001 BF 由 layer 17 和 layer 19 相加得到 21 conv 64 1 x 1/ 1 152 x 152 x 64 -> 152 x 152 x 64 0.189 BFF 1 x 1 卷积 通道不降维 64 ==> 64 22 route 21 12 -> 152 x 152 x 128 concatenation layer 21 和 layer 12 23 conv 128 1 x 1/ 1 152 x 152 x 128 -> 152 x 152 x 128 0.757 BF 1 x 1 特征融合不降维 128 ==> 128 24 conv 256 3 x 3/ 2 152 x 152 x 128 -> 76 x 76 x 256 3.407 BF 降低特征图宽度和高度 size // 2,特征图尺寸 76 x 76 x 256 25 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 1 x 1 卷积 通道降维 256 ==> 128 26 route 24 -> 76 x 76 x 256 复制 layer 25 特征图 27 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 1 x 1 卷积 通道降维 256 ==> 128 28 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 29 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 30 Shortcut Layer: 27, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 27 和 layer 29 相加得到 31 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 32 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 33 Shortcut Layer: 30, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 30 和 layer 32 相加得到 34 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 35 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 36 Shortcut Layer: 33, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 33 和 layer 35 相加得到 37 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 38 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 39 Shortcut Layer: 36, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 36 和 layer 38 相加得到 40 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 41 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 42 Shortcut Layer: 39, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 30 和 layer 41 相加得到 43 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 44 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 45 Shortcut Layer: 42, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 42 和 layer 44 相加得到 46 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 47 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 48 Shortcut Layer: 45, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 45 和 layer 47 相加得到 49 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 50 conv 128 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 128 1.703 BF 51 Shortcut Layer: 48, wt = 0, wn = 0, outputs: 76 x 76 x 128 0.001 BF 由 layer 48 和 layer 50 相加得到 52 conv 128 1 x 1/ 1 76 x 76 x 128 -> 76 x 76 x 128 0.189 BF 1 x 1 卷积 通道不降维 128 ==> 128 53 route 52 25 -> 76 x 76 x 256 concatenation layer 25 和 layer 52 54 conv 256 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 256 0.757 BF 1 x 1 特征融合不降维 256 ==> 256 55 conv 512 3 x 3/ 2 76 x 76 x 256 -> 38 x 38 x 512 3.407 BF 降低特征图宽度和高度 size // 2,特征图尺寸 38 x 38 x 512 56 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 1 x 1 卷积 通道降维 512 ==> 256 57 route 55 -> 38 x 38 x 512 复制 layer 55 特征图 58 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 1 x 1 卷积 通道降维 512 ==> 256 59 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 60 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 61 Shortcut Layer: 58, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 58 和 layer 60 相加得到 62 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 63 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 64 Shortcut Layer: 61, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 61 和 layer 63 相加得到 65 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 66 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 67 Shortcut Layer: 64, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 64 和 layer 66 相加得到 68 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 69 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 70 Shortcut Layer: 67, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 67 和 layer 69 相加得到 71 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 72 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 73 Shortcut Layer: 70, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 70 和 layer 72 相加得到 74 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 75 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 76 Shortcut Layer: 73, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 73 和 layer 75 相加得到 77 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 78 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 79 Shortcut Layer: 76, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 76 和 layer 78 相加得到 80 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 81 conv 256 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 256 1.703 BF 82 Shortcut Layer: 79, wt = 0, wn = 0, outputs: 38 x 38 x 256 0.000 BF 由 layer 79 和 layer 81 相加得到 83 conv 256 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 256 0.189 BF 1 x 1 卷积 通道不降维 256 ==> 256 84 route 83 56 -> 38 x 38 x 512 concatenation layer 56 和 layer 83 85 conv 512 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 512 0.757 BF 1 x 1 特征融合不降维 512 ==> 512 86 conv 1024 3 x 3/ 2 38 x 38 x 512 -> 19 x 19 x1024 3.407 BF 降低特征图宽度和高度 size // 2,特征图尺寸 19 x 19 x 1024 87 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 88 route 86 -> 19 x 19 x1024 复制 layer 86 特征图 89 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 90 conv 512 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.189 BF 91 conv 512 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x 512 1.703 BF 92 Shortcut Layer: 89, wt = 0, wn = 0, outputs: 19 x 19 x 512 0.000 BF 由 layer 89 和 layer 91 相加得到 93 conv 512 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.189 BF 94 conv 512 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x 512 1.703 BF 95 Shortcut Layer: 92, wt = 0, wn = 0, outputs: 19 x 19 x 512 0.000 BF 由 layer 92 和 layer 94 相加得到 96 conv 512 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.189 BF 97 conv 512 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x 512 1.703 BF 98 Shortcut Layer: 95, wt = 0, wn = 0, outputs: 19 x 19 x 512 0.000 BF 由 layer 95 和 layer 97 相加得到 99 conv 512 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.189 BF 100 conv 512 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x 512 1.703 BF 101 Shortcut Layer: 98, wt = 0, wn = 0, outputs: 19 x 19 x 512 0.000 BF 由 layer 98 和 layer 100 相加得到 102 conv 512 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.189 BF 1 x 1 卷积 通道不降维 512 ==> 512 103 route 102 87 -> 19 x 19 x1024 concatenation layer 87 和 layer 102 104 conv 1024 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x1024 0.757 BF 1 x 1 特征融合不降维 1024 ==> 1024 105 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 106 conv 1024 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x1024 3.407 BF 3 x 3 卷积 通道升维 512 ==> 1024 107 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 108 max 5x 5/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.005 BF 对 layer 107 进行 5 x 5 最大池化 109 route 107 -> 19 x 19 x 512 110 max 9x 9/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.015 BF 对 layer 107 进行 9 x 9 最大池化 111 route 107 -> 19 x 19 x 512 112 max 13x13/ 1 19 x 19 x 512 -> 19 x 19 x 512 0.031 BF 对 layer 107 进行 13 x 13 最大池化 113 route 112 110 108 107 -> 19 x 19 x2048 concatenation layer 107, layer 108,layer 110 和 layer 112 114 conv 512 1 x 1/ 1 19 x 19 x2048 -> 19 x 19 x 512 0.757 BF 1 x 1 卷积 通道降维 2048 ==> 512 115 conv 1024 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x1024 3.407 BF 116 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 117 conv 256 1 x 1/ 1 19 x 19 x 512 -> 19 x 19 x 256 0.095 BF 1 x 1 卷积 通道降维 512 ==> 256 118 upsample 2x 19 x 19 x 256 -> 38 x 38 x 256 上采样特征图宽度和高度 size x 2,特征图尺寸 38 x 38 x 256 119 route 85 -> 38 x 38 x 512 复制 layer 85 特征图 120 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 1 x 1 卷积 通道降维 512 ==> 256 121 route 120 118 -> 38 x 38 x 512 concatenation layer 118 和 layer 120 122 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 1 x 1 卷积 通道降维 512 ==> 256 123 conv 512 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 512 3.407 BF 124 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 125 conv 512 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 512 3.407 BF 126 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 127 conv 128 1 x 1/ 1 38 x 38 x 256 -> 38 x 38 x 128 0.095 BF 128 upsample 2x 38 x 38 x 128 -> 76 x 76 x 128 上采样特征图宽度和高度 size x 2,特征图尺寸 76 x 76 x 128 129 route 54 -> 76 x 76 x 256 复制 layer 54 特征图 130 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 1 x 1 卷积 通道降维 256 ==> 128 131 route 130 128 -> 76 x 76 x 256 concatenation layer 128 和 layer 130 132 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 1 x 1 卷积 通道降维 256 ==> 128 133 conv 256 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 256 3.407 BF 76 x 76 YOLO Head 134 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 135 conv 256 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 256 3.407 BF 136 conv 128 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 128 0.379 BF 137 conv 256 3 x 3/ 1 76 x 76 x 128 -> 76 x 76 x 256 3.407 BF 138 conv 255 1 x 1/ 1 76 x 76 x 256 -> 76 x 76 x 255 0.754 BF 139 yolo YOLO layer 76 x 76 x 255 [yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.20 nms_kind: greedynms (1), beta = 0.600000 140 route 136 -> 76 x 76 x 128 复制 layer 136 特征图 141 conv 256 3 x 3/ 2 76 x 76 x 128 -> 38 x 38 x 256 0.852 BF 降低特征图宽度和高度 size // 2,特征图尺寸 38 x 38 x 256 142 route 141 126 -> 38 x 38 x 512 concatenation layer 126 和 layer 141 143 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 1 x 1 卷积 通道降维 512 ==> 256 144 conv 512 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 512 3.407 BF 38 x 38 YOLO Head 145 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 146 conv 512 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 512 3.407 BF 147 conv 256 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 256 0.379 BF 148 conv 512 3 x 3/ 1 38 x 38 x 256 -> 38 x 38 x 512 3.407 BF 149 conv 255 1 x 1/ 1 38 x 38 x 512 -> 38 x 38 x 255 0.377 BF 150 yolo YOLO layer 38 x 38 x 255 [yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.10 nms_kind: greedynms (1), beta = 0.600000 151 route 147 -> 38 x 38 x 256 复制 layer 147 特征图 152 conv 512 3 x 3/ 2 38 x 38 x 256 -> 19 x 19 x 512 0.852 BF 降低特征图宽度和高度 size // 2,特征图尺寸 19 x 19 x 512 153 route 152 116 -> 19 x 19 x1024 concatenation layer 116 和 layer 152 154 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 1 x 1 卷积 通道降维 1024 ==> 512 155 conv 1024 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x1024 3.407 BF 19 x 19 YOLO Head 156 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 157 conv 1024 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x1024 3.407 BF 158 conv 512 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 512 0.379 BF 159 conv 1024 3 x 3/ 1 19 x 19 x 512 -> 19 x 19 x1024 3.407 BF 160 conv 255 1 x 1/ 1 19 x 19 x1024 -> 19 x 19 x 255 0.189 BF 161 yolo YOLO layer 19 x 19 x 255 [yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.05 nms_kind: greedynms (1), beta = 0.600000 Total BFLOPS 128.459 2.1 CSPDarknet53实现

1. CSPNet

Cross Stage Partial(CSP)可以增强CNN的学习能力,能够在轻量化的同时保持准确性、降低计算瓶颈、降低内存成本。CSPNet论文详见:https://arxiv.org/pdf/1911.11929.pdf 在ResNet上加上CSPNet的结果为: 在这里插入图片描述 2. Darknet53

Darknet53的结构如下图所示,共有5个大残差块,每个大残差块所包含的小残差单元个数为1、2、8、8、4。 在这里插入图片描述

3. CSPDarknet53

CSPDarknet53是在Darknet53的每个大残差块上加上CSP,对应layer 0~layer 104。 (1)Darknet53分块1加上CSP后的结果,对应layer 0~layer 10。其中,layer [0, 1, 5, 6, 7]与分块1完全一样,而 layer [2, 4, 8, 9, 10]属于CSP部分。 在这里插入图片描述 (2)Darknet53分块2加上CSP后的结果,对应layer 11~layer 23。其中,layer [11, 15~20]对应分块2(注意:残差单元中的 3 × 3 3 \times 3 3×3卷积核的深度改变了,由Darknet53分块2中的128改为64,请看layer 16 和 layer 19),其余 layer属于CSP部分。 在这里插入图片描述 (3)Darknet53分块3加上CSP后的结果,对应layer 24~layer 54。其中,layer [24, 27~51]对应分块3(注意:残差单元中的 3 × 3 3 \times 3 3×3卷积核的深度改变了,由Darknet53分块3中的256改为128,请看layer 29等),其余 layer属于CSP部分。

在这里插入图片描述 (4)Darknet53分块4加上CSP后的结果,对应layer 55~layer 85。其中,layer [55, 58~82]对应分块4(注意:残差单元中的 3 × 3 3 \times 3 3×3卷积核的深度改变了,由Darknet53分块4中的512改为256,请看layer 60等),其余 layer属于CSP部分。 在这里插入图片描述

(5)Darknet53分块5加上CSP后的结果,对应layer 86~layer 104。其中,layer [86, 89~101]对应分块5(注意:残差单元中的 3 × 3 3 \times 3 3×3卷积核的深度改变了,由Darknet53分块5中的1024改为512,请看layer 91等),其余 layer属于CSP部分。

在这里插入图片描述

2.2 SPP实现

SPP全称为Spatial Pyramid Pooling ,即,空间金字塔池化,SPP论文详见这里:https://arxiv.org/pdf/1406.4729.pdf,网络结构如下图所示。 在这里插入图片描述

SPP网络用在YOLOv4中的目的是增加网络的感受野。实现是对layer107进行 5 × 5 5 \times 5 5×5 、 9 × 9 9 \times 9 9×9 、 13 × 13 13 \times 13 13×13 的最大池化,分别得到layer 108,layer 110和layer 112,完成池化后,将layer 107,layer 108,layer 110和layer 112进行concatenete,连接成一个特征图layer 114并通过 1 × 1 1 \times 1 1×1降维到512个通道。 在这里插入图片描述 在这里插入图片描述

2.3 PANet实现

PANet 的论文详见这里https://arxiv.org/pdf/1803.01534.pdf,网络结构如下图所示,与FPN相比,PANet 在UpSample之后又加了DownSample的操作。 在这里插入图片描述 PANet上采样对应的layer为layer 105到layer 128。 在这里插入图片描述 在这里插入图片描述

2.4 YOLOv3 head实现

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 参考资料: [1]: Ubuntu18.04配置darknet环境实现YOLOv4目标检测(四)——YOLOv4网络解析. [2]: YOLOv3网络结构和解析.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3