APP下载

非局部多尺度融合的单帧图像超分辨率重建

2022-04-08李翠华

关键词:残差分辨率卷积

陈 蓉, 李翠华

(1.西藏民族大学信息工程学院,陕西 咸阳 712082;2.厦门大学信息学院,福建 厦门 361005)

图像超分辨率重建是一类典型的不适定性科学问题.根据输入图像的张数,图像超分辨率重建通常分为两类问题:单帧图像超分辨率重建(single image super-resolution reconstruction,SISR)和多帧图像超分辨率重建(multiple image super resolution reconstruction,MISR)问题.本文研究的是SISR技术,对输入的单张质量差的低分辨率(low-resolution,LR)观测图像,重建出一张具有良好客观质量和视觉效果的高分辨率(high-resolution,HR)图像.使用SISR技术生成的图像也称之为超分辨率重建图像.常用的评价图像超分辨率重建质量的客观评价标准有峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structural similarity,SSIM),PSNR侧重比较重建图像与原始HR图像在图像像素点上的差异,SSIM侧重评价两者在结构上的相似程度.通常而言,具有高的PSNR和SSIM指标值的重建算法被认为其重建结果是良好的.而另一类评价标准——主观评价标准则在两者的图像纹理细节上进行比较,丰富的图像纹理被认为其重建结果是良好的.图像超分辨率重建技术已被广泛应用于计算机视觉处理、医疗图像处理、公共安全监控、遥感图像处理、数字娱乐等领域.

由于深度学习能很好地模拟人脑神经结构,它在各类计算机视觉任务,如图像复原、图像分割、目标检测、分类识别以及跟踪等方面,都取得了远远超过传统机器学习方法在这些任务上的成绩.因此,深度学习受到国内外学者的广泛关注.在图像超分辨率重建任务上,相比于传统的图像超分辨率重建算法,基于深度学习的超分辨率重建模型(简称为深度超分模型)能很好地模拟人脑神经结构,无须任何图像预处理操作,具有重建质量更高、重建速度更快等优点,也是目前图像超分辨率重建问题的热门研究方法[1-5].

目前深度超分模型的研究热点多关注如何提升超分模型的重建精度,比如采用更深的网络层数或更有效的网络模块,出现了一大批研究成果,代表性的深度超分模型有:SRCNN(super-resolution convolutional neural network)[6]、VDSR(very deep convolutional network for super-resolution)[7]、EDSR(enhanced deep super-resolution network)[8]、WDSR(wide activation for efficient and accurate image super-resolution)[9]、DBPN(deep back-projection networks for super-resolution)[10]和RCAN(very deep residual channel attention networks)[11].其中,Dong等[6]提出首个深度超分模型SRCNN,该模型是基于卷积神经网络的结构,只包含3个简单的卷积层,但其性能却已超越传统的超分辨率重建算法,如基于稀疏字典表示[12]、样例学习[13]、支持向量机[14]和高斯过程回归[15]等方法.Kim等[7]提出VDSR模型,用残差学习的思想训练网络,为了将整个模型用于学习图像的残差信息,其模型深度达到20层;在加深网络层数的同时,为了使训练和重建速度也有大幅提升,在网络的每个卷积层上使用很小的滤波核(如3×3).在VDSR的基础上,Lim等[8]提出的EDSR模型通过堆叠更多的改进残差模块提升模型的精度,每个残差模块都去掉了两个卷积层中间的批归一化层,其深度达到65层以上.同时,为了保证模型的训练稳定性,EDSR提出残差因子的概念,用于帮助稳定训练.Yu等[9]提出WDSR模型,采用两种宽激活模块替换EDSR的残差模块,在保持残差模块的输入输出特征不变的情况下,扩张非线性激活层前的卷积层输出特征和收缩非线性激活层后的卷积层输出特征,并通过实验验证了其模型的有效性.Haris等[10]提出DBPN模型,学习迭代的高低分辨率特征组,获取了更有效的高低分辨率特征映射关系.Zhang等[11]提出RCAN模型,它的核心模块是多个卷积组,每个卷积组由多个带通道注意力的残差模块组成.这些不断涌现的新模块和训练策略提升了深度超分模型的重建精度.

图1 NFSR模型结构图Fig.1 Model structure diagram of NFSR

上述的深度超分模型(如VDSR[7]、EDSR[8]、RCAN[11])常使用多个模块的串联,未能充分使用各层特征之间的上下文关联信息.借鉴非局部均值滤波,可以有效地获取图像块的上下文信息.Wang等[16]设计了基于非局部神经网络(non-local neural network,NLNN) 的深度结构.网络中定义的非局部模块将输入特征图所有位置上的特征加权得到查询点位置上的特征,非局部模块能让网络更关注目标的位置,忽略其他不重要的信息,但却存在计算量巨大、训练速度慢等问题.Hu等[17]提出SE(squeeze-excitation)模块,通过自适应学习到输入通道特征图的权重值,再将权重加权到原输入通道特征图形成新的通道特征图.非局部模块和SE模块都基于非局部均值思想,但是后者的计算复杂度更低,可以作用在网络的每层上.而在NLNN中,由不同的查询点计算得到的非局部图像块特征都一样,即输入区域与计算得到的特征无关.根据此发现,Cao等[18]对非局部模块进行简化,并结合全局上下文(global context,GC)框架和SE模块,提出GC模块,GC模块大大简化了原非局部模块的计算复杂度.

为了整合特征的空间上下文信息,受到文献[9,11,16,18-19]等的启发,本文设计了一个端到端的基于非局部多尺度融合的超分辨率重建(nonlocal and multi-scale fusion for image super-resolution,NFSR)模型.该模型集成了3种核心模块: 非局部模块、多尺度融合模块、宽激活残差模块.其中,非局部模块、多尺度模块共同作用,增强特征在空间中的上下文关联; 非局部模块用于获取图像的全局特征,关注目标的核心区域; 多尺度融合模块用于对多尺度特征做特征融合; 宽激活残差模块增加非线性激活层前的特征图数量来提升模型精度.

1 NFSR模型

本节介绍NFSR模型,NFSR的模型结构、实现流程和损失函数定义如下.

1.1 模型结构

NFSR模型采用多种模块: 卷积组模块、宽激活残差模块、多尺度融合模块和非局部模块,它的框架如图1所示.卷积组模块使用RCAN[11]的卷积组模块.在此基础上,引入宽激活残差模块[9]、非局部模块[18]和多尺度融合[19]模块.每个卷积组中的宽激活残差模块使用WDSR[9]模型的WDSR-A模块.多尺度融合模块加入卷积组中的最后一层,用于融合卷积组内的特征.在上采样模块前,所有的卷积组模块后,用非局部模块获取输入图像的全局上下文特征.

图1中,NFSR模型的数据处理流程为: 输入LR图像,经过浅层特征提取、多个卷积组特征提取、非局部模块、卷积、高层特征与浅层特征相加、上采样,得到输出的HR图像(即重建的SR图像).分别定义ILR、ISR为网络输入的LR图像和重建的SR图像.其中,浅层特征提取层用1个卷积操作H0提取浅层特征F0,卷积组特征提取层使用多个卷积组操作HGF提取卷积组特征FGF, 非局部特征提取层使用一个非局部特征提取操作HNL提取非局部特征FNL, 高层特征提取层用1个卷积操作HC提取高层特征FC, 将低层特征和非局部特征相加后的特征再进行特征提取,图像重建层用上采样操作HR重建高层特征生成HR图像ISR.

1.2 模块介绍

本节重点描述NFSR中的卷积组模块和3种模块的结构和原理.

1.2.1 卷积组模块

(1)

(2)

图2 卷积组模块结构Fig.2 Structure of convolution group module

1.2.2 3种模块

宽激活残差模块、非局部模块和多尺度模块的内部结构如图3所示.

宽激活残差模块图3(a)给出了宽激活残差模块的内部结构.宽激活残差模块是对EDSR模型中的残差模块的改进,其核心思想是在残差模块的非激活线性层前增加特征图的通道数.它的输入为64个通道的特征图,在非线性激活层前变为128个通道的特征图,输出层再将特征图变回为64个通道.最后,得到的新特征图与原输入特征图进行相加.

非局部模块图3(b)描绘了非局部模块的内部结构,其输入为FGF∈RC×H×W,其中C代表通道数,H代表图像的高度,W代表图像的宽度,r代表通道压缩率.该模块采用Cao等[18]提出的全局上下文GC模块,其核心是在GC的框架中嵌入简化版非局部模块和SE模块.最终形成的GC模块可对每一个查询位置上形成特定查询,并在每个查询点上计算通道注意力,它的计算复杂度为位置点数量的二次方.GC模块由特征的注意权重αj、转换函数Ψ(.)和GC特征与每个位置的特征相加操作组成,非局部模块的输出FNL可以用公式表示如下:

FNL=FGF+Ψ(A⊙FGF),

(3)

Ψ(.)=W2(fReLU(fLN(W1(.)))),

(4)

(5)

图3 3种模块的内部结构图Fig.3 Internal structure diagram of 3 modules

多尺度融合模块结构如图3(c)所示.输入特征经过两次下采样过程,每次下采样倍数为2.先定义下采样2倍为初始特征,整个多尺度融合模块包含3次特征融合过程,分别为: (i) 下采样2倍后,再上采样2倍,经过卷积操作,与初始特征相加得到第一次融合特征F1; (ii) 将(i)的特征进行上采样2倍,经过卷积操作,与输入特征相加得到第二次融合特征F2;(iii) 将(ii)的特征进行卷积操作,得到最终的融合特征F3.

假设输入的特征为F,将该特征的下采样2倍的操作分别记为F↓2操作,将特征的上采样2倍的操作记为F↑2操作,定义初始特征F0=F↓2,图3(c)中经过3次特征融合过程,特征融合后的特征分别定义为F1、F2、F3, 它们的计算公式如下:

F1=H1((F0↓2)↑2)+F0,

(6)

F2=H2(F1↑2)+F,

(7)

F3=H3(F2),

(8)

其中,H1、H2、H3分别表示第1、2、3次特征融合的卷积操作.

1.3 损失函数

模型NFSR的损失函数使用L1损失,定义如下:

(9)

2 实验结果与分析

为了验证本文所提模型的有效性,本节进行了以下实验: 首先是双3次(Bicubic)插值降采样图像的图像超分辨率重建实验; 然后是中高层视觉(图像分割与目标检测)实验.

2.1 图像超分辨率重建实验

2.1.1 数据集

和RCAN模型[11]一样,训练数据集使用DIV2K 2017[20]中的Bicubic插值降采样图像对,共900张图像.其中,训练集有800张,验证集有100张.测试使用常用的5个SR测试数据集,分别是: Set5、Set14、BSD100、Urban100、Manga109.

2.1.2 模型的配置与训练参数

NFSR模型采用10个卷积组模块,每个组又分别用了20个宽激活残差模块.输入的LR图像大小为48×48,HR图像大小为192×192,模型重建4倍放大.对全部训练样本做一轮训练为一次完整迭代(epoch),模型训练的总epoch为500轮.初始学习率为10-4,经200轮epoch后,学习率下降一半,之后每100轮epoch下降一次.使用ADAM优化器进行模型优化,优化参数β1=0.9,β2=0.999.

模型采用的深度学习框架为PyTorch 1.1.0,评价指标的测试环境为Matlab R2015b,训练GPU环境为NVIDIA RTX2080 TI,测试GPU环境为NVIDIA RTX2080,Ubuntu 16.04系统.

2.1.3 与先进模型的定性定量对比结果

模型NFSR训练了两个重建放大倍数: 2倍和4倍放大.在2倍放大时,比较算法和模型有: Bicubic、VDSR[7]、RCAN*[11](*代表重新训练); 在4倍放大时的模型比较中,增加了SRCNN[6]、EDSR[8]和DBPN[10]模型.

表1给出了2倍和4倍放大时,NFSR与以上模型在5个数据集上的定量结果比较.NFSR+是模型NFSR的增强版本,是将NFSR在8个翻转方向上的重建结果做平均.RCAN*+ 是模型RCAN*的增强版本,增强方法同模型NFSR+.从2倍和4倍放大的比较结果上看,NFSR+在5个基准数据集上均取得了最高的精度,模型RCAN*+的定量结果位居第二.而在2倍放大上,模型NFSR在Set14和BSD100数据集上的定量结果的值比模型RCAN*+要高一些.同时,表1的定量结果显示,模型NFSR比模型RCAN*在5个基准数据集上的结果要好一些.

模型NFSR与几个对比模型在2倍放大的定性结果,如图4所示.结果显示: 在Urban100数据集中的图“img060”的线条重建上,模型NFSR重建的线条比模型RCAN、VDSR、Bicubic的重建结果更为密集,结构信息更强,而模型NFSR+因为在8个翻转方向上做了平均,图像出现了一些伪影; 在Set14数据集中的图“ppt3”的文字重建上,与模型RCAN、VDSR、Bicubic相比,模型NFSR重建的线条具有更清晰和有更高的区分度;在基准数据集Urban100、Set14上放大2倍的定性结果可以看到,NFSR模型在图像结构的重建上具有良好的主观效果,图像的可辨识度更高.

表1 在5个基准数据集上的定量结果对比Tab.1 Comparison of quantitative results on 5 benchmark databases

图4 放大2倍的定性结果对比Fig.4 Comparison of qualitative results for 2 times magnification

图5 放大4倍的定性结果对比Fig.5 Comparison of qualitative results for 4 times magnification

NFSR模型与几个对比模型在4倍放大的定性结果,如图5所示.结果显示: 在BSD100数据集的图“24077”的衣服纹理区域,模型NFSR重建出的局部结构比模型RCAN、DBPN、EDSR、VDSR的重建结果要更清晰和突出; 在Urban100数据集的图“img061”的建筑物纹理上,模型DBPN、EDSR、RCAN的重建的线条保持良好,但是方向错了,只有NFSR模型重建结果的线条纹理方向与真实(ground truth,GT)图像一致; 而模型NFSR+在8个翻转方向上增强,导致线条有些混乱,说明模型在多个方向增强后,线条方向容易出现混叠效应; 从图5在基准数据集BSD100、Urban100上放大4倍的定性结果可以看到,NFSR能很好重建HR图像中的细节,特别是能较好地保持图像中的局部结构,如边缘纹理和线条方向等.增强模型NFSR+在某些图的重建上,对存在的噪声也会增强,虽然整体的客观指标(PSNR、SSIM)会高一些,但是图像的视觉效果上不一定为最优.

2.1.4 消融实验

本节分析3类模块对模型的重建精度影响,3类模块分别为:宽激活残差模块(wda)、融合模块模块(em)、非局部模块(nls).

为了对比3类模块加入简单基础模型的效果(PSNR).本文先采用10个组、12个残差块的RCAN作为简单基础模型,将3类模块分别加入这一基础模型中.为了缩短训练时间,所提模型训练大约150轮epoch,在10张DIV2K验证集上的重建精度曲线图如图6所示.

图6 3类模块的训练精度曲线对比图Fig.6 Comparison of training precision curves for 3 modules

图6中,绿色的曲线代表基础的RCAN模型(rcan),黄色的曲线代表在基础的RCAN模型中加入非局部模块(rcan_nls),湖蓝色的曲线代表在基础的RCAN模型中加入融合模块(rcan_em),蓝色的曲线代表在基础的RCAN模型中加入宽激活残差模块(rcan_wda).从图中的重建精度曲线来看,“rcan_wda”的精度曲线最高,其次是“rcan_em”、再次是“rcan_nls”,最低的是“rcan”.消融实验结果表明,在加入非局部模块、融合模块和宽激活残差模块后,与基础模型相比,新模型的重建精度都能有一定的提升.

接下来,再分析这3类模块各自及相互组合对模型重建精度的影响.消融实验采用10个组,每组配置20个残差块(ResBlock)的RCAN模型作为对比实验的Baseline.训练细节及参数设置为:选用DIV2K的800 张高低分辨率图像对做训练集,共训练200轮,每次选取的小批样本数(mini-batch)为8,HR图像块大小为192×192,放大倍数为4倍,LR图像块大小为48×48.在Set14数据集上对比了PSNR、提升的PSNR(PSNR+)、模型参数(Params)、乘法-加法计算量(mult-adds)这几个指标,结果详见表2.

1) 每个模块各自对Baseline模型的影响分析

从表2的结果来看,宽激活残差模块能有效提升模型的精度(提升0.066 dB,模型2),同时也会增加近1倍的参数,但乘法-加法计算量下降了近90%; 非局部模块需要较少的参数,能较少地提升模型的精度(提升0.001 dB,模型4); 融合模块比nls模块能较好地提升模型的性能(提升0.007 dB,模型3),需要增加一些模型参数和乘法-加法计算量.

2) 不同模块组合对Baseline模型的影响分析

两两组合都能提升模型的精度.其中,宽激活残差模块和融合模块组合的精度提升最高(提升0.078 dB,模型7);融合模块和非局部模块组合的精度提升最少(提升0.008 dB,模型6).非局部模块加入宽激活残差模块和融合模块的组合能减少整个模型的冗余参数,并简化乘法-加法计算量(模型7和8),但其精度略有下降.与RCAN模型相比,新模型NFSR的参数增加了一倍,乘法-加法计算量下降为RCAN模型的11.5%,增加的参数基本是在宽激活残差模块上,占到92.7%,同时这个模块提升的性能也最为明显,即PSNR值增加0.066 dB(模型2).另外两个模块使用的参数较小,占到7.3%,这部分主要是获取目标的核心区域和增强特征在空间的上下文关联,两者结合的PSNR值提升约为0.008 dB(模型6).

表2 模型的消融实验Tab.2 Ablation experiment of model

2.2 图像分割与检测实验

为了验证所提模型NFSR在中高层视觉任务上的有效性,对比了NFSR与输入LR图像、Bicubic插值上采样、EDSR_baseline模型、RCAN模型、RCAN*模型在图像分割与检测任务上的测试精度.其中,输入LR图像是原图用Bicubic插值算法缩小4倍后得到的图像,模型EDSR_baseline是带16个残差模块、64个特征图的轻量化模型,模型RCAN是文献[11]提供的SR模型,RCAN*模型是本文根据文献[11]以相同参数重新训练得到的模型.上述几种SR模型均做4倍图像重建放大.

图像分割的测试数据集是DeepGlobe,图像尺寸为2 448×2 448像素,测试图像有142张,包含的类别有“unknown”“urban”“agriculture”“rangeland”“forest”“water”“barren”,分割类别编号0~6,分别用黑色、青色、黄色、紫色、绿色、蓝色、白色表示对应的类别.分割结果和原图的示例如图7(a)所示.目标检测的测试数据集是COCO,图像中的类别一共5类,分别为: “person”“bicycle”“car”“motorcycle”“bus”.检测的原图和标签示例如图7(b)所示.

图像分割测试网络名为GRNet[21],整个网络使用了两个分支网络和一个块建议金字塔网络(PPN)模块: 第一个分支网络用ResNet50作为主干网络,获取增强前的分割结果; 第二个分支网络用ResNet18作主干网络,精细化前面的分割结果; PPN模块用于辅助第二个分支网络实现优化.增强前后的图像分割精度如表3所示.

分割网络有两个: 增强前和增强后.表3的分割结果显示,增强后的分割精度都有提升.从分割精度(以平均交并比为评价标准)上看,NFSR的分割精度最高.其他几种模型的分割精度的情况分别为: Bicubic插值重建4倍的分割精度最低,LR图像的分割精度次低,EDSR_baseline模型重建4倍的结果比LR图像的分割精度略高,RCAN和RCAN*模型重建4倍的分割精度相差不大.增强前,NFSR与模型RCAN*有同等的分割精度,而增强后NFSR比RCAN*的分割精度略高.

目标检测网络选用Faster-RCNN[22],使用ResNet-50网络以及特征金字塔(FPN)网络作为Faster-RCNN的主干网络.测试集选用MS COCO 2016数据集中的1 000 个图像,用已训练好的测试模型做目标检测任务.LR图像和5种重建结果的目标检测精度(以均平均精度(mAp)为评价标准)如表4所示.从表4的目标检测结果看,几种模型的分割精度分别为: Bicubic插值重建4倍的平均检测精度最低,LR图像的平均检测精度高于Bicubic插值算法和EDSR_baseline模型的重建结果.特别是在“bus”类上,LR的平均检测精度比这两者要高很多.在各类的检测精度上,RCAN、RCAN*、NFSR 3种模型各有优劣.其中,RCAN的重建结果在“person”和“car”类的检测精度最高,分别为0.271和0.276; RCAN*的重建结果在“bus”类的检测精度最高,为0.368; NFSR的重建结果在“bicycle”类“motorcycle”类的检测精度最高,分别为0.180和0.286.而对于整个COCO数据集上的平均精度,RCAN和NFSR的重建结果相同.从目标检测应用上看,重建性能高的SR重建模型,虽然在各类图像数据集上的检测精度略有高低差异,但是在整体上能保持良好的检测性能.

图7 图像分割和目标检测数据集示例Fig.7 Examples of image segmentation and object detection datasets

表3 DeepGlobe数据集上的分割精度对比

表4 COCO数据集上的检测精度对比Tab.4 Comparison of detection precision on COCO database

3 结 论

本文提出一种基于非局部多尺度融合的SISR模型.该模型使用了3种模块: 宽激活残差模块、多尺度融合模块、非局部模块.其中,宽激活残差模块通过扩宽激活层的特征,能有效提升模型的精度; 多尺度融合模块对特征在多个尺度上进行融合; 非局部网络模块用于获取图像的全局特征,关注目标的核心区域,减少冗余参数.消融实验表明,宽激活残差模块、非局部模块、多尺度融合模块对深度超分模型的重建精度都有一定的提升.在5个图像超分辨率重建的基准数据集上,所提模型取得了比其他深度超分模型更好的定量和定性结果.所提模型在中高层的计算机视觉任务如图像分割、目标检测上也做了实验验证,所提模型取得良好的分割和检测精度.未来工作将在优化模型参数上,设计更轻量化的SISR模型应用于实际的计算机视觉任务中.

猜你喜欢

残差分辨率卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于残差-注意力和LSTM的心律失常心拍分类方法研究
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
ARM发布显示控制器新品重点强化对分辨率的支持
从600dpi到9600dpi
锐化与显示器分辨率