APP下载

去噪先验驱动的深度神经网络图像超分

2021-10-13程凡强朱永贵

南通大学学报(自然科学版) 2021年3期
关键词:图像复原卷积神经网络

程凡强,朱永贵

(中国传媒大学 数据科学与智能媒体学院,北京 100024)

图像恢复的数学模型可表示为y=Ax+n,其中y 和x 分别表示退化的图像和原始图像,A 表示与成像系统有关的退化矩阵,n 表示加性噪声,如图1 所示。当A 是单位矩阵时,图像恢复问题就变为去噪问题[1-3];当A 是模糊矩阵时,它就变为图像去模糊问题[4-6];当A 是下采样矩阵时,图像恢复问题就变为图像超分问题[7-9]。本文是对图像超分问题进行研究。

图1 图像恢复:原图像得到输入图像Fig.1 Image restoration:the original image gets the input image

图像恢复问题是一个反问题,可以通过正则化方法使图像复原数学模型变为如下形式:

其中J(x)表示与先验信息有关的正则化项。常用的正则化项有全变分正则化[10]、学习字典[1,3,11]的稀疏基正则化项和非局部自相似(nonlocal selfsimilarity,NLSS)正则化项[2,6,12]。与基于先验信息的模型方法不同,基于深度学习的图像复原方法,是通过学习训练得到映射函数,从观测图像中推断缺失的高频细节,从而恢复出高质量图像。近年来,许多学者给出了基于深度学习的图像超分方法[13-29]。其中SRCNN(super-resolution convolutional neural network)[20]、VDSR(super-resolution using very deep convolutional networks)[24]、TNRD(trainable nonlinear reaction diffusion)[25]、DnCNN(denoising convolutional neural networks)[26]和MemNet(memory network)[27]中深度卷积神经网络的作用是学习退化图像到原始图像的映射函数。由于其强大的表示能力,基于DnCNN 的方法比传统的模型优化方法表现出更好的图像复原性能。虽然DnCNN 模型给出了很好的去噪结果,但由于数据似然项没有被明确利用,DnCNN 方法在图像超分任务中缺乏灵活性。为了解决这个问题,本文将优化模型方法和基于DnCNN 去噪模型结合起来,给出一种新颖的图像超分模型。我们的想法是先设计双层卷积神经去噪网络模型,然后将其嵌入到图像超分最优化模型中,以提高图像超分复原质量。

本文提出的去噪先验驱动深度网络图像超分方法,可以快速灵活地处理不同水平的噪声,直接从噪声图像中获得干净的图像。与现有的CNN(convolutional neural network)去噪方法不同,该网络增加了宽度而不是深度,以增强去噪网络的学习能力。图像去噪采用批再归一化(batch renormalization,BRN),可以解决小批量问题,还可以加速训练网络的收敛,对特定的硬件平台没有过高要求。对低配置GPU 硬件设备如GTX960 和GTX970也是较好的选择。通过扩张卷积扩大感受野,使得网络能够提取更多的上下文信息,降低计算成本。实验结果表明本文给出的方法在图像超分任务中能够得到较好的图像复原效果。

1 相关工作

1.1 基于去噪的图像复原方法

基于去噪的图像复原方法[30]通过将等式(1)的优化问题解耦成两个子问题,一个用于数据似然项,另一个用于先验项,而不是使用明确表示的正则化,从而允许使用更复杂的先验图像。通过引入辅助变量v,可将式(1)改写为

在文献[30-31]中,采用ADMM(alternation direction method of multipliers)技术将上述等约束优化问题转化为两个子问题:

其中,u 为增广拉格朗日乘子,用

公式更新。x-子问题是一个简单的二次优化问题,其闭合解为

重建图像x(t+1)取决于观测模型和固定估计v。v-子问题也称为在点x(t+1)+u(t)上计算的J(v)的邻近算子,其解可以通过去噪算法得到。交替更新x 和v 直到收敛,式(1)的优化问题可以求解得到。该方法的优点在于可以最新去噪算法更新v,从而获得更好的图像复原性能,如:BM3D(block matching 3D)[2]、NCSR(nonlocally centralized sparse representation)[6]、高斯混合模型[32]在图像复原中取得了很好的效果,文献[28]基于CNN 去噪进行了图像复原。

1.2 基于深度卷积神经网络的图像复原方法

基于深度卷积神经网络的图像分类[21]、目标检测[33]和语义分割[34]已取得了较好的效果。文献[26]给出的DCNN 残差学习方法可用于图像恢复。为了提高图像超分性能,深度卷积神经网络已被用于图像超分任务中[24]。

2 基于去噪的图像复原问题的求解方法

在本节中,给出一种有效的迭代算法用于基于去噪的图像超分方法。对于优化问题(2),采用半二次分裂(half quadratic splitting,HQS)方法,将等约束优化问题转化为无约束优化问题:

对于上述优化问题可通过交替求解方法求解x-子问题和v-子问题,即

x-子问题是一个二次优化问题,其解具有闭形式,即x(t+1)=W-1b,其中W 是一个与退化矩阵A 相关的矩阵,通常W 很大,不可能计算其逆矩阵。本文采用梯度下降法求解x(t+1),如下式所示:

算法1基于去噪的图像复原算法

1)初始化:

设置观测矩阵A,AT,δ >0,η >0,t=0;

初始化x 作为x(0)=ATy;

2)当不收敛时:

计算v(t+1)=f(x(t));

计算x(t+1)=x(t)+δATy+δηv(t+1);

t=t+1;

3)结束时:

输出:x(t)。

3 去噪先验驱动的深度神经网络

算法1 需要多次迭代才能收敛,并且计算代价昂贵。同时在端到端的训练方式下,参数和噪声不能同时优化。把去噪模块嵌入到算法1 中,可以用图2(a)的架构表示去噪先验驱动的深度神经网络实现过程。对于输入退化图像y∈Rmy,y 经过由退化矩阵A∈Rny×mx参数化的线性层,以获得初始估计值x(0)。然后将x(0)输入去噪模块,并通过矩阵∈Rmx×mx参数化线性层。通过快捷连接,将以δ1加权的去噪信号v(1)与线性层的输出以及由δ1和η1加权的线性层ATy 的输出相加,以获得更新的x(1)。去噪模块是双层卷积神经网络,如图2(b)所示。这样的过程重复了T 次。在模型训练过程中,使用迭代次数T=6。通过端到端的训练来判别学习T 循环阶段中涉及的所有权重δt,ηt(t=1,2,…,T)。

图2 本文提出的图像恢复深度网络的架构Fig.2 Proposed image restoration deep network architecture

线性层AT和也可以用于典型的退化矩阵A。对于图像去噪,A=AT=I 且可以简化为加权单位矩阵=λI,其中λ=1 -δ(1+η)。对于图像去模糊,层AT可以通过卷积层简单的实现,层=aI -δATA 可以通过卷积运算高效地计算出来。权重a和对应于AT和A 的滤波器也可以判别学习。对于图像的超分辨率,考虑了两种退化算子:高斯下采样和双三次下采样。对于高斯下采样,A=DH,其中H 和D 分别表示高斯模糊矩阵和下采样矩阵。在这种情况下,层AT=HTDT首先对应于通过零填充对输入LR 图像进行上采样,然后用过滤器对上采样图像进行卷积。层通过卷积、下采样和上采样运算也可以有效的计算。所有涉及这些操作的卷积滤波器都可以有区别的学习。对于双三次下采样,我们简单地使用尺度因子s 和1/s(s=2,3,4)的双三次插值函数分别实现矩阵向量乘法ATy 和Ax。

3.1 DnCNN 去噪模块

本文使用的DnCNN 去噪模块如图2(b)所示。它由上下两层网络组成:上层网络由残差学习(RL)和批再归一化(BRN)组成;下层网络包括BRN、RL和扩张卷积。下层网络的2—8 层和10—15 层使用扩张卷积来捕获更多的上下文信息;1、9、16 层使用BRN 对数据进行归一化,使得两个子网络的输出保持相同的分布。上层网络的深度为17,它由Conv +BRN+LeakyReLU 和Conv 组成。1—16 层是Conv+BRN+LeakyReLU,17 层是Conv。除了第一层和最后一层,其余每层的尺寸为64 × 3 × 3 × 64。第一层和最后一层的尺寸分别为c×3×3×64 和64×3×3 × c,其中c 表示通道数。这里c=1 和c=3 分别表示灰度和彩色图像的像素通道数。DnCNN 模块的优点是通过使用两个子网络增加宽度而不是深度来提高去噪性能,使用BRN 来解决小批量和内部协变量偏移问题,应用RL 来防止消失或爆炸梯度,利用扩展卷积来节省计算成本。

3.2 整体网络训练

DnCNN 去噪模块不需要经过预先训练,直接嵌入到整体深度网络中进行端到端的训练。为了减少参数量以避免过拟合,要求每个DnCNN 去噪模块共享相同的参数。采用基于损失函数的均方误差对所提出的深度网络进行训练,可以表示为

其中,yi和xi分别表示第i 对退化图像块和原始图像块,F(yi,Θ)表示参数集为Θ 的网络重构的图像块。采用ADAM 优化器用于通过设置β1=0.9、β2=0.999 和ε=10-8来训练网络。卷积核用文献[36]中开发的Xavier 初始化器初始化;退化矩阵A 相关的线性层由退化模型A 初始化;其他参数δ 和η 根据经验分别初始化为0.1 和0.9;所提出的网络训练的小批量规模为4;学习率初始化为0.000 5。注意,由于提议的网络的所有层都是卷积的,所以输入的退化图像可以是任意大小的。

4 实验结果与分析

在本节中,我们训练图像超分网络,并用训练好的网络验证本文给出的图像超分方法的性能。针对不同的下采样算子训练不同的模型。为了训练网络,构造了一个较大的训练图像集,从DIV2K 网站(https://data.vision.ee.ethz.ch/cvl/DIV2K/)上下载了1 000 幅高质量的自然图像,其中用800 幅进行训练,用100 幅进行验证,用最后的100 幅进行测试(这些测试集数据网站并不存在,因此我们找到以下数据集进行测试,包括Set5、Set14、BSD100 和Urban100)。

4.1 图像超分复原

对于图像超分任务,考虑两种图像子采样算子,即双三次下采样和高斯下采样。对于前一种情况,通过缩放因子为1/s(s=2,3,4)的双三次插值函数对HR 图像进行下采样,模拟LR 图像。对于后一种情况,LR 图像是通过对原始图像先使用标准差为1.6、尺寸为7 × 7 的高斯模糊核,然后再进行下采样得到的。从LR/HR 训练图像对中提取出LR/HR 补丁对,并通过翻转和旋转对其进行增强,生成45 万个补丁对。LR 补丁大小是32 × 32,而HR 补丁大小是(32 × s)×(32 × s)。针对这两种下采样情况对网络进行训练,验证集采用图像超分文献中常用的图像数据集,包括Set5、Set14、BSD100 和Urban100 数据集[24]。将本文提出的方法与其他图像超分方法进行比较,包括3 种基于CNN 的超分方法(SRCNN[20]、VDSR[24]和MemNet[27])和两种去噪方法(TNRD[25]和DnCNN[26]),首先通过使用双三次插值器对低分辨率图像进行上采样,然后对经上采样的图像进行去噪以恢复高频细节,进而产生高分辨率图像。

4.2 图像测试比较

对于双三次下采样下的低分辨率图像测试结果的PSNR 结果见表1。从表1 可以看出,本文方法优于其他方法。通过图3—图5 可以看出,本文提出的方法比其他方法可以产生更锐利的边缘。

表1 通过双三次下采样测试方法重建的HR 图像的PSNR 和SSIM 结果(斜体是最优结果)Tab.1 PSNR and SSIM results of the HR image reconstructed by the test method of double and triple down-sampling(italic is the optimal result)

图3 缩放系数为3 的双三次下采样Set14 的第13 幅图像Fig.3 The 13th image of Set14 for bicubic down-sampling and scaling factor 3

图4 缩放系数为4 的双三次下采样Set14 的第6 幅图像Fig.4 The 6th image of Set14 for bicubic down-sampling and scaling factor 4

图5 缩放系数为3 的高斯下采样Set5 的第2 幅图像Fig.5 The 2nd image of Set5 for Gaussian down-sampling and scaling factor 3

4.3 算法复杂性分析

本文提出的深度神经网络图像超分方法是将双层深度卷积神经网络去噪模块嵌入到图像超分任务中,这个双层深度卷积神经网络去噪模块由于宽度的增加,其计算复杂度比其他方法增加了。但是由于双层深度卷积神经网络去噪模块在图像超分任务中的嵌入,增加了图像去噪的灵活性,同时也便于应用GPU 并行技术,所以本文方法在图像复原中具有更好的优势。

5 结论

将双层深度卷积神经网络去噪模块嵌入到图像超分任务中,给出一种去噪先验驱动的深度神经网络图像超分方法。所使用的DnCNN 去噪模块由上下两层网络组成,它可以快速灵活地处理不同水平的噪声。上层网络由残差学习(RL)和批再归一化(BRN)组成;下层网络包括BRN、RL 和扩张卷积。所提出的图像超分网络可以很好地将低分辨率图像复原成质量较高的高分辨率图像。数值实验结果表明,与其他图像超分方法相比,本文方法具有较好的图像超分效果。

猜你喜欢

图像复原卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
基于MTF的实践九号卫星图像复原方法研究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于MTFC的遥感图像复原方法
模糊图像复原的高阶全变差正则化模型构建