1. 医学影像模型鲁棒性测试工程导论

在实验室里,一个在公开数据集上达到 0.95 AUC 的肺结节检测模型,换到另一家医院的数据上可能骤降到 0.78;同一台设备上,仅仅把窗宽窗位从肺窗改成纵隔窗,分割 Dice 也可能掉十几个百分点。这类现象并不是模型"训练得不够好",而是它没有经受住真实世界输入扰动的考验。医学影像模型鲁棒性测试工程,就是研究如何系统性地度量、暴露并改进这种抗扰动能力的一门工程学科。

一、什么是鲁棒性

鲁棒性(Robustness)指模型在输入分布发生合理偏移、噪声注入或成像条件变化时,仍能维持稳定且临床可接受输出的能力。它不同于泛化性:泛化性关注"换一批同分布数据"的表现,鲁棒性关注"输入被扰动后"的表现。二者常被混用,但测试设计完全不同——泛化性靠交叉验证与外部验证集,鲁棒性靠受控扰动与压力测试。

可以把鲁棒性形式化地理解为:给定模型 f、原始输入 x 与扰动算子 T,定义性能指标 M(如 Dice、AUC、敏感度),则鲁棒性可表示为 M(f(x)) − M(f(T(x))) 的衰减幅度。衰减越小、且在临床阈值之上,鲁棒性越好。这里的 T 必须"合理"——它应模拟真实可能发生的成像或采集变化,而不是任意像素级攻击。

二、测试工程的目标

测试工程不是"跑一遍看看",而是建立可复现、可量化、可回归的评估体系。其核心目标包括:

  • 量化脆弱边界:找出模型在哪些扰动类型、哪个强度区间开始失效,例如旋转超过 15°、噪声 σ>0.05 时 Dice 跌破 0.85。
  • 定位失效来源:区分是预处理、网络结构、训练数据偏倚还是后处理导致的脆弱。
  • 支撑回归与准入:把鲁棒性指标纳入模型版本管理,新版本不得在关键扰动上显著退化。
  • 指导数据增强与训练:把测试中暴露的薄弱扰动反哺为增强策略。

工程上通常用"鲁棒性曲线"和"失效阈值"两个交付物来承载这些目标:前者是性能随扰动强度变化的曲线,后者是性能跌破临床可接受线时对应的扰动强度。

三、医学影像的特殊性

医学影像的鲁棒性测试不能照搬自然图像。其特殊性主要体现在四个方面:

  1. 扰动来源具有物理性:CT 的噪声与剂量相关,MRI 的伪影与 k 空间采样相关,超声的斑点噪声与探头频率相关。扰动必须由成像物理驱动,而非随机加噪。
  2. 灰度与窗宽窗位敏感:同一 CT 体数据在肺窗(WL −600, WW 1500)与纵隔窗(WL 40, WW 400)下,模型看到的"图像"完全不同,这是医学影像独有的扰动维度。
  3. 解剖结构约束强:器官形状、位置、左右关系具有强先验,扰动若破坏解剖合理性(如把心脏翻到右侧),测试就失去临床意义。
  4. 标注与评价代价高:像素级标注依赖放射科医生,因此测试集规模有限,指标选择(Dice、HD95、敏感度)需与临床任务对齐。
设计扰动时先问一句:"这种变化在真实扫描流程中会发生吗?"如果答案是否定的,它更适合作为对抗攻击研究,而不是鲁棒性测试。

四、课程项目总览

本课程以一个贯穿始终的项目为载体:面向胸部 CT 的肺结节分割模型鲁棒性测试平台。项目分四个阶段推进,与后续章节一一对应。

阶段一,建立基线:在公开数据上训练或加载一个 U-Net 类分割模型,固定预处理与评价流程,得到干净数据下的 Dice、HD95 基线。阶段二,构建扰动库:按成像物理实现噪声、模糊、窗宽窗位偏移、旋转、缩放、对比度变化等扰动算子,并定义强度分级。阶段三,执行测试:对每个扰动、每个强度运行推理,记录指标,绘制鲁棒性曲线,计算失效阈值。阶段四,分析与改进:定位脆弱点,尝试增强或结构调整,回归验证是否提升。

下面的信号链图概括了从原始影像到鲁棒性结论的完整数据流,也是本课程后续所有实验的骨架。

医学影像模型鲁棒性测试数据流 原始影像 胸部CT / 肺窗 扰动库 T 高斯噪声 σ 高斯模糊 k 窗宽窗位偏移 旋转 / 缩放 对比度 / 亮度 预处理 归一化 / 重采样 分割模型 f U-Net 类 预测掩膜 结节分割结果 评价指标 M Dice / HD95 敏感度 / 特异度 鲁棒性结论 鲁棒性曲线 失效阈值 注入 反馈:薄弱扰动 → 数据增强 / 结构调整

图中橙色虚线表示扰动注入路径:扰动既可以作用于原始影像,也可以作用于预处理后的张量,两种注入点对应不同的测试语义。紫色虚线是反馈回路,把测试暴露的薄弱扰动反哺到训练阶段,形成"测试—改进—回归"的闭环。

五、如何开始

在动手之前,先明确三件事。第一,确定任务与指标:本项目以肺结节分割为例,主指标用 Dice,辅以 HD95 和敏感度,临床可接受线暂定 Dice ≥ 0.85。第二,确定扰动清单与强度分级:每个扰动至少设 3~5 个强度档,例如旋转取 5°、10°、15°、20°、30°,噪声 σ 取 0.01、0.02、0.05、0.08、0.10。第三,确定记录格式:每次推理记录扰动类型、强度、样本 ID、指标值,便于后续聚合与绘图。

不要一开始就追求扰动种类多。先用 2~3 类扰动把"注入—推理—评价—绘图"的链路跑通,确认指标计算与基线一致,再扩展扰动库。否则很容易在指标口径不一致的情况下得出错误结论。