第1章 超声成像基础

1.1 超声物理原理——说白了就是声波那点事

超声成像,本质上就是向人体发射高频声波,然后接收回波。频率通常在2-18MHz之间。我个人习惯把超声探头想象成一个「声呐」,只不过它探测的不是海底,而是人体组织。

声波在组织中传播时,会遇到不同声阻抗的界面。声阻抗差越大,反射越强。比如骨骼和软组织的界面,反射就特别强,所以骨表面在图像上总是亮白的。我在项目中遇到过一个问题:当患者体内有金属植入物时,后方会出现大片黑色区域,这就是声影伪影。

核心公式(记住这个就够了):

声阻抗 Z = ρ × c
其中 ρ 为密度,c 为声速

反射系数 R = (Z₂ - Z₁)² / (Z₂ + Z₁)²

嗯,这里要注意:声波在人体软组织中的平均速度约为1540 m/s。这个数值在算法中经常用到,比如计算深度时。

1.2 B模式成像——最常用的灰度图

B模式,全称Brightness Mode。说白了就是把回波强度映射成灰度值。回波强的地方亮,回波弱的地方暗。这就是我们平时看到的黑白超声图像。

B模式成像的流程大致是这样的:

  1. 探头发射超声波束
  2. 接收不同深度的回波信号
  3. 进行对数压缩(动态范围压缩)
  4. 扫描转换(从极坐标到直角坐标)
  5. 显示在屏幕上

你想想看,原始回波信号的动态范围可能达到100dB以上,但显示器的动态范围只有20-30dB。所以必须做对数压缩。我刚开始做算法时,曾经因为压缩参数没调好,导致图像对比度极差,被临床医生骂了一顿。

我的经验:对数压缩的底数一般取10或e。底数越小,压缩越强,图像越柔和。底数越大,压缩越弱,细节越丰富。我个人习惯用log10,然后配合一个增益系数。

1.3 M模式成像——看运动的神器

M模式,全称Motion Mode。它其实是在B模式的一条扫描线上,把时间维度展开。横轴是时间,纵轴是深度,灰度表示回波强度。这样就能看到组织随时间的运动轨迹。

M模式最经典的应用是心脏超声。你可以看到二尖瓣的运动曲线,像一条波浪线。我记得有一次做胎儿心率检测,M模式清晰显示了胎儿心脏的搏动,比B模式直观多了。

M模式成像的关键参数:

参数 典型值 说明
扫描线位置 用户可调 在B模式图像上选择一条线
时间分辨率 1-5 ms 取决于脉冲重复频率
显示时长 2-10秒 可滚动查看历史数据

1.4 多普勒成像——血流看得见

多普勒效应,你肯定听说过。火车靠近时声音变尖,远离时声音变低。超声多普勒成像就是利用这个原理来测量血流速度。

多普勒成像主要有三种:

  • 频谱多普勒(PW/CW):显示血流速度随时间的变化曲线。PW有距离选通,CW没有。
  • 彩色多普勒:在B模式图像上叠加彩色血流信息。红色通常表示朝向探头,蓝色表示远离。
  • 能量多普勒:只显示血流的存在与否,不显示方向。对低速血流更敏感。

我曾经在彩色多普勒的壁滤波参数上栽过跟头。壁滤波是用来滤除血管壁运动的低频信号。如果滤波太强,会把低速血流也滤掉;如果太弱,血管壁的闪烁伪影就会干扰图像。这个参数需要根据具体应用场景来调。

避坑指南:我曾经因为多普勒角度校正没做好,导致血流速度测量值偏差了30%。记住,多普勒频移与血流方向和声束方向的夹角余弦成正比。夹角越大,误差越大。临床上一般要求夹角小于60度。

1.5 超声图像特点与伪影——算法工程师的噩梦

超声图像有几个显著特点,也是算法处理的难点:

  • 斑点噪声:这是超声图像固有的,由散射体之间的干涉造成。看起来像细小的颗粒。
  • 衰减:声波在组织中传播时能量逐渐减弱。深部组织通常更暗。
  • 各向异性:某些组织(如肌腱)在不同角度下回波强度差异很大。

常见的伪影包括:

伪影类型 表现 产生原因
声影 强反射体后方出现黑色区域 声波被完全反射或吸收
增强 液性区域后方出现亮区 声波衰减减小
混响 等间距的平行亮线 声波在探头表面和组织之间多次反射
旁瓣 强反射体旁边的虚假图像 旁瓣波束接收到回波

嗯,这里要特别说一下斑点噪声。很多初学者以为斑点噪声是随机噪声,可以用均值滤波去掉。其实不是。斑点噪声是乘性噪声,与组织结构相关。用均值滤波会模糊边界。我建议用各向异性扩散滤波或者小波变换来处理。

算法工程师的忠告:处理超声图像前,一定要先理解伪影的物理成因。否则你设计的算法可能在正常图像上表现很好,一到临床数据就崩了。我曾经花了两周时间设计一个边缘检测算法,结果在胆囊图像上把混响伪影当成了真正的组织边界,检测结果一塌糊涂。

超声成像基础就讲到这里。下一章我们会深入讨论超声图像预处理算法,包括去噪、增强和归一化。到时候我会分享一些实际项目中用到的代码片段。