4. 医学影像预处理流水线

在医学影像分割任务中,模型性能的上限往往在数据进入网络之前就已经被决定。原始 DICOM 或 NIfTI 数据来自不同厂商、不同扫描协议、不同层厚与不同磁场强度,直接送入网络会导致体素间距不一致、灰度分布漂移、低频亮度不均以及噪声干扰等问题。预处理流水线的目标,是把这些异构数据整理成“几何一致、灰度可比、结构清晰、尺寸可控”的训练样本,同时通过数据增强提升模型的泛化能力。本节按数据流动顺序,逐环节说明关键操作、典型参数与判断依据。

一、重采样:统一体素间距与空间方向

重采样解决的是几何一致性问题。不同设备的层厚可能为 0.625 mm、1.0 mm、3.0 mm,层内像素间距也各不相同。若不做处理,同一器官在不同样本中占据的体素数差异巨大,卷积核感受野对应的物理尺寸也随之变化。实践中通常将数据重采样到各向同性或接近各向同性的目标间距,例如 CT 腹部常用 1.0×1.0×1.0 mm,MRI 脑部常用 1.0×1.0×1.0 mm 或 0.5×0.5×0.5 mm。

实现上推荐使用 SimpleITK 或 MONAI 的 Spacingd,并同时指定方向矩阵,避免左右、前后轴翻转。插值方式需区分图像与标签:图像使用三阶 B 样条或线性插值,标签必须使用最近邻插值,否则会出现非整数类别值。示例配置如下:

Spacingd(keys=["image", "label"],
         pixdim=(1.0, 1.0, 1.0),
         mode=("bilinear", "nearest"))

判断重采样是否合理,可检查重采样后图像与标签的仿射矩阵是否一致、标签类别数是否保持不变、器官体积(体素数×体素体积)与原始标注是否接近。

二、归一化:让灰度分布可比

归一化解决灰度可比性问题。CT 具有物理意义明确的 HU 值,常用窗口截断加线性缩放,例如腹部 CT 取窗宽 [-150, 250] HU,再映射到 [0,1];脑部 CT 可用 [-40, 120] HU。MRI 没有绝对灰度标准,常用 Z-Score 归一化,即对非零区域计算均值与标准差后做 (x-μ)/σ,也可使用百分位裁剪(如 0.5%~99.5%)抑制极端值。

需要注意:归一化统计量应只在训练集上计算,验证与测试集复用同一组参数,避免信息泄漏。若使用 MONAI,可用 ScaleIntensityRanged 处理 CT,用 NormalizeIntensityd(nonzero=True, channel_wise=True) 处理 MRI。

三、偏置场校正与去噪

MRI 受射频场不均匀影响,常出现低频亮度渐变,即偏置场。若不校正,同一组织在图像中心与边缘的灰度可能相差 20% 以上,直接影响分割边界。常用 N4ITK 偏置场校正,关键参数包括控制点间距(如 200 mm)、迭代次数(如 50、50、30、20)和收缩因子(如 4)。校正后应观察白质、灰质灰度分布是否更集中。

去噪方面,CT 可用非局部均值或高斯滤波,MRI 常用非局部均值或 BM3D。去噪强度需谨慎:过强会抹平小病灶边缘,过弱则噪声残留。建议在验证集上比较去噪前后 Dice 变化,而不是仅凭视觉判断。

四、裁剪与数据增强策略

裁剪包括前景裁剪与随机裁剪。前景裁剪根据非零标签的包围盒外扩一定体素(如 10~20 体素),可显著减少背景占比;随机裁剪则用于训练时生成固定尺寸 patch,例如 128×128×128。对于大体积数据,patch 训练是显存受限下的常规选择。

数据增强应针对医学影像的几何与灰度特性设计。常用策略包括:随机旋转(±15°)、随机缩放(0.9~1.1)、随机弹性形变、随机翻转(需注意左右器官语义)、随机亮度与对比度扰动、随机 Gamma 校正、随机噪声与模糊。增强必须同步作用于图像与标签,且对标签使用最近邻插值。MONAI 中可用 RandFlipd、RandRotate90d、RandShiftIntensityd、RandGaussianNoised 组合成增强链。

增强强度不是越大越好。若增强后图像出现明显不真实结构(如器官被撕裂、边界模糊到无法辨认),应降低强度。建议每类增强单独做消融,观察验证集 Dice 是否稳定提升。

五、流水线组织与顺序

一个可复现的预处理流水线应固定顺序:读取与方向统一 → 重采样 → 偏置场校正(MRI)→ 去噪 → 归一化 → 裁剪/patch → 数据增强。顺序变化会改变结果,例如先归一化再偏置场校正,校正算法会受缩放影响;先增强再归一化,则增强引入的灰度扰动会被归一化部分抵消。因此建议把确定性预处理与随机增强分开,前者在 Dataset 初始化时缓存,后者在每个 epoch 动态执行。

医学影像预处理流水线(确定性预处理 + 随机增强) 原始数据 DICOM / NIfTI 重采样 1.0×1.0×1.0 mm 图像双线性 / 标签最近邻 偏置场校正 N4ITK(MRI) 控制点 200 mm 去噪 非局部均值 / 高斯 避免抹平小病灶 归一化 CT: HU 窗截断 MRI: Z-Score 裁剪 / Patch 提取 前景包围盒外扩 10~20 体素 随机 patch 128×128×128 数据增强(仅训练集,图像与标签同步) 旋转 ±15° | 缩放 0.9~1.1 | 弹性形变 | 翻转 亮度/对比度扰动 | Gamma 校正 | 高斯噪声 | 模糊 送入分割网络 几何一致 · 灰度可比 · 尺寸固定 关键检查点 ① 仿射矩阵与标签类别数是否保持 ② 归一化统计量仅来自训练集 ③ 去噪前后验证集 Dice 对比 ④ 增强后结构是否仍真实可辨 ⑤ 确定性预处理缓存、随机增强动态 ⑥ 器官体积(体素数×体素体积)核对 典型参数示例 CT 窗:[-150, 250] HU 脑 CT 窗:[-40, 120] HU N4 迭代:50/50/30/20 N4 收缩因子:4 百分位裁剪:0.5%~99.5% patch:128×128×128

把上述环节串成流水线后,建议先用小批量样本做可视化抽查:随机抽取 5~10 例,逐例查看重采样后的层厚、归一化后的灰度直方图、偏置场校正前后的灰度分布、增强后的图像与标签是否对齐。只有确认每一步都符合预期,再启动大规模训练。预处理不是一次性配置,而是需要随数据分布变化持续复核的工程环节。