图像生成器的训练方法、装置、设备以及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及深度学习、大数据处理、数据增强、计算机视觉等人工智能技术领域,尤其涉及图像生成器的训练方法、装置、设备以及存储介质。
背景技术
目前普遍应用的相机是RGB(红、绿、蓝三个通道的颜色)相机,获取RGB模态的人脸数据较为容易,RGB模态人脸识别模型的训练数据是充足的。但是,除了RGB模态之外更多其他模态的人脸数据,比如Depth(深度)和NIR(近红外)等,由于成本或技术上存在很大难度,目前其它模态的人脸数据极少。
发明内容
本申请实施例提供了图像生成器的训练方法、装置、设备以及存储介质。
第一方面,本申请实施例提供了图像生成器的训练方法,包括:将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码;将所述第一模态图像的编码和所述第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像;将所述第一图像和所述第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值;基于所述第一图像的特征值、所述第二图像的特征值以及所述目标网络模型的类型,确定对应于所述目标网络模型的图像生成器的初始模型的损失函数,并根据所述图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器。
第二方面,本申请实施例提供了图像生成器的训练装置,包括:编码模块,被配置为将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码;图像生成模块,被配置为将所述第一模态图像的编码和所述第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像;图像特征值生成模块,被配置为将所述第一图像和所述第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值;图像生成器调参模块,被配置为基于所述第一图像的特征值、所述第二图像的特征值以及所述目标网络模型的类型,确定对应于所述目标网络模型的图像生成器的初始模型的损失函数,并根据所述图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器。
第三方面,本申请实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
本申请实施例提供的图像生成器的训练方法、装置、设备以及存储介质,首先将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码;之后将所述第一模态图像的编码和所述第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像;而后将所述第一图像和所述第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值;最后基于所述第一图像的特征值、所述第二图像的特征值以及所述目标网络模型的类型,确定对应于所述目标网络模型的图像生成器的初始模型的损失函数,并根据所述图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器,从而提供了一种可以生成第一模态图像和/或第二模态图像中的特定模态图像的图像生成器,有助于解决因特定模态图像识别模型的训练样本过少导致模型过拟合的问题,提高特定模态图像识别模型的识别精度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的图像生成器的训练方法的一个实施例的流程示意图;
图3是本申请的图像生成器的训练装置的一个实施例的结构示意图;
图4是用来实现本申请实施例的图像生成器的训练方法的电子设备的框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的图像生成器的训练方法或图像生成器的训练装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、网络102、服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101可以通过网络102与服务器103交互。终端设备101中可以提供属于训练样本的第一模态图像和第二模态图像,包括但不限于数据库、用户终端等等。
服务器103可以提供各种服务,例如服务器103可以对从终端设备101获取到的第一模态图像和第二模态图像等数据进行分析等处理,生成处理结果(例如得到训练完成的图像生成器)。
需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的图像生成器的训练方法一般由服务器103执行,相应地,图像生成器的训练装置一般设置于服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的图像生成器的训练方法的一个实施例的流程200。该方法,包括以下步骤:
步骤201,将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码。
在本实施例中,图像生成器的训练方法的执行主体(例如图1所示的服务器103)可以将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码。
其中,编码器的训练过程如下:获取同一对象的第一模态图像样本和第二模态图像样本;将同一对象的第一模态图像样本和第二模态图像样本作为编码器的初始模型的输入,将第一模态图像样本的编码与第二模态图像样本的编码作为编码器的初始模型的输出,对编码器的初始模型进行训练,得到训练完成的编码器。
其中,第一模态图像可以是数据量充足的模态图像数据,第二模态图像可以是数据量较少的模态图像数据。
例如,第一模态图像可以是RGB图像、CT图像、MRI图像、PER图像,第二模态图像可以是NIR图像、Depth图像。RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。
RGB图像通过普通的相机就可以采集到。但是,NIR(近红外光)图像或Depth(深度)图像则需要专业的设备(例如Kinect或者RealSense多模态相机)才能采集,所以NIR图像或Depth图像往往很难采集到,其数据量较少。由于第一模态图像的数据量充足,由其训练出来的对象识别模型具有较高的识别精度。但是由于第二模态图像的数据量较少,仅由其训练出来的对象识别模型往往容易出现过拟合的问题,影响识别精度。
在本实施例中,第一模态图像和第二模态图像也可以是数据量充足的模态图像数据,例如RGB图像等。第一模态图像和第二模特图像还可以是数据量较少的模态图像数据,例如NIR图像。另外,第一模态图像可以是数据量较少的模态图像数据,第二模态图像可以是数据量充足的模态图像数据。
在本实施例中,编码器的初始模型可以是未经训练的编码器或未训练完成的编码器,编码器的初始模型的各层可以设置有初始参数,参数在编码器的初始模型的训练过程中可以被不断地调整。编码器的初始模型可以是各种类型的未经训练或未训练完成的人工神经网络或者对多种未经训练或未训练完成的人工神经网络进行组合所得到的模型,例如,编码器的初始模型可以是未经训练的卷积神经网络,也可以是未经训练的循环神经网络,还可以是对未经训练的卷积神经网络、未经训练的循环神经网络和未经训练的全连接层进行组合所得到的模型。
步骤202,将第一模态图像的编码和第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像。
在本实施例中,上述执行主体可以将第一模态图像的编码和第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像。其中,可以将与上述步骤201中的训练完成的编码器的对称的网络结构,作为图像生成器的初始模型的一部分。例如,若编码器隐层大小为[h1,h2,h3],其中h1为输入,h2和h3为隐层输出,那么图像生成器的初始模型的隐层大小可以为[h3,h2,h1],其中h3和h2为输入,h1为隐层输出。也即,编码器与图像生成器可以采用编码器-解码器结构。具体地,图像生成器对第一模态图像的编码和第二模态图像的编码进行解码,解码可以采用N个全连接层加Sigmoid激活函数,分别得到第一图像和第二图像。
在本实施例中,图像生成器的初始模型可以是未经训练的图像生成器或未训练完成的图像生成器,图像生成器的初始模型的各层可以设置有初始参数,参数在图像生成器的初始模型的训练过程中可以被不断地调整。
图像生成器的初始模型可以是各种类型的未经训练或未训练完成的人工神经网络或者对多种未经训练或未训练完成的人工神经网络进行组合所得到的模型,例如,图像生成器的初始模型可以是未经训练的卷积神经网络,也可以是未经训练的循环神经网络,还可以是对未经训练的卷积神经网络、未经训练的循环神经网络和未经训练的全连接层进行组合所得到的模型。
其中,根据具有初始参数的图像生成器的初始模型输出的第一图像和第二图像,可能是第一模态图像,也可能是第二模态图像。待图像生成器训练完成后,将第一模态图像的编码输入至该图像生成器,输出的是第一模态图像;将第二模态图像的编码输入至该图像生成器,输出的是第二模特图像。
步骤203,将第一图像和第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值。
在本实施例中,上述执行主体可以将第一图像和第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值。其中,目标网络模型可以是任一人工神经网络,例如卷积神经网络、循环神经网络等等。
在本实施例中,图像生成器的初始模型的损失函数,可以根据目标网络模型来确定。也即,不同类型的目标网络模型,其所对应的图像生成器的初始模型的损失函数也不同。
例如,为了使图像生成器生成的第一图像和第二图像属于同一个人脸,可以选择人脸识别模型作为目标网络模型,并将第一图像和第二图像输入至预训练好的人脸识别模型,得到第一图像的特征值和第二图像的特征值。
再例如,为了使图像生成器生成的第一图像更像第一模态图像或第二图像更像第二模态图像,可以选择图像模态判别模型作为目标网络模型,并将第一图像和第二图像输入至预训练好的图像模态判别模型,得到第一图像的特征值和第二图像的特征值。
还例如,为了控制编码器的输入与图像生成器的输出的差别,可以选择深度卷积网络模型作为目标网络模型,并将第一图像和第二图像输入至预训练好的深度卷积网络模型,得到第一图像的特征值和第二图像的特征值。
步骤204,基于第一图像的特征值、第二图像的特征值以及目标网络模型的类型,确定对应于目标网络模型的图像生成器的初始模型的损失函数,并根据图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器。
在本实施例中,上述执行主体可以根据图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器。
其中,不同类型的目标网络模型对应的图像生成器的初始模型的损失函数也不同。具体地,若选择人脸识别模型作为目标网络模型,则可以基于第一图像的特征值和第二图像的特征值的相似度,确定图像生成器的初始模型的损失函数。例如可以将第一图像的特征值和第二图像的特征值的余弦距离作为损失函数,其中,损失函数loss=arcos(dot(A,B)/||A||*||B||),其中A为第一图像的特征值,B为第二图像的特征值。若选择图像模态判别模型作为目标网络模型,图像生成器的初始模型的损失函数为基于图像模态特征判别对抗的损失函数。例如损失函数d_loss=E(max(0,1-D(第一图像)))+E(max(0,1+D(第二图像))),其中D表示判别模型推理,E表示对批次样本的维度求均值,Max表示最大化。其中,图像模态判别模型的训练过程如下:若图像判别模型的输入为第一模态图像,则可以将真值1作为图像判别模型的期望输出,对图像判别模型进行训练;若图像判别模型的输入为第二模态图像,则可以将假值-1作为图像判别模型的期望输出,对图像判别模型进行训练,最后得到训练完成的图像判别模型。若选择深度卷积网络模型作为目标网络模型,则可以将第一图像的特征值和第二图像的特征值做损失函数smooth-L1 loss。
在本实施例中,图像生成器的初始模型的损失函数确定后,可以对图像生成器的初始模型进行训练,根据损失函数调整图像生成器的初始模型的参数,直至损失函数收敛,得到训练完成的图像生成器。
本申请的上述实施例提供的图像生成器的训练方法,通过对图像生成器进行约束,得到了可以生成特定模态图像的图像生成器,有助于解决因特定模态图像识别模型的训练样本过少导致模型过拟合的问题,提高特定模态图像识别模型的识别精度。
在本实施例的一些可选的实现方式中,上述步骤201中的编码器的训练过程包括:将同一对象的第一模态图像样本和第二模态图像样本输入至编码器的初始模型,得到第一模态图像样本的编码与第二模态图像样本的编码;基于第一模态图像样本的编码与第二模态图像样本的编码的余弦距离,确定编码器的初始模型的损失函数,并根据编码器的初始模型的损失函数调整编码器的初始模型的参数,得到训练完成的编码器。
其中,为了保证待扩充图像的不同模态图像属于同一个对象(例如,同一人脸),可以对编码器的初始模型的损失函数进行约束,使得待扩充图像的不同模态图像的编码的余弦距离相近,即使用余弦距离损失函数对编码器的初始模型进行训练。其中,待扩充图像为第一模态图像和/或所述第二模态图像。例如余弦距离损失函数loss=arcos(dot(A,B)/||A||*||B||),其中,A为第一模态图像的编码,B为第二模态图像的编码,dot(A,B)表示A和B点乘,||A||表示A向量的模,即A向量的每个元素求平方,然后加和,再对和求平方根。通过对第一模态图像的编码与第二模态图像的编码的余弦距离做损失函数,可以使输入的第一模态图像和第二模态图像表征为同一对象。
在本实施例的一些可选的实现方式中,上述步骤201中的编码器的训练过程包括:将同一对象的第一模态图像样本和第二模态图像样本输入至编码器的初始模型,得到第一模态图像样本的编码与第二模态图像样本的编码;基于第一模态图像样本的编码或第二模态图像样本的编码的均值、方差,确定编码器的初始模型的损失函数,并根据编码器的初始模型的损失函数调整编码器的初始模型的参数,得到训练完成的编码器。
为了保证待扩充图像的某一模态图像的编码符合特定类型的分布。可以对编码器的初始模型的损失函数进行约束,使得第一模态图像的编码或第二模态图像的编码符合需要的分布。
具体地,编码器的初始模型的损失函数可以基于待扩充图像的编码的均值和待扩充图像的编码的方差确定,其中,待扩充图像为第一模态图像和/或所述第二模态图像。示例性地,编码器的初始模型的损失函数为f(μ,σ2),其中,μ表示待扩充图像的编码的均值,σ表示待扩充图像的编码的方差。例如,为了保证待扩充图像的编码符合均值为0,方差为1的高斯分布,可以约束损失函数为:
其中,d表示待扩充图像的数量,μ表示待扩充图像的编码的均值,σ2表示待扩充图像的编码的方差的平方。可选地,可以同时基于余弦距离损失函数和损失函数f(μ,σ2),对编码器的初始模型进行训练,得到训练完成的编码器。这样该编码器既能保证待扩充图像的不同模态图像表征同一对象,又能保证待扩充图像的编码符合特定类型的分布,有助于后续根据该特定类型的分布对待扩充图像进行数据增强。
在本实施例的一些可选的实现方式中,上述步骤204中的目标网络模型包括人脸识别网络模型、图像模态判别模型、深度卷积网络模型中的至少一种。
具体地,若选择人脸识别网络模型和图像模态判别模型作为目标网络模型,则可以同时基于第一图像的特征值和第二图像的特征值的余弦距离损失函数和基于图像模态特征判别对抗的损失函数,对图像生成器的初始模型进行训练,得到训练完成的图像生成器。例如,对图像生成器的初始模型进行训练时,同时优化损失函数loss=arcos(dot(A,B)/||A||*||B||)和损失函数d_loss=E(max(0,1-D(第一图像)))+E(max(0,1+D(第二图像)))。
可选地,若同时选择人脸识别网络模型、图像模态判别模型、深度卷积网络模型作为目标网络模型,则可以同时基于该三种模型对应的损失函数,对图像生成器的初始模型进行训练,得到训练完成的图像生成器。
例如,对图像生成器的初始模型进行训练时,同时优化损失函数loss=arcos(dot(A,B)/||A||*||B||)、损失函数d_loss=E(max(0,1–D(第一图像)))+E(max(0,1+D(第二图像)))、smooth-L1 loss。
采用这三种损失函数训练出来的图像生成器,可以生成属于同一对象的第一图像和第二图像,且生成的第一图像更像第一模态图像、第二图像更像第二模态图像,且作为编码器的输入的第一模态图像和图像生成器生成的第一图像之间的差别较小。
在本实施例的一些可选的实现方式中,可以获取待扩充图像的编码的高斯噪声编码,并将高斯噪声编码输入至训练完成的图像生成器,得到对应待扩充图像的模拟图像。具体地,将任一对象的第一模态图像或第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码或第二模态图像的编码。然后,获取第一模态图像的编码或第二模态图像的编码的高斯噪声编码,并将高斯噪声编码输入至训练完成的图像生成器,得到该对象的多个第一模态模拟图像或第二模态模拟图像。其中,高斯噪声编码是均值为0,方差为1的高斯编码。
在本实施例中,对图像生成器输入与第一模态图像的编码或第二模态图像的编码相近的高斯噪声编码,即可获得属于同一对象的第一模态图像或第二模态图像,从而提供了一种对特定模态图像进行数据增强的方法。
进一步参考图3,作为对上述各图所示方法的实现,本申请提供了一种图像生成器的训练装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例的图像生成器的训练装置300可以包括:编码模块301、图像生成模块302、图像特征值生成模块303、图像生成器调参模块304。其中,编码模块301,被配置为将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码;图像生成模块302,被配置为将所述第一模态图像的编码和所述第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像;图像特征值生成模块303,被配置为将所述第一图像和所述第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值;图像生成器调参模块304,被配置为基于所述第一图像的特征值、所述第二图像的特征值以及所述目标网络模型的类型,确定对应于所述目标网络模型的图像生成器的初始模型的损失函数,并根据所述图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器。
在本实施例中,图像生成器的训练装置300中:编码模块301、图像生成模块302、图像特征值生成模块303、图像生成器调参模块304的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,所述编码模块还包括训练模块,所述训练模块包括:初始编码模块,被配置为将同一对象的第一模态图像样本和第二模态图像样本输入至编码器的初始模型,得到第一模态图像样本的编码与第二模态图像样本的编码;编码器调参模块,被配置为基于所述第一模态图像样本的编码与所述第二模态图像样本的编码的余弦距离,确定编码器的初始模型的损失函数,并根据所述编码器的初始模型的损失函数调整编码器的初始模型的参数,得到训练完成的编码器。
在本实施例的一些可选的实现方式中,所述目标网络模型包括人脸识别网络模型、图像模态判别模型、深度卷积网络模型中的至少一种。
在本实施例的一些可选的实现方式中,当所述目标网络模型为人脸识别网络模型,所述图像生成器的初始模型的损失函数由所述第一图像的特征值和所述第二图像的特征值的相似度确定。
在本实施例的一些可选的实现方式中,当所述目标网络模型为图像模态判别模型时,所述图像生成器的初始模型的损失函数为基于图像模态特征判别对抗的损失函数。
在本实施例的一些可选的实现方式中,当所述目标网络模型为深度卷积网络模型时,所述图像生成器的初始模型的损失函数为smooth-L1 loss。
在本实施例的一些可选的实现方式中,所述编码器的初始模型的损失函数为基于待扩充图像的编码的均值和待扩充图像的编码的方差确定,其中,所述待扩充图像为所述第一模态图像和/或所述第二模态图像。
在本实施例的一些可选的实现方式中,所述装置还包括:模拟图像生成模块,被配置为获取所述待扩充图像的编码的高斯噪声编码,并将所述高斯噪声编码输入至训练完成的图像生成器,得到对应所述待扩充图像的模拟图像。
在本实施例的一些可选的实现方式中,所述第一模态图像为RGB图像,所述第二模态图像包括NIR图像、Depth图像中的至少一种。
如图4所示,是根据本申请实施例图像生成器的训练方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的图像生成器的训练方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的图像生成器的训练方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的图像生成器的训练方法对应的程序指令/模块(例如,附图3所示的编码模块301、图像生成模块302、图像特征值生成模块303、图像生成器调参模块304)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的图像生成器的训练方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据图像生成器的训练方法的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至图像生成器的训练方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
图像生成器的训练方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与图像生成器的训练方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请的技术方案,首先将同一对象的第一模态图像和第二模态图像输入至预先训练完成的编码器,得到第一模态图像的编码和第二模态图像的编码;之后将所述第一模态图像的编码和所述第二模态图像的编码分别输入至图像生成器的初始模型,得到第一图像和第二图像;而后将所述第一图像和所述第二图像分别输入至预先训练完成的目标网络模型,得到第一图像的特征值和第二图像的特征值;最后基于所述第一图像的特征值、所述第二图像的特征值以及所述目标网络模型的类型,确定对应于所述目标网络模型的图像生成器的初始模型的损失函数,并根据所述图像生成器的初始模型的损失函数调整图像生成器的初始模型的参数,得到训练完成的图像生成器,从而提供了一种可以生成第一模态图像和/或第二模态图像中的特定模态图像的图像生成器,有助于解决因特定模态图像识别模型的训练样本过少导致模型过拟合的问题,提高特定模态图像识别模型的识别精度。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。