4. 医疗数据预处理与边缘适配
医疗边缘推理的输入很少是“干净”的。影像科输出的是 DICOM 序列,监护设备输出的是多通道生理波形,两者都带有各自的元数据、量纲、采样率和隐私约束。边缘端算力、内存和功耗有限,不可能把原始数据原封不动地送进模型。因此,预处理不是推理前的“杂活”,而是决定模型在边缘端能否稳定、合规、低延迟运行的关键工程环节。本节围绕四件事展开:DICOM 与生理信号的解析、归一化、ROI 提取,以及如何把它们组织成一条轻量预处理流水线。
一、DICOM 解析:先读元数据,再读像素
DICOM 文件由文件头、数据集和像素数据组成。真正影响后续处理的是数据集中的标签(Tag),例如 (0028,0010) Rows、(0028,0011) Columns、(0028,0100) BitsAllocated、(0028,1052) RescaleIntercept、(0028,1053) RescaleSlope、(0028,1054) RescaleType,以及 (0028,0002) SamplesPerPixel、(0028,0004) PhotometricInterpretation。像素值本身通常是无量纲的存储值,必须经过 Rescale 才能还原为有物理意义的量:
HU = pixel_value * RescaleSlope + RescaleIntercept
// CT 典型值:Slope=1, Intercept=-1024,空气约 -1000 HU,水约 0 HU
解析时要注意三点。第一,PhotometricInterpretation 为 MONOCHROME1 时灰度是反的,需要翻转,否则模型看到的明暗关系与训练集相反。第二,多帧或增强序列要按 (0020,0032) ImagePositionPatient 或 (0020,0013) InstanceNumber 排序,否则切片顺序错乱会破坏三维结构。第三,PixelRepresentation 决定像素是有符号还是无符号,读错会直接产生数值溢出。边缘端建议只解析必要标签,避免加载完整数据集造成内存峰值。
二、生理信号解析:采样率、通道与时间对齐
生理信号常见于 ECG、PPG、呼吸和血压。解析的核心是采样率、通道顺序和时间基准。以 500 Hz、12 导联 ECG 为例,每 2 ms 一个采样点,10 秒片段就是 5000 点 × 12 通道。若设备以 16 位有符号整数存储,原始幅值需按量程换算为 mV:
value_mV = raw * (ADC_full_scale_mV / 2^15)
// 例:量程 ±5 mV,raw=16384 → 约 2.5 mV
多设备数据进入边缘节点时,时间戳可能来自不同时钟。若不做对齐,ECG 的 R 峰与 PPG 的脉搏波会错位,融合特征就失去意义。工程上常用统一时间基准(如设备单调时钟)加线性插值重采样到公共频率,例如统一到 250 Hz。对缺失段,短缺口可线性插值,长缺口应标记为无效而不是强行填补,避免模型学到虚假模式。
三、归一化:按模态选择,而不是一刀切
归一化的目标是让输入分布接近模型训练时的分布。CT 常用窗宽窗位截断后再缩放到 [0,1],例如肺窗 WL=-600、WW=1500,把 [-1350,150] HU 映射到 [0,1]。MRI 没有统一 HU,通常对每个序列做 z-score 或百分位裁剪(如 1%–99%)后归一化。生理信号则更适合按通道做 z-score,或使用固定物理量纲(mV)后除以经验尺度。需要强调的是:归一化参数必须与训练时一致,边缘端应把均值、标准差、窗宽窗位作为配置固化,而不是每次在线重算。
四、ROI 提取:把算力花在真正有信息的地方
ROI 提取既降算力又降噪声。对胸片,可先用阈值和连通域定位肺野,再裁剪到包含肺部的矩形;对 CT 肺结节,可在肺窗上做阈值分割,取最大连通区域的外接框并外扩 10–20 像素,保证结节边缘不被截断。对 ECG,ROI 是 QRS 波群附近的时间窗,例如以 R 峰为中心前后各 200 ms。ROI 的坐标必须可逆地映射回原图,便于医生复核和结果叠加显示。
下面这张图给出一条典型的边缘端轻量预处理流水线:DICOM 与生理信号分别解析后,经过归一化和 ROI 提取,汇入统一张量,再送入推理引擎。图中同时标出了各环节的关键参数与输出形态,便于对照实现。
五、流水线组织与边缘适配要点
把上述环节串成流水线时,建议按“解析 → 归一化 → ROI → 张量组装”分阶段实现,每阶段只保留必要中间结果。影像侧可先做 ROI 再归一化,减少无效像素的运算量;信号侧可先重采样再归一化,避免插值引入的幅值偏差被放大。张量组装时统一为 NCHW 或 NHWC,并明确 dtype:若后续要跑 int8 量化模型,需在流水线末端做量化校准,而不是在推理时才转换。
边缘适配还要考虑并发与背压。当 DICOM 序列较大而生理信号持续到达时,可用有界队列加丢弃策略,优先保证实时通道不被阻塞。所有预处理步骤应记录耗时和丢弃计数,便于现场定位是解析慢、归一化慢还是 ROI 慢。最后,任何裁剪、缩放、翻转都必须与训练时的几何变换保持一致,否则模型精度会在部署后明显下降。