APP下载

基于多通道极深卷积神经网络的图像超分辨率算法

2020-09-18冯晶晶

计算机工程 2020年9期
关键词:低分辨率插值分辨率

黄 伟,冯晶晶,黄 遥

(郑州轻工业大学 计算机与通信工程学院,郑州 450002)

0 概述

单幅图像超分辨率重构技术是指将一幅低分辨率图像通过相关算法处理得到与其对应的高分辨率图像。近年来,高分辨率图像在遥感、医学、军事以及天气预报等诸多领域均有广泛应用,但在实际成像过程中,由于硬件条件的限制和成像环境的影响,往往获取到的图像分辨率较低,且细节信息损失严重,影响人们对信息的正确判断。因此,寻找一种合适的方法来增强图像分辨率十分必要[1-2]。

目前,图像超分辨率重构方法主要有三大类,即基于插值的方法[3-4]、基于重构的方法[5-7]和基于学习的方法[8-10]。基于插值的方法主要是根据图像的已知信息和空间关系在特定位置插入若干像素来重构高分辨率图像,该类方法计算简单、速度快,但是在重构过程中会丢失部分高频信息,造成重构后的图像模糊,难以获取精细特征,且视觉效果较差。基于重构的方法主要以图像退化模型为基础,利用相同场景下图像之间的互补信息重构出相应的高分辨率图像,虽然该方法有效减缓了基于插值方法的图像模糊现象,但是存在计算复杂度较高的问题。基于学习的方法主要通过包含高分辨率和低分辨率图像块的数据集学习高分辨率图像和对应的低分辨率图像之间的先验知识,利用学习到的映射关系在给定低分辨率图像的情况下重构其对应的高分辨图像。

近年来,基于深度学习的单幅图像超分辨率重构方法受到了学者们的广泛关注。文献[11]提出利用堆叠的卷积层构建神经网络模型进行图像重构,该超分辨率卷积神经网络(Super-Resolution Convolutional Neural Network,SRCNN)方法将经过双立方插值的低分辨率图像块作为网络的输入数据,经过堆叠的卷积层进行训练,得到相应的高分辨率图像块,并使得这些图像块尽可能与原图像块相似。文献[12]提出基于多通道输入卷积神经网络超分辨率重构方法,对原始低分辨率图像进行3种插值、5种锐化的预处理操作,将经过预处理操作的18种图像构成一幅低分辨率图像。该方法更好地保留了图像特征信息,有利于提取图像的高频信息,解决了SRCNN方法中重构图像存在边缘模糊的问题。随着深度学习研究的推进,CNN开始不断向纵深化方向发展。利用加深网络结构的思路来提升模型性能,在VGGNet[13]模型中,提出使用更小的卷积核,并将几个小的卷积核串联起来代替一个大的卷积核,该操作在保证具有相同感受野的情况下,不仅加深了网络深度,而且在一定程度上也提升了网络效果。

本文提出一种基于多通道极深CNN的图像超分辨率算法。该算法通过改进底层特征层中的输入图像,对降采样后的原始低分辨率图像分别进行邻近插值、双线性插值以及双三次插值操作,并且在插值前对原始低分辨率图像进行3种不同强度的图像锐化,将经过多种预处理后的图像组成多通道图像并作为网络输入。使用更小的卷积核加深网络结构,利用预处理的训练集训练改进的极深CNN。将待超分辨的图像经过相同的预处理输入到训练好的极深CNN中,从而得到输出的高分辨率图像。

1 基于多通道极深CNN的图像算法

本文提出的基于多通道极深CNN单幅图像超分辨率重构算法的流程如图1所示,主要分为3个部分:

1)生成多通道图像训练样本集。

2)利用生成的样本集对本文网络模型进行训练,求解最优参数。

3)利用训练好的深度神经网络对单幅图像进行超分辨率重构。

图1 本文算法流程Fig.1 Procedure of the proposed algorithm

1.1 基于多通道图像的训练样本集抽取方法

由于人类视觉对亮度变化更为敏感,本文在特征提取层中仍旧采用只对亮度通道上的图像进行操作。双立方插值方法主要是利用邻域像素的加权平均来计算待求像素点的值,使得其具有低通滤波器的性质,经过插值后的图像高频信息将会受损,容易引起图像模糊和边缘失真,而图像锐化[14]是补偿图像轮廓、增强边缘信息,使得图像变得更加清晰的一种方法。因此,在图像预处理时加入图像锐化操作,这样有利于学习到高频信息,不仅解决了边缘模糊问题,还可以增强图像分辨率。MC-SRCNN方法中对原始低分辨率图像进行3种插值、5种锐化强度分别为0.4、0.8、1.2、1.6和2.0的预处理操作,把经过锐化、插值后的18种图像构成一幅多通道图像,但是过多的通道数会增加计算的复杂度。为了增加底层特征信息且减少计算量,本文采取对图像进行3种插值、3种锐化强度分别为0.4、1.2和2.0的预处理操作,将12种图像构成一幅多通道图像,也能很好地提取图像的高频信息,获取其丰富的图像内容。

图2 低分辨率多通道图像的切分示意图Fig.2 Schematic diagram of segmentation oflow-resolution multi-channel images

1.2 本文算法

文献[16]线性区间的数量来衡量模型的灵活性,提出一个更深的网络可以将输入空间分为更多的线性响应空间,它的表征能力是浅层网络的指数级倍。在不改变其他参数的情况下,增加网络的深度就意味着增加网络的计算量,但在CNN中,可以使用更小的卷积核在保证与原模型具有相同感受野的情况下,不仅增加网络的深度还能减少网络的训练参数。具体而言,本文提出的基于多通道输入的极深CNN模型,将MC-SRCNN模型中的第3层具有5×5核的卷积层替换为2层具有3×3核大小的卷积层。同时,在保证与MC-SRCNN模型中第1个卷积层具有相同感受野的情况下,将MC-SRCNN模型中的第1层具有9×9核的卷积层替换为2层具有5×5核大小的卷积层。

基于多通道极深CNN模型的结构如图3所示。从图3中可以看出,该网络模型包含输入层(Input)、4个卷积层(C1~C4)和输出层(Output)。

图3 本文模型的结构Fig.3 Structure of the proposed model

本文极深CNN模型各层结构的详细描述如下:

1)Input层为极深CNN的输入层,输入大小是一个n×n的12通道图像Ymc。

2)C1层是第1个卷积层,包含64个卷积特征图。每个卷积特征图的大小均为(n-5+1)×(n-5+1),由一个5×5的卷积核对输入图像进行内卷积运算,然后对卷积结果使用ReLU[17]激活函数进行激活,得到激活结果。具体操作如式(1)所示:

F1(Ymc)=max(0,W1×Ymc+B1)

(1)

3)C2层是第2个卷积层,包含64个 (n-8)×(n-8)的卷积特征图,将C1层作为第2层的输入数据,经过64个5×5的卷积核进行内卷积,再对其结果进行ReLU激活,得到最终结果。使用32个1×1的卷积核对C2层进行卷积运算,对卷积结果使用ReLU激活函数激活,得到的激活结果为极深CNN的第3个卷积层C3。C4层是最后一个卷积层,使用32个3×3的卷积核对C3层进行卷积运算,再使用ReLU激活函数激活并得到最终结果。具体操作如式(2)所示:

Fj(Ymc)=max(0,Wj×Fj-1(Ymc)+Bj)

(2)

其中,j=2,3,4。

(3)

为了构造超分辨重构模型,本文选用均方误差(MSE)作为损失函数[18],损失函数值越小,说明模型鲁棒性越好,且有利于获得较高的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)[20-21]。MSE的计算方法如式(4)所示:

(4)

其中,最小化函数的算法本文选用Adam优化器[19]。

综上所述,本文模型的求解算法描述如下:

输入原始的高分辨率自然图像X

步骤1将自然彩色图像X转换为YCbCr图像,提取其亮度通道图像XY并进行下采样,得到低分辨率单通道图像XLR。

步骤2首先,对图像XLR分别进行邻近插值、双线性插值、双立方插值操作得到3幅图像;然后,对图像XLR依次进行强度分别为0.4、1.2和2.0的图像锐化,再把锐化后的3幅图像分别依次进行邻近插值、双线性插值、双立方插值操作,将这12幅图像组合构成多通道图像Ymc。

2 实验结果与分析

2.1 训练数据集和测试数据集的选择

为了与现有的SRCNN、MC-SRCN重构方法进行比较,本文选择与其相同的训练集和测试集。在模拟实验中,训练集图像采用Timofte数据集(包含91幅图像)进行训练,测试集采用Set5和Set14数据集,部分测试图像如图4所示。

图4 部分测试数据集图像Fig.4 Part of the test dataset images

2.2 实验参数设置

采用本文提出的网络模型对经过预处理后的多通道图像进行重构,并使用Tensorflow训练该模型。对于网络优化问题,采用Adam优化算法使损失最小化。在训练阶段,参数Batch Size设置为128,利用均值为0、标准差为0.001的高斯分布随机初始化卷积滤波器,偏置值初始化为常量0.002,前4层的学习率均为10-4,最后1层的学习率为10-5。

2.3 结果分析

重构图像的评价标准主要分为主观评价标准和客观评价标准2种。主观评价具有简单直观的特点,然而重构图像的主观评价容易受到人们的视觉特性、心理状态等多方面的影响,因此在模拟实验中应用比较困难。客观评价标准中本文采用PSNR为评价指标。综合考虑客观评价标准和主观评价标准,才能对重构图像的性能进行科学、客观的评价。

2.3.1 客观评价标准分析

实验将本文算法与Bicubic算法、SRCNN算法、 MC-SRCNN算法和文献[22]算法进行比较。在模拟实验过程中,进行了2倍、3倍和4倍的重构,选取Set5和Set14数据集中的图像作为测试对比结果。本文从客观角度对实验结果进行定量对比分析,结果如表1~表4所示,表1、表2和表3分别为标准数据集Set5在放大2倍、3倍和4倍下5种算法的PSNR,表4为标准数据集Set14在放大3倍下5种算法的PSNR值,其中,表1~表4中加粗字体表示不同算法在Set5和Set14数据集上放大不同倍数条件下的最优结果。

表1 数据集Set5在放大2倍条件下5种算法的PSNRTable 1 PSNR of five algorithms under the condition oftwo times magnification in dataset Set5 dB

表2 数据集Set5在放大3倍条件下5种算法的PSNRTable 2 PSNR of five algorithms under the condition ofthree times magnification in dataset Set5 dB

表3 数据集Set5在放大4倍条件下5种算法的PSNRTable 3 PSNR of five algorithms under the condition offour times magnification in dataset Set5 dB

表4 数据集Set14在放大3倍条件下5种算法的PSNRTable 4 PSNR of five algorithms under the condition ofthree times magnification in dataset Set14 dB

从表1~表4中数据可以看出,除了在Set14数据集上放大3倍条件下,本文算法的PSNR值略低于MC-SRCNN算法以外,在其他条件下,本文算法的PSNR值均高于其他4种算法。

2.3.2 主观评价标准分析

实验分别对Head的头发、Butterfly的翅膀和Baby的眼睛部位以局部放大的方式直观地对比了不同重构方法的效果图。将本文算法得到的超分辨率重构图像与Bicubic算法、SRCNN算法、MC-SRCNN算法和文献[22]算法重构的图像在放大倍数为3的条件下进行主观对比,结果如图5~图7所示。从主观角度分析可知,以Bicubic算法重构得到的图像分辨率较低,且图像较为模糊、细节不明显;SRCNN算法改善了图像模糊现象,得到较为清晰的图像,但其中的细节信息仍然难以获取;经过MC-SRCNN算法得到的图像清晰度虽然相比前2种算法有所提升,但是在边缘部分产生了严重的伪影现象,重构效果还有待进一步提升;经过文献[22]算法得到的图像虽然减少了不必要的特征丢失,但是在细节纹理方面与原图相比仍有一定的差异;相比以上4种算法而言,利用本文算法得到的图像分辨率明显增强,且更容易捕获图像中的细节信息,清晰度更好。

图5 5种算法在Head图像上的重构效果Fig.5 Reconstruction effect of five algorithms on Head image

图6 5种算法在Butterfly图像上的重构效果Fig.6 Reconstruction effect of five algorithmson Butterfly image

图7 5种算法在Baby图像上的重构效果Fig.7 Reconstruction effect of five algorithms on Baby image

2.4 运行时间分析

对Bicubic算法、SRCNN算法、MC-SRCNN算法和文献[22]算法与本文算法在数据集Set14上每张图片重建的平均运行时间以及其恢复性能进行比较,结果如表5所示。其中,所有算法均在CPU为3.10 GHz、RAM为8 GB的电脑上运行,并使用Tensorflow框架实现算法。

表5 数据集Set14在放大3倍条件下5种算法的运行时间和PSNRTable 5 The running time and PSNR of five algorithmsunder the condition of three times magnificationin dataset Set14

从表5可以看出,与结构简单的SRCNN算法相比,本文算法采用了极深的CNN结构,虽然本文算法重构一幅图像的平均运算时间增加了2.7 s,但是重构图像的客观评价指标PSNR增加了1.44 dB,极大提高了重构图像的质量。同时,与MC-SRCNN算法和文献[22]算法相比,由于本文算法采用了较小的卷积核,其重构一幅图像的平均运算时间均低于上述2种算法。

3 结束语

针对目前CNN在超分辨率重构中存在参数过多、网络不稳定以及重构图像效果不显著等问题,本文提出一种基于多通道极深CNN的图像超分辨率算法。该算法以多通道图像作为输入数据,使用更小的卷积核来加深网络结构,并采用效率更高的Adam优化算法对损失函数进行优化求解。实验结果表明,相比Bicubic、SRCNN、MC-SRCNN和文献[22]算法,本文算法不仅在主观评价中给人以图像增强的视觉感受,而且在客观评价标准中PSNR值也较高。但是该算法在处理含有文字的图像分辨率问题上还有待提高,因此在下一步研究工作中,需要进一步改进算法以解决卷积中文字模糊的问题,使得CNN对所有自然图像均具有良好的适应性。

猜你喜欢

低分辨率插值分辨率
红外热成像中低分辨率行人小目标检测方法
基于边缘学习的低分辨率图像识别算法
EM算法的参数分辨率
基于Sinc插值与相关谱的纵横波速度比扫描方法
原生VS最大那些混淆视听的“分辨率”概念
基于pade逼近的重心有理混合插值新方法
树木的低分辨率三维模型资源创建实践
一种提高CCD原理绝对值传感器分辨率的方法
混合重叠网格插值方法的改进及应用
基于深度特征学习的图像超分辨率重建