基于特征补偿的深度神经网络重建超分辨率图像

2019-09-06 02:22应自炉龙祥
关键词:纹理分辨率卷积

应自炉,龙祥

(五邑大学 智能制造学部,广东 江门 529020)

图像超分辨率重建可以应用在城市安防、卫星遥感、医学图像等多个领域,具有重要的研究价值,其实现方法包括基于插值法[1]、基于重建法[2]和基于学习法[3-5]等.2006年,Geoffrey Hinton[5]提出深度学习算法,该算法被成功地应用在多个领域,并且取得了很好的实验结果.2014年,Dong等人[6]提出基于卷积神经网络的图像超分辨率(Super Resolution Convolutional Neural Network,SRCNN),首次将深度学习方法应用在SRR.SRCNN是一个三层的卷积神经网络,该网络建立了经过插值处理后的LR图像和HR图像之间端到端的映射关系.其实验结果远超前人提出的方法.Kim等人[7]在前人的基础上增加了网络的深度提出基于深度卷积神经网络的图像超分辨率算法(Very Deep Super Resolution),取得了比SRCNN更好的结果.深度学习算法的广泛应用使得图像超分辨率重建在最终的图像质量上取得了较大的进步,但是仔细比较重建后的图像与目标图像后,深度学习算法在图像的高频细节恢复上还有所欠缺.因此,本文提出一种基于特征补偿的深度神经网络重建超分辨率图像算法.该算法将针对图像的纹理细节恢复问题,从而进一步提高图像质量.主要工作是将低分辨率图像的高频信息单独提取并进行上采样处理后再与重建后的图像融合,形成特征补偿,提取低分辨率图像的高频信息使用U型网络[8],同时为重建出质量更高的图像,本文算法引入密集型卷积网络[9]思想用以增加网络深度.

1 相关理论基础

1.1 U型网络

图像超分辨率重建的难点之一就是如何更好地恢复图像中的纹理细节.在文献[10]中使用了sobel算子提取图像的高频部分,然后结合低分辨率图像重建出锐化程度较高的超分辨率图像.但该方法存在提取的边缘鲁棒性不够等问题,导致最终的效果不理想.U型网络能够较好地避免该缺点,因为经过训练后的网络提取的纹理细节更加丰富.U型网络将输入图像依次进行卷积和池化处理,得到具有代表性的纹理图像,再将其依次进行卷积和上采样处理,并与之前具有相同大小的特征图融合,防止特征信息遗漏.模型结构如图1所示,将图像传输到U型网络,可以得到该图像的高频纹理图,如图2所示.观察图2可以看出U型网络能够较好提取轮廓信息.

图1 U型网络框图

图2 U型网络提取纹理效果图

1.2 密集型卷积神经网络

随着卷积神经网络结构的日益加深,网络在训练过程中的前传信号和梯度信号在经过很多层之后可能会逐渐消失.目前常用解决办法都是创建一个跳跃连接层来连通前后层.密集型卷积神经网络就是基于这个理念,将网络中的所有层两两连接,使得网络中每一层都接受前面所有层的特征作为输入.该网络可以在一定程度上减轻训练过程中梯度消失问题,并且由于大量的特征被重复使用,使用少量的卷积核就能够生成大量的特征,模型参数量较少便于训练.网络结构如图3.

图3 密集型网络结构图

2 本文算法

2.1 本文网络结构

图像超分辨率重建是通过提取低分辨率图像的细节信息,并将提取的细节信息经过重建等步骤得到其相应的高分辨率图像.这种端到端的非线性映射关系可以使得网络能够学习到低分辨率图像的高频信息.对比训练结果与目标图像如图4所示,可以看出纹理细节恢复有所欠缺.因此,本文提出一种基于特征补偿的图像超分辨率重建网络来提高图像的质量.

图4 纹理损失图

SRCNN是深度学习应用在图像超分辨率重建的开山之作,其网络模型只包含三层卷积层.首先使用双三次插值将LR图像放大成目标尺寸,通过三层卷积网络拟合非线性映射,最后输出HR图像.

本文网络结构在SRCNN基础上进行改进,结构如图5所示,首先需要对LR图像分别做3种方式的处理:第一,对LR图像做卷积处理提取底层特征图,再将特征图输进密集型卷积网络,这样可以保证深层结构的同时,确保网络中各层之间的最大特征信息流的交互,网络中使用跳跃的短路径作为残差连接.通过短路径将所有具有相同特征映射大小的特征图连接起来,每一层的输入都附加前面所有层的输出,这种从前面层到后续层的短路径不仅可以缓解梯度消失问题,而且增强了特征传播,促进了特征再利用,保留了前向传播的特性.之后与提取的底层特征图做融合处理,形成残差学习,可以有效避免梯度消失现象.经过重建模块后得到HR图像;第二,对LR图像进行插值处理使其与目标图像大小相同,此部分为重建后的图像补偿低频信息;第三,LR图像经插值处理后,将图像的颜色空间转换为YUV模式,并将Y层图像传输进U型网络用以提取纹理特征,此部分的目的是为重建后的图像补偿高频信息.

其中,R、G、B分别表示输入图像的3个图层.

在网络模型的末端将U型网络输出的纹理图像与重建后的图像相乘,再与插值处理后的图像相加,得到最终的HR图像.通过高频特征信息和低频特征信息补偿后得到HR图像质量更高,视觉效果更好.

图5 本文算法结构图

3 实验过程

3.1 实验环境及参数

实验所用计算机的CPU为InterCore i3-7350k,GPU为GeForce GTX1080,内存为16 Gb,操作系统为Ubuntu16.04,深度学习框架为Tensorflow,加速库为CUDA Toolkit 8.0,图像处理库为OPENCV3.4.在学习率的设置上,本文采用学习率衰减的方法以防止训练时间过长.在本实验中学习率初始化为0.001,每训练10个epoch,学习率衰减一半.采用随机梯度下降法(SGD)训练网络.

3.2 训练与测试数据集

本文采用DIV2K数据集为训练集.该数据集由1 000张高清图片组成,每张图片的像素在200万左右.图片的细节部分清晰,适合用来作为超分辨率训练.通过旋转、缩放等方式对数据进行增强,使得数据扩充数倍,可以有效避免过拟合.测试集使用Set5,Set14,BSD100,Urban100等标准图像超分辨率重建评价数据集.

3.3 实验评价标准

为验证本文算法的实际效果,分别对3个测试集进行实验,并且与当前主流的图像超分辨率重建算法进行对比.实验结果采用通用的图像质量客观评价标准:峰值信噪比(PSNR).PSNR是基于对应像素点间的误差,即误差敏感图像质量评价.PSNR的值越高表示图像质量越好,其计算方法如下:

其中Yi表示LR,Xi表示HR,θ是权值参数和偏置的集合,MSE为真实图像与重建图像的均方误差i表示训练集的图片,n一般取8.

3.4 实验过程

首先对训练数据集中每张图像按照步长为16进行截取,得到若干个分辨率为128×128像素的原始HR图像块,然后随机取64个图像块作为一个batch.对每一个batch中的图像块做4倍的下采样,得到32×32像素的LR图像.密集型网络的设置为10层卷积层,卷积核的大小设置为3×3,通道数为64.在训练过程中每一张输入的LR图像都有其对应的HR图像来计算他们之间损失值,神经网络模型通过LR到HR这种端到端的映射关系学习到网络中的权值参数.本文算法使用的是L1损失函数即MSE,计算方法如下:

3.5 实验结果及分析

将本文算法与插值法、A+和SRCNN算法在Set5数据集的单张图像上测出其效果图的PSNR值,如表1所示.从表中数据对比可以看出,在放大的尺度因子为3的前提下,本文算法在4个测试数据集上得到的平均PSNR值均优于其他方法.

表1 超分辨率算法4种测试集的PSNR平均值

为了更加直观地表现特征补偿深度网络算法的有效性,本文算法与插值法、A+、SRCNN图像超分辨率算法进行对比.分别在Set5,Set14,BSD100和Urban100测试数据集中各随机抽取一张图片,将他们都进行3倍下采样处理,再输入到各个网络模型中,实验效果对比如图6所示.通过观察图6,本文算法相比于插值法和SRCNN算法,PSNR均高于其他图像,纹理细节更加饱满.

图6 本文算法与其他算法重建效果对比图

4 结论

本文提出了一种基于特征补偿的深度神经网络图像超分辨率重建算法以解决当前主流算法中对于低分辨率图像中的细节纹理细节恢复部分欠缺的问题.本文模型算法使用U型网络提取LR图像的纹理特征信息经过插值处理后与重建后的图像形成特征信息补偿.另外,引入密集型卷积网络思想,每个残差块之间使用短路径相连,这样不仅可以保证每一层的特征信息不丢失,而且还可以使得网络梯度一直保持存在的状态,不会发生梯度消失现象.通过实验对比,本文算法能够重建出PSNR值更高的超分辨率图像.本文算法在进行训练时均采用默认的下采样处理后得到降质的LR图像,所以训练出来的模型针对这类低分辨率图像的恢复效果较好.但是实际测试中,测试图像的质量降低的原因并不只是由于降采样,还包括运动模糊、天气等其他原因,在做这类图像的重建时,恢复效果在直观视觉中可能不理想.如何让训练的数据集能够更加贴近实际的LR图像将是下一步研究方向.

猜你喜欢
纹理分辨率卷积
基于生成对抗网络的无监督图像超分辨率算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于BM3D的复杂纹理区域图像去噪
肺纹理增多是病吗?
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!
ARM发布显示控制器新品重点强化对分辨率的支持