一种基于语义边缘融合的图像补全方法及系统
技术领域
本发明涉及一种基于语义边缘融合的图像补全方法及系统,属于G06T:一般的图像数据处理或产生领域,尤其涉及G06T5/00:图像的增强或复原领域。
背景技术
在信息社会中,图像是最重要的信息来源。如何获得更完整,更清晰的图像也已成为计算机视觉领域的热点,相关应用领域包括图像修复和超分辨率。图像修复是指从受损图像中图像信息的其余部分恢复完整图像的技术。对于人眼而言,这并不是一项艰巨的任务,但对于计算机视觉而言,这却是一个相当具有挑战性的任务。这项技术有许多实用方案,例如,图像恢复(用于去除照片划痕和文本遮挡),照片编辑(去除不需要的目标),图像编码和传输(图像传输期间的网络)需要使用由数据包丢失引起的图像块内容丢失)。因此,图像修复技术是近年来非常流行的研究领域。
目前,基于深度学习的算法不但可以获得比其他传统修复技术更好的视觉效果,而且能处理更多的缺失类型。生成对抗网络(Generative adversarial net,GAN)的出现进一步推动了这一领域的研究。当前的图像修补技术可以按照步骤分为两类:单阶段补全和双阶段补全。单阶段补全直接进行图像修复,并通过不同类型的模块设计实现此效果。例如将卷积更改为部分卷积,其中卷积被屏蔽并重新规范化为仅以有效像素为条件;又或者是判别网络,以发现变换后的图像和相应的地面真实性之间的差异;还可以共享权重,同时解码粗略输出和精炼输出。双阶段补全则将修补分为两个步骤,第一步是勾勒出整个图像的纹理边缘,第二步是上色。相比之下,单阶段模型的效率较高,但是这种类型的模型将具有在处理大面积空白空间时无法完全修复的问题。双阶段模型更有效,但是需要更多的计算资源。
尽管各种图像修复方法在恢复图像空白都取得了可喜的成果。但在如下几个方面也存在局限性。第一,对于方块蒙版式的图像空白无法获得令人满意的恢复效果,尤其是当方块蒙版面积相对较大或周围信息不多时(类似于图像传输过程终端,导致恢复出的图像少了一部分;或者是在拍照的同时想要拍的物体被遮挡);第二,如果图像本身尺寸过大,模型运算量会超过显卡上限,但等比缩小这种方案却会丢失很多图像细节。
发明内容
发明目的:本发明的目的在于克服现有技术中的不足,提供一种基于语义边缘融合的图像补全方法。进一步目的是提供一种实现上述方法的系统。
技术方案:一种基于语义边缘融合的图像补全方法,包括以下步骤:
步骤1、针对原始输入图像生成语义边缘图;
步骤2、分别建立边缘模型和补全模型;
步骤3、联合训练步骤2中建立的边缘模型和补全模型;
步骤4、将需要修复的破损图像输入至步骤3中训练后的边缘模型和补全模型中重新构建。
在进一步的实施例中,所述步骤1进一步为:
步骤1-1、提取原始输入图像的边缘,生成图像边缘图;
步骤1-2、将步骤1-1中生成的图像边缘图和已有的语义图像进行融合,生成语义边缘图。
在进一步的实施例中,所述步骤2进一步为:
步骤2-1、本发明设计获取的神经网络为以编码器解码器为基础,将修补程序划分为整个过程,将其分为两个模块:“图像到边缘”和“边缘到图像”,第一阶段构建边缘模型:
式中,表示灰度图,/>表示经过第一阶段生成器后生成的真实图,M表示蒙版图,Cpred表示边缘信息,G1表示第一阶段生成器;
步骤2-2、第一阶段边缘生成器的输入为灰度图、真实图和蒙版图,训练生成器来构造边缘信息。优化函数为:
式中,表示第一阶段生成器的对抗损失,/>表示边缘构造损失,λadv,1表示第一阶段生成器的对抗损失所对应的权重,λFM表示边缘构造损失所对应的权重,/>表示最小化第一阶段生成器,/>表示最大化第一阶段判别器,/>表示第一阶段生成器的损失函数;
步骤2-3、第二阶段构建补全模型,获取第二阶段生成器,第二阶段生成器的输入为第一阶段补全的边缘图Ccomp和原始输入图
式中,G2表示第二阶段生成器,Ipred表示预测图片,表示经过第二阶段生成器后生成的真实图片,Ccomp表示检测轮廓函数。
在进一步的实施例中,所述步骤3进一步为:
步骤3-1、计算边缘模型中第一阶段生成器的对抗损失、以及边缘构造损失:
其中,对抗损失函数进一步如下:
式中,表示真实图片和灰度图求期望、/>表示灰度图和原始图求期望,其余各符号含义同上;
边缘构造损失函数进一步如下:
式中,表示边缘构造损失,Cpred表示边缘信息,Cgt表示原始图片的真实图,D1表示第一阶段判别器,L为预定值,N表示边缘构造迭代次数、取定值;其余各符号含义同上;
步骤3-2、计算补全模型中第二阶段生成器的对抗损失、预测损失、以及结构误差损失:
其中,对抗损失函数进一步如下:
式中,表示第二阶段生成器的对抗损失;/>表示原始输入图和第一阶段补全的边缘图求期望,/>为求期望函数,D2表示第二阶段判别器,其余各符号含义同上;
预测损失函数进一步如下:
式中,表示第二阶段生成器的预测损失,/>表示真实图片矩阵,/>表示预测图片矩阵,||1表示L1范数,其余各符号含义同上;
结构误差损失函数进一步如下:
式中,表示结构误差损失,Igt表示原始真实图片,Ipred表示原始预测图片,/>表示经过第二阶段生成器后生成的真实图片,Ipred表示经过第二阶段生成器后的原始预测图片,其余各符号含义同上;
步骤3-3、通过训练直至优化函数收敛,得到第二阶段补全模型的生成器:
式中,λadv,2,λp分别表示对抗损失、预测损失、以及结构误差损失所对应的权重,其余各符号含义同上。
具体来说,生成器包括一个编码器,该编码器对样本进行两次下采样,然后是八个残差块;以及一个解码器,将图像上采样至原始大小。我们使用扩展因子为2的稀疏卷积代替残差层中的规则卷积。在原始的编码器解码器模型中,所有训练图像的大小均调整为256×256,然后进行训练。但是,在使用的数据集中,图像的平均大小为800×1000,因此我们将输入大小修改为512×512。
在进一步的实施例中,所述步骤4进一步为:
通过我们设计的算法识别蒙版类型,不同的破损蒙版对应不同的图像修复策略,从而实现整体上更好的修复效果:
对于方块蒙版,图像将被调整为三个较小的尺寸,以便获得更多的结构信息并能够通过我们的模型。调整为原始大小后,我们将三张权重不同的图像合成为一张图像;
对于其他蒙版,模型对于小图像的修复效果非常好,如果图像不是很大,我们会让图像直接通过网络进行修复。
有益效果:相比现有技术,本发明具有以下有益效果:
(1)采用用于图像修复的语义边缘融合模型,该模型通过先产生边缘纹理,再对内容进行着色的方式,替换传统的直接恢复方法,这样可以使得恢复的图像具有更多的细节和更少的噪声;提出了一种端到端可训练网络,该网络结合了边缘生成和图像修补功能以恢复丢失的区域。
(2)采用融合框架来应对长方形式的图像缺陷,使得此类缺陷修补后会有更多的边缘纹理信息,避免了细节丢失的问题。
(3)采用了切割输入、合并输出的方式应对大尺寸图像,减少显卡内存消耗。
附图说明
图1为本发明的整体算法流程图。
图2为本发明提出的语义边缘融合流程示意图。
图3为本发明中的边缘模型结构示意图。
图4为本发明中的补全模型结构示意图。
图5为本发明中的切割拼接算法示意图。
图6为本发明中的视觉效果比较图。
其中,图6中第一列为输入图像,第二列为语义图,第三列为原始算法修复后的效果,第四列为本发明所提出的算法修复效果。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
申请人认为,传统的图像修复方法在如下几个方面也存在局限性。第一,对于方块蒙版式的图像空白无法获得令人满意的恢复效果,尤其是当方块蒙版面积相对较大或周围信息不多时(类似于图像传输过程终端,导致恢复出的图像少了一部分;或者是在拍照的同时想要拍的物体被遮挡);第二,如果图像本身尺寸过大,模型运算量会超过显卡上限,但等比缩小这种方案却会丢失很多图像细节。
为此,申请人提出一种基于语义边缘融合的图像补全方法,并进一步提出一种实现上述方法的系统。首先,我们的方法充分发掘利用了图像中的语义信息和边缘信息,我们将语义信息和边缘信息用算法进行融合,用语义图加强边缘图纹理,用边缘图提升语义图分割精准度。另一方面,一般来说小图像块中包含的信息对于细节恢复来说不够充分,而大图像块又会超出显卡内存上限。因此,我们设定阈值,对大图像进行切块,小图像不做处理送入网络。最后,我们利用多尺度加权融合来灵活处理不同问题,利用小尺寸图像修补出的更多边缘信息和大尺寸图像修补处的更多纹理信息来加权融合,得到最终的补全效果图。
基于语义边缘融合的方法主要针对小尺寸图像。整个网络由两个子模块组成:边缘生成部分和修补部分。第一部分使用蒙版图像生成整个图像的边缘,然后将此边缘图像与蒙版图像一起馈入到修复部分中以生成整个图像。我们的解决方案根据图像的遮罩类型将图像分为三个不同的组。对于方块蒙版,图像将被调整为三个较小的尺寸,以便在各个方面填充细节,并能够使图像通过我们的模型而不会使GPU过载。将输出调整为原始大小后,我们将三张权重不同的图像合并为一张图像。对于带有其他蒙版的大图像,我们将图像切成许多小块,然后将它们输入到我们的模型中。我们将输出放回了原来的位置。因此我们剪切的图片块大小将保持在服务器显存可接受范围内。
所述方法包括如下步骤。如图1所示,是本发明实施例提供一种基于神经网络的图像修补方法流程图,所述方法包括如下步骤:
步骤一:使用不同策略应对不同蒙版类型。
对于方块蒙版,我们将图片调整为128x128、256x256和512x512的大小并将其分别输入到我们的模型中。我们采用比例为3:3:4的加权融合方法,并在三个比例上融合结果以获得结果。对于其他两个蒙版,我们采用补丁切割方法并将补丁输入到我们的网络中。为了提高每个补丁边缘的画内效果,我们裁剪的补丁之间存在重叠。
步骤二:设计神经网络模型。
作为优选方案,本发明设计获取的神经网络为以编码器解码器为基础,将修补程序划分为整个过程,将其分为两个模块:“图像到边缘”和“边缘到图像”。
式中,表示灰度图,/>表示经过第一阶段生成器后生成的真实图,M表示蒙版图,Cpred表示边缘信息,G1表示第一阶段生成器;
第一阶段边缘生成器的输入为灰度图、真实图和蒙版图,训练生成器来构造边缘信息。优化函数为:
式中,表示第一阶段生成器的对抗损失,/>表示边缘构造损失,λadv,1表示第一阶段生成器的对抗损失所对应的权重,λFM表示边缘构造损失所对应的权重,/>表示最小化第一阶段生成器,/>表示最大化第一阶段判别器,/>表示第一阶段生成器的损失函数;
通过训练直至优化函数收敛,得到第一阶段的生成器。
其中:
式中,表示真实图片和灰度图求期望、/>表示灰度图和原始图求期望,其余各符号含义同上;
式中,表示边缘构造损失,Cpred表示边缘信息,Cgt表示原始图片的真实图,D1表示第一阶段判别器,L为预定值,N表示边缘构造迭代次数、取定值;其余各符号含义同上;
第二阶段的生成器的输入为第一阶段补全的边缘图和原始输入。
式中,G2表示第二阶段生成器,Ipred表示预测图片,表示经过第二阶段生成器后生成的真实图片,Ccomp表示检测轮廓函数
其中:
式中,表示第二阶段生成器的对抗损失;/>表示原始输入图和第一阶段补全的边缘图求期望,/>为求期望函数,D2表示第二阶段判别器,其余各符号含义同上;
式中,表示第二阶段生成器的预测损失,/>表示真实图片矩阵,/>表示预测图片矩阵,||1表示L1范数,其余各符号含义同上;
式中,表示结构误差损失,Igt表示原始真实图片,Ipred表示原始预测图片,/>表示经过第二阶段生成器后生成的真实图片,Ipred表示经过第二阶段生成器后的原始预测图片,其余各符号含义同上;
通过训练直至优化函数收敛,得到二阶段补全模型的生成器。
式中,λadv,2,λp分别表示对抗损失、预测损失、以及结构误差损失所对应的权重,其余各符号含义同上。
具体来说,生成器包括一个编码器,该编码器对样本进行两次下采样,然后是八个残差块;以及一个解码器,将图像上采样至原始大小。我们使用扩展因子为2的稀疏卷积代替残差层中的规则卷积。在原始的编码器解码器模型中,所有训练图像的大小均调整为256×256,然后进行训练。但是,在使用的数据集中,图像的平均大小为800×1000,因此我们将输入大小修改为512×512。
步骤三:语义边缘融合策略
语义标签提供了大量有关对象的精确位置、实例差异以及边缘信息的信息。根据此任务,语义指导可确保我们的修复模型对蒙版中的像素进行更好的分类,从而获得更优的修复性能。以下是我们处理语义标签的方法,让修补内容更好地适合基于边缘连接的模型。
在此模型中,语义标签被视为生成网络的边缘增强收缩。对于一个语义图像,我们首先将其分为三个通道,并使用Canny算子获得对应边缘图。之后,我们以此指导图将三通道边缘图加在一起并进行二进制运算,以增强边缘的性能。原始语义图将转换为灰度图。最后,灰度图将语义标签处理为类似于蒙版的函数,这能使得灰度图中的实例得到了显着增强,总体融合流程图如图2所示。
这种将语义信息和边缘信息融合在一起的指导,具有优于原始语义标签的优势。考虑到边缘特征,语义边缘合并标签具有更强的表达,使它的性能优于编码器模型。它可以在两个生成器上表现其独特的功能,分别与边缘生成和图像生成有关。其次,这些标签被压缩到单个通道中,其结构就像原始的边缘标签一样,但是为实例提供了更多信息。因此,由于语义标签显示该区域中的像素属于同一实例,因此可以提高单色区域的修复性能。
步骤四:多尺度融合处理
尽管编码器模型比以前的单级网络可以实现更好的修复效果,但是此框架仍然存在一些问题:在三种常见的蒙版类型中,噪声和涂鸦类型的破损更容易修复,因为有足够的边缘信息在空白区域周围,但是在大的矩形蒙版中,修复效果通常不容乐观。原因是边缘模型不能过多地渗透到空白区域,从而导致中间区域的边缘信息不足。为了解决该问题,我们提出了多尺度融合框架,以帮助边缘生成模型在空白区域中生成足够的边缘。
我们提出的多尺度融合框架设计为图3和图4。在边缘生成模型中,我们将灰度,语义边缘和蒙版的大小调整为128×128、256×256和512×512,并将这三种大小分别发送到模型中。最后,我们将三个结果调整为原始大小并对其加权(加权因子为0.3:0.3: 0.4),以获得最终的边缘图。在图像生成模型中,我们将语义标签应用于另一个同尺寸、同深度网络,并将特征映射连接到编码器和解码器的每个卷积层。
步骤五:实现修复过程
通过我们设计的算法识别蒙版类型,不同的破损蒙版对应不同的图像修复策略,从而实现整体上更好的修复效果
对于方块蒙版,图像将被调整为三个较小的尺寸,以便获得更多的结构信息并能够通过我们的模型。调整为原始大小后,我们将三张权重不同的图像合成为一张图像。
对于其他蒙版,模型对于小图像的修复效果非常好,如果图像不是很大,我们会让图像直接通过网络进行修复。
由于图像尺寸以及算力的限制,使用的最大GPU内存为11G。一旦图像大小超过2000×2000,就无法顺利通过网络(即使是单次输入)。对于带有其他蒙版的大图像,我们将图像切成许多小块,然后让它们一张一张地传递模型。切割算法如图5所示。最终,我们将它们放回了原来的位置。因此,我们裁剪的小块将会在服务器GPU显存的接受范围内,视觉效果如图6所示。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。