楼鑫杰,李小薪,刘志勇
(1.浙江工业大学 计算机科学与技术学院,杭州 310023;2.深圳职业技术学院 工业中心,广东 深圳 518055)
图像超分辨率重建旨在从低分辨率图像中重建出高分辨率图像,但由于多个高分辨率图像可能会产生相同的低分辨率图像,因此超分辨率问题具有固有的不变形特点,且高分辨率图像会因多种类型的细节损失而退化成不同的低分辨率图像,导致图像超分辨率重建任务较为复杂。为解决该问题,研究人员提出了很多图像超分辨率方法,包括基于插值的方法[1]、基于重构的方 法[2]以及基于学习 的方法[3-5]。
自DONG 等[6]引入浅层卷积神经网络(CNN)来实现图像超分辨率后,基于深度学习的方法由于其卓越的重建性能而引起广泛关注。基于深度学习方法的优势主要基于深度网络和跳跃连接两个关键因素。深度网络可以提供强大的特征表达和提取能力,能够建立复杂图像从低分辨率到高分辨率的映射,同时可以通过更大的接受域来保留更多的上下文信息,且跳跃连接可以有效地缓解仅通过堆叠更多卷积层加深网络而导致的梯度消失或爆炸问题。
随着网络深度的增加,网络参数的数量也不断增多,大规模的网络模型将占用巨大的内存资源,且存在过拟合的风险。为减少网络参数数量,使用递归结构是常见做法。最近的研究表明[7-8],许多具有递归结构的网络例如DRCN[9]、DRRN[10]等均可以近似为简单状态下的递归神经网络(RNN)。与多数传统的基于深度学习的方法相似,这些具有递归结构的网络可以以前馈方式共享信息。但即使采用了跳跃连接,前馈方式也无法使前一层的网络从后一层中得到有用的信息。
在生物学的认知理论中,连接皮层视觉区域的反馈连接可以将响应信号从高层区域传输到低层区域[11-12],因此最近的研究[13-14]已将这种反馈机制应用于人工神经网络体系结构中。这些体系结构中的反馈机制以自上而下的方式工作,通过将高阶信息反馈给浅层网络,完善低级编码信息。
本文提出一种基于反馈机制的图像超分辨率重建算法,通过构建超分辨率反馈网络,在反馈连接的基础上使用高阶信息细化低阶信息。该网络本质上是具有反馈模块的RNN,是专门针对图像超分辨率任务设计的网络。其中,反馈模块由具有密集跳跃连接的多组上采样层和下采样层构成,能形成强大的高级表示形式。受AMIR 等[14]启发,本文使用具有约束条件的RNN 中包含的隐藏状态来实现网络的反馈机制,并使用课程学习策略,通过连续迭代的方式使网络学习复杂的失真模型。
本节主要对3 个方面的内容展开阐述,包括基于深度学习的图像超分辨率方法、反馈机制以及课程学习。
深度学习已经在包括图像超分辨率任务在内的各种计算机视觉任务中显示了卓越的性能。DONG等[6]在图像超分辨率中引入了3 层CNN,以学习复杂的低分辨率图像到高分辨率图像的映射。KIM等[9]将CNN 的深度增加到20 层,以便在低分辨率图像中使用更多的上下文信息。文献[9]使用跳跃连接来克服当网络变得更深时的优化难题。最近的研究已采用不同类型的跳跃连接改善图像高分辨率算法,例如SRResNet[15]和EDSR[7]应用文献[16]中的残差跳跃连接,SRDenseNet 应用文献[17]中的密集跳跃连接。ZHANG 等[1]在RDN 模型中组合了局部与全局残差和密集跳跃连接。由于这些网络体系结构中的跳跃连接均以自下而上的方式使用或扮演组合分层功能,因此低级别的信息只能从前面几层中接收到。由于接收域小,因此缺少足够的上下文信息。这些低级别的信息在之后的层中被重复使用,从而进一步限制了网络的重构能力。为解决此问题,本文提出一种超分辨率反馈网络,其中高级别信息以自上而下的方式流过反馈连接,以获取更多上下文信息,从而纠正低级别的信息。
神经网络的反馈机制允许网络通过输出信息来更正之前的状态,该反馈机制已被许多网络体系结构采用以满足各种计算机视觉任务的需求。在语义分割领域,文献[18]尝试用拓扑损失来提取高阶语言信息,高阶语义信息反馈到浅层网络用于纠正低阶语义信息。文献[14]旨在解决计算机视觉任务中的分类问题,将具有高阶信息的隐藏状态转移到输入图像的信息中,从而在卷积递归神经网络中实现反馈。对于图像高分辨率重建任务,HAN 等[19]应用一种延迟反馈机制,在双状态RNN 中的2 个循环状态之间传输信息。但与本文的反馈网络不同的是,HAN 等的工作中低分辨率图像到最终的高分辨率图像信息流仍然采用前馈方式。本文的反馈模块中的信息通过密集的跳跃连接有效地流经结构层。如图1 所示,每次迭代的隐藏状态都会流入下一个迭代过程以重新配置输入。为了使隐藏状态包含高分辨率图像的信息,在训练过程中将总损失与每次迭代过程相关联。超分辨率反馈网络的设计原理是使粗糙的高分辨率图像信息可以促进低分辨率图像更好地重建完整的高分辨率图像。图2 显示了本文网络的基本架构,很好地体现了本文的反馈机制。实验结果表明,本文的反馈模块具有更好的重建性能,更适合图像超分辨率任务。
图1 反馈模块的信息流Fig.1 Information flow of the feedback module
图2 本文网络的基本框架Fig.2 Basic framework of the network in this paper
课程学习是由易到难的逐步学习过程,此过程将逐渐增加学习目标的难度,是改善训练过程的一种有效策略。课程学习在早期主要用于处理单个任务,PENTINA 等[20]将课程学习以顺序的方式扩展到多个任务。GAO 等[21]利用课程学习解决图像恢复中的注视问题。由于他们的网络仅限于一次预测,因此在训练过程中将根据任务的复杂程度,通过输入不同的训练数据来实施课程学习。本文通过利用课程学习从易到难的训练过程,逐渐恢复失真的图像,重建出高分辨率图像。
本文的反馈机制通过迭代的网络子模块重新配置,以纠正每个迭代过程中系统的输入,这种迭代的因果过程有助于上下文信息的传递和利用,因为高阶信息可以帮助低分辨率图像更好地恢复重建。本节首先介绍超分辨率反馈网络的整体架构,然后对反馈模块的设计展开探究,最后是课程学习在本文中的应用以及最后损失的计算方法的定义。
如图3 所示是本文的网络结构,可以看到超分辨反馈网络结构可以展开为T次迭代过程,每次迭代过程t在时间上从1 到T排序。为了使超分辨率反馈网络中的隐藏状态带有输出的概念信息,每个迭代的损失将被计算叠加到总损失上。每个迭代轮次的子网络包含3 个部分:低分辨率特征提取模块(LRFB),反馈模块(FB)和重构模块(RB),每个模块的权重在时间上是共享的。每次迭代过程中将通过全局的残差跳跃连接传递上采样的图像,以便于绕过子网。因此,网络的每次迭代过程的目的是在输入低分辨率图像ILR的同时恢复残差图像Conv(s,n)和Deconv(s,n)分别为卷积层和反卷积层。其中:s是卷积核的大小;n是卷积核的数量。
图3 超分辨率反馈网络结构Fig.3 Super-resolution feedback network structure
低分辨率特征提取器包括Conv(3,4m) 和Conv(3,m)。其中:m表示基本卷积核数。当为低分辨率特征提取模块提供低分辨率图像ILR时,可以从中获取低分辨率图像信息的浅层特征如式(1)所示:
其中:fFB表示反馈模块的操作,图1 显示了反馈模块的具体数据流图。本文将在3.2 节对反馈模块展开描述。
重构模块利用Deconv(k,m)将低分辨率特征恢复到正常的高分辨率图像,之后再用Conv(3,cout)生成残差图像,公式(3)描述了重构模块(RB)的功能:
其中:fRB表示重构操作。
第t个迭代轮次的输出图像可由式(4)得到:
其中:fUP表示上采样核操作,通过跳跃连接将浅层信息传输到深层网络,尽可能恢复原图像的细节特征。经过T轮的迭代过程,将得到T张高分辨率图像
如图4 所示为第t个轮次迭代过程中的反馈模块通过接受反馈信息来纠正低阶信息,将更强大的高阶信息作为输出传递到下一个迭代和重构模块。反馈模块包含G组特征映射网络子结构,并且通过密集的跳跃连接相互联系。每一组特征映射子结构均可以通过上采样操作和下采样操作将高分辨率图像特征映射到低分辨率图像上。
图4 反馈模块的网络结构Fig.4 Network structure of feedback module
其中:C↓g对应的是通过第g组特征映射子网络的Conv(1,m)的下采样操作。
为充分利用每个特征提取子网络获取的有效信息和下一个迭代轮次的低分辨率特征通过跳跃连接对每个轮次的低分辨率特征进行有效融合,以生成反馈模块的输出:
本文选择L1 损失函数优化本文的网络模型。由于本文框架会在时间刻度上展开,由此对同一退化模型会得到T张目标高分辨率图像对于简单的退化模型,T张目标高分辨率图像基本一致,但对于复杂的退化模型,会根据T次迭代过程执行课程训练的任务难度对进行排序,每个轮次的损失都是总损失的一部分,因此网络的整体损失定义为:
其中:θ为网络参数的集合;Wt是固定的参数;Z=本文认为越到迭代后面,模型所造成的损失权重占比越大,可以提升最终模型的准确性,同时也可以在所有迭代过程中通过学习错误以纠正模型。
本文通过端到端的训练方式学习网络参数θ,通过最小化超分辨率图像F(X;θ)和实际的高分辨率X的L1 损失函数进行学习,如式(10)所示:
本文设置模型的初始值学习率为1×10-4,采取adam 优化策略以提高收敛的效果。
数据库和评估指标:使用DIV2K[21]和Flickr2K作为网络的训练数据。为充分利用训练数据,采用数据增强的方法。使用PSNR 和SSIM 指标作为超分辨率图像的评估指标,测试数据集采用5 个标准的测试集:Set5,Set14,B100,Urban100,Manga109。
为与现有模型进行公平且全面的比较,选取2 种真实高分辨率图像生成低分辨率图像的标准退化模型。其中第1 种退化模型是GB 退化模型,该模型将高斯模糊应用于高分辨率图像下采样,在实验中使用7×7 大小的高斯核进行模糊处理。与GB 退化模型不同的是,WN 退化模型是经过双三次下采样及添加高斯白噪声处理的退化模型,高斯白噪声的标准差sigma 为25,高斯函数的偏差为0,处理后的像素点值限制范围为0~255。
使用pytorch 训练框架和2 块NVIDIA1080 TiGPU,每个训练批次大小为16。为从低分辨率图像中充分利用上下文信息,根据放大系数提供具有不同色块大小的RGB 图像块。不同尺寸缩放和对应的图像块大小如表1 所示,表2 是参数的设置,Conv(k,m)和Deconv(k,m)中k、步长和填充大小。本文选用Relu 作为除了每个子网的最后一层之外所有卷积层和反卷积层的激活函数。Adam 参数优化算法用来优化网络并加速网络的收敛,本文设置学习率的初始值为0.000 1,每200 个迭代轮次学习率减少为1/2。
表1 不同尺寸缩放对应的图像块尺寸Table 1 Image block size corresponding to different size scaling
表2 参数设置Table 2 Parameter settings
本节主要探索反馈模块的有效性,提出的反馈主要由2部分组成:1)上采样层和下采样层(UDSL);2)密集的跳跃连接(DSC)。如表3 所示,其中:×表示未使用该部分;√表示使用该部分。当反馈模块中的UDSL部分被普通的3×3 大小的卷积核代替时,PSNR 值有所下降,表明上采样操作和下采样操作可以揭示丰富的上下文信息,并对图像超分辨率操作有效。将密集的跳跃连接加入到反馈模块中,该跨层次甚至跨时间的结构能有效地使信息流动,强化信息传递的概念,因此可进一步提高重建性能。
表3 UDSL 和DSC 的消融实验Table 3 Ablation experiment of UDSL and DSC
探索反馈模块中特征映射组数量G的影响。本文固定迭代轮次T为4,从图5 可以看出,适当增大特征映射组,可有效提升超分辨率的准确率(彩色效果见《计算机工程》官网HTML 版)。
图5 G 的收敛分析Fig.5 Convergence analysis of G
本文的框架模型是能在时间刻度上展开的递归神经网络,每一个递归模块都会得到一张目标超分辨率图像。上一个迭代轮次的输出会帮助下一个迭代模块更好地完成超分辨率任务。由图6 可知(彩色效果见《计算机工程》官网HTML 版),在高阶语义信息的反馈下,越后面迭代轮次的低阶语义信息特征图越细化,有效地提高了图像超分辨率的准确性。为进一步探索该迭代递归过程中反馈机制的有效性,图7 显示,与无反馈连接的网络(T=1)相比,借助反馈连接的网络重建性可以得到显著改善。此外随着T的增长,图像重建性可以得到有效增长,网络性能收益于迭代过程中的信息流通机制。
图6 细化特征图的视觉对比Fig.6 Visual comparison of refined feature maps
图7 T 的收敛分析Fig.7 Convergence analysis of T
本文通过课程学习策略训练了GB 模型和WN模型,这2 种模型在图像超分辨率中属于明显的退化模型,具有普遍的代表性。在方法上选取了SRCNN[6]、VDSR[9]、IRCNN_G[23]、SRMDNF[24]及RDN[25]5 种图像超 分辨率模 型。SRCNN 前两层学习率为1×10-4,最后一层 学习率为1×10-5,训练共1 500 个轮次。VDSR 的学习率设置为0.1,训练50 个轮次。IRCNN 的学习率设置为1×10-4,当收敛到一定阈值时自动停止训练。SRMDNF 的学习率为1×10-4,训练采用adam 优化策略。RDN 学习率为1×10-4,训练采用adam 优化策略。本文的BatchSize为16,学习率为1×10-4,采用adam 优化策略,T为4,G为6。训练数据来自DIV2K 和Flickr2K 数据集的一共2 260 张图片,包括尺寸缩放为×2、×3、×4,训练时间如表4 所示。测试数据来自Set5、Set14、B100、Urban100以及Manga109 总共328 张图片。
表4 不同模型的训练时间对比Table 4 Comparison of training time of different models h
表5 和表6 所示为不同模型在5 个测试数据集下的综合评估实验对比,表中加粗数字表示该组数据最大值。可以看到在不同尺度下,本文方法在GB 和WN模型下的性能表现均优于其他图像超分辨率方法。图8和图9 所示为来自标准数据集中GB 和WN 退化模型的2 组超分辨率的视觉结果。与其他方法相比,本文方法能减轻失真程度,并在超分辨率图像中生成更准确的细节信息。因此,本文认为超分辨率反馈网络能够合理地利用反馈机制,在处理不同的退化模型中具有更强的鲁棒性和有效性。
表5 GB 退化模型下的性能对比Tabel 5 Performance comparison in GB degradation model
表6 WN 退化模型下的性能对比Tabel 6 Performance comparison in WN degradation model
图8 GB 退化模型视觉对比Fig.8 Visual comparison of GB degradation model
图9 WN 退化模型视觉对比Fig.9 Visual comparison of WN degradation model
本文提出一种基于反馈机制的图像超分辨率重建算法,通过构建新型网络结构,使用反馈连接在自上而下的反馈流中提供丰富的高阶信息。更多上下文信息的反馈有助于低分辨率图像的重建,且网络中的反馈模块能有效处理反馈信息流,带有反馈连接的递归结构能提高网络早期重建能力。此外,使用课程式学习策略,并通过连续迭代的方式使网络学习复杂的失真模型,从而对不同的失真退化模型具有更强的鲁棒性。实验结果表明,该算法与SRCNN、VDSR、RDN 等算法相比,能有效提升图像超分辨率重建的准确性。尽管本文构建网络对于超分辨率任务有效,但在语义分割等高阶计算机视觉复杂任务上的效果并不明显,网络具有一定局限性,下一步将利用反馈机制发展一种通用的反馈网络,以处理计算机视觉中的复杂任务。