一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种模型训练以及图像修复方法及装置与流程

2022-02-19 00:34:09 来源:中国专利 TAG:


1.本说明书涉及计算机技术领域,尤其涉及一种模型训练以及图像修复方法及装置。


背景技术:

2.图像修复,是指重建图像和视频中丢失或损坏的部分的过程,通常可用于图像美化、图像生成、视频编辑、视频生成等领域。属于一种常见的图像处理手段。
3.现有图像修复方法,一般是基于图像修复模型实现的。具体的,首先获取各损坏图像及其对应的掩膜,作为各训练样本,并将各损坏图像对应的原始图像作为标注。然后将各训练样本输入到待训练的图像修复模型中,通过该图像修复模型中的各卷积层,确定各训练样本对应的修复结果。最后根据各训练样本的修复结果和标注,调整该图像修复模型的模型参数。其中,该掩膜用于标识损坏图像中的损坏部分和未损坏部分。
4.但是,现有技术在确定各训练样本对应的修复结果时,是针对损坏部分的每个像素,基于该像素周围的各像素的像素值确定该像素对应的像素值,进而确定修复结果的,并未考虑到损坏部分与未损坏部分的像素差异,导致训练得到的图像修复模型输出的修复结果的纹理信息与原始图像相比有较大差别,图像修复结果较差。


技术实现要素:

5.本说明书提供一种模型训练以及图像修复方法及装置,以部分的解决现有技术存在的上述问题。
6.本说明书采用下述技术方案:
7.本说明书提供一种图像修复模型的训练方法,包括:
8.根据获取到的各原始图像和各掩膜,确定各损坏图像,并根据各损坏图像及其对应的掩膜,确定各训练样本对,以及将各损坏图像的原始图像,作为各训练样本对的标注;
9.针对每个训练样本对,将该训练样本对作为输入,输入到待训练的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果;
10.根据该训练样本对包含的掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果;
11.将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定该训练样本对的最终修复结果;
12.根据各训练样本对的最终修复结果及其标注,确定损失,调整所述图像修复模型的模型参数。
13.可选地,确定训练样本对的初始修复结果,具体包括:
14.针对每个训练样本对,对该训练样本对进行下采样,确定下采样训练样本对,并将
所述下采样训练样本对作为输入,输入到所述图像修复模型的下采样处理层,确定所述下采样训练样本对的初始修复结果;
15.将所述下采样训练样本对的初始修复结果进行上采样,得到该训练样本对的初始修复结果。
16.可选地,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果,具体包括:
17.根据所述损坏图像的掩膜,确定各损坏部分及其尺寸;
18.根据各损坏部分的尺寸,确定各损坏部分对应的采样规格;
19.针对所述损坏图像的每个损坏部分的每个位置,根据该位置所属的损坏部分的采样规格,对该位置周围的未损坏部分进行动态采样,确定该位置对应的像素值;
20.根据所述损坏图像及其损坏部分的各位置对应的像素值,确定初始修复结果。
21.可选地,所述动态卷积的采样规格有多个;
22.对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果,具体包括:
23.根据所述损坏图像的掩膜,确定各损失部分的各位置对应于各采样规格的概率;
24.针对所述损坏图像的每个损坏部分的每个位置,根据各采样规格,分别对该位置周围的未损坏部分的图像进行动态采样,确定各采样规格对应的采样结果,以及根据各采样规格的概率,对各采样结果进行加权平均,确定该位置对应的像素值;
25.根据所述损坏图像及其损坏部分的各位置对应的像素值,确定初始修复结果。
26.可选地,所述方法还包括:
27.对各训练样本对进行上采样,确定各上采样训练样本对;
28.将各训练样本对的最终修复结果进行上采样,并将上采样结果中对应于损坏部分的子图像,填充入各上采样训练样本对的损坏图像中,作为各上采样训练样本对的中间修复结果;
29.根据各上采样训练样本对的初始修复结果,以及基于各上采样训练样本对的中间修复结果确定出的纹理特征,确定各上采样训练样本对的最终修复结果;
30.根据各上采样训练样本对的最终修复结果以及对各训练样本对的标注进行上采样的结果,确定损失,调整所述图像修复模型的模型参数。
31.本说明书提供一种图像修复方法,包括:
32.获取损坏图像及其掩膜;
33.将所述损坏图像及其掩膜作为输入,输入预先训练好的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果;
34.根据所述掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果;
35.将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定最终修复结果。
36.本说明书提供一种图像修复模型的训练装置,包括:
37.样本确定模块,用于根据获取到的各原始图像和各掩膜,确定各损坏图像,并根据
各损坏图像及其对应的掩膜,确定各训练样本对,以及将各损坏图像的原始图像,作为各训练样本对的标注;
38.初始修复模块,用于针对每个训练样本对,将该训练样本对作为输入,输入到待训练的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果;
39.填充模块,用于根据该训练样本对包含的掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果;
40.最终修复模块,用于将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定该训练样本对的最终修复结果;
41.训练模块,用于根据各训练样本对的最终修复结果及其标注,确定损失,调整所述图像修复模型的模型参数。
42.本说明书提供一种图像修复装置,包括:
43.获取模块,用于获取损坏图像及其掩膜;
44.第一确定模块,用于将所述损坏图像及其掩膜作为输入,输入预先训练好的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果;
45.第二确定模块,用于根据所述掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果;
46.修复模块,用于将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定最终修复结果。
47.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型训练以及图像修复模方法。
48.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型训练以及图像修复方法。
49.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
50.在本说明书提供的图像修复模型的训练方法中,通过将各损坏图像及其掩膜,作为各训练样本对输入图像修复模型的处理层,对各损坏图像的损坏部分进行动态采样,确定各初始修复结果,并将由各初始修复结果位于损坏部分的子图像填充入损坏图像得到的各中间修复结果作为输入,输入到该图像修复模型的纹理处理层,提取纹理特征,进而根据该纹理特征和初始修复结果确定最终修复结果,基于各训练样本对的标注和最终修复结果对图像修复模型进行训练。
51.从上述方法中可以看出,本方法中采用动态采样确定训练样本对的初始修复结果,考虑到了损坏部分与未损坏部分的差距,且通过纹理特征的学习,使得训练好的图像修复模型输出的修复结果与原始图像接近,保证了图像修复效果。
附图说明
52.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
53.图1为本说明书中提供的图像修复模型的训练方法的流程示意图;
54.图2为本说明书提供的确定初始修复结果的示意图;
55.图3为本说明书提供的图像修复模型的结构示意图;
56.图4为本说明书提供的图像修复模型的结构示意图;
57.图5为本说明书提供的图像修复模型的结构示意图;
58.图6为本说明书提供的图像修复方法的流程示意图;
59.图7为本说明书提供的图像修复模型的训练装置的示意图;
60.图8为本说明书提供的图像修复装置的示意图;
61.图9为本说明书提供的对应于图1或图6的电子设备示意图。
具体实施方式
62.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
63.目前,在对图像进行修复时,通常采用一般卷积,也就是用损坏图像的损失部分的周围位置的像素与卷积核,确定该损失部分对应的像素,使得确定出的修复结果的纹理信息与原始图像相比存在较大差距。
64.区别于现有技术中直接对损坏图像的损坏部分进行一般卷积,确定修复结果,本说明书提出一种新的图像修复方法,使得可基于对损坏图像的损坏部分进行动态采样确定其对应的修复结果,避免由于损坏部分和未损坏部分的差异导致修复结果较差的情况发生。
65.以下结合附图,详细说明本说明书各实施例提供的技术方案。
66.图1为本说明书中提供的图像修复模型的训练方法的流程示意图,具体包括以下步骤:
67.s100:根据获取到的各原始图像和各掩膜,确定各损坏图像,并根据各损坏图像及其对应的掩膜,确定各训练样本对,以及将各损坏图像的原始图像,作为各训练样本对的标注。
68.一般的,在图像修复领域,可基于损坏图像及其掩膜,通过图像修复模型,对各图像进行修复。
69.通常,图像修复模型是由用于训练模型的服务器,基于训练样本训练得到的。而本说明书提供了一种图像修复模型的训练方法,同样的,可由用于训练模型的服务器执行该训练图像修复模型的过程。
70.训练模型可以分为样本生成阶段以及训练模型阶段,在样本生成阶段可根据模型需要以及训练需要,确定用于训练模型的样本。在本说明书中,该服务器首先可确定用于训
练图像修复模型的训练样本,并且由于通常图像修复模型是基于损坏图像及其对应的掩膜组成的样本对进行训练的,因此,该服务器可首先确定各损坏图像及其对应的掩膜,以确定训练样本。
71.基于此,该服务器可获取若干图像,作为各原始图像,并获取若干掩膜,其中,该掩膜可用于表征损坏图像的损坏部分。
72.然后,该服务器可针对每个掩膜,从各原始图像中,将该掩膜表征的损坏部分在各原始图像中的子图像的内容进行删除,确定各损坏图像。
73.最后,将各损坏图像及其对应的掩膜,作为各训练样本对,并将各损坏图像对应的各原始图像,分别作为各训练样本对的标注。
74.s102:针对每个训练样本对,将该训练样本对作为输入,输入到待训练的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果。
75.在本说明书提供的一个或多个实施例中,如前所述的,本说明书中可对损坏图像的损坏部分进行动态采样,确定修复结果。基于此,该服务器可将步骤s100中确定出的训练样本输入到图像修复模型中,进行动态采样,确定其对应的初始修复结果。
76.具体,该服务器可获取步骤s100中确定出的各训练样本对。
77.然后,将该训练样本对作为输入,输入到待训练的图像修复模型的处理层,对该损坏图像的损坏部分进行动态采样。
78.最后,该服务器可将该动态采样结果,作为该处理层输出的初始修复结果。如图2所示。
79.图2为本说明书提供的确定初始修复结果的示意图。a为损坏图像,b为损坏图像的损坏部分的右上角位置,c为本次动态采样时,卷积核中各位置的偏移量,d为卷积核中的各位置在损坏图像中对应的采样点,e为基于各采样点以及卷积核确定出的该损坏部分对应的像素值,并将该像素值填充至该损坏图像中,则基于损坏图像中的损坏部分的动态采样结果,可确定该损坏图像对应的初始修复结果。d中的采样点的实际大小与损坏部分的位置相同,为了便于显示,因此,在d中将各采样点的位置进行了缩小。其中,在进行动态采样时,损坏部分的位置的像素值可通过公式确定,其中,p0为损坏位置,r为卷积核,则p
n
为卷积核中的元素,δp
n
为卷积核中各元素对应的偏移量。
80.另外,对于损坏图像来说,在对不同尺寸的损坏部分进行补全时,其所需要的信息量与该损坏部分的尺寸相关。因此,对于不同尺寸的损坏部分,可设置不同尺寸的采样规格,即,卷积核。
81.具体的,该服务器可根据该损坏图像的掩膜,确定各损坏部分及其对应的尺寸,并根据各损坏部分对应的尺寸与采样规格之间的关系,确定各损坏部分对应的采样规格。则在确定损坏图像对应的初始修复结果时,该服务器可针对该损坏图像中的每个损坏部分的每个位置,根据该位置所述的损坏部分的采样规格,对该位置周围的未损坏部分进行动态采样,确定该位置对应的像素值。于是,基于各损坏图像以及各损失部分的各位置的像素值,可确定该初始修复结果。
82.进一步的,对于同一损失部分的同一位置,进行不同采样规格的动态采样,其对应
的信息量不同,因此,在进行动态采样时,还可根据该损坏图像及其对应的掩膜,确定该损坏图像中的各损失部分中的各位置对应于各采样规格的概率,并对针对于该损坏图像中的每个损坏部分的每个位置,根据该位置所述的损坏部分的采样规格,对该位置周围的未损坏部分进行不同采样规格的动态采样,确定该位置对应预不同采样规格的采样结果,并将各采样结果及其对应的概率进行加权平均,确定该位置对应的像素值。
83.当然,上述进行动态采样的位置,以及各位置对应于各采样规格的概率,可为该图像修复模型的处理层调整的参数。
84.更进一步的,在本说明书中,对损坏图像的损坏部分进行动态采样,实际上是针对损坏部分的每个位置,根据该位置周围的位于未损坏部分的位置的像素进行采样,确定该位置对应的像素值。
85.为了保证在确定初始修复结果时,是对位于未损坏部分的图像进行采样的。在对损坏图像进行采样时,通常也会对掩膜进行采样。以掩膜中的损失部分为1,未损失部分为0为例,若在进行动态采样时,损失部分的每个位置都是基于未损失部分的像素确定的,则掩膜的采样结果中,应该全为0,而若并非每个位置都是基于未损失部分的像素确定的,则掩膜的采样结果中,并非全0。因此,可通过掩膜的采样结果,判断是否各位置的像素是否都是基于未损失部分的像素确定的。其中,掩膜的采样结果可表示为为其中,与对损失图像进行采样时类似,p0为损坏位置,r为卷积核,则p
n
为卷积核中的元素,δp
n
为卷积核中各元素对应的偏移量。但p0为掩膜中的损坏位置。则在进行动态采样时,可限制该掩膜的动态采样结果最小为损失,并根据该损失调整参数。
86.需要说明的是,该处理层输出的初始修复图像,为根据损坏图像和损失部分的各位置的动态采样结果,进行平滑后得到的图像,也就是说,该初始修复图像的未损坏部分的纹理信息与损坏部分的纹理信息存在差距。
87.s104:根据该训练样本对包含的掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果。
88.在本说明书提供的一个或多个实施例中,在确定出各训练样本对的初始修复图像后,可基于该初始修复图像,对纹理特征进行学习并提取,而如前所述的,由于初始修复图像的未损坏部分的纹理信息与损坏部分的纹理信息存在差距,而在进行纹理特征的提取时,显然损坏图像的纹理信息更加真实,因此,该服务器可根据初始修复结果和损坏图像,确定中间修复结果。
89.具体的,该服务器可针对每个训练样本对,根据该训练样本对中的掩膜,确定该训练样本对的初始修复结果中的损失部分的子图像。然后,将该子图像作为填充,填充到该训练样本对的该损坏图像中,将填充结果作为该训练样本对的中间修复结果。
90.s106:将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定该训练样本对的最终修复结果。
91.在本说明书提供的一个或多个实施例中,在确定出中间修复结果后,该可基于该中间修复结果,确定纹理特征,并基于纹理特征,确定该训连样本对的最终修复结果。
92.具体的,该服务器可首先将该中间修复结果作为输入,输入到该图像修复模型的纹理处理层,对该中间修复结果进行特征提取,确定该中间修复结果的纹理特征。
93.然后,该服务器可将该纹理特征和初始修复结果对应的特征进行融合,确定该训练样本对的融合特征。
94.最后,根据该融合特征,确定该训练样本对对应的最终修复结果。如图3所示。
95.图3为本说明书提供的图像修复模型的结构示意图,该服务器可首先可将训练样本对的损坏图像及其掩膜作为输入,输入到该图像修复模型的处理层,确定该训练样本对的初始修复图像,然后根据该初始修复图像和损坏图像,确定该训练样本对的中间修复结果,最后可将该中间修复结果输入到该图像修复模型的纹理处理层,对该中间修复结果进行特征提取,根据提取出的纹理特征刚和初始修复结果,确定该训练样本对的最终修复结果。
96.另外,在根据纹理特征和初始修复结果确定最终修复结果时,还可为将该初始修复结果中的纹理特征进行提取并删除,并确定出的中间修复结果对应的纹理特征填充到该初始修复结果中,确定最终修复结果。
97.s108:根据各训练样本对的最终修复结果及其标注,确定损失,调整所述图像修复模型的模型参数。
98.在本说明书提供的一个或多个实施例中,在确定出各训练样本对的最终修复结果后,可基于各训练样本对的最终修复结果及其标注,确定损失,调整该图像修复模型的模型参数。
99.进一步的,在对模型参数进行调整时,该服务器还可基于各训练样本的采样损失,确定总损失。具体的,对于步骤s102中的动态采样这一步骤,通常可以掩膜的采样结果最小,确定采样损失,则该服务器可通过采样损失和各训练样本对的最终修复结果及其标注,确定总损失,并根据总损失调整该图像修复模型的模型参数。
100.更进一步的,由于采样损失的目的是为了让采样结果尽可能小,因此,该服务器还可用原有掩膜和采样结果确定采样损失,通常为可用原有掩膜和采样结果确定采样损失,通常为其中,m是动态采样的采样规格的数目,通常为认为预设的,m^为对掩膜进行采样的结果,m为掩膜,为像素对应相乘,于是,l
s
为采样损失。
101.另外,在本说明书中,还可基于对抗损失确定总损失。具体的,可将gia图像修复模型看做生成器,并引入鉴别器,来训练该图像修复模型。其中,生成器的对抗损失为l
adv
=e
z,x~p(z,x)
[relu(1

d(g(z)
×
m z))],x为原始图像,z为损坏图像,m为掩膜,通常掩膜中1为损坏部分,0为未损坏部分,g(.)表示生成器。则该服务器可基于对抗损失,采样损失与训练样本对的修复结果和标注确定出的损失,确定总损失。
[0102]
基于图1的图像修复模型的训练方法,通过将各损坏图像及其掩膜,作为各训练样本对,将各训练样本对输入该图像修复模型的处理层,对各损坏图像的损坏部分进行动态采样,确定各训练样本对的初始修复结果,并将由各初始修复结果位于损坏部分的子图像填充入损坏图像得到的各中间修复结果作为输入,输入到该图像修复模型的纹理处理层,提取纹理特征,进而根据该纹理特征和初始修复结果确定最终修复结果,进而基于各训练样本对的标注和最终修复结果对图像修复模型进行训练。本方法中采用动态采样确定训练
样本对的初始修复结果,考虑到了损坏部分与未损坏部分的差距,且通过纹理特征的学习,使得训练得到的图像修复模型输出的修复结果的纹理信息与原始图像相比更为接近,保证了图像修复效果。
[0103]
另外,用同样规格的采样规格进行采样,分辨率低的图像能够获取到的信息量更多,因此,在对该修复模型进行训练时,可预设有不同规格的处理层和纹理处理层。并在进行修复时,首先根据预设的不同规格的处理层和纹理处理层,对各训练样本对进行下采样,确定下采样训练样本对,将下采样训练样本对作为输入,输入到该图像修复模型的处理层,确定该处理层输出的下采样训练样本对的初始修复结果,并将该初始修复结果进行上采样,作为该训练样本对的初始修复结果,继而基于该初始修复结果确定中间修复结果。基于训练样本对,确定训练样本对的初始修复结果,并根据该初始修复结果和纹理特征,确定该训练样本对的修复结果。如图4所示。
[0104]
图4为本说明书提供的图像修复模型的结构示意图,则该服务器可首先对该训练样本对进行下采样,确定下采样训练样本对,并根据该图像修复模型的下采样处理层,确定该下采样训练样本对的初始修复结果。在将该初始修复结果进行上采样,与训练样本对中的损坏图像,确定该训练样本对的中间修复结果,并将该中间修复结果作为输入,输入到该图像修复模型的纹理处理层,得到纹理特征,与根据该训练样本得到的初始修复结果,一起确定最终修复结果。然后,该服务器可基于下采样训练样本对的初始结果,和训练样本对的标注进行下采样的结果,确定第一损失,以及根据最终修复结果和训练样本的标注,确定第二损失,根据第一损失和第二损失确定总损失,根据总损失对该图像修复模型的模型参数进行调整。
[0105]
当然,还可为由服务器对各训练样本对进行上采样,确定各上采样训练样本对,并将各训练样本对的最终修复结果进行上采样,将上采样结果中对应于损坏部分的子图像,填充入上采样训练样本对的损坏图像中,作为上采样训练样本对的中间修复结果,进而根据各上采样训练样本对的初始修复结果,以及基于各上采样训练样本对的中间修复结果确定出的纹理特征,确定各上采样训练样本对的最终修复结果。则该服务器可根据各上采样训练样本对的最终修复结果以及对各训练样本对的标注进行上采样的结果,确定损失,调整该图像修复模型的模型参数。如图5所示。
[0106]
图5为本说明书提供的图像修复模型的结构示意图,则该服务器可首先确定第三训练样本对,然后对该第三训练样本对进行下采样,确定第二训练样本对,并对第二训练样本对进行下采样,确定第三训练样本对,将该第三训练样本对的初始修复结果进行上采样,与第二训练样本对中的损坏图像,确定该第二训练样本对的中间修复结果,并将该中间修复结果作为输入,输入到该图像修复模型的纹理处理层,得到纹理特征,与根据该第二训练样本得到的初始修复结果,一起确定最终修复结果。以及将该最终修复结果进行上采样,与第三训练样本对中的损坏图像,确定该第三训练样本对的中间修复结果,并将该中间修复结果作为输入,输入到该图像修复模型的纹理处理层,得到纹理特征,与根据该第三训练样本得到的初始修复结果,确定第三训练样本的最终修复结果。然后,该服务器可基于第一训练样本对的初始修复结果,以及第三训练样本对的标注进行两次下采样的结果,确定第一损失,根据第二训练样本对的最终修复结果和第三训练样本对的标注进行一次下采样的标注,确定第二损失,以及根据第三训练样本对的最终修复结果及其标注,确定第三损失,根
据第一损失、第二损失和第三损失确定总损失,根据总损失对该图像修复模型的模型参数进行调整。当然,还可仅用第三损失作为总损失,调整模型参数。
[0107]
需要说明的是,上述下采样的规格可根据需要进行设置,也就是说,还可预设更小或者更大规格的处理层和图像处理层,以完成对损坏图像的修复。具体的上采样的规格以及上采样的次数可根据需要进行设置,本说明书对此不做限制。
[0108]
基于图1所示的图像修复模型的训练方法,本说明书还提供一种图像修复方法,如图6所示。
[0109]
图6为本说明书提供的图像修复方法的流程示意图,包括:
[0110]
s200:获取损坏图像及其掩膜。
[0111]
在本说明书提供的一个或多个实施例中,该图像修复方法应用于基于各损坏图像及其掩膜对各损坏图像进行修复的场景中,因此,服务器可获取损坏图像及其掩膜。
[0112]
s202:将所述损坏图像及其掩膜作为输入,输入预先训练好的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果。
[0113]
s204:根据所述掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果。
[0114]
s206:将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定最终修复结果。
[0115]
在本说明书提供的一个或多个实施例中,上述s202~s204的步骤,具体可参考步骤s102~s106中的步骤。本说明书对此不再赘述。
[0116]
以上为本说明书的一个或多个实施例提供的图像修复模型的训练方法和图像修复方法,基于同样的思路,本说明书还提供了相应的图像修复模型的训练装置和图像修复装置,如图7或8所示。
[0117]
图7为本说明书提供的图像修复模型的训练装置,包括:
[0118]
样本确定模块300,用于根据获取到的各原始图像和各掩膜,确定各损坏图像,并根据各损坏图像及其对应的掩膜,确定各训练样本对,以及将各损坏图像的原始图像,作为各训练样本对的标注。
[0119]
初始修复模块302,用于针对每个训练样本对,将该训练样本对作为输入,输入到待训练的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果。
[0120]
填充模块304,用于根据该训练样本对包含的掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果。
[0121]
最终修复模块306,用于将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定该训练样本对的最终修复结果。
[0122]
训练模块308,用于根据各训练样本对的最终修复结果及其标注,确定损失,调整所述图像修复模型的模型参数。
[0123]
可选地,初始修复模块302,用于针对每个训练样本对,对该训练样本对进行下采样,确定下采样训练样本对,并将所述下采样训练样本对作为输入,输入到所述图像修复模
型的下采样处理层,确定所述下采样训练样本对的初始修复结果,将所述下采样训练样本对的初始修复结果进行上采样,得到该训练样本对的初始修复结果。
[0124]
可选地,所述初始修复模块302,用于根据所述损坏图像的掩膜,确定各损坏部分及其尺寸,根据各损坏部分的尺寸,确定各损坏部分对应的采样规格,针对所述损坏图像的每个损坏部分的每个位置,根据该位置所属的损坏部分的采样规格,对该位置周围的未损坏部分进行动态采样,确定该位置对应的像素值,根据所述损坏图像及其损坏部分的各位置对应的像素值,确定初始修复结果。
[0125]
可选地,所述初始修复模块302,用于根据所述损坏图像的掩膜,确定各损失部分的各位置对应于各采样规格的概率,针对所述损坏图像的每个损坏部分的每个位置,根据各采样规格,分别对该位置周围的未损坏部分的图像进行动态采样,确定各采样规格对应的采样结果,以及根据各采样规格的概率,对各采样结果进行加权平均,确定该位置对应的像素值,根据所述损坏图像及其损坏部分的各位置对应的像素值,确定初始修复结果。
[0126]
可选地,所述训练模块308,用于对各训练样本对进行上采样,确定各上采样训练样本对,将各训练样本对的最终修复结果进行上采样,并将上采样结果中对应于损坏部分的子图像,填充入各上采样训练样本对的损坏图像中,作为各上采样训练样本对的中间修复结果,根据各上采样训练样本对的初始修复结果,以及基于各上采样训练样本对的中间修复结果确定出的纹理特征,确定各上采样训练样本对的最终修复结果,根据各上采样训练样本对的最终修复结果以及对各训练样本对的标注进行上采样的结果,确定损失,调整所述图像修复模型的模型参数。
[0127]
图8为本说明书提供的图像修复装置,包括:
[0128]
获取模块400,用于获取损坏图像及其掩膜。
[0129]
第一确定模块402,用于将所述损坏图像及其掩膜作为输入,输入预先训练好的图像修复模型的处理层,对所述损坏图像的损坏部分进行动态采样,确定所述处理层输出的初始修复结果。
[0130]
第二确定模块404,用于根据所述掩膜,将所述初始修复结果对应于损坏部分的子图像填充入所述损坏图像,作为中间修复结果。
[0131]
修复模块406,用于将所述中间修复结果作为输入,输入到所述图像修复模型的纹理处理层,确定所述中间修复结果的纹理特征,以及根据所述纹理特征和所述初始修复结果,确定最终修复结果。
[0132]
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的图像修复模型的训练方法。
[0133]
本说明书还提供了图9所示的电子设备的示意结构图。如图9所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的图像修复模型的训练方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0134]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然
而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very

high

speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0135]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0136]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0137]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0138]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产
品的形式。
[0139]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0140]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0141]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0142]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0143]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0144]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0145]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0146]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0147]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程
序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0148]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0149]
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献