刘锡泽,范 红,海 涵,王鑫城,许武军,倪 林
(东华大学 信息科学与技术学院,上海 201620)
单幅图像超分辨率(SISR)重建是利用软件算法将低分辨率(Low-Resolution,LR)图像重建为更清晰的高分辨率(High-Resolution,HR)图像,其被广泛应用于卫星图像、医学影像、监控等计算机视觉领域。
传统的图像超分辨率方法包括基于插值的方法、基于重建的方法[1-2]、基于传统学习的方法[3-4]等。近年来,研究者在SISR 中广泛采用基于卷积神经网络的方法。DONG 等[5]提出图像超分辨率网络SRCNN,该网络包含特征提取、非线性映射和重建3 个部分,且网络经过大量样本训练,重建效果超过了传统的图像超分辨率方法。KIM 等[6]于2016 年提出VDSR 网络,该网络将层数提升到了20 层并且受残差网络ResNet[7]的影响,设计全局残差学习方法,在提升重建效果的同时加快网络收敛。为减少模型参数,TAI 等[8]提出一种深度递归残差网络DRRN,在减少参数量的同时进一步提升了重建效果。
由于以上算法在重建之前都要经过双三次插值算法的预处理,而这种处理会丢失原图像中的一部分高频信息,同时提高了计算的复杂程度,因此研究者又提出了直接在原始LR 图像上进行卷积,最后上采样到HR 图像的算法。DONG 等[9]提出FSRCNN 网络在图像重建过程中采用反卷积层进行上采样操作。SHI 等[10]提出一种高效的亚像素卷积网络ESPCN,相比反卷积层,该网络的亚像素卷积算法降低了计算复杂度,避免产生由反卷积层带来的棋盘格效应,提升了重建效果。
在上述网络基础上,一些研究者致力于增加网络深度,提升网络重建效果。如LIM 等[11]提出MDSR网络,堆叠了80个残差模块,层数达到了165 层。ZHANG 等[12]提出RCAN,堆叠了20 个有注意力机制的残差模块,层数达到了400 层以上。这类模型重建效果较好,但模型结构简单,参数利用效率低;体积过于庞大,运算速度慢且不易部署。
为充分利用网络中间层提取到的特征,促进信息传播,在残差网络基础上,不同类型的网络结构相继被提出。TONG 等[13]提出SRDenseNet,将前一层的输出广播到其后面层的输入中,从而促进信息传播,降低训练难度。TAI 等[14]提出MemNet,利用有门控机制的记忆模块保留所需要的信息,具有较强的学习能力。ZHENG 等[15]提出IDN,其中的信息蒸馏单元采用切片方式将不同长度路径的信息进行组合,输入到下一层中,信息压缩单元过滤出更有用的特征,提升模型的重建精度。
本文提出密集反馈注意力网络(Dense Feedback Attention Network,DFAN)模型,以进一步优化超分辨率模型中各层之间的信息流和参数的利用效率。采用多尺度残差注意力模块(Multi-scale Residual Attention Block,MRAB)作为基本块,通过膨胀卷积方式使卷积核具有不同大小的感受野,在保持参数较少的同时提取出更丰富的特征。由于MRAB 融合了通道与空间注意力机制,因此可使模型关注更有利于图像重建的高频信息。
SISR 目标是由大小为H×W×C的低分辨率图像ILR预测出对应大小为rH×rW×rC的高分辨率图像ISR,其中r为放大倍数。基于深度学习的图像超分辨率方法利用大量训练样本训练模型参数θ,最终得到一个映射函数ISR=f(ILR,θ),使模型预测的图像ISR最接近真实的高分辨率图像IHR。
DFAN 整体架构如图1 所示。特征提取网络中,LR 图像首先通过含ReLu 激活函数的3×3 卷积核提取浅层特征,再通过数个堆叠的特征融合(Feature Fusion,FF)模块与MRAB-Group 提取图像的高层次特征。此过程如式(1)、式(2)所示:
图1 DFAN 整体架构Fig.1 The overall architecture of DFAN
其中:F0为第一个卷积层输出;Fi为第i个MRAB-Group输出;C0为对LR 图像的卷积操作;CMRAB⁃Group(i)为第i个MRAB-Group的特征提取函数;CFF(i)为第i个FF模块的特征融合函数;σ为ReLu激活函数;w0为第一个卷积层的权值,省略偏置项。
在图像通过特征提取网络后,第一个卷积层输出与每个MRAB-Group 输出进行合并,通过全局特征融合(Global Feature Fusion,GFF)模块进行特征融合降维,如式(3)所示:
其 中:FGFF为GFF 模块输 出;CGFF为全局特征 融合函数;[]为特征图的串联操作。
在图像重建阶段,本文采用ESPCN[10]算法进行重建网络。第一个卷积层的输出通道数为64r2,Pixel-Shuffle层将特征图像素重新排列,特征图的宽度和高度尺寸放大到目标倍数r,输出通道数为64;最后一个卷积层输出重建后的高分辨率图像,由于重建是在RGB格式的图像上进行,因此输出通道数为3。重建过程如式(4)所示:
其中:CUP为图像的上采样函数;wup1和wup2分别为重建网络中两个卷积层的权值;CPS为亚像素卷积操作。
本文提出一种含注意力机制的多尺度残差模块(MRAB)作为DFAN模型的基本块,MRAB结构如图2所示。
图2 MRAB 结构Fig.2 The structure of MRAB
在MRAB模块中,特征图首先通过含ReLu激活函数的32个通道,1×1大小的卷积层进行降维,降低网络的计算复杂度并增加网络的非线性;其次分别通过膨胀因子为1、2、3的膨胀卷积层提取不同尺度的特征,其中膨胀因子为1的卷积层相当于一个普通的3×3卷积层。膨胀卷积层在不增加网络参数与计算复杂度的情况下,使每个MRAB模块具有不同大小的感受野,捕获到不同尺度的空间信息,从而提升模型提取到有效信息的概率。
3 种不同尺度的特征图分别经过卷积模块注意力模块(Convolutional Block Attention Module,CBAM),提取出对图像重建更有利的高频信息进行特征图的串联与降维。与输入特征图求和,形成残差结构,作为MRAB的最终输出。特征图经过MRAB的过程如式(5)、式(6)所示:
RCAN[12]网络将通道注意力机制[16]引入残差模块,在SISR 领域取得了显著的性能。CBAM 结合空间注意力与通道注意力机制,在ImageNet-1K 数据集上的分类问题中提高了性能的稳定性,而且计算复杂度非常低。本文在MRAB 每个通道的膨胀卷积层后增加了CBAM,使模块在不同尺度的特征图下关注更有利于重建的边缘、纹理等高频信息,并在一定程度上利用卷积核局部感受野外其他上下文信息。本文CBAM 由空间注意力模块(Spatial Attention Block,SAB)与通道注意力模块(Channel Attention Block,CAB)组合而成,CBAM 的结构如图3 所示。SAB 的结构如图4 所示。
图3 CBAM 结构Fig.3 The structure of CBAM
图4 SAB 结构Fig.4 The structure of SAB
从图4 可以看出,SAB 的特征图首先在H与W方向上进行二维最大池化和平均池化,再将特征图串联并经过带有ReLu 激活函数的7×7 大小卷积核自适应地学习每个空间位置的权重,最后经过Sigmoid 函数将权重值压缩到[−1,1]区间中,如式(7)所示:
其 中:F为CBAM 的输入特征;F'为SAB 的输出;φ为Sigmoid 激活函数;CMAP与CMEP分别为最大池化与平均池化操作。
CAB 结构如图5 所示。特征图首先按通道方向进行最大池化与平均池化,得到1×1×C大小的特征图;其次分别用1×1 卷积核进行特征图收缩与扩张操作,收缩率为s,本文取16;最后将计算得到的特征图通过Sigmoid 函数并相加,获得通道注意力特征图。
图5 CAB 结构Fig.5 The structure of CAB
CAB 输出过程如式(8)所示:
其中:F″为CAB 输出;CMAP-C与CMEP-C分别为按特征图通道方向进行的最大池化与平均池化操作。
SAB 输出与CAB 输出相乘得到空间-通道注意力特征图,用特征图对CBAM 输入特征进行加权,即可得到最终的输出特征。CBAM模块最终输出如式(9)所示:
受CliqueNet[17]启 发,本文将4 个MRAB 组 成MRAB-Group,MRAB 采用密集反馈连接方式,具体结构如图6 所示。
图6 MRAB-Group 结构Fig.6 The structure of MRAB-Group
在SRDenseNet[13]中,卷积层采用密集连接方式,即每个卷积层输出都是其后面所有卷积层的输入,而在密集反馈网络结构中,每个MRAB 输出都是其他所有MRAB 的输入。在阶段1 中,连接方式与密集连接相同,所有已更新模块的输出特征图被连接起来,经过1×1 卷积融合后,作为下一个将要更新模块的输入。阶段1 第i个MRAB 输出如式(10)所示:
在阶段2 中,除将要更新的MRAB 之外,其他所有MRAB 的输出特征图被连接起来,经FF 层降维后作为即将更新的MRAB 输入,如式(11)~式(13)所示:
本文使用DIV2K[18]数据集的800 张训练图片作为训练数据集。DIV2K 是一个2K 分辨率的高清数据集,含有丰富的内容,近年来在图像超分辨率网络的训练中被广泛采用,另外,在DIV2K 的100 张验证图片中选择10 张图片作为验证数据集。本文使用Set5[19]、Set14[20]、BSD100[21]与Urban100[22]在图像超分辨率领域中通用的基准数据集作为测试数据集,其 中Set5、Set14 与BSD100 主要包括景观、动植物图像,Urban100 主要包括真实的城市景像,并在放大3 倍与4 倍时对测试集做了大量的实验和评估。
在网络中如无特殊说明,各卷积层的通道数均设置为64,MRAB-Group 的个数设置为3。在训练前,先使用双三次插值算法降低训练图像分辨率,再使用Matlab 中自带的randsample 函数将训练图像随机裁剪分辨率为48 像素×48 像素的图像。为提高模型的泛化能力,本文使用以下方式对训练图片进行数据增强:顺时针旋转90°、旋转180°、顺时针旋转270°、水平翻转。最终的训练数据集中含有约15 万张分辨率为48 像素×48 像素的图像作为模型输入。本文使用平均绝对误差(Mean Absolute Error,MAE)作为模型的损失函数。模型使用Adam[23]优化器,初始学习率设置为0.000 2,优化器的初始参数设置为:β1=0.9,β2=0.999,ε=10-8。
本文实验环境如下:Windows10 操作系统,Tensorflow 2.1.0 深度学习框架,结合并行计算框架CUDA10.1 对实验进行加速。实验采用的硬件设备为:运行内存为12 GB 的Intel®CoreTMi5-8500CPU@3.00 GHz 处理器,显存为12 GB 的NVIDIA TITAN Xp显卡。模型训练时,设置每次迭代的批大小为16,总共迭代350 000 次,每迭代10 000 次将学习率调整为原来的1/2。
2.3.1 实验分析
首先研究MRAB中的注意力机制和MRAB-Group中的反馈阶段对最终实验结果的影响。在迭代200 000 次时模型接近于收敛,所以为方便实验,消融研究的实验结果均为各模型迭代200 000 次时的重建效果。在模型M2 中,去除MRAB 中的CBAM;在模型M3 中,去除了MRAB-Group 中的阶段2,使MRAB 的连接方式相当于SRDenseNet[13]中的密集连接方式;在模型M1 中,同时去除CBAM 与阶段2;模型M4 的结构与原模型保持一致。在验证数据集上M2、M3、M4 模型的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)的对比如图7 所示。
图7 在验证数据集上M2、M3、M4 模型的峰值信噪比对比Fig.7 Peak signal-to-noise ratio comparison between M2,M3,M4 models on the validation data set
在Set5 数据集上不同模型参数量的重建结果如表1 所示(放大倍数为3)。从表1 可以看出,相比M1模型,M2 模型的参数量增加了约161×103,M3 模型的参数量约16×103,在Set5 数据集上M4 模型的测试结果增加了0.17 dB。在模型中引入反馈阶段和CBAM,不会使模型的参数有大量增长,但能明显提升模型的重建效果。
表1 在Set5 数据集上不同模型的重建结果Table 1 The reconstruction results among different models on Set5 data set
为分析MRAB-Group 中不同阶段提取特征对重建结果的影响,本文在不同数据集上采用4 种版本的DFAN 模型进行测试,具体结果如表2 所示(放大倍数为3)。
表2 在不同数据集上4 种版本的DFAN 重建结果对比Table 2 The reconstruction results comparison among four versions of DFAN on different data sets
从表2 可以看出,输入到FF 代表MRAB-Group 经FF层输入到下一个MRAB-Group的特征图;输入到GFF代表MRAB-Group 输入到GFF 层用于最后图像重建的特征图。DFAN(2+2)的重建结果最好,说明阶段2 比阶段1 提取的特征更丰富,更有利于图像重建,本文采用DFAN(2+2)作为最终的模型结构。
为进一步探索反馈阶段功能,本文将模型中4 组MRAB-Group 阶段1 和阶段2 的平均输出特征图进行可视化,特征图可视化结果如图8 所示(彩色效果见《计算机工程》官网HTML 版)。
图8 特征图可视化结果Fig.8 Visualization results of feature map
从图8 可以看出,相比阶段1,阶段2 在平滑区域的特征图像素值降低,但在边缘区域的像素值增加,并且阶段2 的特征图明显比阶段1 更加细致,激活了更多高频特征。因此,引入反馈阶段使模型恢复出图像更多的高频纹理细节。
2.3.2 PSNR 与结构相似性的对比
在放大倍数分别为3 和4 的情况下,以PSNR 和结构相似性(Structure Similarity Index,SSIM)为评估指标,其他模型均采用原作者的公开代码。在各测试集上不同模型的平均PSNR 与SSIM 值对比如表3 所示(不同的放大倍数)。从表3 可以看出,DFAN 模型具有优异的重建效果。在放大倍数为4时,图像重建难度大,DFAN 模型除了在Set5 数据集上的SSIM 值略低于IDN 模型,在其他数据集上的PSNR 和SSIM 均取得了最好的结果。在4 个数据集上DFAN 模型的平均PSNR 值比VDSR 模型提高了约0.35 dB,比IDN 模型提高了约0.1 dB。
表3 在各测试集上不同模型的平均PSNR 与SSIM 值Table 3 Average PSNR and SSIM between different models on each testsets
2.3.3 重建结果对比
在所有测试集中,Urban100 数据集包含丰富的纹理和不同尺度空间的重复图案,重建难度较大,但更便于对比。当放大倍数为4时,Urban100数据集中img_061图像上不同模型的重建效果如图9 所示。当放大倍数为4 时,在Urban100 数据集中img_034 图像上不同模型的重建效果如图10 所示。当放大倍数为4 时,在Urban100 数据集中img_047 图像上不同模型的重建效果如图11 所示。本文采用Urban100 数据集中3 张图像进行模型的主观视觉评价。从图9~图11 可以看出,DFAN 模型重构出的图像更清晰,包含了更多图像的边缘和纹理细节。因此,DFAN 模型无论是主观视觉效果还是客观评价指标上,都超越了其他基于深度学习的图像超分辨重建算法。
图9 在Urban100 数据集中img_061 图像上不同模型的重建效果对比Fig.9 Reconstructed effects comparison among different models on img_061 image in Urban100 data set
图10 在Urban100 数据集中img_034 图像上不同模型的重建效果对比Fig.10 Reconstructed effects comparison among different models on img_034 image in Urban100 data set
图11 在Urban100 数据集img_047 图像上不同模型重建效果对比Fig.11 Reconstructed effects comparison among different models on img_047 image in Urban100 data set
2.3.4 运算复杂度对比
为进一步对比DFAN 模型与其他模型的参数量与运算复杂度。在放大倍数为4 时,在Set14 数据集上不同模型的参数量与PSNR 对比如图12 所示。DFAN 模型具有最高的PSNR 值,参数量是一个轻量级的模型,约1.2×106,可以轻易部署在移动端等对模型大小要求较为严格的服务端。
图12 在Set14 数据集上不同模型的PSNR 与参数量对比Fig.12 PSNR and parameters comparison among different models on Set14 data set
在分析模型的运算复杂度时,假设模型在放大倍数为4 的情况下恢复出尺寸为1 280 像素×720 像素的高分辨率图像,对比结果如图13 所示。DFAN 模型的运算复杂度约为VDSR 模型的0.18 倍,DRRN 模型的0.016 倍。因此,DFAN 模型不仅是易部署的轻量级模型,在计算效率方面相比其他模型更有优势。
图13 在Set14 数据集上不同模型的PSNR 与运算复杂度对比Fig.13 PSNR and computational complexity comparison among different models on Set14 data set
本文提出一种包含注意力机制的轻量级密集反馈网络(DFAN)模型,将高层次卷积核提取的高频信息反馈给低层次卷积核。MRAB 作为模型的基本块,融合了空间注意力机制和通道注意力机制,能够筛选出更有利于重建的特征。实验结果表明,相比VDSR、DRRN、MemNet 等模型,DFAN 模型能提高参数的利用效率,重建效果更优。后续将对DFAN 模型结构的有效性以及更深层次的图像超分辨率网络进行研究,进一步提升重建效果。