传统基于卷积神经网络(CNN)的方法因卷积的局部机制,在捕捉全局依赖上受限,即便采用复杂网络结构提升性能,也增加了计算资源消耗。基于 Transformer 的方法虽能有效捕捉长距离依赖,但全局自注意力计算复杂度高,现有改进方法如分块处理存在内容不可知等局限。基于聚类的方法,像 SPIN,在长距离信息传播和推理速度上有缺陷,ATD 则因多注意力机制导致计算负担大。这些问题促使了 TAB 的提出,以实现高效的长距离信息交互和快速推理。
上面是原模型,下面是改进模型

1. 令牌聚合模块TAB介绍
基于内容感知的思想,通过计算图像令牌(token)与令牌中心的相似度,将内容相似的令牌聚合在一起。借鉴 Routing Transformer,共享令牌中心并在训练阶段用指数移动平均(EMA)更新,以学习全局令牌中心。基于此,将图像令牌划分为内容相似的组,进而实现更精准的长距离信息交互。
从提供的图片来看,TAB模块主要包含以下几个部分:
主要由四部分构成。Content-Aware Token Aggregation(CATA)模块负责获取初始令牌中心,按相似度划分令牌组,为解决组内令牌数量不均衡问题还会进一步划分子组,提升并行效率。Intra-Group Self-Attention(IASA)将子组投影得到查询(Q)、键(K)、值(V)矩阵,允许子组的 Q 关注相邻子组的 K,增强并行效率的同时减轻内容相似令牌被拆分的影响。Inter-Group Cross-Attention(IRCA)利用训练阶段令牌中心聚合的全局先验信息,在子组和令牌中心间进行交叉注意力计算,增强全局信息交互。1×1 卷积则用于融合前面模块的输出特征 ,优化特征表达。
2. YOLOv11与令牌聚合模块TAB的结合
在 YOLOv11 C3K2 中添加 TAB,能够凭借其内容感知令牌聚合机制,更高效地捕捉长距离依赖关系,整合全局信息,增强对不同尺度目标特征的提取与融合,让模型对大小目标的检测精度得到提升。同时,TAB 优化计算方式,减少冗余计算,提升模型推理速度,使 YOLOv11在保持高检测性能的基础上,能更快速地处理图像,满足实时检测的需求 。
3. 令牌聚合模块TAB代码部分
视频讲解:
YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub
用一篇论文教您如何使用YOLOv11改进模块写一篇1、2区论文_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili
YOLOv11全部代码,现有几十种改进机制。
4. 令牌聚合模块TAB引入到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_TAB.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
)