作者|史博文 阿里巴巴达摩院算法专家

 

摘要

 

本文针对3D CT影像的视觉-语言预训练(VLP)提出了CT-DiagVLM框架。针对现有方法在3D数据处理效率低及语义对齐粗糙的问题,设计了CNN-ViT混合编码器以平衡局部细节捕捉与全局建模能力;引入疾病级对比学习机制,利用可学习Query Token从非结构化报告中动态提取细粒度病灶语义,实现同一器官内多病种的精准解耦;并提出诊断感知提示策略,通过聚合真实临床报告原型提升Zero-shot推理的鲁棒性。实验显示,该方法在CT-RATE基准上AUC达到84.4%(较SOTA提升5.1%),在60种疾病的扩展挑战中领先基线9.8%。

 

 

图片

研究背景与挑战

 

近年来,视觉-语言预训练(VLP)通过利用放射科报告作为丰富的文本监督信号,为构建通用医疗AI带来了新范式。然而,当我们将这一范式从2D X光迁移到3D CT影像时,现有方法面临着两个严峻挑战:

 

痛点一:视觉 backbone “水土不服”

 

  • ViT的困境:直接将用于自然图像的ViT扩展到3D CT,需要处理海量的体素块(Volumetric Patchification),导致计算成本爆炸,而牺牲空间分辨率的降采样操作,往往会使微小病灶的关键细节丢失。

     

  • 3D CNN的局限:虽然3D CNN能很好地捕捉局部解剖纹理,但其架构与主流VLM(如CLIP系列)不兼容,难以利用大规模预训练带来的跨模态先验知识,限制了迁移学习能力。

 

痛点二:语义对齐过于“粗糙”

 

  • 全局对齐的缺陷:主流方法(如CT-CLIP)多采用“整图-整报告”的全局对比学习。在3D CT中,病灶往往只占据极小体积,全局对齐容易让非诊断性的背景噪声主导模型训练。

     

  • 器官级对齐的混淆:即使是最新的器官级对齐方法(如fVLM),也将同一器官内的所有异常归为一类(例如将“肺不张”“肺气肿”“肺结节”都笼统地标记为“肺部异常”)。这种语义混淆掩盖了具体疾病特有的图像-语言关联,严重影响了多病共存的鉴别诊断能力。

 

 

图片

方法详解

 

为了解决上述问题,我们提出了名为CT-DiagVLM的新框架,其核心思想是:高效的混合视觉编码 + 细粒度的疾病级对齐+鲁棒的推理提示。

 

创新点一:CNN-ViT混合编码器 (Hybrid Visual Encoder)

 

目标:兼顾局部细节捕捉能力与ViT的全局建模及预训练兼容性。

 

  • 架构设计:

     

    3D CNN Backbone:使用3D ResNet-18提取多尺度层级特征

    图片

    ,高效捕捉局部解剖细节。

     

    多尺度融合Patch嵌入 (MSF-PE):摒弃传统ViT的嵌入模块,将CNN的多层特征投影、下采样并拼接,融合成富含多尺度语义的Token初始化序列。

     

    ViT Transformer:将融合后的Token输入到预训练的ViT(如SigLIP-2)中。

 

  • 优势:既保留了ViT的全局注意力机制和强大的预训练先验,又通过CNN注入了3D医学影像必需的局部归纳偏置,且避免了直接对高分辨率3D体积进行Self-attention的巨大算力开销。

 

创新点二:疾病级对比学习 (Disease-Level Contrastive Learning)

 

目标:打破“器官级”粗粒度限制,实现同一器官内不同疾病的解耦。

 

  • 可学习条件Query (Learnable Condition Queries):

     

    为每个器官定义一组可学习的Query向量

    图片

    ,分别对应健康状态和该器官可能出现的各种具体疾病(如肺部对应:健康、结节、积液、实变等)。

     

  • 动态语义提取:

     

    利用Cross-Attention机制,让Query在完整的放射报告文本嵌入中“attend”到描述特定疾病的短语。

     

    关键突破:无需对报告进行显式的句子分割或人工标注边界,模型自动从非结构化文本中提取出与特定疾病相关的语义表示

    图片

 

  • 细粒度对比损失:

     

    构建Batch内的正负样本对:将器官的视觉特征

    图片

    与同批次中所有患有相同疾病c的患者提取出的文本语义

    图片

    拉近,推远其他疾病的语义。

     

    这使得模型能够区分同一器官内的共存病理(例如:左肺既有积液又有结节,模型能分别对齐这两个特征)。

 

创新点三:诊断感知提示策略 (Diagnosis-Aware Prompt Strategy)

 

目标:弥合预训练与Zero-shot推理之间的Gap,提升临床可靠性。

 

  • 拒绝手工模板:传统的“A CT scan showing [disease]”过于简化,无法反映临床语言的多样性。

     

  • 原型聚合 (Prototype Aggregation):

     

    检索:从训练集中检索大量(M≥500)包含特定疾病描述的真实报告。

     

    提取:使用训练好的相同Query机制,从这些真实报告中提取疾病特异性语义。

     

    平均:计算这些语义的全局平均值,形成该疾病的语义原型 (Prototype)

    图片

 

  • 推理过程:在Zero-shot测试时,计算测试图像器官特征与各类疾病原型的余弦相似度。这种方法极大地平滑了个别报告的噪声,捕捉了疾病的“典型”语义表现。

 

 

图片

实验结果

 

我们在两个主流胸部CT基准数据集CT-RATE和Rad-ChestCT上进行了广泛评估。为了确保公平比较,论文构建了一个集成了3D ResNet backbone和在线分割解码器的强基线模型(Base Model),并在此基础上验证CT-DiagVLM各模块的贡献。

 

(一)Zero-shot诊断性能 (16种常见疾病)

 

 

图片

 

  • 解读:

     

    CT-DiagVLM不仅在绝对性能上大幅超越之前的SOTA方法(如fVLM和ViSD-Boost),即使在对比经过优化的强基线模型(Base Model)时,依然取得了5.1%和5.4%的显著AUC提升。

     

    在外部独立测试集Rad-ChestCT上的优异表现,证明了模型极强的跨域泛化能力。

 

(二)扩展性挑战:60种细粒度疾病

 

为了验证模型在更复杂、标签噪声更大场景下的能力,我们利用LLM (Qwen3-Max) 构建了包含60种疾病的伪标签数据集,模拟真实世界中大规模、细粒度标注稀缺的场景。

 

  • 结果:CT-DiagVLM达到85.6%AUC,比强基线模型高出9.8%。

     

  • 解读:

     

    扩展性与泛化力:随着疾病类别从16种扩展到60种,模型性能不降反升,证明其“疾病级对比学习”机制能够有效捕捉更广泛的病理语义空间,具备极强的可扩展性。

     

    抗噪鲁棒性:在完全依赖LLM生成的伪标签(含有不可避免噪声)进行训练的情况下,模型依然保持了极高的诊断精度。这表明通过聚合大量真实临床报告形成的“疾病原型”,能够有效过滤标签噪声,学习到稳健的疾病本质特征。

     

    长尾疾病的精准识别:在60种疾病中,包含许多训练样本极少的低患病率疾病。CT-DiagVLM在这些疾病上依然取得了极高的AUC(例如气胸AUC高达94.2%)。这得益于Condition Query机制,它能在训练过程中保留稀有疾病的判别性信号,防止其被常见病的海量数据淹没,展现了极高的临床应用价值。

 

(三)下游任务:放射报告生成

 

将预训练模型接入BERT解码器进行报告生成,在临床有效性指标(基于疾病检测准确率的F1 score)上:

 

  • CT-RATE F1: 45.5% (远超CT-CHAT的20.2%)。

     

  • 这证明到的视觉-语言表征不仅利于分类,也蕴含了丰富的生成式语义信息。

 

 

图片

总结与展望

 

CT-DiagVLM的成功在于它没有盲目堆砌大模型,而是针对3D医学影像的特性进行了精细的架构协同设计:

 

  • 视觉上:用CNN补ViT之短,用ViT借预训练之力。

     

  • 语义上:从“器官”下沉到“疾病”,利用LLM辅助挖掘细粒度监督信号。

     

  • 应用上:用数据驱动的原型替代僵化的模板,弥合训练与推理之间的鸿沟.

 

这项工作为通用医疗AI的发展提供了一个重要方向:未来的医疗基础模型不应仅满足于“看图说话”,而应具备像放射科医生一样,在复杂的解剖结构中精准定位并区分细微病理变化的能力。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐