发明内容
为解决以上现有技术的问题,本发明提出了一种基于深层聚合网络的不规则缺失图像修复方法,该方法包括:实时获取不规则缺失图像,将实时获取的不规则缺失图像输入到训练好的神经网络模型中,以端到端的方式得到修复后的图像;
对神经网络模型进行训练的过程包括:
S1:采用Mask模块生成自由形态掩码;对原始数据集的图像进行预处理;将预处理后的图像与自由形态掩码进行合成,得到不规则缺失的数据集;
S2:将不规则缺失的数据集中的图像输入到深层聚合网络中;采用深度可分离的上下文门控卷积和深度可分离的门控卷积对图像进行下采样编码处理,提取每层图像的特征和信息,得到下采样特征图;
S3:采用深度可分离的上下文门控卷积和深度可分离的门控卷积对下采样阶段的每层特征图进行逐层上采样解码处理,将每层上采样得到的特征图与下采样特征图进行通道整合,将融合后的特征图进行卷积得到聚合结点特征图;
S4:采用权重分享策略对聚合结点特征图进行权重分享,并使用上下文注意力机制对权重分享后的特征图像进行修复,得到具有纹理特征的特征图;
S5:将具有纹理特征的特征图转换为具有纹理特征的梯度图,将原始图像中每个尺度的特征图转化为梯度图;
S6:根据原始图像的每个尺度的梯度图和具有纹理特征的梯度图计算金字塔梯度L1损失;根据原始图像和具有纹理特征的特征图计算L1重构损失和铰链损失;当神经网络损失函数不稳定时,将损失之和回传给神经网络,返回步骤S2;当神经网络损失函数趋于稳定,该迭代训练过程结束,得到训练好的神经网络模型。
优选的,对数据集进行预处理的过程包括对数据集中的图像进行裁剪、改变图像的属性以及归一化处理。所述图像的属性包括亮度、对比度和饱和度。
优选的,深度可分离的上下文门控卷积包括两个上下文门控卷积;其中一个分支采用扩张率为1的门控卷积;另一个分支的上下文门控卷积中引入扩张卷积,且该分支的上下文门控卷积和扩张卷积的扩张率相同。
优选的,提取每层图像的特征的过程包括:
S21:采用1S的5×5门控卷积对缺失图像提取特征得到特征图FM1,将FM1作为2S的深度可分离门控卷积(DSCGC)的输入,进行2次DSCGC卷积,下采样得到特征图FM2;
S22:将特征图FM2作为4S的深度可分离上下文门控卷积的输入,进行2次卷积,2次DSCGC卷积的扩张率分别为2、4,下采样后得到特征图FM4;
S23:将特征图FM4作为8S的深度可分离上下文门控卷积的输入,进行3次DSCGC卷积,3次DSCGC卷积的扩张率分别为2、4、8,下采样后得到特征图FM8;
S24:将特征图FM8作为16S的深度可分离上下文门控卷积的输入,进行3次DSCGC卷积,3次DSCGC卷积的扩张率分别为2、4、8,下采样后得到特征图FM16。
优选的,得到聚合结点特征图的过程包括
S31:对下采样编码阶段的每层特征图进行双线性插值,将特征图的维度扩大2倍;对维度扩大后的特征图进行3×3的上下文门控卷积,直到上采样到1s阶段为止;
S32:去除下采样编码阶段中最后一次采样的值,将其他聚合结点的上采样特征图和下采样特征图进行通道整合,对整合后的特征图进行3×3深度可分离的上下文门控卷积,得到聚合结点特征图。
优选的,得到修复后的纹理特征图的过程包括:
S41:将下采样编码不同阶段的特征图进行上采样解码处理,得到解码后的聚合结点1A的特征图;在解码过程中将下采样和上采样的结果作为聚合节点的输入;
S42:将解码的结果输入到3×3的深度可分离卷积层中进行卷积分离;
S43:将卷积分离的结果进行迭代深度聚合,将聚合后的结果再次输入到3×3的深度可分离卷积中进行分离,得到解码后的特征图;
S44:判断解码特征图的阶段,若解码的特征图不为阶段16s,则返回步骤S43;若为阶段16s,则执行步骤S45;
S45:对阶段16s所得结果的特征图FM16进行并行分支解码,得到具有纹理特征的特征图。
进一步的,并行分支解码包括粗路径解码和精细路径解码,其具体过程包括:
S451、粗路径:对编码阶段16s的特征图FM16进行一系列上采样,其中上采样的聚合结点所得过程为:将下采样阶段的所得的特征图、梯度图和上采样阶段所得的特征图作为每个上采样阶段聚合结点的输入;将输入的节点进行通道整合,3×3深度可分离的上下文门控卷积得到聚合结点的特征图;
S452、精细路径的网络框架结构与粗细路径网络框架相同,采用权重分享的策略共享卷积核,缩减网络的参数量;在聚合结点8A和4A后使用上下文注意力机制对特征图像进行修复,得到具有纹理特征的特征图。
优选的,计算金字塔梯度L1损失的公式为:
一种基于深层聚合网络的不规则缺失图像修复系统,该系统包括:Mask生成模块、数据预处理模块、神经网络模块以及输出模块;
所述Mask生成模块用于生成各种不规则的二值掩码,根据二值掩码生成不规则缺失图像,将不规则缺失图像进进行集合,得到数据集,将数据集输入到数据预处理模块中;
所述数据预处理模块用于对输入的数据集中的缺失图像进行裁剪、标准化和重置图像分辨率处理,对有限的训练数据进行扩增;将预处后的数据集输入到神经网络模块中;
所述神经网络模块用于网络的训练和对不规则缺失图像修复;
所述输出模块用于获取神经网络模块中的修复结果图,并将该图进行显示。
优选的,神经网络模块包括深层聚合网络模块、上下文注意力模块、判别器模块和金字塔梯度L1损失模块,该深层聚合网络模块用于提取特征、解码生成合理的缺失内容;判别网络模块用于判别图像是来自于生成器生成的数据还是原始图像集groundtruth;金字塔梯度L1损失模块用于计算原图像、上采样不同阶段和不同尺度的L1损失。
本发明的有益效果:
(1)本发明能够对任何不规则缺失的图像进行修复,达到视觉逼真的效果。
(2)本发明提出了一种新颖的深度可分离的上下文门控卷积,使得神经元在下采样的不同阶段能获得周围上下文信息以及增大感受野,解决远距离依赖问题,此外,采用深度可分离,能减少网络的参数量。
(3)本发明提出了一种深层聚合网络结构,在下采样的不同阶段使用不同个数的深度可分离的上下文门控卷积,提取图像更多的特征,以便解码时生成具有逼真的结构和纹理,此外,将下采样不同阶段的特征图解码回聚合结点1A,并使用了下采样和上下样,以便聚合生成缺失区域的信息。
(4)本发明提出了金字塔梯度L1损失,在并行分支解码处,通过计算原图像所得不同尺度的梯度图以及精细分支不同尺度的梯度图的L1损失,此外,将梯度信息引入到图像修复中,指导图像修复缺失区域。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于深层聚合网络的不规则缺失图像修复方法,包括:
S1:采用Mask模块生成自由形态掩码;对原始数据集的图像进行预处理;将预处理后的图像与自由形态掩码进行合成,得到不规则缺失的数据集;
S2:将不规则缺失的数据集中的图像输入到深层聚合网络中;采用深度可分离的上下文门控卷积和深度可分离的门控卷积对图像进行下采样编码处理,提取每层图像的特征,得到下采样特征图;
S3:采用深度可分离的上下文门控卷积和深度可分离的门控卷积对下采样阶段的每层特征图进行逐层上采样解码处理,将每层上采样得到的特征图与下采样特征图进行通道整合,将融合后的特征图进行卷积得到聚合结点特征图;
S4:采用权重分享策略对聚合结点特征图进行权重分享,并使用上下文注意力机制对权重分享后的特征图像进行修复,得到具有纹理特征的特征图;
S5:将具有纹理特征的特征图转换为具有纹理特征的梯度图,将原始图像中每个尺度的特征图转化为梯度图;
S6:根据原始图像的每个尺度的梯度图和具有纹理特征的梯度图计算金字塔梯度L1损失;根据原始图像和具有纹理特征的特征图计算L1重构损失和铰链损失;当神经网络损失函数不稳定时,将损失之和回传给神经网络,返回步骤S2;当神经网络损失函数趋于稳定,该迭代训练过程结束,得到训练好的神经网络模型;
S7:将获取的不规则缺失图像输入到训练好的神经网络模型中,以端到端的方式得出修复后的图像。
获取CELEBA-HQ,Places2,ImageNet等数据集,以CELEBA-HQ为例,该数据集包括了30000张人脸图像,每张图像x分辨率为1024×1024,其中27000张用作训练集,3000张用作测试集。通过CELEBA-HQ人脸数据集提供的具有高质量、高分辨率等优点,以便后续的处理。
对CELEBA-HQ数据集进行预处理:对原始图像进行水平翻转、归一化处理以及调节图像的亮度、对比度和饱和度,此外,将处理后的图像裁剪、缩小到256×256大小,以便网络训练。
使用Mask模块生成自由形态的掩码是非常重要的,要满足以下要求:形状上和实际情况中的掩码相似;可控制和灵活;便于存储和计算;为了避免过拟合而满足多样性。因此,使用算法重复绘制线和圆,并添加一定的旋转角度,使生成的掩码M满足以上要求。掩码M的1标签代表缺失区域,0表示内容区域。
合成不规则缺失的图像:将掩码M和原始图像x1进行元素级相乘,即x1=x⊙(1-M),以此得到不规则缺失图像x1;其中⊙表示元素级相乘。
如图2所示,图中数字代表相对于输入图像维度H的缩放尺度,如8S中的8表示该阶段特征图大小为H/8,其中,A表示聚合结点,S表示下采样阶段。将获得的不规则缺失图像x1输入到深层聚合网络中,选择batchsize为8的样本进行训练;其中batchsize表示一次训练所选取的样本数。如图1所示,其编码阶段对x1进行特征提取和信息编码,下采样阶段的过程包括:首先采用1S的5×5大小的门控卷积,该卷积的跨度stride为1,填充padding为2,较大卷积核能够提取更多的信息,得到特征图大小为32×256×256;然后在阶段2S处使用2次深度可分离的门控卷积,其中第一个卷积模块使用kernel为3,stride为2,padding为1,groups为32;第二个卷积模块再次卷积,不改变特征图的大小;在阶段4S处使用2次深度可分离的上下文门控卷积,其扩张率分别为2、4;在阶段8S使用3次深度可分离的上下文门控卷积,其扩张率分别为2、4、8;在阶段16S使用3次深度可分离的上下文门控卷积,其扩张率分别为2、4、8;随着阶段数增加,每个阶段的通道数成2倍增加,特征图的维度成2倍减小。
通过将下采样不同阶段的特征图进行解码,解码回阶段1S,解码阶段中的每个聚合结点的输入为下采样和上采样的结果,再次进行3×3的深度可分离卷积,以图1中第二层4S聚合结点为例子,该结点的输入来自两部分:阶段8s上采样,以及聚合结点2S下采样。
在阶段1S处进行迭代深度聚合,即聚合结点1S的输入来自两部分:同阶段的1S聚合结点,聚合结点2S上采样的特征图,再次进行3×3的深度可分离卷积。
在阶段16S处的上采样处,采用了并行分支的解码路径,即粗路径和精细路径。粗路径采用了一系列的上采样阶段,其中每个结点的输入分为三个部分,包括:下采样编码所得的特征图、上采样解码所得的特征图以及梯度图。为了减少网络的参数量,精细路径采用了权重分享策略,同时引入了上下文注意力机制。
进一步的,将具有纹理特征的特征图和原始图像中每个尺度的特征图转化为梯度图的具体过程包括:首先对特征图进行镜像填充处理,所述镜像填充padding为1;其次,采用卷积核为3,输出通道为1,padding为0的卷积方式对镜像填充后的特征图进行卷积;最后,采用Sigmoid激活函数对进行卷积后的图像进行非线性处理,再采用Sobel算子对非线性处理后的图像进行计算,得到梯度图。
将具有纹理特征的特征图转化为具有纹理特征的梯度图和将原始图像中每个尺度的特征图转化为梯度图的过程都采用上述方法进行转换。
进一步的,在精细路径的阶段4S、8S处,分别使用上下文注意力模块,该模块用于从背景区域提取和前景区域相似的块,用于填充缺失区域内容,使缺失图像和参考图像尽可能逼真。
更进一步的,提出了上下文判别器,采用和SN-PatchGAN相似的结构,如图3、4所示,首先在判别器下采样的每个阶段中引入了扩张卷积,增大神经元的感受野,在每个阶段中提取更多的周围信息和上下文信息;然后替换5×5卷积为2个3×3卷积,并通道整合其卷积结果,将其作为1×1逐点卷积的输入,以此减少网络的参数量和计算量,加速网络的迭代训练;最后将谱归一化运用于判别器,起到稳定神经网络训练的作用。
最后,将参考图像集groundtruth中图像转化为灰度图,使用双线性插值,将图像的尺度分别插值到1S、2S、4S、8S,分别计算出不同尺度的梯度图,将精细路径相应阶段所计算出的梯度图和groundtruth对应的梯度图计算L1损失,并求出平均值。所述参考图像集为原始数据集中的图像。
在并行解码过程中,使用图像的先验知识计算梯度图;粗路径:将下采样阶段8S所在的解码路径中的特征图进行padding填充、卷积、ELU非线性激活得出3通道特征图,再使用Sobel算子计算出梯度图;精细路径:采用相同的操作计算出具有纹理特征的梯度图,其中计算方法与粗路径计算梯度图的方法相同。
如图2所示,根据参考图像进行神经网络训练,生成特征图;所用的损失函数为图像重构L1损失、金字塔梯度L1损失以及生成损失,计算深层聚合网络的损失函数,并将损失之和回传给神经网络进行迭代训练,优化权重参数。
最后的预测修复后的结果图z的计算公式包括:
z=G(x⊙(1-M))⊙M+x⊙(1-M)
其中,G表示生成器,x表示groundtruth,即参考图像,≌表示元素级相乘,M表示掩码。
判别器采用了铰链函数作为损失函数,其计算公式包括:
其中,
表示分布函数的期望值,P
data代表真实样本分布,P
z代表生成图像样本分布,D(x)和D(z)是判别器的输出结果。
生成器的对抗损失计算公式如下:
进一步的,金字塔梯度L1损失的计算公式包括:
其中,
表示金字塔梯度L1损失,N表示阶段的个数,l表示其中的一个特征图,x
l表示生成精细网络梯度图,y
l表示参考图像的梯度图。
进一步的,图像L1损失的计算公式如下:
其中,x2表示精细路径的修复结果图,y表示参考图像
总的损失函数计算公式包括:
为了便于平衡超参数,舍弃了复杂的损失函数,采用金字塔梯度L1损失、图像L1损失和铰链损失表示模型的总损失函数,总损失函数的超参数值的值分别为0.1、10、50。
使用Adam优化器进行训练,经过多轮训练后,深层聚合网络上生成的特征图的修复效果良好,以及对抗损失函数的值不在发生变化时,表明神经网络趋于稳定,迭代训练结束,得到最终的神经网络模型。
如图5所示,使用保存好的神经网络模型用于测试,将不规则缺失图像输入到已经训练好的神经网络模型中,得到修复后的结果图;根据图5的结果可知将不规则缺失图像输入到本发明中训练好的模型,能得到较好的修复图像。通过定性比较,计算结果图的SSIM、FID和IS值来判断修复结果质量好坏,此外,还可以通过视觉观察,对比参考图像来进行比较。
一种基于深层聚合网络的不规则缺失图像修复系统,其特征在于,包括:Mask生成模块,数据预处理模块,深层聚合网络模块,并行分支解码模块,上下文判别器模块,上下文注意力模块;Mask生成模块用于通过算法生成二值掩码(1表示无效像素,0表示有效像素);数据预处理模块用于对图像进行裁剪、翻转、归一化处理、以及调节亮度、对比度和饱和度,对有限的数据集进行扩增;深层聚合模块用于对输入图像进行不同阶段的下采样,并将各阶段的特征图解码回1s阶段,多次使用下采样和下采样;并行分支解码模块用于将下采样的最后一个阶段的解码过程分为两个分支,即粗路径和精细路径;下文注意力模块用于从缺失图像的已知背景块去填充前景缺失区域;上下文判别器模块用于判别输入的图像是生成图像还是groudtruth。
本发明是一种基于深层聚合网络的不规则缺失图像修复系统,包括:Mask生成模块,数据预处理模块,神经网络模块,输出模块。
Mask生成模块使用算法生成具有不规则的二值掩码,其中1表示缺失像素,0表示无效像素。
数据预处理模块用于将输入数据集中的图像进行水平翻转、归一化处理以及调节亮度、对比度和饱和度,此外,裁剪处理成大小256×256,该模块仅用于训练中,目的是对有限的数据集进行扩充,使得网络能够提取到图像中更多的特征,应对复杂情况下的缺失,此外,避免数据过拟合。
深层聚合模块,用于神经网络的训练与预测,是整个系统的核心部分,对输入图像进行编码和解码,用于对输入数据进行拟合,训练网络时能够调整网络参数,以便预测时能够更有效生成合理的内容。
输出模块用于输出修复的结果图。
进一步的,神经网络模块包括:深层聚合网络模块,并行分支解码模块,上下文判别器模块,上下文注意力模块。深层聚合网络模块分为编码阶段和解码阶段,对缺失图像进行一系列的下采样和上采样,生成缺失区域的内容。并行分支解码模块,采用权重分享策略,解码阶段分为粗路径和精细路径。上下文注意力模块引入注意力机制,学习缺失区域中的块和缺失区域之外的块的亲和力,以便细节上有效填充。上下文判别器模块,用于判别图像来自生成器生成结果还是原始图像。
更进一步的,深层聚合网络模块下采样时,在不同的阶段使用了不同个数、不同大小的扩张率的深度可分离的上下文门控卷积,以便卷积时有更宽的感受野。
更进一步的,深度可分离的上下文门控卷积采用了深度可分离的思想,以分组的方式缩减网络的参数量,引入门控卷积以软门控的方式自动学习mask,此外,引入扩张卷积到下采样的阶段,可以提取更多的周围上下文信息和增加感受野。
并行分支解码模块,采用了权重分享的策略和引入梯度信息辅助图像修复,粗路径和精细路径分享权重,缩减了网络的参数量,不同于粗细级联网络采用两阶段的修复方式。
进一步的,粗路径中梯度图来自于同阶段上采样的结果,精细路径的梯度图来自于粗路径同阶段的结果,使用金字塔梯度L1损失,指导图像修复尽可能和groudtruth相似。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。