掌桥专利:专业的专利平台
掌桥专利
首页

图像生成模型的训练方法、图像生成方法、装置及设备

文献发布时间:2024-04-18 20:01:55


图像生成模型的训练方法、图像生成方法、装置及设备

技术领域

本申请涉及计算机领域,特别涉及一种图像生成模型的训练方法、图像生成方法、装置及设备。

背景技术

随着计算机技术的发展,利用计算机设备自动生成图像的方式被广泛应用。其中,较为典型是将处于不同图像的对象合成到一张图像中。例如,将一个图像中的猫和另一个图像中的狗合成到组合图像中,以使组合图像同时显示该猫和该狗。如何高质量地生成组合图像是本领域研究的重点。

目前,通常采用的方式是采用图像生成模型,分别学习计划合成到一个图像中各个对象的信息。也即是,通过第一对象所在的第一图像和第一图像对应的对象描述文本,对图像生成模型进行训练;然后,再通过第二对象所在的第二图像和第二图像对应的对象描述文本,对图像生成模型进行训练。然后,通过向图像生成模型提供包含第一对象和第二对象的对象描述文本,以使图像生成模型生成包含第一对象和第二对象的组合图像。

但是,上述技术方案中,在通过第二对象所在的第二图像对图像生成模型进行训练之后,图像生成模型往往会遗忘之前学习到的第一对象的信息,使得通过训练后的图像生成模型生成的组合图像中常常会出现两个第二对象,而没有第一对象,也即是生成的组合图像出错、质量低。

发明内容

本申请实施例提供了一种图像生成模型的训练方法、图像生成方法、装置及设备,能够使图像生成模型生成高质量的包含多个对象的组合图像。所述技术方案如下:

一方面,提供了一种图像生成模型的训练方法,所述方法包括:

获取多个对象的单对象图文对,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括所述对象,每个对象的单对象文本包括所述对象的名称和类别;

基于所述多个对象的单对象图文对,生成至少一个组合图文对,每个组合图文对包括组合图像和组合文本,每个组合图像包含所述多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置;

基于所述多个对象的单对象图文对和至少一个组合图文对,对图像生成模型进行训练。

另一方面,提供了一种图像生成方法,所述方法包括:

获取目标文本,所述目标文本包括待合成为一张图像中的多个对象的名称,所述目标文本用于指示图像的生成需求;

通过图像生成模型对所述目标文本进行处理,得到包含所述多个对象的组合图像,所述图像生成模型基于所述多个对象的单对象图文对和至少一个组合图文对训练得到,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括所述对象,每个对象的单对象文本包括所述对象的名称和类别,每个组合图文对包括组合图像和组合文本,每个组合图像包含所述多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

另一方面,提供了一种图像生成模型的训练装置,所述装置包括:

第一获取模块,用于获取多个对象的单对象图文对,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括所述对象,每个对象的单对象文本包括所述对象的名称和类别;

第一生成模块,用于基于所述多个对象的单对象图文对,生成至少一个组合图文对,每个组合图文对包括组合图像和组合文本,每个组合图像包含所述多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置;

训练模块,用于基于所述多个对象的单对象图文对和至少一个组合图文对,对图像生成模型进行训练。

在一些实施例中,所述第一生成模块,包括:

获取单元,用于从所述多个对象的单对象图文对中,随机获取预设数量个对象的单对象图文对;

合成单元,用于采用贴图的方式,将所述预设数量个对象的单对象图像合成为一个图像,得到一个组合图像;

生成单元,用于基于所述预设数量个对象的单对象文本和所述组合图像中各个对象的位置,生成所述组合图像对应的组合文本。

在一些实施例中,所述合成单元,用于基于预设尺寸,对所述预设数量个对象的单对象图像进行剪裁和缩放中的至少一种处理,所述预设尺寸用于表示待合成的组合图像的尺寸;将处理后的所述预设数量个对象的单对象图像粘贴在一个图像中,得到所述组合图像。

在一些实施例中,所述训练模块,用于对于首轮训练,基于所述多个对象中任一对象的单对象图文对,对所述图像生成模型进行训练;对于非首轮训练,基于增量对象的单对象图文对、至少一个历史对象的历史图文对以及包含所述至少一个历史对象和所述增量对象的组合图文对,对所述图像生成模型进行训练,所述增量对象是在当前轮训练中新添加的对象,所述至少一个历史对象为已经参与训练的对象。

在一些实施例中,所述训练模块,包括:

第一编码单元,用于对于首轮训练,通过所述图像生成模型,对所述对象的单对象图像进行编码,得到图像特征向量;

第二编码单元,用于对所述对象的单对象文本进行编码,得到文本嵌入向量,所述文本嵌入向量用于引导所述图像生成模型排除噪声的干扰;

处理单元,用于对所述图像特征向量和所述文本嵌入向量进行处理,得到生成图像;

训练单元,用于基于所述生成图像与所述对象的单对象图像之间的差距,对所述图像生成模型进行训练。

在一些实施例中,所述处理单元,用于对图像特征向量添加噪声,得到第一特征向量;通过所述图像生成模型中的降采样模块,基于所述文本嵌入向量,对所述第一特征向量进行降采样,得到第二特征向量;通过所述图像生成模型中的旁路模块,基于所述文本嵌入向量,对所述第一特征向量进行特征提取,得到第三特征向量,所述旁路模块为所述图像生成模型中的参数可调模块;基于所述第二特征向量和所述第三特征向量,确定所述生成图像;

所述训练单元,用于以最小化所述生成图像与所述对象的单对象图像之间的差距为目标,调整所述图像生成模型中所述旁路模块的参数。

在一些实施例中,所述装置还包括:

第二获取模块,用于对于任一历史对象,基于所述历史对象的名称、类别以及文本模板,生成所述历史对象的历史文本;向基于所述历史对象训练后的图像生成模型中,输入所述历史对象的历史文本,得到所述历史对象的历史图像。

在一些实施例中,所述装置还包括:

第二生成模块,用于在存在多个历史对象的情况下,基于所述多个历史对象的名称、类别以及文本模板,生成对象所述多个历史的历史组合文本;向基于所述多个历史对象训练后的图像生成模型中,输入所述历史组合文本,得到所述多个历史对象的历史组合图像,所述文本模板中包括位置;或者,在存在多个历史对象的情况下,基于所述图像生成模型生成的多个历史对象各自的历史图像,合成所述多个历史对象的历史组合图像。

在一些实施例中,所述训练模块,包括:

第一确定单元,用于对于非首轮训练,基于所述增量对象的单对象图文对,确定所述图像生成模型的第一损失;

第二确定单元,用于基于所述至少一个历史对象的历史图文对,确定所述图像生成模型的第二损失;

第三确定单元,用于基于包含所述至少一个历史对象和所述增量对象的组合图文对,确定所述图像生成模型的第三损失;

训练单元,用于基于所述第一损失、所述第二损失以及所述第三损失,对所述图像生成模型进行训练。

在一些实施例中,所述第三确定单元,用于对包含所述至少一个历史对象和所述增量对象的组合图文对中的组合文本进行拆分,得到所述至少一个第一文本和第二文本,每个第一文本用于描述对应的历史对象在所述组合图像中的位置,所述第二文本用于描述所述增量对象在所述组合图像中的位置;对于所述至少一个第一文本和所述第二文本中的任一文本,通过所述图像生成模型,对所述文本和所述组合图像进行处理,得到第一生成图像;基于所述第一生成图像与所述组合图像之间的差异,确定单对象损失;通过所述图像生成模型,对所述组合文本和所述组合图像进行处理,得到第二生成图像;基于所述第二生成图像与所述组合图像之间的差异,确定组合损失;对所述至少一个历史对象各自的单对象损失、所述增量对象的单对象损失以及所述组合损失,确定所述第三损失。

在一些实施例中,所述第三确定单元,用于对于所述至少一个历史对象和所述增量对象中的任一对象,获取所述对象的掩码图像,所述掩码图像用于指示所述组合图像中所述对象的位置;基于所述对象的掩码图像,确定所述组合图像中的目标区域;确定所述目标区域处所述组合图像与所述第一生成图像之间的差异,得到所述对象的单对象损失。

在一些实施例中,所述装置还包括:

第三获取模块,用于对于所述至少一个历史对象和所述增量对象中的任一对象,获取所述组合图像中所述对象的单对象图像的粘贴位置和空白图像,所述空白图像与所述组合图像尺寸相同;将所述空白图像中所述粘贴位置对应的第一区域处的像素值设置为第一数值,所述第一数值用于指示所述对象的单对象图像所在的位置;将所述空白图像中的第二区域和第三区域处的像素值设置为第二数值,得到所述掩码图像,所述第二区域为所述空白图像中除所述第一区域外的其他区域,所述第三区域是所述第一区域内的区域,且位于所述第一区域与所述第二区域的连接处。

另一方面,提供了一种图像生成装置,所述装置包括:

获取模块,获取目标文本,所述目标文本包括待合成为一张图像中的多个对象的名称,所述目标文本用于指示图像的生成需求;

生成模块,用于通过图像生成模型对所述目标文本进行处理,得到包含所述多个对象的组合图像,所述图像生成模型基于所述多个对象的单对象图文对和至少一个组合图文对训练得到,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括所述对象,每个对象的单对象文本包括所述对象的名称和类别,每个组合图文对包括组合图像和组合文本,每个组合图像包含所述多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本申请实施例中的图像生成模型的训练方法或者图像生成方法。

另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如本申请实施例中的图像生成模型的训练方法或者图像生成方法。

另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各个方面或者各个方面的各种可选实现方式中提供的图像生成模型的训练方法或者图像生成方法。

本申请实施例提供了一种图像生成模型的训练方法,在训练之前,根据待合成到一个图像中的多个对象的单对象图文对,生成包含多个对象中的至少两个对象的组合图文对,然后,通过每个对象的单对象图文对,对图像生成模型进行训练,使得图像生成模型能够准确地学习每个对象的特征,为后续模型生成组合图像提供了保障;并且,通过至少一个组合图文对,对图像生成模型进行训练,不仅能够在对象组合的角度上重复学习每个对象的特征,从而避免了模型随着训练进程遗忘之前学习到的对象的特征,还能够通过组合文本中的位置信息,使得图像生成模型能够更加准确地区分各个对象。也即是,通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,不仅符合合成的目的,而且利于提升组合图像的质量。

附图说明

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

图1是根据本申请实施例提供的一种图像生成模型的训练方法的实施环境示意图;

图2是根据本申请实施例提供的一种图像生成模型的训练方法的流程图;

图3是根据本申请实施例提供的另一种图像生成模型的训练方法的流程图;

图4是根据本申请实施例提供的一种组合图像的示意图;

图5是根据本申请实施例提供的一种图像生成模型的示意图;

图6是根据本申请实施例提供的一种微调文本词的示意图;

图7是根据本申请实施例提供的再一种图像生成模型的训练方法的流程图;

图8是根据本申请实施例提供的一种图像生成模型的训练方法的框架图;

图9是根据本申请实施例提供的一种图像生成方法的流程图;

图10是根据本申请实施例提供的一种图像生成模型的应用示意图;

图11是根据本申请实施例提供的一种图像生成模型的训练装置的框图;

图12是根据本申请实施例提供的另一种图像生成模型的训练装置的框图;

图13是根据本申请实施例提供的一种图像生成装置的框图;

图14是根据本申请实施例提供的一种终端的结构框图;

图15是根据本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。

本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。

需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的多个对象的单对象图像对都是在充分授权的情况下获取的。

为了便于理解,以下,对本申请涉及的术语进行解释。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

预训练模型(Pre-Training Model,PTM),也称基石模型、大模型,指具有大参量的深度神经网络(Deep Neural Network,DNN),在海量未标记的数据上对其进行训练,利用大参量DNN的函数近似能力使PTM在数据上提取共性特征,经微调(fine tune)、参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)、prompt-tuning等技术,适用于下游任务。因此,预训练模型能够在小样本(Few-shot)或零样本(Zero-shot)场景下达到理想效果。PTM按照处理的数据模态分为语言模型、视觉模型、语音模型、多模态模型等。例如,语言模型为ELMO(Embeddings from Language Model,一种语言模型),BERT(Bidirectional EncoderRepresentations from Transformers,一个双向预训练语言模型),GPT(Generative Pre-trained Transformer,预训练生成式模型)等。其中,多模态模型指建立两种或以上数据模态特征表示的模型。预训练模型是输出人工智能生成内容(Artificial IntelligenceGenerated Content,AIGC)重要工具,也可以作为连接多个具体任务模型的通用接口。经过微调,大语言模型能够广泛应用于下游任务。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。大模型技术为计算机视觉技术发展带来重要变革,swin-transformer(摆动变压器),ViT(Vision Transformer,视觉变压器),V-MOE(Vision Mixture ofExperts,专家视觉混合),MAE(Masked Autoencoder,屏蔽自动编码器)等视觉领域的预训练模型经过微调(fine tune)可以快速、广泛适用于下游具体任务。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(threedimensional)技术、虚拟现实、增强现实与地图构建等技术,还包括生物特征识别技术。

本申请实施例提供的方案,基于人工智能的机器学习技术,能够训练图像生成模型,进而利用训练后的图像生成模型,将多个对象合成到一个图像上。

稳定扩散(Stable-diffusion,SD)模型是一个基于潜在的(latent)的扩散模型,它在U-Net中引入文本条件(text condition)来实现基于文本生成图像的目的。稳定扩散模型的核心来源于隐空间扩散(Latent Diffusion)的原理。常规的扩散模型是基于像素(pixel)的生成模型,而隐空间扩散是基于隐空间的生成模型,它先采用一个自动编码器(autoencoder)将图像压缩到隐空间,然后用扩散模型来生成图像,最后入自动编码器的解码模块就可以得到生成的图像。

先验类名指的是物体所属类别名称的词语。比如:一张特定狗的图像,先验类名为“dog”。

实例与类别:类别指某个物体所属的类,如imagenet共有1000类常见类别,包括猫、鱼、狗等。实例指某个类别下具体的一个物体,如“李某某”为人(类别)的一个实例,“我家的旺财”为狗的一个实例。本申请实施例中的每个对象都为一个具体的实例。

多实例微调生成模型指的是用多个对象的图像来微调某一预训练好的生成模型,使得该生成模型可以根据这些对象编辑的文本进行图像生成。本申请实施例提供的图像生成模型的训练方法可以视为一种多实例微调的方式。

增量概念微调生成模型:常规的生成模型微调是将某个对象的图文对作为训练样本,使得生成模型学习到该对象的特征,从而使得生成模型可支持对该对象的图像生成。增量概念微调指当在学习过某个对象的生成模型的基础上,继续学习其他对象的特征。

本申请实施例提供的图像生成模型的训练方法,能够由计算机设备执行。在一些实施例中,该计算机设备为终端或服务器。下面首先以计算机设备为服务器为例,介绍一下本申请实施例提供的图像生成模型的训练方法的实施环境,图1是根据本申请实施例提供的一种图像生成模型的训练方法的实施环境示意图。参见图1,该实施环境包括终端101和服务器102。终端101和服务器102能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

在一些实施例中,终端101是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。终端101安装和运行有支持图像处理的应用程序。该应用程序可以是剪辑类应用程序、相册、多媒体类应用程序或者通讯类应用程序等,本申请实施例对此不进行限制。示意性的,终端101是用户使用的终端。终端101能够获取多个对象的单对象图文对。然后,终端101可以将多个对象的单对象图文对发送至服务器102,由服务器102根据多个对象的单对象图文对,对图像生成模型进行训练。其中,每个单对象图文对中的单对象图像可以由终端101拍摄得到,也可以由终端101从其他计算机设备获取,本申请实施例对此不进行限制。

本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。

在一些实施例中,服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、大数据和人工智能平台等基础云计算服务的云服务器。服务器102用于为支持图像处理的应用程序提供后台服务。在一些实施例中,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102和终端101二者之间采用分布式计算架构进行协同计算。

本申请实施例提供的图像生成方法,也可以在上述实施环境中执行,在此不再赘述。

图2是根据本申请实施例提供的一种图像生成模型的训练方法的流程图,参见图2,在本申请实施例中以由服务器执行为例进行说明。该图像生成模型的训练方法包括以下步骤:

201、服务器获取多个对象的单对象图文对,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括对象,每个对象的单对象文本包括对象的名称和类别。

在本申请实施例中,对象可以是动物、植物、人或者商品等,本申请实施例对此不进行限制。本申请实施例中的多个指的是两个及两个以上。对于任一对象,该对象的单对象图像中只包括该对象一个。也即是,对象A的单对象图像中只包括一个对象A,不包括其他对象。单对象图像中还可以包括背景,本申请实施例对背景不进行限制。对于任一单对象图像,该单对象图像对应的单对象文本用于描述该单对象图像中的对象。单对象文本中描述了单对象图像中对象的名称和类别。多个对象的名称不同。也即是,名称可以视为对象的标识,用于与其他对象进行区分。多个对象的类别可以相同,也可以不同,本申请实施例对此不进行限制。服务器可以从自身的数据库中获取预先存储的多个对象的图文对,也可以从终端等其他计算机设备中获取多个对象的图文对,本申请实施例对此不进行限制。

例如,单对象文本为“a photo of a wangcai cat on the grass”,也即是“小猫旺财在草地上的图像”,本申请实施例对单对象文本所属的语种不进行限制。其中,“wangcai”为单对象图像中对象的名称;“cat”为单对象图像中对象的类别。

202、服务器基于多个对象的单对象图文对,生成至少一个组合图文对,每个组合图文对包括组合图像和组合文本,每个组合图像包含多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

在本申请实施例中,对于多个对象中任意的至少两个对象,服务器从多个对象的单对象图文对中,获取该至少两个对象的单对象图文对。服务器根据该至少两个对象的单对象图文对,合成为组合图文对。也即是,服务器根据至少两个对象的单对象图像,合成为组合图像。服务器根据至少两个对象的单对象文本中的名称、类别以及组合图像中对象的位置,生成组合文本。本申请实施例对组合图文对中的对象数量不进行限制。

例如,小猫旺财的单对象文本为“a photo of a wangcai cat on the grass”,单对象图像是小猫旺财在草地上的图像。小熊熊三的单对象文本为“a photo of axiongsanbear on the grass”,单对象图像是小熊熊三在草地上的图像。服务器基于小猫旺财的单对象图文对和小熊熊三的单对象图文对,生成组合图像和组合文本。在组合图像中小猫旺财位于左边,小熊熊三位于右边。组合文本为“a photo of wangcai cat on the left,xiongsan bear on the right。”

203、服务器基于多个对象的单对象图文对和至少一个组合图文对,对图像生成模型进行训练。

在本申请实施例中,服务器将多个对象的单对象图文对和至少一个组合图文对作为训练样本,对图像生成模型进行训练。其中,对于任一对象,服务器通过该对象的单对象图文对进行模型训练,以使图像生成模型能够学习到该对象的特征。对于多个对象,服务器通过对个对象对应的组合图文对进行模型训练,以使图像生成模型能够学习对象之间的区别。训练后的图像生成模型用于生成多个对象中任意至少两个对象的组合图像。

本申请实施例提供了一种图像生成模型的训练方法,在训练之前,根据待合成到一个图像中的多个对象的单对象图文对,生成包含多个对象中的至少两个对象的组合图文对,然后,通过每个对象的单对象图文对,对图像生成模型进行训练,使得图像生成模型能够准确地学习每个对象的特征,为后续模型生成组合图像提供了保障;并且,通过至少一个组合图文对,对图像生成模型进行训练,不仅能够在对象组合的角度上重复学习每个对象的特征,从而避免了模型随着训练进程遗忘之前学习到的对象的特征,还能够通过组合文本中的位置信息,使得图像生成模型能够更加准确地区分各个对象。也即是,通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,不仅符合合成的目的,而且利于提升组合图像的质量。

图3是根据本申请实施例提供的另一种图像生成模型的训练方法的流程图,参见图3,在本申请实施例中以由终端执行为例进行说明。该图像生成模型的训练方法包括以下步骤:

301、服务器获取多个对象的单对象图文对,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括对象,每个对象的单对象文本包括对象的名称和类别。

在本申请实施例中,对于任一对象,服务器获取至少一个该对象的单对象图像。本申请实施例对每个对象的单对象图像的数量不进行限制。同一个对象的单对象图像中的对象相同,但图像中对象的姿态、图像背景等内容可以相同,也可以不同,本申请实施例对此不进行限制。对于任一单对象图像,服务器可以通过对该单对象图像进行识别,以得到该单对象图像对应的单对象文本。或者,每个单对象图像的单对象文本也可以由用户自定义;相应地,服务器可以直接获取由用户自定义的单对象文本。本申请实施例对单对象文本的获取方式不进行限制。或者,服务器还可以根据单对象文本,自动生成对应的单对象图像。其中,每个对象是一个实例。对象的名称可以称为“概念”。相应地,单对象图像也可以称为“单概念图像”。单对象图文对也可以称为“单概念样本”。

302、服务器基于多个对象的单对象图文对,生成至少一个组合图文对,每个组合图文对包括组合图像和组合文本,每个组合图像包含多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

在本申请实施例中,在对图像生成模型训练之前,服务器可以预先根据多个对象的单对象图文对,生成至少一个组合图文对。也即是,对于待合成到一个图像的多个对象,服务器可以先将多个对象的单对象图像,组合到一个图像中,从而作为样本参与训练。或者,在训练过程中,当通过某个对象的单对象图文对训练之后,服务器还可以根据已参与训练的对象的单对象图文对和新添加的对象的单对象图文对,实时生成组合图文对来进行训练。本申请实施例对生成组合图文对的时机不进行限制。

在一些实施例中,服务器采用贴图的方式来生成组合图文对。相应地,服务器基于多个对象的单对象图文对,生成至少一个组合图文对的过程包括:服务器从多个对象的单对象图文对中,随机获取预设数量个对象的单对象图文对。然后,服务器采用贴图的方式,将预设数量个对象的单对象图像合成为一个图像,得到一个组合图像。然后,服务器基于预设数量个对象的单对象文本和组合图像中各个对象的位置,生成组合图像对应的组合文本。其中,预设数量可以为大于1的任意值,本申请实施例对此不进行限制。本申请实施例提供的方案,通过贴图的方式,将取预设数量个对象的单对象图像粘贴在同一个图像中,保障了组合图像能够准确地包含预设数量个对象,利于后续通过组合图像进行模型训练时,能够准确学习到预设数量个对象的特征;并且通过组合图像中各个对象的位置,来生成组合文本,利于后续通过组合文本进行模型训练时,能够更加准确地区分各个对象,从而使得图像生成模型能够生成符合合成目的的组合图像。

例如,多个对象包括对象a、对象b和对象c。服务器可以根据对象a的单对象图文对和对象b的单对象图文对,生成对象a和对象b的双对象图文对。服务器可以根据对象a的单对象图文对和对象c的单对象图文对,生成对象a和对象c的双对象图文对。服务器可以根据对象b的单对象图文对和对象c的单对象图文对,生成对象b和对象c的双对象图文对。服务器可以根据对象a的单对象图文对、对象b的单对象图文对和对象c的单对象图文对,生成对象a、对象b和对象c的三对象图文对。

其中,在采用贴图的方式生成组合图像的过程中,服务器可以基于预设尺寸,对预设数量个对象的单对象图像进行剪裁和缩放中的至少一种处理。然后,服务器将处理后的预设数量个对象的单对象图像粘贴在一个图像中,得到组合图像。其中,预设尺寸用于表示待合成的组合图像的尺寸。本申请实施例提供的方案,根据待合成的组合图像的尺寸需求,对单对象图像进行剪裁和缩放中的至少一种处理,然后将处理的单对象图像粘贴到一个图像中,保障了组合图像的准确性;也即是,使得组合图像符合模型处理的需求,利于后续图像生成模型处理。

例如,对于待合成到一个图像中的预设数量个对象中的任一对象,服务器从该对象的多个单对象图像中随机抽取一个单对象图像。然后,服务器将该单对象图像的边调整到原来的1/4~1/2。调整后的单对象图像的尺寸为128~256。然后,服务器将预设数量个对象的调整后的单对象图像,粘贴到256x256的图像上,得到组合图像。

在一些实施例中,考虑到当对象数量变多时,遍历所有对象生成组合图像的困难性。当对象的数量大于预设值(例如,预设值=5),服务器可以对每个对象随机进行5次与不同的其他对象组合,从而进行双对象图像的生成;并且,随机进行3次与2个不同的其他对象组合,从而进行三对象图像的生成。组合的次数可根据训练时间要求调整,数据越大训练时间越长,本申请实施例对此不进行限制。

在一些实施例中,在生成组合图像的过程中,服务器获取各个对象的掩码图像(mask)。掩码图像用于指示在基于组合图像的训练过程中对象的位置。也即是,掩码图像用于指示在基于组合图像的训练过程中需要计算损失的部分。相应地,对于组合图像中的任一对象,服务器获取组合图像中该对象的单对象图像的粘贴位置和空白图像。空白图像与组合图像尺寸相同。然后,服务器将空白图像中粘贴位置对应的第一区域处的像素值设置为第一数值。第一数值用于指示对象的单对象图像所在的位置。服务器将空白图像中的第二区域和第三区域处的像素值设置为第二数值,得到掩码图像。第二区域为空白图像中除第一区域外的其他区域。第三区域是第一区域内的区域,且位于第一区域与第二区域的连接处。也即是,第三区域位于第一区域的内边缘。本申请实施例对第三区域的尺寸不进行限制。本申请实施例对第一数值和第二数值不进行限制。本申请实施例提供的方案,通过获取各个对象的掩码图像,便于后续基于组合图像的训练过程中,能够根据掩码图像计算图像生成模型学习对象的损失,从而以提高图像生成模型学习对象的特征的准确性;并且,本方案不计算内边缘的损失,可以抑制组合图像中单对象图像的边缘过拟合,以弱化边缘,利于后续通过图像生成模型生成的组合图像中无明显边缘,合成效果自然,没有拼接或者粘贴的边界感。

例如,第一数值为1,第二数值为0。也即是,对于任一对象,该对象的掩码图像中未粘贴该对象的单对象图像的位置处像素值均为0;粘贴该对象的单对象图像的位置处像素值均为1。相应地,在组合图像中1对应的位置需要计算损失;0对应的位置无需计算损失。除了粘贴的单对象图像本身外,服务器还可以将单对象图像的内边缘对应的掩码图像的位置处的像素值设置为0。内边缘即为第三区域。内边缘的宽度可以为3个像素,本申请实施例对此不进行限制。通过将第三区域的像素值设置为0,使得后续无需计算组合图像中粘贴的单对象图像的内边缘的损失,从而弱化组合图像中单对象图像的边缘,进而利于图像生成模型生成更加自然的组合图像。

在生成组合图像的过程中,任意两个粘贴的单对象图像之间的重叠区域不超过目标阈值,以避免因重叠区域过大而影响模型学习对象的特征。可选地,任意两个粘贴的单对象图像的边缘重叠不超过20%。“边缘重叠”指的是一个单对象图像的边缘被另一个单对象图像遮挡,或者位于另一个单对象图像内。也即是,当任意两个图像之间存在重叠区域时,那这两个图像的边缘之间存在重叠。服务器还可以将单对象图像之间的重叠区域对应的掩码图像中的像素值设置为第二数值,以使后续无需计算重叠区域的损失。

除了每个对象都有自身的掩码图像外,服务器还可以获取组合图像的掩码图像。组合图像的掩码图像中各个单对象图像的非内边缘、非重叠区域处的像素值均为第一数值,其他区域的像素值均为第二数值。

例如,图4是根据本申请实施例提供的一种组合图像的示意图。参见图4,图4中的(a)一个小猫在左侧、小熊在右侧的组合图像。服务器根据该组合图像,可以获取三张掩码图像。这三张掩码图像分别是小猫的掩码图像(小猫图像401的非内边缘处的像素值均为1,其他区域,包括小熊图像402对应的位置均为0)、小熊的掩码图像以及组合图像的掩码图像(小猫图像401的非内边缘和小熊图像402的非内边缘的像素值均为第一数值,其他区域的像素值均为第二数值)。图4中的(b)一个小猫在左侧、小熊在右侧、小鹿在下方的组合图像。小鹿图像403和小熊图像402之间存在重叠区域。由此可见,小鹿图像403和小熊图像402之间存在边缘重叠。服务器根据该组合图像,可以获取四张掩码图像。这三张掩码图像分别是小猫的掩码图像(小猫图像401的非内边缘处的像素值均为1,其他区域,包括小熊图像402对应的位置和小鹿图像403对应的位置均为0)、小熊的掩码图像、小鹿的掩码图像以及组合图像的掩码图像(三个对象的单对象图像的非内边缘、非重叠区域的像素值均为第一数值,其他区域的像素值均为第二数值)。

在本申请实施例中,服务器可以采用每次学习一个对象的训练方式来进行模型训练。也即是,图像生成模型每次学习一个对象的特征。或者,服务器还可以采用每次学习多个对象的训练方式来进行模型训练。也即是,图像生成模型每次学习多个对象的特征。本申请实施例对每次学习的对象的数量不进行限制。下面主要以图像生成模型每次学习一个对象的特征为例进行介绍。无论是每次学习一个对象的特征,还是每次学习多个对象的特征,图像生成模型学习的原理相同,不再重复赘述。

303、对于首轮训练,服务器基于多个对象中任一对象的单对象图文对,对图像生成模型进行训练。

在本申请实施例中,对于首轮训练,服务器从多个对象的单对象图文对中,随机获取任一对象的单对象图文对。然后,服务器将单对象图文对输入到图像生成模型中,对图像生成模型进行训练。也即是,对于首轮训练,服务器通过图像生成模型,对对象的单对象图像进行编码,得到图像特征向量。服务器对对象的单对象文本进行编码,得到文本嵌入向量。文本嵌入向量用于引导图像生成模型排除噪声的干扰。然后,服务器对图像特征向量和文本嵌入向量进行处理,得到生成图像。然后,服务器基于生成图像与对象的单对象图像之间的差距,对图像生成模型进行训练。本申请实施例提供的方案,通过单对象文本的文本嵌入向量,引导图像生成模型排除单对象图像中噪声的干扰,使得图像生成模型能够更加准确地学习对象的特征,从而为后续生成包含该对象的组合图像提供保障。

在对图像特征向量和文本嵌入向量进行处理,得到生成图像的过程中,服务器可以对图像特征向量添加噪声,得到第一特征向量。然后,服务器通过图像生成模型中的降采样模块,基于文本嵌入向量,对第一特征向量进行降采样,得到第二特征向量。服务器通过图像生成模型中的旁路模块,基于文本嵌入向量,对第一特征向量进行特征提取,得到第三特征向量,旁路模块为图像生成模型中的参数可调模块。然后,服务器基于第二特征向量和第三特征向量,确定生成图像。然后,服务器以最小化生成图像与对象的单对象图像之间的差距为目标,调整图像生成模型中旁路模块的参数。

其中,服务器可以对第二特征向量和第三特征向量进行加权求和,得到降采样特征向量。然后,服务器通过图像生成模型中的上采样模块,基于文本嵌入向量,对降采样特征向量进行上采样,得到生成图像。然后,服务器通过生成图像与对象的单对象图像之间的差距,调整图像生成模型中旁路模块的参数。

在一些实施例中,服务器可以通过下述公式一,来计算生成图像与对象的单对象图像之间的差距。

公式一:

其中,MSE用于表示生成图像与对象的单对象图像之间的差距,也可以称为该图像生成模型学习该对象的损失;y

例如,图5是根据本申请实施例提供的一种图像生成模型的示意图。参见图5,图像生成模型包括图像编码模块、文本编码模块(Text Encoder)、旁路模块和去噪模块。对于每个图文对分别生成1个随机种子。该随机种子用于为参与模型训练的图像添加噪声。服务器可以采用扩散过程(Diffusion process),将随机种子对应的噪声,添加在图像中。服务器通过图像编码模块中的图像编码器,对添加了噪声的图像进行编码,以实现将添加了噪声的图像转换为隐空间中的图像特征向量。或者,服务器该可以先图像编码器,将图像转换为隐空间中的图像特征向量,再添加噪声,本申请实施例对此不进行限制。服务器通过文本编码模块,采用CLIP(Contrastive Language-Image Pre-Training,对比语言图像预训练)的编码方式,对文本进行编码,得到文本嵌入向量(Text Embedding)。然后,服务器通过QKV的KV赋值方式,将文本嵌入向量输入到去噪模块中控制去噪过程。服务器还可以复制一份降采样过程中的KV映射到旁路模块中。该旁路模块在相同的文本嵌入向量的激活下,输出QKV计算结果(新的特征)。新的特征与原来的降采样过程对应位置的特征加权和得到的结果,替换原来的降采样过程对应位置的特征。然后,服务器对降采样输出的特征进行上采样,以预测噪声。然后,在添加有图像特征向量的基础上,减去预测到的特征,从而通过图像编码模块中的图像解码器还原出输入的图像(生成图像)。然后,服务器以最小化生成图像与输入的图像之间的差距为目标,调整图像生成模型中旁路模块的参数。

其中,该图像编码模块可以是VAE(Variational Autoencoder,可变自动编码器),旁路模块可以是LoRA(Low-Rank Adaptation,低阶自适应)模型,去噪模块可以是U-Net模型,本申请实施例对此不进行限制。图像编码模块、文本编码模块和去噪模块可以采用开源已训练好的模型(stable-diffusion v1-5)的参数。也即是,本申请实施例提供的图像生成模型可以基于stablediffusion模型构建。服务器还可以将stablediffusion模型替换成其他开源文生图扩散模型,本申请实施例对此不进行限制。旁路模块可以采用去噪模块中对应参数初始化,并且仅旁路模块在训练中更新,其他模块在训练中不更新。也即是,本申请实施例通过微调旁路模块中的QKV来进行训练。该方式可视为一种轻量化微调的训练方式。服务器还可以直接微调U-Net结构,也可以采用textual Inversion(文本倒置)或LoRA等其他微调方法来进行训练,本申请实施例对训练方式不进行限制。期间学习率设置为1e-5,本申请实施例对此不进行限制。每轮训练对全量样本进行训练,本申请实施例对训练次数不进行限制。例如,每轮训练10次,共训练100轮。

在一些实施例中,由于在应用过程中,图像生成模型是基于文本来生成图像的,因此图像生成模型理解文本的性能同样需要提升。也即是,为了提升图像生成模型学习文本的效果,本方案从文本表征端和模型结构端都进行训练。文本表征端指的是图像生成模型提取文本嵌入向量的部分。模型结构端指的是图像生成模型通过旁路模块去除图像中的噪声的部分。文本表征端训练新学习的文本词。文本词指的是对象的名称。对于其他文本词由于没有专门的数据故不需要微调。微调后的文本词保存到对象库中。由于多对象的微调需要对多个文本词进行训练,故不能每次采用相同的文本词,故每次训练的目标对象的文本词首先用用户取名作为候选(如xiongsan),当该用户取名已经被占用,则后续加上“n”来表示该词(如xiongsan1、xiongsan2等)。

其中,每个待微调的文本词的初始化表征采用类别作为初始化,即对xiongsan(熊三)采用bear的文本表征作为初始化。对每个对象都可以采用3个embedding组合表征(可调整为2~5个)。训练时仅文本词的表征需要更新参数。上述方式增加了训练样本,利于提升图像生成模型的泛化能力。

例如,图6是根据本申请实施例提供的一种微调文本词的示意图。参见图6,单对象文本为“a photo of a xiongsan bear”。服务器通过文本编码器,对单对象文本进行编码,得到文本嵌入向量。该文本嵌入向量的大小为77*768。文本嵌入向量可以分为三部分。一部分代表文本词(对象的名称)、一部分代表对象的类别,剩余部分代表单对象文本中的其他部分。然后,服务器通过模型微调,更新文本词的向量表示。然后,服务器对更新后的文本词保存在对象库中。比如,对象库中包括以下是三个微调后的文本词,wangcai-cat-[emb3,emb4,emb5];Xiongsan-bear-[emb0,emb1,emb2];Banbi-fawn-[emb6,emb7,emb8]。

304、对于非首轮训练,服务器基于增量对象的单对象图文对、至少一个历史对象的历史图文对以及包含至少一个历史对象和增量对象的组合图文对,对图像生成模型进行训练,增量对象是在当前轮训练中新添加的对象,至少一个历史对象为已经参与训练的对象。

在本申请实施例中,对于非首轮训练,服务器获取增量对象的单对象图文对、至少一个历史对象的历史图文对以及包含至少一个历史对象和增量对象的组合图文对。然后,对于任一图文对,服务器通过图像生成模型对该图文对进行处理;并计算损失,以实现对图像生成模型的训练。步骤304可以通过下述步骤3041至步骤3045来实现。可参见图7,图7是根据本申请实施例提供的再一种图像生成模型的训练方法的流程图。

3041、对于非首轮训练,服务器获取增量对象的单对象图文对、至少一个历史对象的历史图文对以及包含至少一个历史对象和增量对象的组合图文对。

其中,服务器从多个对象的单对象图文对中,获取增量对象的单对象图文对。服务器可以从多个对象的单对象图文对中,获取至少一个历史对象的单对象图文对,作为历史图文对。或者,服务器还可以通过基于图像生成模型,生成历史对象的历史图文对。

在一些实施例中,至少一个历史对象的历史图文对的获取过程,包括:对于任一历史对象,服务器基于历史对象的名称、类别以及文本模板,生成历史对象的历史文本。然后,服务器向基于历史对象训练后的图像生成模型中,输入历史对象的历史文本,得到历史对象的历史图像。本申请实施例对文本模板不进行限制。本申请实施例提供的方案,通过图像生成模型,根据历史对象的名称、类别以及文本模板,生成新的单对象图像;利于后续通过历史对象新的单对象图文对,对图像生成模型进行训练,丰富了训练样本,避免重复使用相同的训练样本,能够提升模型的泛化能力。

例如,共有5个文本模板,分别是模板1“a photo of a*on the grass”,模板2“aphoto of a*on bed”,模板3“cute*in sofa”,模板4“cute*in style of cartoon”和模板5“a painting of a*”。然后,服务器将文本模板中的“*”替换为历史对象的名称和类别,得到历史文本。如历史文本1“a photo of a wangcai cat on the grass”和历史文本2“aphoto of a xiongsan bear on the grass”等。然后,服务器对每个历史文本获取目标数量的随机种子。本申请实施例对目标数量不进行限制,比如目标数量=2。然后,对于任一随机种子,服务器通过图像生成模型,对历史文本和该随机种子进行处理,得到历史图像。服务器可以对参与历史图像生成的元素进行记录。如:id1-seed999-image1,id1-seed10-image2等。其中,“id1”用于表示参与历史图像生成所用到的文本模板。“seed999”用于表示参与历史图像生成所用到的随机种子。“image1”为生成的历史图像的标识。然后,历史对象的历史图像和历史文本,构成历史图文对。历史图文对也可以称为正则化数据。

在一些实施例中,在存在多个历史对象的情况下,服务器基于多个历史对象的名称、类别以及文本模板,生成多个历史对象的历史组合文本。然后,服务器向基于多个历史对象训练后的图像生成模型中,输入历史组合文本,得到多个历史对象的历史组合图像。文本模板中包括位置。

例如,文本模板为“a photo of*1on the left,*2on the right”。然后,服务器将文本模板中的“*1”和“*2”替换为各个历史对象的名称和类别,得到历史文本。如历史组合文本“a photo of wangcai on the left,xiongsan bear on the right”。然后,服务器对每个历史组合文本获取目标数量的随机种子。本申请实施例对目标数量不进行限制,比如目标数量=1。然后,对于任一随机种子,服务器通过图像生成模型,对历史组合文本和该随机种子进行处理,得到历史组合图像。服务器可以对参与历史组合图像生成的元素进行记录。如:id1-seed686-image1等。其中,“id1”用于表示参与历史组合图像生成所用到的文本模板。“seed686”用于表示参与历史组合图像生成所用到的随机种子。“image1”为生成的历史组合图像的标识。然后,历史组合图像和历史组合文本,构成多个历史对象的组合图文对。

在一些实施例中,在存在多个历史对象的情况下,服务器基于图像生成模型生成的多个历史对象各自的历史图像,合成多个历史对象的历史组合图像。也即是,服务器可以采用贴图的方式,将多个历史对象各自的历史图像合成为一个图像,得到多个历史对象的历史组合图像。该方式与步骤302中所采用的方式的原理相同,在此不再赘述。

在图像生成模型每次学习多个对象的特征的过程中,除了将多个增量对象与多个历史对象一一组合,得到多个组合图像外;服务器还可以将多个增量对象之间相互组合,得到多个组合图像。

3042、对于非首轮训练,服务器基于增量对象的单对象图文对,确定图像生成模型的第一损失。

其中,在本步骤中,服务器计算第一损失的方式,与步骤303中计算生成图像与单对象图像之间的差距的原理相同。也即是,服务器可以通过公式一计算第一损失,在此不再赘述。

3043、服务器基于至少一个历史对象的历史图文对,确定图像生成模型的第二损失。

其中,在本步骤中,服务器计算第二损失的方式,与步骤303中计算生成图像与单对象图像之间的差距的原理相同。也即是,服务器可以通过公式一计算第二损失,在此不再赘述。

3044、服务器基于包含至少一个历史对象和增量对象的组合图文对,确定图像生成模型的第三损失。

其中,服务器对包含至少一个历史对象和增量对象的组合图文对中的组合文本进行拆分,得到至少一个第一文本和第二文本。每个第一文本用于描述对应的历史对象在组合图像中的位置。第二文本用于描述增量对象在组合图像中的位置。对于至少一个第一文本和第二文本中的任一文本,服务器通过图像生成模型,对文本和组合图像进行处理,得到第一生成图像。然后,服务器基于第一生成图像与组合图像之间的差异,确定单对象损失。服务器通过图像生成模型,对组合文本和组合图像进行处理,得到第二生成图像。服务器基于第二生成图像与组合图像之间的差异,确定组合损失。服务器对至少一个历史对象各自的单对象损失、增量对象的单对象损失以及组合损失,确定第三损失。

例如,服务器从一个随机种子通过高斯采样得到一个随机图像(噪声图)。然后,服务器在组合图像上添加随机图像。组合文本带有位置信息。服务器通过图像生成模型,提取组合文本的文本嵌入向量。在图像生成时,当组合文本中的对象含有微调过的名称(如xiongsan),则该名称替换成微调好的特征表示。对组合文本拆分的多个文本分别进行前向计算,即分别将拆分后的多个文本输入图像生成模型中。如“a photo of*1on the left”提取嵌入向量(若“*1”为历史对象还需要把该对象的名称替换成已训练好的特征表示),输入图像生成模型中。并且,多个文本都采用相同的组合图像输入:每种分别产生1个随机数,与组合图像相加后输入,然后进行模型前向计算,得到图像生成模型的第三损失。

在一些实施例中,服务器基于第一生成图像与组合图像之间的差异,确定单对象损失的过程,包括:对于至少一个历史对象和增量对象中的任一对象,服务器获取对象的掩码图像。掩码图像用于指示组合图像中对象的位置。然后,服务器基于对象的掩码图像,确定组合图像中的目标区域。然后,服务器确定目标区域处组合图像与第一生成图像之间的差异,得到对象的单对象损失。本申请实施例提供的方案,通过掩码图像,对生成的图像与输入的组合图像之间的差距进行过滤,实现了仅计算生成的图像中对象的损失,不关心背景区域的目的,不仅避免了背景过拟合,能够使得图像生成模型专注于学习对象的特征,从而将对象合成到一个图像中。

其中,掩码图像的生成过程,包括:对于至少一个历史对象和增量对象中的任一对象,服务器获取组合图像中对象的单对象图像的粘贴位置和空白图像,空白图像与组合图像尺寸相同。然后,服务器将空白图像中粘贴位置对应的第一区域处的像素值设置为第一数值。第一数值用于指示对象的单对象图像所在的位置。然后,服务器将空白图像中的第二区域和第三区域处的像素值设置为第二数值,得到掩码图像。第二区域为空白图像中除第一区域外的其他区域,第三区域是第一区域内的区域,且位于第一区域与第二区域的连接处。

例如,对“a photo of wangcai cat on the left”采用小猫的掩码图像,对生成图像与输入的组合图像逐像素的MSE损失进行过滤,即只保留掩码图像中像素值为1的位置的像素损失。对“xiongsan bear on the right”采用小熊的掩码图像,对生成图像与输入的组合图像逐像素的MSE损失进行过滤,即只保留掩码图像中像素值为1的位置的像素损失;对组合文本“a photo of wangcai cat on the left,xiongsan bear on the right”,采用组合图像的掩码图像,对生成图像与输入的组合图像逐像素的MSE损失进行过滤,即只保留掩码图像中像素值为1的位置的像素损失。

3045、服务器基于第一损失、第二损失以及第三损失,对图像生成模型进行训练。

其中,服务器对第一损失、第二损失以及第三损失进行加权求和,得到图像生成模型的总损失。然后,服务器以最小化总损失为目标,对图像生成模型进行训练。

在一些实施例中,服务器可以采用公式二,计算图像生成模型的总损失。

公式二:

Loss=Loss1+0.05*Loss2+0.2*(0.2Loss3

其中,Loss用于表示图像生成模型的总损失;Loss1用于表示第一损失;Loss2用于表示第二损失;(0.2Loss3

为了更加清楚描述本申请实施例提供的图像生成模型的训练方法,下面结合附图,对图像生成模型的训练方法进一步描述。图8是根据本申请实施例提供的一种图像生成模型的训练方法的框架图。参见图8,服务器可以获取用户输入的单对象图像和单对象文本。然后,服务器将用户输入的单对象图像和单对象文本,作为图像生成模型将要学习的增量对象的单对象图文对。然后,服务器通过增量对象的单对象图文对,对图像生成模型进行训练。服务器可以将增量对象的单对象图文对存储在对象图集中。对象图集中包括图像生成模型学习过的历史对象。在进行模型训练过程中,服务器可以从根据用户输入的增量对象的单对象图文对、对象图集中历史对象的单对象图文对以及增量对象和历史对象的组合图文对,对图像生成模型的参数进行更新。然后,服务器将用户输入的文本词,输入到更新后的图像生成模型中,以通过图像生成模型生成包含名称为文本词的对象。文本词可以称为提示词,用于提示图像生成模型生成的图像中所需包含的对象。

本申请实施例提供了一种图像生成模型的训练方法,在训练之前,根据待合成到一个图像中的多个对象的单对象图文对,生成包含多个对象中的至少两个对象的组合图文对,然后,通过每个对象的单对象图文对,对图像生成模型进行训练,使得图像生成模型能够准确地学习每个对象的特征,为后续模型生成组合图像提供了保障;并且,通过至少一个组合图文对,对图像生成模型进行训练,不仅能够在对象组合的角度上重复学习每个对象的特征,从而避免了模型随着训练进程遗忘之前学习到的对象的特征,还能够通过组合文本中的位置信息,使得图像生成模型能够更加准确地区分各个对象,从而更加准确地学习各个对象的特征。也即是,通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,不仅符合合成的目的,而且利于提升组合图像的质量。

本申请实施例提供的图像生成方法,能够由计算机设备执行。在一些实施例中,该计算机设备为终端或服务器。图9是根据本申请实施例提供的一种图像生成方法的流程图。参见图9,在本申请实施例中以由服务器执行为例进行说明。该图像生成方法包括以下步骤:

901、服务器获取目标文本,目标文本包括待合成为一张图像中的多个对象的名称,目标文本用于指示图像的生成需求。

902、服务器通过图像生成模型对目标文本进行处理,得到包含多个对象的组合图像,图像生成模型基于多个对象的单对象图文对和至少一个组合图文对训练得到,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括对象,每个对象的单对象文本包括对象的名称和类别,每个组合图文对包括组合图像和组合文本,每个组合图像包含多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

例如,目标文本为“

为了更加清楚地描述本申请实施例提供的图像生成方法,下面结合附图,对图像生成方法进一步描述。图10是根据本申请实施例提供的一种图像生成模型的应用示意图。参见图10,用户通过目标应用向图像生成系统提交“白色小猫”的单对象图文对。然后,服务器通过“白色小猫”的单对象图文对,对图像生成系统中的图像生成模型进行训练。训练后的图像生成模型可以生成包含“白色小猫”的图像。比如,生成一系列的“白色小猫”去旅游的图像。然后,用户通过目标应用向图像生成系统提交“小熊公仔”的单对象图文对。然后,服务器通过“小熊公仔”的单对象图文对,对图像生成系统中的图像生成模型进行训练。训练后的图像生成模型可以生成包含“白色小猫”和“小熊公仔”的图像。比如,生成一系列的“小猫+小熊”的合照。然后,用户通过目标应用向图像生成系统提交“哭脸花色小鹿”的单对象图文对。然后,服务器通过“哭脸花色小鹿”的单对象图文对,再次对图像生成系统中的图像生成模型进行训练。训练后的图像生成模型可以生成包含“小猫+小熊+小鹿”的图像。

本申请实施例对图像生成方法的应用场景不进行限制,下面示例性地介绍两种应用场景,但绝不限于此。

场景一,家庭成员数字化写真生成场景。如在用户个性化微调模型下,已经有用户自己的微调模型。“用户自己的微调模型”指的是图像生成模型已学习到用户自己的特征。此后继续微调其他家庭成员或多个宠物等对象,可采用本方案的方法,把不同对象的名称(概念)持续增量微调到图像生成模型中,最终支持历史对象(用户自己)和增量对象(如宠物、其他家庭成员)等多个对象同时生成的创作。如生成“我和旺财在沙发上合影”等照片。

场景二,电子商务个性化搭配场景。本申请实施例提供的方法为电商用户提供生成能力,可支持卖家持续上新品下,联合新旧品生成产品预览图。如用户提供一只老鼠样子的机器人,该机器人老鼠x微调模型,用于产品展示图生成,如“一只机器老鼠x站在桌子上”;然后用户上新另外一产品:一只老虎机器人y,在本方案下进行增量模型微调,得到新模型支持历史概念与新概念的生成,如“一只机器老鼠x和老虎机器y并排站在桌子上”。以便更好地预览目标商品在特定场合配合的效果,如支持用户为自己已有的商品(如已经买了老鼠)下,进行追加购买提供参考(如老鼠跟牛一起比较好看、还是跟老虎一起比较好看等),辅助用户决策。

本申请实施例提供的方案,由于通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,因此通过训练后的图像生成模型生成的组合图像的质量更好,也即是,组合图像准确地包含所要合成到多个对象,并且合成效果自然,没有拼接或者粘贴的边界感。

图11是根据本申请实施例提供的一种图像生成模型的训练装置的框图。参见图11,图像生成模型的训练装置包括:第一获取模块1101、第一生成模块1102和训练模块1103。

第一获取模块1101,用于获取多个对象的单对象图文对,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括对象,每个对象的单对象文本包括对象的名称和类别;

第一生成模块1102,用于基于多个对象的单对象图文对,生成至少一个组合图文对,每个组合图文对包括组合图像和组合文本,每个组合图像包含多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置;

训练模块1103,用于基于多个对象的单对象图文对和至少一个组合图文对,对图像生成模型进行训练。

在一些实施例中,图12是根据本申请实施例提供的另一种图像生成模型的训练装置的框图。参见图12,第一生成模块1102,包括:

获取单元11021,用于从多个对象的单对象图文对中,随机获取预设数量个对象的单对象图文对;

合成单元11022,用于采用贴图的方式,将预设数量个对象的单对象图像合成为一个图像,得到一个组合图像;

生成单元11023,用于基于预设数量个对象的单对象文本和组合图像中各个对象的位置,生成组合图像对应的组合文本。

在一些实施例中,继续参见图12,合成单元11022,用于基于预设尺寸,对预设数量个对象的单对象图像进行剪裁和缩放中的至少一种处理,预设尺寸用于表示待合成的组合图像的尺寸;将处理后的预设数量个对象的单对象图像粘贴在一个图像中,得到组合图像。

在一些实施例中,继续参见图12,训练模块1103,用于对于首轮训练,基于多个对象中任一对象的单对象图文对,对图像生成模型进行训练;对于非首轮训练,基于增量对象的单对象图文对、至少一个历史对象的历史图文对以及包含至少一个历史对象和增量对象的组合图文对,对图像生成模型进行训练,增量对象是在当前轮训练中新添加的对象,至少一个历史对象为已经参与训练的对象。

在一些实施例中,继续参见图12,训练模块1103,包括:

第一编码单元11031,用于对于首轮训练,通过图像生成模型,对对象的单对象图像进行编码,得到图像特征向量;

第二编码单元11032,用于对对象的单对象文本进行编码,得到文本嵌入向量,文本嵌入向量用于引导图像生成模型排除噪声的干扰;

处理单元11033,用于对图像特征向量和文本嵌入向量进行处理,得到生成图像;

训练单元11034,用于基于生成图像与对象的单对象图像之间的差距,对图像生成模型进行训练。

在一些实施例中,继续参见图12,处理单元11033,用于对图像特征向量添加噪声,得到第一特征向量;通过图像生成模型中的降采样模块,基于文本嵌入向量,对第一特征向量进行降采样,得到第二特征向量;通过图像生成模型中的旁路模块,基于文本嵌入向量,对第一特征向量进行特征提取,得到第三特征向量,旁路模块为图像生成模型中的参数可调模块;基于第二特征向量和第三特征向量,确定生成图像;

训练单元11034,用于以最小化生成图像与对象的单对象图像之间的差距为目标,调整图像生成模型中旁路模块的参数。

在一些实施例中,继续参见图12,装置还包括:

第二获取模块1104,用于对于任一历史对象,基于历史对象的名称、类别以及文本模板,生成历史对象的历史文本;向基于历史对象训练后的图像生成模型中,输入历史对象的历史文本,得到历史对象的历史图像。

在一些实施例中,继续参见图12,装置还包括:

第二生成模块1105,用于在存在多个历史对象的情况下,基于多个历史对象的名称、类别以及文本模板,生成对象多个历史的历史组合文本;向基于多个历史对象训练后的图像生成模型中,输入历史组合文本,得到多个历史对象的历史组合图像,文本模板中包括位置;或者,在存在多个历史对象的情况下,基于图像生成模型生成的多个历史对象各自的历史图像,合成多个历史对象的历史组合图像。

在一些实施例中,继续参见图12,训练模块1103,包括:

第一确定单元11035,用于对于非首轮训练,基于增量对象的单对象图文对,确定图像生成模型的第一损失;

第二确定单元11036,用于基于至少一个历史对象的历史图文对,确定图像生成模型的第二损失;

第三确定单元11037,用于基于包含至少一个历史对象和增量对象的组合图文对,确定图像生成模型的第三损失;

训练单元11034,用于基于第一损失、第二损失以及第三损失,对图像生成模型进行训练。

在一些实施例中,继续参见图12,第三确定单元11037,用于对包含至少一个历史对象和增量对象的组合图文对中的组合文本进行拆分,得到至少一个第一文本和第二文本,每个第一文本用于描述对应的历史对象在组合图像中的位置,第二文本用于描述增量对象在组合图像中的位置;对于至少一个第一文本和第二文本中的任一文本,通过图像生成模型,对文本和组合图像进行处理,得到第一生成图像;基于第一生成图像与组合图像之间的差异,确定单对象损失;通过图像生成模型,对组合文本和组合图像进行处理,得到第二生成图像;基于第二生成图像与组合图像之间的差异,确定组合损失;对至少一个历史对象各自的单对象损失、增量对象的单对象损失以及组合损失,确定第三损失。

在一些实施例中,继续参见图12,第三确定单元11037,用于对于至少一个历史对象和增量对象中的任一对象,获取对象的掩码图像,掩码图像用于指示组合图像中对象的位置;基于对象的掩码图像,确定组合图像中的目标区域;确定目标区域处组合图像与第一生成图像之间的差异,得到对象的单对象损失。

在一些实施例中,继续参见图12,装置还包括:

第三获取模块1106,用于对于至少一个历史对象和增量对象中的任一对象,获取组合图像中对象的单对象图像的粘贴位置和空白图像,空白图像与组合图像尺寸相同;将空白图像中粘贴位置对应的第一区域处的像素值设置为第一数值,第一数值用于指示对象的单对象图像所在的位置;将空白图像中的第二区域和第三区域处的像素值设置为第二数值,得到掩码图像,第二区域为空白图像中除第一区域外的其他区域,第三区域是第一区域内的区域,且位于第一区域与第二区域的连接处。

本申请实施例提供了一种图像生成模型的训练装置,在训练之前,根据待合成到一个图像中的多个对象的单对象图文对,生成包含多个对象中的至少两个对象的组合图文对,然后,通过每个对象的单对象图文对,对图像生成模型进行训练,使得图像生成模型能够准确地学习每个对象的特征,为后续模型生成组合图像提供了保障;并且,通过至少一个组合图文对,对图像生成模型进行训练,不仅能够在对象组合的角度上重复学习每个对象的特征,从而避免了模型随着训练进程遗忘之前学习到的对象的特征,还能够通过组合文本中的位置信息,使得图像生成模型能够更加准确地区分各个对象,从而更加准确地学习各个对象的特征。也即是,通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,不仅符合合成的目的,而且利于提升组合图像的质量。

需要说明的是:上述实施例提供的图像生成模型的训练装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像生成模型的训练装置与图像生成模型的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图13是根据本申请实施例提供的一种图像生成装置的框图。参见图13,图像生成装置包括:

获取模块1301,获取目标文本,目标文本包括待合成为一张图像中的多个对象的名称,目标文本用于指示图像的生成需求;

生成模块1302,用于通过图像生成模型对目标文本进行处理,得到包含多个对象的组合图像,图像生成模型基于多个对象的单对象图文对和至少一个组合图文对训练得到,每个对象的单对象图文对包括单对象图像和单对象文本,每个对象的单对象图像中包括对象,每个对象的单对象文本包括对象的名称和类别,每个组合图文对包括组合图像和组合文本,每个组合图像包含多个对象中的至少两个对象,每个组合文本包括对应的组合图像中各个对象的名称、类别和位置。

本申请实施例提供的图像生成装置,由于通过组合文本指定组合图像中对象的位置,使得图像生成模型能够克服组合图像中多个对象分布缺失的问题,从而更加准确地区分各个对象,进而使得训练后的图像生成模型能够更加准确地将多个对象合成在一张图像上,因此通过训练后的图像生成模型生成的组合图像的质量更好,也即是,组合图像准确地包含所要合成到多个对象,并且合成效果自然,没有拼接或者粘贴的边界感。

需要说明的是:上述实施例提供的图像生成装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像生成装置与图像生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在本申请实施例中,计算机设备能够被配置为终端或者服务器,当计算机设备被配置为终端时,可以由终端作为执行主体来实施本申请实施例提供的技术方案,当计算机设备被配置为服务器时,可以由服务器作为执行主体来实施本申请实施例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的技术方案,本申请实施例对此不作限定。

图14是根据本申请实施例提供的一种终端1400的结构框图。终端1400包括有:处理器1401和存储器1402。

处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1401所执行以实现本申请中方法实施例提供的图像生成模型的训练方法或者图像生成方法。

在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407和电源1408中的至少一种。

外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置在终端1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在另一些实施例中,显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。

摄像头组件1406用于采集图像或视频。在一些实施例中,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。

电源1408用于为终端1400中的各个组件进行供电。电源1408可以是交流电、直流电、一次性电池或可充电电池。当电源1408包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1400还包括有一个或多个传感器1409。该一个或多个传感器1409包括但不限于:加速度传感器1410、陀螺仪传感器1411、压力传感器1412、光学传感器1413以及接近传感器1414。

加速度传感器1410可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1410可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1410采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1410还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1411可以检测终端1400的机体方向及转动角度,陀螺仪传感器1411可以与加速度传感器1410协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1411采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1412可以设置在终端1400的侧边框和/或显示屏1405的下层。当压力传感器1412设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1412采集的握持信号进行左右手识别或快捷操作。当压力传感器1412设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

光学传感器1413用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1413采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1413采集的环境光强度,动态调整摄像头组件1406的拍摄参数。

接近传感器1414,也称距离传感器,通常设置在终端1400的前面板。接近传感器1414用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1414检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1414检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图15是根据本申请实施例提供的一种服务器的结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1501和一个或一个以上的存储器1502,其中,该存储器1502中存储有至少一条计算机程序,该至少一条计算机程序由该处理器1501加载并执行以实现上述各个方法实施例提供的图像生成模型的训练方法或者图像生成方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段计算机程序,该至少一段计算机程序由计算机设备的处理器加载并执行以实现上述实施例的图像生成模型的训练方法或者图像生成方法中计算机设备所执行的操作。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。

本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各种可选实现方式中提供的图像生成模型的训练方法或者图像生成方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120116571310