123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- # 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)
- ]
|