YOLO12 改进、魔改|低分辨率自注意力机制LRSA,增强全局上下文建模能力和局部特征,提高小目标和多尺度的检测能力

          语义分割、目标检测等密集预测任务既需要高分辨率特征以保证像素级细节的准确性,又需要全局上下文信息以理解场景中物体的相互关系。传统视觉 Transformer 的自注意力机制虽能建模全局依赖,但计算为二次复杂度,其成本随输入分辨率增长呈二次方剧增,形成显著的计算瓶颈。现有解决方案中,窗口自注意力(如 Swin Transformer)局限于局部窗口,难以捕捉全局关系;基于下采样的自注意力(如 SegFormer)仅对 key 和 value 下采样,其长度仍随输入分辨率线性增加,计算成本仍较高。为突破这一限制,Low-Resolution Self-Attention(LRSA)被提出,旨在以极低计算成本实现全局上下文建模,同时兼顾局部细节捕捉。​​​

1.LRSA原理     

        LRSA 的核心思路是将自注意力的计算限制在固定的低分辨率空间中,彻底摆脱输入分辨率对计算成本的影响。具体而言,它不再在原始高分辨率特征上直接计算自注意力,而是先将输入特征(包括 query、key、value)统一下采样到一个固定的低分辨率大小m(如16×16),在该低分辨率空间中完成自注意力计算后,再通过双线性插值将结果恢复到原始特征尺寸。由于m是固定常数,几乎不随输入分辨率变化,大幅降低了计算成本。同时,为弥补低分辨率可能丢失的局部细节,LRSA 引入 3×3 深度可分离卷积(DWConv),通过残差连接与自注意力模块结合,在高分辨率空间中捕捉局部空间相关性,形成 “低分辨率全局建模 + 高分辨率局部捕捉” 的互补机制。 

LRSA 的结构以 “高效全局建模 + 精准局部捕捉” 为核心,通过多模块协同实现低计算成本下的优质特征提取,具体包括以下几个关键部分:

  1. 特征下采样模块
    首先对输入的高分辨率特征图进行统一的下采样处理,将其压缩到一个固定的低分辨率尺寸(例如 16×16)。这一步操作覆盖了后续用于计算自注意力的查询(query)、键(key)和值(value),确保三者均在相同的低分辨率空间中处理,彻底摆脱输入原始分辨率对计算量的影响。

  2. 低分辨率自注意力计算模块
    在经过下采样的低分辨率特征上,进行多头自注意力的计算。由于特征已被压缩到固定尺寸,无论输入图像的原始分辨率如何变化,这一步的计算量都保持稳定,避免了传统自注意力随分辨率增长而激增的问题,从而高效捕捉全局范围内的特征关联。

  3. 特征上采样模块
    完成低分辨率空间的自注意力计算后,通过双线性插值将结果重新放大到与输入特征图相同的尺寸,以满足后续残差连接和特征融合的需求。这一步操作轻量,计算成本随输入分辨率的增长仅呈线性增加,对整体效率影响极小。

  4. 局部细节增强模块
    为弥补低分辨率处理可能损失的局部细节,LRSA 在自注意力计算的前后分别嵌入了 3×3 深度可分离卷积(DWConv),并配合残差连接:

    • 在自注意力模块之前,通过卷积对输入特征进行局部信息提取,增强特征的空间相关性,同时提供类似位置编码的作用;
    • 在自注意力模块之后的前馈网络(FFN)中,同样在两个线性层之间插入深度可分离卷积,进一步强化对局部纹理、边缘等细节的捕捉。
      这些卷积操作的计算成本较低,不会显著增加整体复杂度,却能有效补充低分辨率自注意力在局部细节上的不足。

2. LRSA习作思路​

LRSA 在目标检测中的优点

        在目标检测中,LRSA 能以极低的计算成本高效建模全局上下文,帮助区分相似类别目标(如不同类型的小尺寸车辆)并理解目标与背景的空间关系,同时其嵌入的深度可分离卷积可精准捕捉目标边缘、纹理等局部细节,提升检测框定位精度。尤其在高分辨率输入场景下,LRSA 的计算成本几乎不随分辨率增加而增长,可在保证实时性的同时,为多尺度目标(从大目标到小目标)的检测提供充足的全局与局部信息支持。

LRSA 在语义分割中的优点

        对于语义分割,LRSA 通过低分辨率空间的全局自注意力有效建模场景中物体的全局关联(如 “天空” 与 “建筑物” 的上下位置关系),缓解局部特征的歧义性;同时,高分辨率空间的深度可分离卷积能保留像素级的局部细节(如物体边界、细微纹理),保证分割结果的精细度。其固定低分辨率的设计大幅降低了全局上下文建模的计算负担,使得模型在处理大尺寸输入图像时仍能保持高效,平衡了分割精度与计算效率。

3. YOLO与LRSA的结合     

        YOLO 系列模型注重实时性,LRSA 的低计算复杂度可在不显著增加推理延迟的前提下,为 YOLO 引入全局上下文建模能力,帮助模型更好地理解目标与场景的关系(如遮挡场景下的目标识别);同时,其深度可分离卷积能增强局部特征捕捉,提升小目标和密集目标的检测精度,进一步优化 YOLO 的速度与精度平衡。

4. LRSA代码部分

YOLO11|YOLO12|改进|低分辨率自注意力机制LRSA ,兼顾全局上下文建模与局部细节捕捉,提高小目标、模糊目标检测能力_哔哩哔哩_bilibili

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

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

5. LRSA引入到YOLOv12中

第一: 先新建一个v12_changemodel,将下面的核心代码复制到下面这个路径当中,如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

            ​​​​​​       

第二:在task.py中导入

 ​​​               ​​​​​​​ 

第三:在task.py中的模型配置部分下面代码

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

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

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

     ​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码


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

if __name__=="__main__":

    # 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO("/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/models/12/yolo12_PoolingAttention.yaml")
        # .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weights

    results = model.train(data="/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/datasets/fire_smoke.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 = True
                          )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值