盛夏的水果摊前,两位老师傅正在挑西瓜。第一位看外形——纹路清不清、形状圆不圆、敲起来声音实不实,这就像 CT 检查,用 X 光把肿瘤的结构形态照得一清二楚;第二位尝味道——甜不甜、香不香、有没有发酵的馊味,这就像 PET 检查,用带放射性的“糖水”测出肿瘤细胞有多贪吃。单看外形可能被歪瓜骗过,单尝味道也可能被酸瓜误导,但两位师傅把笔记合在一起,就能判断这个瓜是生、是熟、还是已经烂掉。PET-CT 多模态肿瘤分级 AI 模型,就是教人工智能同时做这两件事:一边读 CT 看形态结构,一边读 PET 看代谢活性,把两种证据融合起来,判断肿瘤是良性还是恶性、恶性程度有多高,交出一份比单模态更靠谱的“挑瓜报告”。

岗位关联

学完本节,你将掌握多模态影像融合、特征对齐与分级预测网络的核心设计思路——这是医学影像 AI 算法工程师从“单模态看图”走向“多模态诊断辅助”的关键能力,也是医疗 AI 产品团队的核心竞争力。

目录
  1. 可视化演示
  2. 双模态影像原理
  3. 数据对齐预处理
  4. 双流特征提取
  5. 多模态融合策略
  6. 肿瘤分级预测
  7. 训练与优化
  8. 临床评估应用
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示PET与CT双模态影像经特征编码、跨模态对齐融合后预测肿瘤分级的完整架构,以及单模态与多模态性能对比。

本节配有交互动效(进入视口后自动加载,约 3KB)。

多模态融合架构 PET(代谢)与CT(解剖)双流特征编码 跨模态对齐后融合,全连接层输出I-IV级 y = FC(Fuse(Enc_PET, Enc_CT))

双模态影像原理

还是那个水果摊。外形师老陈检查西瓜从不切开,只看瓜皮纹路、瓜蒂颜色、敲击声音——这套“外形功夫”就像 CT:X 射线一层层扫过身体,密度高的骨头亮白、软组织灰、空气黑,肿瘤的边界、形状、大小、钙化点被照得清清楚楚。CT 足够看清结构,却有个致命短板:它看不出“这块组织在干活还是偷懒”。有些肿瘤长得规规矩矩却是恶性的,有些边缘模糊的肿块其实只是炎症,外形师一个人容易看走眼。

这时候轮到第二位师傅登场。PET 的做法很巧妙:给病人注射带有放射性标记的葡萄糖类似物(示踪剂),癌细胞的糖酵解远高于正常组织,会大量吞入示踪剂,在影像上形成醒目的“亮斑”——就像品甜师尝到甜得发齁的瓜瓤。为了量化代谢强度,临床用 SUV 值来打分:

所以两位师傅一个管“长相”、一个管“甜度”。老陈说形状不规则,品甜师说甜得发齁,两人一合计,这瓜八成不对劲——CT 提供解剖定位,PET 提供代谢证据,二者互补正是多模态影像的立足点。

SUV=CtissueDinjected/Wbody\text{SUV} = \displaystyle\frac{C_{\text{tissue}}}{D_{\text{injected}} / W_{\text{body}}}
SUV(标准化摄取值)就是把病灶处测到的放射性浓度,除以“每公斤体重注射的示踪剂剂量”,得到一个消除了个体差异的“甜度计读数”,数字越大代谢越旺盛。
  1. 分子 C_tissue肿瘤组织里的示踪剂放射性浓度,是 PET 扫描仪测出的“攒糖量”,相当于品甜师尝到的甜度数值。
    CtissueC_{\text{tissue}}
  2. 分母 D_injected注射进病人体内的示踪剂总剂量。不同病人注射量不同,必须记录作参照,就像不同大小的瓜要用同一把尺子量。
    DinjectedD_{\text{injected}}
  3. 体重 W_body病人体重。体型越大示踪剂在全身稀释得越厉害,用体重归一化消除个体差异,相当于把甜度换算成“每斤含糖量”。
    WbodyW_{\text{body}}
  4. 整体比值组织浓度除以“每公斤体重注射剂量”得到 SUV。数值越大说明这“瓜瓤”越活跃,越值得警惕。
    SUV=CtissueDinjected/Wbody\text{SUV} = \frac{C_{\text{tissue}}}{D_{\text{injected}} / W_{\text{body}}}

数据对齐预处理

两位师傅虽然看的是同一个瓜,但老陈习惯站东边,品甜师蹲在西边,若不确认对方说的是瓜的同一块地方,讨论就会鸡同鸭讲:“我这儿有条疤”“我这儿明明很光滑”。病人先做 CT 再做 PET,中间隔了几十分钟,呼吸、体位、肠蠕动都变了,两幅图像天然对不齐;再加上 CT 分辨率高、体素小,PET 分辨率低、体素大,必须在空间上先“对齐”才能谈融合。

配准(注册)就是找一个空间变换,把 CT 挪到 PET 的位置上,让两幅图在解剖结构上重合。形式化地说,我们希望找到一个变换 \(T\),让变换后的 CT 与 PET 在对应体素位置上的灰度差异最小:

配准就像给两位师傅各发一张同一角度标注好的瓜的照片,确保他们说“甜”的地方就是老陈说“纹路密”的地方。预处理没做好,后面的一切融合都建立在噪音之上。

T^=arg⁡min⁡T∑i∥ICT(T(xi))−IPET(xi)∥2\hat{T} = \arg\min_{T} \displaystyle\sum_{i} \left\| I_{\text{CT}}(T(\mathbf{x}_i)) - I_{\text{PET}}(\mathbf{x}_i) \right\|^{2}
这句话相当于:在所有可能的“挪动方式”里,挑一种让两幅影像在每一处都长得最像的挪法。配准之后,还要把两种影像重采样到统一的体素网格,并做强度标准化,消除不同设备间的亮度差异。
  1. 变换 T(𝐱)对 CT 影像施加平移、旋转、缩放等空间操作,把病灶挪到与 PET 相同的位置,就像让两位师傅站到同一角度看瓜。
    T(x)T(\mathbf{x})
  2. 灰度差变换后两幅影像在对应体素位置的灰度相减再平方,衡量“这个位置到底对齐了没有”。
    ∥ICT(T(xi))−IPET(xi)∥2\left\| I_{\text{CT}}(T(\mathbf{x}_i)) - I_{\text{PET}}(\mathbf{x}_i) \right\|^{2}
  3. 求和把所有体素位置的差异加起来得到总代价,差异越小说明两图越吻合。
    ∑i∥⋅∥2\displaystyle\sum_{i} \left\| \cdot \right\|^{2}
  4. arg min 求最优在所有可能的变换里挑出总代价最小的那个,就是最优配准变换。
    T^=arg⁡min⁡T(⋯ )\hat{T} = \arg\min_{T} (\cdots)

双流特征提取

对齐之后,两位师傅各自拿出笔记本。老陈记录纹路密度、弧度、敲击回响;品甜师记录甜度曲线、香气扩散。他们不会把没消化的原始观感直接倒给对方,而是先提炼成“要点笔记”。在深度学习中,这“提炼要点”的活由卷积神经网络(CNN)完成——多模态模型通常采用双流结构,两条结构相同但参数独立的 CNN,一条吃 CT、一条吃 PET。

每条流内部通过卷积、池化逐层提取特征:浅层学到边缘、纹理,深层学到肿块、病灶等语义概念,最终压成一个紧凑的特征向量。特征维度远小于原始图像,却保留了分级最关键的信息,这一步叫特征嵌入:

双流设计的精髓在于让 CT 和 PET 各有一位“专属师傅”专心记笔记——如果强行让一个网络同时消化两种影像,往往是谁都学不精。

fCT=ΦCT(ICT;θCT),fPET=ΦPET(IPET;θPET)f_{\text{CT}} = \Phi_{\text{CT}}(I_{\text{CT}}; \theta_{\text{CT}}), \quad f_{\text{PET}} = \Phi_{\text{PET}}(I_{\text{PET}}; \theta_{\text{PET}})
两个网络就像两位师傅各自的“笔记模板”:CT 流只提炼形态要点,PET 流只提炼代谢要点,互不干扰,最后各交出一份浓缩笔记 \(f_{\text{CT}}\) 和 \(f_{\text{PET}}\),供后续融合模块使用。
  1. 输入影像 I经过配准与标准化的两幅三维影像,是两条流的原始素材,相当于分给两位师傅各自的瓜。
    ICT,IPETI_{\text{CT}}, \quad I_{\text{PET}}
  2. CT 流映射 Φ_CTθ_CT 是 CT 流网络的卷积核权重,代表“看纹路的经验”。网络把整幅影像层层压缩成要点。
    ΦCT(ICT;θCT)\Phi_{\text{CT}}(I_{\text{CT}}; \theta_{\text{CT}})
  3. PET 流映射 Φ_PETPET 流用另一套卷积网络捕捉代谢亮斑的分布规律,相当于“尝甜度的经验”。
    ΦPET(IPET;θPET)\Phi_{\text{PET}}(I_{\text{PET}}; \theta_{\text{PET}})
  4. 双流输出两条流各输出一个高维特征向量,后续融合模块就在这层“笔记”上做文章。
    fCT,fPETf_{\text{CT}}, \quad f_{\text{PET}}

多模态融合策略

笔记做好了,怎么合并?摊主给出三种方案:第一,刚看完瓜皮就让两人合写(早期融合,像素级拼接);第二,各自先琢磨一会儿再合笔记(中期融合,特征级);第三,各自独立下结论,最后投票(晚期融合,决策级)。早期融合在像素层拼接两幅图,简单粗暴但容易放大配准误差;晚期融合忽略了两模态在特征层面的相互印证,信息损失大;业界最常用的是中期特征融合。

更聪明的做法是注意力加权融合:由一个小网络根据当前样本的特征动态决定“这次该信谁”。比如 PET 亮斑很典型但 CT 边界太模糊,模型就自动降低 CT 权重。计算过程如下:

这就好比两位师傅互不相让时,摊主请来一位仲裁师傅:他听听两人各自的把握有多大,再按把握大小加权。注意力机制就是那个“仲裁师傅”。

α=σ(w⊤[fCT⊕fPET]+b),F=α⊙fCT+(1−α)⊙fPET\alpha = \sigma\left( \mathbf{w}^{\top} [f_{\text{CT}} \oplus f_{\text{PET}}] + b \right), \quad F = \alpha \odot f_{\text{CT}} + (1-\alpha) \odot f_{\text{PET}}
这里的 \(\alpha\) 是 0 到 1 之间的注意力权重:接近 1 就多听 CT 的,接近 0 就多听 PET 的。\(\oplus\) 表示把两份笔记拼成一份,\(\odot\) 表示逐元素相乘。
  1. 拼接笔记把两路特征向量首尾相连,交给小网络,让它同时看到两份笔记而不遗漏细节。
    [fCT⊕fPET][f_{\text{CT}} \oplus f_{\text{PET}}]
  2. 打分小网络算出一个标量分数,表示“这次 CT 的证据更可靠还是 PET 的更可靠”。
    w⊤[fCT⊕fPET]+b\mathbf{w}^{\top} [f_{\text{CT}} \oplus f_{\text{PET}}] + b
  3. sigmoid 压缩把分数压到 0~1 得到权重 \(\alpha\),\(\alpha\) 接近 1 表示多信 CT,接近 0 表示多信 PET。
    α=σ(⋯ ),0≤α≤1\alpha = \sigma(\cdots), \quad 0 \le \alpha \le 1
  4. 加权混合两路特征按权重逐元素混合得到融合特征 \(F\),完成“综合两位师傅意见”这一步。
    F=α⊙fCT+(1−α)⊙fPETF = \alpha \odot f_{\text{CT}} + (1-\alpha) \odot f_{\text{PET}}

肿瘤分级预测

融合意见到手,最后一步是拍板定性。摊主要求师傅把瓜分成三等:好瓜、将就、烂瓜。在医学上对应肿瘤分级——常见三分类是良性、低级别恶性、高级别恶性。分级标签通常由病理活检金标准确定,模型要做的不是直接喊“这就是高级别癌”,而是从融合特征 \(F\) 出发输出每个等级的概率,因为概率比硬判断更有信息量,医生可结合临床经验做取舍。

具体做法是在融合特征后接一个全连接分类层,输出 K 个分数(logit),再用 softmax 归一化成概率分布。softmax 的“指数放大 + 归一化”让分数差别被清晰表达:

这份“概率报告”就像师傅在瓜摊上贴“八成是好瓜、两成将就”的标签,而非算命先生式的一口咬定。模棱两可时医生会建议进一步穿刺活检——这正是 AI 辅助该有的姿态。

P(y=k∣F)=ezk∑j=1Kezj,z=WoF+boP(y=k \mid F) = \frac{e^{z_{k}}}{\displaystyle\sum_{j=1}^{K} e^{z_{j}}}, \quad z = W_{o} F + b_{o}
softmax 就是把“印象分”变成“概率票”的机器:先给每个分数取指数放大差距,再除以所有类别的指数之和,保证所有概率相加恰好等于 1。
  1. 输出层变换 z融合特征 \(F\) 乘上分类权重 \(W_o\) 加偏置 \(b_o\),得到 K 个类别的原始分数,相当于师傅给每档瓜打的“印象分”。
    z=WoF+boz = W_{o} F + b_{o}
  2. 指数放大对每个分数取指数 \(e^{z_k}\),把负分变成正数,同时拉大高分与低分的差距,让“最有把握”的档位浮现出来。
    ezke^{z_{k}}
  3. 归一化分母把所有类别的指数值求和作为分母,把总概率压成 1,得到合法的概率分布。
    ∑j=1Kezj\displaystyle\sum_{j=1}^{K} e^{z_{j}}
  4. 逐类概率第 k 类的指数除以分母就是该类概率,取最大概率对应的等级作为预测分级。
    P(y=k∣F)=ezk∑j=1KezjP(y=k \mid F) = \frac{e^{z_{k}}}{\sum_{j=1}^{K} e^{z_{j}}}

训练与优化

徒弟跟着师傅学挑瓜,光看不够,得让他上手挑、挑错了挨骂,才能长记性。模型训练也是这个道理:数据一进来,预测和标准答案一对比,错了就“挨打”,然后调整参数。这个“挨打”的评分标准叫损失函数,分类任务最常用交叉熵损失:预测概率和真实 one-hot 标签越远,损失越大;梯度下降再沿着损失下降的方向更新网络参数:

为了进一步防过拟合,还要配合数据增强(旋转、翻转、加噪声)与早停、交叉验证。医学影像样本通常稀缺,这些技巧尤其重要。训练就像“学徒期”:师傅在旁边盯着,徒弟每挑错一个瓜,晚上就对着笔记本把“手感”矫正一遍,迭代几十个轮次后终于出师。

L=−1N∑n=1N∑k=1Kyn,klog⁡pn,k+λ∥θ∥2\mathcal{L} = - \frac{1}{N} \displaystyle\sum_{n=1}^{N} \sum_{k=1}^{K} y_{n,k} \log p_{n,k} + \lambda \| \theta \|^{2}
前一项是交叉熵:衡量“预测分布”离“真实分布”有多远;后一项是 L2 正则化:惩罚过大的权重,防止模型死记硬背训练集,就像不许徒弟靠背瓜摊名单蒙混过关。
  1. 独热标签 y_nk医生标注的真实等级转成 one-hot 向量,真实类别为 1、其余为 0,相当于标准答案。
    yn,k∈{0,1}y_{n,k} \in \{0, 1\}
  2. 对数似然 log p_nk对预测概率取对数。预测越接近答案,这项越接近 0;错得越离谱,负得越多。
    log⁡pn,k\log p_{n,k}
  3. 求平均对 N 个样本、K 个类别求和再取平均,得到整个批次的平均损失,即“这次挑瓜的整体离谱程度”。
    −1N∑n=1N∑k=1Kyn,klog⁡pn,k- \frac{1}{N} \sum_{n=1}^{N} \sum_{k=1}^{K} y_{n,k} \log p_{n,k}
  4. L2 正则把所有权重平方求和乘系数 \(\lambda\) 加进损失,惩罚过大的参数,防止死记硬背。
    λ∥θ∥2\lambda \| \theta \|^{2}

临床评估应用

出师要考核。摊主摆了一堆瓜,一半好瓜一半烂瓜,考徒弟能不能把烂瓜都挑出来、又不误伤好瓜。这分别对应两个指标:灵敏度和特异性。灵敏度是“真实恶性中被正确检出的比例”,漏诊越少越好;特异性是“真实良性中被正确排除的比例”,误报越少越好:

除了单点指标,还常用 ROC 曲线下面积 AUC 综合评价模型在不同阈值下的表现,AUC 越接近 1 说明区分良恶性的能力越强;多中心数据上的泛化验证是上线前的最后一道关。考核通过后,模型正式上岗:它在影像科工作站里安静地读 PET-CT,给出分级概率与热点区域标注,医生负责最终决策——就像摊主请来的高级助手,不替师傅拍板,但总能第一时间指出“这个瓜值得再敲一敲”。

Sen=TPTP+FN,Spe=TNTN+FP\text{Sen} = \frac{TP}{TP+FN}, \quad \text{Spe} = \frac{TN}{TN+FP}
灵敏度是“烂瓜不漏网”的能力,特异性是“好瓜不被冤枉”的能力。两者往往此消彼长,需要根据临床场景权衡——筛查时宁可误报也不能漏诊,确诊前则要求高特异性。
  1. TP 真正例高级别肿瘤被正确报为高级别,相当于烂瓜被准确挑出。
    TPTP
  2. FN 假阴例恶性被漏报,漏诊是临床最怕的“看走眼”。
    FNFN
  3. 灵敏度TP 除以所有真实恶性(TP+FN),衡量“漏网之鱼”有多少,越高越不放过烂瓜。
    Sen=TPTP+FN\text{Sen} = \frac{TP}{TP+FN}
  4. TN 真阴例与 FP 假阳例TN 是良性被正确排除,FP 是把良性误报为恶性;特异性衡量不冤枉好瓜的能力。
    Spe=TNTN+FP\text{Spe} = \frac{TN}{TN+FP}

AI 应用场景

肺结节 PET-CT 分级辅助诊断

阶段:模型推理与辅助决策

解决的问题:影像科医生判读肺结节 PET-CT,要同时盯形态和代谢两套图,工作量大、主观性强,危急结节容易被排在队列后面。传统流程完全依赖医生肉眼经验,而 AI 能自动提取双模态特征,给出恶性概率和分级建议,帮助医生优先处理高危结节。

具体案例:某三甲医院在 PET-CT 工作站部署分级模型,对肺占位患者自动生成“恶性概率 + 可疑代谢灶清单”,医生平均阅片时间从 15 分钟降到 6 分钟,早期肺癌检出率提升约 11%。模型把“两位师傅”的笔记自动合并成一份带概率的报告,医生只需复核确认。

多中心肿瘤数据标准化融合

阶段:数据预处理与特征工程

解决的问题:不同医院的 PET-CT 扫描仪参数不同,图像强度、体素间距五花八门,直接拿原始数据训练模型效果很差,就像每位师傅用的尺子刻度都不一样。用空间配准 + 体素重采样 + 强度标准化的预处理流水线,把多中心数据统一到同一把“尺子”上,模型才能跨院可用。

具体案例:某医疗 AI 公司收集 5 家医院共 3000 例淋巴瘤 PET-CT,统一体素间距并做 SUV 归一化后,模型在新医院的跨院分级准确率提升了 12%,顺利通过多中心验证。

术前活检部位辅助决策

阶段:模型推理与临床集成

解决的问题:肿瘤内部往往“甜度不均”,代谢最活跃的部位恶性程度最高,医生凭肉眼很难从几十层影像里锁定最佳穿刺点,活检容易“打偏”取到低活性区域,导致假阴性。模型把分级热力图叠加到 CT 解剖图上,标出代谢最旺盛的“最甜那块瓤”。

具体案例:某肿瘤专科医院将 PET-CT 分级模型的注意力热力图接入活检导航系统,穿刺取样阳性率从 82% 提升到 93%,减少了患者重复活检的痛苦。

Python 演示

python80 行
import numpy as np def make_case(grade, seed=0):    rng = np.random.RandomState(seed)    size = 64    ct = np.zeros((size, size))    pet = np.zeros((size, size))    r_radius = 8 + 4 * grade + rng.rand() * 3    cx = 32 + rng.randint(-8, 9)    cy = 32 + rng.randint(-8, 9)    y, x = np.mgrid[0:size, 0:size]    mask = (x - cx) ** 2 + (y - cy) ** 2 < r_radius ** 2    ct[mask] = 1.0 + 0.3 * grade + rng.rand() * 0.2    pet[mask] = 1.0 + 0.8 * grade + rng.rand() * 0.4    return (ct + rng.normal(0, 0.05, ct.shape),            pet + rng.normal(0, 0.05, pet.shape), grade) def extract_features(img):    size = img.shape[0]    bs = size // 8    feats = []    for i in range(8):        for j in range(8):            blk = img[i*bs:(i+1)*bs, j*bs:(j+1)*bs]            feats.append(blk.mean())    feats.append(img.std())    feats.append(img.max())    return np.asarray(feats, dtype=float) def softmax(z):    e = np.exp(z - z.max())    return e / e.sum() class FusionModel:    def __init__(self, dim):        rng = np.random.RandomState(42)        self.wa = rng.normal(0, 0.1, dim)        self.W = rng.normal(0, 0.1, (dim, 3))        self.b = np.zeros(3)     def forward(self, f_ct, f_pet):        alpha = 1.0 / (1.0 + np.exp(-np.dot(f_ct - f_pet, self.wa)))        f = alpha * f_ct + (1.0 - alpha) * f_pet        return softmax(np.dot(f, self.W) + self.b), alpha     def train_step(self, f_ct, f_pet, y, lr=0.1):        alpha = 1.0 / (1.0 + np.exp(-np.dot(f_ct - f_pet, self.wa)))        f = alpha * f_ct + (1.0 - alpha) * f_pet        p = softmax(np.dot(f, self.W) + self.b)        dlogits = p - y        self.W -= lr * np.outer(f, dlogits)        self.b -= lr * dlogits        dz = np.dot(self.W, dlogits)        da = np.dot(dz, f_ct - f_pet)        self.wa -= lr * da * alpha * (1.0 - alpha) * (f_ct - f_pet)        return -float(np.dot(y, np.log(p + 1e-12))) def main():    data = []    for grade in range(3):        for seed in range(10):            ct, pet, label = make_case(grade, seed + grade * 100)            data.append((extract_features(ct), extract_features(pet), label))    model = FusionModel(data[0][0].shape[0])    for epoch in range(30):        loss = 0.0        for f_ct, f_pet, label in data:            y = np.zeros(3)            y[label] = 1.0            loss += model.train_step(f_ct, f_pet, y)        if epoch % 5 == 0:            print("epoch %d loss %.4f" % (epoch, loss))    hits = 0    for f_ct, f_pet, label in data:        pred, alpha = model.forward(f_ct, f_pet)        hits += int(pred.argmax() == label)    print("train accuracy: %.2f%%" % (100.0 * hits / len(data))) if __name__ == "__main__":    main()
目的:用 numpy 从零搭建一个“双流特征提取 + 注意力融合 + softmax 分级”的迷你 PET-CT 肿瘤分级模型,在合成三档影像数据上完成训练与评估。
  1. pet[mask] = 1.0 + 0.8 * grade + rng.rand() * 0.4合成 PET 代谢亮斑,等级越高“甜度”越高,模拟癌细胞抢糖。
  2. def extract_features(img):把 64×64 影像分块取均值,压成“观察笔记”特征向量。
  3. alpha = 1.0 / (1.0 + np.exp(-np.dot(f_ct - f_pet, self.wa)))计算注意力权重,谁的信息更关键就多听谁。
  4. f = alpha * f_ct + (1.0 - alpha) * f_pet两路特征按权重融合,对应正文的注意力加权融合。
  5. p = softmax(np.dot(f, self.W) + self.b)输出三档分级概率,和为 1。
  6. self.W -= lr * np.outer(f, dlogits)梯度下降更新分类层,让“挑瓜手感”逐步逼近正确答案。

常见误区

误区我一直以为多模态融合就是图像叠加,像 PS 里把两张图层叠起来。医生看到的彩色“融合图”就是模型做的融合结果,模型核心工作就是显示层叠图。

正解叠加显示只是给医生看的可视化步骤,AI 里的多模态融合发生在特征层面:两条流各自提取特征后,通过加权或注意力机制合并,模型学到的“如何权衡两种证据”才是关键。就像两位师傅不是把两张笔记纸摞在一起,而是要讨论出谁的话更可信、怎么综合。

为何常见:临床 PET-CT 工作站确实用“融合图”展示结果,直观的画面很容易让人误以为那就是多模态融合的全部。

误区我把 CT 和 PET 直接拼成两通道矩阵丢进同一个网络,以为多个通道就是多模态融合了,结果效果还不如单模态,于是觉得多模态没用。

正解盲目拼接忽略了配准质量和模态差异。两种影像分辨率、强度范围不同,需要先对齐、标准化,再用双流结构分别提取特征,在合适层面融合。就像把两位师傅的眼睛蒙上、不让他们确认看的是同一个位置,再让他们合写一份报告,自然乱套。

为何常见:“拼接输入”看起来最简单直观,很多人误以为神经网络能自动学会一切,忽略了多模态建模本身的工程前提。

误区PET 报告上 SUV 高达 10,肯定是癌,不用再看 CT 了,直接按恶性处理,炎症什么的不可能这么高。

正解SUV 高也可能来自炎症、感染、血糖浓度异常、检查时间不当等,存在不少假阳性。临床上必须结合 CT 形态(边界、钙化、生长方式)综合判断,这正是多模态存在的意义——就像瓜闻着特别甜,可能只是打了糖精水,还得再看看外形是否匀称。

为何常见:PET 亮斑在视觉上冲击力强,SUV 又是量化指标,单看数字容易让人过度自信,忽视单一模态的局限。

误区模型输出高级别概率 95%,那应该直接按这个结果安排手术,不用做活检了,反正机器比人准。

正解AI 分级是辅助决策而不是诊断金标准,最终确诊仍依赖病理活检。模型可能遇到训练分布外的罕见肿瘤类型,概率高只是一个“强烈怀疑”信号。就像两位师傅都说瓜烂了,也得切开看一眼才算数——概率报告是“建议”,不是“判决书”。

为何常见:对“概率”的数字产生绝对信任,忽视了模型的不确定性、数据偏差和临床验证流程的必要性。

面试题

Q1. PET-CT 相比单一 CT 影像的最大优势是?

单选题 · mid

  • A.同时反映肿瘤结构与代谢特征← 正确答案
  • B.辐射剂量显著低于单一检查
  • C.直接判定肿瘤的良性与恶性
  • D.完全消除医生之间的诊断差异

答案:A。CT 提供结构信息,PET 提供代谢信息,二者互补是多模态的核心优势,对应“外形师 + 品甜师”的配合。B 错误(PET-CT 辐射通常不低);C 错误(最终定性靠病理活检);D 错误(AI 是辅助,消除不了医生差异)。

Q2. SUV(标准化摄取值)在 PET 影像中用于衡量什么?

单选题 · easy

  • A.肿瘤组织摄取的示踪剂浓度水平← 正确答案
  • B.肿瘤组织的物理密度与硬度大小
  • C.肿瘤边界的光滑程度与规则程度
  • D.肿瘤内部钙化灶的具体分布范围

答案:A。SUV 是病灶放射性浓度除以单位体重注射剂量,衡量代谢活跃度,相当于“甜度计读数”。B、C、D 描述的分别是 CT 能看的密度、边界、钙化,属于结构信息的范畴。

Q3. 下列哪个步骤负责把两次扫描的空间位置对齐?

单选题 · easy

  • A.图像空间配准← 正确答案
  • B.肿瘤分级预测
  • C.双流特征提取
  • D.软组织窗宽窗位

答案:A。配准通过空间变换让 CT 与 PET 在解剖结构上重合,是融合前的必要步骤,对应让两位师傅确认看的是瓜的同一位置。B、C 属于后续环节,D 是影像显示参数,与空间对齐无关。

Q4. 多模态融合的“早期融合”指的是在哪里合并数据?

单选题 · mid

  • A.直接在像素层面拼接原始图像← 正确答案
  • B.在高层特征层面进行加权组合
  • C.对两个模型的结论进行投票
  • D.在训练完成后融合输出概率

答案:A。早期融合在像素级把两幅图拼成多通道输入;B 是中期(特征级)融合,C、D 属于晚期(决策级)融合。三种融合对应“刚看完瓜皮就合写”到“独立下结论再投票”的不同阶段。

Q5. 关于注意力权重 α 的计算方式,正确的说法有?

多选题 · mid

  • A.由两路特征经过一个小网络动态算出← 正确答案
  • B.通过 sigmoid 激活压缩到零到一← 正确答案
  • C.由医生手工设定的固定经验性数值
  • D.与影像噪声水平无关且不可学习

答案:AB。注意力权重 α 由两路特征拼接后经小网络打分、再用 sigmoid 压到 [0,1],是随样本动态变化且可学习的,相当于“仲裁师傅”的临场判断。C 把动态权重说成手工固定值,D 说不可学习,均错误。

Q6. softmax 输出层在分级模型中的作用是?

单选题 · easy

  • A.把原始分数转换成概率分布且总和为一← 正确答案
  • B.把概率值映射回像素级别的灰度范围
  • C.把所有样本的损失值压缩成一个常数
  • D.对特征图进行降采样减少计算消耗

答案:A。softmax 对 logit 取指数并归一化,输出各类别概率、和为 1,对应把“印象分”变成“概率票”。B、C、D 分别描述的是反归一化、损失聚合和池化,均非 softmax 的职责。

Q7. 训练分级模型时,能有效防止过拟合的做法有?

多选题 · hard

  • A.对影像做旋转翻转等数据增强← 正确答案
  • B.在损失中加入 L2 权重正则项← 正确答案
  • C.早停与交叉验证来选择模型← 正确答案
  • D.取消验证集把全部数据都拿去训练

答案:ABC。数据增强扩充样本多样性、L2 正则惩罚过大权重、早停和交叉验证防止模型死记硬背训练集,都是防过拟合的常规手段。D 把所有数据都用于训练且不验证,反而更容易过拟合,是错误做法。

Q8. 癌细胞在 PET 影像上呈现高摄取亮斑的根本原因是?

单选题 · mid

  • A.癌细胞糖酵解代谢旺盛大量聚集示踪剂← 正确答案
  • B.癌细胞含铁量高导致磁性造影剂富集
  • C.癌细胞密度远高于周围正常软组织密度
  • D.癌细胞快速增殖导致局部温度明显升高

答案:A。癌细胞存在 Warburg 效应,糖酵解异常旺盛,会大量摄入带放射性标记的葡萄糖类似物,形成亮斑,对应“癌细胞特别贪吃”这个比喻。B 是 MRI 机制,C 是 CT 密度机制,D 并非 PET 成像原理。

Q9. 模型输出概率 [0.8, 0.15, 0.05] 对应良性、低度、高度,合理解读是?

单选题 · hard

  • A.判断为良性概率较高但仍需结合临床← 正确答案
  • B.判断为高级别恶性且完全确定无疑义
  • C.概率没有意义需重新训练模型才能用
  • D.三档概率相差大说明模型已经失效了

答案:A。softmax 输出是概率分布,最大档 0.8 对应良性,说明模型倾向良性,但 AI 只是辅助,仍需结合影像科复核甚至活检确认。B 把最高概率档看反且绝对化;C、D 对概率输出的理解均不正确。

Q10. 关于灵敏度与特异性的理解,正确的有?

多选题 · mid

  • A.灵敏度反映捕获恶性病例的能力高低← 正确答案
  • B.特异性反映排除良性病例的能力高低← 正确答案
  • C.两者均高说明诊断区分能力更强← 正确答案
  • D.两者完全独立没有任何权衡关系

答案:ABC。灵敏度 = TP/(TP+FN),衡量“烂瓜不漏网”;特异性 = TN/(TN+FP),衡量“好瓜不被冤枉”。两者都高说明模型区分良恶性能力强。D 错误:临床上两者通常此消彼长,需要按筛查或确诊场景取舍阈值。