# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# YOLOv8-RMDA: Lightweight YOLOv8 Network for Early Detection of Small Target Diseases in Tea
# 這是基於 YOLOv8n 尺度修改的輕量化版本 (depth: 0.33, width: 0.25)
# Parameters
nc: 4 # 茶葉病害類別數 (茶葉枯萎病、白斑病、煤煙病、輪斑病)
scales: # 使用 YOLOv8n 的尺度係數
n: [0.33, 0.25, 1024]
# YOLOv8n-RMDA backbone
backbone:
# [from, repeats, module, args]
# 0-P1/2: 替換 Conv -> AKConv (k=3, s=2)
- [-1, 1, AKConv, [64, 3, 2]]
# 1-P2/4: 替換 Conv -> AKConv (k=3, s=2)
- [-1, 1, AKConv, [128, 3, 2]]
# 2: 替換 C2f -> RFCBAM (n=3) 【修正點:移除冗餘參數】
- [-1, 3, RFCBAM, [128]]
# 3-P3/8: 替換 Conv -> AKConv (k=3, s=2)
- [-1, 1, AKConv, [256, 3, 2]]
# 4: 替換 C2f -> RFCBAM (n=6) 【修正點:移除冗餘參數】
- [-1, 6, RFCBAM, [256]]
# 5-P4/16: 替換 Conv -> AKConv (k=3, s=2)
- [-1, 1, AKConv, [512, 3, 2]]
# 6: 替換 C2f -> RFCBAM (n=6) 【修正點:移除冗餘參數】
- [-1, 6, RFCBAM, [512]]
# 7-P5/32: 替換 Conv -> AKConv (k=3, s=2)
- [-1, 1, AKConv, [1024, 3, 2]]
# 8: 替換 C2f -> RFCBAM (n=3) 【修正點:移除冗餘參數】
- [-1, 3, RFCBAM, [1024]]
# 9: 替換 SPPF -> MixSPPF (k=5)
- [-1, 1, MixSPPF, [1024, 5]]
# YOLOv8n-RMDA head (Neck/Head 結構 - 暫時使用 C2f)
head:
# Top-down Path (P5 -> P4)
- [-1, 1, nn.Upsample, [None, 2, "nearest"]] # 10
- [[-1, 6], 1, Concat, [1]] # 11: cat backbone P4
# 12: 替換 RepGFPN -> C2f (n=3) 【暫時使用標準 C2f 隔離錯誤】
- [-1, 3, C2f, [512]]
# Top-down Path (P4 -> P3)
- [-1, 1, nn.Upsample, [None, 2, "nearest"]] # 13
- [[-1, 4], 1, Concat, [1]] # 14: cat backbone P3
# 15: 替換 RepGFPN -> C2f (n=3) 【暫時使用標準 C2f 隔離錯誤】
- [-1, 3, C2f, [256]]
# Bottom-up Path (P3 -> P4)
- [-1, 1, Conv, [256, 3, 2]] # P3/8 -> P4/16 Downsample
- [[-1, 12], 1, Concat, [1]] # 17: cat head P4
# 18: 替換 RepGFPN -> C2f (n=3) 【暫時使用標準 C2f 隔離錯誤】
- [-1, 3, C2f, [512]]
# Bottom-up Path (P4 -> P5)
- [-1, 1, Conv, [512, 3, 2]] # P4/16 -> P5/32 Downsample
- [[-1, 9], 1, Concat, [1]] # 20: cat head P5
# 21: 替換 RepGFPN -> C2f (n=3) 【暫時使用標準 C2f 隔離錯誤】
- [-1, 3, C2f, [1024]]
# Detection Head
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
這個需要做什麼修正?
請直接修正