mirror of https://github.com/WongKinYiu/yolov7.git
parent
9ee1835a7e
commit
941585a465
|
@ -0,0 +1,140 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [12,16, 19,36, 40,28] # P3/8
|
||||
- [36,75, 76,55, 72,146] # P4/16
|
||||
- [142,110, 192,243, 459,401] # P5/32
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args]
|
||||
[[-1, 1, Conv, [32, 3, 1]], # 0
|
||||
|
||||
[-1, 1, Conv, [64, 3, 2]], # 1-P1/2
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
|
||||
[-1, 1, Conv, [128, 3, 2]], # 3-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 11
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-3, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 16-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [512, 1, 1]], # 24
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-3, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 29-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1024, 1, 1]], # 37
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-3, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 42-P5/32
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1024, 1, 1]], # 50
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [512]], # 51
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[37, 1, Conv, [256, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 63
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[24, 1, Conv, [128, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [128, 1, 1]], # 75
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-3, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 2]],
|
||||
[[-1, -3, 63], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 88
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-3, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 2]],
|
||||
[[-1, -3, 51], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [512, 1, 1]], # 101
|
||||
|
||||
[75, 1, RepConv, [256, 3, 1]],
|
||||
[88, 1, RepConv, [512, 3, 1]],
|
||||
[101, 1, RepConv, [1024, 3, 1]],
|
||||
|
||||
[[102,103,104], 1, IDetect, [nc, anchors]], # Detect(P3, P4, P5)
|
||||
]
|
|
@ -0,0 +1,207 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [ 19,27, 44,40, 38,94 ] # P3/8
|
||||
- [ 96,68, 86,152, 180,137 ] # P4/16
|
||||
- [ 140,301, 303,264, 238,542 ] # P5/32
|
||||
- [ 436,615, 739,380, 925,792 ] # P6/64
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args],
|
||||
[[-1, 1, ReOrg, []], # 0
|
||||
[-1, 1, Conv, [96, 3, 1]], # 1-P1/2
|
||||
|
||||
[-1, 1, DownC, [192]], # 2-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -7, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [192, 1, 1]], # 14
|
||||
|
||||
[-1, 1, DownC, [384]], # 15-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [384, 1, 1]], # 27
|
||||
|
||||
[-1, 1, DownC, [768]], # 28-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [768, 1, 1]], # 40
|
||||
|
||||
[-1, 1, DownC, [1152]], # 41-P5/32
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[[-1, -3, -5, -7, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1152, 1, 1]], # 53
|
||||
|
||||
[-1, 1, DownC, [1536]], # 54-P6/64
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -7, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1536, 1, 1]], # 66
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [768]], # 67
|
||||
|
||||
[-1, 1, Conv, [576, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[53, 1, Conv, [576, 1, 1]], # route backbone P5
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [576, 1, 1]], # 83
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[40, 1, Conv, [384, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [384, 1, 1]], # 99
|
||||
|
||||
[-1, 1, Conv, [192, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[27, 1, Conv, [192, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [192, 1, 1]], # 115
|
||||
|
||||
[-1, 1, DownC, [384]],
|
||||
[[-1, 99], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [384, 1, 1]], # 129
|
||||
|
||||
[-1, 1, DownC, [576]],
|
||||
[[-1, 83], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [576, 1, 1]], # 143
|
||||
|
||||
[-1, 1, DownC, [768]],
|
||||
[[-1, 67], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [768, 1, 1]], # 157
|
||||
|
||||
[115, 1, Conv, [384, 3, 1]],
|
||||
[129, 1, Conv, [768, 3, 1]],
|
||||
[143, 1, Conv, [1152, 3, 1]],
|
||||
[157, 1, Conv, [1536, 3, 1]],
|
||||
|
||||
[115, 1, Conv, [384, 3, 1]],
|
||||
[99, 1, Conv, [768, 3, 1]],
|
||||
[83, 1, Conv, [1152, 3, 1]],
|
||||
[67, 1, Conv, [1536, 3, 1]],
|
||||
|
||||
[[158,159,160,161,162,163,164,165], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
||||
]
|
|
@ -0,0 +1,185 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [ 19,27, 44,40, 38,94 ] # P3/8
|
||||
- [ 96,68, 86,152, 180,137 ] # P4/16
|
||||
- [ 140,301, 303,264, 238,542 ] # P5/32
|
||||
- [ 436,615, 739,380, 925,792 ] # P6/64
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args],
|
||||
[[-1, 1, ReOrg, []], # 0
|
||||
[-1, 1, Conv, [80, 3, 1]], # 1-P1/2
|
||||
|
||||
[-1, 1, DownC, [160]], # 2-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 12
|
||||
|
||||
[-1, 1, DownC, [320]], # 13-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 23
|
||||
|
||||
[-1, 1, DownC, [640]], # 24-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 34
|
||||
|
||||
[-1, 1, DownC, [960]], # 35-P5/32
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [960, 1, 1]], # 45
|
||||
|
||||
[-1, 1, DownC, [1280]], # 46-P6/64
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1280, 1, 1]], # 56
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [640]], # 57
|
||||
|
||||
[-1, 1, Conv, [480, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[45, 1, Conv, [480, 1, 1]], # route backbone P5
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 71
|
||||
|
||||
[-1, 1, Conv, [320, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[34, 1, Conv, [320, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 85
|
||||
|
||||
[-1, 1, Conv, [160, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[23, 1, Conv, [160, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 99
|
||||
|
||||
[-1, 1, DownC, [320]],
|
||||
[[-1, 85], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 111
|
||||
|
||||
[-1, 1, DownC, [480]],
|
||||
[[-1, 71], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 123
|
||||
|
||||
[-1, 1, DownC, [640]],
|
||||
[[-1, 57], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 135
|
||||
|
||||
[99, 1, Conv, [320, 3, 1]],
|
||||
[111, 1, Conv, [640, 3, 1]],
|
||||
[123, 1, Conv, [960, 3, 1]],
|
||||
[135, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[99, 1, Conv, [320, 3, 1]],
|
||||
[85, 1, Conv, [640, 3, 1]],
|
||||
[71, 1, Conv, [960, 3, 1]],
|
||||
[57, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[[136,137,138,139,140,141,142,143], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
||||
]
|
|
@ -0,0 +1,306 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [ 19,27, 44,40, 38,94 ] # P3/8
|
||||
- [ 96,68, 86,152, 180,137 ] # P4/16
|
||||
- [ 140,301, 303,264, 238,542 ] # P5/32
|
||||
- [ 436,615, 739,380, 925,792 ] # P6/64
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args],
|
||||
[[-1, 1, ReOrg, []], # 0
|
||||
[-1, 1, Conv, [80, 3, 1]], # 1-P1/2
|
||||
|
||||
[-1, 1, DownC, [160]], # 2-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 12
|
||||
[-11, 1, Conv, [64, 1, 1]],
|
||||
[-12, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 22
|
||||
[[-1, -11], 1, Shortcut, [1]], # 23
|
||||
|
||||
[-1, 1, DownC, [320]], # 24-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 34
|
||||
[-11, 1, Conv, [128, 1, 1]],
|
||||
[-12, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 44
|
||||
[[-1, -11], 1, Shortcut, [1]], # 45
|
||||
|
||||
[-1, 1, DownC, [640]], # 46-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 56
|
||||
[-11, 1, Conv, [256, 1, 1]],
|
||||
[-12, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 66
|
||||
[[-1, -11], 1, Shortcut, [1]], # 67
|
||||
|
||||
[-1, 1, DownC, [960]], # 68-P5/32
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [960, 1, 1]], # 78
|
||||
[-11, 1, Conv, [384, 1, 1]],
|
||||
[-12, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [960, 1, 1]], # 88
|
||||
[[-1, -11], 1, Shortcut, [1]], # 89
|
||||
|
||||
[-1, 1, DownC, [1280]], # 90-P6/64
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1280, 1, 1]], # 100
|
||||
[-11, 1, Conv, [512, 1, 1]],
|
||||
[-12, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1280, 1, 1]], # 110
|
||||
[[-1, -11], 1, Shortcut, [1]], # 111
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [640]], # 112
|
||||
|
||||
[-1, 1, Conv, [480, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[89, 1, Conv, [480, 1, 1]], # route backbone P5
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 126
|
||||
[-11, 1, Conv, [384, 1, 1]],
|
||||
[-12, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 136
|
||||
[[-1, -11], 1, Shortcut, [1]], # 137
|
||||
|
||||
[-1, 1, Conv, [320, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[67, 1, Conv, [320, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 151
|
||||
[-11, 1, Conv, [256, 1, 1]],
|
||||
[-12, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 161
|
||||
[[-1, -11], 1, Shortcut, [1]], # 162
|
||||
|
||||
[-1, 1, Conv, [160, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[45, 1, Conv, [160, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 176
|
||||
[-11, 1, Conv, [128, 1, 1]],
|
||||
[-12, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 186
|
||||
[[-1, -11], 1, Shortcut, [1]], # 187
|
||||
|
||||
[-1, 1, DownC, [320]],
|
||||
[[-1, 162], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 199
|
||||
[-11, 1, Conv, [256, 1, 1]],
|
||||
[-12, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 209
|
||||
[[-1, -11], 1, Shortcut, [1]], # 210
|
||||
|
||||
[-1, 1, DownC, [480]],
|
||||
[[-1, 137], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 222
|
||||
[-11, 1, Conv, [384, 1, 1]],
|
||||
[-12, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [480, 1, 1]], # 232
|
||||
[[-1, -11], 1, Shortcut, [1]], # 233
|
||||
|
||||
[-1, 1, DownC, [640]],
|
||||
[[-1, 112], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 245
|
||||
[-11, 1, Conv, [512, 1, 1]],
|
||||
[-12, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 255
|
||||
[[-1, -11], 1, Shortcut, [1]], # 256
|
||||
|
||||
[187, 1, Conv, [320, 3, 1]],
|
||||
[210, 1, Conv, [640, 3, 1]],
|
||||
[233, 1, Conv, [960, 3, 1]],
|
||||
[256, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[186, 1, Conv, [320, 3, 1]],
|
||||
[161, 1, Conv, [640, 3, 1]],
|
||||
[136, 1, Conv, [960, 3, 1]],
|
||||
[112, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[[257,258,259,260,261,262,263,264], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
||||
]
|
|
@ -0,0 +1,163 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [ 19,27, 44,40, 38,94 ] # P3/8
|
||||
- [ 96,68, 86,152, 180,137 ] # P4/16
|
||||
- [ 140,301, 303,264, 238,542 ] # P5/32
|
||||
- [ 436,615, 739,380, 925,792 ] # P6/64
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args]
|
||||
[[-1, 1, ReOrg, []], # 0
|
||||
[-1, 1, Conv, [64, 3, 1]], # 1-P1/2
|
||||
|
||||
[-1, 1, Conv, [128, 3, 2]], # 2-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [128, 1, 1]], # 10
|
||||
|
||||
[-1, 1, Conv, [256, 3, 2]], # 11-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 19
|
||||
|
||||
[-1, 1, Conv, [512, 3, 2]], # 20-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [512, 1, 1]], # 28
|
||||
|
||||
[-1, 1, Conv, [768, 3, 2]], # 29-P5/32
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[-1, 1, Conv, [384, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [768, 1, 1]], # 37
|
||||
|
||||
[-1, 1, Conv, [1024, 3, 2]], # 38-P6/64
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1024, 1, 1]], # 46
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [512]], # 47
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[37, 1, Conv, [384, 1, 1]], # route backbone P5
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [384, 1, 1]], # 59
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[28, 1, Conv, [256, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 71
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[19, 1, Conv, [128, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [128, 1, 1]], # 83
|
||||
|
||||
[-1, 1, Conv, [256, 3, 2]],
|
||||
[[-1, 71], 1, Concat, [1]], # cat
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [256, 1, 1]], # 93
|
||||
|
||||
[-1, 1, Conv, [384, 3, 2]],
|
||||
[[-1, 59], 1, Concat, [1]], # cat
|
||||
|
||||
[-1, 1, Conv, [384, 1, 1]],
|
||||
[-2, 1, Conv, [384, 1, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[-1, 1, Conv, [192, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [384, 1, 1]], # 103
|
||||
|
||||
[-1, 1, Conv, [512, 3, 2]],
|
||||
[[-1, 47], 1, Concat, [1]], # cat
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -2, -3, -4, -5, -6], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [512, 1, 1]], # 113
|
||||
|
||||
[83, 1, Conv, [256, 3, 1]],
|
||||
[93, 1, Conv, [512, 3, 1]],
|
||||
[103, 1, Conv, [768, 3, 1]],
|
||||
[113, 1, Conv, [1024, 3, 1]],
|
||||
|
||||
[83, 1, Conv, [320, 3, 1]],
|
||||
[71, 1, Conv, [640, 3, 1]],
|
||||
[59, 1, Conv, [960, 3, 1]],
|
||||
[47, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[[114,115,116,117,118,119,120,121], 1, IAuxDetect, [nc, anchors]], # Detect(P3, P4, P5, P6)
|
||||
]
|
|
@ -0,0 +1,156 @@
|
|||
# parameters
|
||||
nc: 80 # number of classes
|
||||
depth_multiple: 1.0 # model depth multiple
|
||||
width_multiple: 1.0 # layer channel multiple
|
||||
|
||||
# anchors
|
||||
anchors:
|
||||
- [12,16, 19,36, 40,28] # P3/8
|
||||
- [36,75, 76,55, 72,146] # P4/16
|
||||
- [142,110, 192,243, 459,401] # P5/32
|
||||
|
||||
# yolov7 backbone
|
||||
backbone:
|
||||
# [from, number, module, args]
|
||||
[[-1, 1, Conv, [40, 3, 1]], # 0
|
||||
|
||||
[-1, 1, Conv, [80, 3, 2]], # 1-P1/2
|
||||
[-1, 1, Conv, [80, 3, 1]],
|
||||
|
||||
[-1, 1, Conv, [160, 3, 2]], # 3-P2/4
|
||||
[-1, 1, Conv, [64, 1, 1]],
|
||||
[-2, 1, Conv, [64, 1, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[-1, 1, Conv, [64, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 13
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [160, 1, 1]],
|
||||
[-3, 1, Conv, [160, 1, 1]],
|
||||
[-1, 1, Conv, [160, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 18-P3/8
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 28
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [320, 1, 1]],
|
||||
[-3, 1, Conv, [320, 1, 1]],
|
||||
[-1, 1, Conv, [320, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 33-P4/16
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1280, 1, 1]], # 43
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [640, 1, 1]],
|
||||
[-3, 1, Conv, [640, 1, 1]],
|
||||
[-1, 1, Conv, [640, 3, 2]],
|
||||
[[-1, -3], 1, Concat, [1]], # 48-P5/32
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [1280, 1, 1]], # 58
|
||||
]
|
||||
|
||||
# yolov7 head
|
||||
head:
|
||||
[[-1, 1, SPPCSPC, [640]], # 59
|
||||
|
||||
[-1, 1, Conv, [320, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[43, 1, Conv, [320, 1, 1]], # route backbone P4
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 73
|
||||
|
||||
[-1, 1, Conv, [160, 1, 1]],
|
||||
[-1, 1, nn.Upsample, [None, 2, 'nearest']],
|
||||
[28, 1, Conv, [160, 1, 1]], # route backbone P3
|
||||
[[-1, -2], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [128, 1, 1]],
|
||||
[-2, 1, Conv, [128, 1, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[-1, 1, Conv, [128, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [160, 1, 1]], # 87
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [160, 1, 1]],
|
||||
[-3, 1, Conv, [160, 1, 1]],
|
||||
[-1, 1, Conv, [160, 3, 2]],
|
||||
[[-1, -3, 73], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [256, 1, 1]],
|
||||
[-2, 1, Conv, [256, 1, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[-1, 1, Conv, [256, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [320, 1, 1]], # 102
|
||||
|
||||
[-1, 1, MP, []],
|
||||
[-1, 1, Conv, [320, 1, 1]],
|
||||
[-3, 1, Conv, [320, 1, 1]],
|
||||
[-1, 1, Conv, [320, 3, 2]],
|
||||
[[-1, -3, 59], 1, Concat, [1]],
|
||||
|
||||
[-1, 1, Conv, [512, 1, 1]],
|
||||
[-2, 1, Conv, [512, 1, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[-1, 1, Conv, [512, 3, 1]],
|
||||
[[-1, -3, -5, -7, -8], 1, Concat, [1]],
|
||||
[-1, 1, Conv, [640, 1, 1]], # 117
|
||||
|
||||
[87, 1, Conv, [320, 3, 1]],
|
||||
[102, 1, Conv, [640, 3, 1]],
|
||||
[117, 1, Conv, [1280, 3, 1]],
|
||||
|
||||
[[118,119,120], 1, IDetect, [nc, anchors]], # Detect(P3, P4, P5)
|
||||
]
|
Loading…
Reference in New Issue