图像生成方法、装置和设备与流程

文档序号:23136800发布日期:2020-12-01 13:12阅读:145来源:国知局
图像生成方法、装置和设备与流程

本发明涉及人工智能技术领域,尤其涉及一种图像生成方法、装置和设备。



背景技术:

随着互联网技术的快速发展,人们每天可以接触到大量的新闻资讯,广告等信息。为了使新闻资讯和广告更能吸引用户,会在新闻资讯和广告中插入一些图片。

人们在对图片进行设计时,会需要大量的图像素材,如植物图像,动物图像,人物图像等。目前获取图像素材的方式一般都是人工通过软件工具对所拥有的图像进行编辑,或者通过数码相机进行拍摄的方式获得。比较费时,并且获取的图像素材并不丰富,不能满足用户需求。



技术实现要素:

本发明实施例提供一种图像生成方法、装置和设备,用以实现图像的自动快速生成。

第一方面,本发明实施例提供一种图像生成方法,该方法包括:

响应于图像生成请求,将第一随机噪声向量输入至生成器,以通过所述生成器生成第一编码向量;

将所述第一编码向量输入至解码器,以通过所述解码器输出与所述第一随机噪声向量对应的图像。

第二方面,本发明实施例提供一种图像生成装置,该装置包括:

编码向量生成模块,用于响应于图像生成请求,将第一随机噪声向量输入至生成器,以通过所述生成器生成第一编码向量;

图像输出模块,用于将所述第一编码向量输入至解码器,以通过所述解码器输出与所述第一随机噪声向量对应的图像。

第三方面,本发明实施例提供一种电子设备,包括处理器、存储器,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少实现上述第一方面中的图像生成方法。

第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现上述第一方面中的图像生成方法。

第五方面,本发明实施例提供了一种图像生成方法,包括:

获取样本图像对应的图像特征分布;

响应于图像生成请求,获取随机噪声向量;

根据所述图像特征分布对所述随机噪声向量进行编码,以得到编码向量;

对所述编码向量进行解码,以得到与所述随机噪声向量对应的图像。

第六方面,本发明实施例提供一种电子设备,包括处理器、存储器,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少实现上述第五方面中的图像生成方法。

第七方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现上述第五方面中的图像生成方法。

在本发明实施例中,由于将生成图像的过程分成两个阶段进行,第一个阶段是先将第一随机噪声向量输入到生成器中生成第一编码向量,第二阶段是将第一编码向量输入到解码器中解码成图像。由于第一编码向量是图像的特征分布数据,数据量介于第一随机噪声向量和对应的图像之间,所以每个阶段的数据处理过程明显快于由第一随机噪声向量直接生成图像的速度,最终加快了图像自动生成的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一示例性实施例提供的一种图像生成方法的流程图;

图2为一示例性实施例提供的一种图像生成方法的原理示意图;

图3为一示例性实施例提供的一种编码器解码器训练方法的流程图;

图4为一示例性实施例提供的一种编码器解码器训练方法的原理示意图;

图5为一示例性实施例提供的一种生成器判别器训练方法的流程图;

图6为一示例性实施例提供的一种生成器判别器训练方法的原理示意图;

图7为一示例性实施例提供的一种图像生成装置的结构示意图;

图8为与图7所示实施例提供的图像生成装置对应的电子设备的结构示意图;

图9为一示例性实施例提供的又一种图像生成方法的流程图;

图10为一示实施例提供的一种用于执行图9所示图像生成方法的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

本发明各实施例提供的图像生成方法是一种自动生成图像的方案。所谓自动生成图像旨在通过机器自动地输出某一特定类型的图像,如人脸图像,人体图像,动物图像等。

下面结合以下的各个实施例对本文提供的图像生成方法的执行过程进行说明。该图像生成方法可以由一电子设备来执行,具体地,该电子设备中可以运行有图像生成装置,由该图像生成装置完成图像生成方法。实际中,该电子设备可以是诸如pc机、笔记本电脑等终端设备,也可以是服务器。该服务器可以是包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器,或者也可以为云服务器。

图1为一示例性实施例提供的一种图像生成方法的流程图,图2为一示例性实施例提供的一种图像生成方法的原理示意图,结合图2,对本实施例提供的图像生成方法进行介绍。如图1所示,该方法包括如下步骤:

101、响应于图像生成请求,将第一随机噪声向量输入至生成器,以通过生成器生成第一编码向量。

此处的第一随机噪声向量的“第一”二字是为了与后续其他实施例中的随机噪声向量进行区别。同理,第一编码向量中的“第一”二字是为了与后续其他实施例中的编码向量进行区别。

其中,生成器是已训练至收敛的生成器。

可选地,在一些应用场景中,某用户在进行图片设计工作或进行图像处理算法的研发工作,需要某一特定类型的图像,如人脸图像,人体图像等,则针对该用户触发的图像生成请求,响应该图像生成请求。此时,在图像生成请求中可以携带有特定类型的图像的类别信息,并预先对特定类型的图像的类别信息和对应的已训练至收敛的生成器进行关联存储,通过特定类型的图像的类别信息获取对应类型的已训练至收敛的生成器。

然后将第一随机噪声向量11输入至该已训练至收敛的生成器12,已训练至收敛的生成器12对随机噪声向量进行变换,输出第一编码向量13,该第一编码向量13表征该特定类型的图像的特征分布的数据。

其中,第一随机噪声向量11可以为满足某种特定分布的随机噪声向量,如满足高斯分布的随机噪声向量或满足均匀分布的随机噪声向量。

如图2所示,该第一随机噪声向量11可以表示为一维向量。该第一编码向量13可以表示为多维向量的形式或表示为矩阵形式,本实施例中对此不作限定。可以理解的是,该第一编码向量13的数据量小于对应的图像的数据量。

在本实施例中,该生成器可以实现为卷积神经网络(convolutionalneuralnetworks,简称cnn)、循环神经网络(recurrentneuralnetwork,简称rnn)、长短期记忆(longshort-termmemory,简称lstm)网络等神经网络中的任一种。由于卷积神经网络具有局部感受区域、层次结构化等特点,更适用于对图像的处理,所以可选地,本实施例中生成器可以采用cnn网络。

具体地,在生成器采用cnn网络时,由于生成器是将小数据量的第一随机噪声向量进行变换形成大数据量的第一编码向量的过程。所以已训练至收敛的生成器中包括多个反卷积层,将第一随机噪声向量输入到反卷积层中,每个反卷积层对前一反卷积层的输出结果进行反卷积的变换操作,直到最后一个反卷积层输出第一编码向量。

102、将第一编码向量输入至解码器,以通过解码器输出与第一随机噪声向量对应的图像。

其中,解码器是已训练至收敛的解码器。

如图2所示,在得到第一编码向量13后,将第一编码向量13输入到已训练至收敛的解码器14中,已训练至收敛的解码器14对第一编码向量13进行解码,输出与该第一随机噪声向量对应的图像15。

在本实施例中,该解码器可以实现为卷积神经网络(convolutionalneuralnetworks,简称cnn)、循环神经网络(recurrentneuralnetwork,简称rnn)、长短期记忆(longshort-termmemory,简称lstm)网络等神经网络中的任一种。由于cnn网络更适用于对图像的处理,所以可选地,本实施例中解码器可以采用cnn网络。

具体地,在解码器采用cnn网络时,由于解码器也是将小数据量的第一编码向量进行解码形成大数据量的图像的过程。所以已训练至收敛的解码器中包括多个反卷积层,与已训练至收敛的生成器生成第一编码向量的过程类似,将第一编码向量输入到反卷积层中,每个反卷积层对前一反卷积层的输出结果进行反卷积的变换操作,直到最后一个反卷积层输出第一随机噪声向量对应的图像。

可以理解的是,本实施例中对已训练至收敛的生成器和已训练至收敛的解码器的网络结构的设计方式不作限定。

本实施例提供的图像生成方法,由于将生成图像的过程分成两个阶段进行,第一个阶段是先将第一随机噪声向量输入到已训练至收敛的生成器中生成第一编码向量,第二阶段是将第一编码向量输入到已训练至收敛的解码器中解码成图像。由于第一编码向量是图像的特征分布数据,数据量介于第一随机噪声向量和对应的图像之间,所以每个阶段的数据处理过程明显快于由第一随机噪声向量直接生成图像的速度,最终加快了图像自动生成的速度。

图3为一示例性实施例提供的一种编码器解码器训练方法的流程图,图4为一示例性实施例提供的一种编码器解码器训练方法的原理示意图,结合图4,对本实施例提供的编码器解码器训练方法进行介绍。如图3所示,该方法可以包括如下步骤:

201、获取作为训练样本的第一图像。

其中,训练样本为对编码器和解码器进行训练的样本,在训练样本中包括多幅第一图像21。其中,这多幅第一图像都为某一特定类型的图像。如可以为人脸图像,人体图像等。

其中,第一图像可以rgb图像或灰度图像等,本实施例中对此不作限定。

在本实施例中,可将每种类型的训练样本分类进行存储,根据特定类型的图像的类别信息从对应的存储区域获取对应类别的训练样本。

在实际应用中,特定类型的图像类别信息可以为图像类别的名称,存储时的编号等。

202、通过编码器对第一图像进行编码,以得到第二编码向量。

在本实施例中,编码器22可以实现为卷积神经网络(convolutionalneuralnetworks,简称cnn)、循环神经网络(recurrentneuralnetwork,简称rnn)、长短期记忆(longshort-termmemory,简称lstm)网络等神经网络中的任一种。由于卷积神经网络更适用于对图像的处理,所以可选地,本实施例中编码器可以采用cnn网络。

在编码器22采用cnn网络时,由于编码器是将大数据量的第一图像进行编码,生成小数据量的第二编码向量,所以在该编码器中包括多个卷积层,将第一图像输入至卷积层中,每个卷积层对前一卷积层的输出结果进行卷积的操作,直到最后一卷积层输出第二编码向量23。

其中,第二编码向量23是表征第一图像的特征分布的数据,对第二编码向量的表示形式不作限定,如若第一图像可以rgb图像,则第二编码向量可以表示为浮点型三维矩阵的形式。

203、通过解码器对第二编码向量进行解码,以得到第二图像。

在本实施例中,解码器24可采用cnn网络,在解码器中包括多个反卷积层,将第二编码向量输入到解码器的第一反卷积层中,每个反卷积层依次对前一反卷积层的输出向量进行反卷积的操作,以对第二编码向量进行解码,直到最后一反卷积层输出第二图像26。

其中,第二图像26为对第二编码向量23进行解码后与第一图像21相对应的图像。

204、根据第二图像和第一图像确定第一损失函数。

205、根据第一损失函数确定编码器和解码器的参数。

在本实施例中,对编码器22和解码器24进行训练的最终目标是使编码器22编码出的第二编码向量23能够准确表达第一图像的特征分布,以使解码器24对第二编码向量23进行解码后的第二图像26与第一图像21一致。所以根据第二图像和第一图像确定第一损失函数时,最终目标是使第一损失函数中解码后的第二图像26和第一图像21一致。

本实施例中,在第一损失函数中包括编码器的参数和解码器的参数,还包括第二图像和第一图像,通过对编码器和解码器中的参数不断进行训练,使损失函数中的第二图像和第一图像一致。

可以理解的是,若第二图像和第一图像近似相同,或者训练过程中的迭代的次数达到预设次数后,认为此时的编码器的参数和解码器的参数已训练至收敛,包括训练至收敛的参数的解码器和编码器分别为训练至收敛的解码器和训练至收敛的编码器。

本实施例中,对第一损失函数的具体表示形式不作限定。

可选地,本实施例中,在对编码器和解码器训练完成得到训练至收敛编码器和训练至收敛的解码器后,还包括以下步骤:

206、获取第三图像。

207、通过训练至收敛的编码器对第三图像进行编码,以得到第三编码向量。

本实施例中,由于训练至收敛的编码器能够在输入与第一图像同类型的图像后,对该图像进行编码输出该幅图像对应的编码向量后,该编码向量能够准确地表达该幅图像的特征分布,所以本实施例中,获取与第一图像类型相同的第三图像,将第三图像输入到训练至收敛的编码器中,由训练至收敛的编码器对第三图像进行编码,输出第三图像对应的第三编码向量,第三编码向量能够准确地表达第三图像的特征分布。将第三编码向量作为对抗神经网络中的判别器输入的真实编码向量。

图5为一示例性实施例提供的一种生成器判别器训练方法的流程图,图6为一示例性实施例提供的一种生成器判别器训练方法的原理示意图,结合图6,对本实施例提供的生成器判别器训练方法进行介绍。如图5所示,该方法可以包括如下步骤:

301、获取第二随机噪声向量。

可以理解的是,第二随机噪声向量31为与第一随机噪声向量满足同一分布的向量。如若第一随机噪声向量为满足高斯分布的随机噪声向量,则第二随机噪声向量32也为满足高斯随机噪声的向量。

在本实施例中,在获取第二随机噪声向量32时,可通过噪声生成器生成多个第二随机噪声向量,从噪声生成器中获取第二随机噪声向量,也可将生成的第二随机噪声向量进行存储,从对应的存储区域获取多个第二随机噪声向量。

302、通过生成器对第二随机噪声向量进行变换,以得到第四编码向量。

可选地,本实施例中,生成器32和判别器34包括如下神经网络中的任一种:卷积神经网络、循环神经网络、长短期记忆网络。

由于卷积神经网络更适用于对图像的处理,所以可选地,本实施例中生成器32和判别器34可以采用cnn网络。

在生成器32采用cnn网络时,将第二随机噪声向量31输入到生成器的第一反卷积层中,每个反卷积层对前一反卷积层的输出结果进行反卷积的变换操作,直到最后一个反卷积层输出第四编码向量34。

其中,第四编码向量33为通过生成器生成的编码向量。

303、将第三编码向量和第四编码向量输入至判别器,以通过判别器对第四编码向量的真实性进行判别。

在判别器采用cnn网络时,由于判别器34是对输入的第四编码向量33的真实性进行判别的过程,相当于一个二分类器,所以已训练至收敛的判别器中包括多个卷积层和一个全连接层。将第三编码向量23和第四编码向量33输入到卷积层中,每个卷积层对前一卷积层的输出结果进行卷积的操作,最后的卷积层输出第三编码向量的特征数据和第四编码向量的特征数据,然后将第三编码向量的特征数据和第四编码向量的特征数据输入到全连接层中,全连接层根据第三编码向量的特征数据和第四编码向量的特征数据对第四编码向量的真实性进行判别,输出第四编码向量33的真实性判别结果。

304、根据真实性判别结果确定第二损失函数。

305、根据第二损失函数确定生成器和判别器的参数。

在本实施例中,第二损失函数35中包括生成器和判别器的参数和判别器的真实性判别结果,真实性判别结果可采用真实性概率表示。通过对第二损失函数35中的生成器和判别器的参数不断进行训练,生成器32的目标是尽量生成真实的编码向量去欺骗判别器34。而判别器34的目标是尽量把生成器32生成的编码向量和真实编码向量区分开来。这样,生成器32和判别器34构成了一个动态的“博弈过程”。当生成器32可以生成足以“以假乱真”的编码向量后,对于判别器34来说,难以判别生成器32生成的编码向量究竟是不是真实的,即真实性判别结果的真实性概率接近于0.5时,则认为此时的生成器32和判别器34的参数已训练至收敛,包括训练至收敛的参数的生成器和判别器分别为训练至收敛的生成器和训练至收敛的判别器。

其中,第二损失函数35的具体表示形式不作限定。

本实施例提供的生成器判别器训练方法,由于在对生成器和判别器进行训练时,生成器对随机噪声向量进行变换,得到的是表征图像特征的编码向量,编码向量的的数据量远小于由随机噪声向量直接生成的图像的数据量,生成器和判别器只负责学习由随机噪声向量生成较小数据量的编码向量,所以大大降低了训练过程的计算量,加快了生成器和判别器的训练速度。

以下将详细描述本发明的一个或多个实施例的图像生成装置。本领域技术人员可以理解,这些图像生成装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图7为本发明实施例提供的一种图像生成装置的结构示意图,如图7所示,该装置包括:第一编码向量生成模块41、图像输出模块42。

编码向量生成模块41,用于响应于图像生成请求,将第一随机噪声向量输入至生成器,以通过生成器生成第一编码向量。

图像输出模块42,用于将第一编码向量输入至解码器,以通过解码器输出与第一随机噪声向量对应的图像。

其中,生成器是已训练至收敛的生成器,解码器是已训练至收敛的解码器。

可选地,该图像生成装置还包括:第一训练模块,用于获取作为训练样本的第一图像;通过编码器对第一图像进行编码,以得到第二编码向量;通过解码器对第二编码向量进行解码,以得到第二图像;根据第二图像和第一图像确定第一损失函数;根据第一损失函数确定编码器和解码器的参数。

可选地,该图像生成装置还包括:编码模块,用于获取第三图像;通过训练至收敛的编码器对第三图像进行编码,以得到第三编码向量。

可选地,该图像生成装置还包括:第二训练模块,用于获取第二随机噪声向量;通过生成器对第二随机噪声向量进行变换,以得到第四编码向量;将第三编码向量和第四编码向量输入至判别器,以通过判别器对第四编码向量的真实性进行判别;根据真实性判别结果确定第二损失函数;根据第二损失函数确定生成器和判别器的参数。

可选地,本实施例中,编码器和解码器包括如下神经网络中的任一种:卷积神经网络、循环神经网络、长短期记忆网络。生成器和判别器包括如下神经网络中的任一种:卷积神经网络、循环神经网络、长短期记忆网络。

图7所示装置可以执行前述各实施例提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述图7所示的图像生成装置的结构可实现为一电子设备,该电子设备可以是终端设备也可以是服务器,如图8所示,该电子设备可以包括:第一处理器51、第一存储器52。其中,第一存储器52上存储有可执行代码,当可执行代码被第一处理器51执行时,使第一处理器51可以执行如前述各实施例中提供的摘要生成方法。

实际上,该电子设备中也可以包括第一通信接口53,用于与其他设备进行通信。

另外,本发明实施例提供了一种非暂时性机器可读存储介质,非暂时性机器可读存储介质上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器可以执行如前述各实施例中提供的图像生成方法。

图9为一示例性实施例提供的又一种图像生成方法的流程图,如图9所示,该方法包括如下步骤:

401、获取样本图像对应的图像特征分布。

在本实施例中,在一些应用场景中,某用户在进行图片设计工作或进行图像处理算法的研发工作,需要某一特定类型的图像。针对这些应用场景,预先对每种特定类型的图像设置了样本图像,并将样本图像与对应的图像特征分布进行了关联存储。可将每种样本图像通过客户端或网页展示给用户。

402、响应于图像生成请求,获取随机噪声向量。

403、根据图像特征分布对随机噪声向量进行编码,以得到编码向量。

在本实施例中,用户可通过操作界面点击样本图像,并通过确认键的方式触发图像生成请求,在获取到图像生成请求后,获取随机噪声向量,根据图像特征分布对随机噪声向量进行编码,编码得到的编码向量是满足与样本图像同类型的图像的特征分布的编码向量,该编码向量的数据量小于生成的图像的数据量。

404、对编码向量进行解码,以得到与随机噪声向量对应的图像。

在本实施例中,对编码向量可采用与样本图像对应的解码器进行解码,解码后获得与随机噪声向量对应的图像。

在一个可能的设计中,图9所示的图像生成方法可以由一电子设备执行,该电子设备可以是终端设备也可以是服务器,如图10所示,该电子设备可以包括:第二处理器61、第二存储器62。其中,第二存储器62上存储有可执行代码,当可执行代码被第二处理器61执行时,使第二处理器61可以执行如前述图9所示实施例中提供的图像生成方法。

实际上,该电子设备中也可以包括第二通信接口63,用于与其他设备进行通信。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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