YOLO11-C3k2在航拍农田卷心菜检测中的优化实践
1. 项目背景与核心挑战航拍农田场景下的卷心菜目标检测是一个典型的农业自动化应用案例。在无人机航拍图像中卷心菜通常呈现以下特征密集排列的圆形目标颜色从浅绿到深绿不等受光照和阴影影响显著存在叶片遮挡和重叠现象传统检测方法在这个场景面临三个主要挑战小目标问题航拍高度导致单个卷心菜在图像中仅占30-50像素相似背景干扰绿叶与土壤背景颜色相近实时性要求无人机需要实时处理视频流2. YOLO11-C3k2架构解析2.1 主干网络设计改进后的主干网络采用SPD卷积与C3k2模块交替堆叠结构SPD-Conv - C3k2[64] - SPD-Conv - C3k2[128] - SPD-Conv - C3k2[256] - SPD-Conv - C3k2[512] - SPD-Conv - C3k2[1024]其中SPD卷积(空间金字塔深度卷积)通过多分支并行卷积核(3×3,5×5,7×7)动态权重分配机制跨通道特征交互 有效保留了小目标的边缘信息。2.2 C3k2模块创新C3k2是本文的核心改进模块其结构包含双分支特征提取分支11×1卷积→3×3深度可分离卷积分支22×2最大池化→5×5空洞卷积特征选择门控class FeatureGate(nn.Module): def __init__(self, channels): super().__init__() self.avg_pool nn.AdaptiveAvgPool2d(1) self.fc nn.Sequential( nn.Linear(channels, channels//4), nn.ReLU(), nn.Linear(channels//4, channels), nn.Sigmoid()) def forward(self, x): b, c, _, _ x.size() y self.avg_pool(x).view(b, c) y self.fc(y).view(b, c, 1, 1) return x * y跨尺度特征融合通过跳层连接整合浅层边缘信息使用CARAFE算子进行特征上采样3. 多尺度边缘信息选择方案3.1 边缘增强策略在训练阶段引入边缘感知损失L_edge λ1·L_sobel λ2·L_laplacian λ3·L_canny其中λ10.3, λ20.2, λ30.5 (经网格搜索确定)Sobel算子检测横向边缘Laplacian增强细节纹理Canny保留完整轮廓3.2 特征金字塔优化改进的FPN结构包含自底向上路径每经过一个C3k2模块输出特征图(P1-P5)使用SPD卷积进行下采样自顶向下路径采用轻量级BiFPN结构引入边缘注意力模块(EAM)class EAM(nn.Module): def __init__(self): super().__init__() self.conv nn.Conv2d(2,1,7,padding3) self.sigmoid nn.Sigmoid() def forward(self, x): avg_out torch.mean(x, dim1, keepdimTrue) max_out, _ torch.max(x, dim1, keepdimTrue) edge torch.cat([avg_out, max_out], dim1) edge self.sigmoid(self.conv(edge)) return x * edge4. 训练与部署实践4.1 数据准备要点自制数据集构建建议采集参数飞行高度30-50米光照条件上午9-11点或下午3-5点分辨率≥4K(3840×2160)标注规范使用LabelImg工具标注边界包含外层2-3片叶子遮挡超过50%的样本需剔除4.2 模型训练技巧关键训练参数配置hyperparameters: lr0: 0.01 # 初始学习率 lrf: 0.2 # 最终学习率系数 momentum: 0.9 weight_decay: 0.0005 warmup_epochs: 3 batch_size: 16 epochs: 300数据增强策略Mosaic增强概率0.8MixUp增强概率0.2HSV色域扰动Hue: ±0.015Saturation: ±0.7Value: ±0.45. 性能对比与优化5.1 量化评估结果在测试集(2000张图像)上的表现模型mAP0.5参数量(M)FLOPs(G)FPSYOLOv8n0.7233.28.7142YOLOv11原版0.7815.112.4118本方案0.8324.811.91255.2 实际部署优化在华为昇腾910B上的部署技巧模型转换atc --modelyolo11.onnx --framework5 --outputyolo11_om \ --input_formatNCHW --input_shapeimages:1,3,640,640 \ --logdebug --soc_versionAscend910B推理加速使用AIPP进行图像预处理开启DVPP硬件加速批处理大小设置为46. 常见问题解决方案6.1 漏检问题处理典型场景及对策阴影遮挡增加HSV增强中的Value扰动幅度在损失函数中加大正样本权重边缘模糊在数据增强中添加运动模糊调整EAM模块的卷积核尺寸6.2 误检问题优化针对土壤误检的解决方案数据层面收集更多不同土壤类型的负样本添加背景图像增强模型层面在检测头添加背景分类分支调整NMS的iou阈值至0.45关键提示实际部署中发现当飞行高度超过60米时建议将输入分辨率从640×640调整为1024×1024可提升小目标召回率约7%