当前位置: 首页 > article >正文

【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型

【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型

文章目录

  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
    • 一、介绍
    • 二、联系工作
    • 三、方法
    • 四、实验

Medical SAM Adapter: Adapting Segment Anything Model for Medical Image Segmentation

由于SAM在各种分割任务中的出色能力和基于提示的界面,SAM模型最近在图像分割领域获得了广泛的应用

  

我们提出了医学SAM适配器(Med-SA),而不是对SAM模型进行微调,该适配器使用轻而有效的自适应技术将特定领域的医学知识整合到分割模型中

Med-SA中,我们提出了空间深度转置(SD-Trans)来使2D SAM适应3D医学图像

超提示适配器(hyper - prompt Adapter)来实现提示条件适应

  

17种医学图像分割任务进行了综合评价实验

Med-SA优于几种最先进的(SOTA)医学图像分割方法,同时仅更新2%的参数

  

一、介绍

分割任意模型(SAM)作为一种强大而通用的视觉分割模型获得了极大的关注

它可以根据用户提示生成各种详细的分段掩码

认为它在医学图像分割上的表现欠佳。使医学图像分割具有交互性,例如采用SAM等技术,具有巨大的临床价值

交互式分割可以极大地帮助临床医生有效地从这些复杂的结构中区分目标组织

  

采用像SAM这样的基础交互模型进行临床应用变得至关重要

  

解决这个问题的最先进(SOTA)方法是完全微调香草SAM模型,

  

专门针对医疗数据(Ma和Wang 2023)

预训练的视觉模型对医学图像具有很强的可移植性
  

试图以最小的努力使训练良好的SAM适应医学图像分割

选择使用一种称为自适应的参数有效微调(PEFT)技术对预训练的SAM进行微调
  

Adaption的主要思想是将带有部分参数的Adapter模块插入到原始模型中,只更新少量额外的Adapter参数

自然图像不同,许多医学图像是3D的,比如CT和MRI扫描

  

虽然adaptive在NLP中取得了成功,但将其应用于视觉模型,特别是SAM等交互式视觉模型的研究还很有限

我们提出了一种新的适应框架,称为医学SAM适配器(MedSA)

  

Med-SA仅通过更新总SAM参数的2%的额外参数来实现这种优越的性能。

  
贡献:

  • 以实现高维(3D)医疗数据的分割,解决医学图像模式带来的挑战
  • 提出HyP-Adpt以促进即时条件适应,承认用户提供提示在医疗领域的重要性。(可能需要提示信息)
  • 对17种不同图像模式的医学图像分割任务进行了广泛的实验,清楚地确立了Med-SA优于SAM和以前最先进的方法
      

二、联系工作

交互式分割

  • 交互式分割有着悠久的历史,最初被研究者视为一种优化技术
  • DIOS的开创性工作(Xu et al . 2016)通过集成深度学习并将积极和消极点击作为距离地图
  • Li, Chen,at al.专注于通过预测多种潜在结果并使选择网络或用户从中选择来解决不确定性
  • RITM (2022)和AccuracyNet (Forte et al 2020)引入了使用以前的掩模作为输入
      

然而,尽管交互式医学图像分割在临床实践中起着至关重要的作用,但人们对其的关注却有限

  

Parameter-Efficient重要性

PEFT已被证明是针对特定用途微调大型基本模型的有效策略

  

PEFT方法比完全微调效果更好,因为它们避免了灾难性的遗忘

所有PEFT策略中,Adaption(Hu et al . 2021)不仅在NLP中,而且在计算机视觉中,作为对下游任务的大型基本视觉模型进行微调的有效工具而脱颖而出

Adaption是将SAM带入医学领域的最合适的技术
  

三、方法

SAM架构 提供SAM体系结构的概述

SAM包括三个主要组件:

  • 图像编码器
  • 提示编码器
  • 掩码解码器

  

我们使用了ViT-H/16变体,它采用14×14窗口关注和四个等间隔的全局关注块

如图(a)所示。图像编码器的输出是输入图像的16倍下采样嵌入。

提示编码器可以是稀疏的(点,框)或密集的(掩码)
  

在这里插入图片描述

它将点和框表示为每个提示类型的位置编码和学习嵌入

解码器使用双向交叉注意来学习提示和图像嵌入之间的交互

SAM对图像嵌入进行上采样,MLP将输出标记映射到动态线性分类器,该分类器预测给定目标掩码

  

Med-SA架构

目标是通过微调来增强SAM架构在医学图像分割任务中的医学能力

而不是完全调整所有参数,我们保持预先训练的SAM参数冻结

向下投影使用简单的MLP层将给定的嵌入压缩到较低的维度,而向上投影使用另一个MLP层将压缩的嵌入扩展回其原始维度。

  

在SAM编码器中,我们为每个ViT块使用两个适配器。对于标准ViT块

  • 第一个适配器位于多头注意之后,剩余连接之前
  • 第二个适配器被放置在MLP层的剩余路径中,跟随多头注意
      

第一个适配器用于集成提示嵌入,为了实现这一目标,我们引入了一种新的结构,称为HyPAdpt

第二个适配器以与编码器完全相同的方式部署,以适应mlp增强的嵌入

  

SD-Trans

我们提出了SD-Trans,灵感来自图像到视频的改编

在每个块中,我们将注意力操作分为两个分支:空间分支和深度分支

D对应于操作的数量,允许在N × L上应用交互,捕获和抽象空间相关性作为嵌入

在这里插入图片描述

  

在深度分支中,我们将输入矩阵转置以获得N×D×L,并随后将其馈送到相同的多头注意力中

交互现在发生在D × L上

将深度分支的结果转置回其原始形状,并将其添加到空间分支的结果中,合并深度信息
  

HyP-Adpt

适应在交互式视觉模型中的应用仍然很大程度上未被探索

源任务和下游任务之间的交互行为可能表现出显著差异

在这方面,我们提出了一种名为HyPAdpt的解决方案,旨在实现即时条件适应

  

操作:

  • 仅利用投影和重塑操作从提示嵌入中生成一系列权重映射
  • 权重映射(矩阵乘积)直接应用于适配器嵌入
  • 实现广泛而深入的特征级交互
  • 显著减少了所需参数的数量
      

在这里插入图片描述

减少的适配器嵌入上执行超提示

被连接并缩减为提示嵌入提示。然后我们使用e提示符生成一个权重序列

  
在这里插入图片描述

HyP-Adpt有助于将参数以提示信息为条件,更灵活地适应不同的模式和下游任务。

  

Training Strategy

对于交互式分割,我们在模型训练过程中使用点击提示和边界框(BBox)提示

生成BBox提示,我们采用与SAM相同的方法。但是,由于原始的SAM论文提供了有限的关于单击提示符生成的细节
  

点击提示生成过程背后的基本概念包括使用

  • 积极的点击来指示前景区域
  • 消极的点击来指示背景

  

我们结合随机和迭代的点击采样策略,用这些提示训练模型

我们使用迭代抽样过程合并一些单击。这种迭代采样策略模拟了与真实用户的交互

因为每次新的点击都被放置在由网络使用以前的点击集生成的预测的错误区域中

  

四、实验

在五种不同的医学图像分割数据集上进行了实验

  

ISIC 2019数据集(Milton 2019)上进行了实验。所有的数据集都是公开的

3D医学图像训练,我们使用了16个较小的批处理大小

REFUGE2、TNMIX和ISIC数据集,我们训练了40个epoch的模型

BTCV和BraTs数据集,我们将训练扩展到60个epoch

  • 随机1个正点,记为“1点”
  • 3个正点,记为“3点”
  • 与目标重叠50%的边界框,记为“BBox 0.5”
  • 与目标重叠75%的边界框,记为“BBox 0.75”

  

Comparing with SOTA on Abdominal Multi-organ Segmentation

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A%5CUsers%5Cisipa%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20241111211344746.png&pos_id=img-tQTpC1ga-173133117601
  
![在这里插入图片描述


http://www.kler.cn/a/395832.html

相关文章:

  • 【快捷入门笔记】mysql基本操作大全-SQL表
  • Vim 编辑器学习笔记
  • Llama微调测试记录
  • LeetCode 86.分隔链表
  • 建筑施工特种作业人员安全生产知识试题
  • 基于标签相关性的多标签学习
  • HTML and CSS Support HTML 和 CSS 支持
  • 安装nodejs
  • sslSocketFactory not supported on JDK 9+
  • [前端面试]HTML AND CSS
  • Android OpenGL ES详解——实例化
  • stm32教程:OLED屏显示字母、汉字、图片工程讲解
  • 第1章: 初识Pillow(PIL)
  • Docker 容器常见故障排查及处理
  • 学习用 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习计划及其周期
  • 游戏引擎学习第12天
  • 掌握Electron工具链:在Windows操作系统上无缝开发MacOS软件
  • 浅谈React的虚拟DOM
  • Apache Paimon、Apache Hudi、Apache Iceberg对比分析
  • Spring Cloud Vault快速入门Demo
  • C++ 错题本 MAC环境下 unique_lock try_lock_for函数爆红问题
  • emp.dll文件丢失的几种方法-常见问题
  • Java之JDBC,Maven,MYBatis
  • Java多线程八股(一), 锁策略,synchronized锁策略详解
  • Tiktok对接和内容发布申请流程
  • sql专场练习(二)(1-5)