Work【3】:PGP-SAM —— 原型驱动的少样本医学图像分割新范式
1. 医学图像分割的“少样本”困局与SAM的机遇
大家好,我是老张,在AI和医学影像这个行当里摸爬滚打了十来年。今天想和大家深入聊聊一个让我眼前一亮的“新家伙”——PGP-SAM。这玩意儿最近在圈子里讨论得挺热,因为它似乎戳中了当前医学AI落地的一个核心痛点:我们总是没有足够多的、标注好的数据。
你想想看,医生们每天忙得脚不沾地,让他们一张张CT、MRI片子去手动勾画器官轮廓,标注出肿瘤边界,这工作量简直大到吓人。一个合格的标注,不仅费时,更需要深厚的医学专业知识。所以,现实情况往往是,我们想训练一个精准的肝脏分割模型,手里可能只有几十例、甚至十几例带标注的数据。这就是典型的“少样本”场景。传统深度学习方法,比如大家熟悉的U-Net,在这种数据“吃不饱”的情况下,性能往往会大打折扣,模型学不到足够泛化的特征,分割结果要么不完整,要么边界模糊,医生根本没法用。
就在大家为数据发愁的时候,Meta的“分割一切模型”(Segment Anything Model, SAM)横空出世。它在大规模自然图像上训练,展示了惊人的零样本分割和交互能力。我当时第一反应就是:这“万能钥匙”能不能打开医学图像这把“特制锁”?很多团队都尝试了,直接把SAM拿来分割CT片,结果嘛……说实话,有点“水土不服”。医学图像和自然照片差别太大了,对比度、纹理、器官结构的复杂性,都让SAM有点懵。更关键的是,SAM的强大依赖于精准的“提示”(Prompt),比如你在图像上点一个点,画一个框,它才能围绕这个提示去分割。但在自动化流程里,我们上哪儿去给每张片子手动点这个点呢?这不又回到需要人工干预的老路上了吗?
所以,真正的挑战变成了:如何在仅有极少量标注数据(比如全部数据的10%)的情况下,让SAM学会自动、准确地在医学图像中找到并分割出目标器官,还不用人每次去点去画。这就是PGP-SAM要解决的核心问题。它不再纠结于让SAM去“硬适应”医学图像,而是换了个聪明的思路:我教SAM认识几个最核心的“概念模板”,让它能举一反三。
2. PGP-SAM的核心思想:让模型学会“抓典型”
PGP-SAM这个名字里,“PGP”是“原型引导提示学习”的缩写。这里的“原型”(Prototype),就是它方法论的灵魂所在,也是它解决少样本问题的钥匙。你可以把“原型”理解为一个类别的“标准照”或“概念精华”。
举个例子,我们要分割腹部CT里的多个器官:肝脏、脾脏、左肾、右肾等等。对于“肝脏”这个类别,尽管每个病人的肝脏形状、大小、在图像中的位置都有差异,但它们总有一些共通的、最本质的视觉特征(比如特定的灰度范围、纹理模式、与周围组织的相对位置关系)。PGP-SAM的想法是,我们从那仅有的10%的标注数据里,提炼出每个器官的这种“本质特征”,存成一个向量,这就是“类内原型”。它代表了“这个器官自己长啥样”。
但光有“自画像”还不够。器官之间不是孤立的,它们存在解剖学上的空间关系。比如,脾脏通常紧贴着胃,左肾和右肾大致对称。这些关系信息对于帮助模型在复杂场景中定位目标也至关重要。因此,PGP-SAM还引入了一组“类间原型”。这类原型不再属于某个特定器官,而是用来捕捉不同器官之间共享的上下文信息和关联模式。你可以把它理解为描述“器官之间通常如何相处”的规则。
有了这两组原型(类内的和类间的),PGP-SAM就相当于有了一套“器官识别卡片”和一张“人体解剖位置关系图”。当一张新的、从未见过的CT切片输入进来时,模型的工作流程就变得很清晰了:首先,用SAM的编码器提取这张图像的特征;然后,拿这些特征去和它记忆库里的“原型”进行比对和互动;最后,根据最匹配的原型,自动生成出告诉SAM“该在哪里分割”的提示信号。这个过程完全自动化,无需人工介入。
我特别喜欢这个设计,因为它非常符合人类的学习方式。我们教小孩认动物,也不是给他看世界上所有狗的图片,而是给他看几张典型的狗狗图片,告诉他“这是狗”,再对比一下猫的图片,强调区别。下次他看到一只没见过的狗,也能认出来。PGP-SAM正是模拟了这种“从典型样本中学习概念本质”的机制。
3. 渐进式原型优化:像老匠人一样打磨“标准件”
刚才说了,原型是关键。但原型不是固定不变的,它需要在训练过程中被不断地“打磨”和“优化”,才能越来越精准。PGP-SAM在这方面下了很大功夫,提出了一个“渐进式原型优化”机制。这个过程不是一蹴而就的,而是分步骤、精细化地操作,我把它理解为“三步锻造法”。
第一步:原型匹配与“找朋友”。模型手里有了一堆类内原型(每个器官的“标准照”)和一堆类间原型(描述关系的“规则”)。对于每一个类内原型(比如“肝脏原型”),它会去类间原型堆里,计算和谁最“像”,也就是余弦相似度最高。这个“像”不是长得像,而是在特征空间里表达的模式相关性高。找出Top-K个最相似的类间原型,把它们和“肝脏原型”自己拼接在一起。这就好比,要更精确地定义“肝脏”,我不仅看它的标准照,还找出和它最相关的几条解剖关系规则(比如“通常位于右上腹、与胃相邻”等),把这些信息捆绑在一起,形成一个信息更丰富的“增强版肝脏原型”。
第二步:双路径注意力下的“信息融合”。有了增强原型,接下来要把它们和当前输入的图像特征进行深度融合。这里用到了一个巧妙的“类别引导的双路径交叉注意力”。简单说,有两条信息流需要关注:一是图像本身的视觉特征(这片子长啥样),二是由粗略分割掩膜提供的类别特征(大概哪些区域可能属于什么器官)。PGP-SAM设计了一个注意力机制,让增强原型既能关注到图像的整体视觉上下文,又能聚焦于与目标类别相关的区域。这个过程会产生一个加权的查询向量,可以理解为原型在“阅读”了当前图像后,提出的一个更具体、更有针对性的问题:“根据我现在看到的画面和我记忆中的知识,目标最可能在哪里?”
第三步:原型的“自我更新”。经过前面与图像特征的深度交互,增强原型已经吸收了新的、与当前数据相关的信息。PGP-SAM会把这些更新后的信息,按来源拆分,分别反馈回最初的类内原型库和类间原型库中,对它们进行微调。这就完成了一次学习循环。随着训练在大量(尽管标注少)数据上反复进行,原型就像被不断打磨的模具,变得越来越能捕捉到该类别的核心特征以及与其他类别的稳定关系,抗干扰能力也越来越强。
我实测过这种渐进式优化的效果,对比那种一次性计算原型的简单方法,它在边界模糊、器官粘连的困难案例上,分割的稳定性要好得多。这就像一位老匠人,不是一次就浇铸出零件,而是反复锻打、淬火、打磨,最终得到的零件精度和强度才够高。
4. 上下文特征调制:给模型戴上“聚焦镜”
光有好的原型还不够,要想让原型在复杂的医学图像中准确地找到用武之地,我们必须确保从图像中提取的特征是“高质量”的。SAM的编码器很强,但它毕竟是为通用图像设计的,提取的特征可能包含大量对医学分割无用甚至干扰的背景信息。为此,PGP-SAM在特征提取后,加入了一个“上下文特征调制”模块。这个模块的作用,好比给模型戴上了一副“聚焦镜”和“信息过滤耳机”。
它主要从两个维度对特征进行增强:
- 空间维度聚焦:医学图像中,器官通常以特定的形态和走向分布。例如,在轴向CT切片中,脊柱通常位于图像中央的垂直区域,而肝脏、脾脏等器官分布在左右两侧。CFM模块通过在图像的高度和宽度方向分别进行全局池化,捕捉这种长程的、轴向的上下文依赖关系。然后,它学习一个空间注意力图,告诉模型“在图像的哪些水平位置和垂直位置上,更有可能存在我们关心的解剖结构”。这样,特征图中的无关背景区域就会被抑制,前景器官区域的特征得到增强。
- 通道维度筛选:不同的通道可能对应着响应不同纹理、边缘或语义信息的滤波器。CFM模块通过通道注意力机制,自动判断哪些通道的特征对当前的分割任务更重要,并提升这些通道的权重。比如,某些通道可能对软组织边界特别敏感,而另一些对特定灰度范围的器官实质更敏感,模块会强化这些关键通道的信号。
我把这个模块的输出特征和原始特征对比过,经过调制后的特征图,在目标器官区域确实激活得更明显、更纯净。这为后续的原型匹配和提示生成打下了坚实的基础。没有这个“聚焦”步骤,原型就像在嘈杂的菜市场里找人,效率很低;有了它,就像在安静的会议室里找人,一眼就能锁定目标。
5. 自动化提示生成:告别手动点击的魔法
这是PGP-SAM最终展现“魔法”的环节——全自动生成SAM能理解的提示。传统的SAM应用需要人工点、画框,PGP-SAM则通过前面学习到的精炼原型和增强特征,内部自动生成两种提示:密集提示和稀疏提示。
- 密集提示:可以把它想象成一种“软性”的、概率性的引导区域图。它由类间原型与图像特征交互产生。因为类间原型承载了器官间的关联信息,所以生成的密集提示往往能勾勒出目标器官及其周边相关解剖结构的大致区域,为分割提供一个良好的空间先验。这有点像在图像上画出一个模糊的、高亮的“注意力区域”。
- 稀疏提示:这更接近SAM传统使用的点提示或小框提示,但它是自动生成的。它由类内原型与图像特征交互产生。因为类内原型代表了器官的核心特征,所以它生成的稀疏提示会更精准地指向目标器官最具有判别性的中心点或关键位置。
这两种提示被同时输入到SAM的掩码解码器中。解码器就像SAM的大脑,接收到这些自动生成的、精准的提示后,就能轻松地在对应的区域输出高质量的分割掩膜。整个流程从图像输入到分割结果输出,一气呵成,完全无需人工干预。这真正实现了“少样本”下的“全自动”分割,对于构建临床可用的辅助诊断流程来说,意义重大。我尝试用他们的开源代码跑了一下,在只有几十张标注切片的数据集上,效果确实比直接微调SAM或者用之前的一些少样本方法要稳得多。
6. 实战效果:数据说话,性能说话
理论说得再好,不如实际跑分有说服力。PGP-SAM的论文在Synapse多器官CT数据集和另一个脑室CT数据集上进行了详尽的测试。Synapse数据集包含多个腹部器官的分割,是公认的挑战性基准。
我们来看一组核心数据对比。在仅使用10%的标注数据(少样本设定)进行训练的情况下:
- 对比基准SAM:这是零样本直接用的结果,Dice分数大概在40%-50%徘徊,很多器官根本分割不出来,证明了原始SAM在医学图像上的直接应用是不行的。
- 对比微调SAM的变体(如SAMed):这些方法通常需要微调更多参数,甚至使用更多数据。但在同样的10%数据设定下,PGP-SAM在Synapse数据集上的平均Dice分数达到了78.75%,而表现较好的SAMed变体约为73.91%。接近5个百分点的提升,在医学图像分割领域,这已经是相当显著的进步了。
- 具体器官提升:对于一些难分割的、形状不规则或对比度低的器官,提升尤为明显。比如胰腺的分割,Dice分数提升了超过11个百分点;对于脾脏和左肾也有显著改善。这证明了原型学习机制对于捕捉这些复杂器官的特异性特征非常有效。
在脑室数据集上,趋势同样明显,PGP-SAM达到了76.39%的Dice分数,优于对比方法。更重要的是,PGP-SAM引入的额外参数量非常少(主要通过LoRA技术微调),只增加了约0.8M的可训练参数,占SAM总参数的极小比例(约0.6%)。这意味着它训练效率高,过拟合风险小,非常适合数据稀缺的医疗场景。
这些数字背后,反映的是临床实用性的提升。更准确的器官分割,意味着医生能更可靠地计算器官体积、评估病灶占比、进行手术规划。我拿一些测试案例给合作的放射科医生看过,他们对PGP-SAM在少量数据下就能达到的边界贴合度表示认可,认为这已经具备了辅助初步筛查和定量分析的潜力。
7. 总结与展望:少样本医学AI的实用化之路
回顾整个PGP-SAM的工作,我觉得它的价值在于提供了一条清晰且实用的技术路径。它没有追求在拥有海量标注数据下的极致精度(那当然也很重要),而是直面了AI医疗落地初期最现实的“数据荒”问题。通过原型学习这个核心思想,将有限标注数据中的精华知识凝练出来;通过渐进式优化和上下文调制,确保这些知识能被稳健地运用;最终实现全自动的提示生成,打通了SAM模型自动化应用的最后一公里。
当然,这项技术还在发展。论文作者也提到了未来的方向,比如将2D的原型学习扩展到3D体积数据中,探索如何在连续的CT或MRI切片间传递和演化原型信息;再比如,如何学习跨不同成像模态(CT、MRI、超声)的统一原型表示,让模型更具通用性。
从我这些年的经验来看,PGP-SAM这类研究标志着医学AI正从“堆数据、拼算力”的粗放模式,向“精炼知识、高效适配”的智能化模式演进。对于广大医疗AI的开发者来说,这是一个非常值得关注和投入的方向。毕竟,能让技术在资源受限的环境下真正用起来、用好,才是技术最大的价值所在。如果你正在为某个细分领域的医学图像分割数据太少而发愁,不妨深入研究一下原型学习和PGP-SAM的思路,或许它能给你带来新的启发和解决方案。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)