SAM类医学图像分割选读概述

本文围绕Segment Anything Model (SAM)在医学图像分割中的应用展开,介绍了多篇相关论文。包括提出SAMAug方法增强输入数据、验证SAM在医学数据上的表现、开发医学SAM适配器等。还探讨了SAM应用的多种方式、面临的挑战及未来发展方向,如建立大规模数据集、整合临床知识等。

1.Input augmentation with sam: Boosting medical image segmentation with segmentation foundation model

Zhang Y, Zhou T, Wang S, et al. Input augmentation with sam: Boosting medical image segmentation with segmentation foundation model[C]//International Conference on Medical Image Computing and Computer-Assisted Intervention. Cham: Springer Nature Switzerland, 2023: 129-139.【开源】

这篇文章想法比较好,既然最近的工作表明,单独使用 SAM,如果没有进一步的微调和域适应,通常无法为医学图像分割任务提供令人满意的结果(在后面几篇文章中都提到了这个观点), 你就将其用于提供更好的先验信息。这里具体解读一下:

【论文概述】

本文提出了一种名为SAMAug的新方法,以提升医学图像分割的效果。这种方法利用了一个称为Segment Anything Model (SAM)的大型基础模型,通过增强医学图像输入来改进常用的医学图像分割模型。尽管SAM在医学图像数据上直接应用时并不立即产生高质量的分割效果,但它生成的掩膜特征和稳定性评分对于构建和训练更好的医学图像分割模型非常有用。文中通过在三个分割任务上的实验,展示了SAMAug方法的有效性。这项工作的主要贡献包括:利用SAM提供的分割输出与原始图像输入的结合,以及为医学图像分割模型构建SAM增强输入图像。此外,还对SAM在医学图像分析中的潜力进行了进一步探索。

image-20231227095927021

【方法】

image-20231227095906617

  1. 分割和边界先验图:首先,使用Segment Anything Model (SAM)对医学图像生成分割掩膜。SAM在网格提示设置下为图像的所有可能位置生成分割掩膜。这些掩膜随后被存储在一个列表中,并用于创建分割先验图,同时利用SAM生成的稳定性分数来确定掩膜的值。此外,还生成一个边界先验图,根据SAM提供的掩膜画出每个分割掩膜的外部边界。
  2. 增强输入图像:将分割先验图添加到原始图像的第二通道,边界先验图添加到第三通道。对于灰度图像,将创建一个三通道图像,包括灰度原始图像、分割先验图和边界先验图。通过这种方式,为训练集中的每个图像生成其增强版本。
  3. 使用SAM增强的图像进行模型训练:在训练集的每个图像样本上应用输入增强,从而获得一个新的增强训练集。这个增强的训练集用于训练医学图像分割模型。
  4. 模型部署(测试):在模型部署(测试)阶段,输入同样需要是SAM增强的图像。如果训练模型时同时使用了原始图像和SAM增强图像,就可以在推理时充分发挥训练好的模型的潜力。一种简单的使用方法是对每个测试样本进行两次推理:第一次使用原始图像作为输入,第二次使用SAM增强的图像作为输入。最终的分割输出可以通过两个输出的平均集成来生成。

总的来说,这个方法通过利用SAM生成的先验信息,增强医学图像的输入数据,以改进医学图像分割模型的训练和性能。

【实验结果】

可以看出经过这种方式处理,涨点 很明显

image-20231227100125630 image-20231227100144721

2. Segment anything model for medical images?

Huang Y, Yang X, Liu L, et al. Segment anything model for medical images?[J]. Medical Image Analysis, 2023: 103061.[【开源】](https://github.com/yuhoo0302/
Segment-Anything-Model-for-Medical-Images.)

本文是直接实验验证,没有改变SAM,不过多解读,只关注结论

为了全面验证SAM在医学数据上的表现,收集并整理了53个开源数据集,并建立了一个大型医学分割数据集,包含18种成像模式、84种物体、125个物体-模式配对目标、1050K 2D图像和6033K掩膜。对所谓的COSMOS 1050K数据集上的不同模型和策略进行了全面分析。发现主要包括

  • SAM在某些特定物体上表现出色,但在其他情况下表现不稳定、不完美甚至完全失败。

  • 搭载大型ViT-H的SAM总体性能优于搭载小型ViT-B的。

  • SAM在手动提示(尤其是框提示)下的表现优于"Everything"模式。

  • SAM可以帮助人类进行高质量、节省时间的标注。SAM对中心点和紧凑框提示的随机性敏感,可能会导致严重的性能下降。

  • SAM比只用一个或几个点的交互式方法表现更好,但随着点数增加会被超越。

  • SAM的性能与不同因素(包括边界复杂性、强度差异等)相关。

  • 对SAM进行针对特定医学任务的微调可以提高平均DICE性能,分别为ViT-B提高4.39%,ViT-H提高6.68%

3.Segment anything model for medical image analysis: An experimental study

Mazurowski M A, Dong H, Gu H, et al. Segment anything model for medical image analysis: an experimental study[J]. Medical Image Analysis, 2023, 89: 102918.【开源】

本文是直接实验验证,没有改变SAM,不过多解读,只关注结论

SAM的性能取决于数据集和任务的不同而有很大差异,对于某些医学影像数据集表现出色,而对于其他数据集则表现一般或较差。SAM在处理具有明确轮廓和较少模糊性提示的对象(如CT扫描中的器官分割)时表现更好。此外,SAM的性能在使用框提示时比使用点提示时更为突出。尽管SAM在单点提示设置中优于类似方法,但在提供多点提示进行迭代时,SAM的性能通常只有轻微提升,而其他方法的表现则有显著提高。研究还提供了SAM在所有测试数据集上的性能示例,包括迭代分割和在提示模糊情况下的行为。研究结论指出,SAM在特定医学影像数据集上展示了令人印象深刻的零样本分割性能,但在其他数据集上表现适中至较差,其在自动化医学影像分割中具有重要潜力,但在使用时需要谨慎。

4.Segment Anything in Medical Images

Ma J, Wang B. Segment anything in medical images[J]. arXiv preprint arXiv:2304.12306, 2023.【开源】

本文是直接实验验证,没有改变SAM,不过多解读,只关注结论和局限性。

贡献:本文介绍了MedSAM(医学图像分割的基础模型),这是一种为医学图像分割设计的创新工具。MedSAM利用了超过一百万张医学图像构建的大规模数据集,能够在多种分割任务中显示出卓越的性能。与传统的专门化模型相比,MedSAM不仅展示了更好的通用性,而且在某些情况下甚至超越了这些模型。MedSAM的关键特点包括能够处理各种解剖结构、病理条件和医学成像方式,以及对用户提示(如边界框)的响应能力,从而实现精确的目标区域分割。

局限性:训练集中的模态不平衡,其中 CT、MRI和内窥镜图像在数据集中占主导地位。这可能会影响模型在较少代表性的模式(例如乳房X光检查)上的性能。另一个限制是它在分割血管状分支结构方面存在困难,因为在此设置中边界框提示可能不明确。

5.Medical sam adapter: Adapting segment anything model for medical image segmentation

Wu J, Fu R, Fang H, et al. Medical sam adapter: Adapting segment anything model for medical image segmentation[J]. arXiv preprint arXiv:2304.12620, 2023.【开源】

本文同样不直接在医学数据集上微调,而是通过适配器改进。

【论文概述】

这篇论文的核心思想是开发和验证一种名为“医学SAM适配器”(Medical SAM Adapter, MSA)的新技术,用于提升医学图像分割的效能。作者们指出,虽然“分割任何事物模型”(Segment Anything Model, SAM)在图像分割领域表现出色,但在医学图像分割方面却表现不佳。为了解决这个问题,他们提出了一种简单但有效的适配技术,通过整合特定于医学领域的知识到分割模型中。MSA展示了在19种医学图像分割任务上的卓越性能,包括CT、MRI、超声波图像、眼底图像和皮肤镜图像等多种图像模态。这项工作不仅展示了使用参数高效的适配技术可以显著提高原始SAM模型的性能,而且还表明将强大的通用分割模型转移到医学应用领域是可行的。

【方法】

image-20231227105255230

  1. SAM架构的概述:SAM模型包括三个主要组件:图像编码器、提示编码器和掩码解码器。图像编码器基于标准的视觉变换器(Vision Transformer, ViT),由掩码自编码器(MAE)预训练。此外,论文专注于稀疏编码器,将点和框表示为位置编码,并与每种提示类型的学习嵌入相加。
  2. 适配器的部署:在SAM编码器的每个ViT块中部署了两个适配器(bottleneck结构:down-projection, ReLU activation, and up-projection)。第一个适配器位于多头注意力之后和残差连接之前,第二个适配器位于多头注意力后的MLP层的残差路径中。在SAM解码器中,每个ViT块部署了三个适配器。没有完全改变所有参数,而是冻结预训练的 SAM 参数并插入适配器模块进行微调。
  3. 训练策略:作者使用医学图像对模型编码器进行预训练,包括四个医学图像数据集:RadImageNet(包含1.35百万放射影像),EyePACSp(包含88702张彩色眼底图像),BCN-20000和HAM-10000(共约30000张皮肤镜图像)。
  4. 自监督学习方法:与SAM使用的MAE预训练不同,本文采用了多种自监督学习方法进行预训练,包括对比嵌入混合(Contrastive Embedding-Mixup, e-Mix)和打乱嵌入预测(Shuffled Embedding Prediction, ShED)。
  5. 针对医学图像的调整:虽然SAM在自然图像上表现出色,但在医学图像分割上表现不佳,主要原因是缺乏针对医学应用的训练数据。为此,本文尝试以最小的努力将SAM扩展到基于提示的医学图像分割。

6.Towards Segment Anything Model (SAM) for Medical Image Segmentation: A Survey

Zhang Y, Jiao R. Towards Segment Anything Model (SAM) for Medical Image Segmentation: A Survey[J]. arXiv preprint arXiv:2305.03678, 2023.【开源】

【文章概述】

尽管SAM在自然图像分割中表现出色,但由于医学图像与自然图像在结构复杂度、对比度和观察者间可变性方面的显著差异,SAM在医学图像分割中的适用性尚不清楚。这篇综述文章提供了对SAM在医学图像分割任务中应用的全面了解,包括其现有的性能、挑战、改进方向以及未来的发展潜力。

【论文中提到的将SAM应用的医学领域的几种方式】

  • 提高对不同提示的鲁棒性

    由于SAM直接应用于医学图像分割的性能不令人满意,许多研究集中于微调SAM的一小部分参数,如图像编码器、提示编码器和掩码解码器。这种微调的目的是提高SAM在特定医学图像分割任务上的可靠性和效果。

  • 将 SAM 的可用性扩展到医学图像

    医学图像通常有特定的格式,如NII和DICOM。为了简化SAM在这些格式上的使用,一些研究将SAM集成到常用的医学图像查看器中,例如3D Slicer,从而使研究人员能够在0.6秒的延迟内对医学图像进行分割。这种集成使得SAM能够自动地应用于连续的切片,从而提高其在医学图像处理中的实用性。

  • 提高对不同提示的鲁棒性

    尽管在医学数据集上微调SAM可以提高性能,但它仍然需要使用手动给出的框或点,这使得实现完全自动的医学图像分割变得困难。此外,最终的分割结果高度依赖于输入的提示,而且模型对错误的提示更为敏感。这表明需要进一步的方法来提高SAM对不同提示的鲁棒性。

  • 利用SAM进行输入增强

    由于SAM在直接应用于需要领域特定知识的医学图像分割任务时表现不佳,直接利用SAM生成的分割掩码来增强原始的医学图像输入。这种输入增强是通过融合功能实现的,目的是利用SAM生成的分割掩码来改善原始医学图像的分割性能。

【未来的发展】

  1. SAM在医学图像分割的应用: 直接应用SAM于医学图像分割时,其性能在不同数据集和任务中表现出显著差异。SAM在处理具有不规则形状、弱边界、小尺寸或低对比度的对象时可能会产生不良结果甚至完全失败。对于大多数情况,SAM的分割性能不足以满足特别是在医学图像分割任务中对极高精度的需求。研究表明,适当的微调策略可以在一定程度上改善SAM在医学图像上的分割结果,使其与领域特定模型相媲美。
  2. 建立大规模医学数据集: 由于自然图像与医学图像之间的显著差异,构建大规模医学数据集对于开发通用的医学图像分割模型至关重要。这将有助于SAM等基础模型在医学图像分割领域的未来发展。
  3. 整合临床领域知识: 通过整合与图像信息之外的临床信息,如肿瘤位置、大小和预期效果,可以提高SAM的医学图像分割能力。
  4. 将SAM从2D适应到3D医学图像: 许多医学扫描如MRI和CT是3D体积,这与经典的2D自然图像不同。虽然SAM可以应用于3D医学图像的每个切片,但忽略了相邻切片之间的信息。已有研究表明,相邻切片之间的相关性对于某些对象的识别至关重要。
  5. 降低医学图像分割的标注成本:
### Sliding Window Attention 的启用与未实现原因分析 滑动窗口注意力机制(Sliding Window Attention)是一种优化技术,用于减少 Transformer 模型中的计算复杂度和内存消耗。它通过仅关注局部上下文来替代全局自注意力机制,从而显著降低资源需求[^1]。 当遇到 **"Sliding Window Attention enabled but not implemented"** 这种情况时,可能涉及以下几个方面的原因: #### 1. 软件版本不兼容 某些深度学习框架或库可能存在版本差异问题。如果使用的 DeepSpeed 或其他加速工具的版本较旧,则即使启用了滑动窗口注意力功能,也可能因缺少必要的支持而导致无法实际运行该特性。 #### 2. 配置参数错误 在配置文件或者命令行选项中设置不当也会引发此警告消息。例如,指定最大序列长度超出了当前硬件能够处理的能力范围时,系统可能会自动禁用高级别的优化措施包括滑窗注意力建模方式。 ```yaml # Example of configuration file snippet where sliding window attention is configured incorrectly. model: max_position_embeddings: 4096 # Exceeds hardware capability limits leading to fallback behavior. attention_config: type: "sliding_window" block_size: 128 ``` #### 3. 硬件限制因素 尽管理论上可以应用滑动窗口算法来提高效率并节省GPU显存空间,但在特定情况下由于目标设备缺乏足够的计算能力或其他约束条件(比如带宽瓶颈),最终仍需回退到标准全矩阵乘法操作形式完成推理任务而不是采用更高效的近似方案。 --- 为了有效解决问题, 可考虑采取如下策略: - 更新至最新稳定版的相关依赖包以获得更好的跨平台一致性表现; - 审查项目初始化阶段传递给训练脚本的各项参数定义是否合理合法; - 如果确认是因为物理资源配置不足引起的现象则尝试升级基础设施建设水平或是调整输入数据规模使之适应现有环境状况. --- ### 实现改进后的代码片段展示 下面给出一段经过修正后能正常工作的 Python 示例程序,展示了如何正确加载预训练模型以及开启滑动窗口注意力模式: ```python from transformers import AutoTokenizer, AutoModelForCausalLM import deepspeed tokenizer = AutoTokenizer.from_pretrained("path/to/your/model") model = AutoModelForCausalLM.from_pretrained("path/to/your/model") deepspeed.init_distributed() engine, _, _, _ = deepspeed.initialize( model=model, config={ 'train_batch_size': 1, 'fp16': {'enabled': True}, 'zero_optimization': { 'stage': 3, }, 'gradient_accumulation_steps': 1, 'steps_per_print': 20, 'wall_clock_breakdown': False, 'attention_config':{ 'type':'sliding_window', 'block_size':64 } }) text = "Your prompt here." input_ids = tokenizer.encode(text, return_tensors="pt").cuda() output_sequence = engine.generate(input_ids=input_ids, max_length=50) print(tokenizer.decode(output_sequence[0], skip_special_tokens=True)) ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值