节点文献

基于GPU的三维医学图像处理算法研究

Research on Algorithms of GPU-Based 3D Medical Image Processing

【作者】 李冠华

【导师】 欧宗瑛;

【作者基本信息】 大连理工大学 , 机械设计及理论, 2009, 博士

【摘要】 医学图像处理与分析技术不仅极大地提高了现代医学临床诊断水平,而且为医学培训、教学与研究、手术导航等提供了数字实现手段,成为推动现代医学发展的重要力量。因此,关于医学图像处理与分析技术的研究一直是国内外广大学者所关注的焦点,这对保证人们身体健康和提高人们身体素质具有重大意义。根据当前实际应用的需求,采用直观的包含丰富信息的3D数据代替简单的2D图像已成为医学图像处理领域的发展趋势。但是,在目前的个人电脑中进行三维数据处理仍是一个非常耗时的计算过程,不能满足实际应用中的实时性要求,这主要归因于三维图像包含数据量较大,而且各种医学图像处理算法相对复杂、计算量较大。因此,如何进一步提高三维医学图像处理算法的计算效率,使其满足实时应用的需求,是当前该领域内一个亟待解决的问题。近年来,计算机图形处理器(Graphics Processing Unit,GPU)得到了极大地发展,从最初局限于图形渲染的图形卡,发展为如今可编程的并行计算平台。针对GPU的高级编程语言如Cg、HLSL等使得人们更加容易对其进行编程控制,并应用在渲染之外的通用计算方法,如偏微分方程求解、矩阵运算等。与CPU的串行计算模式不同,GPU是一种高度并行的流处理器,具有更强的浮点计算能力,在物理模拟、信号分析等许多领域人们将高强度的计算任务以适当的方式转化为流数据计算模式,通过编程在GPU中进行加速计算,通常能获得一个数量级的速度提高,这也是当今的热点研究问题之一。因此,通过对GPU编程发挥其高强度计算能力来解决三维医学图像处理的速度瓶颈,提高算法的执行效率,将是一个十分有应用价值的研究内容。本文首先研究了可编程图形处理器的体系结构及其流式编程模型。GPU的体系结构以图形流水线为基础,提供了顶点处理器和片段处理器的可编程特性,通过OoenGL等编程接口与主程序进行通信。GPU将用户编写的程序作为运算核对数据流中的多个元素同时进行处理,实现高度的并行计算。但根据流计算的特点,GPU程序对存储器的访问将受到一定的限制。在此基础上,本文研究了高效的三维医学图像处理算法,主要包括基于3D纹理的精确体绘制方法、CPU-GPU联合工作模式加速基于互信息的3D图像刚性配准、GPU加速的圆弧轨迹Katsevich锥束CT重建算法,具体内容为:(1)基于3D纹理的体绘制方法是一种高效的三维医学体数据可视化手段,但由于受低采样率的影响,在最终绘制图像中往往会出现切片痕迹,造成图像质量较差。分段积分是提高绘制图像质量的有效方法,它首先对每个采样段应用体绘制积分方程,然后沿视线方向将所有采用段进行累加,得到较好质量的绘制图像。采样段内的颜色值通常采用线性表达式代入到体绘制积分方程中,但由于人体各组织之间关联复杂,线性插值不能很好地近似采样段内的颜色变化,本文通过计算每个采样段中点采样位置得到更加精确的抛物线近似表达,并进一步求解体绘制积分方程,将其化简为易于在GPU中实现的形式。通过顶点处理器计算采样段三个控制点位置的纹理坐标,利用片段处理器计算采样段上的积分方程。实验结果表明该方法在保证实时绘制速度的同时取得了更好的绘制图像质量。在此基础上,本文进一步改进了基于剪切几何体的剖切绘制方法,降低内存使用,提高剖切绘制的速度。(2)针对基于互信息的3D医学图像刚性配准,提出一种基于CPU-GPU联合工作模式的加速方法。最外层的搜索算法需要复杂的逻辑控制,但计算强度小,适合CPU计算。在搜索过程中调用互信息计算函数,首先将浮动图像进行空间变换和三线性插值,然后统计与参考图像之间的联合直方图,并根据联合直方图计算熵和互信息值。空间变换和三线性插值约消耗互信息计算函数的85%时间,而且适合并行计算,因此将其移植至GPU中执行。采用平面三维纹理、渲染到纹理等技术编写顶点程序和片段程序,在GPU中执行三线性插值,并将结果读入系统内存,继续由CPU完成互信息值计算。实验结果表明,与传统方法相比,该算法在获得相似配准精度的情况下,将配准速度提高了一个数量级。(3)改进滤波反投影方法在GPU中的实现技术,并应用于圆弧轨迹Katsevich精确锥束重建算法中。Katsevich算法首先对投影数据进行滤波处理,包括偏导数计算、傅立叶变换、Hilbert变换等,这个过程由CPU完成,并将滤波后的投影数据传递到GPU内存,进行反投影计算。本文利用帧缓冲对象(FBO)的多个绑定点,将上一次的输出作为下一次渲染的输入,在GPU中完成所有射源转角下的反投影数据累加;采用浮点纹理映射保证重建图像的质量;设置RGBA四通道纹理实现数据级的并行计算;采用四叉树编码的矩形网格加速绘制过程。本文GPU加速的重建方法所得图像质量已非常接近于传统CPU重建方法,而重建速度却提高了10倍以上。最后,本文总结了三维医学图像处理算法在GPU平台上运行时的编程特点,主要包括GPU的存储器模型、三维数据结构、并行策略和程序优化等。

【Abstract】 Medical image processing and analyzing techniques not only greatly improve the clinic diagnosis level but also provide digital methods for medical training,teaching and researching, surgical navigation and so on,which becomes an important factor for promoting development of the modern medicine.Study on the medical image processing techniques is always the attention focus of many researchers at home and abroad,and this is very helpful to improve people’s health condition and physical quality.In order to meet well the needs of practical application,simple 2D images are replaced by the intuitional 3D data that embodies rich information,which is the developing trend of medical image processing.However,nowadays 3D data processing on the common personal computer is very time consuming due to the large amount of data and the complexity of algorithms,which can not meet the real-time applications.So,how to improve further the performance efficiency of 3D medical data processing is a problem to be resolved urgently.In recent years,computer graphics processing unit(GPU) has been developing rapidly from initial graphics card used only for rendering to contemporary programmable parallel computing platform.Moreover,high-level programming languages such as Cg and HLSL make it easy to perform general-purpose computation expect for rendering such as solving partial differential equations and matrix operations by programming for GPU.Different with the serial computation model of CPU,GPU is a kind of parallelism stream processor with highly floating computing power.In many research areas such as physics simulations and signal analysis,researchers transfer the high intensity computation duties to GPU in a suitable style,and there is always an order of magnitude speedup through programming for GPU, which is also one of the hot topics for research.So,solving the problem of speed bottleneck of 3D medical image processing algorithms by programming for GPU and exploiting its highly processing power will be a good research topic with great application values.This dissertation firstly studies the architecture of GPU and the streaming programming model.Architecture of GPU is based on the graphics pipeline which provides programmable vertex processors and fragment processors that communicate with the main program through API such as OpenGL.GPU programs written by users are used as operation kernels which process simultaneously many elements of the data stream so as to realize highly parallel computing.However,according to the features of streaming parallel computing,operations of GPU programs on memory buffer are restricted.On this basis,the dissertation researches efficient algorithms of 3D medical image processing which include precise volume rendering method based on 3D texture mapping,mutual information based 3D image rigid registration on a CPU-GPU united platform,and GPU accelerated Katsevich cone-beam CT reconstruction algorithm for single circular arc trajectory.(1) 3D texture mapping based volume rendering methods can rapidly render the volume data,but slicing artifacts results are frequently observed in the rendered images because of low sampling rate.Piecewise ray integration is one of the effective methods to improve rendering quality,which applies volume rending integral equation firstly to each sampling segment and then blends all of them along the viewing ray.Color of each segment in the integral equation is always represented as a linear expression.However,the linear expression can not well represent color changes in each sampling segment because of complex correlation among human body tissues.A more precise parabola expression is presented in the dissertation for piecewise integration,and the volume rendering integral equation is further resolved so that it can be easily used in GPU shaders.The vertex shader calculates texture coordinates of three sampling positions of each sampling segment,and the fragment shader evaluates integral function on the sampling segment.Experimental results show that the proposed method can achieve excellent rendering images.On basis of the rendering method volumetric textures based clipping rendering algorithm is improved in order to decrease memory usage and increase clipping rendering speed.(2) An accelerating method of CPU-GPU united platform for mutual information based 3D medical image rigid registration is proposed,in which the optimization searching algorithm is performed on CPU because of its complex logical control and less intensity computation.In the process of optimization searching mutual information calculation function is evoked,which is divided into two steps,i.e.spatial transformation of floating image,and calculation of value of mutual information.Spatial transformation and tri-linear interpolation usually consume about 85%of the total mutual information calculation time and are suitable for parallel computation,so it can be performed on GPU.Tri-linear interpolation is performed on GPU by using flat 3D texture and render to texture techniques.The rendered results are transferred to main memory for further computation.Experimental results show that GPU accelerated method can achieve speedup about an order of magnitude with excellent registration results compared to the traditional software implementation on CPU.(3) The techniques of filtered backprojction algorithm performed on GPU are improved and used in the Katsevich cone-beam CT reconstruction algorithm for single circular arc trajectory.Katsevich method firstly filters the projection data,including partial derivative computation,Fourier transform,and Hilbert transform,which are performed on CPU.The filtered projection data are transferred to GPU memory for backprojection computation.The output of a given rendering pass is used as input in the next one by using multiple attachment points of frame buffer object(FBO),and then all the backprojection data gotten from different rotation angle are added on GPU.Floating texture mapping is used to guarantee excellent quality of reconstructed images.RGBA four channel textures are set to realize data-parallel computation.Quadtree structure is used to code the rectangular grid for accelerating rendering process.Compared with the traditional CPU applications,the proposed GPU accelerated method can achieve not only almost the same quality reconstruction images but also a speedup of more than ten times.Lastly,the dissertation summarize features of GPU programming method for the 3D medical image processing algorithms,which mainly include GPU memory mode,3D data structures,parallel strategies,and program optimization.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络