图像去噪空间差分算子和它的转置以及离散偏差运算都是主要的耗时运算操作。本文将在GPU上开启n个线程同时进行运算,每一个线程返回一个单精度的结果。当进行空间操作时,如空间差分第(i, j)个位置进行运算时需要用到它相邻位置的数据,不同块线程之间不能进行数据共享,故此处应用了GPU的缓存技术[2]。 当算法操作执行一个数据集的归约运算[2],如对偶投影的计算,需要谨慎处理这样的操作,因为程序写得不当可能使运算时间加倍或者产生线程访问数据冲突。在这样的运算中,应将数据先分成大小合适的块,每个块执行部分数据求和,然后再将块中部分数据和再求和,使得GPU处理器众核得到高效利用。当进行分配块时,需要考虑数据传输的带宽限制和GPU本身资源的限制如寄存器、内存等。 本文算法在实现一个全局求和的过程中,每个块有256个线程,每个线程读取全局内存中的1个数据,然后将它们放到一个大小16×16的共享内存块中。每个块执行相同加和操作7次,然后将块中的256个线程中的数据再求和放到事先开辟的部分和全局向量(n2/2048)内存中,这样每个块可以执行2048个数据求和,最后将部分和全局向量内存中的数据求和即可完成本次操作。 在执行不依赖彼此的运行过程中,本文用到了GPU并行计算当中的流处理[15]。每个流是CUDA当中的一个同步单元。一个同步点可以定义多个由CUDA函数cudaThreadSynchronize()控制的流。使用流,可以同时更新对偶变量,因为不同行的更新是独立的。 3 数值结果 理论上,在GPU和CPU上执行的代码迭代次数(Iterations,Iter)应该是相同的,但是当达到一定精度后,就会出现迭代次数的差异,这是由于硬件的限制,算法在CPU上执行的数值运算是双精度,而在GPU上执行的是单精度。图1~2中也反映出,随λ的取值变化,算法在GPU上与CPU上的执行时间的变化不一致。因为在GPU上执行时精度比较低,因此它对参数变化的灵敏度比较低,而在CPU上执行时精度比较高,故它对参数变化的灵敏度较高,所以在CPU上执行算法时时间随参数的变化比较明显。 由于λ的取值也影响着算法迭代的时间,为了方便在不同设备上运行的时间进行对比,那么λ的取值尽量使得在GPU与CPU上运行迭代次数相同或差异控制在5%以内。表1实验结果表明,上述算法在GPU设备上执行的效率高于在CPU上,并且随着计算规模的增加,GPU加速效果更加明显。 4 结语 本文借助GPU计算设备,实现总变分图像去噪对偶算法的并行计算,解决总变分模型在实时图像处理时计算量大、耗时较长的问题。本文仅研究了灰度图像的并行计算,可以更进一步探究彩色图像的并行计算。在应用总变分图像去噪时没有考虑模型中参数选择的问题,参数选择在图像处理中是一个难点和热点问题。GPU并行计算并不仅限于图像处理这一领域,它主要针对具有计算规模大,耗时且实时性要求高的问题,对于这样的问题,都可以在GPU设备上进行并行计算研究。 【参考文献】 [1]CHATTERJEE P, MILANFAR P. Is denoising dead?[J]. IEEE Transactions on Image Processing, 2010, 19(4): 895-911. [2]张舒, 褚艳利. GPU高性能运算之CUDA[M]. 北京:中国水利水电出版社,2009:5-13,141-189.(ZHANG S, CHU Y L. CUDA High Performance Computing GPU[M]. Beijing: China Water & Power Press, 2009: 5-13,141-189.) [3]SANDERS J, KANDROT E. GPU高性能编程CUDA实战[M]. 聂学军,译. 北京: 机械工业出版社, 2011: 3-8. (SANDERS J, KANDROT E. CUDA by Example: an Introduction to GeneralPurpose GPU Programming[M]. NIE X J, translated. Beijing: China Machine Press, 2011: 3-8.) [4]RUDIN L, OSHER S, FATEMI E. Nonlinear total variation based noise removal algorithms[J]. Physica D: Nonlinear Phnomena, 1992, 60(1): 259-268. [5]CHAMBOLLE A, LIONS P L. Image recovery via total variation minimization and related problem[J]. Numerische Mathematik, 1997, 76(2): 167-188. [6]CHAN T F, GOLUB G H, MULET P. A nonlinear primaldual method for total variation based image restoration[J]. SIAM Journal on Scientific Computing, 1996, 20(6): 1964-1997. [7]CARTER J L. Dual methods for total variationbased image restoration[D]. Los Angeles: University of California, 2001: 8-41. [8]ZHU M, WRIGHT S J, CHAN T F. Dualitybased algorithms for total variation image restoration[J].Computational Optimization and Applications, 2010, 47(3): 377-400. [9]CHAMBOLLE A. An algorithm for total variation minimization and applications[J]. Journal of Mathematical Imaging and Vision, 2004, 20(1/2): 89-97. [10]CHAN T F, ESEDOGLU S, PARK F, et al. Total Variation Image Restoration: Overview and Recent Developments[M]. New York: Springer US, 2006: 17-31. [11]POCK T, UNGER M, CREMERS D, et al. Fast and exact solution of total variation models on the GPU[C]// Proceedings of the 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2008: 1-8. [12]LIU L R, SHI L, HUANG W H, et al. Generalized total variationbased MRI Rician denoising model with spatially adaptive regularization parameters[J]. Magnetic Resonance Imaging, 2014, 32(6): 702 -720. [13]BOYD S, VANDENBERGHE L.凸优化[M].王书宁,许鋆, 黄晓霖,译. 北京:清华大学出版社, 2013: 85-89.(BOYD S, VANDENBERGHE L. Convex Optimization[M].WANG S N, XU Y, HUANG X L, translated. Beijing: Tsinghua University Press, 2013: 85-89.) [14]BERTSEKAS D P. Nonlinear Programming[M]. 2nd ed. Nashua: Athena Scientific, 1999: 9. [15]KIRK D B, HWU W M.大规模并行处理器编程实战[M].陈曙晖, 熊淑华,译. 北京:清华大学出版社,2010:65-78.(KIRK D B, HWU W M. Programming Massively Parallel Processors: a Handson Approach[M]. CHEN S H, XIONG S H, translated. Beijing: Tsinghua University Press, 2010:65-78.) [16]DERIN B S, RAFAEL M, KATSAGGELOS A K. Parameter estimation in TV image restoration using variational distribution approximation[J].IEEE Transactions on Image Processing,2008,17(3):326-339. |
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 投稿辅导投稿邮箱:1003158336@qq.com |