PCB检测算法YOLO-EMAC(2)

YOLO-EMAC的整体结构如下图所示,可以看出,整体结构就是YOLOv12,把其中的一些模块替换成了M2C2f和A2C2f.

9D4ADC46554C756838B7E00EA26ABFC9

整体的yaml配置文件如下:

# YOLO-EMAC 🚀 (based on YOLOv12-turbo)
# Replaces A2C2f with M2C2f and C3k2 with C3k2_EAMC (E-C3k2)

# Parameters
nc: 80  # number of classes
scales: # model compound scaling constants
  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]

# YOLO-EMAC backbone
backbone:
  - [-1, 1, Conv, [64, 3, 2]]                 # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2, 1, 2]]          # 1-P2/4
  - [-1, 2, C3k2_EAMC, [256, False, 0.25, 1, False]]  # 2 (E-C3k2)
  - [-1, 1, Conv, [256, 3, 2, 1, 4]]          # 3-P3/8
  - [-1, 2, C3k2_EAMC, [512, False, 0.25, 1, False]]  # 4 (E-C3k2)
  - [-1, 1, Conv, [512, 3, 2]]                # 5-P4/16
  - [-1, 4, M2C2f, [512]]                     # 6 (M2C2f)
  - [-1, 1, Conv, [1024, 3, 2]]               # 7-P5/32
  - [-1, 4, M2C2f, [1024]]                    # 8 (M2C2f)

# YOLO-EMAC head
head:
  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 6], 1, Concat, [1]]                # cat backbone P4
  - [-1, 2, M2C2f, [512]]                    # 11 (M2C2f)

  - [-1, 1, nn.Upsample, [None, 2, "nearest"]]
  - [[-1, 4], 1, Concat, [1]]                # cat backbone P3
  - [-1, 2, C3k2_EAMC, [256, False, 0.5, 1, False]]  # 14 (E-C3k2)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 11], 1, Concat, [1]]               # cat head P4
  - [-1, 2, M2C2f, [512]]                    # 17 (M2C2f)

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 8], 1, Concat, [1]]                # cat head P5
  - [-1, 2, C3k2_EAMC, [1024, False, 0.5, 1, True]]  # 20 (E-C3k2)

  - [[14, 17, 20], 1, Detect, [nc]]          # Detect(P3, P4, P5)

 

posted @ 2026-08-27 18:12  MSTK  阅读(5)  评论(0)    收藏  举报