APP下载

基于GPU的超声场仿真成像平台

2016-06-30杨昕炜岳天阳文继飞

电脑知识与技术 2016年14期
关键词:并行计算

杨昕炜++岳天阳++文继飞

摘要:对超声场进行仿真是典型的高计算量算法。为了在有限时间内得到运算结果,在设计算法时点波源和观察点的个数常受到很大限制。而利用图形处理单元(graphics processing unit ,GPU)并行计算可以有效地提升该算法的计算速度。我们基于Ultrasim工具箱的仿真原理,通过设置一系列观察点来接受并计算球面波的瑞利索末菲积分,实现了使用GPU的仿真平台。因为在每一个观察点处需计算的压强和其他观察点的结果是相互独立的,因此本算法非常适合使用GPU进行并行计算。在设置了15万个观察点的条件下,与Ultrasim工具箱的仿真速度相比,本平台提供的算法将速度提升了约400倍。

关键词:超声场;算法仿真;并行计算;图形处理单元;图像并行处理算法

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)14-0232-02

GPU Based Simulator of Ultrasound Pressure Fields

YANG Xin-wei, YUE Tian-yang, WEN Ji-fei

(SiChuan University, Chengdu 610207, China)

Abstract: Simulation of ultrasound pressure fields is representative computationally demanding algorithm. In order to get results back in finite time, the number of source points and observation points are often limited. The introduction of graphics processing unit (GPU) can significantly speed up this algorithm. The simulator is implemented which based on the same principle as the Ultrasim toolbox, where spherical waves responses from several point sources are accumulated in a set of observation points, hence solving the Rayleigh-Sommerfeld integral. For each calculation at a given observation point is independent of the result at all other observation points, the problem is therefore perfect for GPU computing. Compared with Ultrasim we give a 400 times speedup when simulating on 150K observation points.

Key words: Ultrasound Pressure Field; Algorithm simulation; parallel processing; Graphics Processing Unit; parallel algorithm for image processing

1 引言

在超声成像领域,声场仿真软件是一种用于研究传感器阵元如何工作的重要工具,它让研究人员可以深入研究超声仿真成像的具体过程。传统上,超声场仿真的主要缺点是对较大的声场进行仿真需要耗费大量时间。因此,为了在有限时间内得到运算结果,通常只能设置较少的点波源和观察点。而图形处理单元的引入使得运算量大但具有并行特点的算法的计算速度得到了显著提升。在本文中,我们提出了一种基于GPU的模拟平台,来完成具有高并行特征的超声场仿真计算。

在医学成像中,超声成像是相对一种安全、便捷的诊断方式,所以现在已经有一些超声仿真平台被广泛使用。其中的代表有被认为是超声仿真的标杆的,由J.A.Jensen实现的Field II平台[1],及另外一种较常用的提供其他功能的平台Ultrasim工具箱[2]。它们的主要差别如下:Field II是基于Matlab的插件,它提供了一系列函数以便于使用者对大型而复杂的模拟环境进行设置和研究,主要被用于超声成像和波束的仿真;而Ultrasim则提供了一个可以设置各种参数的图形界面,其提供的结果为传感器接收的波形的仿真。我们选择参考Ultrasim进行模拟器的设计,因为它的功能与我们只需要对超声场进行仿真的功能更为接近。

与Field II所使用的空间冲击响应原理不同,Ultrasim的设计主要基于惠更斯原理。我们同样基于惠更斯法则[3]来计算超声场中球面波的叠加,即波面上的每一点都可看成是发射次波的波源,各自发出球面次波,在以后某一时刻,这些次波的包络面,就是该时刻的新波面,如图1所示。球面波的球面积元可以通过瑞利索末菲积分[2]计算得到:

(1)

其中表示法向速度,r为点波源到传感器的距离。由上式可见,在声场中某一点的波的叠加状态的计算与其他点的计算是无关的。GPU非常适合进行这种运算,因为在GPU中每一个线程的运行是独立于其他的线程的。在本算法中只需要为GPU提供选定的观察点和点波源的数据信息,它就可以让每一个线程单独的为一个观察点进行计算。典型的使用了GPU来实现超声仿真成像的系统有[4]和[5]。

本平台被设计为一种交互式工具,用户可以直接通过点击或者拖拽来设置单个点波源或者线波源,在波源设置完成后还可以从空间的不同角度对形成的声场进行观察。这样的设计让本平台除了用于科学研究之外也可以用于课程教学,以示范波束形成的原理。

2 方法

本平台通过将由瑞利索末菲积分求得的球面波S离散化为一系列点波源。如图一所示,在处的超声场压强p可以被视为一系列球面波在该点处的叠加:

3 设计

通过(2)式可知,在一个任意给定的点处的声场能量强度与在声场中的其它点都是无关的。因此每一个观察点的结果都可以被保存在GPU内存的一个单独的位置里。所以本算法具有高度的并行性,能够非常好的利用图形处理单元并行处理数百个线程的能力。对(2)式的实现算法如图2所示,其中每一个GPU中的线程对应着一个观察点。这里选择观察点为基本单元的主要原因是在仿真过程中通常观察点的数量要大于波源点的数量,这样成像的质量将会更高。在本算法中,每一个给定块中的线程同时运行,将所有的波源点和它们对应的属性加载到共享存储器中。然后共享存储器每次广播一个波源点的数据,让这一个块中的所有线程同时对这一个波源点的数据进行运算。而观察点和波源点的数据则存储在全局存储器中以供合并访问,这样可以最大化地利用全局存储器的吞吐量,以提升算法效率。

基于GPU对惠更斯原理的实现。每一个线程对应一个观察点,即图中的一个网格。每个线程读取对应的观察点数据后把所有的波源点及对应的属性加载到共享存储器中,然后由共享存储器广播当前需要处理的波源点。和S的值存储在全局存储器中以便于进行合并访问。

本平台提供了Matlab的脚本语言和图形用户界面这两种接口作为前端输入。Matlab接口的直观性较差,但是用户可以更加灵活的调整输入参数。用户可以提供在图2中列出的存储在全局存储器中的各项参数,程序会给出每个观察点的压强作为返回值。设置传感器阵列并进行仿真成像的计算则留待用户自行完成,但本平台给出了范例代码作为参考。

由于计算速度得到了提升,本平台设计了一种更为直观并且交互性更强的输入输出方式。在图形用户界面下,用户可以通过鼠标设定点波源,而程序则会立刻计算并给出对声场的仿真。本平台提供了两种波源输入模式,在点击模式下,用户每单击一次鼠标左键,就会设定一个点波源,而在拖拽模式下,用户通过点击并拖动鼠标来设定由一系列等距点波源构成的一条线波源。这两种输入模式均支持单次波和连续波的仿真模式。应当注意的是,图形用户界面主要的设计目的是为用户提供一个直观且交互性强的仿真过程,并不能保证仿真的精确度,如果用户希望得到精确的仿真结果应当使用Matlab接口。

在设定好波源后,用户可以通过按住右键拖拽的方式来在空间中旋转观察形成的超声场,进而从多个角度研究波束聚焦的方式,其中包括但不限于下列方法:切趾法的效果,对旁瓣和旁瓣辐射的研究及近场到远场的变换等。图3给出了图形用户界面的显示效果。

4 结论

本文实验中所使用的GPU为NVIDIA GTX970,显存为4096MB,核心频率为1076MHz,48个多处理器,使用的CPU为Intel i7-870四核处理器。

本研究通过GPU实现了惠更斯原理并有效提升了算法效率,并且提供了一种可以交互式研究超声场的图形界面。图4给出了在设定了不同波源点数量的情况下本平台和Ultrasim的仿真效率的对比。值得注意的给出的运算时间中Ultrasim的计量单位为秒,而本平台的计量单位为毫秒,从中可以明显看出相比于传统的基于CPU的实现方法,本平台实现的基于GPU的实现的超声场仿真速度提升了约400倍。由此可见GPU是一种适合于超声成像仿真算法的平台。

参考文献:

[1] J. A. Jensen and N. B. Svendsen.Calculation of pressure fields from arbitrarily shaped, apodized, and excited ultrasound transducers[J]. IEEE transactions on ultrasonics, ferroeletrics, and frequency control, vol. 39, no. 2, 262-7, Jan. 1992.

[2] S. Holm.Ultrasim - a toolbox for ultrasound field simulation[C]. in Nordic Matlab conference, 2001.

[3] “Treatise on Light by Christiaan Huygens.” [OL]. Note: http://www.gutenberg.org/ebooks/14725

[4] M. Hlawitschka, R. J. McGough, K. W. Ferrara, and D. E. Kruse.Fast ultrasound beam prediction for linear and regular two-dimensional arrays[J]. IEEE International Ultrasonics Symposium. IEEE, Oct. 2010, pp. 2199–2202.

[5] S. U. Gjerald, R. Brekken, T. Hergum, and J. DHooge.Real-Time Ultrasound Simulation Using the GPU[J]. IEEE Transactions on Ultrasonics, Ferroelectrics and Frequency Control, vol. 59, no. 5, pp. 885–892, 2012.

猜你喜欢

并行计算
基于自适应线程束的GPU并行粒子群优化算法
云计算中MapReduce分布式并行处理框架的研究与搭建
并行硬件简介
不可压NS方程的高效并行直接求解
Spark计算引擎的数据对象缓存优化研究
最大匹配问题Tile自组装模型