diff --git a/cfg/obb/yolo11-p6.yaml b/cfg/obb/yolo11-p6.yaml new file mode 100644 index 0000000..5ead6f9 --- /dev/null +++ b/cfg/obb/yolo11-p6.yaml @@ -0,0 +1,90 @@ +# Metadata +author: Y-T-G +task: obb +keywords: [cnn, yolo11, large-object] +description: YOLO11 rotated bounding box model with an extra P6 scale for large object detecton. +flops: + n: 7.2 + s: 24.2 + m: 74.3 + l: 94.1 + x: 210.6 +parameters: + n: 4493620 + s: 16536212 + m: 31244436 + l: 39063956 + x: 87730484 +min_version: 8.3.0 + +# Model +nc: 80 +strides: [8, 16, 32, 64] +scales: + n: [0.50, 0.25, 1024] + s: [0.50, 0.50, 1024] + m: [0.50, 1.00, 512] + l: [1.00, 1.00, 512] + x: [1.00, 1.50, 512] + +backbone: + # Stem + - [-1, 1, Conv, [64, 3, 2]] # (1, 64, 320, 320) - 0 + + # P2 Backbone + - [-1, 1, Conv, [128, 3, 2]] # (1, 128, 160, 160) - 1 + - [-1, 2, C3k2, [256, False, 0.25]] # (1, 256, 160, 160) - 2 + + # P3 Backbone + - [-1, 1, Conv, [256, 3, 2]] # (1, 256, 80, 80) - 3 + - [-1, 2, C3k2, [512, False, 0.25]] # (1, 512, 80, 80) - 4 + + # P4 Backbone + - [-1, 1, Conv, [512, 3, 2]] # (1, 512, 40, 40) - 5 + - [-1, 2, C3k2, [768, True]] # (1, 512, 40, 40) - 6 + + # P5 Backbone + - [-1, 1, Conv, [768, 3, 2]] # (1, 512, 20, 20) - 7 + - [-1, 2, C3k2, [768, True]] # (1, 512, 20, 20) - 8 + + # P6 Backbone + - [-1, 1, Conv, [1024, 3, 2]] # (1, 512, 10, 10) - 9 + - [-1, 2, C3k2, [1024, True]] # (1, 512, 10, 10) - 10 + - [-1, 1, SPPF, [1024, 5]] # (1, 512, 10, 10) - 11 + - [-1, 2, C2PSA, [1024]] # (1, 512, 10, 10) - 12 + +head: + # Top-Down Path (Feature Pyramid) + # P5 Head + - [-1, 1, nn.Upsample, [None, 2, nearest]] # (1, 512, 20, 20) - 13 + - [[-1, 8], 1, Concat, [1]] # (1, 1024, 20, 20) - 14 + - [-1, 2, C3k2, [768, False]] # (1, 512, 20, 20) - 15 + + # P4 Head + - [-1, 1, nn.Upsample, [None, 2, nearest]] # (1, 512, 40, 40) - 16 + - [[-1, 6], 1, Concat, [1]] # (1, 1024, 40, 40) - 17 + - [-1, 2, C3k2, [512, False]] # (1, 512, 40, 40) - 18 + + # P3 Head + - [-1, 1, nn.Upsample, [None, 2, nearest]] # (1, 512, 80, 80) - 19 + - [[-1, 4], 1, Concat, [1]] # (1, 1024, 80, 80) - 20 + - [-1, 2, C3k2, [256, False]] # (1, 256, 80, 80) - 21 + + # Bottom-Up Path (PAN-FPN) + # P4 + - [-1, 1, Conv, [256, 3, 2]] # (1, 256, 40, 40) - 22 + - [[-1, 16], 1, Concat, [1]] # (1, 768, 40, 40) - 23 + - [-1, 2, C3k2, [512, False]] # (1, 512, 40, 40) - 24 + + # P5 + - [-1, 1, Conv, [512, 3, 2]] # (1, 512, 20, 20) - 25 + - [[-1, 13], 1, Concat, [1]] # (1, 1024, 20, 20) - 26 + - [-1, 2, C3k2, [768, True]] # (1, 512, 20, 20) - 27 + + # P6 + - [-1, 1, Conv, [768, 3, 2]] # (1, 512, 10, 10) - 28 + - [[-1, 10], 1, Concat, [1]] # (1, 1024, 10, 10) - 29 + - [-1, 2, C3k2, [1024, True]] # (1, 512, 10, 10) - 30 + + # OBB Head (P3, P4, P5, P6) + - [[21, 24, 27, 30], 1, OBB, [nc, 1]] # 31