张鲁 李坤伦 魏泽发 柴艳娜
(长安大学教育技术与网络中心,陕西西安 710064)
图像超分辨率是从给定的低分辨率(Low Resolution,LR)图像y中恢复高分辨率(High Resolution,HR)图像x,退化模型可以定义为y=D(x),其中D是下采样。当前,卷积神经网络(Convolutional Neural Networks,CNN)被广泛用于图像超分辨率问题,此类方法假定LR图像已经具有足够的信息来预测相应的HR图像。作为基于CNN的图像超分辨率方法,SRCNN[1]通过预测LR和HR图像之间的非线性映射重建高分辨率图像。VDSR[2]通过采用更深的网络,并结合残差学习策略实现了比SRCNN更好的性能。
大多数基于CNN的图像超分辨率方法都会选择均方误差(Mean Square Error,MSE)作为损失函数,MSE具有结构简单、易于计算的特点,但通过MSE重建的高分辨率图像过于平滑,针对这一问题本文选择实例归一化(Instance Normalization)改善重建图像纹理和细节不足的缺点。
通常随着网络加深,非线性变换前的输入值分布会逐渐偏移,整体分布往非线性函数取值区间的两端靠近,导致反向传播到低层神经网络时梯度消失,这是训练深度神经网络收敛越来越慢的主要原因,因此需要利用归一化技术避免这一问题。
表1 实例归一化算法Tab.1 Instance Normalization
实例归一化作为归一化技术的一种,起初Ulyanov等人[3]将其应用在图像风格转换领域,相比批量归一化能迁移更多的纹理和细节至目标图像,借助这一特性,本文将实例归一化用于图像超分辨率。实例归一化对一组数据中每个样本分别做规范化操作,即将数据分布强行变换到均值为0方差为1的标准正态分布,算法如表1所示,使数据落在非线性函数比较敏感的区域,这样输入发生较小变化也会使损失函数产生较大变化,从而避免梯度消失的问题。对于一组数据格式为N×C×H×W(其中N为batch,C为channel,H×W为size),由于仅对每个样本单独做规范化操作,因此当N变小时需要增大H×W,即提高数据的尺寸,避免数据量过小造成网络难以收敛。
在基于CNN的图像超分辨率方法中加入实例归一化有很多优点:梯度变大也意味着收敛速度变快,从而加快了模型的训练速度;可以设置更大的学习率;降低了训练过程中发生梯度爆炸或梯度消失的可能;对于卷积核初始化参数不是很敏感;在一定程度上可以避免过拟合等。
为了验证实例归一化的可行性,本文选择VDSR的网络结构作为基准,即前19层为卷积层+实例归一化+ReLU激活函数,滤波器大小设置为3×3×64,最后一层为卷积层重建高分辨率图像,滤波器大小设置为3×3×3。每一层都设置Padding,以确保经卷积运算的数据尺寸不发生变化。提出的方法同样采用残差学习策略,即学习高分辨率图像和低分辨率图像间(输入图像需经过Bicubic预处理)的残差图像。期望的残差图像和从噪声输入中估计的残差图像之间的平均均方误差作为损失函数。
本文使用ADAM优化算法,其中beta1=0.9,beta2=0.999,epsilon=1e-8。所有模型共训练50个epochs,学习率设置为1e-3(1~30epoch)至1e-4(30~50epoch)。选择Pytorch 1.0深度学习库验证本文所有实验,运行在Ubuntu 16.04+Python 3.6、CUDA9.0+cuDNN的软件环境,和Xeon E3-1230 CPU、GTX 1080Ti GPU、64 GB RAM的硬件环境。
本文选择DIV2K作为训练数据,共包含900张分辨率超过2K的彩色图像。为了验证数据尺寸对模型训练的影响,测试了四种不同的尺寸,包括60×60、120×120、240×240和480×480,对应的batch大小分别为128、32、8和2。选择常用测试集Set5,Set14和BSD100[4]对提出的模型进行评估,评估方法包括峰值信噪比(PSNR)和结构相似性(SSIM)。
由图1的变化曲线(BSD100数据集,放大倍数为×3)可以看到,模型精度随训练数据的尺寸增大而提升,480×480的曲线收敛最快且最平稳,PSNR达到28.85,高于60×60曲线0.85dB,验证了前一节的观点,对于加入实例归一化的网络,当N变小时需要适当增加H×W才能提高模型的性能。综上本文基于480×480的训练数据,对提出的方法(Proposed)和其他图像超分辨率方法进行对比,包括×2,×3和×4三种放大倍数,与之对比的方法有Bicubic,SelfExSR[5],SRCNN[1],VDSR[2]。由表2可以看到,提出的方法在三个测试集中的表现优异,略高于基于CNN的图像超分辨率方法VDSR。
图1 不同尺寸数据收敛曲线Fig.1 Convergence curves of different size
表2 不同方法PSNR对比Tab.2 Comparison of PSNR
图2 不同方法重建图像对比Fig.2 Comparison of reconstructed image
视觉质量是图像质量评估中非常重要的部分,图2展示了不同超分辨率方法的重建图像,放大倍数为×4,用于测试的图像均来自BSD100。本文提出方法的重建图像具有更多的纹理和细节,边缘结构更清晰,更接近与原始高清图像。相比VDSR有效改善了MSE损失函数的缺点,避免了重建图像过于平滑。
本文为基于CNN的图像超分辨率方法提供了一种思路,借助实例归一化技术改善重建图像的视觉效果,证实在图像超分辨率问题中使用实例归一化是可行的,即需要用更大尺寸的数据进行训练。此外,本文提出的方法其重建图像的精度也略高于同类型方法VDSR。