计算机系统应用  2021, Vol. 30 Issue (1): 135-140   PDF    
基于密集残差注意力网络的图像超分辨率算法
程玉1, 郑华1,2,3,4, 陈晓文1, 林烁烁1, 张明伟1     
1. 福建师范大学 光电与信息工程学院, 福州 350007;
2. 福建师范大学 医学光电科学与技术教育部重点实验室, 福州 350007;
3. 福建师范大学 福建省光子技术重点实验室, 福州 350007;
4. 福建师范大学 福建省光电传感应用工程技术研究中心, 福州 350007
摘要:近年来, 随着科学技术的高速发展, 深度学习的蓬勃兴起, 实现图像超分辨率重建成为计算机视觉领域一大热门研究课题. 然而网络深度增加容易引起训练困难, 并且网络无法获取准确的高频信息, 导致图像重建效果差. 本文提出基于密集残差注意力网络的图像超分辨率算法来解决这些问题. 该算法主要采用密集残差网络, 在加快模型收敛速度的同时, 减轻了梯度消失问题. 注意力机制的加入, 使网络高频有效信息较大的权重, 减少模型计算成本. 实验证明, 基于密集残差注意力网络的图像超分辨率算法在模型收敛速度上极大地提升, 图像细节恢复效果令人满意.
关键词: 深度学习    单图像超分辨率    残差网络    注意力机制    梯度消失    
Image Super-Resolution Algorithm Based on Residual Dense Attention Networks
CHENG Yu1, ZHENG Hua1,2,3,4, CHEN Xiao-Wen1, LIN Shuo-Shuo1, ZHANG Ming-Wei1     
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), Fujian Normal University, Fuzhou 350007, China;
3. Fujian Provincial Key Laboratory of Photonics Technology, Fujian Normal University, Fuzhou 350007, China;
4. Fujian Provincial Engineering Research Center for Optoelectronic Sensors and Intelligent Information, Fuzhou 350007, China
Foundation item: Natural Science Foundation of Fujian Province (2017J01744)
Abstract: In recent years, with the rapid development of science and technology and the rise of deep learning, achieving image super-resolution reconstruction has become a hot research topic in the field of computer vision. However, the increase in network depth is easy to cause training difficulties, and the network cannot obtain accurate high-frequency information, resulting in poor image reconstruction. This study proposes an image super-resolution algorithm based on residual dense attention network to solve these problems. The algorithm mainly uses residual dense network, which accelerates the model convergence speed and reduces the gradient vanishing problem. The addition of attention mechanism makes the high-frequency effective information of the network have a larger weight and reduces the model calculation cost. Experiments show that the image super-resolution algorithm based on residual dense attention network greatly improves the model convergence speed, and the image detail recovery effect is satisfactory.
Key words: deep learning     single image super-resolution     residual network     attention mechanism     gradient vanishing    

1 引言

生活水平的提升使得人们对于画面清晰度的要求日益增高. 在手机中, 相机的拍摄功能直接影响销量, 厂商付出众多精力提升图像画质, 由此图像超分辨率重建技术应运而生. 其在医学成像, 图像压缩, 安防监控等领域有着重要的研究意义[1]. 早先提高图像分辨率的方法是改进图像采集系统中的光学器件, 然而这种方法受到生产成本和制造工艺的限制. 近年来, 随着科学技术的高速发展, 深度学习的蓬勃兴起, 实现图像超分辨率重建成为计算机视觉领域一大热门研究课题.

一直以来, 图像超分辨率重建可以分为3大类: 1)基于插值的方法, 例如: 最近邻插值, 双线性插值和双三次插值[2]. 2)基于重建的方法, 例如: 贝叶斯分析法, 迭代反投影法等. 3)基于学习的方法, 例如: 稀疏表示法, 邻域嵌入法等. 传统的方法对于图像超分辨率重建的处理速度快但丢失大量高频信息, 细节纹理恢复有限且消耗大量资源. 卷积神经网络被应用在图像超分辨率领域是2014年提出的SRCNN[3], 该方法开启了该领域的新面貌. 自此, 众多研究者使用各种深度学习的方法来研究, 成果不断.

采用深度学习的方法进行图像超分辨率重建的优势主要在于卷积神经网络具有强大的特征捕获能力. 但模型难以快速收敛, 消耗大量时间的问题显露出来. 这也意味着需要消耗更大的内存空间, 网络也面临着“过拟合”的风险. 因此, 如何在增加网络深度的同时不增加网络参数量且图像重建精度高, 是目前图像超分辨率重建研究的重要任务[4].

本文提出的基于密集残差注意力网络的图像超分辨率算法, 可以明显提升图像重建视觉效果, 网络收敛速度快, 有效缓解网络“过拟合”的问题. 该网络的深层特征提取部分主要采用密集残差网络(Residual Dense Network, RDN), 并且受到SE-Net的激发, 在网络中加入通道注意力机制, 区分高低频信息, 给高频信息大的权重. 网络不需要学习低频无用信息. 经实验验证, 本文提出的密集残差注意力网络在图像超分辨率重建技术上取得了不错的视觉效果.

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

近几年来, 图像超分辨率领域迎来大热潮, 研究者广泛使用深度学习的方法. Chao Dong等人[5]改变了传统方法复杂且效果有限的囧境, 他们成功将卷积神经网络运用于图像超分辨率. 研究者在SRCNN的基础上加以改进, 不断扩大网络深度, 加快模型训练的速度, 以获取深层的图像信息来实现超分辨率重建. FSRCNN提出SRCNN模型的弊端, 直接将LR图像输入网络, 无需预处理操作, 采用反卷积(deconvolution)进行图像重建操作, 加速网络训练, 网络性能提升一个台阶; VDSR[6]利用残差学习(residual learning)将网络深度扩大到20层, 扩大感受野, 抓取深度特征, 重建效果得以提升; DRCN首次采用递归神经网络(RNN)实现图像的超分辨率[7]; 稠密块(Dense Block)被应用于图像的超分辨率是在SR-Dense-Net中, 该网络最大的优势在于重复使用特征图, 有效利用了LR图像的信息; LapSRN[8]多次扩大图像的分辨率. 该网络的优势体现在高放大倍数情况下, 例如×4放大倍数下, 输出结果是在×2放大倍数下重建的图像和原LR图像上再次重建得到, 在一定程度上恢复出图像的细节.

2.2 注意力机制

近年来, 随着科学技术的高速发展, 深度学习的蓬勃兴起, 实现图像超分辨率重建成为计算机视觉领域一大热门研究课题. 对于图像超分辨率任务, 图像恢复起关键性作用的高频成分主要是图像的纹理和边缘等特征, 因此, 均等地对待各通道特征是不现实的. 研究者在研究人类视觉特性时, 发现人在观察事物时会选择性地关注部分信息而忽略其他信息. 2017年, SENet[9]中提出将注意力机制加入深度网络中, 对特征通道间的相关性进行建模, 重点关注重要特征来提升准确率, SENet的网络框架如图1所示.

图 1 注意力机制

图1左侧由C个特征图组成的输入特征图组为X=[x1, x2, …,xi,…,xC], 大小均为H×W. 具体操作如下:

(1) Sequeeze操作

首先使用全局平均池化(global average pooling), 将每个二维的特征通道变成一个标量, 该标量具有全局感受野, 该步骤称为Sequeeze操作, 公式如下:

$ {Z}_{c}={F}_{\rm {sq}}\left({U}_{c}\right)=\frac{1}{W\times H}\sum\nolimits_{i=1}^{W}\sum\nolimits_{j=1}^{H}{X}_{c}(i,j) $ (1)

其中, ${F}_{\rm {sq}}$ 为Sequeeze操作的函数, 第c个特征图上位置 $ (i,j) $ 的值为 $ {X}_{c}(i,j) $ .

(2) Excitation操作

Excitation利用参数 $ w $ 为每一个通道形成权重. 该过程是由两个全连接组成. 第1个全连接层将C个通道压缩成C/r个通道, 称为通道下采样(channel downscaling): 第2个全连接层恢复C个通道, 公式如下:

$ S={F}_{\rm {ex}}\left(Z,W\right)=\sigma \left(g\left({\textit{z}},w\right)\right)=\sigma {w}_{u}\delta \left({W}_{D}Z\right) $ (2)

其中, z是Sequeeze操作的全局描述, $\delta $ 表示ReLU函数, $\sigma $ 为Sigmoid函数. 降采样的卷积层权重设为 ${W}_{D}\in {R^{\frac{C}{r}\times c}}$ , 上采样的卷积层权重设为 ${W_U} \in {R^{C \times \frac{C}{r}}}$ , r是缩放率[10].

(3)融合操作

在Excitation操作后获得特征图X的各个通道的权重, 再将输入特征与通道权重相乘, 公式如下:

$ \hat x = {F_{\rm {scale}}}\left( {{X_c},{S_c}} \right) = {S_c} \times {X_c} $ (3)

其中, Sc是第C个特征图通道的权重, Xc是第C个特征图.

3 基于密集残差注意力网络的图像超分辨率算法 3.1 网络框架

图2所示, 密集残差注意力网络主要包含4大部分: 浅层特征提取, 深层特征提取, 上采样, 重建. 令输入图像为ILR, 本文的浅层特征提取可用下式表示为:

$ {F}_{0}={H}_{\rm {SF}}\left({I}_{LR}\right) $ (4)

其中, HSF代表浅层特征提取层的函数. F0代表该层的输出. 深层特征提取模块即非线性匹配层, 包含4个密集残差注意力模块, 具体公式如下:

$ {F}_{\rm {DF}}={H}_{\rm {RAM}}\left({F}_{0}\right) $ (5)

其中, HRAM表示深层特征提取层的函数, FDF代表该层输出的深层特征图. 深层特征提取层包含4个密集残差注意力模块, 可以充分获取深层图像高频信息. 具体操作将在3.2节详细讨论.

图 2 网络框架

接下来进行上采样操作(Upscale). 我们将深层特征图输入上采样模块, 具体公式如下:

$ {F}_{\rm {UP}}={H}_{\rm {UP}}\left({F}_{\rm {DF}}\right) $ (6)

HUP代表上采样函数, FUP代表上采样后的特征图.

最后将FUP输入重建模块, 即:

$ {I}_{\rm {SR}}={H}_{\rm {Rec}}\left({F}_{\rm {UP}}\right) $ (7)

其中, ISR代表最终输出图像, HRec代表图像重建函数.

3.2 密集残差注意力模块

密集残差注意力模块主要包含4个相同的残差注意力块(RAB)和密集连接(Dense Connection), 具体框图如图3.

令第 $ l $ 个残差注意力块用公式表示为:

$ {F}_{l+1}={H}_{l}\left({F}_{l-1}\right) $ (8)

其中, $ {F}_{l-1} $ , $ {F}_{l+1} $ 分别表示第 $ l-1 $ , $ l+1 $ 个RAB模块, 即第l个RAB模块的输入和输出, ${H}_{l}\left(\cdot \right)$ 表示第 $ l $ 个密集残差注意力块函数. 第l个RAB模块操作细节如下:

首先Fl–1经过一个空洞卷积层(dilated convolution)得到 $ {F}_{l}' $ , 公式如下:

$ {F}_{l}'={H}_{\rm {D-Conv}}\left({F}_{l-1}\right) $ (9)

其中, HD-Conv表示空洞卷积操作的函数. 由于网络层数增加容易导致网络退化等问题, 因此, 本文引入残差块解决这一问题. 残差块可用式(10)表示为:

$ {F}''_{l}={F}_{l}'+H\left({F}_{l}',{W}_{l}\right) $ (10)

其中, $ H\left({F}_{l}',{W}_{l}\right) $ 表示残差操作函数, $ {W}_{l} $ 表示卷积操作的权重, $ {F}''_{l} $ 是残差块最终输出的特征图.

传统的卷积操作均等对待每一个特征图, 在图像超分辨率任务中, 对超分辨率结果有用的特征和无用的特征被均等对待, 极大降低网络效率. 因此, 我们在网络中加入通道注意力块, 为每一个特征通道学习一个权重, 该权重代表特征图的重要度. 这将使网络重点关注有用的信息. 具体公式如下:

$ {F}''_{l+1}={F}''_{l}+{A}_{l}\left({F}'''_{l}\right)\cdot {F}'''_{l} $ (11)

其中, $ {F}'''_{l}$ 是两层卷积层后的特征图, ${A}_{l}\left(\cdot \right)$ 代表第l个密集残差注意力模块的特征通道注意力函数.

图 3 残差注意力块

3.3 密集连接机制

残差网络通过建立“短路连接”可以极大加深网络, 自问世以来深受研究者热爱. 当网络深度加深到一定程度的弊端是网络收敛速度极慢. 密集网络(DenseNet)[10]建立前面所有层与当前层的密集连接(dense connection), 且能特征重用(feature reuse), 很好地解决了此问题. 具体结构如图4所示.

图 4 密集连接机制

本文受到密集卷积神经网络的启发, 在网络中加入密集连接机制, 如图4所示. 具体公式表示如下:

$\left\{ { \begin{split} &{F_1} = {F_0} + {F_1}\left( {{F_0}} \right)\\ &{F_2} = {F_0} + {F_1} + {F_2}\left( {{F_1}} \right)\\ &{F_3} = {F_0} + {F_1} + {F_2} + {F_3}\left( {{F_2}} \right)\\ &{F_4} = {F_0} + {F_1} + {F_2} + {F_3} + {F_4}\left( {{F_3}} \right) \end{split}} \right. $ (12)

密集连接机制充分利用LR图像的特征且深层特征可以利用浅层的特征, 增大信息的流动, 减少了网络训练参数量. 特征重用可以减少卷积操作的同时, 增加特征图的数量, 有效提高网络学习效率.

4 实验验证及结果分析 4.1 实验环境与数据集

目前图像超分辨率的训练基准数据集主要有: DIV2K, Flichr2K, PixelShift200等, 如表1所示. 本次实验, 我们采用Flichr2K数据集来训练网络. 主流测试数据集主要有: Set5, Set14, BSD100, Urban100, Manga109等, 如表2. 深度学习模型需要通过大量数据进行训练, 然而现有的训练数据集普遍包含的图片数量较少. 因此本文使用数据增强技术[11], 将训练数据随机旋转90°, 180°, 270°, 平移和翻折, 裁剪训练的LR图像块大小为48×48. 目前图像超分辨率网络的输入是LR图像, 获取方式是由HR图像在Matlab平台, 经4倍的双三次下采样(BicubicDownsampling)得到.

表 1 训练数据集(单位: 张)

表 2 测试数据集(单位: 张)

4.2 评价指标

对于图像超分辨率效果的客观评价指标主要有PSNRSSIM[12], 图像超分辨率的效果可以用这两个指标衡量.

(1) PSNR

给定一个大小为m×n的HR图像X和重建的超分辨率图像F, 均方误差(MSE)定义为:

$ MSE=\frac{1}{mn}\sum\limits_{i=0}^{m-1}\sum\limits_{j=0}^{n-1}{[F\left(i,j\right)-X(i,j\left)\right]}^{2} $ (13)

PSNR定义为:

$ PSNR=10{\log}_{10}\left(\frac{{Max}_{H}^{2}}{MSE}\right) $ (14)

其中, ${{Ma}}x_H^2$ 一般取255. 图像失真情况可参考PSNR数值, 图像失真情况与PSNR值呈负相关关系.

由于PSNR与人眼的敏感特性不完全符合, 因此由于PSNR与人眼的敏感特性不完全符合, 因此根据PSNR的数值判断图像生成的效果是不合理的.

(2) SSIM

SSIM是衡量图像间结构相似性的指标, 结构相似度是从图像组成的角度将结构信息定义为反映场景中物体结构的属性, 并将失真建模为亮度、对比度和结构3个不同因素的组合. 其值在0到1之间, 若两幅图结构完全相似, 则SSIM值为1.

4.3 实验结果与分析

本文的实验需要在配有NVIDA GeForce 1080Ti的计算机上进行, 并调用PyTorch库. 采用Adam优化器, 初始学习率设为10−4, 每反向传播2×105, 学习率下降1/2. 除了特征图通道放大或缩小时卷积核大小设为1×1以外, 其余卷积操作的卷积核大小均设为3×3, 卷积后使用PReLU激活.

我们与目前超分辨率效果较好的几种方法, 例如: SRCNN, LapSRN, VDSR, RCAN[13], MCAN[14]等作比较. 放大倍数分别为: ×2, ×4, ×8. 在Set5, Set14, BSD100, Urban100, Manga109测试数据集上进行测试, 得到如表3所示的PSNRSSIM数值. 从表中可以看出, 在放大倍数为8倍时, 在Set14测试集上, 本文提出的方法的PSNR值达到25.43. 从客观评价指标上看, 本文提出的方法可以将图像中的细节恢复清晰, 性能表现优于目前表现较好的RCAN和MCAN等方法. 并且当放大倍数较高时, 本文提出的算法性能越好.

表 3 不同超分辨率方法的PSNRSSIM数值比较

在视觉效果上, 我们在图5中展示了在×4放大倍数下的效果, 可以看出本文提出的算法恢复的图像高频纹理较其他算法清晰. 可见, 无论是PSNRSSIM数据值还是人眼的视觉效果, 本文提出的基于密集残差注意力机制的图像超分辨率算法细节恢复较好, 图像重建效果优于其他算法.

4.4 模型参数量分析

在训练阶段, 本文提出的方法增加网络深度, 相对于RCAN, MCAN, 参数量较少. 如图6所示, 本文在×4放大倍数下的Urban100数据集上进行对比试验. 本文的方法在参数量和性能上做了较好权衡, 获得了较高的PSNR值, 其参数量远远小于MCAN和RCAN.

5 结语

由于大部分图像超分辨率算法的网络训练速度慢, 生成图像纹理不清晰, 本文提出的基于密集残差注意力网络针对这些问题做出改进, 并取得优秀的视觉效果. 利用残差网络极强的特征捕获能力, 有效解决梯度消失的问题. 注意力机制可以充分利用LR图像的特征, 重点关注对图像超分辨率有用的特征, 忽略无用的特征, 有效提高网络的收敛速度, 降低参数量. 由实验验证可知, 本文提出的基于密集残差注意力网络的图像超分辨率算法参数量少, 网络收敛速度快. 因此, 基于密集残差注意力网络的图像超分辨率算法在图像重建质量和网络性能上均优于其他主流超分辨率算法.

图 5 视觉效果对比

图 6 参数量分析

参考文献
[1]
刘永信, 段添添. 基于深度学习的图像超分辨率重建技术的研究. 科技与创新, 2018(23): 40-43.
[2]
段然, 周登文, 赵丽娟, 等. 基于多尺度特征映射网络的图像超分辨率重建. 浙江大学学报(工学版), 2019, 53(7): 1331-1339. DOI:10.3785/j.issn.1008-973X.2019.07.012
[3]
胡长胜, 詹曙, 吴从中. 基于深度特征学习的图像超分辨率重建. 自动化学报, 2017, 43(5): 814-821.
[4]
Dai T, Cai JR, Zhang YB, et al. Second-order attention network for single image super-resolution. Proceeding of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, CA, USA. 2019. 11057–11066.
[5]
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
[6]
Kim J, Lee JK, Lee KM. Accurate image super-resolution using very deep convolutional networks. Proceeding of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 1646–1654.
[7]
Kim J, Lee JK, Lee KM. Deeply-recursive convolutional network for image super-resolution. Proceeding of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA. 2016. 1637–1645.
[8]
Lai WS, Huang JB, Ahuja N, et al. Fast and accurate image super-resolution with deep Laplacian pyramid networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 41(11): 2599-2613. DOI:10.1109/TPAMI.2018.2865304
[9]
Hu J, Shen L, Sun G. Squeeze-and-excitation networks. Proceeding of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 7132–7141.
[10]
Zhang YL, Tian YP, Kong Y, et al. Residual dense network for image super-resolution. Proceeding of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. 2018. 2472–2481.
[11]
Li Z, Yang JL, Liu Z, et al. Feedback network for image super-resolution. Proceeding of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, CA, USA. 2019. 3862–3871.
[12]
Zhang K, Zuo WM, Zhang L. Deep plug-and-play super-resolution for arbitrary blur kernels. Proceeding of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, CA, USA. 2019. 1671–1681.
[13]
Zhang YL, Li KP, Li K, et al. Image super-resolution using very deep residual channel attention networks. Proceeding of the 15th European Conference on Computer Vision. Munich, Germany. 2018. 294–310.
[14]
Ma HL, Chu XX, Zhang B, et al. A matrix-in-matrix neural network for image super resolution. arXiv: 1903.07949v1.