图像生成方法与流程
未命名
09-22
阅读:69
评论:0
1.本说明书实施例涉及计算机技术领域,特别涉及一种图像生成方法。
背景技术:
2.随着人工智能(ai)技术的不断发展,在图像生成领域中,根据一些概念描述语句,ai自动生成图像的文生图技术,也在各种计算机服务场景中被广泛的应用。而文生图技术是基于人工智能技术实现的,通过大量样本对神经网络模型进行训练,从而达到将概念描述语句输入神经网络模型中,即可自动生成图像的目的。例如,将“戴墨镜男性”这一个包含“墨镜”和“男性”这两个概念的多概念定制化语句输入神经网络模型中,即可生成一张戴墨镜男性的图像。
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.图1是本说明书一个实施例提供的一种多概念定制模型的结构示意图;
43.图2是本说明书一个实施例提供的一种图像生成方法的应用场景示意图;
44.图3是本说明书一个实施例提供的一种图像生成方法的流程图;
45.图4是本说明书一个实施例提供的一种图像生成方法的处理过程流程图;
46.图5是本说明书一个实施例提供的另一种图像生成方法的流程图;
47.图6是本说明书一个实施例提供的一种图像生成模型训练方法的流程图;
48.图7是本说明书一个实施例提供的一种图像生成装置的结构示意图;
49.图8是本说明书一个实施例提供的一种图像生成模型训练装置的结构示意图;
50.图9是本说明书一个实施例提供的另一种图像生成装置的结构示意图;
51.图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
52.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
53.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
54.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
55.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
56.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
57.扩散模型(diffusion model):扩散模型是受非平衡热力学的启发,是深度生成模型中新的sota。
58.定制化生成(customized generation):关于由用户给定的相关概念的生成任务多定制概念(multi-subject customization):一张图中生成多个用户提供的定制概念。
59.sota(state-of-the-art):用于描述机器学习中取得某个任务上当前较优效果的模型。
60.u-net:一种图像分割网络。
61.由于基于神经网络模型实现的文生图技术,在各种计算机服务场景中被广泛的应用,因此在训练神经网络模型的过程中,为了使神经网络模型能够生成多概念定制化图像,会让神经网络模型分别学习每一个多概念定制化语句。但是,由于实际场景中的概念词语较多,导致多个概念词语组合成的多概念定制化语句的数量十分庞大,从而导致一些多主体图像生成方法在合成多个主体(例如墨镜、男性等概念)时容易出现属性混淆,导致生成的图像与参考图像相似度降低。并且这些方法大多是将多概念数据共同训练,只要有新的定制物体需要定制,就需重新进行训练,从而导致计算资料大量浪费。例如,由于扩散模型
是参数神经网络,通过逐渐去噪来学习图像分布。因此,为了进一步探索扩散模型的可扩展性,许多工作致力于基于扩散的条件生成,大致可分为两类。第一种是称为分类器指导的方法,它利用分类器来促进预训练无条件模型的采样过程。第二种称为无分类器方法,它在条件概率推导的保证下直接收集大量数据对进行联合优化。这种方法可以产生非常详细的结果,但是,需要大量的数据和计算资源。并且,由于语言和跨模态基础模型的进步,许多使用无分类器技术的文本到图像的工作开始出现,促进了对相应语义和风格的显式控制。然而,文本的表达能力仍然有限,更多的工作希望利用附加的、有条件的信息参考图像、背景和草图来进一步指导全局控制,并且,文本生成图像的扩散模型将通过描述图像内容的文本提示来指导这个去噪过程。通常它是通过对噪声图像进行去噪来训练的,从而导致模型训练效率较低。需要特定说明的是,本说明书提供一种从文本到图像扩散的多概念定制模型,其基本思想是通过微调交叉注意力机制(cross attention)得到更好的定制化生成效果,但是同样存在模型训练效率较低,会浪费大量计算资源的问题,其中,自定义生成(定制化生成)的目的,是将给定的主题植入到扩散模型中,并为其绑定一个唯一的文本标识符以表明其存在;这样模型就可以在文本提示的引导下生动地生成主题的各种再现。具体参见图1,图1是本说明书一个实施例提供的一种多概念定制模型的结构示意图,该多概念定制化模型是扩散模型u-net,该模型采用联合训练的方法,直接采用包含多个概念的多概念定制化语句对模型进行训练。具体过程为:将“photo of a v*dog”这一个多概念定制化语句,输入至文本转换器(text transformer),通过文本转换器将“photo of a v*dog”映射成嵌入向量(embedding)。需要注意的是,文本转换器所输出的嵌入向量的维度可以是77*1024。其中,77维度中的部分维度与“photo of a v*dog”这句话中的词相对应的。例如,77维度中前面几个维度,分别对应“photo of a v*dog”这句话中的每一个词,“photo of a v*dog”中“dog”这个词语就是第5纬的1024。在获得语句嵌入向量之后,将其输入至不同的attention层(注意力神经网络层)中。通过该attention层和残差网络(resnet),将x
t
的噪声小狗图像,还原成x
t-1
的小狗图像。其中,可训练向量(trainable)是指扩散模型中需要被训练微调的向量,也即是图1中的“v*”向量;该训练固定向量(frozen)是指扩散模型中被固定的、无需进行训练的向量,也即是图1中的“photo”、“of”、“a”、“dog”等向量。
62.基于此,在本说明书中,提供了一种图像生成方法,本说明书同时涉及一种图像生成模型训练方法、另一种图像生成方法、一种图像生成模型训练装置,两种图像生成装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
63.图2示出了根据本说明书一个实施例提供的一种图像生成方法的应用场景示意图,参见图2可知,用户向终端输入“一只猫和一只狗”的文本,该终端在接收到该文本之后,将该文本输入至扩散模型中,利用该扩散模型中的编码器对文本进行编码处理,获得文本嵌入向量。并根据文本中“猫”“狗”等词语,从预先缓存的残差向量中,确定猫狗等对象的残差向量。将该残差向量添加至文本嵌入向量中可以在生成的图像中产生相应的猫狗等对象。从而获得多概念定制化图像。基于此,本说明书提供的图像生成方法,为每一种概念(对象)找到一个残差向量,可以无限复用。并且多概念不需要训练的进行组合,不同于其他方法中多概念共同训练的方式,大大节约了计算资源。
64.图3示出了根据本说明书一个实施例提供的一种图像生成方法的流程图,具体包
括以下步骤。
65.步骤302:将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量。
66.其中,对象可以理解为需要生成为图像的特定主体,该对象包括但不限于物品、动植物、人、风景等。例如,该对象可以为墨镜、猫、狗、男性等,本说明书对此不进行具体限制。该对象可以理解为上述实施例中的概念、主体等。包含至少两个对象的对象描述文本,可以理解为用于描述两个或两个以上的对象的语言,例如,“戴墨镜的男性”这个语句中描述有“墨镜”和“男性”这两个对象;“一只猫和一种狗”这个语句中描述有“猫”和“狗”这两个对象。在实际应用中,该对象描述文本可以为实际需要进行设置,本说明书对此不作具体限制。该图像生成模型可以理解为能够根据包含至少两个对象的对象描述文本,生成包含至少两个对象的对象图像的模型。例如,该图像生成模型可以为实现文生图技术的神经网络模型、扩散模型等,本说明书对此不作具体限制。该初始文本向量可以理解为表征对象描述文本中每个词语的特征向量。例如,该初始文本向量为“一只猫和一种狗”这个语句对应的文本嵌入向量;需要说明的是,该文本嵌入向量的维度可以根据实际应用场景进行设置。
67.具体的,本说明书提供的图像生成方法,能够获得包含至少两个对象的对象描述文本,并将该对象描述文本输入至图像生成模型中,从而确定该对象描述文本对应的初始文本向量。进一步的,在本说明书提供的一实施例中,为了保证图像生成模型能够生成生动且准确的对象图像,需要从该图像生成模型中的文本编码模块,对对象描述文本进行编码处理,从而使后续能够基于编码后的文本嵌入向量,生成准确的对象图像。具体的,所述将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量,包括:
68.确定包含至少两个对象的对象描述文本;
69.将所述对象描述文本输入图像生成模型,利用所述图像生成模型中的文本编码模块对所述对象描述文本进行处理,获得所述对象描述文本对应的初始文本向量。
70.在本说明书提供的一实施例中,包含至少两个对象的对象描述文本可以是用户提供的,基于此,所述确定包含至少两个对象的对象描述文本,包括:
71.接收用户发送的图像生成请求,并从所述图像生成请求中获取包含至少两个对象的对象描述文本。其中,该图像生成请求可以理解为指示图像生成方法所应用的计算设备,生成对象图像的请求。需要说明的是,本说明书提供的图像生成方法可以应用于计算机、手机,客户端、移动终端或服务器等计算设备,本说明书对此不作具体限制。
72.基于此可知,本说明书提供的图像生成方法,能够接收用户发送的图像生成请求,该图像生成请求中携带有包含至少两个对象的对象描述文本。后续通过响应于该图像生成请求,将包含至少两个对象的对象描述文本输入至图像生成模型中,获得包含至少两个对象的对象图像,从而根据用户的不同需求生成对应的对象图像。
73.此外,在一些特殊的计算机服务场景中,包含至少两个对象的对象描述文本可以预先存储在图像生成方法所应用的计算设备中。当接收图像生成请求后,可以快速的获得本地存储的对象描述文本生成对应的对象图像。具体的,基于此,所述确定包含至少两个对象的对象描述文本,包括:
74.从接收到的图像生成请求中获取文本标识,并从预存的对象描述文本中,确定与
所述文本标识对应的对象描述文本,其中,所述对象描述文本包含至少两个对象。
75.其中,该文本标识可以理解为唯一标识一个对象描述文本的信息,例如,“一只猫和一种狗”这个对象描述文本可以用字符a表示。基于此,本说明书提供的图像处理方法,当接收到用户或者其他计算设备发送的图像生成请求时,从该图像生成请求中获取文本标识。从本地存储的包含至少两个对象的对象描述文本中,快速的确定与该文本标识对应的对象描述文本。后续将该对象描述文本输入至图像生成模型中,获得包含至少两个对象的对象图像。
76.其中,该文本编码模块可以理解为图像生成模型中对对象描述文本进行编码处理的网络层,例如,该文本编码模块可以为文本编码器(text encoder)。
77.具体的,本说明书提供的图像生成方法,能够在确定包含至少两个对象的对象描述文本之后,将该对象描述文本输入图像生成模型,利用图像生成模型中的文本编码模块对对象描述文本进行编码处理,从而获得对象描述文本中每个词语对应的词文本向量;每个词语对应的词文本向量,构成了对象描述文本对应的初始文本向量。
78.例如,该对象描述文本为“a cat and a dog”。基于此,通过将该对象描述文本输入扩散模型中的文本编码器,利用该文本编码器对“a cat and a dog”进行编码处理,获得每个单词对应的文本嵌入向量。
79.步骤304:确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成。
80.其中,该预存对象向量可以理解为单个对象对应的残差向量,该残差向量在训练该图像生成模型过程中产生。并且,该残差向量可以存储在图像生成方法所应用的计算设备中。在实际应用中,该预存对象向量也可以理解为每个单独对象的剩余令牌嵌入或者残差标记嵌入。
81.该训练样本向量可以理解为在图像生成模型训练过程中,每个样本对象描述文本进行编码后生成文本嵌入向量。
82.具体的,在本说明书提供的一实施例中,所述确定所述至少两个对象的预存对象向量,包括:
83.确定所述对象描述文本中的对象标识词,其中,所述对象描述文本为所述对象标识词以及除所述对象标识词之外的对象特征词构成,一个所述对象标识词表示一个所述对象;
84.从预存对象向量中,确定所述对象标识词相关联的目标预存对象向量;
85.将所述目标预存对象向量,确定为所述至少两个对象的预存对象向量。
86.其中,该对象标识词可以理解为对象描述文本中直接表示特定对象的词语,一个对象标识词直接表示一个对象,通过该对象标识词可以确定一个对象。例如,在“戴墨镜的男性”这个对象描述文本中,“墨镜”和“男性”这两个词语直接表示墨镜和男性这两个对象,因此,该“墨镜”和“男性”即为对象标识词。再例如,在“a cat and a dog”这个对象描述文本中,“cat”和“dog”这两个词语直接表示猫和狗这两个对象,因此,“cat”和“dog”即为对象标识词。
87.该对象特征词可以理解为对象描述文本中对对象的特征进行描述的词语,通过该对象特征词可以确定特定对象的部分属性特征。例如,在“a cat and a dog”这个对象描述
文本中,“a”这个词语描述了猫和狗分别为一个,“and”这个词语描述了猫和狗均在图像中显示。因此,“a”和“and”即为对象特征词。需要说明的是,在一个实施例中,一个对象描述文本中除了对象标识词之外的其他词语可以是对象特征词。
88.具体的,本说明书提供的图像生成方法,需要利用该图像生成模型,确定该对象描述文本中的对象标识词,并从预先存储在本地的预存对象向量中,确定与该对象标识词相关联的目标预存对象向量。然后将该目标预存对象向量,确定为至少两个对象的预存对象向量。沿用上例,在将“a cat and a dog”这个对象描述文本输入至扩散模型之后,该扩散模型会从“a cat and a dog”确定出“cat”和“dog”这两个词语,并从本地存储的多个残差向量中,确定与“cat”和“dog”这两个词语对应的残差向量,该残差向量即为猫和狗这两个概念对应的残差向量。
89.基于此,本说明书提供的图像生成方法,通过每一种概念(对象)找到一个残差向量并进行存储,即可无限复用。并且,每种概念对应的残差向量只需要较小的存储空间,例如5kb左右,从而避免了其他多概念定制化生成方法要求以全数字精度保存扩散模型的参数,因此对于移动设备中的大规模应用程序,可能花费相当大的成本的问题。本说明书提供的图像生成方法,只储存每种概念的文本嵌入残差向量,只需要较小的存储空间,降低了成本。
90.步骤306:通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像。
91.其中,该目标文本向量可以理解为基于该预存对象向量对初始文本向量进行调整后的向量。包含所述至少两个对象的对象图像,可以理解为一张包含两个或两个以上对象的图像,例如,一种包含一只猫和一只狗的图像、一种戴墨镜的男性的图像等。
92.在本说明书提供的一实施例中,本说明书提供的图像生成方法,提出了一种用于多主体图像生成的方法,该方法通过学习单个主体的残差向量来实现多个主体的自定义合成,从而后续基于多个残差向量的组合,生成多概念定制化图像,具体为,所述通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,包括:
93.根据所述对象描述文本中的对象标识词,从所述初始文本向量中确定所述至少两个对象对应的待调整向量;
94.将所述预存对象向量与所述初始文本向量中的所述待调整向量相加,获得目标文本向量。
95.其中,待调整向量可以理解为每个对象所对应的文本嵌入向量。
96.具体的,本说明书提供的图像生成方法,利用图像生成模型确定对象描述文本中的对象标识词,并根据该对象标识词从初始文本向量中,确定至少两个对象对应的待调整向量;然后基于该预存对象向量,对初始文本向量中的待调整向量进行调整,获得目标文本向量。例如,本说明书提供的图像生成方法,在扩散模型确定“cat”和“dog”这两个对象的残差向量之后,从“a cat and a dog”这个对象描述文本的文本嵌入向量中,将“cat”和“dog”这两个词语对应的文本嵌入向量,确定为猫和狗这两个对象对应的文本嵌入向量。然后将猫和狗这两个对象的残差向量,与对应的文本嵌入向量相加,从而将残差向量添加到“a cat and a dog”这个对象描述文本的基本类别嵌入向量中,从而生成包含对象残差向量的最终文本嵌入向量。该最终文本嵌入向量所生成的图像中,会产生相应的主题(cat、dog)。
97.在本说明书提供的一实施例中,在确定目标文本向量之后,利用该图像生成模型中的向量处理模块对该目标文本向量进行处理,从而生成包含至少两个对象的对象图像。具体的,所述根据所述目标文本向量生成包含所述至少两个对象的对象图像,包括:
98.利用所述图像生成模型中的向量处理模块,对所述目标文本向量进行处理,获得包含所述至少两个对象的对象图像。
99.其中,该向量处理模块可以理解为对目标文本向量进行解码处理,从而生成对象图像的模块。例如,该向量处理模块可以为u-net模型。例如,在获得最终包含对象残差向量的文本嵌入向量之后,会将该文本嵌入向量输入至u-net模型进行解码处理,从而获得包含猫和狗的图像。
100.进一步的,在本说明书提供的实施例中,本说明书提供的图像生成方法,在解决模型训练过程中计算资源消耗高问题的同时,在模型应用阶段,也能够避免多主体图像(即多概念定制化图像)生成中的属性混淆问题,其他多主体图像生成方法,在合成多个主体时容易出现属性混淆,从而导致生成的图像与参考图像相似度降低,例如,小狗和小猫在图像中重叠。因此,本方法提出了一种基于自定义扩散模型的方法,通过学习单个主体的残差向量来实现多个主体的自定义合成,避免了属性混淆问题的出现。具体的,所述利用所述图像生成模型中的向量处理模块,对所述目标文本向量进行处理,获得包含所述至少两个对象的对象图像,包括:
101.利用所述向量处理模块对所述目标文本向量进行解码处理,获得所述对象描述文本对应的图像特征;
102.根据所述至少两个对象的对象显示位置参数,对所述图像特征进行调整,获得调整后的图像特征;
103.继续对所述调整后的图像特征进行解码处理,获得包含所述至少两个对象的对象图像。
104.其中,图像特征可以理解为该向量处理模块在基于目标文本向量生成对象图像过程中,利用注意力机制为对象描述文本中每个词语确定的注意力图。也即是说,该图像特征可以理解为注意力图。
105.对象显示位置参数可以理解为表示该对象在对象图像中显示位置的参数,该参数可以为坐标信息,也可以区域信息。在实际应用中,为了实现高质量的多主题(即对象)生成,本方法使用布局(即对象显示位置参数)作为将主题排列到注意力图中的空间指导,该布局是一种抽象且易于访问的先验。用户可以将其定义为一组主题边界框,它描述了主题的空间组成。具体来说,本方案在注意力图中分别强调与这些主题对应的所需区域,同时根据布局先验对与其他主题相关的区域施加限制,从而获得调整后的注意力图,后续基于该注意力图生成准确的对象图像,避免属性混淆。
106.例如,本说明书提供的图像生成方法,会在获得包含残差向量的文本嵌入向量之后,首先,将其输入至u-net模型(即向量处理模块)中。该u-net模型会对该文本嵌入向量进行解码处理,并通过注意力机制确定该文本嵌入向量的注意力图。其中,每个词语对应的一个注意力图。其次,根据用户针对“cat”和“dog”这两个对象提供的布局,将两个对象排列到注意力图中的空间位置中,获得调整后的注意力图。最后,通过u-net模型根据该调整后的注意力图生成包含猫和狗的图像,从而实现每个对象都能够准确的图像中进行展示,避免
对象出现属性混淆。
107.进一步的,在本说明书提供的实施例中,所述根据所述至少两个对象的对象显示位置参数,对所述图像特征进行调整,获得调整后的图像特征,包括:
108.获取所述至少两个对象的对象显示位置参数,并从所述对象显示位置参数中,确定目标对象对应的目标对象显示位置参数,其中,所述目标对象为所述至少两个对象中的任一对象;
109.从所述图像特征中确定所述目标对象对应的目标对象图像特征;
110.基于所述对象显示位置参数,确定所述目标对象在所述目标对象图像特征的目标位置,并对所述目标对象在所述目标位置的对象显示权重进行调整,获得调整后的图像特征。
111.其中,目标对象可以理解为至少两个对象中的任意一个对象。例如,该至少两个对象为猫和狗两个对象,该目标对象是指该猫或者狗。
112.该目标对象图像特征是指多个注意力图中目标对象对应的交叉注意力图。例如,“a cat and a dog”这个对象描述文本中的每个词,会存在对应的交叉注意力图。而“cat”和“dog”这两个词对应的交叉注意力图,则是猫和狗这两个对象所对应的交叉注意力图。
113.对象显示权重可以理解为目标对象在特定区域内显示的权重,也可以理解为该对象显示权重是指目标对象在用户希望它出现的图像区域内的信号。权重或信号越强,目标在该图像区域中显示的准确度越高;权重或信号越弱,目标在该图像区域中显示的准确度越低。
114.沿用上例,本说明书提供的图像处理方法,能够获取多主题定制的第一个问题在于:某些主题可能无法按照文本提示中的描述显示。本方法认为这是由于这些受试者的交叉注意力图中的激活值不足造成的。为了避免这种情况,本方案选择在用户希望它出现的区域加强目标主体的信号。削弱无关主题的信号。多主题定制中的第二个问题是属性混淆:生成图像中的主题可能包含其他主题的特征。本方案认为这是由于交叉注意力图中不同主体的重叠激活区域所致。为了避免这种情况,本方法选择削弱出现在其他定制物体区域中的每个定制的物体信号分量。
115.基于此,本方法获取用户发送的、针对猫和狗这两个对象的布局,从“a cat and a dog”的文本嵌入向量对应的多个交叉注意力图中,确定猫和狗对应的交叉注意力图,也即是“cat”和“dog”这两个词对应的交叉注意力图。根据用户提供的布局先验,确定每个对象在对应的交叉注意力图中的显示区域。比如,确定狗这个对象在其对应的交叉注意力图中的显示区域;确定猫这个对象在其对应的交叉注意力图中的显示区域。然后,在每个区域加强对应的对象的权重,并降低每个对象在其他区域中的权重。比如,在狗这个对象对应的区域中加强狗这个对象的信号(即权重),并降低狗这个对象,在其他对象显示区域的信号。从而达到选择在希望对象出现的区域加强目标主体(对象)的信号。削弱无关主题的信号。以及选择削弱出现在其他定制物体区域中的每个定制的物体(即对象)的信号分量,从而通过attent ion(注意力机制)来解决属性混淆。
116.具体的,基于交叉注意力机制调整交叉注意力图中,不同区域的目标主体信号的方式,可以参见下述公式(1),该公式1表示如何增强目标对象在自身区域中的信号分量,以及削弱目标对象在其他对象区域中的信号分量。
[0117][0118]
其中,editedca表示交叉注意力机制,ca表示注意力图,softmax为一种激活函数,t为时间,c表示输入的文本embedding(嵌入向量),s是指对象(例如dog)的那个维度,e表示平均值,w表示权重矩阵。m是指用户提供的layput数值化,例如,是layput数值化这个东西的区域就是1不是就是0。η是一个权重参数。
[0119]
在本说明书提供的一实施例中,本方法针对将多概念数据共同训练过程中,只要有新的定制物体需要定制,就需重新进行训练的问题,提出了一种traningfree的、将多概念组合的方法。只需要在模型训练过程中为每种概念找到残差向量,即可无限复用。基于此,本方法针对图像生成模型的训练过程具体如下。所述将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量之前,还包括:
[0120]
确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像;
[0121]
将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量;
[0122]
利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量;
[0123]
根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。
[0124]
其中,样本对象描述文本可以理解为作为样本的、针对单个对象的描述文本。例如,“一张狗的图像”、“一张猫的照片”、“a photo of dog”。该参考对象图像可以理解为样本对象描述文本中所描述的对象的图像。例如,样本对象描述文本为“一张狗的图像”,该参考对象图像为狗的图像。
[0125]
训练文本向量可以理解为样本对象描述文本对应的文本嵌入向量
[0126]
例如,本方法提供的图像生成模型训练方案,本方案训练扩散模型的目标是生成生动准确地、包含这些主题的任何组合的新图像。基于此,本方法要求确定每个对象对应的残差向量,后续可以通过将特定主题的残差向量与预训练的扩散模型相结合,并使用布局指导生成过程来实现这一目标。
[0127]
而针对扩散模型的训练包括:从不同的角度给定一组主题(样本对象描述文本),比如“a photo of dog”,以及其对应的3-5张狗的样本照片(参考对象图像)作为训练样本。将“a photo of dog”输入至扩散模型中的文本编码器,输出该“a photo of dog”对应的文本嵌入向量(训练文本向量)。
[0128]
将该文本嵌入向量输入至扩散模型中的u-net模型中,获得对应的生成图像。同时,本方案能够根据“a photo of dog”对应的文本嵌入向量,生成狗这个对象对应的残差向量。
[0129]
在获得u-net模型生成的图像后,基于该生成图像与样本照片确定针对该扩散模型的损失函数,并基于该损失函数对扩散模型进行训练,直至达到训练停止调整,获得训练
后的扩散模型。
[0130]
在说明书提供的一实施例中,为了降低计算资源浪费,需要确定每个对象对应的预存对象向量,而生成该预存对象向量的方式如下,所述根据所述训练文本向量生成样本对象对应的预存对象向量,包括:
[0131]
根据所述样本对象描述文本中的样本对象标识词,从所述训练文本向量中确定所述样本对象对应的第一样本对象文本向量;
[0132]
将所述样本对象描述文本输入训练前图像生成模型中的文本编码模块,获得所述样本对象描述文本的未训练文本向量;
[0133]
根据所述样本对象标识词,从所述未训练文本向量中确定所述样本对象对应的第二样本对象文本向量;
[0134]
将所述第一样本对象文本向量与所述第二样本对象文本向量的平均差值,作为所述样本对象的预存对象向量。
[0135]
其中,样本对象可以理解为作为样本的对象,该样本对象与上述实施例中的对象为一致。该样本对象标识词可以理解为样本描述文本中直接表示特定样本对象的词语,一个样本对象标识词直接表示一个样本对象。例如,在“a photo of dog”这个样本对象描述文本中,“dog”这个词语直接表示狗这个样本对象。第一样本对象文本向量可以理解为训练文本向量中样本对象对应的文本嵌入向量。该训练前图像生成模型是指在针对图像生成模型进行本次模型训练之前的图像生成模型。该未训练文本向量是指通过训练前图像生成模型中的文本编码模块,获得的所述样本对象描述文本对应的文本嵌入向量。
[0136]
沿用上例,在文生图模型(扩散模型)中,用户给的文本是由文本编码器(text encoder)进行编码处理,从而获得对应的文本嵌入向量(text embedding)。本方法在确定每个对象的残差向量的过程中,想寻找的是一个平均变化量。这个平均变化量就是由训练过的文本编码器(text encoder),和frozen(训练固定)的文本编码器(text encoder)来计算各种文本下,定制化对象(例如,custom dog)这一维度的均值,比如各种文本包括(“一只狗在沙滩上”,“一只狗在睡觉”等等)。其中,frozen(训练固定)表示被固定的、无需进行训练。因此,该frozen(训练固定)的文本编码器是指扩散模型中被固定的、无需进行训练的编码器。通过计算这些文本在两个text encoder输出的嵌入向量(即训练文本向量和未训练文本向量)中,在狗那个向量维度(即第一样本对象文本向量和第二样本对象文本向量)上的平均差值,并将该平均差值作为残差向量。需要说明的是,针对该残差向量的计算方法,可以参见下述公式(2)。该公式(2)表示寻找每种概念的方法为:计算训练后的text encoder和原本text encoder,在不同文本下的类别到特定物体残差向量:
[0137][0138]
其中,该表示狗这个对象的残差向量,c
dog
是指所有dog相关的文本,用于去求这个变化的均值,e
custom
是指训练过的text encoder,c输入的文本embedding。
[0139]
在本说明书提供的实施例中,在对图像生成模型进行训练的过程中,其主要内容是给定自定义主题的少量图像,并微调文本编码器,以在原始主题的基本嵌入之上学习残
差嵌入,其中具体微调当前数据损失计算方式如下。所述根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,包括:
[0140]
根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的第一损失函数;
[0141]
根据所述未训练文本向量和所述训练文本向量,确定所述图像生成模型的第二损失函数;
[0142]
将所述第一损失函数和所述第二损失函数相加,获得所述图像生成模型的损失函数。
[0143]
沿用上例,本说明书在训练扩散模型的过程中,当通过u-net模型生成图像之后,会将该图像与样本参数图像计算第一个损失函数,该损失函数可以参见下述公式(3)。
[0144][0145]
其中,是指求均值,x
θ
是扩散模型以及参数。是真实噪声,是预测的噪声,c是输入的文本embedding,t是时间。
[0146]
在确定第一个损失函数之后,会确定训练过的文本编码器(text encoder),和frozen(训练固定的)的文本编码器(text encoder)输出的嵌入向量,并分别从两个嵌入向量中确定,除样本对象对应的嵌入向量之外的其他嵌入向量,并基于其他嵌入向量,计算获得第二个损失函数,该损失函数可以参见下述公式(4)。该公式(4)是为了寻找每一种概念的残差:
[0147][0148]
其中,e
custom
是指训练过的text encoder,p是维度。s是指对象(例如dog)的那个维度。c输入的文本embedding,e表示平均值,c
dog
是指所有dog相关的文本。
[0149]
最后,整体扩散模型的损失为两项损失相加。
[0150]
本说明书提供的图像生成方法,不需要让图像生成模型学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而在实际应用中,当向图像生成模型中输入包含至少两个对象的对象描述文本的情况下,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,从而保证图像生成模型的顺利运行,提供稳定的图像生成能力。
[0151]
下述结合附图4,以本说明书提供的图像生成方法在针对于扩散模型中多概念定制化生成场景中的应用为例,对所述图像生成方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种图像生成方法的处理过程流程图,根据图4可知,本说明书提供的图像生成方法包括两个阶段:训练阶段和应用阶段。
[0152]
其中,针对训练阶段的处理过程包括:
[0153]
首先,从不同的角度给定一组文本(即图4中的文本“a photo of dog”)作为训练样本,并确定该训练样本对应的参考图像(2-5张狗的图像)。将训练样本输入至进行训练(tun ing)的文本编码器(text encoder)中,获得该训练样本对应的文本嵌入向量(text embedd ing)。将该文本嵌入向量输入至训练固定(frozen)的u-net模型,该u-net模型利用噪声图像和文本嵌入向量生成图像,从而获得模型输出的图像。其中,扩散模型包括该文本编码器和u-net模型。
[0154]
其次,将训练样本“a photo of dog”输入至训练固定(frozen)的文本编码器,获得对应的文本嵌入向量。其中,该训练固定的文本编码器是本轮训练之前原本的文本编码器。
[0155]
确定两个文本编码器输出的文本嵌入向量,计算两个文本嵌入向量中,“dog”这一维度的文本嵌入向量的平均差值,并将该平均差值作为“dog”这个对象的残差向量(图4中的)。
[0156]
最后,基于u-net模型输出的生成图像与参考图像,计算一个损失函数(即上述公式3);通过两个文本嵌入向量中,除“dog”这一维度之外的文本嵌入向量,计算另一个损失函数(即上述公式4)。将两个损失函数作为扩散模型的整体损失函数,并基于该整体损失函数对扩散模型进行训练,获得训练后的扩散模型。
[0157]
其中,针对训练阶段的处理过程包括:
[0158]
首先,接收用户发送的文本“a cat and a dog”,将该文本输入到扩散模型中训练固定的文本编码器,获得文本嵌入向量。
[0159]
从该文本嵌入向量中确定“cat”和“dog”这两个对象的文本嵌入向量,并从本地缓存的残差向量中,获得该猫和狗对应的残差向量(即图4中和)。将残差向量与两个对象的文本嵌入向量相加,从而将残差向量添加至“a cat and a dog”对应的文本嵌入向量。
[0160]
其次,通过注意力机制对文本嵌入向量进行处理,确定“a cat and a dog”中每个单词对应的交叉注意力图。针对“cat”和“dog”这两个对象的交叉注意力图,根据用户提供的布局(一种抽象且易于访问的先验,用户可以将其定义为一组主题边界框),确定两个对象在交叉注意力图中的区域,在每个区域加强对应的对象的权重,并降低每个对象在其他区域中的权重。
[0161]
最后,在对交叉注意力图进行编辑后,基于调整过权重的交叉注意力图生成包含猫和狗的图像。
[0162]
基于此上述内容可知,本说明书提供的图像生成方法,通过将特定主题的剩余令牌嵌入(即残差向量)与预训练的扩散模型相结合,并使用布局指导生成过程,从而生动准确地生成包含任何主题组合的新图像。通过将每个主题表示为从其基本类别转移的剩余令牌嵌入(即残差向量)。将残差标记嵌入(即残差向量)添加到基本类别嵌入(即“a cat and a dog”经过text encoder以后得到的embedding)中可以在生成的图像中产生相应的主题。并且在推理时,克服了主题未出现和不同主题之间的属性混淆等多主题定制生成中的两个关键问题。
[0163]
图5示出了根据本说明书一个实施例提供的另一种图像生成方法的流程图,该图
像生成方法,应用于云侧设备,具体包括以下步骤。
[0164]
步骤502:接收端侧设备发送的对象描述文本,其中,所述对象描述文本中包含至少两个对象。
[0165]
步骤504:将所述对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量。
[0166]
步骤506:确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成。
[0167]
步骤508:通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像。
[0168]
步骤510:将所述对象图像发送至所述端侧设备。
[0169]
其中,所述云侧设备可以理解为位于云端并且能够为端侧设备提供云服务的设备。例如云侧设备可以为一个或多个服务器,一个或多个主机。在本说明书提供的一实施例中,该云侧设备还可以由云侧计算设备和/或云侧存储设备构成。该云侧计算设备可以理解为位于云端并能够为端侧设提供计算服务的设备。例如云侧计算设备可以为一个或多个服务器。该云侧存储设备可以理解为位于云端并能够为端侧设提供存储服务的设备。例如一个或多个数据库存储服务器、云盘等。所述端侧设备可以理解为与云侧设备相对存在的、能够使用云侧设备提供的云服务的设备。该端侧设备包括但不限于客户端、终端、计算机、服务器、手机或者智能移动设备等。
[0170]
具体的,本说明书提供的另一种图像生成方法,能够应用于云侧设备,当接收到端侧设备发送的对象描述文本的情况下,会将包含至少两个对象的对象描述文本输入图像生成模型,利用该图像生成模型中的文本编码模块,获得对象描述文本的初始文本向量。然后,确定出至少两个对象的预存对象向量,并基于该预存对象向量对初始文本向量进行调整,从而将预存对象向量添加到初始文本向量中,获得目标文本向量。在利用图像生成模型对目标文本向量进行处理,从而获得包含至少两个对象的对象图像。在获得对象图像之后,将其发送至端侧设备。
[0171]
基于此,本说明书提供的应用于云侧设备的另一种图像生成方法,不需要让图像生成模型学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而在实际应用中,在获取端侧设备发送的对象描述文本之后,向图像生成模型中输入包含至少两个对象的对象描述文本,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,并将该对象图像返回端侧设备,从而保证图像生成模型的顺利运行,使得云侧设备能够稳定的为端侧设备提供图像生成能力。
[0172]
上述为本实施例的另一种图像生成方法的示意性方案。需要说明的是,该另一种图像生成方法的技术方案与上述一种图像生成方法的技术方案属于同一构思,另一种图像生成方法的技术方案未详细描述的细节内容,均可以参见上述一种图像生成方法的技术方案的描述,在此不作过多赘述。
[0173]
图6示出了根据本说明书一个实施例提供的一种图像生成模型训练方法的流程图,具体包括以下步骤。
[0174]
步骤602:确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像。
[0175]
步骤604:将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量。
[0176]
步骤606:利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量。
[0177]
步骤608:根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。
[0178]
具体的,针对一种图像生成模型训练方法技术方案的描述,可以参见上述一种图像生成方法中对应或响应的描述,本说明书在此不作具体赘述。
[0179]
本说明书提供的一种图像生成模型训练方法,不需要让图像生成模型学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而后续在实际应用中,当向图像生成模型中输入包含至少两个对象的对象描述文本的情况下,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,从而保证图像生成模型的顺利运行,提供稳定的图像生成能力。
[0180]
上述为本实施例的一种图像生成模型训练方法的示意性方案。需要说明的是,该一种图像生成模型训练方法的技术方案与上述一种图像生成方法的技术方案属于同一构思,一种图像生成模型训练方法的技术方案未详细描述的细节内容,均可以参见上述一种图像生成方法的技术方案的描述,在此不作过多赘述。
[0181]
与上述方法实施例相对应,本说明书还提供了一种图像生成装置实施例,图7示出了本说明书一个实施例提供的一种图像生成装置的结构示意图。如图7所示,该装置包括:
[0182]
第一向量确定模块702,被配置为将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量;
[0183]
第二向量确定模块704,被配置为确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成;
[0184]
图像生成模块706,被配置为通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像。
[0185]
可选地,所述第二向量确定模块704,还被配置为:
[0186]
确定所述对象描述文本中的对象标识词,其中,所述对象描述文本为所述对象标
识词以及除所述对象标识词之外的对象特征词构成,一个所述对象标识词表示一个所述对象;
[0187]
从预存对象向量中,确定所述对象标识词相关联的目标预存对象向量;
[0188]
将所述目标预存对象向量,确定为所述至少两个对象的预存对象向量。
[0189]
可选地,所述图像生成模块706,还被配置为:
[0190]
根据所述对象描述文本中的对象标识词,从所述初始文本向量中确定所述至少两个对象对应的待调整向量;
[0191]
将所述预存对象向量与所述初始文本向量中的所述待调整向量相加,获得目标文本向量。
[0192]
可选地,所述图像生成模块706,还被配置为:
[0193]
利用所述图像生成模型中的向量处理模块,对所述目标文本向量进行处理,获得包含所述至少两个对象的对象图像。
[0194]
可选地,所述图像生成模块706,还被配置为:
[0195]
利用所述向量处理模块对所述目标文本向量进行解码处理,获得所述对象描述文本对应的图像特征;
[0196]
根据所述至少两个对象的对象显示位置参数,对所述图像特征进行调整,获得调整后的图像特征;
[0197]
继续对所述调整后的图像特征进行解码处理,获得包含所述至少两个对象的对象图像。
[0198]
可选地,所述图像生成模块706,还被配置为:
[0199]
获取所述至少两个对象的对象显示位置参数,并从所述对象显示位置参数中,确定目标对象对应的目标对象位置参数,其中,所述目标对象为所述至少两个对象中的任一对象;
[0200]
从所述图像特征中确定所述目标对象对应的目标对象图像特征;
[0201]
基于所述对象显示位置参数,确定所述目标对象在所述目标对象图像特征的目标位置,并对所述目标对象在所述目标位置的对象显示权重进行调整,获得调整后的图像特征。
[0202]
可选地,所述第一向量确定模块702,还被配置为:
[0203]
确定包含至少两个对象的对象描述文本;
[0204]
将所述对象描述文本输入图像生成模型,利用所述图像生成模型中的文本编码模块对所述对象描述文本进行处理,获得所述对象描述文本对应的初始文本向量。
[0205]
可选地,所述第一向量确定模块702,还被配置为:
[0206]
接收用户发送的图像生成请求,并从所述图像生成请求中获取包含至少两个对象的对象描述文本;或者
[0207]
从接收到的图像生成请求中获取文本标识,并从预存的对象描述文本中,确定与所述文本标识对应的对象描述文本,其中,所述对象描述文本包含至少两个对象。
[0208]
可选地,所述图像生成装置,还包括模型训练模块,被配置为:
[0209]
确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像;
[0210]
将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量;
[0211]
利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量;
[0212]
根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。
[0213]
可选地,所述模型训练模块,还被配置为:
[0214]
根据所述样本对象描述文本中的样本对象标识词,从所述训练文本向量中确定所述样本对象对应的第一样本对象文本向量;
[0215]
将所述样本对象描述文本输入训练前图像生成模型中的文本编码模块,获得所述样本对象描述文本的未训练文本向量;
[0216]
根据所述样本对象标识词,从所述未训练文本向量中确定所述样本对象对应的第二样本对象文本向量;
[0217]
将所述第一样本对象文本向量与所述第二样本对象文本向量的平均差值,作为所述样本对象的预存对象向量。
[0218]
可选地,所述模型训练模块,还被配置为:
[0219]
根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的第一损失函数;
[0220]
根据所述未训练文本向量和所述训练文本向量,确定所述图像生成模型的第二损失函数;
[0221]
将所述第一损失函数和所述第二损失函数相加,获得所述图像生成模型的损失函数。
[0222]
本说明书实施例提供的一种图像生成装置,不需要让图像生成模型学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而在实际应用中,当向图像生成模型中输入包含至少两个对象的对象描述文本的情况下,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,从而保证图像生成模型的顺利运行,提供稳定的图像生成能力。
[0223]
上述为本实施例的一种图像生成装置的示意性方案。需要说明的是,该一种图像生成装置的技术方案与上述的一种图像生成方法的技术方案属于同一构思,一种图像生成装置的技术方案未详细描述的细节内容,均可以参见上述一种图像生成方法的技术方案的描述。
[0224]
与上述方法实施例相对应,本说明书还提供了图像生成模型训练装置实施例,图8示出了本说明书一个实施例提供的一种图像生成模型训练装置的结构示意图。如图8所示,
该装置包括:
[0225]
样本确定模块802,被配置为确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像;
[0226]
向量获取模块804,被配置为将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量;
[0227]
图像获取模块806,被配置为利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量;
[0228]
损失确定模块808,被配置为根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。
[0229]
本说明书提供的一种图像生成模型训练装置,不需要让图像生成模型学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而后续在实际应用中,当向图像生成模型中输入包含至少两个对象的对象描述文本的情况下,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,从而保证图像生成模型的顺利运行,提供稳定的图像生成能力。
[0230]
上述为本实施例的一种图像生成模型训练装置的示意性方案。需要说明的是,该一种图像生成模型训练装置的技术方案与上述的一种图像生成模型训练方法的技术方案属于同一构思,一种图像生成模型训练装置的技术方案未详细描述的细节内容,均可以参见上述一种图像生成模型训练方法的技术方案的描述。
[0231]
与上述方法实施例相对应,本说明书还提供了另一种图像生成装置实施例,图9示出了本说明书一个实施例提供的另一种图像生成装置的结构示意图。如图9所示,该装置应用于云侧设备,包括:
[0232]
文本接收模块902,被配置为接收端侧设备发送的对象描述文本,其中,所述对象描述文本中包含至少两个对象;
[0233]
第一向量确定模块904,被配置为将所述对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量;
[0234]
第二向量确定模块906,被配置为确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成;
[0235]
图像生成模块908,被配置为通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像;
[0236]
图像发送模块910,被配置为将所述对象图像发送至所述端侧设备。
[0237]
本说明书提供的应用于云侧设备的另一种图像生成装置,不需要让图像生成模型
学习每一个多概念定制化语句,而是训练图像生成模型对每个单独的对象(概念)进行学习,从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,在模型训练过程中,针对每个单独的对象,生成该对象对应的预存对象向量并进行存储。从而在实际应用中,在获取端侧设备发送的对象描述文本之后,向图像生成模型中输入包含至少两个对象的对象描述文本,该图像生成模型能够确定至少两个对象对应的预存对象向量,并将每个对象的预存对象向量,与对象描述文本的初始文本向量进行组合,然后根据组合后的目标文本向量,生成包含所述至少两个对象的对象图像,并将该对象图像返回端侧设备,从而保证图像生成模型的顺利运行,使得云侧设备能够稳定的为端侧设备提供图像生成能力。
[0238]
上述为本实施例的另一种图像生成装置的示意性方案。需要说明的是,该另一种图像生成装置的技术方案与上述的另一种图像生成方法的技术方案属于同一构思,另一种图像生成装置的技术方案未详细描述的细节内容,均可以参见上述另一种图像生成方法的技术方案的描述。
[0239]
图10示出了根据本说明书一个实施例提供的一种计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
[0240]
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0241]
在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0242]
计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。
[0243]
其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器1020执行时实现上述两种图像生成方法以及图像生成模型训练方法的步骤。
[0244]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述两种图像生成方法以及图像生成模型训练方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述两种图像生成方法以及图像生成模型训练方法的技术方案的描述。
[0245]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述两种图像生成方法以及图像生成模型训
练方法的步骤。
[0246]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述两种图像生成方法以及图像生成模型训练方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述两种图像生成方法以及图像生成模型训练方法的技术方案的描述。
[0247]
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述两种图像生成方法以及图像生成模型训练方法的步骤。
[0248]
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述两种图像生成方法以及图像生成模型训练方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述两种图像生成方法以及图像生成模型训练方法的技术方案的描述。
[0249]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0250]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0251]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
[0252]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0253]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
技术特征:
1.一种图像生成方法,包括:将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量;确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成;通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像。2.根据权利要求1所述的图像生成方法,所述确定所述至少两个对象的预存对象向量,包括:确定所述对象描述文本中的对象标识词,其中,所述对象描述文本为所述对象标识词以及除所述对象标识词之外的对象特征词构成,一个所述对象标识词表示一个所述对象;从预存对象向量中,确定所述对象标识词相关联的目标预存对象向量;将所述目标预存对象向量,确定为所述至少两个对象的预存对象向量。3.根据权利要求1所述的图像生成方法,所述通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,包括:根据所述对象描述文本中的对象标识词,从所述初始文本向量中确定所述至少两个对象对应的待调整向量;将所述预存对象向量与所述初始文本向量中的所述待调整向量相加,获得目标文本向量。4.根据权利要求1所述的图像生成方法,所述根据所述目标文本向量生成包含所述至少两个对象的对象图像,包括:利用所述图像生成模型中的向量处理模块,对所述目标文本向量进行处理,获得包含所述至少两个对象的对象图像。5.根据权利要求4所述的图像生成方法,所述利用所述图像生成模型中的向量处理模块,对所述目标文本向量进行处理,获得包含所述至少两个对象的对象图像,包括:利用所述向量处理模块对所述目标文本向量进行解码处理,获得所述对象描述文本对应的图像特征;根据所述至少两个对象的对象显示位置参数,对所述图像特征进行调整,获得调整后的图像特征;继续对所述调整后的图像特征进行解码处理,获得包含所述至少两个对象的对象图像。6.根据权利要求5所述的图像生成方法,所述根据所述至少两个对象的对象显示位置参数,对所述图像特征进行调整,获得调整后的图像特征,包括:获取所述至少两个对象的对象显示位置参数,并从所述对象显示位置参数中,确定目标对象对应的目标对象位置参数,其中,所述目标对象为所述至少两个对象中的任一对象;从所述图像特征中确定所述目标对象对应的目标对象图像特征;基于所述对象显示位置参数,确定所述目标对象在所述目标对象图像特征的目标位置,并对所述目标对象在所述目标位置的对象显示权重进行调整,获得调整后的图像特征。7.根据权利要求1所述的图像生成方法,所述将包含至少两个对象的对象描述文本输
入图像生成模型,确定所述对象描述文本的初始文本向量,包括:确定包含至少两个对象的对象描述文本;将所述对象描述文本输入图像生成模型,利用所述图像生成模型中的文本编码模块对所述对象描述文本进行处理,获得所述对象描述文本对应的初始文本向量。8.根据权利要求1所述的图像生成方法,所述确定包含至少两个对象的对象描述文本,包括:接收用户发送的图像生成请求,并从所述图像生成请求中获取包含至少两个对象的对象描述文本;或者从接收到的图像生成请求中获取文本标识,并从预存的对象描述文本中,确定与所述文本标识对应的对象描述文本,其中,所述对象描述文本中包含至少两个对象。9.根据权利要求1所述的图像生成方法,所述将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量之前,还包括:确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像;将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量;利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量;根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。10.根据权利要求9所述的图像生成方法,所述根据所述训练文本向量生成样本对象对应的预存对象向量,包括:根据所述样本对象描述文本中的样本对象标识词,从所述训练文本向量中确定所述样本对象对应的第一样本对象文本向量;将所述样本对象描述文本输入训练前图像生成模型中的文本编码模块,获得所述样本对象描述文本的未训练文本向量;根据所述样本对象标识词,从所述未训练文本向量中确定所述样本对象对应的第二样本对象文本向量;将所述第一样本对象文本向量与所述第二样本对象文本向量的平均差值,作为所述样本对象的预存对象向量。11.根据权利要求10所述的图像生成方法,所述根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,包括:根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的第一损失函数;根据所述未训练文本向量和所述训练文本向量,确定所述图像生成模型的第二损失函数;将所述第一损失函数和所述第二损失函数相加,获得所述图像生成模型的损失函数。
12.一种图像生成模型训练方法,包括:确定针对图像生成模型的训练样本,其中,所述训练样本中包含样本对象描述文本,以及所述样本对象描述文本对应的参考对象图像;将所述样本对象描述文本输入所述图像生成模型,利用所述图像生成模型中的文本编码模块对所述样本对象描述文本进行处理,获得所述样本对象描述文本对应的训练文本向量;利用所述图像生成模型中的向量处理模块对所述训练文本向量进行解码处理,获得所述样本对象描述文本对应的样本对象图像,并根据所述训练文本向量生成样本对象对应的预存对象向量;根据所述参考对象图像和所述样本对象图像,确定所述图像生成模型的损失函数,并基于所述损失函数对所述图像生成模型进行训练,获得训练后的图像生成模型。13.一种图像生成方法,应用于云侧设备,包括:接收端侧设备发送的对象描述文本,其中,所述对象描述文本中包含至少两个对象;将所述对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量;确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成;通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像;将所述对象图像发送至所述端侧设备。14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述图像生成方法、权利要求12所述的图像生成模型训练方法以及权利要求13所述的图像生成方法的步骤。
技术总结
本说明书实施例提供图像生成方法,其中所述图像生成方法包括:将包含至少两个对象的对象描述文本输入图像生成模型,确定所述对象描述文本的初始文本向量;确定所述至少两个对象的预存对象向量,其中,所述预存对象向量为根据所述图像生成模型训练过程中,针对所述至少两个对象的训练文本向量生成;通过所述预存对象向量对所述初始文本向量进行处理,获得目标文本向量,并根据所述目标文本向量生成包含所述至少两个对象的对象图像。从而避免了由于多概念定制化语句的数量庞大,导致神经网络模型的训练效率低,并且浪费了大量的计算资源的问题。同时,保证图像生成模型的顺利运行,提供稳定的图像生成能力。定的图像生成能力。定的图像生成能力。
技术研发人员:刘志恒 张轶飞 沈宇军 郑可成 朱凯 冯睿蠡 刘宇 赵德丽 周靖人
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.05.22
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/