计算机系统应用  2022, Vol. 31 Issue (3): 220-225   PDF    
基于改进上采样技术的图像超分辨率重建
雷帅1, 廖晓东1,2,3, 潘浩1, 李俊珠1, 陈清俊1     
1. 福建师范大学 光电与信息工程学院, 福州 350007;
2. 福建师范大学 医学光电科学与技术教育部重点实验室和福建省光子技术重点实验室, 福州 350007;
3. 福建师范大学 福建省先进光电传感与智能信息应用工程技术研究中心, 福州 350007
摘要:图像超分辨率重建技术一直是计算机视觉领域的热门研究方向. 为了提高重建后图像的质量, 本文提出一种基于内容感知的上采样技术用于图像的重建. 将稠密残差网络作为骨干网络, 用基于内容感知上采样取代传统的亚像素卷积上采样技术, 即在特征重建阶段, 卷积核不会在整个特征图中共享参数, 而是神经网络可以根据特征图的内容在每个像素处生成特定的卷积核. 该算法减少了参数数量, 从而加快了网络训练速度. 通过多轮训练和测试, 结果显示使用改进技术得到了更加清晰的重建图像, 取得了良好的视觉效果.
关键词: 神经网络    图像超分辨率    内容感知    稠密残差网络    
Image Super-resolution Reconstruction Based on Improved Upsampling Technology
LEI Shuai1, LIAO Xiao-Dong1,2,3, PAN Hao1, LI Jun-Zhu1, CHEN Qing-Jun1     
1. College of Photonic and Electronic Engineering, Fujian Normal University, Fuzhou 350007, China;
2. Key Laboratory of Optoelectronic Science and Technology for Medicine (Ministry of Education) and Fujian Provincial Key Laboratory for Photonics Technology, Fujian Normal University, Fuzhou 350007, China;
3. Fujian Provincial Engineering Research Center for Optoelectronic Sensors and Intelligent Information, Fuzhou 350007, China
Foundation item: Science and Technology Department University Industry-University Cooperation Project(2019H6013)
Abstract: Image super-resolution reconstruction technology has always been a hot research direction in the field of computer vision. To improve the quality of reconstructed images, this study proposes an upsampling technology based on content awareness for image reconstruction. The residual dense network is used as the backbone network, and the content awareness-based upsampling replaces the traditional sub-pixel convolution upsampling. In other words, in the stage of feature reconstruction, the convolution kernel will not share parameters in the entire feature map, but the neural network can generate a specific convolution kernel depending on the content of the feature map in each pixel. The algorithm reduces the number of parameters, thereby speeding up the network training speed. After multiple rounds of training and testing, the results show that the improved technology can yield a clearer reconstructed image and presents a great visual effect.
Key words: neural networks     image super-resolution     content awareness     residual dense network    

1 引言

图像超分辨率重建技术一般可分为两种, 一种是利用多张低分辨率图像合成一张高分辨率图像, 另一种就是本文所研究的从单张低分辨率图像获取高分辨率图像[1, 2]. 该技术是指使用软件或硬件方法从获取到的具有较少细节的低分辨率图像中重建具有大量细节的对应的高分辨率图像. 该方法目前被用于老照片修复, 视频监视[3], 卫星图像遥感[4], 医学图像[5, 6]等领域. 为了追求更好的图像和视频质量, 近年来, 越来越多的人们开始关注和使用超分辨率技术[7].

在这些方法中, 它们大致可以分为3类: 基于插值, 基于重构和基于学习. 基于插值的方法最早被提出, 计算速度很快但插值后的高分辨图像的细节很差, 适用于对质量要求不高的场景; 基于重建模型的方法提高了重建质量, 但因其通常采用复杂的先验知识来限制可能的解空间, 导致速度变慢. 随着大规模视觉识别挑战赛(ILSVRC)等比赛的举办, 各种基于卷积神经网络的模型如雨后春笋般蓬勃发展. 鉴于CNN具有较强的特征提取和表达能力, 人们开始尝试将卷积神经网络应用在图像超分辨率重建任务上, 因此图像重建也取得了重大突破并不断发展. 各种基于深度学习的网络模型的发展大致可分为以下两个主要方向: 一种是以PSNR、SSIM等评价指标最大化为优化目标, 可以较好地重建低频信息, 是早期诸如SRCNN模型[8]所代表的网络. 另一种是以减少感知损失为目标, 而不只是关注硬性指标, 以SRGAN网络[9]为代表. 两种不同方向的算法所对应的应用领域也不同.

对于图像超分辨率重建任务, 特征图的上采样操作对于图像的恢复至关重要, 不同的上采样操作可能会直接影响重建图像的质量. 因此, 本文基于内容感知上采样重建图像, 重建后的图像的每个像素都是由特定的卷积核和内容特征图中的相应位置生成的, 并且通过特征图自适应地获得特定卷积核. 经过实验证明, 我们的方法显著地提高了重建图像的效果.

2 相关工作 2.1 基于深度学习的图像超分辨率技术现状

卷积神经网络虽然很早就问世, 但直到2014年SRCNN[8]的作者首次尝试将卷积神经网络用在超分辨率重建上, 成为超分网络模型的开山之作, 并为后来的图像超分辨率技术的发展提供了思路. 分析其网络结构十分简单, 仅使用了3个卷积层就分别实现了图像块的提取和特征表示, 特征的非线性映射和最终的超分辨率图像重建功能, 而且网络可以自动学习端到端的映射. 但由于网络的卷积层过少, 导致捕获特征的感受野受限, 以及需要在网络之外将图像进行预处理即通过双三次插值到欲放大的尺寸, Dong等人提出了改进后的超分网络FSRCNN[10], 在网络末端使用反卷积(deconvolution)来放大图像尺寸, 这样可以在网络中直接训练原始的低分辨率图片而不需要进行额外的操作, 同时网络可以共享映射层的参数, 这样通过调整最后的反卷积层, 就可以实现不同的上采样倍率的切换. 由于反卷积是通过补0来实现图像尺寸放大的, 势必会影响到重建效果. 而且随着神经网络层数的增加, 网络性能却出现下降. He等人在2016年提出残差网络ResNet[11], 有效解决了网络层数加深时, 模型因梯度消散而难以训练的问题, 将网络扩展到152层, 残差网络也成为现在应用最广泛的技术. 同年出现的VDSR[12]就将这种残差结构应用到超分任务中, 一举将超分辨率重建神经网络扩展到了20层, 使得网络获取更大的感受野, 同时由于使用了残差结构, 减少了参数, 大大加快了网络的收敛速度. 密集网络DenseNet[13]采用跳跃连接使得每层输入都取决于之前所有层的输出, 网络可以利用不同卷积层的特征信息, 受此启发, SRDenseNet[14]将密集网络应用在超分辨率重建上, 将所有深度层的特征全部连接起来, 并使用1×1的卷积层来减少特征数量, 取得不错效果. 2018年提出的RDN[15]将残差结构和密集连接相结合, 作者在网络中连续堆叠多个残差稠密块RDB (residual dense block), 提出了稠密残差的网络结构, 充分利用网络中各个层的特征, 并在网络末端实现特征融合, 使得重建效果非常接近真实图像. 目前人们将目光聚焦于特征图通道, 将注意力机制引入到了超分任务中[16], 具有代表性的网络如残差通道注意网络RCAN[17]和注意力机制残差超分网络SRRAM[18], 网络可以自适应学习不同通道的权重, 充分利用通道资源. 对于以优化感知损失为目标的网络, 它们不以PSNR为评判网络性能的导向, 而使重建后的图像恢复高频信息和纹理细节, 更加符合人类认知. SRGAN[9]首次将生成对抗网络GAN[19]用在了超分辨率图像重建任务上, 其损失函数包括内容损失(content loss)和对抗损失(adversarial loss), 利用生成网络和鉴别网络互相博弈来提高恢复出的图片的真实感, 使重建后的图像更符合现实世界人眼观察到的内容, 而不是刻意追求相似性指标. 最后是基于改进后的ESRGAN[20], 将SRGAN生成网络中的RB模块换成了RRDB (residual in residual dense block), 同时去掉了归一化层, 优化了网络性能, 得到更加自然和真实的图像.

2.2 上采样技术

(1)插值法

传统的基于插值的上采样技术一般包括最近邻插值, 双线性插值和双三次插值. 最近邻插值是指利用最相邻位置的像素点来重建待插值位置的像素, 而与其他位置像素无关, 此方法虽然速度最快, 但效果最差. 双线性插值指用相邻的4个像素点先横向进行线性插值, 再在竖向上进行插值, 效果比最近邻插值好. 双三次插值指像素点是利用矩形框16个采样点加权平均得到的, 即先对一个轴进行3次插值, 再对另一个轴进行3次插值. 此方法速度最慢, 但重建后的图片效果相对最好.

(2) 转置卷积

转置卷积先对低分辨率图像进行补0, 再通过卷积获得输出, 从而得到放大尺寸的图像. 神经网络可以学习转置卷积的参数, 在超分任务中得到了广泛的应用. 但是这种方法很容易导致在不同轴上的不均匀重叠, 从而导致出现“棋盘效应”, 损害重建性能.

(3) 亚像素卷积

亚像素的核心思想是通过网络的卷积层后得到大量的特征图通道, 然后将这些通道重新排列平铺得到预定尺寸的图像. 由于亚像素卷积可以获得全局特征, 因此网络可以利用更多的上下文信息来还原更逼真的细节. 但亚像素卷积也有缺点, 由于特征不是均匀分布的, 在提取的不同块的边界可能会出现伪影现象, 导致输出不平滑的结果.

3 基于内容感知上采样技术网络 3.1 骨干网络结构

对于骨干网络, 我们使用残差密集模块堆叠的稠密残差网络, 并以该模块为基准来验证我们的内容感知上采样方法的有效性. 图1上部分是RDN网络[15]体系结构的示意图. 该网络结构中的前两个卷积层将图像域转换成特征域, 并通过跳跃连接的方式将提取到的浅层特征传递到网络的末端, 从而促进了浅层特征信息和深层特征融合. 上采样层在网络末端用于重建图像, 从图中可以看到, 除了卷积层和上采样层外, 网络的主体由若干堆叠的RDB模块组成用于提取局部特征. 每个RDB模块的输出不仅充当下一个RDB模块的输入, 而且还同时将结果传递到网络的末端进行特征融合. 从图1下部分可看到RDB模块主要由卷积层和ReLU激活函数组成, RDB模块的设计是从ResNet [11]和DenseNet [13]结合推出的, 并将卷积后生成的特征图传输到每个后续层, 每个RDB模块最后都有一个卷积层来减少通道数, 由于每个卷积层有不同的感受野, 就可以充分利用所有层的特征信息来重建图像. 缝合是特征融合的一种方式, 此方法对于加快网络融合速度很有用, 最后的跳跃连接的特征融合是通过逐像素相加实现的, 这种残差学习可以帮助解决梯度消失问题并显著减少计算量.

图 1 本文网络结构和RDB模块示意图

3.2 基于内容感知的上采样层

对于图像超分辨率重建, 上采样操作是至关重要的一步, 因此, 在本文中, 我们摒弃常用的亚像素卷积上采样而使用内容感知上采样层来重建图像, 以探索重建性能提高的可能性. 图2是内容感知上采样层的示意图. 如该图所示, 内容感知上采样层通常分为两部分, 第一部分即该图的上半部分, 该部分的目的是为每个像素生成特定的卷积核. 主要步骤如下: 首先, 使用 $1 \times 1$ 卷积将给定的特征图通道C压缩为C', 其目的是减少计算量. 然后, 将获得的特征图反馈送到子像素卷积层进行特征重新排列. 最后, 使用激励函数Softmax对上一步中的卷积核进行归一化. 假设给定特征图的形状为 ${R^{C \times H \times W}}$ , 其中C、H、W 分别表示通道数、特征图的高和宽, 则最终生成的卷积核形状为 ${R^{k_m^2 \times \sigma H \times \sigma W}}$ , 其中 $ {k_m} $ 代表每个像素的特定卷积核的大小, 并用 $ \sigma $ 表示超分辨率的放大倍数. 第二部分是图形的下半部分, 首先通过最近邻插值方法将给定的特征图扩展到指定的放大倍数, 以获得扩展后的特征图, 然后从第一部分沿每个位置分别获得特定的卷积核频道已扩展为 ${k_m} \times {k_m}$ 的大小. 最后, 目标位置以扩展的特征图为中心, 然后将内积与卷积核进行卷积. 在此过程中, 其大小与卷积内核一致, 并且不同的通道共享相同的权重. 然后, 我们可以获得最终的所需像素值. 该网络最终由RDN的主干架构和内容感知的上采样层组成.

3.3 损失函数

在神经网络中, 损失函数主要用来衡量通过网络重建的图像与真实高分图像之间的差距, 然后通过梯度下降算法不断迭代更新来减小函数损失数值, 当损失值收敛时说明网络重建后的图像的真实值将逼近原始图像. 常见的损失函数有L1, L2等. 本文选择将L1损失函数放在输出层中以降低损失函数值为目标来更新参数, 以下公式为其表达式:

$ {L_{loss}} = \frac{1}{{CHW}}\sum\limits_{i = 1}^C {\sum\limits_{j = 1}^H {\sum\limits_{k = 1}^W {{{\left| {{I_{i, j, k}} - {{\widehat I}_{i, j, k}}} \right|}}} } } $ (1)

其中, H, W, C分别表示图像的高度、宽度和通道数.

图 2 基于内容感知上采样模块的示意图

4 实验验证及结果分析 4.1 重建性能评价指标

图像超分辨率的重建效果的评估指标在本领域内通常用峰值信噪比(peak signal-to-noise ratio, PSNR)和结构相似度(structural similarity, SSIM)来表示, 要想提高重建图像的质量使其更加接近原始高分图像, PSNRSSIM的值就需要越高越好.

(1) PSNR

均方误差定义为: 给定一个大小为 $ {{m}} \times {{n}} $ 的原始图像K和重建后的高分图像I, 则均方误差MSE为:

$ {\textit{MSE}} = \frac{1}{{mn}}\sum\limits_{i = 0}^{m - 1} {\sum\limits_{j = 0}^{n - 1} {{{\left\| {I(i, j) - K(i, j)} \right\|}^2}} } $ (2)

利用MSE得到峰值信噪比定义为:

$ {\textit{PSNR}} = 10{\text{lg}}\left(\dfrac{{MA{X^2}}}{{MSE}}\right) = 20{\text{lg}}\left(\dfrac{{{2^{{n}}} - 1}}{{\sqrt {MSE} }}\right) $ (3)

其中, $ {{MAX}} $ 为图片可能的最大像素值, 如果每个像素都用8位二进制来表示, 那么其值就是28–1=255. 一般来说, 如果像素的二进制数用B位来表示, 那么 $ MAX = $ $ {2^B} - 1 $ . PSNR的单位是dB, 其值越大说明失真越少, 重建效果越好. 由于PSNR的评价标准和人眼观测到的实际图像机制不同, 导致可能有的图像PSNR值很大, 但是人眼评价相似度却不高.

(2) SSIM

SSIM从亮度l、对比c、和结构s三个维度对两幅图像的相似度进行综合比较,

$ {\textit{SSIM}}(X,Y) = l(X,Y) \cdot c(X,Y) \cdot s(X,Y) $ (4)

SSIM的取值范围是[0, 1], 取值越大说明重建图片和原图相似度越高. 由于图片尺寸一般比较大, 在实际中, 我们通常会对图片进行分块, 然后分别计算每块的SSIM, 最后取平均值作为结构相似度度量. 假设图像分为N块, 则平均结构相似性MSSIM为:

$ {\textit{MSSIM}}(X, Y)=\frac{1}{N}{\displaystyle \sum _{{k}=1}^{N}{\textit{SSIM}}({x}_{k}, {y}_{k})} $ (5)
4.2 数据集及训练过程

现在的神经网络训练十分依赖数据集, 在本文中, 选择DIV2K作为我们的训练数据集. DIV2K数据集包含1 000张高质量图像, 其中800张作为训练集, 100张作为验证集, 100张作为测试集. 图像超分任务一般使用成对的超分和低分图像来训练网络. 在网络中首先通过双三次插值降低图像分辨率, 再将低分辨率图像作为输入送入网络中进行训练, 在训练过程中, 放大倍数分别设置为2倍、3倍和4倍. 验证在不同放大倍数下, 网络的性能表现.

同时, 我们分别在基准数据集Set5, Set14, B100, Urban100进行测试. 关于RDN网络的配置, 每个RDB模块中设有3个卷积层, 每个模块最后的输出通道数为16, 我们总共在整个网络中使用10个RDB模块, 除了网络末端的卷积层和每个RDB模块最后使用的是1×1卷积核外, 其他剩余的卷积层统一使用3×3的小卷积核.

这次所有实验均在Windows 10操作系统和PyTorch框架上完成. 使用英伟达1080Ti GPU进行训练. 在训练过程中, 批处理大小设为16, 网络输入设为大小为32的图像块. 使用随机的水平和垂直翻转来进行数据扩充, 可以增加训练数据量, 并提高网络模型的泛化能力. 在网络的末端, 我们使用Adam优化器来更新参数, 学习率设置为 ${10^{ - 3}}$ , 其余参数保持为默认值. 在整个过程中, 记一次正向传播和反向梯度更新为一次训练过程, 我们一共迭代训练了200次.

4.3 结果分析

通过与双三次插值方法SRCNN[8]和RDN [15]进行数值和视觉比较, 来验证我们方法的性能表现. 表1显示了4种方法在不同放大倍数下的测试结果, 在测量PSNRSSIM的值时, 我们将色彩空间从RGB域转换为Ycrcb域, 然后在Y通道中进行计算. 从表1中可以看到, 在PSNRSSIM方面, 与其他3种方法相比, 本文算法在基准数据集上具有更高的数值. 分析其原因, 由于固有因素的限制, 双三次插值方法的图像重建质量低于基于深度学习的方法. SRCNN使用了一个基于浅层结构的单一卷积神经网络, 其重建图像的质量低于深层网络. 本文提出的方法使用内容感知上采样层, 相比于RDN优化了网络, 其余结构保持不变. 从表1测试数据来看, 评估指标都增加了, 这说明了该算法的有效性. 图3显示了我们的方法与RDN网络在不同比例(×2, ×3, ×4)之间的收敛性比较. 从该图中的第一张和第二张可以看出, 我们的方法在×2和×3的放大倍数下PSNR的振荡曲线更小, 并且显示出更好的稳定性. 当放大倍数是×4时, 我们所提出的方法在多次迭代过程中的PSNR值始终高于RDN, 优势显而易见. 图4是实际图像重建效果, 为了便于观察, 将图像的局部区域放大.可以看到我们方法重建的图像不仅分辨率更高, 并且图像的纹理细节更加丰富, 显示出了较好的效果.

表 1 不同方法在放大倍数分别为2倍、3倍及4倍下的PSNRSSIM

图 3 本文方法与RDN在不同放大倍数下PSNR的收敛曲线对比

5 结论与展望

在本文中, 对于超分辨率图像的重建, 我们提出了一种基于内容感知上采样的图像超分辨率算法, 该算法为重建图像的每个像素自适应生成特定的卷积核, 使得从而明显改善了重建图像的分辨率. 通过对4个基准测试数据集进行视觉比较, 数值比较和收敛图比较, 可以发现本文提出的方法比基准方法RDN具有更好的结果. 实际上, 我们的方法还有很大的提升空间. 我们小组研究下一步的主要方向是如何将超分辨率重建方法与更深入, 更有效的网络结构结合起来, 从而恢复出高频纹理细节信息, 使重建图像更加自然.

图 4 各种方法重建视觉效果对比

参考文献
[1]
陶状, 廖晓东, 沈江红. 双路径反馈网络的图像超分辨重建算法. 计算机系统应用, 2020, 29(4): 181-186. DOI:10.15888/j.cnki.csa.007344
[2]
陈栋. 单幅图像超分辨率重建算法研究[硕士学位论文]. 广州: 华南理工大学, 2020.
[3]
杜鹏. 面向视频超分辨率的深度学习研究[硕士学位论文]. 成都: 电子科技大学, 2020.
[4]
于海星. 图像超分辨率算法在卫星遥感图像上的应用[硕士学位论文]. 上海: 上海大学, 2019.
[5]
黄吉庆. 医学图像的超分辨率重建算法研究[硕士学位论文]. 贵阳: 贵州大学, 2019.
[6]
席志红, 侯彩燕, 袁昆鹏. 基于残差网络的医学图像超分辨率重建. 计算机工程与应用, 2019, 55(19): 191-197. DOI:10.3778/j.issn.1002-8331.1806-0243
[7]
肖进胜, 刘恩雨, 朱力, 等. 改进的基于卷积神经网络的图像超分辨率算法. 光学学报, 2017, 37(3): 0318011.
[8]
Dong C, Loy CC, He KM, et al. Learning a deep convolutional network for image super-resolution. Proceedings of the 13th European Conference on Computer Vision. Zurich: Springer, 2014. 184–199.
[9]
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: IEEE, 2017. 105–114.
[10]
Dong C, Loy CC, Tang XO. Accelerating the super-resolution convolutional neural network. Proceedings of 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 391–407.
[11]
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
[12]
Kim J, Lee JK, Lee KM. Accurate image super-resolution using very deep convolutional networks. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 1646–1654.
[13]
Huang G, Liu Z, van der Maaten L, et al. Densely connected convolutional networks. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2261–2269.
[14]
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: IEEE, 2017. 4809–4817.
[15]
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: IEEE, 2018. 2472–2481.
[16]
程玉, 郑华, 陈晓文, 等. 基于密集残差注意力网络的图像超分辨率算法. 计算机系统应用, 2021, 30(1): 135-140. DOI:10.15888/j.cnki.csa.007708
[17]
Zhang YL, Li KP, Li K, et al. Image super-resolution using very deep residual channel attention networks. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 294–310.
[18]
Kim JH, Chou JH, Cheon M, et al. RAM: Residual attention module for single image super-resolution. arXiv: 1811.12043, 2020.
[19]
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial networks. arXiv: 1406.2661, 2014.
[20]
Wang XT, Yu K, Wu SX, et al. ESRGAN: Enhanced super-resolution generative adversarial networks. Proceedings of the European Conference on Computer Vision. Munich: Springer, 2018. 63–79.