# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license # YOLO12-seg instance segmentation model with P3/8 - P5/32 outputs # Model docs: https://docs.ultralytics.com/models/yolo12 # Task docs: https://docs.ultralytics.com/tasks/segment # Parameters nc: 80 # number of classes scales: # model compound scaling constants, i.e. 'model=yolo12n-seg.yaml' will call yolo12-seg.yaml with scale 'n' # [depth, width, max_channels] n: [0.50, 0.25, 1024] # summary: 294 layers, 2,855,056 parameters, 2,855,040 gradients, 10.6 GFLOPs s: [0.50, 0.50, 1024] # summary: 294 layers, 9,938,592 parameters, 9,938,576 gradients, 35.7 GFLOPs m: [0.50, 1.00, 512] # summary: 314 layers, 22,505,376 parameters, 22,505,360 gradients, 123.5 GFLOPs l: [1.00, 1.00, 512] # summary: 510 layers, 28,756,992 parameters, 28,756,976 gradients, 145.1 GFLOPs x: [1.00, 1.50, 512] # summary: 510 layers, 64,387,264 parameters, 64,387,248 gradients, 324.6 GFLOPs # YOLO12n backbone backbone: # [from, repeats, module, args] - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2 - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4 - [-1, 2, C3k2, [256, False, 0.25]] - [-1, 1, Conv, [256, 3, 2]] # 3-P3/8 - [-1, 2, C3k2, [512, False, 0.25]] - [-1, 1, Conv, [512, 3, 2]] # 5-P4/16 - [-1, 4, A2C2f, [512, True, 4]] - [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32 - [-1, 4, A2C2f, [1024, True, 1]] # 8 # YOLO12n head head: - [-1, 1, nn.Upsample, [None, 2, "nearest"]] - [[-1, 6], 1, Concat, [1]] # cat backbone P4 - [-1, 2, A2C2f, [512, False, -1]] # 11 - [-1, 1, nn.Upsample, [None, 2, "nearest"]] - [[-1, 4], 1, Concat, [1]] # cat backbone P3 - [-1, 2, A2C2f, [256, False, -1]] # 14 - [-1, 1, Conv, [256, 3, 2]] - [[-1, 11], 1, Concat, [1]] # cat head P4 - [-1, 2, A2C2f, [512, False, -1]] # 17 - [-1, 1, Conv, [512, 3, 2]] - [[-1, 8], 1, Concat, [1]] # cat head P5 - [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large) - [[14, 17, 20], 1, Segment, [nc, 32, 256]] # Detect(P3, P4, P5)