4. 超声图像去噪工程
超声图像中的斑点噪声(speckle)并不是普通意义上的加性高斯噪声,而是相干成像系统在组织散射体回波叠加后形成的乘性干涉图样。若把观测图像记为 I(x,y),无噪声反射率记为 R(x,y),则常见模型可写为 I = R · N,其中 N 服从均值为 1 的某种分布(如 Gamma 或 Rayleigh 强度形式)。工程上常先做对数变换 log I = log R + log N,把乘性噪声转为加性噪声,再送入后续滤波器。这一步决定了去噪算法是在“乘性域”还是“加性域”设计,也直接影响参数标定方式。
去噪目标不是把图像磨平,而是在抑制斑点的同时保留解剖边界、钙化斑强反射、囊肿后方回声增强等诊断信息。因此评价指标不能只看 PSNR,还要看边缘保持指数、对比度噪声比(CNR)以及医生对病灶边界的判读信心。工程实现中通常把去噪放在波束合成之后、扫描转换之前或之后,位置不同,噪声统计和实时性约束也不同。
空域滤波:从 Lee 到 SRAD 的工程实现
Lee 滤波是最经典的乘性斑点抑制方法。设局部窗口内均值 μ、方差 σ²,噪声方差 σ_n²,则权重 k = 1 − σ_n²/σ²,输出 R̂ = μ + k(I − μ)。当局部方差接近噪声方差时,k→0,强平滑;当局部存在边缘使方差远大于噪声方差时,k→1,保留原值。工程实现时窗口常取 5×5 或 7×7,σ_n² 需按系统增益和 TGC 分段标定,否则暗区过平滑、亮区去噪不足。
Frost 滤波把权重改为指数形式 w = exp(−K·σ²/μ²·d),其中 d 为像素到中心距离,K 为衰减系数。它对边缘的响应比 Lee 更柔和,但 K 需要按探头频率和成像深度调。SRAD(Speckle Reducing Anisotropic Diffusion)则用偏微分方程迭代,扩散系数由局部统计的瞬时变异系数决定,能在均匀区强扩散、在边缘处停止扩散。其迭代次数和步长是实时性关键:例如 512×512 图像、20 次迭代、每步 4 邻域更新,在 CPU 上约 8~15 ms,可满足 30 fps;若迭代 50 次则可能超过 30 ms,需要 GPU 或降采样。
变换域去噪:小波阈值与 BM3D 的取舍
小波去噪先对对数域图像做 3~4 层分解,对高频子带采用软阈值 T = σ_n√(2 log N) 收缩系数,再逆变换。软阈值连续、无振铃,但会轻微削弱弱边缘;硬阈值保边好但易产生伪吉布斯条纹。BayesShrink 按子带自适应估计阈值,在超声斑点抑制中比统一阈值更稳。工程上常用 sym4 或 db4 小波,分解 3 层,阈值按子带噪声标准差估计,计算量约 5~12 ms(512×512,CPU)。
BM3D 通过块匹配把相似块堆叠成 3D 组,在变换域协同滤波,再聚合回原图。它对斑点噪声抑制和纹理保持都很好,但单帧耗时可达 100 ms 以上,通常只用于离线增强或高端工作站。若要在实时链路中使用,可改为“引导图 + 快速 BM3D”或只在关键帧触发。
深度学习去噪:数据、网络与部署约束
深度学习去噪的核心是学习从含噪图像到干净图像(或干净图像到噪声残差)的映射。训练数据可用仿真斑点叠加到干净超声图,也可用同一位置多帧平均作为“近似干净”标签,或用 Noise2Noise、Noise2Self 等自监督策略避免成对数据。网络可选 DnCNN(残差学习、17 层)、U-Net(编码-解码+跳连)、或轻量 MobileNet 风格结构。损失函数常用 L1 + 感知损失 + 边缘一致性项,防止过平滑。
部署时需关注:输入尺寸是否固定、是否支持 batch=1、是否量化到 FP16/INT8、GPU 显存与功耗。以 512×512 单帧为例,U-Net 在桌面 GPU 上约 10~20 ms,在嵌入式 GPU 上可能 40~80 ms,需通过剪枝、蒸馏或只在 ROI 区域推理来满足 30 fps。若延迟仍不达标,可退化为“空域滤波 + 轻量 CNN 残差修正”的混合方案。
参数示例与判断依据
| 方法 | 关键参数 | 典型耗时(512×512,CPU) | 适用场景 |
|---|---|---|---|
| Lee 5×5 | σ_n² 按深度分段 | 2~4 ms | 实时预览、低功耗设备 |
| SRAD | 迭代 20 次,步长 0.1 | 8~15 ms | 实时+较好保边 |
| 小波 BayesShrink | sym4,3 层 | 5~12 ms | 实时/准实时 |
| BM3D | 块 8×8,搜索 16 | 100~300 ms | 离线增强、科研 |
| U-Net FP16 | 输入 512×512,batch=1 | 10~20 ms(GPU) | 高端实时、GPU 可用 |
判断去噪是否达标,可先看均匀区标准差是否下降 40%~60%,再看囊肿边界 CNR 是否提升 1.5 dB 以上,最后确认强反射界面没有出现振铃或模糊。若帧率低于 25 fps 或操作延迟超过 80 ms,应降低迭代次数、缩小窗口或改用轻量模型。去噪不是越强越好,而是在诊断信息、图像质量和实时性之间找到可接受的平衡点。