当前位置: 首页 > news >正文

YOLO11改进-模块-引入门控瓶颈卷积GBC 关注目标抑制背景干扰

        在结构裂缝像素级分割任务中,现有方法存在诸多挑战。卷积神经网络(CNNs)虽有较强的局部特征提取能力,但有限的感受野使其难以建模图像全局的不规则依赖关系,导致分割不连续、背景噪声抑制弱;Vision Transformer(ViT)虽能捕捉不规则像素依赖,但自注意力机制计算复杂度高,内存占用大,不利于在资源受限设备上部署;基于 Mamba 的方法在处理裂缝图像时,其视觉状态空间(VSS)块结构和扫描策略难以有效捕捉裂缝形态和纹理,且常通过线性层处理特征图,限制了对裂缝特征的选择性增强或抑制。为解决这些问题,提出了轻量级门控瓶颈卷积(Gated Bottleneck Convolution,GBC),旨在在降低参数数量和计算成本的同时,增强模型对裂缝形态信息的建模能力。

上面是原模型,下面是改进模型

改进后的模型

1. 门控瓶颈卷积GBC介绍 

      GBC 的理论核心是通过低秩近似和门控机制,在减少模型计算量的同时,增强其对裂缝特征的提取能力。在卷积操作中,传统方式计算量较大。GBC 引入瓶颈卷积,采用低秩近似的方法,将高维矩阵映射到低维空间,从而降低计算复杂度。这一操作使得模型在处理裂缝图像时,能更高效地提取特征,同时减少资源消耗。另外,门控机制为每个空间位置和通道赋予动态特征,让模型可以根据不同的裂缝特征进行自适应调整,增强对裂缝细节的捕捉能力,提高分割精度。

从提供的图片来看,门控瓶颈卷积GBC模块主要包含以下几个部分:

        GBC 主要包含瓶颈卷积层、门控机制以及残差连接这几个关键部分。输入的特征会先保留一份用于后续的残差连接。之后,特征进入瓶颈卷积层,这一层通过特殊的卷积方式减少参数数量和计算量。经过瓶颈卷积处理后,特征再依次经过归一化和激活函数进行处理,得到两组特征。这两组特征通过哈达玛积组合形成门控特征图,门控特征图进一步经过瓶颈卷积细化细节。最后,将细化后的特征与最初保留的特征进行残差连接,得到最终输出。这种结构设计保证了模型在有效提取裂缝特征的同时,能够避免信息丢失,增强模型的鲁棒性,从而实现更精准的裂缝分割。

2. YOLOv11与门控瓶颈卷积GBC的结合           

        在 YOLOv11 中,用 MFM(调制融合模块)替换 concat,能根据特征重要性动态调整权重,相比简单拼接,可更有效突出关键特征。这能增强特征交互,提升模型对目标的特征表达能力,进而提高检测精度和对复杂场景的适应性 。

3. 门控瓶颈卷积GBC代码部分

视频讲解:

YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub

用一篇论文教您如何使用YOLOv11改进模块写一篇1、2区论文_哔哩哔哩_bilibili

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

YOLOv11全部代码,现有几十种改进机制。

 4. 门控瓶颈卷积GBC引入到YOLOv11中

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

                     

第二:在task.py中导入

 ​​​          ​​​​​​​        

第三:在YOLOv11\ultralytics\nn\tasks.py中的模型配置部分下面代码

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

第四:将模型配置文件复制到YOLOV11.YAMY文件中

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

     第五:运行成功

from sympy import false

from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

    # 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO(r"E:\Part_time_job_orders\YOLO\YOLOv11\ultralytics\cfg\models\11\yolo11_GBC.yamy")\
        .load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt')  # build from YAML and transfer weights

    results = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv11\ultralytics\cfg\datasets\VOC_my.yaml',
                          epochs=300,
                          imgsz=640,
                          batch=64,
                          # cache = False,
                          # single_cls = False,  # 是否是单类别检测
                          # workers = 0,
                          # resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
                          amp = True
                          )

相关文章:

  • OpenEuler运维实战-(OS|硬件信息-软件信息-日志)信息收集!
  • Linux服务器网卡深度解析:从ifconfig输出到生产环境性能调优实战
  • 力扣刷题Day 15:二叉树中的最大路径和(124)
  • [ctfshow web入门] web32
  • 【场景应用1】微调语言模型:从数据加载到模型训练、模型评估
  • VMware Workstation/Player 在 Windows 上的完整安装与使用指南
  • [bug]解决vscode+cline使用mcp服务报错spawn npx enoent spawn npx enoent
  • 7. RabbitMQ 消息队列——延时队列(Spring Boot + 安装message_exchange“延迟插件“ 的详细配置说明)的详细讲解
  • 进程通信的学习
  • 多值字典表设计:优雅处理一对多关系的数据库方案
  • C++基础精讲-01
  • Ubuntu环境下,EDK2+EmulatorPkg编译运行UEFI固件
  • Ollama教程与大模型本地部署指南
  • 32 python json
  • PostgreSQLs数据库考试
  • MySQL 中的聚簇索引和非聚簇索引有什么区别?
  • Redis的过期和内存淘汰策略
  • 新技术学习方法
  • 卷积神经网络 CNN 系列总结(一)---基础知识点
  • ubuntu22.04 安装-ODBC驱动-SQLserver
  • 36氪国外做网站/谷歌chrome
  • 国内空间没备案可以打开网站吗/安卓手机优化大师官方下载
  • 潍坊做外贸网站建设/自己搭建网站需要什么
  • 网站建设 昆明/郑州百度seo排名公司
  • 无锡建设公司网站/百度网址查询
  • 插画培训班学费多少/seo排名优化公司价格