论文部分内容阅读
图像去噪是三维超声成像系统的重要研究内容。基于非局部均值的滤波算法能够有效地去除超声图像中斑点噪声,平滑超声图像的连续区域,提供给重建高质量图像。虽然非局部均值滤波方法能够有效去除斑点噪声,但是其算法的复杂性高,难以满足实时性要求。而实时三维超声成像系统要求各个模块对数据的处理都能达到实时,特别是将超声成像技术应用于手术导航上时,实时的图像显示变得尤为重要。非局部均值滤波的方法在超声图像去噪上已经有了很多应用,本文也实现了基于C++的非局部均值滤波算法。如何将串行的算法设计为并行算法,由二维图像扩展到三维图像并且选择合适的硬件设备是设计并行算法的难点。近年的研究热点GPGPU技术在处理大规模数据上显示了其优势。2007年Nvidia推出了CUDA(Compute Unified Device Architecture,统一计算设备架构)将GPGPU的应用推向了更广泛的领域,CUDA技术已经被应用于石油勘测、天文计算、图像处理等领域。本文将非局部均值滤波算法分解为多个步骤,确定串行执行部分和并行执行部分,采用CPU+GPU异构模式,由CPU负责执行复杂逻辑处理和事务管理等串行部分,由GPU负责计算密集型的大规模数据并行计算。通过实验分析,对原始含噪声数据进行二维、三维的去噪,比较了两种方法的去噪效果,并且设计使用了CUDA加速的并行计算的方法,此并行算法的执行效率远远高于串行计算,但是具体算法的实现必须与平台硬件工具和设计方案相匹配。设计CUDA并行程序,关键在于如何分配线程任务、线程间通行、同步、以及算法最优化等。本文实现了基于非局部均值算法的实时三维超声图像滤波的GPU加速;介绍并总结了CUDA程序开发技术及并行算法优化技术。