点击下方卡片,关注「集智书童」公众号
想要了解更多:
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」
AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。
医学图像分割经常面临标注成本高昂的挑战。虽然少样本学习提供了一个有前景的解决方案来缓解这一负担,但传统的方法仍然严重依赖已知的类别的大量 Token 数据进行预训练。
为了解决这个问题,作者提出了利用Segment Anything Model(SAM),预训练在超过10亿 Mask 的基础上,从而避免了广泛的特定领域标注数据的需求。基于此,作者开发了SAM-MPA,这是一个创新基于SAM的框架,用于少样本医学图像分割,使用基于Mask Propagation的Auto-Prompting。
首先,作者使用k-centroid聚类来选择 Token 的最具代表性的示例来构建支持集。这些 Token 的示例被注册到其他图像上,产生变形场,有助于将 Mask 知识传播到整个数据集以获得粗略的 Mask 。然后,作者根据粗略 Mask 的区域和边界扩展自动生成视觉 Prompt ,包括点、框和粗略 Mask 。
最后,作者可以通过将这些 Prompt 输入到SAM并使用后处理模块来获得分割预测。通过在两个具有不同模态的医学图像数据集上进行大量实验来验证所提出框架的性能。
作者的方法在Breast US和Chest X-ray上的Dice分别为74.53%和94.36%。实验结果证实,SAM-MPA在10个 Token 示例内实现高精度的分割,超越了其他最先进的少样本自分割方法。
作者的方法使SAM可以针对任何具有少量 Token 示例的医学图像数据集进行自定义。
1 Introduction
精确图像分割在医学影像分析和辅助诊断中起着关键作用[21]。这涉及到通过各种影像模式下的医学影像对组织、器官和病变进行分割。通常,这些分割标签是通过经验丰富的医生通过手动勾勒并使用专门的标注工具如ITK-SNAP[25]获得的。由于获取大量标注数据的过程耗时且昂贵,以及涉及医学伦理问题,因此当深度学习模型面临有限数据场景时,会遇到训练障碍。
应对有限的标注数据可用性的挑战,研究行人在医学影像领域广泛探讨了少样本分割(FSS)方法[19]。FSS的目标是在 Query 图像的辅助下,使用少量像素级标注的支持图像来划分目标。通常,FSS技术依赖于基于原型的元学习方法[18]。这些方法通常涉及两个步骤:首先从已知类别中创建代表原型,然后使用这些来分割新、未见过的图像。在第一步中,通常需要大量来自已知物体类别的有标签训练数据。然而,在医学影像中,这样的广泛标注既昂贵又耗时。因此,作者需要开发不需要大量有标签医学数据的新少样本分割方法。
针对这一问题,Segment Anything Model(SAM[11])作为一种有前景的方法应运而生。经过超过10亿 Mask 的训练,SAM展示了强大的泛化少样本分割能力,能够使用视觉 Prompt 分割任何主体,即使它们以前从未见过。已经有几项研究将SAM应用于医学影像,获得了有前途的分割结果。它们主要关注微调SAM并手动提供 Prompt 。
然而,存在两个重大的挑战:
(1)微调方法通常需要数百[12, 24, 26]到数百万[2, 13]个遮挡训练图像。相比之下,FSS旨在仅使用少数遮挡样本(通常为1,5或10个实例)在医学影像上实现令人满意的分割性能。
(2)手动提供 Prompt 的做法既费力又低效。考虑到这些因素,作者提出在医学图像分析中使用自动化 Prompt 探索SAM在FSS的应用。
根据现有研究,作者在少样本医学分割中应用SAM时,面临三个关键挑战,如图1所示:
(1)选择适当的 Token 图像作为支持示例。选择将显著影响基础视觉模型在下游任务上的性能[29]。
(2)有效传播支持图像到 Query 图像的 Mask 知识。这在少样本学习场景中是核心挑战,因为它要求模型从最小支持集中提取 Mask 相关的特征,并准确地将先验知识传递到多样化的 Query 集中。
(3)生成高质量 Prompt 。精心设计的 Prompt 对于最大化SAM的潜力至关重要[9]。
为了解决这些问题,作者提出了一种新颖的框架SAM-MPA,通过集成Mask Propagation 和Automatic Prompt Generation 技术,增强SAM 在少样本医学图像分割方面的性能。首先,作者根据样本的内在结构将样本聚类,并从每个簇中选择最具代表性的实例,形成支持图像集。其次,作者在支持图像和 Query 图像之间进行配准,利用生成的变形场来传递分割知识。最后,利用变形后的分割 Mask ,作者自动生成包括前景点、背景点和边界框在内的 Prompt 。
作者的贡献可以概括为以下几点:
- 作者提出了SAM-MPA,这是一个创新框架,成功地将SAM适应到少样本医学图像分割,通过自动 Prompt 实现。它集成了支持样本选择、 Mask 传播和自动 Prompt 生成,仅用1-10个 Token 样本实现高性能分割结果。
- 为了应对现有挑战,作者提出了三种创新策略:基于聚类的支持样本选择、无监督的注册驱动 Mask 传播以及自动生成高质量 Prompt 。它们分别提供了一个代表性的支持集,促进了支持图像和 Query 图像之间的有效知识传递,并为SAM自动生成最优 Prompt 。
- 作者的方法在Breast US和Chest X-ray数据集上分别实现了82.07%和94.13%的Dice分数。实验结果表明,作者的方法在各种医学影像模式下都展现了优越的分割准确性,同时需要的标注数据极少。
2 Related Work
Few-shot Medical Image Segmentation
少样本图像分割通常依赖于已知语义类别的前期预训练,这种方法影响了医学影像学的发展,导致了一些方法的出现,如SE-Net[17],MRrNet[6],和GCN-DE[20],它们利用已知的类别数据来训练高效的双分支交互模型。然而,在医学领域获得大规模预 Token 的数据集通常是不切实际的。为了解决这个挑战,一些研究行人转向了自监督学习技术[3; 8; 14; 22]。这些方法通过超像素[5]生成伪标签,实现自监督预训练。虽然这种方法减少了标注成本,但它仍然面临几个限制:
(1) 预训练阶段的需求。
(2) 超像素生成的潜在不准确性。
(3) 需要大规模的数据集来实现有效的自监督预训练,这在医学影像学中通常是不切实际的。相比之下,SAM具有公开可用的预训练权重和在大规模数据集上的广泛训练,消除了额外的领域特定预训练或大规模 Token 数据集的需要。
因此,作者可以将SAM视为少样本医学图像分割的有效解决方案。
A revisit of SAM
SAM是一种通用的图像分割模型,它训练了超过1100万张图像和10亿个 Mask 。它主要由三个主要组件构成:(1) 基于精化的视觉Transformer[4]构建的图像编码器,可以提取出强大的图像特征。(2) 将多种用户 Prompt (从稀疏(点,框)到密集( Mask ))转换为统一特征空间的 Prompt 编码器。(3) 轻量级 Mask 解码器,将来自两个编码器的输入合成以生成精确的分割。
SAM与传统模型最主要的区别在于它能够灵活地接受各种形式的 Prompt 。这些 Prompt 提供了目标区域的指示信息,使SAM能够对新物体产生准确的结果,从而展现出强大的泛化能力。因此,在将SAM适应到新领域时,提供高质量的 Prompt 成为其中最关键的任务。
Adapting SAM to Medical Image Segmentation
SAM在自然图像上的出色性能使得研究行人开始探索其在医学图像分割领域的应用能力。针对SAM在该领域的适应方法可以分为微调(fine-tuning)和自动 Prompt (auto-prompting)策略[28]。微调方法包括全量微调(例如,MedSAM[13])和参数高效的技巧(如Med-SA[24],SAM-Med2D[2],Samed[26]和AdaptiveSAM[16])。全量微调通过使用大型标注数据集更新所有模型参数,而参数高效的技巧只调整部分参数以节省资源。这些全量微调方法存在缺点:它们需要大量的计算资源,产生标签成本(例如,MedSAM使用了超过150万个图像- Mask 对),并且训练数据中需要手动提供的 Prompt 。
即使是参数高效的技巧也需要数百到数千个标注图像。自动 Prompt 适应策略旨在减少对手动 Prompt 的依赖。例如,Pandey等人使用YOLOv8生成边界框作为 Prompt [15],但这也需要100个带 Mask 的图像进行训练。PerSAM[27]通过使用单个标注图像在自然图像的特定类别上实现一次分割,采用特征匹配生成点 Prompt 。然而,这种方法在医学图像中可能不太有效,因为目标结构和周围组织在视觉上往往没有太大的差异。
3 Method
Problem Definition
是一个无标签数据集,其中包含个样本。在少样本场景中,作者将支持集定义为,其中表示每个图像对应的 Mask 。 Query 集用表示。典型的少样本设置使用个值1, 5或10。作者的目标是利用中的 Mask 信息,在上实现高精度的分割,同时使用SAM。
如图2所示,作者提出的SAM-MPA框架包含四个主要步骤:
(1) 样本选择:从D中选择K个样本(K=1,5,10)形成支持集D_S,剩余的N-K个样本构成 Query 集D_Q。
(2) Mask 传播:将D_S中的 Mask 信息传播到D_Q,为D_Q中的所有 未标注 图像生成粗略 Mask 。
(3) Prompt 自动生成:从粗略 Mask 自动生成多样化的 Prompt 。
(4) 分割与优化:利用SAM根据粗略 Mask 和生成的 Prompt 分割D_Q,然后进行后优化过程以进一步优化分割结果。
Support Example Selection
具有较高相似度的样本通常具有更多共同的特征点或结构,从而可以实现更好的特征匹配和精确的变换估计。因此,作者的目标是最大化 和 之间的相似度。由于直接计算原始图像的相似度代价高昂,作者采用两步法:首先提取图像特征,然后计算相似度。利用 SAM 在大规模图像数据集上的训练,其图像编码器 具有强大的表示能力。作者无需从头训练新的模型即可使用 SAM 进行此过程:
使用公式1,作者将原始数据集D投影到特征空间Z=z_{i}_{i=1}^{N}。对于单次任务(K=1),作者选择与其他样本最相似的样本。相似度计算如下:
在少样本任务中,当时,仅仅选择个最相似的样本可能导致支持集过于集中在特征空间中,无法有效地覆盖整个样本分布。为了解决这个问题,作者采用了K-Centroid算法将样本划分为个簇。每个簇的中心被指定为一个支持样本,共同形成,而每个簇中除支持样本以外的其他样本则作为各自支持样本的 Query 样本。为了增强数据覆盖并降低K-Centroid算法对初始点的敏感性,作者利用K-Center-Greedy算法确定起始点。作者将K-Center-Greedy算法的起始点设置为,即最高相似度的样本,而不是随机选择。这种方法通过消除随机初始化导致的变异性,确保了结果的一致性和代表性。
Mask Propagation
在成功构建 和 之后,作者采用基于配准的 Mask 传播模块,根据 中的标注数据为 中的样本生成粗略的 Mask 。由于样本数量有限,特别是带有 Mask 的样本,作者利用无监督 B-spline 弹性配准(BER)算法 [7]。具体来说,对于支持图像 和其对应的 Query 图像 ,作者使用 BER 计算一个变形场 。然后,作者将 通过空间 Transformer (ST)网络应用到 Mask 上,得到 的粗略分割 ,如公式5所示:
ST是一种非可学习神经网络模块,用于实现空间变换。它利用将变形为。具体而言,ST采用网格生成和采样过程,根据重新映射和插值中的每个像素,从而生成。这个过程可以用公式6和7来描述。
其中,表示变形场中像素的位移。表示像素的相邻像素。在所有方向上遍历空间,其中和分别表示图像的水平和垂直尺寸。
Prompts Auto-generation and Post Refinement Strategy
根据 Query 图像的粗糙 Mask ,作者自动生成SAM所需的各种 Prompt 。如2.2节所述,这些 Prompt 包括点、框和 Mask 格式。生成方法如下:
前景点位于粗略分割的中心点,背景点是围绕粗略分割的最小外接矩形的四个角。
最小边界框 Prompt :粗略分割的最小边界框。
Mask Prompt :对粗略的分割应用 sigmoid 软化。
然后,作者将原始图像以及生成的 Prompt 输入到SAM中,以生成初始分割。为了进一步优化输出,作者采用了一个后处理策略,用旧的 Mask Prompt 替换初步分割,并将更新后的输入再次输入到SAM中,以产生更精确的目标物体划分。
4 Experiments
Datasets
作者在两个具有不同模态的医学图像数据集上评估作者的方法。这些数据集中的每个图像都有精确的像素级分割标签,这些标签已经被有经验的放射科医生准确地作为 GT 进行了标注。在分割之前,所有图像都被重新缩放到256x256像素。
乳腺超声: 乳腺超声是中国复旦大学上海癌症中心(上海,中国)收集的一个私有乳腺超声数据集。所有图像使用SuperSonic Imagine S.A.(法国,艾克斯-普罗旺斯)的Aixplorer超声系统(7-15 MHz)获取。该数据集包含200张图像。
胸片(Chest X-Ray): 胸片是一种由美国马里兰州国家图书馆医学部与广东医学院深圳南山医院合作创建的结核病标准数字图像数据库[10, 1]。该数据库包含704张带有标签的胸片图像。这些胸片来自门诊部,作为日常工作中使用飞利浦DR数字诊断系统的部分。
Implementation Details and Comparison Methods
作者评估了1、5和10-shot设置下的少样本场景。对于样本选择和特定分割任务,作者使用了SAM的图像编码器vit_b模型。在注册过程中,作者使用了弹性-5.1.0的B-Spline注册函数,将NumberOfResolutions设置为3,同时保持其他参数为默认值。
骰子系数成为了作者的评估指标。所有方法都在PyTorch平台上实现,并通过使用两个Nvidia V100 32GB GPU加速计算。
作者比较了基于SAM的手动 Prompt 方法和自动 Prompt 方法的表现。手动 Prompt 方法包括使用SAM的1个点、1个边界框和混合 Prompt (1个点、1个边界框)。自动少样本 Prompt 方法是PerSAM。
5 Results
Ablation Study
在本节中,作者对提出的SAM-MPA方法在10-shot设置下进行消融实验,结果呈现于表1。这种系统化的实验评估了每个关键组件对整体性能的贡献,具体检查了示例选择(ES)模块、 Mask 传播(MP)模块、 Prompt 自动生成(PA)模块以及后处理(PR)策略。结果表明,启用每个组件都会导致不同程度的性能提升,这直观地揭示了每个组件在整个过程中的功能重要性。
在作者的消融研究中,作者仔细考虑了组件之间的相互依赖性,建立了一个随后的激活顺序。SAM-MPA的基础是Mask Propagation(MP),首先激活。这个组件可以在支持集和 Query 集中实现有效的先验信息传递,没有它整个框架将无法正常运行。单独激活MP实现了70.67%的Dice精度粗分割,验证了其传递先验信息的有效性。接下来,作者添加了Prompt Auto-generation(PA),利用MP产生的粗分割。PA模块根据粗分割自动生成SAM的 Prompt ,实现了0.83%的Dice提升,验证了其有效性。
虽然MP和PA的组合已经能够实现基于SAM的自动分割,但显然还有提升的空间。作者然后引入了Example Selection(ES)组件来评估如何选择支持集样本对分割结果产生影响。Dice增加了2.34%,表明作者精心选择的样本提供了优越的 Query 图像分割指导。
最后,作者激活了Post Refinement模块,用SAM生成的先验 mask 替换初始的粗分割 mask,以提高 Prompt 质量。这一步实现了0.51%的性能提升,强调了其在提高分割预测性能方面的作用。
Quantitative and Qualitative Results
表2展示了SAM-MPA与其他方法性能的比较。"Manual"方法指的是为原始SAM模型提供手动 Prompt 以直接进行目标图像分割,而不涉及诸如支持和 Query 图像等少样本设置。结果显示,手动提供点 Prompt 和边界框 Prompt 可以获得最佳性能,在两个数据集上分别取得了70.32%和86.73的dice分数。然而,这种方法需要对每个测试图像手动确认 Prompt 点和绘制边界框,例如在ChestXray数据集中处理704张图像。
相比之下,作者的方法通过为1、5或10个支持图像提供精确 Mask ,实现了出色的分割性能。使用10个 Mask 支持图像,SAM-MPA在超声图像上取得了74.53的dice分数,比手动 Prompt 方法提高了4.21%,比PerSAM提高了18.93%。对于X光图像,仅使用一个支持图像即可获得93.48%的性能,比手动 Prompt 方法提高了6.75%,比PerSAM提高了46.55%。这些结果表明,作者的方法不仅避免了繁琐的手动 Prompt 过程,还实现了令人满意的分割精度。
如图5所示的实验结果展示了SAM-MPA和PerSAM在各种 Query 图像上的分割性能。SAM-MPA始终提供令人满意和稳定的分割结果,在不同图像上的性能差异最小。相比之下,PerSAM的表现具有显著波动。虽然PerSAM在某些图像上实现了令人称赞的分割结果,但与其他图像相比,它面临着极大的挑战,有时完全无法识别正确的目标区域。这种不一致主要源于医学图像中前景和背景的细微差别。
PerSAM所采用的原型相似度策略在这种场景下无效,导致大量图像被错误地分类为目标区域。另一方面,SAM-MPA展示了卓越的性能。它能有效地识别和准确分割目标区域,在PerSAM面临挑战的图像上也能获得令人满意的结果。这种巨大对比强调了SAM-MPA在处理复杂医学图像方面的强大和适应性,突显了它克服其他方法面临局限性的有效性。
6 Discussion
针对医疗图像分割的少样本学习方法通常需要大量的预训练数据。为了解决这个问题,作者提出了SAM-MPA框架,该框架利用SAM进行医学图像的少样本分割,有效避免了广泛标注数据的需求。通过自动为SAM生成高质量 Prompt ,作者成功地解锁了其潜力,仅用少量的标注样本(1,5或10张带 Mask 的图像)就实现了令人印象深刻的分割结果。
首先,作者将分析SAM-MPA中每个组件的有效性。第5.1节的消融实验表明,每个元素都发挥着不可或缺的作用。样本选择模块通过从样本空间中的每个簇选择中心样本构建高质量的支持集,从而获得了最显著的性能提升(2.34%性能提升)。这强调了在传递标签先验知识到 Query 实例时,具有代表性的支持样本的重要性,并突显了SAM等基础模型对下游任务中标注示例选择的敏感性。然后, Mask 传播模块构成了框架的基础,促进了支持样本和 Query 样本之间 annotation 信息的有效 Stream 。如图2所示,SAM-MPA在缺少这一组件时无法正常工作。采用无监督注册技术,作者实现了支持样本和 Query 样本之间的标签传播,取得了70.67%的 Baseline 分割性能。接下来,自动 Prompt 生成组件同样至关重要。最近的基础模型如SAM和GPT表明,有效的 Prompt 是解锁模型潜力的关键。表2中的实验结果揭示了不同 Prompt 对SAM性能的影响。使用单个点 Prompt 的性能严重低于盒状 Prompt ,在US和Xray数据集上的性能差距分别为36.33%和30.27%。作者的组件可以一次性生成高质量的一点、盒状和 Mask Prompt ,有效提升分割性能。最后,后处理策略利用SAM的输出 Mask 作为输入进行另一轮优化,通过利用SAM的固有能力优化分割结果,证明这是一种有效的方法。
其次,作者探讨了作者的方法优于其他方法的原因。虽然手动为图像提供点和对角框 Prompt 可以产生令人满意的结果,但当应用于大量图像时,这个过程变得乏味且需要大量的手工劳动。相比之下,SAM-MPA只需要手动遮挡1-10张图像,其余过程都是自动化的。这极大地减少了人力投入,同时实现了高性能分割,呈现出明显的优势。与当前的自动化少样本方法PerSAM相比,作者的方法取得了显著的性能改进。如表2所示,仅使用一个标注图像,作者的方法在超声图像上比PerSAM提高了45.22%,在X射线图像上提高了46.55%。
这主要归因于:
(1)医学图像中前景和背景之间的对比度较低,这阻碍了PerSAM基于区域相似性的策略。
(2)PerSAM的 Prompt (一个前景点和一个背景点)未能充分利用SAM的潜力。相比之下,SAM-MPA提供了更丰富的 Prompt ,包括一个前景点,四个背景点,一个边界框和一个粗糙的分割 Mask ,为SAM提供了更全面的前期知识,并有效地利用了其能力。
(3)作者简要讨论了作者的方法的局限性及未来前景。尽管SAM在泛化方面表现出出色性能,但它是针对自然图像进行预训练的,导致与医学图像之间存在领域差距。未来工作可以探索专门针对医学图像数据进行预训练的基础模型。
此外,本研究主要关注2D图像应用,未涉及3D场景。未来研究应探讨SAM在分割3D图像方面的可行性和泛化性。
7 Conclusion
作者的SAM-MPA框架解决了将SAM应用于少样本医学图像分割的主要挑战,包括选择代表性示例、准确传播先验知识以及通过专用模块生成合适的 Prompt 。通过利用基于 Mask 传播的自动 Prompt ,作者增强了SAM在特定医学数据集上的泛化能力。
在少样本场景下,SAM-MPA在各种数据集上表现出优越的性能,提供了高精度分割的实用解决方案,同时用户标注最小化。这项工作有可能极大地推进医学图像分析和诊断,为实际医疗保健应用提供有价值的工具。
[0]. SAM-MPA: Applying SAM to Few-shot Medical Image Segmentation using Mask Propagation and Auto-prompting.
扫码加入👉「集智书童」交流群
(备注: 方向+学校/公司+昵称 )
点击下方“ 阅读原文 ”,
了解更多AI学习路上的 「武功秘籍」