2. 医学影像AI系统全流程拆解
医学影像AI系统的误差很少是“模型没训好”这一个原因造成的。它更像一条串联链路:DICOM数据从设备出来,经过脱敏、筛选、标注、预处理、训练、验证、部署,最后在临床端推理。任何一环引入的偏差,都会在后续环节被放大或掩盖。理解这条链路,是误差分析与复盘的前提。
一、全流程链路与误差注入点
下面这张图把五个阶段与典型误差源放在同一视图中。注意:误差不是只在训练阶段产生,而是沿数据流逐级传递,并在部署端以“性能下降”的形式暴露。
二、各阶段误差的产生机制
数据采集阶段。最常见的问题是设备与扫描参数不统一。例如同一批肺部CT数据中,部分层厚为1.0 mm、部分为2.5 mm,部分使用肺窗、部分使用纵隔窗。如果直接混合训练,模型会把“层厚差异”当成特征来学习。另一个隐蔽问题是脱敏:某些脚本会删除DICOM头中的关键字段(如层间距、重建核),导致预处理阶段无法正确重采样。复盘时应检查:设备型号分布、层厚/像素间距统计、窗宽窗位范围、脱敏后字段完整性。
标注阶段。标注误差主要来自三方面:标注者间差异、边界模糊、类别定义不统一。以肺结节勾画为例,两位放射科医师对同一结节的边界可能相差2~3 mm,若直接取平均,反而会模糊真实边界。更严重的是“漏标”:小结节或低对比度病灶容易被忽略,模型学到的是“不完整正样本”。复盘时应计算标注者间一致性指标(如Dice、Kappa),并抽查边界争议病例。
预处理阶段。重采样插值会引入伪影,尤其是层厚方向的大跨度插值。归一化参数(均值、标准差)若从训练集计算后直接用于推理,而推理数据分布不同,就会产生偏移。数据增强(旋转、缩放、弹性形变)如果幅度过大,会改变病灶的形态学特征,使模型学到不真实的模式。复盘时应固定预处理参数并记录版本,对比训练与推理的预处理流水线是否一致。
模型训练阶段。数据泄漏是最致命的误差源:同一患者的不同切片被分到训练集和验证集,导致验证指标虚高。类别不平衡会使模型偏向多数类,例如结节检出中阴性样本远多于阳性。过拟合表现为训练集指标高、验证集指标低;欠拟合则两者都低。复盘时应检查患者级划分、类别分布、学习曲线。
推理部署阶段。域偏移是部署端最常见的误差:训练数据来自A医院,部署到B医院后,设备、扫描协议、人群分布不同,性能显著下降。推理加速(如量化、剪枝)可能带来精度损失。后处理阈值设置不当,会直接改变检出率与假阳性率。复盘时应监控输入分布漂移、推理延迟、召回率变化。
三、误差复盘的关键检查点
实际复盘时,建议按“从部署端反向追溯”的顺序进行。先确认推理端输入是否与训练分布一致,再检查预处理流水线是否一致,然后回溯标注质量与数据采集参数。每一步都要有可验证的证据,而不是凭感觉判断。
| 阶段 | 关键检查项 | 典型指标/证据 | 常见误差表现 |
|---|---|---|---|
| 数据采集 | 设备型号、层厚、窗宽窗位、脱敏字段 | 层厚分布直方图、像素间距统计 | 模型对层厚敏感、重采样失败 |
| 标注 | 标注者间一致性、边界争议、漏标率 | Dice、Kappa、复核记录 | 边界抖动、小结节漏检 |
| 预处理 | 重采样方法、归一化参数、增强策略 | 预处理版本号、参数配置文件 | 伪影、分布偏移、形态失真 |
| 模型训练 | 患者级划分、类别分布、学习曲线 | 训练/验证AUC、损失曲线 | 验证虚高、偏向多数类 |
| 推理部署 | 输入分布漂移、推理加速、后处理阈值 | PSI、延迟、召回率 | 域偏移、精度下降、假阳性升高 |