YOLOv8模型改进 第三十二讲 添加Transformer Self Attention TSA 解决CNN过程中特征丢失的问题
在医学图像分割过程中,卷积操作的局部性导致全局信息缺失,连续下采样导致细节丢失,以及跳跃连接未能有效融合多尺度特征。TSA通过自注意力机制捕捉全局上下文,结合位置编码保留空间信息,同时多头机制增强特征表达能力。


1. TSA介绍
在医学图像分割中,传统方法面临长距离特征依赖建模难、局部信息传递利用不足和网络结构缺陷等问题,TSA 通过多头自注意力机制和位置编码捕捉长距离依赖、优化特征表示。
从提供的图片来看,TSA模块主要包含以下几个部分:
TSA 本质上属于自注意力机制。我分享这篇论文的核心目的,是为了给大家提供撰写论文的思路,尤其是关于如何挖掘创新点。在运用自注意力机制进行研究时,最常见的应用方向是引入上下文信息以及捕捉长距离依赖关系,以此解决 CNN 网络仅能提取局部特征的局限性问题。而这篇论文给出了一个新的思考角度:
在医学图像分割领域,传统卷积神经网络通常会运用卷积和池化操作。其中,卷积是通过在局部感受野内对像素进行加权求和的方式来提取图像特征,池化则主要用于降低特征图的分辨率,进而减少计算量。然而,在这种处理过程中,低层次特征在向后续卷积层传递时会暴露出问题。以常用的最大池化或平均池化为例,这些池化操作在降低分辨率的同时,会舍弃部分信息,最终导致局部细节的丢失。例如在对细胞核进行分割时,由于池化操作的影响,细胞核的一些细微特征可能无法保留下来,这就会干扰对细胞核边界和形态的精确识别,进而影响分割的准确性。
2. 接下来,我们将详细介绍如何将TSA合集成到 YOLOv8 模型中
这是我的GitHub代码:tgf123/YOLOv8_improve (github.com)
这是改进讲解:YOLOv8模型改进 第三十二讲 添加Transformer Self Attention TSA 解决CNN过程中特征丢失的问题_哔哩哔哩_bilibili
2.1 如何添加
1. 首先,在我上传的代码中yolov8_improve中找到TSA.py代码部分,它包含两个部分一个是TSA.py的核心代码,一个是yolov8模型的配置文件。
2. 然后我们在ultralytics文件夹下面创建一个新的文件夹,名字叫做change_models, 然后再这个文件夹下面创建TSA.py文件,然后将TSA的核心代码放入其中
3. 在 task.py文件中导入C2f_TSA, ScaledDotProductAttention
4. 然后将模块添加到下面当中
5. 最后将配置文件复制到下面文件夹下
6. 运行代码跑通