PET-CT这东西,做肿瘤相关的影像AI研究或者临床科研的朋友应该都不陌生。18F-FDG PET-CT能把全身的代谢活跃病灶照得清清楚楚,但每次看到那种全身最大密度投影图,我的第一反应往往是:这么多高亮的地方,到底哪些是真的肿瘤、哪些是生理性摄取?如果靠医生一帧一帧看,不仅费眼神,不同医生的判断还不完全一致。所以“解剖学引导的全身PET-CT乳腺癌分割与跨模态自对齐”这类工作,本质上就是在解决两个特别实际的问题:第一,把全身的肿瘤病灶从PET-CT里自动、稳定地勾出来;第二,把PET和CT两个模态之间因为呼吸、摆位、扫描时间不一致造成的空间错位给拉齐。这两个问题单独拎出来都有不少人在做,但放在乳腺癌全身评估这个场景里一起解决,就有很多值得拆解的细节。这篇文章我想以这类工作的技术路线为线索,从方法设计、数据处理、训练实验到部署落地,把前后链路完整梳理一遍,也把我在实际项目中踩过的坑一并说出来,希望能给正在做医学影像分割或者配准方向的朋友一点参考。
1. 项目整体解析:PET-CT分割与跨模态对齐为什么总绑在一起
1.1 核心需求:全身分割不是锦上添花,而是定量分析的底座
很多刚接触医学影像AI的人会问一个问题:我只想做乳腺癌的病灶分割,直接用PET或者CT单独分割不就行了,为什么非要强调“全身”、还要做“跨模态对齐”?
这里面的逻辑其实是临床场景驱动的。乳腺癌患者的全身PET-CT检查,目的从来不是只看乳腺原发灶,而是要做分期、评估淋巴结转移、寻找远处转移灶,甚至评价治疗后的反应。换句话说,医生要的是“全身肿瘤负荷”这个整体概念,而不是一个孤立病灶的分割结果。如果模型只能在一个小patch上切出一块肿瘤,放到全身图上就很容易漏掉那些藏在肝脏、骨骼、纵隔淋巴结里的小病灶,而恰恰是这些远处转移决定了后续治疗方案。
这就带来一个很直接的技术要求:分割模型必须在全身范围做,而且是PET和CT两个通道一起输入。全身PET-CT图像通常有几百层,空间分辨率高、动态范围大,不同部位的解剖结构千差万别,背景里的生理性摄取(比如肝脏、肠道、膀胱、褐色脂肪)又和肿瘤抢注意力。这种情况下,如果不引入解剖位置信息,模型很容易把肠道的生理性摄取当成病灶,或者把肝脏的弥漫性高摄取给漏判。
所以“解剖学引导”在这类工作里并不只是一个营销词,它承担的是很实际的功能:告诉模型“你看到的这个高亮区域到底在哪个器官、哪个解剖分区”,让模型基于解剖上下文去判断异常代谢的真正含义。这比纯靠像素特征做分割要稳得多。
1.2 跨模态对齐的临床与技术背景
再来说第二个问题:为什么PET和CT会不对齐?
PET-CT虽然是同一个设备、同一台检查里连续采集的,但PET采集时间通常是CT的好几倍,患者在CT扫描后到PET扫描完成之间很容易发生轻微移动。再加上呼吸运动的影响,CT和PET各自的空间坐标其实并不完全一致,直接叠加使用会出现病灶位置偏移,影响分割边界,也影响后续SUV(标准化摄取值)定量计算的准确性。
可是PET和CT对诊断都太重要了,PET提供的是代谢信息,CT提供的是解剖信息。一个好的肿瘤分割结果,最好既能利用CT上清晰的解剖边界,又能利用PET上明显的代谢热点,两个模态放在同一个坐标空间里才有意义。如果图像本身就没对齐,模型学到的跨模态特征对应关系就是错的,分割精度上不去也正常。
技术上,跨模态自对齐要解决的其实是“不知道对应关系的情况下,怎么找到空间变换”。这里的自对齐,是相对于用外部标记物(比如体模点、骨性标记)做手动配准而言。自对齐的好处很明显:不用额外操作,也不依赖初始化,算法内部自己完成空间变换的估计。
这两件事放在一个统一的框架里做,还有个隐性好处:分割任务和配准任务可以互相约束。配准让两个模态对齐,对齐后的图像又反过来给分割提供更干净的特征;分割出的解剖结构(比如肝脏边界、肺轮廓)也能作为配准的锚点,告诉配准网络“这些结构应该对齐到这里”。这种“我帮你、你帮我”的关系,就是这类模型设计的核心思想。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 方法核心拆解:解剖学引导怎么引导,自对齐怎么对齐
2.1 解剖学先验的两种用法:硬约束与软先验
解剖学引导,常见的设计思路有两种风格,一种偏“硬”,一种偏“软”。
硬约束的做法,是把人体的解剖分区直接编码到网络结构里。比如把全身分成头部、胸部、腹部、盆腔、四肢这些大的区域,然后为每个区域单独设置分割分支,或者在网络输入里拼接一个先验的解剖分区图(一种one-hot编码的标签图),让网络知道
