随着深度学习发展,在图像恢复领域,传统方法逐渐被基于深度学习的模型取代。Transformer 在处理长距离依赖关系上展现优势,Restormer 应运而生,旨在利用 Transformer 架构更有效地处理高分辨率图像恢复任务,为图像融合等应用提供更好的特征提取基础,后续被引入到本文的医学图像融合方法中,用于处理未对齐的多模态医学图像。我们将其与C3K2模块相结合,提取图像特征。
上面是原模型,下面是改进模型
1. Restormer 介绍
Restormer 主要由多尺度密集 Transformer 注意力模块(MDTA)和门控双线性特征网络(GDFN)构成,以下是详细介绍:
1. 多尺度密集 Transformer 注意力模块(MDTA)
核心机制:MDTA 利用多头自注意力机制(Multi - Head Self - Attention),从不同子空间捕捉特征间的关系,以增强特征表达能力。自注意力机制能够计算输入特征序列中每个位置与其他位置的关联程度,从而有效建模长距离依赖关系。
具体操作:在 MDTA 中,输入特征被线性投影到多个头(head),每个头独立地计算注意力,然后将结果拼接并再次投影,得到最终输出。这种多头设计允许模型从不同角度捕捉特征间的关系,提高特征表示的丰富性。
2. 门控双线性特征网络(GDFN)
核心机制:GDFN 用于对 MDTA 输出的特征进行进一步处理,它通过门控机制(gating mechanism)控制特征的流动和融合,以增强模型对重要特征的捕捉能力。
模块,构建出一个层次化的特征提取网络,能够从输入图像中提取不同层次和尺度的特征,为后续的图像恢复、融合等任务提供丰富的特征表示。 从图中可以看到,在医学图像融合应用里,Restormer 作为 Encoder 的一部分,对输入图像进行特征提取,其输出的特征后续参与到模态差异消除、特征对齐和融合等操作中。
具体操作:GDFN 通过双线性变换(bilinear transformation)对输入特征进行变换,并使用门控单元(如 sigmoid 函数)对变换后的特征进行加权,从而实现对不同特征的选择性增强或抑制。在整体结构中,Restormer 通过堆叠多个 MDTA 和 GDFN
2. YOLOv11与Restormer 的结合
可以在YOLOv11原有的局部特征基础上,增加对全局特征的关注,使特征表达更加丰富和准确。
3. Restormer 代码部分
YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub
YOLOv11全部代码,现有几十种改进机制。
4. 将Restormer 引入到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行成功
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorldif __name__=="__main__":# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型model = YOLO(r"D:\model\yolov11\ultralytics\cfg\models\11\yolo11_Restormer.yaml")\.load(r'D:\model\yolov11\yolo11n.pt') # build from YAML and transfer weightsresults = model.train(data=r'D:\model\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)