掌桥专利:专业的专利平台
掌桥专利
首页

盲图像修复的方法、计算机设备、可读存储介质和程序产品

文献发布时间:2023-06-19 16:04:54



技术领域

本申请涉及深度学习、图像合成和风格迁移技术领域,特别是涉及一种盲图像修复的方法、计算机设备、可读存储介质和程序产品。

背景技术

传统的图像修复的目标是为图像指定位置上缺失的区域生成高质量且视觉合理的结构和纹理。通过图像修复,用户可以移除或编辑掉照片中不想要的对象。目前大多数图像修复工作都建立在待修复区域(即掩膜)已知的的条件下。然而在实际应用中有时难以确定正确的掩膜,需要适用盲图像修复。

盲图像修复是在不知道目标修复的区域的条件下将退化图像(或称被污染图像、待修复图像)进行修复。盲图像修复首先被定义和应用在移除图像中的文本。盲图像修复先前的工作聚焦于修复固定模式的噪声,比如修复特定的颜色或高斯噪声。

然而,如果固定模式噪声在训练中被使用,那么训练模型就更可能根据预定义的噪声模式而非上下文来区分掩膜区域。为了解决这个问题,有学者把自然图像叠加在目标图像上作为盲图像的噪声。现有的关于盲图像修复任务的目标是将盲图像修复任务转化成一般的修复任务。其模型通常由掩膜预测模块和图像修复网络组成。因为盲图像修复要修复的退化图像上有复杂的噪声,尤其是当自然图像作为噪音时,要精确地预测退化图像的噪声区域几乎是不可能的。

因此,后续基于预测噪声区域(掩膜)的方法不可避免的会面对如下的问题:在修复图中仍有大量的噪声,有时甚至噪声图也会被作为修复的基础,导致修复图会被噪声内容所主导;另外,由于噪声的干扰,修复后的图像在内容结构一致性上存在很多伪影,尤其是当噪声区域较大或者以自然图像内容作为噪声时,情况更为严重,修复效果较差。

发明内容

基于此,有必要针对上述技术问题,提供一种盲图像修复的方法。

本申请盲图像修复的方法,将待修复图像输入训练完成的盲图像修复网络,得到修复结果,所述盲图像修复网络包括第一编码器和解码器,所述盲图像修复网络采用以下步骤训练得到:

获得真实图像以及与所述真实图像相对应的退化图像;

将所述退化图像以及参照数据均输入到所述第一编码器进行处理,所述参照数据是对所述真实图像通过跨空间对比损失模块处理后得到;

将所述第一编码器的计算结果输入到所述解码器进行处理,输出所述修复图像;

将所述修复图像与所述真实图像相比较并更新所述盲图像修复网络进行循环训练,直至所述修复图像与真实图像相近,得到所述训练完成的盲图像修复网络。

可选的,将所述退化图像以及参照数据均输入到所述第一编码器进行处理,具体包括:

将所述退化图像输入到所述第一编码器,获得所述退化图像的隐空间特征,且所述参照数据连接至所述退化图像的隐空间特征。

可选的,对所述真实图像通过跨空间对比损失模块处理,具体包括:

将所述真实图像输入到第二编码器,所述第二编码器通过跨空间对比损失模块连接到所述第一编码器,所述跨空间对比损失模块采用的跨空间对比损失函数为:

L

BCE表示二元交叉熵损失;

Sigmoid,表示回归函数;

C,表示对两个特征进行叉积,得到协方差矩阵;

F

F

I,表示单位矩阵。

可选的,所述退化图像的隐空间特征和所述真实图像的隐空间特征均包括Value值、Query查询值和Key元素;

将所述真实图像输入到第二编码器,所述第二编码器通过跨空间对比损失模块连接到所述第一编码器,具体包括:

将所述真实图像输入到所述第二编码器,所述第二编码器输出所述真实图像的隐空间特征,所述真实图像的隐空间特征的Query查询值依次通过第一残差块、跨空间对比损失模块、第二残差块连接至所述退化图像的隐空间特征的Key元素。

可选的,将所述第一编码器的计算结果输入到所述解码器进行处理,具体包括:

将所述退化图像的隐空间特征通过自注意力模块输入到所述解码器进行处理。

可选的,所述退化图像带有原始掩膜,所述第一编码器根据所述退化图像输出所述退化图像的生成掩膜,

所述盲图像修复的方法还包括:将所述原始掩膜和所述生成掩膜相比较,并更新所述盲图像修复网络循环训练,直至所述修复图像与真实图像相近,得到所述训练完成的盲图像修复网络。

本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现本申请所述的盲图像修复方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请所述的盲图像修复方法的步骤。

本申请还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请所述的盲图像修复方法的步骤。

本申请盲图像修复的方法至少具有以下效果之一:

本申请在训练网络中采用了跨空间对比损失模块,跨空间对比损失模块可移除退化图像的噪声,并在编码阶段实现退化图像的自动修复。跨空间比对不仅可以消除噪声,还可以自动修复高级语义中的退化图像,修复后的特征会被框架的解码器恢复到像素空间。跨空间对比损失的损失将退化图像的提取特征限制在和来自真实图像空间的真实图像的特征完全相同的特征中,约束了同一位置特征值的最大相关性,有助于提高盲图像修复网络的精确度。

附图说明

图1为本申请一实施例中盲图像修复方法的流程示意图;

图2为本申请一实施例中盲图像网络的结构示意图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

现有技术中,盲图像修复会被噪声内容所干扰或主导,导致修复后的图像在内容结构一致性上存在很多伪影,修复效果较差。而盲图像修复的本质不是找出退化图像的噪声区域,而是移除或智能过滤掉退化图像的噪声内容、并根据非噪声区的内容自动完成视觉内容。

参见图1~图2,本申请一实施例中提供一种盲图像修复的方法,盲图像修复的方法,将待修复图像输入训练完成的盲图像修复网络,得到修复结果,盲图像修复网络包括第一编码器(见图2中标记符E1)和解码器(见图2中的标记符D)。

盲图像修复网络采用以下步骤训练得到:

步骤S100,获得真实图像以及与真实图像相对应的退化图像。

本步骤中,真实图像即未被污染的图像(图2中的I

步骤S200,将退化图像以及参照数据均输入到第一编码器进行处理,参照数据是对真实图像通过跨空间对比损失模块处理后得到。

在步骤S200中,将退化图像I

在步骤S200中,对真实图像通过跨空间对比损失模块处理,具体包括:将真实图像输入到第二编码器,第二编码器通过跨空间对比损失模块连接到第一编码器,跨空间对比损失模块采用的跨空间对比损失函数详见下文。

跨空间对比损失函数计算了两个待修图F

在本步骤中,退化图像的隐空间特征和真实图像的隐空间特征均包括Value值、Query查询值和Key元素;分别简写为图2中的标记符V、Q、K。

具体地,将真实图像输入到第二编码器(见图2中的标记符E2),第二编码器E2输出真实图像的隐空间特征,真实图像的隐空间特征的Query查询值依次通过第一残差块(图2中左下侧ResBlocks)、跨空间对比损失模块、第二残差块(图2中间部位ResBlocks)连接至退化图像的隐空间特征的Key元素。

步骤S300,将第一编码器的计算结果输入到解码器进行处理,输出修复图像。具体包括将退化图像的隐空间特征通过自注意力模块输入到解码器进行处理。自注意力模块即图中self-attention模块,在此不再赘述。

步骤S400,将修复图像与真实图像相比较并更新盲图像修复网络进行循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

“修复图像与真实图像相近”可以理解为经本申请各实施例输出图像的鉴别器D

步骤S500,退化图像带有原始掩膜,第一编码器根据退化图像输出退化图像的生成掩膜。原始掩膜即真实图像相较于退化图像的污染部分;生成掩膜即盲图像生成的污染部分,原始掩膜的生成过程详见下文。通过图2中的掩膜感知鉴别器D

盲图像修复的方法还包括:将原始掩膜和生成掩膜相比较,并更新盲图像修复网络循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

步骤S600,将待修复图像输入训练完成的盲图像修复网络,利用一上采样网络(见图2中的标记符U)将提高待修复图像的分辨率,上采样网络包括待修复图像、以及修复结果的语义特征。

具体地,上采样网络结合待修复图像未被污染的区域、以及修复结果的语义特征,提高待修复图像的分辨率。

本申请提供一种盲图像修复的方法,该方法利用跨空间比对学习机制来移除退化图像的噪声,并在编码阶段实现了退化图像的自动修复。另外,本申请还设计了掩膜感知判别器D

本申请的盲图修复网络采用从粗到细的二阶段的盲图像修复框架,它由一个盲图像修复网络和一个上采样网络组成。为了更好地修复退化图像的宏观内容,图像修复网络会被用于在低分辨率下修复图像,上采样网络则会用于生成修复图像的细节内容。

本申请盲图像修复的方法通过比对学习的方法在所提出的框架中训练编码器,以便编码器可以在提取退化图像特征时可以智能的、有意识地过滤噪声内容。与自监督的比对学习不同,跨空间比对学习不仅可以消除噪声,还可以自动修复高级语义中的退化图像。修复后的特征会被框架的解码器恢复到像素空间。

盲图像修复的结构如图2所示,在粗阶段本申请的网络有第一编码器E1、第二编码器E2、解码器D、一个跨空间比对学习模块CSC(设有跨空间对比损失函数),一个掩膜感知鉴别器D

本申请在编码器和解码器中间添加了一个为了长期依赖学习的self-attention模块。为了避免过度约束和破坏self-attention操作长期依赖的能力,本申请在普遍Query查询值和Key元素卷积层后添加了一些残差块来ResBlocks生成用以对齐的特征图,而非直接在注意力图上操作。输入的退化图像经过编码器被映射到隐空间。

图2中各标记符的实际意义如下:

I

I

I

E1,第一编码器;

E2,第二编码器;

V,Value值;

Q,Query查询值;

K,Key元素,VQK三者为隐空间特征

self-attention模块,自注意力模块;

D,解码器;

Res blocks,残差块;

D

I

I

CSC,(cross-space contrastive),跨空间比对学习模块;

D

可以理解,训练进行时,真实图像I

本实施例中,判别器D

本申请把所有真实图像组成的集合定义为真实图像空间,把所有退化图像组成的集合定义为退化图像空间。在盲图像修复场景中,从退化图像空间中任何一张图像都可以和真实图像空间中对应的真实图像有一些本质的相关性,这样可以消除噪声的影响。这是通过使用跨空间对比损失来实现的,该损失将退化图像的提取特征限制在和来自真实图像空间的真实图像的特征完全相同的特征中。

在一个实施例中,本申请还提供一种盲图像修复的方法,包括:

步骤S100,生成用于盲图像修复学习的退化图像,通过将两幅图像融合到一起生成一副退化的图像,这个图像就是本申请要修复的盲图像、或者认为在训练过程中使用的退化图像;

具体地,首先随机生成一个掩码,然后将一副图像和掩码相乘加上另外一副图像和掩码的补乘积,这样就可以生成一副退化后的图像。退化的数据图像,就是我们要修复的图像,其是通过将一副正常的图像和一副噪声图像叠加而成,叠加的区域就是通过掩码确定。但是由于事前不知道叠加区域,所以称之为盲修复。

具体地,在步骤100中,盲修复框架的输入是一张被噪声污染的图像(退化图像),该图像由噪声通过随机的掩膜和图像合并而来。表达式为:

I

M,表示一个随机的掩膜;

I

⊙,表示Hadamard乘积操作。

尽管真实图像噪声可以避免网络通过模式区分噪声,但锐边仍可以帮助区分不同的区域。因此本申请生成退化图像时,在掩膜上做高斯模糊。这种修改方法的目的就是让网络难以分清明显的噪声边界。由于实际应用中盲修复任务没有确定的解决方案,输出的期望只有仅包括视觉上要是完整的,并且要完整保留没有被噪声覆盖的区域。

换句话说,首先是有一个正常图像(或称为真实图像)的数据集,比如人脸图像,这个数据集中的数据都是正常的,这个数据集中的任何一副图像被称为I

步骤S200~步骤S400。步骤S200,将退化图像以及参照数据均输入到第一编码器进行处理,参照数据是对真实图像通过跨空间对比损失模块处理后得到。步骤S300,将第一编码器的计算结果输入到解码器进行处理,输出修复图像。步骤S400,将修复图像与真实图像相比较并更新盲图像修复网络进行循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

在步骤S200~步骤S400中,实际上描述的是:将待修复的退化图像输入到盲图像粗修复模块,利用比对学习来在编码阶段对退化图像进行修复,修复得到的结果是隐空间特征;为了能够修复好退化图像,通过比对学习来消除退化噪声,然后得到修复好的隐空间特征,修复好的隐空间特征即第一编码器的计算结果。步骤S400中,更新盲图像修复网络,实际更新的内容是网络参数。

如前所提,本申请希望来自待修图空间,有着不同噪音的图像和来自真实图像空间的真实图像在隐空间中能映射到相同的位置。换句话说,提取的隐编码对于不同的噪声应该具有鲁棒性。

假设每个隐空间位置的隐空间特征都是在语义层面上相当独立的。对于任何输入编码器的待修图,不应从不同位置提出相同的语义信息。举个例子,对于有右眼噪声的鼻子图像,修复的隐编码不应该包含两个表示右眼语义的向量。

因此跨空间比对学习可以用来聚类。本申请计算了两个待修图的特征的余弦相似度,并约束了同一位置特征值的最大相关性。同时,减少不同位置的相关性。最开始的优化目标是最大化待修复图像F

考虑到互相关矩阵的物理意义和注意力图相类似,矩阵C∈R

L

I表示单位矩阵,BCE表示二元交叉熵损失

Sigmoid回归函数;

C,表示对两个特征进行叉积,得到协方差矩阵;

F

F

当待修图的高层语义与真实图相近时,其隐编码也相应相接近。可以理解,跨空间比对实际上是对退化图像的隐空间特征和真实图像的隐空间特征进行耦合。为便于理解,参照数据被表述为依次通过真实图像、第二解码器、跨空间对比损失模块形成的修正数据。即上文所提及的“参照数据连接至退化图像的隐空间特征”

步骤S500,通过掩膜感知鉴别器D

由于训练时注意力模块的参数会得到更新,我们便不能保证在缩小所有可能的隐空间输入的距离时,最终的隐编码能接近代表完整图的值。我们有理由推测被拉近的编码可能代表训练集的平均语义,其中掩膜经常出现或者不同正确性的置信水平。但隐编码实际上常被期望能包括所有全局一致性的信息,因此需要把近似隐编码回推处理到代表真实图的位置。可以理解,回推处理是训练过程中的自然映射。

回顾一下待修复图和完整图(正常图像)的区别:前者可以从视觉上看出别分成了不同的区域,而后者不能。回推处理就是要消除噪声施加到输入图上的影响。因此,在训练编码器以从掩膜区不能被预测的待修图提取隐编码的同时,我们训练了一个掩膜判别器来从隐编码预测掩膜。

为了更精确地定位掩膜区域,隐编码被转化为原始输入大小。我们的掩膜感知对抗损失可以被表示为:

其中:

E,为期望值;

x,为没有退化的图像;

P

M,为掩膜图像;

E

D

进一步地,还包括感知其他修复损失:我们对其他传统修复损失包括重构损失、基于VGG(是一种预先训练好的深度神经网络模型)的损失和对抗损失。这些损失确保了低分辨率下的由解码器转化的修复结果I

Θ

D

x为没有退化的图像;

P

总计的粗阶段的修复损失是:

步骤S600,将修复好的低分辨率图像输入到精细修复的超分精细修复模块,得到最终的高分辨率修复结果;为了能够生成好的超采样的结果,需要设计一个上采样的损失函数。

该模型的输入是与原始待修图连接的双线性(bilinear)的上采样低分辨率修复结果因为这个模块的输入包括部分原始分辨率图像信息,我们更想称它为上采样而不是超分辨率。

对于这个模块,低分辨率修复结果提供了视觉上的合理性和整体的一致性;原始图像提供了高分辨率非破坏区信息,包括色彩、纹理等等。我们期待上采样结果是整体合理、无伪影的。我们用L1重构损失和VGG基础特征损失来约束。

我们网络的总损失是:

L

在步骤S600中,将修复好的低分辨率图像输入到精细修复的超分精细修复模块,得到最终的高分辨率修复结果;

隐空间的特征是一种高语义空间的特征,该特征必须能够翻译到像素空间才能够最终完整盲图像的修复,因此需要构建一个解码器来将隐空间的特征翻译成像素空间的图像。

为了能够较好地学习如何修复盲图像,首先在低分辨率空间来进行盲图像修复,然后将修复的结果再利用超分网络来精细修复,实现最终的高分辨率修复。在训练完成后,将隐空间的修复好的特征输入到解码器中,得到最终的修复的低分辨率结果。

本申请各实施例提拱的盲图像修复的方法,一种由粗到细的二阶段的盲图像修复框架,由一个修复网络和一个上采样网络组成。为了更好地修复待修复图的宏观内容,图像修复网络会被用于在低分辨率下修复图像,上采样网络则会用于生成修复图像的细节内容。方法使用跨空间的比对学习来移除待修复图的噪声,并在编码阶段实现待修复图的自动修复。另外,还设计了掩膜感知鉴别器来提升图像修复的表现,掩膜感知鉴别器将隐空间的数据转换成输入大小的掩模图用于精确的训练。

大量实验证明本申请的盲图修复框架在多个数据集上取得了比最佳方法更好的表现。即使噪声区域很大且未对齐,它也能生成视觉上合理且一致的修复结果。

隐空间特征则被喂入掩膜鉴别器来进行掩膜感知对抗训练。由于在实现中损失也可以被视为像素级的二分类问题,本申请就用类似于解码器的网络作为掩膜鉴别器。最终,解码器将连接的特征图[E(I

本申请将双线性上采样修复结果I

由于上采样网络由辅助实体信息(来自低分辨率结果I

本申请提出了一个新颖的盲图像修复框架来生成视觉合理的结果。跨空间比对学习被引入,以教导编码器如何移除待修图中的噪声并在高级语义空间中修复它们。和传统的图像修复方法不同,它们都在解码器阶段修复待修图,而我们则是在编码阶段。另外,使用掩膜感知比对损失来对齐待修图和对应的真实图的潜在表征,这进一步优化了修复网络的表现。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种盲图像修复的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

步骤S100,获得真实图像以及与真实图像相对应的退化图像;

步骤S200,将退化图像以及参照数据均输入到第一编码器进行处理,参照数据是对真实图像通过跨空间对比损失模块处理后得到;

步骤S300,将第一编码器的计算结果输入到解码器进行处理,输出修复图像;

步骤S400,将修复图像与真实图像相比较并更新盲图像修复网络进行循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

步骤S100,获得真实图像以及与真实图像相对应的退化图像;

步骤S200,将退化图像以及参照数据均输入到第一编码器进行处理,参照数据是对真实图像通过跨空间对比损失模块处理后得到;

步骤S300,将第一编码器的计算结果输入到解码器进行处理,输出修复图像;

步骤S400,将修复图像与真实图像相比较并更新盲图像修复网络进行循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:

在一个实施例中,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现以下步骤:

步骤S100,获得真实图像以及与真实图像相对应的退化图像;

步骤S200,将退化图像以及参照数据均输入到第一编码器进行处理,参照数据是对真实图像通过跨空间对比损失模块处理后得到;

步骤S300,将第一编码器的计算结果输入到解码器进行处理,输出修复图像;

步骤S400,将修复图像与真实图像相比较并更新盲图像修复网络进行循环训练,直至修复图像与真实图像相近,得到训练完成的盲图像修复网络。

本实施例中,计算机程序产品包括程序代码部分,以用于当计算机程序产品由一个或多个计算装置执行时,执行本申请各实施例中盲图像修复的方法的步骤。计算机程序产品可被存储在计算机可读记录介质上。还可经由数据网络(例如,通过RAN、经由因特网和/或通过RBS)提供计算机程序产品以便下载。备选地或附加地,该方法可被编码在现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)中,或者功能性可借助于硬件描述语言被提供以便下载。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120114698065