|
|
|
@ -21,32 +21,28 @@ backbone:
|
|
|
|
|
[-1, 9, BottleneckCSP, [512]],
|
|
|
|
|
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
|
|
|
|
|
[-1, 1, SPP, [1024, [5, 9, 13]]],
|
|
|
|
|
[-1, 3, BottleneckCSP, [1024, False]], # 9
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# YOLOv5 PANet head
|
|
|
|
|
head:
|
|
|
|
|
[[-1, 3, BottleneckCSP, [1024, False]],
|
|
|
|
|
[-1, 1, Conv, [512, 1, 1]], # 10
|
|
|
|
|
|
|
|
|
|
[[-1, 1, Conv, [512, 1, 1]],
|
|
|
|
|
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
|
|
|
|
[[-1, 6], 1, Concat, [1]], # cat backbone P4
|
|
|
|
|
[-1, 3, BottleneckCSP, [512, False]],
|
|
|
|
|
[-1, 1, Conv, [256, 1, 1]], # 14
|
|
|
|
|
[-1, 3, BottleneckCSP, [512, False]], # 13
|
|
|
|
|
|
|
|
|
|
[-1, 1, Conv, [256, 1, 1]],
|
|
|
|
|
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
|
|
|
|
[[-1, 4], 1, Concat, [1]], # cat backbone P3
|
|
|
|
|
[-1, 3, BottleneckCSP, [256, False]],
|
|
|
|
|
[-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 18 (P3/8-small)
|
|
|
|
|
[-1, 3, BottleneckCSP, [256, False]], # 17 (P3/8-small)
|
|
|
|
|
|
|
|
|
|
[-2, 1, Conv, [256, 3, 2]],
|
|
|
|
|
[-1, 1, Conv, [256, 3, 2]],
|
|
|
|
|
[[-1, 14], 1, Concat, [1]], # cat head P4
|
|
|
|
|
[-1, 3, BottleneckCSP, [512, False]],
|
|
|
|
|
[-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 22 (P4/16-medium)
|
|
|
|
|
[-1, 3, BottleneckCSP, [512, False]], # 20 (P4/16-medium)
|
|
|
|
|
|
|
|
|
|
[-2, 1, Conv, [512, 3, 2]],
|
|
|
|
|
[-1, 1, Conv, [512, 3, 2]],
|
|
|
|
|
[[-1, 10], 1, Concat, [1]], # cat head P5
|
|
|
|
|
[-1, 3, BottleneckCSP, [1024, False]],
|
|
|
|
|
[-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 26 (P5/32-large)
|
|
|
|
|
[-1, 3, BottleneckCSP, [1024, False]], # 23 (P5/32-large)
|
|
|
|
|
|
|
|
|
|
[[], 1, Detect, [nc, anchors]], # Detect(P5, P4, P3)
|
|
|
|
|
[[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P5, P4, P3)
|
|
|
|
|
]
|
|
|
|
|