基于分布式多图像处理器的医学影像体绘制算法

2012-09-09 04:09商洪涛唐辉徐
中国医学装备 2012年8期
关键词:透明度医学影像图像处理

商洪涛唐 辉徐 涛

基于分布式多图像处理器的医学影像体绘制算法

商洪涛①唐 辉①徐 涛①

目的:计算机医学图像处理具有所需计算量和计算涉及数据量巨大的特点,需将高性能计算技术应用于计算机医学图像处理中,以适应计算涉及数据量大和计算速度快的要求。方法:计算统一设备架构(CUDA)技术可使图像处理单元(GPU)进行通用并行计算,使其能够提供强大的计算能力。由于分布式并行计算是实现高性能计算的主要方式,故提出一种实用的分布式并行计算模式,即基于分布式多GPU的并行计算模式,其中多台计算机将使用消息传递接口(MPI)并行编程环境配置成分布式集群系统。结果:以医学影像体绘制算法为例分析该计算模式,使得其算法计算时间较短,计算效率较高。结论:使用MPI集群和GPU进行算法加速,可很好地解决无法实现医学影像的实时三维重建的问题。

分布式多图像处理单元;光线投射体绘制;医学影像处理;算法

近年来,随着计算机科学技术的快速发展,在医学领域可以利用计算机获取、存储、传输、处理各种医学影像和医学管理信息,从而极大提高了工作效率。医学与计算机科学技术相结合的边缘学科的大量涌现对医学的快速发展起着重要的作用。计算机应用技术在医学中的应用主要包括:计算机辅助诊断和辅助决策系统、医学信息系统、卫生行政管理信息系统、计算机医学图像处理与图像识别系统等。

1 分布式多图像处理单元

在现代医学研究与临床诊断中许多重要信息都是以图像的形式出现的。以往医学图像是由医生进行低效率的人工分析和处理。而随着计算机应用技术在医学图像处理方面应用的逐步加深,计算机医学图像处理所面临的困难也更加复杂。其中医学图像处理

要求的计算量特别巨大、计算所涉及的数据量非常大是影响计算机医学图像处理技术发展和实际应用的关键问题所在。分布式集群计算与利用图像处理单元(graphic processing unit,GPU)并行能提供巨大的计算量,因此分布式GPU计算模式对于医学影像处理技术的发展和应用是很有价值的。基于对多种并行计算模型的分析,提出使用基于分布式多GPU的并行计算模式,即:使用消息传递接口(message passing interface,MPI)组成具有并行计算能力的计算机集群,集群中的计算机利用计算统一设备架构(compute unified device architecture, CUDA)技术使用GPU进行计算。使用MPI组成计算机集群[1]。

2 MPI集群和CUDA技术简介

2.1 MPI集群

MPI产生于1994年,经过数年的发展已成为消息环境并行计算的标准。MPI是并行计算机消息传递接口的标准,其在性能、功能和移植性上有较好的平衡,是目前最广泛使用的并行编程环境。由于MPI具有移植性好、效率高、功能强大等优点,适用于分布内存的并行计算机系统的消息传递模型[2]。集群系统是利用网络将一组计算机按某种结构链接起来,在并行程序设计支持下协调处理、统一调度,实现高效并行处理的系统。本文涉及的集群是使用MPI并行程序设计环境和消息传递方式实现的各主机之间的并行处理和通信。

2.2 GPU和CUDA技术

随着GPU的快速发展,其单精度浮点计算能力已远高于CPU。CUDA是NVIDIA公司于2006年在GeForce 8800系列显卡上推出的统一设备架构,是将GPU用于通用计算(GPGPU)的一种实现,它改变了GPU的编程及存储模式,使得GPU编程简单易学并极大地发挥了GPU的并行计算能力[3]。CUDA实现了GPU通用并行计算的能力,其硬件体系结构由若干单指令多数据的多处理器组成,每个多处理器有一个共享内存、固定缓存、纹理缓存。CUDA的程序设计语言以C语言为基础实现,因此更加灵活并便于学习。CUDA的并行计算能力来自于在GPU上同时大量运行的线程,这些线程以网格的形式组成了线程块,并且共享一块内存中的数据就可实现数据的并行处理[4]。

3 三维可视化算法原理

体绘制技术的实现是对三维离散数据场重新采样和医学图像合成的过程。体绘制技术有很多实现方式,其中,由Levoy提出的光线投射算法是一种图像空间扫描的实现体绘制的离散方法[5],它所针对的数据是符合规则数据场类型的。由CT或MRI产生的体数据,符合数字影像和通信(digital imaging and communications in medicine, DICOM)标准,该数据属于规则数据场类型。

该算法定义分布在均匀网格或规则网格的网格点上的三维空间数据为 f(xi,yj,zk)。可以根据某种数据值分类的方法,将数据空间中的数据根据数值不同而进行分类,可以得到数据空间中每个数据点的颜色值和不透明度值。假定从屏幕上每个像素点发出一条射线,该射线沿着已设定的观察方向射出并穿过三维数据场,在这条射线上选择K个采样点。在数据空间中找到距离该采样点最近的8个数据点,根据这8个数据点的颜色值和不透明度值进行三次线性插值,求得该采样点的颜色值和不透明度值。然后将该射线上K个取样点的颜色值和不透明度值计算出来,最后将其颜色值和不透明度值按照某种规则加以合成,所得到的则是发出射线的像素点的颜色值和不透明度值。屏幕上所有像素点都经过同样的过程求得其颜色值和不透明度值,便得到数据空间的三维可视化结果(如图1(a)、(b)所示)。

图1 光线投射算法说明图

图1所示为该过程的说明,光线沿着视线方向从屏幕发出并穿过体数据空间,假设射线上存在重采样点P,由三维数据空间 f(xi,yj,zk)可知与P相邻近的8个体元的颜色值和不透明度值。根据这8个体元的颜色值和不透明度值进行三次线性插值便得到P的颜色值和不透明度值。将射线上所有采样点的颜色值和不透明度值合成,即可得到屏幕上该像素的值。

4 分布式多GPU体绘制算法的实现

4.1 基于CUDA的光线投射体绘制加速算法

由于CPU和GPU的体系结构所决定,CPU在分支处理和随机内存访问方面具有GPU所不具备的优势,在处理串行工作上具有先天的优势。而GPU因其特殊的核心设计,在处理具有大量浮点并行计算时有天然的优势。使用CPU+GPU的异构运算方式可实现对计算机的高效使用。

利用CUDA实现光线投射算法时,使用GPU上大量的线程模拟屏幕上像素点发射出的射线。线程首先根据采样点附近的体元进行三次线性插值,进而得到采样点的颜色和不透明度数据,再将该射线上的所有采样点的颜色和不透明度数据按合适的规则进行累加,得到屏幕上某个像素点数据值。由于每条模拟光线相互并行且无干扰,因此每个线程执行的指令相同,而处理的数据不同。这非常符合CUDA的计算模式—“多线程,单指令”[7],具体步骤如下。

(1)首先在主机端初始化CUDA环境。然后医学影像序列从CPU的内存以三维纹理的形式映射到GPU的显存中[8]。同时依据结果图像的大小(像素的数量)确定GPU中调用的线程的组织结构及数量。实验中使用的线程块为16×16,最终的图像为512×512。

(2)计算包围盒。算法中的视点发出的射线有些并没有穿过体数据空间,即该射线在计算过程中是无效的,导致不需进行计算的射线参与了计算过程。为减少不必要的计算量,先假设体数据周围存在一个包围盒,只有穿过包围盒的光线才有可能通过物体,是应该计算的有效光线[9]。

(3)取得每条射线上采样点的颜色值和不透明度值,此过程可由GPU自动完成[10]。并将射线上所有采样结果进行累加,得到像素点的最终颜色值和不透明度值,最后将结果图像显示到屏幕上[11]。

CUDA的工作模式如图2所示。

图2 CUDA的工作模式

4.2 基于MPI集群多GPU的体绘制算法

MPI的并行工作模式为“单指令,多数据”模式。算法思路是将计算任务分配到集群中的各个计算机上,并使用其GPU进行体绘制算法的计算,具体实现步骤如下。

(1)配置MPI环境。在局域网中使用MPI将若干计算机联接组成集群。实验中使用两台计算机组成集群,初始化MPI环境,将需处理的医学影像序列在集群内广播,并在所有机器内保存所需处理的数据集。

(2)分配计算任务。在集群内将计算任务平均分配。

(3)在每个计算节点使用基于CUDA的光线投射算法,使用GPU进行计算。计算完成后将计算结果汇集到主节点,组成结果图像并显示。

4.3 实验结果及分析

实验效果如图3所示,实验数据为标准DICOM医学影像,实验数据为200层的头部数据和400层的腿部数据,单层图像为512×512。实验设备为两台个人PC机,显卡为NVIDIA GeForce 9800系列,显存为1 GB,内存为4 GB。

图3 腿部和头部实验效果图

实验对头部和腿部医学图像序列进行了体绘制工作,同时对光线投射算法在CPU、GPU和本文算法的计算时间进行对比(见表1)。实验中假定集群中的每台计算机保存有数据集,并不需要网络的传输,而算法中没有将传输时间记录其中。从表中可看出本文的算法计算时间比较短,计算效率较高。由于MPI在各机器间有同步工作,因此其加速比并不呈线性增长。

表1 CPU、GPU和本文算法实验结果的对比

5 结论

光线投射算法相比与其他三维重建可视化算法,其成像质量比较高,同时所需计算量大、时间长,往往在实际应用中无法实现医学影像的实时三维重建。使用MPI集群和GPU进行算法加速则可很好地解决这一问题,在保证影像重建质量的同时保证了计算速度的要求。

[1]都志辉,李立三.高性能计算并行编程技术—MPI并行程序设计[M].北京:清华大学出版社,2001.

[2]袁景艳,刘方爱,赵芳芳.基于MPI的集群系统的研究[J].信息技术与信息化,2010(2):33-35.

[3]NVIDIA.CUDA compute unified device architecture: programming guide version 2.3[J]. Santa Clara California August,2009(32):105.

[4]吴磊,王斌.基于CUDA的体绘制GPU加速算法[J].生命科学仪器,2009,12(7):26-29.

[5]唐泽圣.三维数据场可视化[M].北京:清华大学出版社,2000:10.

[6]张尤赛,陈福民.三维医学图像的体绘制技术综述[J].计算机工程与应用,2002,38(8):18-19.

[7]张浩,李利军,林岚.GPU的通用计算研究[J].计算机与数字工程,2005,33(12):60-61.

[8]杨传琦.大规模数据体绘制及多维传输函数技术的研究与实现[D].浙江大学硕士学位论文,杭州:浙江大学,2006:5-6.

[9]冯高峰.基于Cell多核的光线投射并行算法[J].计算机应用,2009,29(1):245-247.

[10]薛剑,田捷,戴亚康,等.海量医学数据处理框架及快速体绘制算法[J].软件学报,2008,19(12):3237-3248.

[11]王文举,侯德文.几种变换域体绘制算法的比较研究[J].计算机技术与发展,2008,18(4):80-83.

Volume rendering algorithm of medical image on distributed GPUS

SHANG Hong-tao, TANG Hui, XU Tao

Objective: Medical image processing with computer needs great computation and process lots of data, so high performance computing will be applied to medical image processing, in order to adapt the great computation requirement. Methods: The CUDA (Compute Unifed Device Architecture ) technology introduced from NVIDIA , made the GPU use the general purpose parallel computing, which provide powerful computational capabilities. The computing power was used in the paper. As distributed parallel computing is the main way to realize high performance computing, this paper presented a practical distributed parallel computing model. It is based on distributed multi-GPU (Graphic Processing Unit) of the parallel computing model, where multiple computers using MPI (Message Passing Interface) parallel programming environment configured as a distributed cluster system. Results: Make an analysis of the computing model, which is based on medical image volume rendering algorithm. It is shown that the algorithm takes less computing time and has higher computational efficiency. Conclusion: The problem of real-time 3D reconstruction in medical image has been solved by using the MIP clusters and the GPU to accelerated the effect of this algorithm.

Distributed multi-GPU; Volume rendering; Medical image processing; Algorithm

Department of Medical Engineering, General Hospital of Beijing Command, Beijing 100700, China.

1672-8270(2012)08-0004-04

TP391.41

A

商洪涛,女,(1977- ),本科学历,主管技师。北京军区总医院医学工程科,从事测试计量技术方面的工作,研究方向为生物医学工程。

2012-04-05

①北京军区总医院医学工程科 北京 100700

China Medical Equipment,2012,9(8):4-7.

猜你喜欢
透明度医学影像图像处理
《中国医学影像杂志》稿约
结合多层特征及空间信息蒸馏的医学影像分割
海战场侦察图像处理技术图谱及应用展望
医学影像技术在医学影像诊断中的合理运用
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
影像组学在核医学影像中的应用进展
基于ARM嵌入式的关于图像处理的交通信号灯识别
机器学习在图像处理中的应用
中国FTA中的透明度原则
企业社会责任与信息透明度