图像复原模型训练方法、装置及图像复原方法和装置与流程

文档序号:16136815发布日期:2018-12-01 01:06阅读:203来源:国知局

本申请涉及图像处理技术领域,具体而言,涉及一种图像复原模型训练方法、装置及图像复原方法和装置。

背景技术

随着人工智能的不断发展,计算机视觉的应用也越来越广泛。例如在产品检测流程越来越多的采用机器视觉检测方案,即利用图像处理方法对产品的图像进行分析,自动输出检测结果;但是在实际操作时,有很多生产厂家为了防伪,会在为产品拍摄的图片中添加水印,造成图像存在水印等像素损失区域。又例如图像在传输或者转码的过程中,可能会导致图存在缺损等像素损失区域,为了提高图像质量,就需要对图像进行处理,对像素损失区域进行补充,提升分辨率。又例如,照片在存储过程中,会由于氧化、脏污等造成的照片色调发生变化、缺损、脏污等情况导致在照片上存在像素损失区域,因此可以针对照片拍摄图像,并在拍摄的图像中进行图像复原。

当前通常采用深度学习的方法对图像进行复原。但是当前的图像复原方法,存在图像复原后与原图差异过大的问题



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种图像复原模型训练方法、装置及图像复原方法和装置,能够减小伪造图像和原始图像之间的差异。

第一方面,本申请实施例提供了一种图像复原模型训练方法,包括:

将具有像素损失区域的待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像;

将所述待处理图像的原始图像以及所述伪造图像输入图像判别神经网络,使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;

基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练;

经过对所述图像生成神经网络、图像判别神经网络的多轮训练,得到图像复原模型。

结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中:在将待处理图像输入图像生成神经网络之前,还包括对待处理图像的预处理操作:

对所述待处理图像进行像素损失区域检测,并对检测到的像素损失区域进行掩码mask提取,得到像素损失区域的掩码图像;

按照预设像素值为所述掩码图像的像素赋值;

将完成赋值的掩码图像的像素矩阵,与所述待处理图像的像素矩阵点乘,得到预处理后的待处理图像。

结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中:按照预设像素值为所述掩码图像的像素赋值,包括:

对所述掩码图像的像素矩阵进行二值化操作。

结合第一方面的第一种或者第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中:在为所述掩码图像的像素赋值之前,还包括:

将所述掩码图像进行形态学的膨胀运算和腐蚀运算。

结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,所述膨胀运算的参数满足第一运算次数;所述腐蚀运算次数满足第二运算次数,且所述第一运算次数大于所述第二运算次数;且相邻两次腐蚀运算之间的膨胀运算的次数不超出预设数量阈值。

结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中:所述图像生成神经网络包括:特征提取层以及特征复原层;

将待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像,包括:

将待处理图像输入所述特征提取层;

使用所述特征提取层对所述待处理图像进行特征学习,并将指定特征提取层提取的中间特征向量保存;

使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全,得到所述待处理图像的伪造图像。

结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中:使用所述特征提取层对所述待处理图像进行特征学习,并将指定特征提取层提取的中间特征向量保存,包括:

使用所述特征提取层对所述待处理图像进行卷积处理,并在指定特征提取层提取中间特征向量并保存;并

获取最后一层特征提取层的第一特征向量;

使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全,得到所述待处理图像的伪造图像,包括:

依次使用所述特征复原层对所述第一特征向量进行反卷积处理;并

将保存的中间特征向量和指定特征恢复层的反卷积的结果叠加;

基于最后一层所述特征恢复层的反卷积结果,生成所述待处理图像的伪造图像。

结合第一方面的第五种或第六种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中:在使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,还包括:

生成所述伪造图像的第一特征矩阵;

基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,包括:

执行如下矩阵比对操作,直到基于比对结果确定的第一损失值在第一损失范围内;

所述矩阵比对操作包括:

将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

针对基于得到的比对结果确定的第一损失值未在所述第一损失范围内的情况,生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整;

基于调整后的参数,使用所述图像生成神经网络为所述伪造图像生成新的第一特征矩阵,并再次执行所述矩阵比对操作。

结合第一方面,本申请实施例提供了第一方面的第八种可能的实施方式,其中:使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;基于分类结果对所述图像判别神经网络进行本轮训练,包括:

执行如下二分类操作,直到基于二分类结果与对应标注值确定的第二损失值在第二损失范围内;其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

所述二分类操作,包括:

使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类;

针对基于二分类结果与对应标注值确定的第二损失值未在所述第二损失范围内的情况,生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作。

结合第一方面的第八种可能的实施方式,本申请实施例提供了第一方面的第九种可能的实施方式,其中:在执行二分类操作之后,还包括:

执行如下比对操作,直到基于所述伪造图像的二分类结果与所述原始图像的标注值确定的第三损失值在第三损失范围内;

所述比对操作,包括:

将所述伪造图像的二分类结果与所述原始图像的标注值进行比对;

针对比对结果表征所述第三损失值未在所述第三损失范围内的情况,生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作。

结合第一方面的第五种或第六种可能的实施方式,本申请实施例提供了第一方面的第十种可能的实施方式,其中:在使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,还包括:

生成所述伪造图像的第一特征矩阵;

基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,包括:

执行如下矩阵比对操作,直到总损失值在总损失范围内;

所述矩阵比对操作包括:

将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

基于得到的比对结果确定第一损失值,并对所述总损失值进行更新;

针对更新的总损失值未在所述总损失范围内的情况,生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整;

基于调整后的参数,使用所述图像生成神经网络为所述伪造图像生成新的第一特征矩阵,并再次执行所述矩阵比对操作;

使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;基于分类结果对所述图像判别神经网络进行本轮训练,包括:

执行如下二分类操作,直到所述总损失值在所述总损失范围内;其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

所述二分类操作,包括:

使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类;

基于二分类结果与对应标注值确定第二损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整;和/或

基于所述伪造图像的二分类结果与所述原始图像的标注值确定第三损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作;

其中,所述总损失值为第一损失值、第二损失值、以及第三损失值的加权运算值。

第二方面,本申请实施例还提供一种图像复原模型训练装置,包括:

生成模块,用于将具有像素损失区域的待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像;

训练模块,用于将所述待处理图像的原始图像以及所述伪造图像输入图像判别神经网络,使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;以及基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练;并经过对所述图像生成神经网络、图像判别神经网络的多轮训练,得到图像复原模型。

第三方面,本申请实施例还提供一种图像复原方法,包括:

获取待复原图像;

将所述待复原图像输入至通过上述第一方面任意一项所述的图像复原模型训练方法得到的图像复原模型中,得到所述待复原图像的目标伪造图像;

其中,所述图像复原模型包括:图像生成神经网络。

第三方面,本申请实施例还提供一种图像复原装置,包括:

获取模块,用于获取待复原图像;

复原模块,用于将所述待复原图像输入至通过上述第一方面任意一项所述的图像复原模型训练方法得到的图像复原模型中,得到所述待复原图像的目标伪造图像;

其中,所述图像复原模型包括:图像生成神经网络。

在本申请实施例中,由于要求图像生成神经网络为待处理图像生成的伪造图像,要尽可能的接近原始图像,图像判别神经网路则要尽量的将原始图像和伪造图像分类正确,因此基于伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练的过程,其实质则是对抗性的对图像生成神经网络和图像判别神经网络进行训练,使得在这种对抗训练的过程中,图像生成神经网络和图像判别神经网络的能力不断得到提升,最终将训练得到的所得到图像生成神经网络作为图像复原模型,实用这种图像复原模型在对图像进行复原时,所得到的伪造图像和原始图像之间的差异更小。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种图像复原模型训练方法的流程图;

图2示出了本申请实施例所提供的图像复原模型训练方法中,得到所述待处理图像的伪造图像的具体方法的流程图;

图3示出了本申请实施例所提供的图像复原模型训练方法中,矩阵比对操作的具体方法的流程图;

图4示出了本申请实施例所提供的图像复原模型训练方法中,二分类操作的具体方法的流程图;

图5示出了本申请实施例所提供的图像复原模型训练方法中,对图像判别神经网络进行训练的方法的具体方法的流程图;

图6示出了本申请实施例所提供的一种图像复原模型训练装置的结构示意图;

图7示出了本申请实施例所提供的计算机设备100的结构示意图;

图8示出了本申请实施例所提供的一种图像复原方法的流程图;

图9示出了本申请实施例所提供的一种图像复原装置的结构示意图;

图10示出了本申请实施例所提供的计算机设备200的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前为存在像素损失区域的图像进行复原时,存在伪造图像与原图像差异过大的问题,基于此,本申请提供的一种图像复原模型训练方法、装置及图像复原方法和装置,可以对存在像素损失区域的图像进行复原,使得复原得到的图像更接近原始图像。

在本申请实施例中,像素损失区域,是指像素值异于原图中对应位置像素值的区域。例如,图像中具有水印、缺损、色调差异、变形等情况的区域,都可以被确定为像素损失区域。

为便于对本实施例进行理解,首先对本申请实施例所公开的一种图像复原模型训练方法进行详细介绍,本方法可以用于对多种类型的像素损失区域的图像的复原。但需要注意的是,一个图像复原模型训练方法,一般只针对同一种类型或者多种类似类型的像素损失区域的图像进行复原。

参见图1所示,本申请实施例提供的图像复原模型训练方法包括:

s101:将具有像素损失区域的待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像。

在具体实现的时候,待处理图像来自对图像复原模型进行训练时所构造的训练数据集。在该训练数据集中,包括有多组训练用图像,每组训练用图像包括一张具有像素损失区域的待处理图像,和与待处理图像对应的原始图像,且原始图像不具有像素损失区域。同时,在该训练数据集中,所有待处理图像上的像素损失区域的类型是相同或者相近的。使用其中一组训练用图像能够完成对图像复原模型的一轮训练。

图像生成神经网络在对待处理图像进行复原时,一般包括两个过程,特征提取以及特征复原。

自然图像有其固有特性,图像中的一部分的统计特征与其他部分的统计特征是相同的,这意味着能够将这一部分学习到的特征用在另一部分上。在对具有像素损失区域的待处理图像进行复原时,就能够使用待处理图像上未存在像素损失的区域的统计特征,重构像素损失区域的统计特征,然后,基于待处理图像上未存在像素损失的区域的统计特征,和为像素损失区域重构的统计特征进行特征复原,进而得到待处理图像的伪造图像。

具体地,为了实现特征提取和特征复原两个过程,图像生成神经网络包括:特征提取层以及特征复原层。其中,特征提取层用于进行特征提取;特征复原层进行特征复原,且特征提取层和特征复原层在通常情况下都有多层。

基于这种图像神经神经网络的结构,参见图2所示,图像生成神经网络可以采用下述方法将待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像:

s201:将待处理图像输入所述特征提取层;

s202:使用所述特征提取层对所述待处理图像进行特征学习,并将指定特征提取层提取的中间特征向量保存。

这里,使用特征提取层对待处理图像进行特征学习,针对待处理图像,每一层特征提取层均能获得一个中间特征向量,所获取的中间特征向量的数量与特征提取层的数量是一致的。

然后将指定特征提取层的中间特征向量进行保存。

具体地,通过多层特征提取层对待处理图像进行特征学习,每一层都学习到待处理图像中的一些特征。特征提取层越靠前,该特征提取层为待处理图像提取的中间特征向量也就越接近于待处理图像的原始特征向量;该特征提取层所学习到待处理图像的特征中,各个特征元素更多表征待处理图像中不同区域的差异。特征提取层越靠后,该特征提取层为待处理特征提取的中间特征向量也就越远离待处理图像的原始特征向量;该特征提取层所学习到的待处理图像的特征中,各个特征元素更多表征的是待处理图像中不同区域的共性。

指定提取层可以是多层特征提取层中任意一个的特征提取层。具体实施时,指定提取层可以根据实际需要进行选取,这里并不限定。

具体地,特征提取层可以通过对待处理图像进行卷积处理,得到与该特征提取层对应的中间特征向量。

此时,使用所述特征提取层对所述待处理图像进行特征学习,并将指定特征提取层提取的中间特征向量保存具体包括:

使用所述特征提取层对所述待处理图像进行卷积处理,并在指定特征提取层提取中间特征向量并保存。

另外,还要获取最后一层特征提取层的第一特征向量;该第一特征向量用于作为第一层特征复原层的输入。

s203:使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全,得到所述待处理图像的伪造图像。

这里,使用特征复原层基于保存的中间特征向量对待处理图像进行特征补全,是要使用特征提取层提取出来的能够在一定程度上表征待处理图像上不同区域之间共性的特征向量,补全待处理图像中的像素损失区域中的特征,以得到待处理图像的伪造图像。

具体地,特征复原层可以通过对第一特征向量进行反卷积处理,得到与该特征复原层对应的反卷积结果,并且在对第一特征向量进行反卷积处理的过程,还要用指定特征提取层提取到的中间特征向量,影响特征补全的结果。

此时,使用特征复原层基于保存的中间特征向量对待处理图像进行特征补全,得到所述待处理图像的伪造图像,包括:

依次使用特征复原层对所述第一特征向量进行反卷积处理;并

将保存的中间特征向量和指定特征恢复层的反卷积的结果叠加;

基于最后一层所述特征恢复层的反卷积结果,生成所述待处理图像的伪造图像。

具体地,通过多层特征复原层对基于保存的中间特征向量对所述待处理图像进行特征补全,每一层特征复原层都复原部分待处理图像中的一些特征。

使用特征复原层对第一特征向量进行反卷积处理,就是要将原本维度较小的特征向量维度变大;为了增加特征向量的维度,就要对维度小的特征向量的部分位置的信息进行元素填补,进而能够构成维度更大的特征向量。在这个过程中,由于第一特征向量本身已经损失了一部分待处理图像原本所具有的特征,再对第一特征向量进行反卷积,实现元素填补,填补特征又与待处理图像所应当具备的特征之间有一定的差异,因此此时,要使用特征提取层所提取的中间特征向量,干扰元素补全的结果,使得补全的元素更加能够表征待处理图像原本所具有的特征。

为了实现此目的,可以将保存的中间特征向量和指定特征恢复层的反卷积结果进行叠加。此时,需要注意的是,中间特征向量和指定恢复层的反卷积的结果的维度应当是一致的。

将保存的中间特征向量和指定特征恢复层的反卷积结果进行叠加,可以将中间特征向量和指定恢复层的结果的对应位置的元素直接相加,也可以对中间特征向量和指定恢复层的结果的对应位置的元素进行加权求和。

然后,就能够基于最后一层特征恢复层的反卷积结果,生成待处理图像的伪造图像。

s102:将所述待处理图像的原始图像以及所述伪造图像输入图像判别神经网络,使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类。

在具体实现的时候,为了实现对待处理图像和原始图像进行分类,需要图像判别神经网络首先为原始图像和伪造图像进行特征提取,分别为原始图像和伪造图像提取能够表征两者的特征向量。为两者分别提取的特征向量之间的差异越大,则越能够将两者区分清晰;为两者分别提取的特征向量之间的差异越小,则越无法清晰的将两者而进行区分。

之后,基于分别为原始图像和伪造图像提取的特征向量,根据两个特征向量之间的距离大小,或者差异的大小,对原始图像和所述伪造图像进行分类。

具体地,图像判别神经网路可以包括多个卷基层和一个全连接层,其中卷基层能够对原始图像和伪造图像进行特征提取,全连接层用于基于为原始图像和伪造图像提取的特征,进行原始图像和伪造图像的判别输出。判别的结果有两个:原始图像,和伪造图像。

s103:基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练。

在具体实现的时候,基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,就是要基于伪造图像和所述原始图像之间的相似度来对图像生成神经网络进行调整。在本申请,通过伪造图像和原始图像之间的损失来表征伪造图像和原始图像之间的相似度。

基于分类结果对所述图像判别神经网络进行本轮训练,就是要基于图像判别网络对原始图像和伪造图像进行分类,分类的结果正确程度来对图像判别神经网络的参数进行调整。在本申请中,是通过分类损失来表征分类结果的正确程度。

具体地,为了确定伪造图像和原始图像之间的损失,本申请实施例在使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,还会生成所述伪造图像的第一特征矩阵。其中,第一特征矩阵可以基于最后一层所述特征恢复层的反卷积结果直接生成,例如对于最后一层所述特征恢复层的反卷积结果进行特征提取的操作,生成伪造图像的第一特征矩阵。或者直接将最后一层所述特征恢复层的反卷积结果作为第一特征矩阵。

本申请实施例可以通过下述方式基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练:

参见图3所示,执行如下矩阵比对操作:

s301:将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

较佳地,第二特征矩阵和第一特征矩阵的生成方法相同,且第一特征矩阵和第二特征矩阵的维度相同。

s302:基于比对结果确定第一损失值。

例如,在根据第一特征矩阵和第二特征矩阵的比对结果得到第一损失值时,第一损失值grec满足下述公式:

其中,第一特征矩阵和第二特征矩阵的维度均为h×w;ig(x,y)表示原始图像的第二特征矩阵中第x行第y列的元素;g(i)(x,y)表示伪造图像的第一特征矩阵中第x行第y列的元素。

s303:检测基于得到的比对结果确定的第一损失值是否在所述第一损失范围内;如果否,则跳转至s304;如果是,则结束图像生成网络的本轮训练。

s304:生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整;

s305:基于调整后的参数,使用所述图像生成神经网络为所述待处理图像生成新的第一特征矩阵,并跳转至s301。

在检测到基于得到的比对结果确定的第一损失值在所述第一损失范围内时,结束本轮对图像生成神经网络的训练。

通过上述训练过程,能够使得图像生成神经网络所生成的伪造图像更接近原始图像。

与此同时,还要同步对图像判别神经网络进行本轮训练。

具体地,本申请实施例可以通过下述方式使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类,基于分类结果对所述图像判别神经网络进行本轮训练:

如图4所示,执行下述二分类操作:

s401:使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类。

s402:基于二分类结果与对应标注值确定第二损失值。其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

例如,可以通过下述公式计算第二损失时值ladv_d:

ladv_d=α||d(ig)-1||2+β||d(g(i))-0||2;

其中,d(ig)表示原始图像的分类结果,d(g(i))表示伪造图像的分类结果。且此时,1为原始图像的标注值,0为伪造图像的标注值。α和β表示为方便计算使用的计算系数,可以根据需要具体设定,例如设置为1、等,也可以设定为其他值,在此不做限制。

假若,原始图像的标注值为0,伪造图像的标注值为1,

则上述公式还可以写为:ladv_d=α||d(ig)-0||2+β||d(g(i))-1||2。

s403:检测基于二分类结果与对应标注值确定的第二损失值是否在第二损失范围内;若否,则跳转至s404;若是,则结束基于第二额损失对图像判别网络的本轮训练。

s404:生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整。

s405:基于调整后的参数,再次执行二分类操作,返回步骤s401。

此处,基于调整后的参数,再次执行二分类操作,就是要使用调整参数后的图像判别神经网络分别对原始图像和伪造图像重新进行有监督学习并进行二分类。然后针对新生成的二分类结果表征第二损失值未在第二损失反内的情况,再次生成第二反馈信息,并基于再次生成的第二反馈信息对图像判别神经网络进行参数调整,直至基于所述伪造图像的二分类结果与所述原始图像的标注值确定的第三损失值在第三损失范围内。

通过上述训练过程,能够使得在图像判别神经网络中伪造图像和原始图像尽可能的拉开以便于对两者进行分类。

可选地,在另一实施例中,还提供另外一种对图像判别神经网络进行训练的方法。该方法与上述图4所对应的方法可以同步进行,也可以独立于上述图4单独进行。

以该方法与上述图4对应的方法同步进行为例,对本实施例提供的对图像判别神经网络进行训练的方法加以说明,对图像判别神经网络进行训练的方法包括:

d501:使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类。执行d502和d506,此处d502和d506的执行并无先后顺序。

d502:基于二分类结果与对应标注值确定第二损失值。其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值。跳转至d503;

d503:检测基于二分类结果与对应标注值确定的第二损失值是否在第二损失范围内;若否,则跳转至d504;若是,则跳转至d505。

d504:生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整。跳转至d501。

d505:结束基于对应损失值对图像判别神经网络的本轮训练。

上述d501~d505与上述s401~s405类似,在此不再赘述。

d506:将所述伪造图像的二分类结果与所述原始图像的标注值进行比对;跳转至d507。

此处,将所述伪造图像的二分类结果与所述原始图像的标注值进行比对的过程,可以看作是基于伪造图像的二分类结果与原始图像的标注值确定第三损失值的过程。

例如,可以通过下述公式计算第三损失时值ladv_g:

ladv_g=ρ||d(g(i))-1||2;

其中,d(g(i))表示对伪造图像的二分类结果。且此时,1为原始图像的标注值,0为伪造图像的标注值。ρ表示为方便计算而设置的计算系数。可以根据实际需要进行设定,例如设定为1、等,在此不做限定。

假若,原始图像的标注值为0,伪造图像的标注值为1,

则上述公式还可以写为:

d507:检测比对结果表征所述第三损失值是否所述第三损失范围内;如果是,则跳转至d505;如果否,则跳转至d508。

d508:生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整。跳转至d501。

通过上述训练过程,能够使得在图像判别神经网络中伪造图像和原始图像尽可能的拉开以便于对两者进行分类的同时,使得伪造图像更接近于原始图像标签。

另外,本申请实施例可以根据第一损失值、第二损失值和第三损失值构成的总损失值,对图像生成神经网络和图像判别神经网络进行参数的约束。基于总损失值对图像生成神经网络和图像判别神经网络进行参数的约束,用于平衡图像生成神经网络和图像判别神经网络的参数。

具体地,基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,包括:

在对图像生成神经网络进行训练之前,首先在使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,生成所述伪造图像的第一特征矩阵。

之后通过下述方式基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练:

执行如下矩阵比对操作,直到总损失值在总损失范围内;

所述矩阵比对操作包括:

d601:将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

d602:基于得到的比对结果确定第一损失值,并对所述总损失值进行更新;

d603:针对更新的总损失值未在所述总损失范围内的情况,生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整。

d604:基于调整后的参数,使用所述图像生成神经网络为所述伪造图像生成新的第一特征矩阵,并再次执行所述比对矩阵操作。

使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;基于分类结果对所述图像判别神经网络进行本轮训练,包括:

执行如下二分类操作,直到所述总损失值在所述总损失范围内;其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

所述二分类操作,包括:

d701:使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类;

d702:基于二分类结果与对应标注值确定第二损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整;和/或

d703:基于所述伪造图像的二分类结果与所述原始图像的标注值确定第三损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整;

d704:基于调整后的参数,再次执行所述二分类操作;

其中,所述总损失值为第一损失值、第二损失值、以及第三损失值的加权运算值。

例如,总损失值gf满足:

gf=λ1×grec+λ2×ladv_d+λ3×ladv_g;

其中,grec表示第一损失值;ladv_d表示第二损失值;ladv_g表示第三损失值;λ1表示第一损失值的权重系数;λ2表示第二损失值的权重系数;λ3λ1表示第三损失值的权重系数。

这样,基于上述几个实施例中的一个或者多个完成对图像生成神经网络和图像判别神经网络的本轮训练。

使用下一组训练用图像中包括的待处理图像和原始图像,基于上述过程完成对对图像生成神经网络和图像判别神经网络的下一轮训练。

……

如此,经过对对图像生成神经网络和图像判别神经网络的多轮训练,最终得到图像复原模型。此处,得到图像复原模型即为进行了多轮训练的图像生成神经网络

在本申请实施例中,由于要求图像生成神经网络为待处理图像生成的伪造图像,要尽可能的接近原始图像,图像判别神经网路则要尽量的将原始图像和伪造图像分类正确,因此基于伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练的过程,其实质则是对抗性的对图像生成神经网络和图像判别神经网络进行训练,使得在这种对抗训练的过程中,图像生成神经网络和图像判别神经网络的能力不断得到提升,最终将训练得到的所得到图像生成神经网络作为图像复原模型,实用这种图像复原模型在对图像进行复原时,所得到的伪造图像和原始图像之间的差异更小。

在本申请另一实施例中,参见图6所示,在将待处理图像输入图像生成神经网络之前,还包括对待处理图像的预处理操作:

s501:对所述待处理图像进行像素损失区域检测,并对检测到的像素损失区域进行掩码(mask)提取,得到像素损失区域的掩码图像。

在具体实现的时候,可以通过多种方式对待处理图像进行像素损失区域检测。例如通过将待处理图像和原始图像对应位置的像素点的像素值进行比对,将待处理图像和原始图像对应位置的像素值不同的像素点作为像素损失区域中的像素点。又例如,在某些情况下,如像素损失区域为水印的情况下,为原始图像添加的水印的色调实际上是比较一致的,因此可以通过色调检测的方法,识别待处理图像中的像素损失区域。

在确定了待处理图像的像素损失区域后,就要对检测道的像素损失区域进行mask提取,是针对像素损失区域,根据核重新计算像素损失区域中每个像素点的值,能够较为清晰的将待处理图像中的像素损失区域从待处理图像中确定出来,并生成掩码图像。其中,该掩码图像的分辨率与待处理图像的分辨率一致。

s502:按照预设像素值为所述掩码图像的像素赋值。

为了提高模型的泛化能力,此处,可以将掩码图像中,对应待处理图像的像素损失区域的像素值调整为第一像素值。并将掩码图像中,对应待处理图像的非像素损失区域的像素值调整为第二个像素值,将像素损失区域从中确定出来。

s503:将完成赋值的掩码图像的像素矩阵,与所述待处理图像的像素矩阵点乘,得到预处理后的待处理图像。

此处,将完成赋值的掩码图像的像素矩阵,与所述待处理图像的像素矩阵点乘,就是要将带处理图像中所有像素损失区域的颜色调整为第一像素值对应的颜色。

在使用进行了预处理操作后得到的待处理图像对图像复原模型进行训练能够得到更好的训练效果。

可选地,由于图像中完全黑或者完全白的像素点是比较少的,因此可以通过对掩码图像的像素矩阵进行二值化操作的方式实现对掩码图像的像素赋值的过程,使得最终得到的预处理后的待处理图像中的像素损失区域为全黑或者全白,能够将待处理图像中的像素损失区域明确的确定出来,降低待处理图像中,某些非像素损失区域的像素点的像素值和预设像素值一致时,对训练结果造成的干扰。

另外,在另一实施例中,在为所述掩码图像的像素赋值之前,还包括:将所述掩码图像进行形态学的膨胀运算和腐蚀运算。

将所述掩码图像进行形态学的膨胀运算和腐蚀运算,能够尽可能多的覆盖像素损失区域,从而避免由于像素损失区域确定不完整导致的模型存在的误差。

其中,所述膨胀运算的参数满足第一运算次数;所述腐蚀运算次数满足第二运算次数,且所述第一运算次数大于所述第二运算次数;且相邻两次腐蚀运算之间的膨胀运算的次数不超出预设数量阈值。

膨胀运算的次数多余腐蚀运算的情况下,原本所确定的像素损失区域有一定程度的向外扩张,从而对原来所确定的像素损失区域进行扩大,使得能够更多的确定像素损失区域,从而提升模型的精确度。

基于同一发明构思,本申请实施例中还提供了与图像复原模型训练方法对应的图像复原模型训练装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述图像复原模型训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参见图6所示,本申请实施例提供的图像复原模型训练装置,包括:

生成模块61,用于将具有像素损失区域的待处理图像输入图像生成神经网络,对所述待处理图像进行复原,得到所述待处理图像的伪造图像;

分类模块62,用于将所述待处理图像的原始图像以及所述伪造图像输入图像判别神经网络,使用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练;并经过对所述图像生成神经网络、图像判别神经网络的多轮训练,得到图像复原模型。

在本申请实施例中,由于要求图像生成神经网络为待处理图像生成的伪造图像,要尽可能的接近原始图像,图像判别神经网路则要尽量的将原始图像和伪造图像分类正确,因此基于伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练,以及基于分类结果对所述图像判别神经网络进行本轮训练的过程,其实质则是对抗性的对图像生成神经网络和图像判别神经网络进行训练,使得在这种对抗训练的过程中,图像生成神经网络和图像判别神经网络的能力不断得到提升,最终将训练得到的所得到图像生成神经网络作为图像复原模型,实用这种图像复原模型在对图像进行复原时,所得到的伪造图像和原始图像之间的差异更小。

可选地,还包括预处理模块63,用于在将待处理图像输入图像生成神经网络之前,对待处理图像的预处理:对所述待处理图像进行像素损失区域检测,并对检测到的像素损失区域进行掩码mask提取,得到像素损失区域的掩码图像;

按照预设像素值为所述掩码图像的像素赋值;

将完成赋值的掩码图像的像素矩阵,与所述待处理图像的像素矩阵点乘,得到预处理后的待处理图像。

可选地,预处理模块63具体用于通过下述步骤按照预设像素值为所述掩码图像的像素赋值:对所述掩码图像的像素矩阵进行二值化操作。

可选地,预处理模块63还用于在为所述掩码图像的像素赋值之前,将所述掩码图像进行形态学的膨胀运算和腐蚀运算。

可选地,所述膨胀运算的参数满足第一运算次数;所述腐蚀运算次数满足第二运算次数,且所述第一运算次数大于所述第二运算次数;且相邻两次腐蚀运算之间的膨胀运算的次数不超出预设数量阈值。

可选地,所述图像生成神经网络包括:特征提取层以及特征复原层;

生成模块61,具体用于通过下述步骤得到所述待处理图像的伪造图像:

将待处理图像输入所述特征提取层;

使用所述特征提取层对所述待处理图像进行特征学习,并将指定特征提取层提取的中间特征向量保存;

使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全,得到所述待处理图像的伪造图像。

可选地,生成模块61,具体用于使用所述特征提取层对所述待处理图像进行卷积处理,并在指定特征提取层提取中间特征向量并保存;并

获取最后一层特征提取层的第一特征向量;

使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全,得到所述待处理图像的伪造图像,包括:

依次使用所述特征复原层对所述第一特征向量进行反卷积处理;并

将保存的中间特征向量和指定特征恢复层的反卷积的结果叠加;

基于最后一层所述特征恢复层的反卷积结果,生成所述待处理图像的伪造图像。

可选地,生成模块61,还用于在使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,生成所述伪造图像的第一特征矩阵;

训练模块62,具体用于通过下述步骤基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练:执行如下矩阵比对操作,直到基于比对结果确定的第一损失值在第一损失范围内;

所述矩阵比对操作包括:

将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

针对基于得到的比对结果确定的第一损失值未在所述第一损失范围内的情况,生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整;

基于调整后的参数,使用所述图像生成神经网络为所述伪造图像生成新的第一特征矩阵,并再次执行所述矩阵比对操作。

训练模块62,具体用于通过下述步骤基于分类结果对所述图像判别神经网络进行本轮训练:执行如下二分类操作,直到基于二分类结果与对应标注值确定的第二损失值在第二损失范围内;其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

所述二分类操作,包括:

使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类;

针对基于二分类结果与对应标注值确定的第二损失值未在所述第二损失范围内的情况,生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作。

训练模块62,还用于在执行二分类操作之后,执行如下比对操作,直到基于所述伪造图像的二分类结果与所述原始图像的标注值确定的第三损失值在第三损失范围内;

执行如下比对操作,直到基于所述伪造图像的二分类结果与所述原始图像的标注值确定的第三损失值在第三损失范围内;

所述比对操作,包括:

将所述伪造图像的二分类结果与所述原始图像的标注值进行比对;

针对比对结果表征所述第三损失值未在所述第三损失范围内的情况,生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作。

可选地,生成模块61,还用于使用所述特征复原层基于保存的中间特征向量对所述待处理图像进行特征补全之后,生成所述伪造图像的第一特征矩阵;

训练模块62,具体用于通过下述步骤基于所述伪造图像和所述原始图像的比对结果,对所述图像生成神经网络进行本轮训练:执行如下矩阵比对操作,直到总损失值在总损失范围内;

所述矩阵比对操作包括:

将所述第一特征矩阵和为所述原始图像生成的第二特征矩阵进行比对;

基于得到的比对结果确定第一损失值,并对所述总损失值进行更新;

针对更新的总损失值未在所述总损失范围内的情况,生成第一反馈信息,并基于所述第一反馈信息对所述图像生成神经网络进行参数调整;

基于调整后的参数,使用所述图像生成神经网络为所述伪造图像生成新的第一特征矩阵,并再次执行所述矩阵比对操作;

训练模块62,具体用于通过下述步骤用所述图像判别神经网络为所述原始图像和所述伪造图像进行分类;基于分类结果对所述图像判别神经网络进行本轮训练:执行如下二分类操作,直到所述总损失值在所述总损失范围内;其中,所述原始图像的标注值和所述伪造图像的标注值分别为所述二分类对应的不同值;

所述二分类操作,包括:

使用所述图像判别神经网络分别对所述原始图像和所述伪造图像进行有监督学习并进行二分类;

基于二分类结果与对应标注值确定第二损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第二反馈信息,并基于所述第二反馈信息对所述图像判别神经网络进行参数调整;和/或

基于所述伪造图像的二分类结果与所述原始图像的标注值确定第三损失值,并对所述总损失值进行更新;针对更新的总损失值未在所述总损失范围内的情况,生成第三反馈信息,并基于所述第三反馈信息对所述图像判别神经网络进行参数调整;

基于调整后的参数,再次执行所述二分类操作;

其中,所述总损失值为第一损失值、第二损失值、以及第三损失值的加权运算值。

对应于图1中的图像复原模型训练方法,本申请实施例还提供了一种计算机设备100,如图7所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述图像复原模型训练方法的步骤。

具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述图像复原模型训练方法,从而解决对图像复原,图像复原后与原图差异过大的问题,进而达到减小伪造图像和原始图像之间的差异的效果。

对应于图1中的图像复原模型训练方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述图像复原模型训练的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述图像复原模型训练方法,从而解决对图像复原,图像复原后与原图差异过大的问题,进而达到减小伪造图像和原始图像之间的差异的效果。

参见图8所示,本申请实施例还提供一种图像复原方法,包括:

s801:获取待复原图像;

s802:将所述待复原图像输入至通过本申请实施例任意一项所述的图像复原模型训练方法得到的图像复原模型中,得到所述待复原图像的目标伪造图像;

其中,所述图像复原模型包括:图像生成神经网络。

参见图9所示,本申请实施例还提供一种图像复原装置,包括:

获取模块91,用于获取待复原图像;

复原模块92,用于将所述待复原图像输入至通过本申请实施例任意一项所述的图像复原模型训练方法得到的图像复原模型中,得到所述待复原图像的目标伪造图像;

其中,所述图像复原模型包括:图像生成神经网络。

对应于图8中的图像复原方法,本申请实施例还提供了一种计算机设备200,如图10所示,该设备包括存储器3000、处理器4000及存储在该存储器3000上并可在该处理器4000上运行的计算机程序,其中,上述处理器4000执行上述计算机程序时实现上述图像复原方法的步骤。

具体地,上述存储器3000和处理器4000能够为通用的存储器和处理器,这里不做具体限定,当处理器4000运行存储器3000存储的计算机程序时,能够执行上述图像复原方法,从而解决对图像复原,图像复原后与原图差异过大的问题,进而达到减小伪造图像和原始图像之间的差异的效果。

对应于图1中的图像复原方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述图像复原的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述图像复原方法,从而解决对图像复原,图像复原后与原图差异过大的问题,进而达到减小伪造图像和原始图像之间的差异的效果。

本申请实施例所提供的图像复原模型训练方法、装置及图像复原方法和装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1