APP下载

多尺度特征提取残差网络的超分辨率图像重建算法

2024-02-26钟梦圆

关键词:浅层特征提取损失

钟梦圆,姜 麟,李 超

(昆明理工大学 理学院,昆明 650093)

0 引 言

超分辨率图像重建(super-resolution,SR)旨在将低分辨率图像(low resolution,LR)重建为含有清晰细节特征的高分辨率图像(high resolution,HR),是图像处理领域的研究热点[1-2]。传统SR重建算法计算复杂、计算量偏多,且对结构复杂、细节丰富的图像重建质量较差。随着深度学习的快速发展,基于卷积神经网络的SR算法(super-resolution convolutional neural network,SRCNN)[3]实现了LR图像与HR图像端到端映射,但图像预处理造成细节特征丢失和边缘模糊。基于生成对抗网络提出超分辨率生成对抗(super-resolution generative adversarial network,SRGAN)算法[4],通过生成器与判别器对抗训练、感知损失与对抗损失反向控制训练来解决图像细节特征提取不足、边缘模糊的问题,但也使得图像色彩、亮度丢失和网络不稳定。

对此,为获得图像质量更好、色彩亮度更佳、网络训练更稳定的SR算法,本文以SRGAN算法为基础,构建一种全新的多尺度特征提取残差生成器网络(multi-scale feature extraction residual network,MFR),提出MFR-SRGAN算法,从而使经过该算法重建后得到的超分辨率图像能够保留原图像更优质的内容特征信息与风格语义信息。算法从以下3个方面做支撑。

1)损失函数。SRGAN算法损失函数主要为对抗损失与内容损失,均不能约束图像风格信息。对此,本文新增风格损失函数以确保图像纹理、色彩、亮度等风格信息的有效传递。

2)网络结构。在生成器网络中叠加使用Inception模块、残差特征聚合模块[5](residual feature aggregation block,RFA)与多尺度感受野模块[6](multiscale receptive field block,RFB)提高网络稳定性与网络性能。

3)网络训练。使用VGG16网络辅助新网络进行浅层特征预训练和深层特征加强训练,有效提升了网络性能,从而加强LR图像低频特征信息与高频特征信息的全局连续性提取、融合与传播。

1 基本原理

1.1 SRGAN图像重建原理

SRGAN图像重建是将多幅LR图像输入生成器中学习和建立图像特征信息库,输出初步HR图像到判别器中判断,并反向传播网络参数以优化生成器与判别器。当判别器无法判断输入图像是来自生成器生成的HR图像还是原始输入网络的HR图像时(即判断图像真假的概率为1∶1),训练停止,此时生成器输出的HR图像为所需的目标图像,图像重建的流程如图1所示。

图1 图像重建过程Fig.1 Image reconstruction processing

图1中黑色箭头表示图像重建网络正向训练过程,黄色箭头表示图像重建网络反向优化过程。

网络训练图像并非提前设定的LR图像,而是通过“图像降质模型[1]”随机产生的LR图像,即指HR图像经过一系列退化函数降质作用后产生的LR图像,尽可能借助加噪、模糊、运动、降采样等退化操作模拟实际生活中图像分辨率降低的情形,表示为

ILR=D(IHR;θP)=SdBκMIHR+nξ{κ,ξ,d}

(1)

(1)式中:ILR为LR图像;IHR为HR图像;D为退化函数;θP表示与退化函数相关的各种参数和退化因子;Sd为降采样矩阵;d为降采样矩阵的比例因子;B为模糊矩阵;κ表示与HR卷积相关的模糊核;M为运动矩阵;nξ为添加的带有标准差的噪声;ξ为标准差。

SR本质为“图像降质模型”逆过程,即由LR图像通过重建函数作用得到HR图像,表示为

IHR=R(ILR;σa)

(2)

(2)式中:R为重建函数;σa表示与重建函数相关的各种参数与重建因子。

1.2 网络结构设计

1.2.1 多尺度特征提取层

本文引入Inception模块、RFA模块、RFB模块和残差块形成一个全新的多尺度特征提取层,解决SRGAN算法低频、高频特征信息提取不充分以及重建图像出现噪声、色彩暗淡的问题,实现多尺度、多维度、多层次低频、高频细节特征提取与学习。多尺度特征提取层主要模块的功能描述如下。

1)Inception模块。由于图像中相关性较远的特征需要大卷积核才能学习,用Inception模块替换原始卷积层,既保留原始卷积层控制图像维度变化的性能,还能小幅度改变输入图像的维度,避免维度变化过大、过快造成图像细节特征大量丢失而出现伪影、模糊等问题。借助9×9、7×7、5×5、3×3大小不一的卷积核来控制感受野的大小,使其同时学习图像各个维度相关性不同或较远的特征,且用1×1的卷积核进行降维,减少网络计算量,最后用Concatenate将不同图像特征连接融合输至下一模块,如图2所示。

图2 Inception块Fig.2 Inception block

2)浅层特征提取块。随着网络结构不断加深,浅层特征信息(颜色、亮度、边缘等)会随着卷积操作而逐渐消失,而在SR重建过程中,浅层信息尤为重要。为解决该问题,本文借鉴EDSR[7]思想,利用RFA模块有效提取浅层局部残差特征的优势,用跳跃短连接将多个残差块叠加、跳跃长连接将局部残差分支特征融合,确保每个残差块所提取的特征信息都能够有记忆性地传递,RFA模块结构如图3所示。

图3 RFA模块Fig.3 RFA block

本文利用多个RFA模块和卷积层重复叠加组成浅层特征提取块,通过跳跃连接将每层的特征附加前一层的特征连续向后一层传递,并向最后的卷积层传递。通过重复叠加连接的方式缓解了梯度消失的问题,加强了图像特征的连续提取、传播和重复利用的性能,浅层特征提取块结构如图4所示。

图4 浅层特征提取块Fig.4 Shallow feature extraction block

3)深层特征提取块。如何将抽象的深层特征提取、重建、恢复为图像骨架是图像重建需要重点考虑的问题,本文用小卷积核(1×1、1×3、3×1)替换RFB模块中的大滤波器(3×3、5×5等),在减少网络训练参数量和缩短网络训练时间的同时提高了RFB模块对细节特征的提取,特别是线条特征的提取,如头发、皮肤纹理、窗户边缘等,RFB模块结构如图5所示。

图5 RFB模块Fig.5 RFB block

深层特征需要在图像纹理、结构等方面进行全局性恢复,本文将多个RFB模块组装进多尺度特征提取的残差网络中,构建深层特征提取块,使其对前面浅层特征提取块所提取的特征信息再进行多次、多尺度的学习,同时辅以对图像深层特征信息的连续性学习,深层特征提取块结构如图6所示。

图6 深层特征提取块Fig.6 Deep feature extraction block

1.2.2 上采样层

上采样层由RFB模块与上采样模块交叉组合构建,简单上采样模块逐步放大与RFB模块记忆性传递相结合,可使多尺度特征提取层提取的浅层特征和深层特征在图像逐渐放大的过程中保留,避免出现SRGAN网络直接进行2次上采样放大图像分辨率而导致浅层、深层特征缺失与剥离问题。

1.2.3 MFR-SRGAN生成器网络结构

MFR-SRGAN生成器网络结构如图7所示。

图7 MFR-SRGAN算法的生成器网络结构Fig.7 Network structure of MFR-SRGAN generator

1)多尺度特征提取层。Inception模块初步提取图像不同尺度上的简单特征,浅层特征提取块提取图像颜色、亮度等低频信息,深层特征提取块提取图像纹理、结构、边缘等高频信息,最终实现图像细节特征全局连续性提取[7]。

2)上采样层连续传递图像特征信息,且逐步放大图像分辨率,保证浅层特征和深层特征的不缺失与不剥离。

1.3 损失函数

1.3.1 生成器损失函数

SRGAN生成器损失函数主要由内容损失、对抗损失构成[4],能够尽可能地保留原始图像的内容信息,但图像重建在实际训练过程中,重建图像与原始图像之间难免出现风格迁移问题,即图像风格信息缺失的问题。对此,本文新增风格损失函数以控制图像风格信息,以达到重建图像在内容、风格上的双重约束,MFR-SRGAN生成器整体损失函数由对抗损失、内容损失、风格损失构成。生成器损失表示为

(3)

(4)

(4)式中:ILR表示待重建LR图像;N表示每批次训练的LR图像数量;Dθd[·]表示生成器重建的图像在判别器中判别的函数;Gθg(ILR)表示经生成器网络重建的HR图像;θg、θd分别表示生成器G和判别器D中的参数[4]。

(5)

(6)

(7)

(7)式中:Wi,j、Hi,j分别表示VGG16网络中某层特征图的宽与高;Ix,y表示某层特征图提取相应图像的像素值;φi,j表示VGG16网络中第i个最大池化前通过第j个卷积层(激活后)而获得的特征映射。

(8)

网络l层输出图像的Gram矩阵表示为

(9)

通过叠加计算对应层与层之间的欧氏距离来表现输入、输出图像之间的风格差异,即原始HR图像与重建HR图像间的风格损失表示为

(10)

1.3.2 判别器损失函数

判别器借助Sigmoid函数刻画输入的HR图像是来自原始HR图像集,还是生成器网络输出的HR图像集的概率,判别器损失表示为

(11)

(12)

ΔFFake=δ(D(ILR)-D(Gθg(ILR)))→0

(13)

2 实验结果与分析

2.1 实验环境设置

本文实验平台为Linux操作系统:Linux-X86-64,软件平台为Anaconda3(Python3.7.6),深度学习框架为TensorFlow、Keras。由于本文实验所用图像像素较高且网络训练涉及大量的卷积运算,实验使用图形处理单元(graphic processing unit,GPU)辅助训练,Cuda和Cudnn实现GPU运算加速。

2.2 实验数据准备

本文以公开数据集OutdoorScene提供的1 727张天空图像作为训练集,选用Set5、Set14、BSD100、Urban100数据集进行客观性有参考实验,保证算法客观性;另外,选用道路监控拍摄图像和卫星拍摄图像进行实用性无参考实验,验证算法的实用性。

2.3 网络训练方式

将图像以数据流的形式输入VGG16网络,经过相应的卷积响应,实现不同层图像特征信息的精准量化和捕捉整合。VGG16网络测试图如图8所示。

图8 VGG16网络测试图 Fig.8 Test image of VGG16 network

本文调整网络训练为预训练与加强训练2个阶段,辅助MFR-SRGAN网络提取浅层和深层特征。

1)预训练阶段。使用VGG16网络第3层与第5层特征图进行20 000批次浅层特征预训练,保存训练参数用于第2阶段训练,此阶段主要是色彩、边缘、亮度等浅层特征的学习。

2)加强训练阶段。使用VGG16网络第9层与第15层特征图在预训练阶段参数基础上进行20 000批次深层特征训练,保存网络训练的最终参数用于测试集的测试实验,此阶段主要是纹理、结构等深层特征学习。

2.4 仿真实验

2.4.1 客观性有参考实验

本组实验为图像降采样因子为4倍的主、客观图像重建质量评价对比实验,对比算法包括本文算法、Bicubic、SRCNN、DRCN、SRGAN、SRResNet、SRDenseNet和GAMMNet。

客观评价方面,本文以峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity,SSIM)作为重建图像质量评估的客观指标,PSNR越高,SSIM越接近1,其图像重建质量越好,超分辨率图像重建测试结果如表1所示。

表1 超分辨率图像重建测试结果

从表1发现,在结构复杂、细节丰富、种类繁多的BSD100测试集(动植物图像占半数)中,PSNR为31.81 dB,较对比算法增加3 dB以上;SSIM为0.87,较对比算法增加0.02以上。这表明本文算法针对细节丰富、颜色鲜明、图像视觉立体的动植物图像有着明显的重建优势。在此基础上,对比近几年典型的超分辨率图像重建算法,测试结果如表2所示。由表2可见,本文算法在BSD100测试集上有着明显优势,其PSNR值达到了31.81 dB,高于其他对比算法。

表2 不同算法在BSD100测试集上的测试结果

主观评价方面,将本文算法与三类典型算法作图像主观视觉对比,即与无网络结构的Bicubic算法、基于卷积神经网络的SRCNN算法、基于生成对抗网络的SRGAN算法作对比,以Set14测试集中的女孩图像和Urban100测试集中的现代建筑物图像作为主观测试结果呈现图,不同算法下的重建图像整体图对比如图9所示。

图9 不同算法下的重建图像整体图对比Fig.9 Overall image comparison of reconstructed images under different algorithms

从图9发现,Bicubic算法重建图像噪声太多,图像出现块效应而模糊不清;SRCNN算法重建图像清晰度、线条感明显增强,但女孩头饰、项链纹路出现锐化且建筑物褶皱增多;SRGAN算法重建图像清晰度接近原图,但图像亮度、色彩淡于原图(女孩脸庞、建筑物上的光晕),且建筑图像天空出现空白;本文算法重建图像在细节信息(饰品、窗户等)与色彩亮度(脸庞、天空)都比其他算法更接近原始图像。

为了更清晰地展现各算法重建图像在细节特征上的差异,将不同算法下重建图像的局部细节进行比较,结果如图10所示。由图10可见,Bicubic算法、SRCNN算法、SRGAN算法重建图像在窗台檐边出现不同程度的扭曲,而本文算法,即图10e中头饰颜色、纹理以及窗户线条的恢复明显优于其他3种算法。

图10 不同算法下重建图像的局部细节比较Fig.10 Comparison of local details of reconstructed images under different algorithms

时间复杂度方面,表3列出了增加Inception模块、RFA模块、RFB模块、风格损失函数后,每训练一个epoch的平均速度、网络计算量,且给出Set5测试集的PSNR值和SSIM值。

表3 不同网络结构下图像重建质量比较

分析表3发现,本文算法相比SRGAN算法在融合了3种新模块之后,训练速度减缓、计算量增加,但PSNR与SSIM都相对提高了,PSNR为32.87 dB,SSIM为0.97,充分验证了同时叠加使用3个模块提升图像重建性能的有效性。在未添加风格损失函数前,PSNR为30.87 dB,SSIM为0.94,添加后,PSNR增加1 dB,SSIM增加0.03,表明添加风格损失函数的确能够提高图像重建性能;SSIM非常接近1,说明图像对比度、亮度等方面恢复很好,验证了风格损失函数能有效约束图像风格信息的结论。

通常图像原有的风格信息(色彩问题)容易造成图像重建过程中出现风格迁移的问题,本文为验证图像自身颜色对风格损失函数不会产生影响,取女孩彩色图像、黑白图像、灰度图像在同一网络训练参数下测试,三类图像的实验结果如图11所示。

图11 三类图像的实验结果Fig.11 Experimental results of three kinds of images

分析图11发现,经本文网络作用后的黑白图、灰度图在清晰度、噪声、图像质感上与原始图像没有明显差异,且灰度图SSIM值与彩色图仅差0.01,且由于黑白图是单通道图像,像素值只能取0或255,色彩上明显弱于彩色图与灰度图,SSIM值最低,但PSNR值达到了30 dB以上。实验表明,本文网络具有较好的重建性能,无论是针对三通道图像还是单通道图像,其黑白图、灰度图的测试结果都能够较为贴近彩色图像的测试结果。

表4为仅浅层辅助训练、仅深层辅助训练、浅层和深层结合辅助训练3种方式下图像重建质量结果的情况。由表4可见,浅层训练与深层训练相结合的方式比单独浅层训练或深层训练的结果要好,PSNR值分别提高了15.6%、8.5%,SSIM分别增加了0.16、0.04。

表4 不同网络训练方式下的实验结果

2.4.2 实用性无参考实验

现实生活中,需重建的图像并没有对应的HR图像进行PSNR与SSIM数值上的客观评价,只能通过图像结构、纹理、清晰度等方面来主观评价。本文随机选用道路拍摄和卫星拍摄2张图像进行实用性无参考实验。相对原始图像,局部细节特征图(车牌号、飞机)能够看清车牌数字与字母为“A·29F59”,具体结果如图12所示。

图12 无参考测试图像Fig.12 No reference test image

3 结束语

本文构建多尺度特征提取残差网络,提出MFR-SRGAN算法,辅以浅层特征训练与深层特征训练接替训练,实现图像低频、高频信息连续提取、传递和重复利用;增加风格损失函数约束图像重建过程中的风格信息。在结构复杂、细节丰富、种类繁多的BSD100测试集上,本文算法的测试结果明显优于典型的、最新的一些算法,其PSNR为31.81 dB,SSIM为0.87,表明MFR-SRGAN算法能够深层次学习自然景物图像在纹理细节、边缘轮廓等方面的特征信息,新增加的风格损失函数能够很好地约束图像色彩、亮度等方面的风格信息,有效提升图像整体的重建效果。

虽然MFR-SRGAN算法整体上很好地还原了图像视觉效果,且PSNR和SSIM在数值上也达到了较好的结果,但重建图像的局部细节信息还与原图像之间存在着差距,且在实用性无参考实验中,车牌前面的文字不能看清,网络训练速度也较慢,今后可以进一步研究如何改善这两方面的问题。

猜你喜欢

浅层特征提取损失
胖胖损失了多少元
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
玉米抽穗前倒伏怎么办?怎么减少损失?
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
浅层地下水超采区划分探究
一般自由碰撞的最大动能损失
包气带浅层地热容量计算方法商榷
损失