图像超分辨率是一种典型的不适定[1]问题, 其作为一种基础的视觉问题, 在学界和人工智能公司中引起了越来越多的关注, 并被广泛地引用于安全和监控成像, 医学成像和图像生成等领域. 图像超分辨率目的在于通过模糊的低分辨率(Low Resolution, LR)图像生成视觉质量较好的高分辨率(High Resolution, HR)图像. 为了解决这个不适定问题, 已经提出了众多的图像超分辨率算法, 包括基于插值的[2], 基于重构的[3]和基于学习的方法[4–10].
其中基于插值的方法[11]能较好地保护图像的边缘, 但该方法不考虑图像的内容, 只是简单地进行像素点之间的计算, 容易丢失大量细节信息, 从而导致模糊. 另一种基于重构的超分辨率方法[12]结合了图像的降质模型, 解决了基于插值方法无法引入先验信息的问题. 该方法虽然对复杂度低的图像效果较好, 但对纹理结构丰富的图像则效果一般. 随后研究人员提出了基于学习的方法, 如Dong C等[13]提出的SRCNN. 该方法结构简单, 结果相较于其他方法更精确, 但是会损失许多图像的细节信息, 同时数据来源并不多, 所恢复出的图像纹理在视觉上还是无法令人满意.
为了进一步提高视觉质量, 生成对抗网络[14] (Generative Adversarial Network, GAN)被引入超分辨率领域, 以改善图像超分辨率后失真的视觉效果. 然而, SRGAN[15]由于网络结构复杂, 不能稳定训练更深层的网络, 因此其结果仍与真实图像存在差距. 随后, Wang XT等[16]研究了SRGAN网络体系结构的两个关键组成部分: 对抗损失和感知损失, 并对每个部分进行了改进, 得到了一个增强的SRGAN (ESRGAN). 该方法可以训练出更深层的网络, 提取更多纹理细节特征, 但在图像恢复时容易产生更多与真实图像不一致的伪纹理. 同时该方法无法充分利用低分辨率局部特征层信息, 因此, 在无法生成更加自然图像的同时浪费了深层网络的优良设计.
为了解决网络容易生成伪纹理的问题, 本文首先将注意力生成对抗网络[17]引入超分辨率方法中, 以此作为超分辨率模型的基础架构. 其次, 为了降低网络结构的复杂性以更多地利用低分辨率的局部特征层信息, 本文还对注意力生成对抗网络中生成器部分进行了改进, 引入了密集残差块结构[18]. 最后, 在图像超分辨率重建后, 本文还利用峰值信噪比[19] (Peak Signal to Noise Ratio, PSNR)和结构相似性[20] (Structural Similarity Index, SSIM)这两种普遍的超分辨率评价标准对结果进行定量分析, 对比说明所设计方法的优良性能.
1 相关工作 1.1 生成对抗网络生成对抗网络(GAN)的理论基础源自于博弈论中的二人零和博弈. GAN 强大的图片生成能力, 使其在图像合成、图像修补、超分辨率、草图复原等领域内均有广泛应用. 同样, 生成对抗网络的结构也被应用于本文的基础框架中. GAN 的基本框架包含一个生成器模型(Generator model, G)和一个判别器模型(Discriminator model, D), 如图1所示.
如图1所示的GAN的基础框架中, 生成器模型可用函数
残差网络(Residual Network, ResNet)和跳跃连接(skip connection)结构经研究可以更加容易地训练深层的网络, 因而GAN可以通过加入该结构来增加网络层数提升超分辨率图像生成能力. 残差网络和跳跃连接的基本结构如图2所示.
图2中, 残差网络在原始的卷积层上增加跳跃连接支路构成基本残差块, 使原始要学习的
基于生成对抗网络的基础框架, 本文将注意力递归网络引入到生成器中, 并将常规残差块替换为密集残差结构, 通过此设计来尽可能生成在视觉质量上更为理想的图像. 同时, 改进判别器和感知损失函数, 以此作为用于平衡视觉质量和峰值信噪比(PSNR)的网络策略.
2.1 生成器设计如图3所示, 本文所设计的生成器主要由浅层特征提取网络, 注意力递归网络, 非线性映射网络和最后的上采样网络组成. 图3中,
${F_{ - 1}} = {H_{SFE1}}({I_{\rm{LR}}})$ | (1) |
${F_0} = {H_{SFE2}}({F_{ - 1}})$ | (2) |
其中,
在对原始输入
如图4中的架构所示, 本文采用递归网络来生成视觉注意力. 递归网络中的每个时间步长均包含3层密集残差块(Residual Dense Block, RDB), 1个循环门控单元(Gated Recurrent Unit, GRU)和1层卷积层, 以此用来生成二维注意力图像. 每个时间步长所学习到的注意力图都是一个取值介于0到1之间的矩阵, 其中每个矩阵元素值越大, 表示注意力就越大. 在图4中, An为注意力学习过程生成的可视化注意力图, 其中n代表递归的次数. 随着递归次数的增加, 训练出的注意力图就越能凸显细节纹理和相关结构.
递归注意力网络中用到的循环门控单元(GRU)包括一个重置门
${z_t} = \sigma ({W_z}[{h_{t - 1}},{x_t}])$ | (3) |
${r_t} = \sigma ({W_r}[{h_{t - 1}},{x_t}])$ | (4) |
${\hat h_t} = \tanh (W[{r_t} * {h_{t - 1}},{x_t}])$ | (5) |
${h_t} = (1 - {z_t}) * {h_{t - 1}} + {z_t} * {\hat h_t}$ | (6) |
其中,
假设通过n层递归注意力网络后的输出为Fn, 并用如下公式表示:
$\begin{split} {F_n}& = {H_{{\rm{ATT}},n}}({F_{n - 1}}) \\ & = {H_{{\rm{ATT}},n}}({H_{{\rm{ATT}},n - 1}}( \cdots ({H_{{\rm{ATT}},1}}({F_0})) \cdots)) \end{split} $ | (7) |
其中,
在经递归注意力网络进行纹理细节特征提取后, 要对这些特征进行映射. 所设计的非线性映射网络具有8层conv+ReLU结构, 并添加了跳跃连接提升网络训练的稳定性. 非线性映射网络可表示为如下公式:
${F_{\rm{NMN}}} = {H_{\rm{NMN}}}({F_n})$ | (8) |
其中,
最后, 在生成高分辨率图像前加入了一个上采样网络, 其是由一个卷积层构成的, 以此来获得4倍放大的超分辨率图像输出. 可表示为如下公式:
${I_{SR}} = {H_{\rm{UPN}}}({F_{\rm{NMN}}})$ | (9) |
其中,
为了进一步提高GAN的图像恢复质量, 本文设计了密集残差块结构, 并将其应用到注意力递归网络中, 其结构如图5所示. 如图5(a), 首先在原有残差块基础上移除BN层. 当训练和测试数据集的统计数据差异很大时, BN层往往会在生成图像中引入伪纹理并限制泛化能力. 因此, 为了网络的稳定训练, 需要移除BN层. 同时, 移除BN层有助于降低计算复杂性和减小内存开销. 如图5(b), 在移除BN层后又将密集块与跳跃连接进行结合, 前面的RDB和后续每一层都的输出都有直接连接, 这不仅保留了前馈性质, 还充分提取了局部特征层信息, 提升了网络的容量.
2.3 判别器设计
除了改进的生成器结构, 本文还改进了判别器. 如图6所示, 改进的判别器的网络结构和参数设置与原始SRGAN的判别器不同. 具体来说, 输入待判别的高分辨率图片, 先经过7层的卷积层抽取图片特征, 再将图像数据的维度压平(flatten), 最后经全连接层(Fully Connected layer, FC)和Sigmoid函数输出判别的结果. 本文生成对抗网络经判别器对真实图像与生成图像的判别, 反馈到生成器中, 使得权重参数变化更加灵敏, 以此改善了网络退化的问题. 原始GAN生成器G在初始训练时其性能远不如判别器D, 这样便会产生模型崩溃(model collapse)问题. 为此, 本文改进了原始GAN的损失函数. 该损失函数是基于L1范数设计的, 同时包含了判别器的重构误差. 判别器使用该损失函数在提升图像质量的同时还提升了生成器G的学习能力.
首先图像像素级误差可以认为是服从高斯分布的, 基于L1 范数的损失函数被定义为:
$L(I) = |{I_{\rm{HR}}} - G({I_{\rm{LR}}})|$ | (10) |
式中, 高分辨率图像用
$\left\{ {\begin{aligned} & {{L_D} = {L_{{D_r}}} - {k_t}{L_{{D_f}}},\;{\rm{for}}\;{\theta _D}} \\ & {{L_G} = L(G(z) - x),\;\;{\rm{for}}\;{\theta _G}} \\ & {{k_{t + 1}} = {k_t} + {\lambda _k}(\gamma {L_{{D_r}}} - {L_G})} \end{aligned}} \right.$ | (11) |
其中,
${L_{{D_r}}} = L(D(x;{\theta _D}) - x)$ | (12) |
$ {L_{{D_f}}} \!= \!L(D(y;{\theta _D}) \!-\! y) \!=\! L((D(G(z;{\theta _G})) \!-\! G(z;{\theta _G}));{\theta _D}) $ | (13) |
$y = G(x;{\theta _D})$ | (14) |
$\gamma = \frac{{E[L(G(z))]}}{{E[L(x)]}}$ | (15) |
其中, 高分辨率图像用
本文使用峰值信噪比(PSNR)和结构相似性(SSIM)这两种基础方法作为评价指标, 以此来说明图像超分辨率方法性能的优劣. 在图像超分辨率评价中, PSNR的值越高就说明图像分辨率越高, 或图像越接近真实高分辨率图像, 其是利用均方误差(Mean Square Error, MSE)进行计算的:
$MS\!E = \frac{1}{{mn}}\sum\nolimits_{i = 0}^{m - 1} {\sum\nolimits_{j = 0}^{n - 1} {{{[I(i,j) - K(i,j)]}^2}} } $ | (16) |
式中,
PSNR被定义为:
$P\!S\!N\!R = 20 \cdot {\log _{10}}\left(\frac{{{\rm{MAX}}_{I}}}{{\sqrt {MSE} }}\right)$ | (17) |
一般情况下, PSNR的单位被设置为dB, 数值越大图像视觉质量越高.
图像结构相似性是一种符合人类主观感受的评价指标. 通常情况下, SSIM的值越靠近1, 代表超分辨率图像与原始图像结构越相似, 也就是失真越小, 质量越好. SSIM被定义为:
$S\!S\!I\!M = \frac{{(2{u_f}{u_{\bar f}} + {C_1})({\sigma _{f\bar f}} + {C_2})}}{{({u_f}^2 + {u_{\bar f}}^2 + {C_1})({\sigma _f}^2 + {\sigma _{\bar f}}^2 + {C_2})}}$ | (18) |
式中,
本文利用超分辨率中被广泛使用的Set5, Set14和BSD100 3个基准数据集进行实验. 所有实验均是将低分辨率图像进行4倍放大得到超分辨率图像的. 训练样本使用来自ImageNet数据库的10万张图像的随机样本. 并在配置有NVIDIA GTX 1080Ti 的硬件设备上进行网络的训练. 低分辨率图像的获取方法是利用4倍双三次下采样方法获取. 同时, 因为网络设计为全卷积网络, 所以可以向生成器中送入任意大小的图像. 为了优化网络的训练效果, 本文使用Adam作为网络优化器. 并设置初始学习速率为
本文将测试结果同已有方法(包括双三次方法Bicubic, SRCNN和SRGAN)作对比. 测试结果均为4倍放大的公平对比. 为了对比结果清楚公平地展示, 要对超分辨率图像进行相同区域的裁切放大. 如图7所示, 本文超分辨率方法相较于其他方法, 无论是视觉效果还是纹理细节均有较优的表现. 因此, 本文方法在兼顾降低伪纹理的产生的同时改善了图像超分辨率后的视觉质量.
表1展示了不同超分辨率方法的定量比较. 可以看出, 在相同放大倍数和相同数据集下, 本文方法在PSNR和SSIM数值上均表现最佳. 表1中, 本文方法PSNR值为31.62, SSIM值为0.903, 相较于其他方法评价指标的数据均有所提升. 这表明本文方法所采用的注意力递归网络和密集残差结构是有效的.
同时, 为了说明本文方法在训练稳定性上的优秀表现, 还同其他方法在训练过程中的PSNR值进行了比较. 如图8所示, 在前期训练迭代中本文方法就较快地提升了PSNR值, 并较快地趋于稳定. 这说明, 相较于其他方法本文所采用的方法有较快的收敛速度和较好的网络性能表现.
4 结论与展望
在生成对抗网络的基础上, 本文改进生成对抗网络中生成器部分, 加入了注意力递归网络, 设计了新的密集残差结构, 实现了端到端的图像超分辨率网络. 在每个密集残差块中, 低分辨率的局部特征层被充分提取, 这样不仅可以稳定训练网络, 还可以快速地使网络收敛, 减小网络参数计算和内存消耗. 此外, 通过注意力递归网络更加突出了图像的细节纹理, 使纹理恢复得更加自然真实, 同时减少了伪纹理的生成. 最后, 本文利用普遍采用的PSNR和SSIM评价指标, 对本文方法产生的超分辨率图像同其他方法进行了对比, 证明了本文方法的网络性能和重建图像在视觉质量上与数值评价上的优异表现.
[1] |
于喜娜. 基于学习的图像超分辨率重建方法研究[硕士学位论文]. 西安: 西安理工大学, 2018.
|
[2] |
Zhang L, Wu XL. An edge-guided image interpolation algorithm via directional filtering and data fusion. IEEE Transactions on Image Processing, 2006, 15(8): 2226-2238. DOI:10.1109/TIP.2006.877407 |
[3] |
Zhang KB, Gao XB, Tao DC, et al. Single image super-resolution with non-local means and steering kernel regression. IEEE Transactions on Image Processing, 2012, 21(11): 4544-4556. DOI:10.1109/TIP.2012.2208977 |
[4] |
Timofte R, De Smet V, Van Gool L. A+: Adjusted anchored neighborhood regression for fast super-resolution. Proceedings of the 12th Asian Conference on Computer Vision. Singapore. 2014. 111–126.
|
[5] |
Huang JB, Singh A, Ahuja N. Single image super-resolution from transformed self-exemplars. Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA. 2015. 5197–5206.
|
[6] |
Tong T, Li G, Liu XJ, et al. Image super-resolution using dense skip connections. Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy. 2017. 4809–4817.
|
[7] |
Zhang K, Zuo WM, Zhang L. Learning a single convolutional super-resolution network for multiple degradations. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 3262–3271.
|
[8] |
胡长胜, 詹曙, 吴从中. 基于深度特征学习的图像超分辨率重建. 自动化学报, 2017, 43(5): 814-821. |
[9] |
苏健民, 杨岚心. 基于生成对抗网络的单帧遥感图像超分辨率. 计算机工程与应用, 2019, 55(12): 202-207, 214. DOI:10.3778/j.issn.1002-8331.1807-0188 |
[10] |
段然, 周登文, 赵丽娟, 等. 基于多尺度特征映射网络的图像超分辨率重建. 浙江大学学报(工学版), 2019, 53(7): 1331-1339. DOI:10.3785/j.issn.1008-973X.2019.07.012 |
[11] |
苏衡, 周杰, 张志浩. 超分辨率图像重建方法综述. 自动化学报, 2013, 39(8): 1202-1213. |
[12] |
Yang X, Zhang Y, Zhou DK, et al. An improved iterative back projection algorithm based on ringing artifacts suppression. Neurocomputing, 2015, 162: 171-179. DOI:10.1016/j.neucom.2015.03.055 |
[13] |
Dong C, Loy CC, He KM, et al. Image super-resolution using deep convolutional networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(2): 295-307. DOI:10.1109/TPAMI.2015.2439281 |
[14] |
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, QB, Canada. 2014. 2672–2680.
|
[15] |
Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA. 2017. 105–114.
|
[16] |
Wang XT, Yu K, Wu SX, et al. Esrgan: Enhanced super-resolution generative adversarial networks. In: Leal-Taixé L, Roth S, eds. Computer Vision – ECCV 2018 Workshops. Munich, Germany. 2018. 63–79.
|
[17] |
Qian R, Tan RT, Yang WH, et al. Attentive generative adversarial network for raindrop removal from a single image. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 2482–2491.
|
[18] |
Zhang YL, Tian YP, Kong Y, et al. Residual dense network for image super-resolution. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 2472–2481.
|
[19] |
陈晨, 刘明明, 刘兵, 等. 基于残差网络的图像超分辨率重建算法. 计算机工程与应用. http://kns.cnki.net/kcms/detail/11.2127.TP.20190527.1720.009.html. [2019-07-05].
|
[20] |
陈龙彪, 谌雨章, 王晓晨, 等. 基于深度学习的水下图像超分辨率重建方法. 计算机应用, 2019, 39(9): 2738-2743. DOI:10.11772/j.issn.1001-9081.2019020353 |