图像修复模型训练方法、图像修复方法、装置及存储介质与流程

文档序号:33186262发布日期:2023-02-04 06:35阅读:46来源:国知局
图像修复模型训练方法、图像修复方法、装置及存储介质与流程

1.本技术涉及人工智能领域,尤其涉及一种图像修复模型训练方法、图像修复方法、装置、电子设备及存储介质。


背景技术:

2.图像修复,是指重建的图像中丢失或损坏的部分的过程。对于一些应用场景,一个待修复图像可能对应多个合理的修复结果,例如一个人脸鼻子区域损坏的待修复图像,合理的修复图像既可能是高鼻梁,也可能是塌鼻梁。
3.相关技术中,在基于随机噪声对待修复图像的进行图像修复的方法中,针对一个待修复图像进行修复时,仅能得到单一的修复图像,无法对一个待修复图像提供多样的修复图像。


技术实现要素:

4.有鉴于此,本技术实施例提供一种图像修复模型训练方法、图像修复方法、装置、电子设备及存储介质,以至少解决相关技术在进行图像修复时,无法对一个待修复图像提供多样的修复图像的问题。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供了一种图像修复模型训练方法,包括:
7.将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像;
8.根据第一参数和第二参数的相对熵确定第一损失值;所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定;所述n为大于1的整数;
9.根据确定出的第一损失值,更新所述图像修复模型的权重参数。
10.其中,上述方案中,在所述根据确定出的第一损失值,更新所述图像修复模型的权重参数之前,所述方法还包括:
11.通过所述图像修复模型的判别网络对所述第i个第二图像进行分类,基于所述第i个第二图像的分类结果和第三图像的分类结果,确定第二损失值;所述第三图像表征所述第一图像对应的标定结果;
12.基于所述第i个第二图像与所述第三图像,确定第三损失值;
13.所述根据确定出的第一损失值,更新所述图像修复模型的权重参数,包括:
14.根据确定出的第一损失值、第二损失值和第三损失值,更新所述图像修复模型的权重参数。
15.上述方案中,所述基于所述第i个第二图像与所述第三图像,确定第三损失值,包括:
16.根据所述第i个第二图像与所述第三图像的范数,确定第四损失值;
17.基于所述第i个第二图像确定第一特征向量,基于所述第三图像确定第二特征向量,根据所述第一特征向量与所述第二特征向量的向量差的范数,确定第五损失值;
18.根据所述第四损失值和所述第五损失值确定所述第三损失值。
19.上述方案中,在所述将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络之前,所述方法还包括:
20.从设定的样本图库中确定第四图像;
21.对确定出的第三图像的设定区域进行掩码处理,得到所述第一图像。
22.上述方案中,所述从设定的样本图库中确定第四图像,包括:
23.对所述设定的样本图库中的第五图像进行目标检测,并基于目标检测过程中定位的目标矩形框对所述第五图像进行裁剪,确定所述第四图像。
24.本技术实施例还提供了一种图像修复方法,包括:
25.将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
26.所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
27.本技术实施例还提供了一种图像修复模型训练装置,包括:
28.生成单元,用于将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像;
29.第一处理单元,用于根据第一参数和第二参数的相对熵确定第一损失值;所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定;所述n为大于1的整数;
30.训练单元,用于根据确定出的第一损失值,更新所述图像修复模型的权重参数。
31.本技术实施例还提供了一种图像修复装置,包括:
32.修复单元,用于将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
33.所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
34.本技术实施例还提供了一种第一电子设备,包括:第一处理器及第一通信接口;其中,
35.所述第一处理器,用于将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像;
36.根据第一参数和第二参数的相对熵确定第一损失值;所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定;所述n为大于1的整数;
37.根据确定出的第一损失值,更新所述图像修复模型的权重参数。
38.本技术实施例还提供了一种第二电子设备,包括:第二处理器及第二通信接口;其中,
39.所述第二处理器,用于将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
40.所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
41.本技术实施例还提供了一种第一电子设备,包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器,
42.其中,所述第一处理器用于运行所述计算机程序时,执行上述任一项所述图像修复模型训练方法的步骤。
43.本技术实施例还提供了一种第二电子设备,包括:第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器,
44.其中,所述第二处理器用于运行所述计算机程序时,执行上述图像修复方法的步骤。
45.本技术实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述图像修复模型训练方法的步骤,或者实现上述图像修复方法的步骤。
46.本技术实施例提供的图像修复模型训练方法、图像修复方法、装置、电子设备及存储介质,将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像,以第i个随机噪声和n个随机噪声的归一化结果为第一参数,以及第i个第二图像和n个随机噪声对应生成的n个第二图像的归一化结果为第二参数,基于第一参数和第二参数的相对熵确定第一损失值,并根据第一损失值更新图像修复模型的生成网络的权重参数。在训练图像修复模型时,通过第一损失值更新图像修复模型的生成网络的权重参数,使生成的n个第二图像克服了基于生成对抗网络中存在的模式坍塌问题。这样,基于多个随机噪声,可以生成对应于同一待修复图像的多样化的图像修复结果,从而提供同一待修复图像的多样的图像修复结果。
附图说明
47.图1为本技术实施例提供的一种图像修复模型训练方法的流程示意图;
48.图2为本技术实施例提供的一种图像修复方法的流程示意图;
49.图3为本技术应用实施例提供的一种图像修复方法的流程示意图;
50.图4为本技术应用实施例提供的一种图像修复模型的示意图;
51.图5为本技术实施例提供的一种图像修复模型训练装置的结构示意图;
52.图6为本技术实施例提供的一种图像修复装置的结构示意图;
53.图7为本技术实施例提供的一种第一电子设备的结构示意图;
54.图8为本技术实施例提供的一种第二电子设备的结构示意图。
具体实施方式
55.图像修复,是指重建的图像中丢失或损坏的部分的过程。对于一些应用场景,一个待修复图像可能对应多个合理的修复结果,例如一个人脸鼻子区域损坏的待修复图像,合理的修复图像既可能是高鼻梁,也可能是塌鼻梁。
56.相关技术中,在基于随机噪声对待修复图像的进行图像修复的方法中,针对一个待修复图像进行修复时,仅能得到单一的修复图像,无法对一个待修复图像提供多样的修复图像。
57.基于此,本技术实施例提供的图像修复模型训练方法、图像修复方法、装置、电子
设备及存储介质,将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像,以第i个随机噪声和n个随机噪声的归一化结果为第一参数,以及第i个第二图像和n个随机噪声对应生成的n个第二图像的归一化结果为第二参数,基于第一参数和第二参数的相对熵确定第一损失值,并根据第一损失值更新图像修复模型的生成网络的权重参数。在训练图像修复模型时,通过第一损失值更新图像修复模型的生成网络的权重参数,使生成的n个第二图像中,基于随机噪声空间中相近的噪声对应生成的第二图像在图像空间中相近,而基于随机噪声空间中相远的噪声对应生成的第二图像在图像空间中相远,从而克服了基于生成对抗网络中存在的模式坍塌问题。这样,基于多个随机噪声,可以生成对应于同一待修复图像的多样化的图像修复结果,从而提供同一待修复图像的多样的图像修复结果。
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
59.本技术实施例提供的图像修复模型训练方法的流程示意图,如图1所示,图像修复模型训练方法包括:
60.步骤101:将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像。
61.其中,所述n为大于1的整数。
62.将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像,n为大于1的整数,i是1至n中的任一个正整数。这里,第一图像表征将输入图像修复模型的待修复的图像,第二图像表征图像修复模型输出的第一图像对应的修复图像。图像修复模型可以是生成对抗网络(gan,generative adversarial nets)中的一种,如在输入的同时还将额外信息作为条件输入至生成网络和判别网络的条件生成式对抗网络(cgan,conditional generative adversarial nets)。
63.随机噪声可以是以特征向量的形式输入至图像修复模型的生成网络中,随机噪声的获取可以是从先验分布中采样的随机样本,例如均匀分布或者协方差矩阵为i的多维高斯分布。n的取值可以是2的n次幂,如8、16、32等,根据训练设备,如gpu的显存确定。
64.步骤102:根据第一参数和第二参数的相对熵确定第一损失值。
65.其中,所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定。
66.根据第i个随机噪声和n个随机噪声的归一化结果确定第一参数,根据第i个第二图像和n个随机噪声对应生成的n个第二图像的归一化结果确定第二参数,基于第一参数和第二参数的相对熵结果确定第一损失值。
67.步骤103:根据确定出的第一损失值,更新所述图像修复模型的权重参数。
68.对图像修复模型进行权重参数的更新,以提升图像修复模型的生成网络输出的修复图像在判别网络的判别结果。
69.训练过程中,对图像修复模型的生成网络和判别网络交替迭代训练,进行权重参数的更新,直到双方达到一个动态的平衡,即纳什均衡。最优状态是判别网络无法区分生成
的修复图像与真实图像,即在原始gan损失的情形下,两者在判别器中的判别概率都为0.5。
70.其中,将第一损失值在图像修复模型中进行反向传播,在将损失值反向传播至图像修复模型的各个层的过程中,根据损失值计算出损失函数的梯度,并沿梯度的下降方向更新反向传播到当前层的权重参数。
71.将更新后得到的权重参数,作为训练完毕的图像修复模型所使用的权重参数。
72.这里,可设定更新停止条件,在满足更新停止条件时,将最后一次更新得到的权重参数,确定为训练完毕的图像修复模型所使用的权重参数。更新停止条件如设定的训练迭代次数(iteration),一个训练迭代次数即为根据第一图像对图像修复模型训练一次的过程。当然,更新停止条件并不限于此,例如还可为设定的损失函数的损失值阈值等。
73.需要说明的是,损失函数(loss function)用于度量模型的预测值与真实值(标定值)之间的不一致程度。在实际应用中,通过最小化损失函数来实现模型训练。
74.反向传播是相对于前向传播而言的,前向传播是指模型的前馈处理过程,而反向传播的方向与前向传播的方向相反。反向传播指根据模型输出的结果对模型各个层的权重参数进行更新。
75.这样,利用训练完成的图像修复模型的生成网络修复图像时,可以克服基于生成对抗网络中存在的模式坍塌问题,基于多个随机噪声,可以生成对应于同一待修复图像的多样化的图像修复结果,从而提供同一待修复图像的多样的图像修复结果以供用户选择。
76.实际应用中,可以通过以下方式确定第一损失值。
77.第i个第一参数pi,可以通过如下公式(1)确定:
[0078][0079]
其中,
[0080]
zi为n个随机噪声中的第i个随机噪声,
[0081]
zj为n个随机噪声中的第j个随机噪声。
[0082]
第i个第二参数qi,可以通过如下公式(2)确定:
[0083][0084]
其中,
[0085]
为图像修复模型的生成网络基于待修复的第一图像和第i个随机噪声生成的第i个第二图像,
[0086]
为图像修复模型的生成网络基于待修复的第一图像和第j个随机噪声生成的第j个第二图像。
[0087]
第一损失值l
multimodal
,可以通过如下公式(3)确定:
[0088]
l
multimodal
=λ1kl(pi||qi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0089]
其中,
[0090]
λ1代表第一损失值的权重,
[0091]
kl散度计算概率pi与qi的对数差的期望值。
[0092]
在一实施例中,在所述根据确定出的第一损失值,更新所述图像修复模型的权重参数之前,所述方法还包括:
[0093]
通过所述图像修复模型的判别网络对所述第i个第二图像进行分类,基于所述第i个第二图像的分类结果和第三图像的分类结果,确定第二损失值;所述第三图像表征所述第一图像对应的标定结果;
[0094]
基于所述第i个第二图像与所述第三图像,确定第三损失值;
[0095]
所述根据确定出的第一损失值,更新所述图像修复模型的权重参数,包括:
[0096]
根据确定出的第一损失值、第二损失值和第三损失值,更新所述图像修复模型的权重参数。
[0097]
在根据确定出的第一损失值更新图像修复模型的权重参数之前,通过图像修复模型的判别网络对第i个第二图像和第三图像分别进行分类,基于第i个第二图像的分类结果和第三图像的分类结果确定第二损失值,并基于第i个第二图像与第三图像确定第三损失值,根据确定出的第一损失值、第二损失值和第三损失值,更新图像修复模型的权重参数。这里,第三图像表征第一图像对应的标定结果,可以是第一图像对应的第四图像,即第三图像是第一图像的原始图像;也可以是在图像数据库中根据第一图像的特征信息确定的图像。
[0098]
这样,根据确定出的第一损失值、第二损失值和第三损失值更新权重参数,通过第二损失值的引入使生成的修复图像在视觉上更加逼真。同时,确定生成图像和标定图像在像素级别上的损失,使修复图像在像素空间上尽可能与对应的真实图像相同。并且,通过比较图像之间的高级感知和语义差异,确保图像修复结果在语义上与对应的真实图像一致。
[0099]
这里,第二损失值l
adv
,可以通过如下公式(4)确定:
[0100][0101]
其中,d和g分别为判别网络和生成网络输出的结果,
[0102]
为图像修复模型的生成网络基于待修复的第一图像;
[0103]
x为第一图像对应的标定结果,即第三图像;
[0104]
zi为n个随机噪声中的第i个随机噪声。
[0105]
在一实施例中,所述基于所述第i个第二图像与所述第三图像,确定第三损失值,包括:
[0106]
根据所述第i个第二图像与所述第三图像的范数,确定第四损失值;
[0107]
基于所述第i个第二图像确定第一特征向量,基于所述第三图像确定第二特征向量,根据所述第一特征向量与所述第二特征向量的向量差的范数,确定第五损失值;
[0108]
根据所述第四损失值和所述第五损失值确定所述第三损失值。
[0109]
根据第i个第二图像与第三图像的l1范数确定第四损失值。基于第i个第二图像确定第一特征向量,基于第三图像确定第二特征向量,根据第一特征向量与第二特征向量的向量差的l1范数,确定第五损失值。根据确定出的第四损失值和第五损失值,计算得到第三损失值。这里,特征向量可以通过将对应的图像输入至使用imagenet预训练的神经网络模型确定,如vggnet。
[0110]
第四损失值l
l1
,可以通过如下公式(5)确定:
[0111][0112]
其中,
[0113]
λ2代表第四损失值的权重。
[0114]
这里,第五损失值l
perceptual
,可以通过如下公式(6)确定:
[0115][0116]
其中,
[0117]
λ3代表第五损失值的权重,
[0118]
f(
·
)表示图像对应的特征向量。
[0119]
第三损失值l3,可以通过如下公式(7)确定:
[0120]
l3=l
l1
+l
perceptual
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0121]
这样,根据确定出的第一损失值、第二损失值和第三损失值更新权重参数,通过第二损失值的引入,使生成的修复图像在视觉上更加逼真。同时,基于第四损失值确定生成图像和标定图像在像素级别上的损失,使修复图像在像素空间上尽可能与对应的真实图像相同。并且,通过引入第五损失值比较图像之间的高级感知和语义差异,确保图像修复结果在语义上与对应的真实图像一致。
[0122]
在一实施例中,在所述将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络之前,所述方法还包括:
[0123]
从设定的样本图库中确定第四图像;
[0124]
对确定出的第四图像的设定区域进行掩码处理,得到所述第一图像。
[0125]
在设定的样本图库中确定第四图像,对确定出的第四图像的设定区域进行掩码处理,得到用于训练的待修复的第一图像。这里,设定的样本图库可以是常用的数据库如imagenet、sun等,也可以是根据需要创建的样本图库。掩码处理可以通过opencv等方式实现。
[0126]
在训练图像修复模型时,根据模型在修复人脸图像、风景图像等不同的用途,第四图像的设定区域的形状可以是确定的形状如矩形、椭圆形,也可以是对图像中的特定对象的识别结果。
[0127]
根据模型用途的不同,在相应位置随机地添加掩码。例如在人脸图像修复时在人脸区域添加,在风景图像修复时在特定对象(如人体、树木、石头、建筑等)对应的区域添加。
[0128]
在一实施例中,所述从设定的样本图库中确定第四图像,包括:
[0129]
对所述设定的样本图库中的第五图像进行目标检测,并基于目标检测过程中定位的目标矩形框对所述第五图像进行裁剪,确定所述第四图像。
[0130]
对设定的样本图库的第五图像进行目标检测,基于目标检测过程中定位的目标矩形框框选出图片中的目标,获得目标位置的坐标框,按照坐标框裁剪出包含目标的检测框,得到第四图像。这里,样本图库中的第五图像是用于训练的图像数据集。在进行裁剪时,还可以进行图像的对齐、矫正等处理,得到符合设定标准的图像。
[0131]
这样,通过对原数据集图片进行目标检测并修剪,可以在保留识别目标的同时,使得神经网络模型在训练时能够专注于学习图像的目标信息,降低了模型的训练复杂度,这
样训练出来的图像修复模型能够具备良好的应用性能。
[0132]
本技术实施例提供的图像修复方法的流程示意图,如图2所示,图像修复方法包括:
[0133]
步骤201:将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
[0134]
所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
[0135]
将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个修复后的第七图像。这里,图像修复模型采用的生成网络采用上述任一项所述图像修复模型训练方法训练得到。图像修复模型的生成网络以第六图像和n个随机噪声中的每一个随机噪声为一组,每一组图像和随机噪声可以生成一个对应的第七图像,这样,n个随机噪声和第六图像可以生成n个第七图像。
[0136]
这样,利用训练完成的图像修复模型的生成网络修复图像时,可以克服基于生成对抗网络中存在的模式坍塌问题,基于多个随机噪声,可以生成对应于同一待修复图像的多样化的图像修复结果,从而提供同一待修复图像的多样的图像修复结果。
[0137]
以下给出了本技术实施例的应用实施例:
[0138]
在无监督学习领域中,gan包括一个生成网络和一个判别网络,能够通过学习拟合图像分布,在训练后生成符合图像分布的视觉上逼真的图像。
[0139]
如图3示出的一种图像修复方法的流程示意图,包括以下步骤:
[0140]
步骤301:获取待修复图像的训练数据集。
[0141]
这里,对不符合训练要求的训练数据集进行预处理,其中包括但不限于对训练数据集中的图像进行归一化处理、按照特定的需求对训练集中的图像添加掩码等,将经过预处理后的图像作为训练集中待修复的图像参加训练。
[0142]
根据模型用途的不同,在相应位置随机地添加掩码,例如在人脸图像修复时在人脸区域添加,在风景图像修复时在特定对象(如人体、树木、石头、建筑等)对应的区域添加。
[0143]
步骤302:构建无监督的图像修复模型。
[0144]
如图4所示出的一种图像修复模型的示意图,图像修复模型包括随机噪声驱动模块、待修复图像输入模块、生成网络修复模块、判别网络模块、对抗损失模块、像素级别损失模块、感知损失模块和多模态约束模块。
[0145]
待修复图像输入模块将待修复的图像处理为符合生成修复模块要求的输入格式,包括但不限于对齐、矫正和裁剪等。经过待修复图像输入模块处理后的图像将和随机噪声样本输入至生成网络修复模块。
[0146]
随机噪声驱动模块通过从先验分布中采样随机噪声样本,与待修复图像输入模块确定的待修复图像输入至生成网络修复模块。
[0147]
生成网络修复模块是一个生成网络结构,通常由一个编码器解码器网络架构组成,其中可以包含多个跳跃连接层,也可以由最近邻上采样层和最近邻下采样层与多个残差块组成,其主要作用在于接受随机噪声驱动模块和待修复图像输入模块的样本输入,产生多样化的修复图像。
[0148]
训练完成后的图像修复模型可以根据不同的噪声样本,生成多样化的图像修复结果。
[0149]
判别网络模块用于判别修复图像的逼真度,激励生成网络修复模块以生成视觉上逼真的、语义上一致的图像修复结果。判别网络模块是一个判别网络的结构,通常为一个深度卷积神经网络。
[0150]
步骤303:训练构建的图像修复模型。
[0151]
对抗损失模块、像素级别损失模块、感知损失模块和多模态约束模块训练构建的图像修复模型,其中:
[0152]
对抗损失模块,可以通过公式(4)计算损失值l
adv

[0153]
其中,d和g分别为判别网络模块和生成网络修复模块输出的结果,x和分别为训练集中对应的真实完整图像和被掩码处理的待修复图像、zi为从先验分布中采样的n个随机噪声样本中的第i个噪声样本,先验分布通常为多维标准高斯分布或者均匀分布。
[0154]
对抗损失模块可以提高修复图像的逼真度。
[0155]
像素级别损失模块,可以通过公式(5)计算损失值l
l1

[0156]
其中,‖
·
‖1表示l1范数,λ2表示像素级别损失的权重,用来调整该项损失在整体损失函数中的权重。
[0157]
像素级别损失模块用于计算生成图像和标定图像在像素级别上的损失,使修复图像在像素空间上尽可能与对应的真实图像相同。
[0158]
感知损失模块,可以通过公式(6)计算损失值l
perceptual

[0159]
其中,f(
·
)表示将对应的图像输入至使用imagenet上预训练的神经网络模型得到的特征向量,这里的神经网络模型可以是vggnet,λ3表示感知损失的权重,用来调整该项损失在整体损失函数中的权重。
[0160]
感知损失模块通过比较图像之间的高级感知和语义差异,确保图像修复结果在语义上与对应的真实图像一致。
[0161]
多模态约束模块,可以通过公式(3)计算损失值l
multimodal

[0162]
对于每一张待修复的图像将设定数量(n)的随机噪声样本z之间的欧几里得距离使用softmax函数进行概率归一化后,概率分布记为pi。n个随机噪声样本中的第i个随机噪声样本对应的pi,可以通过如下公式(1)确定。
[0163]
对于训练时生成的图像同样使用softmax函数进行概率归一化,概率分布记为qi。n个生成图像中的第i个生成图像对应的qi,可以通过如下公式(2)确定。
[0164]
通过公式(3),基于pi和qi确定l
multimodal

[0165]
其中,λ1代表多模态损失函数的权重,kl散度计算概率pi与qi的对数差的期望值。
[0166]
多模态约束模块激励生成对抗网络,根据输入的随机噪声生成多样化的图像修复结果,从而解决图像修复中存在的模式坍塌问题。
[0167]
这样,图像修复模型的损失函数可以通过如下公式(8)计算得到。
[0168]
l
total
=l
adv
+l
l1
+l
percetual
+l
multimodal
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0169]
步骤304:将待修复的图像输入训练完成的图像修复模型。
[0170]
在图像修复模型训练完成后,将待修复的图像输入生成网络修复模块,并且从先验分布中采样多个随机噪声z,生成多样化的图像修复结果。
[0171]
由于构建用于训练的图像修复数据集是对训练集中的完整图像施加随机掩码,因
此对于基于cgan的图像修复方法而言,训练集中每个待修复图像仅对应有一个标定结果(真实图像),cgan无法学习待修复图像条件下的条件分布,训练得到的模型对每一个待修复图像仅能得到一个修复结果,而不能获得各种语义上可能的有意义的合理修复结果。
[0172]
并且,gan存在模式坍塌问题,生成的修复结果趋同,不能产生多样化的修复结果。但对于一些应用场景,一个待修复图像对应多个合理的修复结果是可能的,例如一个人脸鼻子区域损坏的待修复图像,满足用户需要的图像既可能是高鼻梁,也可能是塌鼻梁,此时不能产生多样化的修复结果,便不能满足图像修复的需要。
[0173]
在本应用实施例中,设计一个基于先验噪声驱动的图像修复模型,通过对输入噪声的扰动,得到同一个待修复图像的视觉上逼真的、语义上一致的、多样化的图像修复结果。并且,基于图像修复模型的网络框架和损失函数解决了图像修复领域应用的模式坍塌问题,从而实现了图像修复结果的多样性。
[0174]
为了实现本技术实施例的方法,本技术实施例还提供了一种图像修复模型训练装置,设置在第一电子设备上,如图5所示,该装置包括:
[0175]
生成单元501,用于将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像;
[0176]
第一处理单元502,用于根据第一参数和第二参数的相对熵确定第一损失值;所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定;所述n为大于1的整数;
[0177]
训练单元503,用于根据确定出的第一损失值,更新所述图像修复模型的权重参数。
[0178]
其中,在一实施例中,所述装置还包括:
[0179]
第二处理单元,用于通过所述图像修复模型的判别网络对所述第i个第二图像进行分类,基于所述第i个第二图像的分类结果和第三图像的分类结果,确定第二损失值;所述第三图像表征所述第一图像对应的标定结果;
[0180]
第三处理单元,用于基于所述第i个第二图像与所述第三图像,确定第三损失值;
[0181]
所述训练单元503,用于:
[0182]
根据确定出的第一损失值、第二损失值和第三损失值,更新所述图像修复模型的权重参数。
[0183]
在一实施例中,所述第三处理单元,用于:
[0184]
根据所述第i个第二图像与所述第三图像的范数,确定第四损失值;
[0185]
基于所述第i个第二图像确定第一特征向量,基于所述第三图像确定第二特征向量,根据所述第一特征向量与所述第二特征向量的向量差的范数,确定第五损失值;
[0186]
根据所述第四损失值和所述第五损失值确定所述第三损失值。
[0187]
在一实施例中,所述装置还包括:
[0188]
第四处理单元,用于从设定的样本图库中确定第四图像;
[0189]
第五处理单元,用于对确定出的第四图像的设定区域进行掩码处理,得到所述第一图像。
[0190]
在一实施例中,所述第四处理单元,用于:
[0191]
对所述设定的样本图库中的第五图像进行目标检测,并基于目标检测过程中定位的目标矩形框对所述第五图像进行裁剪,确定所述第四图像。
[0192]
实际应用时,所述生成单元501、第一处理单元502、训练单元503、第二处理单元、第三处理单元、第四处理单元、第五处理单元可由基于图像修复模型训练装置中的处理器,比如中央处理器(cpu,central processing unit)、数字信号处理器(dsp,digital signal processor)、微控制单元(mcu,microcontroller unit)或可编程门阵列(fpga,field-programmable gate array)等实现。
[0193]
需要说明的是:上述实施例提供的图像修复模型训练装置在进行图像修复模型训练时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的图像修复模型训练装置与图像修复模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0194]
为实现本技术实施例的方法,本技术实施例还提供了一种图像修复装置,设置在第二电子设备上,如图6所示,该装置包括:
[0195]
修复单元601,用于将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
[0196]
所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
[0197]
实际应用时,所述修复单元601可由基于图像修复装置中的处理器,比如cpu、dsp、mcu或fpga等实现。
[0198]
需要说明的是:上述实施例提供的图像修复装置在进行图像修复时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的图像修复装置与图像修复方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0199]
基于上述程序模块的硬件实现,且为了实现本技术实施例的图像修复模型训练方法,本技术实施例还提供了一种第一电子设备,如图7所示,第一电子设备700包括:
[0200]
第一通信接口701,能够与其他网络节点进行信息交互;
[0201]
第一处理器702,与所述第一通信接口701连接,以实现与其他网络节点进行信息交互,用于运行计算机程序时,执行上述第一电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在第一存储器703上。
[0202]
具体地,所述第一处理器702,用于将待修复的第一图像和n个随机噪声中的第i个随机噪声输入图像修复模型的生成网络,生成第i个第二图像;
[0203]
根据第一参数和第二参数的相对熵确定第一损失值;所述第一参数根据所述第i个随机噪声和所述n个随机噪声的归一化结果确定;所述第二参数根据所述第i个第二图像和所述n个随机噪声对应生成的n个第二图像的归一化结果确定;所述n为大于1的整数;
[0204]
根据确定出的第一损失值,更新所述图像修复模型的权重参数。
[0205]
其中,在一实施例中,所述第一处理器702,用于通过所述图像修复模型的判别网络对所述第i个第二图像进行分类,基于所述第i个第二图像的分类结果和第三图像的分类结果,确定第二损失值;所述第三图像表征所述第一图像对应的标定结果;
[0206]
基于所述第i个第二图像与所述第三图像,确定第三损失值;
[0207]
所述根据确定出的第一损失值,更新所述图像修复模型的权重参数,包括:
[0208]
根据确定出的第一损失值、第二损失值和第三损失值,更新所述图像修复模型的权重参数。
[0209]
在一实施例中,所述第一处理器702,用于根据所述第i个第二图像与所述第三图像的范数,确定第四损失值;
[0210]
基于所述第i个第二图像确定第一特征向量,基于所述第三图像确定第二特征向量,根据所述第一特征向量与所述第二特征向量的向量差的范数,确定第五损失值;
[0211]
根据所述第四损失值和所述第五损失值确定所述第三损失值。
[0212]
在一实施例中,所述第一处理器702,用于从设定的样本图库中确定第四图像;
[0213]
对确定出的第四图像的设定区域进行掩码处理,得到所述第一图像。
[0214]
在一实施例中,所述第一处理器702,用于对所述设定的样本图库中的第五图像进行目标检测,并基于目标检测过程中定位的目标矩形框对所述第五图像进行裁剪,确定所述第四图像。
[0215]
需要说明的是:第一处理器702和第一通信接口701的具体处理过程可参照上述方法理解。
[0216]
当然,实际应用时,第一电子设备700中的各个组件通过总线系统704耦合在一起。可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。
[0217]
本技术实施例中的第一存储器703用于存储各种类型的数据以支持第一电子设备700的操作。这些数据的示例包括:用于在第一电子设备700上操作的任何计算机程序。
[0218]
上述本技术实施例揭示的方法可以应用于所述第一处理器702中,或者由所述第一处理器702实现。所述第一处理器702可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第一处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第一处理器702可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第一处理器702可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一存储器703,所述第一处理器702读取第一存储器703中的信息,结合其硬件完成前述方法的步骤。
[0219]
可选地,所述第一处理器702执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0220]
在示例性实施例中,第一电子设备700可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、fpga、通用处理器、控制器、mcu、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。
[0221]
基于上述程序模块的硬件实现,且为了实现本技术实施例图像修复方法,本技术实施例还提供了一种第二电子设备,如图8所示,该第二电子设备800包括:
[0222]
第二通信接口801,能够与其他网络节点进行信息交互;
[0223]
第二处理器802,与所述第二通信接口801连接,以实现与其他网络节点进行信息交互,用于运行计算机程序时,执行上述技术方案提供的图像修复方法。而所述计算机程序存储在第二存储器803上。
[0224]
具体地,所述第二处理器802,用于将待修复的第六图像和n个随机噪声输入图像修复模型的生成网络,输出n个第七图像;其中,
[0225]
所述图像修复模型采用上述任一项所述图像修复模型训练方法训练得到。
[0226]
需要说明的是:第二处理器802和第二通信接口801的具体处理过程可参照上述方法理解。
[0227]
当然,实际应用时,第二电子设备800中的各个组件通过总线系统804耦合在一起。可理解,总线系统804用于实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。
[0228]
本技术实施例中的第二存储器803用于存储各种类型的数据以支持第二电子设备800的操作。这些数据的示例包括:用于在第二电子设备800上操作的任何计算机程序。
[0229]
上述本技术实施例揭示的方法可以应用于所述第二处理器802中,或者由所述第二处理器802实现。所述第二处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第二处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第二处理器802可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第二处理器802可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器803,所述第二处理器802读取第二存储器803中的信息,结合其硬件完成前述方法的步骤。
[0230]
可选地,所述第二处理器802执行所述程序时实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
[0231]
在示例性实施例中,第二电子设备800可以被一个或多个asic、dsp、pld、cpld、fpga、通用处理器、控制器、mcu、microprocessor、或其他电子元件实现,用于执行前述方法。
[0232]
可以理解,本技术实施例的存储器(第一存储器703、第二存储器803)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,
compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0233]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器703,上述计算机程序可由第一电子设备700的第一处理器702执行,以完成前述第一电子设备侧方法所述步骤。再比如包括存储计算机程序的第二存储器803,上述计算机程序可由第二电子设备800的第二处理器802执行,以完成前述第二电子设备侧方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0234]
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0235]
另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0236]
以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1