YOLO-v4网络结构解析

转自:
https://blog.csdn.net/weixin_41560402/article/details/106119774

1. 概述

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

  • CSPDarknet53作为骨干网络BackBone;
  • SPP作为Neck的附加模块,PANet作为Neck的特征融合模块;
  • YOLOv3作为Head。

2. 网络分块解析

2.0 先睹为快

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

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

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

在官方给出的cfg文件中,我们可以看到YOLOv4网络每一层的输出,每一层layer是如何得到的注释在了每一行后面,没有注释的就是对上一行的特征图进行卷积。可以看到YOLOv4网络共有161层,在 608 × 608608 × 608608 × 608 608×608608×608 608 \times 608 608×608608×608608×608608×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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171

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 × 33 × 33 × 3 3×33×3 3 \times 3 3×33×33×31×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网络结构和解析.

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值