elkraken's picture
Duplicate from Aditya9790/yolo7-object-tracking
24e70a5
# 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)
]