[0004] 本发明的目的就是针对图像运动模糊这一特点,提供一种基于循环多尺度生成对抗网络的图像盲去运动模糊方法,该方法无需估计模糊核即可估计出清晰图像。
[0005] 本发明具体包括以下步骤:
[0006] 步骤(1).构建判别器D;
[0007] 所述的判别器D由九个卷积层、一个全连接层和一个Sigmoid激活层组成,输入大小为256×256的彩色图像。
[0008] 每个卷积层均采用LeakyReLU作为激活函数:第一层有32个卷积核,每个卷积核尺寸为5×5,步长为2,填零宽度(zero‑padding)为2;第二层有64个卷积核,每个卷积核尺寸为5×5,步长为1,填零宽度为2;第三层有64个卷积核,每个卷积核尺寸为5×5,步长为2,填零宽度为2;第四层有128个卷积核,每个卷积核尺寸为5×5,步长为1,填零宽度为2;第五层有128个卷积核,每个卷积核尺寸为5×5,步长为4,填零宽度为2;第六层有256个卷积核,每个卷积核尺寸为5×5,步长为1,填零宽度为2;第七层有256个卷积核,每个卷积核尺寸为5×5,步长为4,填零宽度为2;第八层有512个卷积核,每个卷积核尺寸为5×5,步长为1,填零宽度为2;第九层有512个卷积核,每个卷积核尺寸为4×4,步长为4,填零宽度为0。
[0009] 最后一层的卷积输出经输入通道数为512、输出通道数为1的全连接层,得到1个常数,经Sigmoid函数激活后输出判定的概率。
[0010] 步骤(2).构建生成器G;
[0011] 所述的生成器G包含级联的三个尺度的子网络,每个子网络包含1个输入模块、2个编码模块、级联1个卷积长短时记忆(ConvLSTM)模块、2个解码模块和1个输出模块;每个模块中都含有残差模块,所述的残差模块由一个卷积层级联一个卷积核组成,卷积层以改进型线性单元(Rectified Linear Unit,ReLU)作为激活函数;残差模块中级联的卷积核的输出和残差模块的输入相加后即为残差模块的输出。
[0012] 所述的输入模块包括一个独立的卷积层和三个结构相同的残差模块,独立的卷积层以及残差模块的卷积层卷积核的核数量为32、大小为5×5、步长为1、填零宽度为2,独立的卷积层中使用ReLU函数作为激活函数。
[0013] 第一编码模块包括一个独立的卷积层和三个结构相同的残差模块,独立的卷积层以及残差模块的卷积层卷积核的数量为64、大小为5×5、步长为2、填零宽度为2,独立的卷积层中使用ReLU函数作为激活函数。
[0014] 第二编码模块包括一个独立的卷积层和三个结构相同的残差模块,独立的卷积层以及残差模块的卷积层卷积核的数量为128、大小为5×5、步长为2、填零宽度为2,独立的卷积层中使用ReLU函数作为激活函数。
[0015] 所述的卷积长短时记忆模块中记忆细胞状态输出作为解码模块的输入,卷积长短时记忆模块的隐藏状态输出与下一尺度子网络中卷积长短时记忆模块的隐藏状态输入相连;对于最后一个尺度,卷积长短时记忆模块隐藏状态输出不与其他模块连接。
[0016] 卷积长短时记忆(ConvLSTM)模块的结构见Shi X,Chen Z,Hao W,et al.Convolutional LSTM Network:a machine learning approach for precipitation nowcasting[C]//International Conference on Neural Information Processing Systems.2015,页码:802‑810。
[0017] 第一解码模块包括三个结构相同的残差模块和一个独立的卷积层,独立的卷积层以及残差模块的卷积层卷积核的数量为128、大小为5×5、步长为2、填零宽度为2,残差模块后级联的独立的卷积层中使用ReLU函数作为激活函数。
[0018] 第二解码模块包括三个结构相同的残差模块和一个独立的卷积层,独立的卷积层以及残差模块的卷积层卷积核的数量为64、大小为5×5、步长为2、填零宽度为2,残差模块后级联的独立的卷积层中使用ReLU函数作为激活函数。
[0019] 所述的输出模块包括三个结构相同的残差模块和一个独立的卷积层,独立的卷积层以及残差模块的卷积层卷积核的数量为32、大小为5×5、步长为1、填零宽度为2,残差模块后级联的独立的卷积层中使用ReLU函数作为激活函数。
[0020] 输出第三级尺度的生成器输出图像L3,大小为64×64,L3经上采样得到尺寸为1282 2
×128的图像,作为第二级尺度的输入,输出128×128的第二级尺度的生成器输出图像L;L经上采样得到尺寸为256×256的图像作为第一级尺度的输入,输出256×256的第一级尺度
1
的生成器输出图像L ,即为去模糊的结果图像。级联的三个尺度的子网络中,三个子网络对应的结构、通道数、卷积核尺寸均相同。彩色图像RGB的三个通道中,每个通道权值共享。
[0021] 步骤(3).从训练数据集T中随机抽取m(m≥16)张模糊图像和对应的清晰图像,并随机裁剪成256×256的方形区域,分别组成用于训练的模糊图像集B和对应的清晰图像集S,得到的B和S的图像数量均为m张,每张图像均为256×256的3通道彩色图像。将模糊图像集B输入生成器,得到生成器输出图像集L,L中有m张尺寸大小为256×256的彩色图像。
[0022] 步骤(4).将生成器输出图像集L和对应的清晰图像集S依次作为判别器的输入,判别器依次输出两组置信度结果,每组置信度包含m个概率值,以此判定每张输入的图像是清晰图像或生成图像:若概率值大于0.5,则判定为清晰图像;概率值小于等于0.5,则判定为生成图像。
[0023] 步骤(5).构建训练生成器的损失函数,损失函数为:ldb=lE+α1lgrad+α2ladv;
[0024] 其中α1、α2为大于0的正则项系数,lE为生成器输出图像集L和对应的清晰图像集S之间的均方误差,即:
[0025] 其中,Li、Si分别表示在第i尺度上的生成器输出图像和清晰图像,Ni表示在第i尺度图像上所有通道的像素个数,i=1,2,3;多尺度通过对图像3次降采样得到尺寸缩小的图像,其中第一级尺度为原尺寸大小的图像,从第二级开始,每一级图像的尺寸为上一级图像尺寸的宽度、高度各一半。
[0026] lgrad为梯度图像 和 之间的梯度误差,即:
[0027]
[0028] 式中Li(dx)和Li(dy)分别表示Li的水平梯度和垂直梯度,Si(dx)和Si(dy)分别表示iS的水平梯度和垂直梯度。
[0029] ladv为生成器输出图像集L和对应的清晰图像集S的判别误差,即:
[0030]
[0031] 式中s~p(S)表示清晰图像s取自于清晰图像集S,p(S)表示清晰图像集S的概率分布;b~p(B)表示模糊图像b取自于模糊图像集B,p(B)表示模糊图像集B的概率分布;
[0032] D(s)表示判别器对输入图像s的判别概率,G(b)表示由输入图像b经生成器生成的结果图像,E[·]表示对括号内取期望。
[0033] 步骤(6).将生成图像与清晰图像一同输入到判别器中,利用梯度下降迭代更新各层网络中的权重参数,不断优化ladv,直到判别器无法判别输入的图像是生成图像还是清晰图像,即获得的概率值与0.5的差值变化小于thr,0.01≤thr≤0.08,此时判别器训练结束。
[0034] 步骤(7).根据损失函数ldb=lE+α1lgrad+α2ladv训练生成器,将模糊图像输入到生成器中,经过前向传播获得生成图像,比较生成图像与清晰图像的差异性,利用梯度下降迭代更新各层网络中的权重参数,不断损失函数ldb=lE+α1lgrad+α2ladv,直到生成器模型训练阶段的训练集总损失函数值ldb变化小于阈值Th,0.001≤Th≤0.01,此时生成器训练结束。
[0035] 步骤(8).重复训练过程的步骤(3)~步骤(7),直至生成器模型训练阶段的训练集总损失函数值ldb变化小于阈值Th,即判别器无法判定输入的图像是清晰图像还是生成图像,认定生成器模型与判别器模型训练已达到收敛,此时将模糊图像输入到生成器中,获得估计的去模糊图像。
[0036] 本发明方法运用深度学习方法学习运动模糊图像与其对应清晰图像之间的关系,省去了复杂的模糊核估计过程。通过大量模糊图像和清晰图像的对比训练,所提模型可以提取图像的边缘特征,具有更简单的网络结构、更少的参数,并且该网络模型更容易训练,且复原效果较好。