YOLO11 改进、魔改| 曲率引导令牌注意力CGTA,以曲率为几何先验,引导令牌筛选与注意力聚合,以近线性复杂度高效交互全局特征,精准保留曲线、边缘,兼顾计算效率与几何保真
在遥感图像超分辨率任务中,道路、河流、建筑边缘、屋顶轮廓等曲线拓扑结构是制图、地理监测、目标识别等下游任务的核心依据,这类结构在下采样过程中极易出现混叠、断裂与细节失真问题。传统 Transformer 的全局自注意力存在O (N²) 二次复杂度,无法适配大尺寸遥感图像的计算需求;窗口式注意力虽能提升效率,却难以实现长距离曲线结构的全局关联;现有令牌选择类高效注意力机制多为纯内容自适应设计,缺乏曲率这类几何先验引导,易导致曲线边缘锯齿化、线状地物断开,无法兼顾计算效率与遥感图像核心的几何拓扑保真需求。为此,曲率引导令牌注意力(CGTA)作为 CGA 架构的全局核心分支被提出,专门解决遥感图像超分中高效全局特征交互与曲线结构保真的核心矛盾。


1. CGTA原理
CGTA 以曲率作为核心几何归纳偏置,采用两阶段稀疏全局交互的核心原理,打破传统全局注意力的复杂度瓶颈,同时保障曲线结构的长距离一致性。第一阶段通过曲率感知 + 可靠性融合的策略,筛选出包含曲线、边缘、拐点等关键结构的高信息量令牌,主动剔除冗余背景特征;第二阶段仅在筛选后的少量令牌上执行标准注意力与曲率调制注意力的混合交叉注意力,既保留标准注意力的特征稳定性,又通过曲率引导强化曲线敏感区域的特征聚合,将注意力计算复杂度从 O (N²) 降至近线性的 O (Nk)(k≪N),在低计算开销下实现长距离曲线结构的连贯关联与几何保真。

CGTA 采用双阶段模块化轻量化结构,可无缝嵌入 Transformer 与 CNN 架构,整体分为两大核心模块:
-
Stage1 曲率感知令牌选择复用局部曲率代理生成分支,经深度卷积、通道均值计算、层归一化生成曲率显著图,定位曲线与边缘区域;并行通过保留门生成可靠性图,抑制噪声与异常激活;将两类信息融合为令牌选择分数,依托自适应 KTtokens 策略(根据图像尺寸动态确定令牌数量 k)筛选 Top-k 高价值令牌,同步收集令牌特征、曲率显著值、选择置信度三类关键信息,完成冗余特征压缩。
-
Stage2 混合交叉注意力聚合对全图特征生成降维查询 Q,降低计算量;对选中令牌生成键 K、值 V,并以选择置信度对 V 进行门控,弱化低价值令牌的贡献;分别计算标准注意力与曲率调制注意力的权重,通过可学习门限完成两类注意力的融合;最终以混合注意力完成交叉特征聚合,输出兼顾全局关联、结构保真与计算高效性的特征图。
2. YOLO与CGTA的结合
将 CGTA 嵌入 YOLO 检测框架,可通过曲率感知令牌筛选大幅压缩大尺度遥感图像的特征计算量,有效提升模型推理速度与显存利用率,完美适配 YOLO 的实时检测需求。同时曲率引导的注意力能强化目标边缘与细长结构的特征表达,助力 YOLO 更精准地定位小目标、密集目标及曲线状地物,在不显著增加计算开销的前提下实现检测效率与精度的双重提升。
3. CGTA 二次创新-ACGTA
-
多尺度曲率感知CGTA 采用单一尺度卷积提取曲率特征,对遥感影像多尺度几何结构的刻画能力有限;ACGTA 通过多尺度深度卷积构建曲率特征融合机制,能够全面感知不同尺寸的线状与弯曲结构。
-
双向注意力交互CGTA 仅依赖全局交叉注意力完成特征聚合,缺少局部结构关联建模;ACGTA 设计全局与局部协同的双向注意力,兼顾长程依赖与局部曲率连续性,让结构重建更规整。
-
曲率门控特征增强CGTA 未对高曲率区域做差异化增强,关键细节表现力不足;ACGTA 利用曲率门控实现特征自适应加权,突出边缘、拐角等关键区域,同时抑制背景噪声。
-
维度鲁棒性优化CGTA 在维度变换与位置编码中易出现张量不匹配问题;ACGTA 统一维度计算逻辑,修复维度冲突缺陷,提升模块在不同输入尺寸下的稳定性与兼容性。
-
精细化特征调制CGTA 的注意力调制方式较为简单,自适应能力较弱;ACGTA 引入可学习权重对局部注意力进行动态加权,让特征融合更灵活,提升模型泛化与表达能力。
4.CGTA代码部分
YOLO11|YOLO12|YOLO26|改进| 曲率引导令牌注意力CGTA,以曲率为核心几何先验,主导特征令牌筛选与注意力聚合_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili
YOLOv11 原理+代码 详细剖析_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1HnosYREZJ/?spm_id_from=333.1387.collection.video_card.click
代码获取:YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve
5. CGTA到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(r"/home/tgf/tgf/yolo/model/YOLO11_All/ultralytics/cfg/models/11/yolo11_CGTA.yaml")\
# .load(r'/home/tgf/tgf/yolo/model/YOLO11_All/yolo11n.pt') # build from YAML and transfer weights
results = model.train(data="/home/tgf/tgf/yolo/model/YOLO11_All/ultralytics/cfg/datasets/VOC_my.yaml",
epochs=300,
imgsz=640,
batch=4,
# ema=False,
# cache = False,
# single_cls = False, # 是否是单类别检测
# workers = 0,
# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
amp = False
)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)