论文部分内容阅读
在现代的临床诊断和医学研究中,医学图像处理与分析技术占有重要地位,主要研究内容包括图像增强技术、图像分割技术、图像配准技术、三维重建等方面。医学图像数据量大,处理算法复杂,CPU(Central Processing Unit)处理速度不能满足实际应用中的需求,因此如何准确而且快速地处理海量图像数据成为亟待解决的技术问题。GPU(Graphics Processing Unit)作为一种高度并行的流处理器,具有更强的浮点计算能力。随着GPU通用计算的普及和CUDA(Compute Unified Device Architecture)的推出,GPU不再局限于传统的图像渲染任务,在通用计算方面也发挥着越来越重要的作用。采用CPU和GPU异构编程方式能发挥GPU高强度的计算能力,提高医学图像处理的执行速度本文在国内外医学图像增强的方法和医学图像分割中边缘检测算法的基础上,对图像增强、图像分割中若干算法进行了并行加速。首先,对耗时的三维医学图像同质滤波算法进行数据并行性分析,优化存储器访问,使用接口文件将实验结果与Matlab实现进行误差比较,在保证数据精确性的情况下实现了三维医学图像滤波的高倍加速。其次,在图像分割算法中,着重实现了Canny算子的并行加速。对Canny算子进行数据并行性分析,针对每一步骤都选择合适的并行优化策略,最大限度地实现了程序总体的加速。最后,使用compute profiler等分析工具进一步对并行程序进行优化,通过分析工具提示的潜在优化方向,合理分配GPU资源,根据不同并行程序选择不同的优化方向,达到GPU资源利用率的最大化。三维医学图像数据同质滤波的优化加速比高达77倍,且精度误差在10-8以内(0.000004%),可忽略不计。分割算法中的Canny算子的并行优化也达到了9倍的加速。GPU加速大大缩短了三维医学图像处理的运行时间,解决了医学图像处理的速度瓶颈问题,可以应用于对运行速度有要求的图像处理中。