|
|
@@ -3,38 +3,44 @@ nc: 80 # number of classes |
|
|
|
depth_multiple: 1.0 # model depth multiple |
|
|
|
width_multiple: 1.0 # layer channel multiple |
|
|
|
anchors: |
|
|
|
- [ 10,13, 16,30, 33,23 ] # P3/8 |
|
|
|
- [ 30,61, 62,45, 59,119 ] # P4/16 |
|
|
|
- [ 116,90, 156,198, 373,326 ] # P5/32 |
|
|
|
- [10,13, 16,30, 33,23] # P3/8 |
|
|
|
- [30,61, 62,45, 59,119] # P4/16 |
|
|
|
- [116,90, 156,198, 373,326] # P5/32 |
|
|
|
|
|
|
|
# YOLOv5 backbone |
|
|
|
backbone: |
|
|
|
# [from, number, module, args] |
|
|
|
[ [ -1, 1, Focus, [ 64, 3 ] ], # 0-P1/2 |
|
|
|
[ -1, 1, Conv, [ 128, 3, 2 ] ], # 1-P2/4 |
|
|
|
[ -1, 3, Bottleneck, [ 128 ] ], |
|
|
|
[ -1, 1, Conv, [ 256, 3, 2 ] ], # 3-P3/8 |
|
|
|
[ -1, 9, BottleneckCSP, [ 256 ] ], |
|
|
|
[ -1, 1, Conv, [ 512, 3, 2 ] ], # 5-P4/16 |
|
|
|
[ -1, 9, BottleneckCSP, [ 512 ] ], |
|
|
|
[ -1, 1, Conv, [ 1024, 3, 2 ] ], # 7-P5/32 |
|
|
|
[ -1, 1, SPP, [ 1024, [ 5, 9, 13 ] ] ], |
|
|
|
[ -1, 6, BottleneckCSP, [ 1024 ] ], # 9 |
|
|
|
[[-1, 1, Focus, [64, 3]], # 0-P1/2 |
|
|
|
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4 |
|
|
|
[-1, 3, C3, [128]], |
|
|
|
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8 |
|
|
|
[-1, 9, C3, [256]], |
|
|
|
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16 |
|
|
|
[-1, 9, C3, [512]] |
|
|
|
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32 |
|
|
|
[-1, 1, SPP, [1024, [5, 9, 13]]], |
|
|
|
[-1, 3, C3, [1024, False]], # 9 |
|
|
|
] |
|
|
|
|
|
|
|
# YOLOv5 BiFPN head |
|
|
|
head: |
|
|
|
[ [ -1, 3, BottleneckCSP, [ 1024, False ] ], # 10 (P5/32-large) |
|
|
|
[[-1, 1, Conv, [512, 1, 1]], |
|
|
|
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
|
|
|
[[-1, 6], 1, Concat, [1]], # cat backbone P4 |
|
|
|
[-1, 3, C3, [512, False]], # 13 |
|
|
|
|
|
|
|
[ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ], |
|
|
|
[ [ -1, 20, 6 ], 1, Concat, [ 1 ] ], # cat P4 |
|
|
|
[ -1, 1, Conv, [ 512, 1, 1 ] ], |
|
|
|
[ -1, 3, BottleneckCSP, [ 512, False ] ], # 14 (P4/16-medium) |
|
|
|
[-1, 1, Conv, [256, 1, 1]], |
|
|
|
[-1, 1, nn.Upsample, [None, 2, 'nearest']], |
|
|
|
[[-1, 4], 1, Concat, [1]], # cat backbone P3 |
|
|
|
[-1, 3, C3, [256, False]], # 17 (P3/8-small) |
|
|
|
|
|
|
|
[ -1, 1, nn.Upsample, [ None, 2, 'nearest' ] ], |
|
|
|
[ [ -1, 4 ], 1, Concat, [ 1 ] ], # cat backbone P3 |
|
|
|
[ -1, 1, Conv, [ 256, 1, 1 ] ], |
|
|
|
[ -1, 3, BottleneckCSP, [ 256, False ] ], # 18 (P3/8-small) |
|
|
|
[-1, 1, Conv, [256, 3, 2]], |
|
|
|
[[-1, 14, 6], 1, Concat, [1]], # cat P4 |
|
|
|
[-1, 3, C3, [512, False]], # 20 (P4/16-medium) |
|
|
|
|
|
|
|
[ [ 18, 14, 10 ], 1, Detect, [ nc, anchors ] ], # Detect(P3, P4, P5) |
|
|
|
[-1, 1, Conv, [512, 3, 2]], |
|
|
|
[[-1, 10], 1, Concat, [1]], # cat head P5 |
|
|
|
[-1, 3, C3, [1024, False]], # 23 (P5/32-large) |
|
|
|
|
|
|
|
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) |
|
|
|
] |