本文教的是方法,也给出几种改进方法,二次创新结构,百变不离其宗,一文带你改进自己模型,科研路上少走弯路。
前言
在医学图像分割任务中,病灶区域往往形态各异、边界模糊,且经常与周围组织的对比度较低,这要求模型具备极强的特征提取和细节辨别能力。传统的U-Net网络虽然通过跳跃连接融合了多尺度特征,但在处理复杂语义和精细边缘时仍有不足,尤其是在捕获长距离依赖和全局上下文信息时常常受到局部感受野的限制。为了解决这些痛点,本文引入了在计算机视觉领域表现出色的 DAT(Deformable Attention Transformer)中的核心机制——可变形注意力机制(Deformable Attention, 简称 DA)。DA 巧妙地将可变形卷积的灵活性与注意力机制的全局感受野相结合,通过数据驱动的方式动态分配注意力键值对的位置,从而自适应地聚焦于图像中的关键区域(如不规则的病灶边缘)。这种创新设计不仅使得网络能够有效捕捉长距离关系,还能避免全局注意力带来的巨大计算开销,让 U-Net 模型在医学图像病灶分割上取得显著突破!
论文发表信息
- 论文标题:Vision Transformer with Deformable Attention
- 发表会议/期刊:CVPR 2022(计算机视觉顶会)
- 作者单位:清华大学(Tsinghua University)等
- 核心贡献:提出了一种可变形注意力机制(Deformable Attention),通过以数据依赖的方式自适应地学习参考点偏移量,使注意力模块能够动态聚焦于特征图中的关键区域,从而在保持全局感受野的同时有效降低了计算复杂度。
- 论文地址:https://arxiv.org/abs/2201.00520
- 代码地址:https://github.com/LeapLabTHU/DAT
DA 核心模块理论
DA(可变形注意力)机制的核心思想在于以数据驱动的方式动态分配注意力机制中键(Key)和值(Value)的位置,从而实现对关键特征的自适应聚焦。传统的全局注意力机制(如原始 ViT)计算复杂度高且容易引入不相关的背景噪声,而 DA 通过以下创新实现破局:
- 动态偏移量学习:DA 模块首先将输入的查询(Query)特征通过一个轻量级的卷积网络(Offset Network)来预测参考点的偏移量。这些偏移量使得参考网格点发生形变,从而精准地覆盖在图像中富含信息的区域(例如病灶的轮廓或关键结构)。
- 双线性插值采样:基于学习到的偏移量,DA 使用双线性插值(Grid Sample)从原始特征图中提取出形变后的键(Key)和值(Value),随后在这些被高度浓缩的局部关键特征上执行注意力计算。
作为一个灵活且高效的注意力模块,DA 能够让模型在大大降低计算复杂度的前提下,具备捕获长距离依赖和不规则病灶特征的能力,非常适合应用于复杂多变的医学图像分割任务。
训练代码参考和下载:手把手带你完成基于Unet的医学图像分割系统设计与实现,Unet网络架构讲解,Unet复现,使用vibe coding工具,开发一个完整系统,包含完整源码
文章目录
- 前言
- 论文发表信息
- DA 核心模块理论
- 🐴一、实战细节
- ⚡⚡实验结果画图
- ⚡⚡DA模块代码
- ⚡⚡使用教程
- ☑️步骤1
- ☑️步骤2
- ☑️步骤3
- ☑️步骤4
- 🐴二、模型结构分析
- ⚡⚡ 注意机制结构分析
- ⚡⚡二次创新实战
- ☑️第一种改进手法
- 📐模块的传参分析教程
- 🐴三、论文常用的评估指标
- ☑️像素准确率 (Pixel Accuracy, PA)
- ☑️精确率 (Precision) 与 召回率 (Recall)
- ☑️交并比 (Intersection over Union, IoU)
- ☑️平均交并比 (Mean Intersection over Union, mIoU)
- ☑️Dice系数 (Dice Coefficient / F1 Score)
- 总结
🐴一、实战细节
⚡⚡实验结果画图
画图效果如下,代码可一键运行
画图代码:
# -*- coding: utf-8 -*-""" @Auth :落花不写码 @File :画图.py @IDE :PyCharm @Motto :学习新思想,争做新青年 """importmatplotlib.pyplotaspltimportpandasaspdimportos plt.rcParams