论文部分内容阅读
高分辨率(High Resolution,HR)图像在监控、遥感、娱乐、医学等各个方面都有重要应用,提高图像分辨率的方法通常有硬件手段和软件手段。通过硬件手段提升图像分辨率在技术上和成本上往往存在很多问题。图像超分辨率(Super Resolution,SR)重建技术通过软件算法手段提高分辨率,由于其使用方便、成本低的特点受到了广泛研究。近年来深度学习技术迅速发展,超分辨率技术也迎来了新的机会,开启了以此为基础的热点研究领域。同时,随着超分辨率算法的不断进步,复杂度的不断增加,对处理器有了更高要求。目前,由于摩尔定律瓶颈的接近,传统的串行架构处理器难以满足大规模运算的需求,使得并行架构处理器受到了更广泛地关注,同时针对高并行度算法的图形处理器(Graphics Processing Unit,GPU)应用也愈加广泛,以并行处理器为平台的开发方式受到更多青睐。本文对基于卷积神经网络(Convolutional Neural Network,CNN)的超分辨率重建算法进行研究和工程应用的改进,并通过分析算法的并行性,以GPU处理器对算法进行加速和优化,提高了算法的实用性。主要工作包括以下几方面。(1)卷积神经网络超分辨率重建算法的研究与再设计。在网络结构和训练集两方面进行了研究和优化,以提升重建效果。根据该算法未开始重建便已在图像预处理时丢失部分信息这一不足,提出相应的改进方法,即设计了完全卷积神经网络超分辨率重建算法,在几乎不增加重建时间的基础上提升重建质量。针对训练集对重建质量的影响进行分析,在训练集较小的情况下对训练集进行转置处理后加入训练集,有利于提升重建质量。实验分析表明,经过上述改进后的算法在迭代次数为原方法一半的情况下,在超分辨率领域通用的测试数据集Set5和Set14上,分别将平均峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)提升了0.22dB和0.15dB。(2)面向应用的图像分块重建设计及分析。设计并实现了分块的卷积神经网络超分辨率重建方法,实验研究发现,图像分块后各部分所含信息量有很大不同,因此并没有必要对所有图像块执行相同程度的计算量,而是对信息量丰富的区域进行高质量重建,对信息量匮乏的区域进行低质量重建,将宝贵的计算资源提供给能大幅提升重建质量的运算。(3)统一计算设备架构(Compute Unified Device Architecture,CUDA)算法及测试分析。以GPU处理器为基础,使用CUDA-C语言对算法进行重新设计,并分析算法并行性和内存读写方式,使用共享内存和常量内存加速算法。将非线性映射层卷积运算转化为矩阵乘法提高运算效率,并分析计算过程中的重复运算和线程运算逻辑,充分挖掘GPU处理器的计算能力,进一步提高计算速度。实验结果表明,本文使用CUDA加速的方法实现了相比于CPU方法100倍左右的加速比,且PSNR值的计算结果说明CUDA加速基本不影响重建图像的质量。