图形处理器在医学超声成像中的应用研究进展

2015-04-13 04:07陈胤燃罗建文
中国医疗器械信息 2015年11期
关键词:超高速波束计算能力

陈胤燃 罗建文

1 清华大学 医学院生物医学工程系 (北京 100084)

2 清华大学 生物医学影像研究中心 (北京 100084)

0.背景

医学超声成像和CT(X 射线断层成像)、MRI(磁共振成像)、核医学成像并称为现代医学四大成像方式。超声成像具有无创、无痛、无电离辐射、时间分辨率高、便携性高等特点。超声成像的应用领域十分广泛,B 模式超声成像可以观察组织的生理解剖结构,如心血管成像、腹部成像等;超声血流成像可以观察血管内的血流情况;超声弹性成像可以观察组织的力学属性,如乳房、肝脏、甲状腺、血管部位的弹性变化等。

医学超声成像已经有几十年的发展历史。近些年来,一些新的先进成像方法不断被提出,例如平面波复合成像、合成孔径成像等用以提高图像质量或者实现超声超高速成像的方法[1];压缩弹性成像、声辐射力脉冲成像、剪切波成像等弹性成像方法,定性或定量地获得组织弹性模量的信息[2]。这些新方法的提出可以在一定程度上扩大医学超声成像的应用范围,提供给医生和研究者们更多和体内组织的信息,帮助各种相关疾病的诊断。

上述的先进成像方法和传统的成像方法相比具有优势,但它们都存在着一个共同的问题——极大的数据量和计算量。超声成像的最大优势之一就是极佳的时间分辨率,这些先进成像方法同样应该满足超声成像对时间分辨率的要求,甚至达到超高速成像的要求。要让这些先进成像方法实现实时成像,就需要计算能力更加强大的处理器设备。近些年来,图形处理器(Graphics Processing Unit,GPU)在大规模数据计算中展现出强大的性能,GPU 高度的可并行性和强大的数值计算能力使其成为实现医学超声先进成像方法实时成像的有力工具之一。

1.GPU并行计算

1.1 GPU 与通用计算

GPU 是一种专门用于在个人计算机、工作站、游戏机和一些移动终端等电子设备上负责图形计算、显示的微处理器。目前主流的计算机中负责计算的处理器是中央处理器(CPU)和图形处理器GPU,其中GPU 只负责图形的渲染、显示等工作,除此之外的大部分运算工作都交给CPU。近些年来,随着科学技术的不断发展,许多研究领域出现了“数据井喷”的情况,如航天航空、全球气候预报、生命科学等,数据规模已经达到了TB(240Byte)甚至是PB(250Byte)量级[3]。不断增加的数据量和对处理器计算能力要求的不断提高,促使GPU 从纯粹的图形处理器逐渐向通用计算领域发展。

图1. CPU 和GPU 抽象硬件结构模型

和CPU 相比,GPU 的计算能力和存储带宽具有明显的优势,图1 是CPU 和GPU 的抽象硬件结构模型图,从图中可以看出,作为一种通用的处理器,CPU 需要兼顾不同计算任务的需要,因此在硬件构成方面需要有较大的缓存和复杂的逻辑控制单元,而用于计算的核通常只有1 至8 个(常见的如双核、四核处理器等)。GPU 和CPU 相比,减小了复杂的逻辑控制单元和缓存空间,取而代之的是更多的计算核心,如NVIDIA公司的Tesla K80c GPU 具有4992 个计算核,最高单精度浮点性能达到8.74 TFlops,和CPU 相比更适合对大规模的数据进行并行计算。

自1999 年由NVIDIA 公司发明第一款GPU问世以来,GPU 的发展就一直保持着很高的速度。近几年来,GPU 的性能几乎每一年都可以翻倍,这个速度大大超过了CPU 发展所遵照的摩尔定律(每18 至24 个月性能翻倍),目前主流GPU 的单精度浮点计算能力已经达到了同时期CPU 的10倍左右,外部存储器带宽则可以达到5 倍左右[4]。

1.2 GPU 简介

目前编程控制GPU 进行运算的工具主要是开放语言运算(Open Computing Language,OpenCL)和NVIDIA 公司推出的统一计算设备架构(Compute Unified Device Architecture,CUDA)。

OpenCL 是第一个面向异构系统通用目的的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核CPU、GPU、Cell类型架构以及数字信号处理器(digital signal processing,DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。

2007 年,NVIDIA 公 司 推 出 了CUDA。CUDA 是一种将GPU 作为数据并行计算设备的软硬件体系,开发人员可以从C 语言比较平稳地过渡到CUDA 编程中,比较容易实现基于GPU的通用计算。与以往的GPU 相比,支持CUDA的GPU 在硬件架构上有显著的改进,一是采用了统一处理架构,可以更有效地利用过去分布在顶点渲染器和像素渲染器的计算资源;二是引入了片内共享存储器,支持随机写入和线程间通信[3]。

2.GPU在超声波束合成中的应用

2.1 超声超高速成像

超声超高速成像是近年来医学超声成像的研究热点之一[5,6],平面波成像是实现超高速成像的最常用方法,由于只需一次发射/接收即可获得一幅二维图像,平面波成像的理论最高成像帧频可以达到几千甚至上万帧/秒。

通过多角度相干复合,平面波成像可以在保证图像质量的前提下,大幅度提高成像帧频,实现超声超高速成像。由于发射和接收模式的改变,波束合成器单位时间内需要处理的数据量也相应地大幅度增加,现有的基于现场可编程门阵列(FPGA)等设备的波束合成器的计算能力无法满足超高速成像的要求[7]。近些年来,基于GPU 的超声超高速波束合成器研究成为了超高速成像的研究热点之一。

2.2 GPU 应用研究进展

GPU 在超声超高速成像中主要应用于波束合成环节。超声波束合成主要有频率域基于傅里叶变换的波束合成方法和时间域的延时-叠加波束合成方法,GPU 应用基本集中于基于时间域的延时-叠加方法。延时-叠加波束合成包括延时值计算和通道数据叠加两个环节,延时值计算是根据要合成像素点的位置,结合声波发射和接收的模式,计算出该点的发射延时和接收延时,根据延时值在射频数据的对应通道中找到来自于该像素点的回波信号;叠加是在找到不同通道中来自于同一个像素点的回波信号后,对所有的信号进行加权叠加(也叫加权变迹)。施加的窗函数可以是固定的,如矩形窗、汉宁窗、汉明窗等,也可以是通过最小方差算法计算出的自适应窗函数。延时-叠加方法中每一个像素点的计算都是独立的,具有高度的并行性,因此可以通过GPU 的并行计算功能实现,和传统的串行方法相比大幅度提高合成速度[7]。

在超声波束合成的GPU 应用中,Elnokrashy等人将GPU 应用于四维超声体数据的重建和渲染,在保证图像重建质量的条件下达到了实时的要求[8]。Romero 等人使用GPU 并行计算加速合成孔径成像的波束合成,和CPU 合成器相比实现了超过一个数量级的加速倍数[9]。

将GPU 应用于超声超高速成像,重点在于线程的任务分配和数据存储策略的优化。通常的做法是分配GPU 中的一条线程负责一个像素点的计算,一个线程块负责一个通道的数据处理;数据存储策略方面,受制于GPU 中共享存储器和寄存器大小的限制,大量的数据主要存储于全局存储器中,共享存储器和寄存器只用于存放少量的需要重复计算和读写的数据。在具体应用方面,Hou 等人提出用基于GPU 的稀疏矩阵波束合成方法来加速相控阵球面波成像的波束合成,和传统的方法在CPU 上实现的结果相比,提速明显[10]。Yu 等人利用多块GPU 分工合作,分别计算平面波复合成像和合成孔径成像,在一定的成像深度和波束合成参数下,成像帧频可以达到5000 帧/秒[7,11]。图2 是GPU 波束合成器的系统框图,从图中可以看出多个GPU 并行计算取代了传统的波束合成器,其中多块GPU 用于合成不同偏转角度下的平面波图像,一块GPU 用于多角度相干复合操作[7]。更多的GPU 应用于超声波束合成的应用研究可以参考[12~21]。

图2. 基于GPU 的超声波束合成器系统框图[7]

上述的GPU 在超声波束合成中的应用都是采用固定的变迹系数(即固定的接收窗函数),为了提高波束合成的图像质量,Babak 和Ali 提出了最小方差波束合成方法,最小方差方法通过自适应地计算接收变迹系数,抑制旁瓣的水平,在保持轴向分辨率的前提下,提高横向分辨率[22]。由于自适应计算过程计算复杂,因此该方法很难达到实时成像的要求。为了实现自适应波束合成的实时实现,Yu 等人用多块GPU 并行计算,通过合理的线程分配和存储策略优化,在一定的自适应参数条件下,能够实现该波束合成方法的实时成像[23,24]。

3.GPU在超声弹性成像中的应用

3.1 超声弹性成像

生物组织的弹性信息在疾病诊断中具有重要的参考价值。因此,20 多年来,弹性成像得到快速发展[25]。其中,压缩弹性成像首先获取压缩前后的两幅超声图像,在压缩前的图像中选定多个二维分布(不同扫描线、不同深度)的搜索数据窗,每一个搜索数据窗对应于压缩后图像中的一个搜索范围,通过不同的算法,如零相位、互相关等,计算出该搜索窗口所对应的点经过压缩之后的位移(轴、横向位移),并在压缩前图像中通过添加伪彩的形式表示出组织位移,再进行应变分布的计算或弹性模量的重建等。与压缩弹性成像一样,其他弹性成像方法也都涉及组织位移的估计,其算法具有多重的可并行性,如不同的数据窗在搜索范围内的搜索过程是相互独立的,一段数据窗在搜索范围内和不同数据段进行互相关计算的过程也是相互独立的等。因此,可以将弹性成像的计算任务并行地划分给GPU 中的不同线程块和不同线程,进行并行计算,加速弹性成像的计算速度。

3.2 GPU 应用研究进展

在目前的研究中,GPU 主要被应用于超声弹性成像中计算量最大的环节——位移估计。Deshmukh 等人利用GPU 加速动态编程超声弹性成像算法,和传统方法相比加速27 至20 倍[26];Yang 等人利用CPU 和GPU 的混合编程,将数据量大且可并行的部分交给GPU 进行加速运算,实现了基于互相关算法的轴向位移和应变的估计,帧频满足了实时成像的要求[27];Rosenzweig等人将GPU 并行计算应用于加速声辐射力脉冲成像(ARFI)中的两个算法,即三次样条插值和Loupas 二维自相关位移估计,和单个CPU 的计算能力相比,实现了40 倍左右的加速效果[28];Tan 和Wang 通过对传统超声弹性成像位移算法的研究以及结合声辐射力位移的特点,提出了一种适合于GPU 加速的快速组织位移估计新算法,该算法在保持和常用算法相似的效果的前提下,速度提高了近100 倍[29]。Lü 等人利用GPU 实现了零相位算法的位移估计和最小平方算法的应变估计,和CPU 计算相比提速20 倍左右[30]。

在利用GPU 加速归一化互相关(NCC)算法的应用中,Hou 等人在谐波运动估计成像中,用GPU 加速一维NCC 算法,在离体肝脏实验中,和传统的基于CPU 的方法相比提速显著,从数据采集到位移图显示的帧频最高达到15 帧/秒[10]。Grondin 和Konofagou 等人在心脏内心肌弹性成像中也运用了GPU 进行算法加速[31]。Montagnon等人使用一维搜索窗,分别对比了多核CPU、GPU 和单核CPU 的加速效果,采用GPU 时的帧频可以达到80 至173 帧/秒[32]。Deshmukh 等人同样采用一维的搜索窗口进行NCC 算法位移估计,帧频最高可达到78 帧/秒,在他们的工作中应用了电磁跟踪系统来定位超声探头的位置,获得比徒手操作更加稳定的图像质量,该工作还与达芬奇手术机器人配合,探索了实时弹性成像在手术中的应用[33];Idzenga 等人采用GPU 加速基于二维搜索窗口的NCC 算法,二维搜索窗相比一维的计算量更大,他们的工作在保证和传统方法相比没有损失图像质量的情况下,实现了数百倍的加速比,帧频为9 帧/秒左右[34,35]。图3 给出了一种基于GPU 并行计算的2 维位移估计算法,从图中可以看出在主机端,压缩前的图像被分割成若干有重叠的数据块,压缩后的图像中则对应地找出了这些数据块的搜索范围,在GPU 中这些数据块和各自的搜索范围被并行地分配到不同的线程中进行二维位移的估计,最后再将两个维度的位移结果返回至主机端中[34]。更多的GPU应用于超声弹性成像的应用研究可以参考[36~44]。

图3. 二维位移估计算法并行化计算图示[34]

4.GPU在超声血流成像中的应用

血流成像是医学超声成像中的重要部分,包括频谱多普勒和彩色血流成像两种。在频谱多普勒成像中,Wang 等人利用CUDA 编程GPU 加速,一条线的脉冲多普勒计算时间仅为7.6 us,和CPU 相比提速92 倍[45]。在彩色血流成像中,Fan等人利用GPU 加速,在一定的参数下达到了300 帧/秒左右的帧频[46];Chang 和Li 等人利用GPU加速彩色多普勒成像,帧频达到160 帧/秒[47,48]。另外,Yiu 和Yu 提出用超高速平面波成像和彩色编码散斑成像结合用于血管分叉处复杂血流的成像,并用GPU 加速该方法,提供了一种比彩色血流成像更形象化的血流成像方法[49]。更多的GPU应用于超声弹性成像的应用研究可以参考[50,51]。

5.系统可行性分析

在目前的应用中,大部分医学超声设备的信 号处理器是现场可编程门阵列(FPGA)、数字信号处理器(DSP)及专门设计的电子设备等[7]。这些设备的性能尚无法达到超高速成像等先进超声成像方法实时成像的要求。GPU 作为计算能力更强的处理器,凭借其高度的并行性和强大的数值计算能力,在超高速成像等先进超声成像的实时实现中发挥了重要的作用。但GPU 和其他的处理器相比,功耗更大且数据传输带宽有限、存储空间也有一定的限制。Yu 等人通过对多种处理器组合在超声合成孔径成像中的计算能力、效率功耗比、价格等参数的比较,认为GPU 具有作为下一代超声设备信号处理器的潜能,但只单独利用GPU 是不够的,在从前端数据采集到中间数据处理、最后显示和储存的完整流程中,还需要和FPGA、CPU 等设备的结合才能够发挥出最佳的系统性能[52]。

6.展望

目前GPU 已经在超声成像的多个研究方向中有了初步的或者是较为成熟的应用,GPU 的高度可并行性和强大的数值计算能力也在一定程度上符合一些先进超声成像方法的实时要求。但较高的功耗、有限的内部存储空间、主机和GPU 之间的数据传输带宽等因素目前也限制了GPU 成为新一代医学超声设备的处理核心。随着技术的不断发展,GPU 在超声成像中的进一步应用是值得期待的。

[1] MONTALDO G, TANTER M, BERCOFF J, et al. Coherent plane-wave compounding for very high frame rate ultrasonography and transient elastography [J]. Ultrasonics, Ferroelectrics and Frequency Control, IEEE Transactions on, 2009, 56(3): 489-506.

[2] OPHIR J, C SPEDES I, PONNEKANTI H, et al. Elastography: A Quantitative Method for Imaging the Elasticity of Biological Tissues [J]. Ultrasonic Imaging, 1991, 13(2): 111-34.

[3] COOK S. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs [M]. Newnes, 2012.

[4] KIRK D B, WEN-MEI W H. Programming massively parallel processors: a hands-on approach [M]. Newnes, 2012.

[5] 何琼,罗建文. 超高速超声成像的研究进展 [J]. 中国医学影像技术, 2014, 8):

[6] TANTER M, FINK M. Ultrafast imaging in biomedical ultrasound [J]. Ultrasonics, Ferroelectrics and Frequency Control, IEEE Transactions on, 2014, 61(1): 102-19.

[7] YIU B Y, TSANG I K, YU A C. GPU-based beamformer: fast realization of plane wave compounding and synthetic aperture imaging [J]. IEEE transactions on ultrasonics, ferroelectrics, and frequency control, 2011, 58(8): 1698-705.

[8] ELNOKRASHY A F, ELMALKY A, HOSNY T M, et al. GPU-based reconstruction and display for 4D ultrasound data; proceedings of the Ultrasonics Symposium (IUS), 2009 IEEE International, F, 2009 [C]. IEEE.

[9] MARTI, X, N-ARGUEDAS C J, et al. An ultrasonic imaging system based on a new SAFT approach and a GPU beamformer [J]. Ultrasonics, Ferroelectrics and Frequency Control, IEEE Transactions on, 2012, 59(7): 1402-12.

[10] HOU G, PROVOST J, GRONDIN J, et al. Sparse matrix beamforming and image reconstruction for real-time 2D HIFU monitoring using Harmonic Motion Imaging for Focused Ultrasound (HMIFU) with in vitro validation [J]. IEEE transactions on medical imaging, 2014,

[11] YIU B Y S, TSANG I K H, YU A C H. Real-time GPU-based software beamformer designed for advanced imaging methods research; proceedings of the Ultrasonics Symposium (IUS), 2010 IEEE, F 11-14 Oct. 2010, 2010 [C].

[12] 夏春兰, 石丹, 刘东权. 基于 CUDA 的超声 B 模式成像 [J]. 计算机应用研究, 2011, 28(6): 2011-5.

[13] NILSEN C C, HAFIZOVIC I. Digital beamforming using a GPU; proceedings of the Acoustics, Speech and Signal Processing, 2009 ICASSP 2009 IEEE International Conference on, F 19-24 April 2009, 2009 [C].

[14] LIM S, KWON K, SHIN B-S. GPU-based interactive visualization framework for ultrasound datasets [J]. Computer Animation and Virtual Worlds, 2009, 20(1): 11-23.

文献[15]~[52]略。

猜你喜欢
超高速波束计算能力
浅谈如何提高小学生的计算能力
小学生计算能力的提高策略
为HDMI2.1标准的普及保驾护航 详谈Ultra High Speed超高速HDMI线材认证
基于共形超表面的波束聚焦研究
超波束技术在岸基光纤阵中的应用
小学生计算能力的培养
毫米波大规模阵列天线波束扫描研究*
中国风投行业迎来超高速发展
浅谈小学生计算能力的培养
基于ST-SRCKF的超高速强机动目标跟踪算法