图像处理方法及装置、计算机可读存储介质、电子设备
技术领域
本公开涉及计算机领域,特别涉及一种图像处理方法、图像处理装置、计算机可读存储介质及电子设备。
背景技术
近年来,随着人工智能的兴起,深度学习受到了广泛的关注。目前,机器学习的模型大致分为生成模型(Generative Model)和判别模型(Discriminative Model)两类。其中,判别模型需要输入变量x,通过判别模型通过求解条件概率分布p(y|x)预测输出变量y;生成模型是给定某种隐含信息,来随机产生观测数据。
生成对抗网络是一种生成模型,包含生成器网络(Generator Network)和判别器网络(Discriminator Network),生成器网络和判别器网络相互竞争,直至达到平衡。循环生成对抗网络则是对生成对抗网络的改进,将输入图像通过生成器G再通过生成器F得到的图像与输入图像对比,使得差距最小。由于现有技术中图像局部特征转移效果较差,在实现局部特征转移的同时,图像整体也发生了变化;并且在模型训练过程中容易出现过拟合,鲁棒性较差。
鉴于此,本领域亟需开发一种新的图像处理方法及装置。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开的目的在于提供一种图像处理方法、图像处理装置、计算机可读存储介质及电子设备,进而至少在一定程度上优化实现图像局部特征转移,并在模型训练过程中抑制过拟合,优化鲁棒性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种图像处理方法,其特征在于,包括:
构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像,所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像;
根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数;
根据所述图像改变损失函数构建一损失函数;
训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值;
采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
在本公开的示例性实施例中,根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数,包括:
计算所述第一图像和所述第一原始图像之间的第一差值,并计算所述第一差值的二范数,以得到第一损失部;
计算所述第二图像和所述第二原始图像之间的第二差值,并计算所述第二差值的二范数,以得到第二损失部;
根据所述第一损失部和所述第二损失部,生成所述图像改变损失函数。
在本公开的示例性实施例中,根据所述第一损失部和所述第二损失部,生成所述图像改变损失函数,包括:
计算所述第一损失部与所述第二损失部的和值,并将所述和值作为所述图像改变损失函数。
在本公开的示例性实施例中,所述损失函数包括第一生成对抗损失函数、第二生成对抗损失函数、循环一致损失函数和所述图像变化损失函数,对应的计算公式为:
L=LGAN(GA2B,DB,A,B)+LGAN(GB2A,DA,A,B)+λLCYC(GA2B,GB2A,A,B)+Loss
其中GA2B为所述第一生成器,GB2A为所述第二生成器,DA为对所述第二图像进行判别的判别器,DB为对所述第一图像进行判别的判别器,A为所述第一原始图像,B为所述第二原始图像,λ为系数,LGAN(GA2B,DB,A,B)为所述第一生成对抗损失函数,LGAN(GB2A,DA,A,B)为所述第二生成对抗损失函数,LCYC(GA2B,GB2A,A,B)为所述循环一致损失函数,Loss为所述图像变化损失函数。
在本公开的示例性实施例中,所述方法还包括:
对所述第一生成对抗网络模型和所述第二生成对抗网络模型中的判别器损失函数进行优化。
在本公开的示例性实施例中,对判别器损失函数进行优化,包括:
对所述判别器损失函数中的梯度惩罚项进行优化。
在本公开的示例性实施例中,对所述判别器损失函数中的梯度惩罚项进行优化,包括:
在原始图像对应的真实数据分布与生成图像对应的生成数据分布之间选取第一插值项和第二插值项;
根据所述第一插值项和所述第二插值项获取第一判别器梯度、第二判别器梯度;
根据所述第一判别器梯度和所述第二判别器梯度获取一差分项;
根据所述第一判别器梯度、所述第二判别器梯度和所述差分项获取所述梯度惩罚项。
在本公开的示例性实施例中,根据所述第一判别器梯度、所述第二判别器梯度和所述差分项获取所述梯度惩罚项,包括:
根据所述第一判别器梯度、所述第二判别器梯度、所述差分项分别获取第一均方误差损失、第二均方误差损失和第三均方误差损失;
根据所述第一均方误差损失、第二均方误差损失和第三均方误差损失获取所述梯度惩罚项。
在本公开的示例性实施例中,根据所述第一均方误差损失、第二均方误差损失和第三均方误差损失获取所述梯度惩罚项,包括:
计算所述第一均方误差损失、所述第二均方误差损失和所述第三均方误差损失的和值,并将所述和值作为所述梯度惩罚项;
在本公开的示例性实施例中,所述判别器损失函数包括初始损失项和所述梯度惩罚项;所述判别器损失函数对应的计算公式为:
其中,x为所述生成数据分布,x为所述真实数据分布,Lgp为所述梯度惩罚项,为所述初始损失项。
根据本公开的第二方面,提供一种图像处理装置,其特征在于,包括:
模型构建模块,用于构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像;所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像;
图像改变损失函数构建模块,用于根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数;
损失函数构建模块,用于根据所述图像改变损失函数构建一损失函数;
模型训练模块,用于训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值;
图像处理模块,采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的图像处理方法。
根据本公开的的第四方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的图像处理方法。
由上述技术方案可知,本公开示例性实施例中的图像处理方法、图像处理装置、计算机可读存储介质及电子设备至少具备以下优点和积极效果:
本公开中的图像处理方法包括相关联的第一生成对抗网络模型和第二生成对抗网络模型,根据第一原始图像、第一生成对抗网络模型根据第一原始图像生成的第一图像、第二原始图像、第二生成对抗网络模型根据第二原始图像生成的第二图像构建图像改变损失函数,并根据图像改变损失函数构建损失函数,训练第一生成对抗网络模型和第二生成对抗网络模型以最小化损失函数,并采用训练后的第一生成对抗网络模型和第二生成对抗网络模型转移图像局部特征。通过本公开中的图像局部特征转移方法一方面能够抑制图像改变,提高图像局部特征转移的效果,另一方面通过对损失函数进行改进能够抑制模型训练中出现过拟合,提高鲁棒性。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出相关技术中采用循环生成对抗网络模型处理的图像;
图2示出相关技术中循环生成对抗网络模型的工作流程图;
图3示出本公开示例性实施例中图像处理方法的流程示意图;
图4示出相关技术中采用图像处理方法去除眼镜的对比图片;
图5示出本公开示例性实施例中采用图像处理方法去除眼镜的对比图片;
图6示出本公开示例性实施例中损失函数与数据分布的关系图;
图7示出本公开示例性实施例中优化梯度惩罚项的流程图;
图8示出本公开示例性实施例中图像处理装置的结构示意图;
图9示出本公开示例性实施例中计算机可读存储介质的结构示意图;
图10示出本公开示例性实施例中电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
在本领域的相关技术中,通常采用循环生成对抗网络模型(CycleGAN)实现图像风格转换,打破了常规图像风格转移模型需要包含成对图片训练集的限制。
图1示出了一种采用CycleGAN处理局部特征的图片,如图1所示,CycleGAN在处理图片的局部特征时,改变了图片整体的效果,而理想的处理效果应该是仅将普通马转变为斑马,而图片的背景不发生改变。因此采用现有的CycleGAN模型处理的图片的局部特征转移效果较差。
图2示出了相关技术中CycleGAN模型的工作流程图,如图2所示,CyCleGAN模型包含两个GAN模型M-1、M-2,模型M-1与模型M-2的结构相同,均包含两个生成器GA2B、GB2A和两个判别器DA、DB,其中生成器GA2B用于将输入图像A(普通马)转变为图像B(假斑马),生成器GB2A用于将输入图像B(斑马)转变为图像A(假普通马);判别器DA用于对输入图像A(普通马)和图像G(A)(假普通马)的真伪进行判别,判别器DB用于对输入图像B(斑马)和图像G(B)(假斑马)的真伪进行判别,判别器DA、DB输出的值为0或1。
接下来对CycleGAN模型的工作流程进行说明。在模型M-1中,输入一张普通马图片A,判别器DA判断其是否为真普通马,并输出相应的值(0为非普通马,1为普通马);生成器GA2B接收图片A,并将普通马图片A转变为假斑马图片G(B);判别器DB作用于假斑马图片G(B),判断图片是否为真斑马(0为假斑马,1为真斑马);生成器GB2A接收假斑马图片G(B),并将假斑马图片G(B)转变为假普通马图片C(A)。在模型M-2中,输入一张斑马图片B,判别器DB判断其是否为真斑马,并输出相应的值(0为假斑马,1为真斑马);生成器GB2A接收图片B,并将斑马图片B转变为假普通马图片G(A);判别器DA作用于假普通马图片G(A),判断图片是否为真普通马(0为假普通马,1为真普通马);生成器GA2B接收假普通马图片G(A),并将假普通马图片G(A)转变为假斑马图片C(B)。
在CycleGAN模型的训练过程中,主要是对判别器DA、DB和生成器GA2B、GB2A进行训练。训练判别器DA、DB使得在模型M-1中DA(A)趋于1,DB(G(B))趋于0;在模型M-2中DB(B)趋于1,DA(G(A))趋于0。训练生成器GA2B、GB2A使得在模型M-1中DB(G(B))趋于1,||A-C(A)||趋于0;在模型M-2中DA(G(A))趋于1,||B-C(B)||趋于0。也就是说,判别器必须允许所有相应类别的原始图像,即对应输出置1;拒绝所有想要愚弄过关的生成图像,即对应输出置0;生成器必须使判别器允许通过所有的生成图像,来实现愚弄操作;生成的图像必须保留有原始图像的特性,如果我们使用生成器GA2B生成一张假图像,那么要能够使用另一个生成器GB2A来努力恢复成原始图像,使得此过程满足循环一致性,进而使得CycleGAN模型的损失最小。但是在相关技术中输入的原始图片(普通马图片A、斑马图片B等训练样本)与最终由生成对抗网络模型转变的图片存在较大的差别,使得图像局部特征转移的效果较差。
针对相关技术中存在的问题,本公开首先提供了一种图像处理方法,图3示出了图像处理方法的流程图,如图3所示,具体流程如下:
S310:构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像,所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像;
S320:根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数;
S330:根据所述图像改变损失函数构建一损失函数;
S340:训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值;
S350:采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
接下来,对本公开中图像局部特征转移方法中的各步骤进行详细说明。
在步骤S310中,构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像,所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像。
在本公开的示例性实施例中,可以构建第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2,并且第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2相互关联,如GAN-1和GAN-2可以共同形成一循环生成对抗网络。第一生成对抗网络模型GAN-1中包含第一生成器G1,当从训练样本中选取一个或多个图像作为第一原始图像输入到第一生成对抗网络模型GAN-1中时,第一生成器G1能够通过对第一原始图像进行卷积操作提取第一原始图像中的图像特征,并将提取的图像特征与噪音特征组合生成第一图像,例如将普通马图像转变为斑马图像;相应地,第二生成对抗网络模型GAN-2中包含第二生成器G2,当从训练样本中选取一个或多个图像作为第二原始图像输入到第二生成对抗网络模型GAN-2中时,第二生成器G2能够将第二原始图像转变为第二图像,例如将斑马转变为普通马。
在本公开的示例性实施例中,第一原始图像和第二原始图像的局部特征可以相似,以便于对图像的风格进行转化或属性迁移,例如第一原始图像是普通马,第二原始图像是斑马;第一原始图像是橘子,第二原始图像是苹果;第一原始图像是戴眼镜的人像,第二原始图像是不戴眼镜的人像,等等。
在步骤S320中,根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数。
损失函数是评价图像处理模型优劣的一个标准,损失函数的值越大,图像处理模型的表现就越差,因此为了提高图像局部特征转移的效果,就需要训练图像处理模型以获得最小损失函数。
在本公开的示例性实施例中,可以根据第一原始图像、第一图像、第二原始图像、第二图像所对应的图像数据构建一图像改变损失函数Loss,该图像改变损失函数Loss用于表征生成器转变的图片与原始图片的差别。
由于本公开中包含第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2,因此图像改变损失函数Loss包括分别与第一生成对抗网络模型GAN-1对应的第一损失部和与第二生成对抗网络模型GAN-2对应的第二损失部,其中第一损失部通过计算第一图像和第一原始图像之间的第一差值,并对第一差值求取二范数获得,用于表征第一生成器G1生成的第一图像G(A)与第一原始图像A的差别;第二损失部通过计算第二图像和第二原始图像之间的第二差值,并对第二差值求取二范数获得,用于表征第二生成器G2生成的第二图像G(B)与第二原始图像B的差别;最后将第一损失部和第二损失部相加即可获得图像改变损失函数。图像改变损失函数Loss对应的计算公式如式(1)所示:
Loss=||G(A)-A||2+||G(B)-B||2 (1)
其中G(A)为第一图像,A为第一原始图像,G(B)为第二图像,B为第二原始图像。
在步骤S330中,根据所述图像改变损失函数构建一损失函数。
在本公开的示例性实施例中,在训练模型的过程中,第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2中的判别器在图像处理过程中存在损失,并且第一原始图像A和第二原始图像B在经过生成器G1、G2转换生成图像C(A)和C(B)的循环过程中也存在损失,因此所构建的损失函数包括第一生成对抗损失函数、第二生成对抗损失函数、循环一致损失函数和图像变化损失函数,对应的计算公式如式(2)所示:
L=LGAN(G1,DB,A,B)+LGAN(G2,DA,A,B)+λLCYC(G1,G2,A,B)+Loss (2)
其中,G1为第一生成器,G2为第二生成器,DA为对第二图像进行判别的判别器,DB为对第一图像进行判别的判别器,A为第一原始图像,B为第二原始图像,λ为系数,LGAN(G1,DB,A,B)为第一生成对抗损失函数,LGAN(G2,DA,A,B)为第二生成对抗损失函数,LCYC(G1,G2,A,B)为循环一致损失函数,Loss为图像变化损失函数。
在步骤S340中,训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值。
在本公开的示例性实施例中,构建完损失函数后,可以根据损失函数对第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2进行多次重复训练,以获得最小损失函数,也就是说使第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2达到稳定,进而能够在对图像进行局部特征转移时不引起图像整体效果的改变。
在步骤S350中,采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
在本公开的示例性实施例中,当对第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2完成训练后,可以输入新的图像以对其局部特征进行转移,同时图像的其它部分不发生变化。图4示出了采用现有的图像处理方法去除眼镜的对比图片,图5示出了采用本公开中的图像处理方法去除眼镜的对比图片,如图4-5所示,采用现有的图像局部特征转移方法,并不能完全去除眼镜,还能清晰地看见眼镜的边框,而且脸部皮肤的颜色也发生了变化;而采用本公开中的图像处理方法,能够较大程度地去除眼镜,并且脸部皮肤的颜色几乎没有变化。
在本公开的示例性实施例中,还可以对第一生成对抗网络模型GAN-1和第二生成对抗网络模型GAN-2中的判别器损失函数进行优化,以抑制模型训练过程中出现过拟合,降低鲁棒性。
循环生成对抗网络模型的训练通常是基于最小二乘距离(LSGAN)进行的,在对判别器和生成器进行训练时,判别器和生成器对应的最小二乘损失所对应的计算公式如式(3)和式(4)所示:
其中,x表示原始图像对应的真实数据分布,D(x)表示判别器判断x为真的概率,z表示随机数据(一般采取高斯随机噪音),G(z)表示生成器生成假图像z对应的数据分布,E表示期望值。
通常,当b=1时表示数据为真实的数据,a=0时表示数据为伪造的数据,c=1时表示想欺骗判别器D。基于最小二乘距离的循环生成对抗网络模型收敛较快,但是不稳定,在训练过程中迭代过多容易出现过拟合。
为了对LSGAN进行改进,人们研发了基于WGAN-gp的CycleGAN模型,其采用了Lipschitz限制手法对判别器的损失进行限制,对应的损失函数计算公式如式(5)所示:
其中:x代表生成图像对应的假数据分布,x代表真实图像对应的真实分布,x代表插值项(x=εx+(1-ε)x),λ为超参数,E为期望。
WGAN-gp使用了梯度惩罚项代替权重剪枝来实现1-Lipschitz连续,但是由于梯度惩罚项只是取了整个空间中的一点来限制达到1-Lipschitz连续,这种情况下很有可能有不连续的情况,如图6所示,其中Pr和Pg分别代表原始图像对应的真实分布空间和生成图像对应的生成分布空间。
在本公开的示例性实施例中,为了提高1-Lipschitz的连续性,可以对判别器损失函数中的梯度惩罚项进行优化。如果判别器损失函数在Kantorovich-Rubinstein dual D*上是可导的,x是生成分布空间Pg的一点,那么一定存在一点y是真实分布空间Pr的一点,对于所有的x和y中间的点xt=(1-t)x+ty,满足具体地推导过程如下:
令Pr和Pg是紧致度量空间中的两个分布,那么存在一个1-Lipschitz函数f*,并且它的最优解如式(6)所示:
令π是Pr和Pg分布的最优耦合(optimal coupling),定义如式(7)所示的极小化形式:
其中П(Pr,Pg)是边界为Pr和Pg的联合分布π(x,y)的集合,假如f*是可微的,并且π(x=y)=0,xt=(1-t)x+ty,0≤t≤1,那么
值得注意的是,虽然无法准确选取最优耦合上的点,但是可以通过强制约束的方法加速收敛。
在本公开的示例性实施例中,图7示出了优化梯度惩罚项的流程示意图,如图7所示,具体流程如下:
S701:在原始图像对应的真实数据分布与生成图像对应的生成数据分布之间选取第一插值项和第二插值项;
S702:根据所述第一插值项和所述第二插值项获取第一判别器梯度、第二判别器梯度;
S703:根据所述第一判别器梯度和所述第二判别器梯度获取一差分项;
S704:根据所述第一判别器梯度、所述第二判别器梯度和所述差分项获取所述梯度惩罚项。
在本公开的示例性实施例中,在获取第一判别器梯度、第二判别器梯度和差分项后,可以根据第一判别器梯度、第二判别器梯度、差分项分别获取第一均方误差损失、第二均方误差损失和第三均方误差损失;再根据第一均方误差损失、第二均方误差损失和第三均方误差损失获取梯度惩罚项。梯度惩罚项对应的计算公式如式(9)所示:
其中,x1为第一插值项,x2为第二插值项,▽D(x1)为第一判别器梯度,▽D(x2)为第二判别器梯度,为差分项,λ1、λ2、λ3为参数,为第一均方误差损失,为第二均方误差损失,为第三均方误差损失。
根据公式(5)可知,判别器损失函数包含初始损失项和梯度惩罚项,因此改进后的判别器损失函数对应的计算公式如式(10)所示:
其中,x为生成数据分布,x为真实数据分布,Lgp为梯度惩罚项,为初始损失项。
在本公开的示例性实施例中,改进的判别器损失函数中采用了两次插值和一次差分,使得lipschitz限制更强,在模型训练的过程中能够加速收敛,抑制过拟合。
本公开还提供了一种图像处理装置,图8示出了图像处理装置的结构示意图,如图8所示,图像处理装置800可以包括模型构建模块801、图像改变损失函数构建模块802、损失函数构建模块803、训练模块804和图像处理模块805。其中:
模型构建模块801,用于构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像;所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像;
图像改变损失函数构建模块802,用于根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数;
损失函数构建模块803,用于根据所述图像改变损失函数构建一损失函数;
模型训练模块804,用于训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值;
图像处理模块805,用于采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
上述图像处理装置中各模块的具体细节已经在对应的图像处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本发明的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图3中所示的步骤S310:构建相关联的第一生成对抗网络模型和第二生成对抗网络模型,所述第一生成对抗网络模型中包含的第一生成器用于根据第一原始图像生成第一图像,所述第二生成对抗网络模型中包含的第二生成器用于根据第二原始图像生成第二图像;步骤S320:根据所述第一原始图像、所述第一图像、所述第二原始图像和所述第二图像构建一图像改变损失函数;步骤S330:根据所述图像改变损失函数构建一损失函数;步骤S340:训练所述第一生成对抗网络模型和所述第二生成对抗网络模型,直至所述损失函数的值达到目标值;步骤S350:采用训练后的所述第一生成对抗网络模型和所述第二生成对抗网络模型进行图像处理。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。