YOLO26 改进、魔改| 通道-空间注意力与密集多尺度特征融合模块CSDF,通过融合通道注意力、空间注意力和多尺度空洞卷积,增强特征表示能力,提升模型对复杂场景下多尺度目标的识别与分割性能。

张开发
2026/4/21 3:38:16 15 分钟阅读

分享文章

YOLO26 改进、魔改| 通道-空间注意力与密集多尺度特征融合模块CSDF,通过融合通道注意力、空间注意力和多尺度空洞卷积,增强特征表示能力,提升模型对复杂场景下多尺度目标的识别与分割性能。
遥感图像语义分割任务中面临的三大核心挑战尺度变化剧烈、类间光谱相似性高、以及空间上下文复杂。传统的卷积神经网络虽能提取局部特征但其感受野有限难以建模长距离依赖与多尺度目标而基于Transformer的方法虽能捕获全局信息但计算复杂度高且对局部细节的保持能力不足。此外遥感图像中目标方向各异、分布不规则单一方向或尺度的特征提取往往导致小目标漏检、边界模糊或类间混淆。因此亟需一种能够协同增强通道判别性、空间结构性与多尺度上下文的特征融合机制以在保持细节的同时整合全局语义信息提升模型在复杂遥感场景中的分割精度与鲁棒性。CSDF正是在此背景下提出的一种集成化特征增强方案其设计思想融合了注意力机制与多尺度卷积的优点旨在实现特征在通道、空间和尺度三个维度上的均衡优化。1.CSDF原理其原理在于通过并行处理通道、空间和多尺度三个维度的信息分别增强特征图的语义表达能力、空间定位能力和尺度适应能力最终通过特征融合得到更具判别性的表示。CSDF基于“分而治之”与“特征重校准”思想通过三条并行分支分别处理不同维度的信息通道注意力分支通过全局平均池化捕获通道级统计信息利用轻量级全连接层学习通道间依赖关系从而重新校准各通道的响应权重突出任务相关通道密集多尺度连接分支采用多膨胀率的空洞卷积并行提取不同感受野下的上下文特征通过密集连接实现跨尺度特征复用与融合增强模型对大小目标的适应能力空间注意力分支融合最大池化与平均池化得到的空间特征图通过卷积生成空间权重强调目标区域并抑制无关背景。最终三个分支的输出通过逐元素相加实现特征融合形成判别性更强、结构更完整的特征表示。2. YOLO与CSDF的结合将CSDF模块嵌入YOLO目标检测框架中可显著增强其对多尺度目标的感知能力尤其是提升小目标检测效果其注意力机制能帮助网络更精准地定位目标区域降低复杂背景的误检率同时多尺度特征融合结构也有助于提升模型在不同分辨率输入下的适应性增强整体检测稳定性与泛化能力。3.CSDF代码部分YOLO11|YOLO12|YOLO26|改进| 空间注意力与密集多尺度特征融合模块CSDF减少背景干扰导致的误检和强化小目标特征_哔哩哔哩_bilibiliYOLO12模型改进方法快速发论文总有适合你的改进还不改进上车_哔哩哔哩_bilibili代码获取YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub4. CSDF引入到YOLO26中第一: 先新建一个changemodel将下面的核心代码复制到下面这个路径当中如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。第二在task.py中导入包​​​第三在task.py中的模型配置部分下面代码​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​第四将模型配置文件复制到YOLOV11.YAMY文件中​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五运行代码from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld import torch if __name____main__: # 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型 model YOLO(/home/tgf/tgf/yolo/model/YOLO12_All/ultralytics/cfg/models/12/yolo12_SAMC.yaml)\ # .load(rE:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt) # build from YAML and transfer weights results model.train(data/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/datasets/VOC_my.yaml, epochs300, imgsz640, batch4, # cache False, # single_cls False, # 是否是单类别检测 # workers 0, # resumerD:/model/yolov8/runs/detect/train/weights/last.pt, amp True )

更多文章