YOLO11 改进、魔改|Di-SpAM(Dilated-Spatial Attention Module),空间注意力与特征自适应增强,降噪,去模糊

        在图像恢复任务中,传统注意力机制(如 LKA)虽能通过大内核捕捉全局信息,但存在参数冗余计算复杂度高的问题。尤其在低光图像恢复场景中,模糊与光照不均的复合挑战要求模型在扩大感受野的同时保持轻量级设计。Di-SpAM 应运而生,其通过膨胀卷积多尺度特征融合策略,在减少计算量的同时提升对空间细节的捕捉能力,为解决低光场景下的模糊问题提供了高效方案。

1.Di-SpAM原理

        Di-SpAM 的核心原理是利用不同膨胀率的深度卷积(膨胀因子 1、4、9)构建多分支特征提取路径,通过并行捕捉多尺度空间信息来扩大有效感受野。该模块将各分支特征融合后,引入简化通道注意力(SCA)增强关键语义特征,并通过门控 MLP 机制实现特征的自适应权重分配。这种设计既避免了传统大内核卷积的计算开销,又能通过膨胀卷积的稀疏采样特性捕获长距离依赖关系,尤其适用于需要同时处理局部细节和全局结构的图像恢复任务。

Di-SpAM 的结构遵循 “多分支膨胀卷积 + 通道注意力 + 门控 MLP” 的三层架构:

        多分支特征提取层:采用三组不同膨胀率的 3×3 深度卷积(膨胀率 1、4、9)并行处理输入特征,分别捕获局部细节、中等尺度和全局上下文信息。

        通道注意力融合层:将多分支特征拼接后,通过简化通道注意力机制(如全局平均池化 + 全连接层)计算各通道权重,增强与任务相关的特征通道。

        门控 MLP 处理层:通过轻量级 MLP 结合门控函数(如 Sigmoid)对特征进行非线性变换,输出最终的注意力加权特征图。

2. Di-SpAM习作思路

医学图像领域

        在医学影像增强任务中,Di-SpAM 可被描述为:“针对医学图像中低信噪比与运动模糊的复合挑战,本文提出基于膨胀空间注意力的 Di-SpAM 模块。该模块通过 1/4/9 膨胀率的深度卷积并行提取病灶区域的多尺度纹理特征,结合通道注意力机制抑制噪声干扰,有效增强 CT/MRI 图像中的细微结构(如肿瘤边缘、血管分支)。

遥感图像领域

在遥感场景中,Di-SpAM 的应用描述可设计为:“针对遥感图像中云层遮挡与地物模糊的难题,本文将 Di-SpAM 集成于多尺度恢复网络。该模块通过膨胀卷积的分层采样策略,有效捕获从农田斑块到城市建筑群的跨尺度地理特征,其通道注意力机制可自适应抑制云层噪声对光谱特征的干扰。

工业缺陷检测领域

在缺陷检测任务中,Di-SpAM 的描述可突出其对局部特征的敏感性:“为解决工业表面缺陷的多尺度识别问题,本文提出基于 Di-SpAM 的轻量级检测网络。该模块通过 1/4/9 膨胀率卷积并行捕捉划痕、裂纹等不同尺寸缺陷的边缘特征,通道注意力机制强化缺陷区域的特征响应,有效区分微小缺陷与背景纹理。

农业监测领域

在农业图像分析中,Di-SpAM 的描述需结合环境适应性:“针对农田场景中光照不均与作物遮挡导致的图像退化问题,本文将 Di-SpAM 嵌入至植被指数增强网络。该模块通过膨胀卷积的多尺度采样策略,自适应捕捉不同生长阶段作物的冠层结构特征,通道注意力机制抑制阴影与光斑干扰,实现病虫害叶片的精准识别。

3. YOLO与Di-SpAM的结合          

        Di-SpAM的并行扩张卷积结构(扩张因子1/4/9)无缝适配YOLO的多尺度检测需求,显著提升小目标与模糊场景的检测精度

4.Di-SpAM代码部分

Di-SpAM(Dilated-Spatial Attention Module),空间注意力与特征自适应增强,降噪,去模糊_哔哩哔哩_bilibili

 代码获取:YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

5. Di-SpAM到YOLOv11中

第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。

            ​​​​​​  

第二:在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/shengtuo/tangfan/YOLO11/ultralytics/cfg/models/11/yolo11_Di_SpAM.yaml")\
        # .load(r'E:\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",
                          epochs=300,
                          imgsz=640,
                          batch=4,
                          # cache = False,
                          # single_cls = False,  # 是否是单类别检测
                          # workers = 0,
                          # resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
                          amp = False
                          )

 ​​​​​​​  

  

 ​​​​​​​   ​​​​​​​ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值