YOLO11 改进、魔改|防御性细化模块DRM,提高背景、噪声的干扰,补充丢失的特征信息,提高小目标 遮挡的检测能力

        现有红外与可见光图像融合(IVIF)方法多基于无干扰数据构建,在对抗性扰动下易生成含伪影、噪声的融合图像,且 U-Net 作为常用融合网络架构,在特征解耦过程中存在信息丢失问题,进一步导致融合结果质量下降。为解决上述问题,增强网络对对抗性扰动的抵抗能力,同时补充丢失特征以优化融合效果,研究人员设计了防御性细化模块(DRM),并将其嵌入 U-Net 架构中间位置,用于提升融合网络的鲁棒性与融合结果的精细度。

1.DRM原理

       其核心在于先通过特征投影与补丁嵌入将输入特征转换为查询(Q)、键(K)、值(V),再利用 Pearson 相关系数衡量 Q 与 K 的相关性,验证核操作有效性;同时改变自注意力中的乘法顺序,先计算 K 与 V 的乘积,将复杂度从O(Nˉ2)降至O(N),在保证鲁棒性的同时提升对抗性训练效率,最终通过补丁解嵌入输出处理后的特征,实现对融合特征的细化。

2. DRM习作思路

在目标检测中的优点

        在目标检测任务中,DRM 能通过保留源图像有效信息、过滤对抗性扰动,减少融合图像中的噪声与伪影,使目标边缘、纹理等关键特征更清晰。这有助于检测模型准确捕捉目标特征,降低因融合图像质量差导致的目标漏检、误检概率,同时其鲁棒的特征表示能力,能让融合图像在对抗性攻击下仍维持稳定的特征分布,确保检测模型在扰动环境中也能保持较高的检测精度与可靠性。

在分割中的优点

        对于图像分割任务,DRM 可补充 U-Net 解耦过程中丢失的特征,细化融合图像的纹理与细节,使不同类别区域的边界更明确。在对抗性扰动场景下,其过滤扰动的能力能避免分割结果出现不准确区域,减少类别混淆情况,帮助分割模型精准区分前景与背景、不同目标类别,提升分割结果与真实场景的一致性,保障分割任务在受攻击时的性能稳定性。

3. YOLO与DRM的结合   

        将 DRM 融入 YOLO 中,可增强 YOLO 对输入图像中对抗性扰动的抵抗能力,减少扰动导致的目标检测误差;同时 DRM 能补充 YOLO 特征提取过程中可能丢失的细节特征,让 YOLO 更精准地识别小目标或特征不明显的目标,提升整体检测性能。

4.DRM代码部分

YOLO11|YOLO12|改进| 多极注意力神经算子MANO 通过多尺度分层注意力机制,以线性复杂度实现全局感知与局部细节的高效融合_哔哩哔哩_bilibili

YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili

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

5. DRM到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_Defensive_Refinement_Module.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
                          )
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值