CN113674383B - 生成文本图像的方法及装置 - Google Patents
生成文本图像的方法及装置 Download PDFInfo
- Publication number
- CN113674383B CN113674383B CN202010412935.6A CN202010412935A CN113674383B CN 113674383 B CN113674383 B CN 113674383B CN 202010412935 A CN202010412935 A CN 202010412935A CN 113674383 B CN113674383 B CN 113674383B
- Authority
- CN
- China
- Prior art keywords
- text image
- latent vector
- image
- text
- latent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了人工智能(artificial intelligence,AI)领域中的一种生成文本图像的方法及装置。该方法包括:获取n个待处理文本图像,确定n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量,根据n个预测潜向量确定目标潜向量,通过GAN模型由目标潜向量生成目标文本图像。本申请的方法能够利用深度学习的方式,生成特定风格的文本图像。
Description
技术领域
本申请涉及人工智能领域,并且更具体地,涉及一种生成文本图像的方法及装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
随着人工智能技术的快速发展,越来越多的人开始关注这一个“崭新”的研究领域:深度学习。深度学习在图像分类、面部识别等任务的表现上不仅超越了传统方法,还超越了人类水平。影响深度学习的三个主要因素分别是:海量的训练数据、强大的计算架构和学术领域的相关进展。在利用深度学习解决问题的过程中,最常见的障碍在于训练模型过程中所需的海量数据。在一些模型构建过程中,例如,文字识别模型,需要大量的文本图像来实现模型的训练与测试。然而,传统的获取文本图像的方式仍存在很多问题,例如,采用实拍方式得到图片的难度大、覆盖面积小以及人力资源成本高;再如,采用网络爬取的方式得到的图片质量参差不齐,还可能存在版权风险;又如,采用购买第三方数据的方式获取图像的成本高且周期长。
目前,还可以通过神经网络模型生成文本图片,该方式能够解决上述问题。例如,采用传统生成对抗网络(generative adversarial network,GAN)可以生成丰富的文本图像。在模型训练和测试的过程中,经常需要使用特定风格的文本图像,例如,需要使用真实场景下的文本图像。而传统GAN无法控制生成的文本图像的风格,且生成的文本图像中的文字可能不具备合理的语义,影响后续模型的训练与测试。
因此,如何得到特定风格的文本图像,成为一个亟需解决的技术问题。
发明内容
本申请提供一种生成文本图像的方法及装置,能够生成特定风格的文本图像。
第一方面,提供了一种生成文本图像的方法,该方法包括:获取n个待处理文本图像,其中,n为大于或等于2的整数;确定所述n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量;根据所述n个预测潜向量确定目标潜向量;通过所述GAN模型由所述目标潜向量生成目标文本图像。
其中,文本图像指的是图像中包含文字的图像。
示例性地,该GAN模型可以为StyleGAN模型或StyleGAN2模型等。
在本申请实施例中,潜向量也可以称为隐码或潜向量编码或Latent。
示例性地,待处理文本图像可以包括内容文本图像和风格文本图像。目标文本图像可以为内容文本图像和风格文本图像的融合。具体地,将内容文本图像中的文本内容与风格文本图像中的图像风格进行融合处理,生成一张具有内容文本图像的文本内容和风格文本图像的图像风格的目标文本图像。
用于在目标文本图像中提供文本内容的文本图像即可以视为内容文本图像。用于在目标文本图像中提供图像风格的文本图像即可以视为风格文本图像。
内容文本图像可以包括一个文本图像或多个文本图像,风格文本图像可以包括一个文本图像或多个文本图像。
确定待处理文本图像在GAN模型中对应的预测潜向量,也可以理解为待处理文本图像嵌入该GAN模型的潜向量空间中。
示例性地,可以根据潜向量在GAN模型中对生成的文本图像的控制方式对n个预测潜向量进行处理,得到目标潜向量。
其中,潜向量在GAN模型中对生成的文本图像的控制方式指的是潜向量中的元素对生成的文本图像中的图像特征的影响。潜向量中的元素对生成的文本图像中的图像特征的影响也可以理解为潜向量中的元素与图像特征之间的关系。
一个潜向量编码中的不同元素可以控制生成的图像的不同特征。例如,一个潜向量编码中的一个元素可以控制生成文本图像的一个特征。或者,一个潜向量编码中的多个元素可以共同控制生成文本图像的一个特征。也就是说生成文本图像的特征可以是由一个潜向量编码中的一个元素控制的,也可以是由多个元素共同控制的。
在本申请实施例中,通过待处理文本图像对应的预测潜向量确定目标潜向量,进而可以通过目标潜向量控制目标文本图像的特征。图像的不同特征决定了图像的不同风格,通过本申请实施例的方案,可以根据所需风格灵活调整目标潜向量,生成具有特定风格的文本图像,满足应用需求。
此外,由于GAN模型不具备语义感知能力,直接由GAN模型生成的文本图像中的文字可能不具备合理语义。本申请实施例的方案中可以绕过语义处理流程,通过确定待处理文本图像对应的预测潜向量,使待处理文本图像能够保留文本的正确语义。例如,由内容文本图像对应的预测潜向量能够生成与内容文本图像接近的文本图像,可以保留内容文本图像中的文字形状,也就不会影响图像的语义。这样,在GAN模型对语义无感知的情况下,通过将控制该内容文本图像中的文字形状的元素保留在目标潜向量中,进而利用目标潜向量能够生成具有合理语义的目标文本图像。
结合第一方面,在第一方面的某些实现方式中,所述根据所述n个预测潜向量确定目标潜向量,包括:将所述n个预测潜向量进行交叉混合,得到所述目标潜向量,其中,所述目标潜向量包括所述n个预测潜向量中的每一个预测潜向量中的至少一个元素,所述每一个预测潜向量中的至少一个元素用于控制所述目标文本图像的目标图像特征。
具体地,可以根据潜向量中的元素与图像特征之间的关系,确定控制目标图像特征的目标元素,进而根据目标元素将n个预测潜向量进行交叉混合。
例如,目标图像特征包括第一文本图像的特征P和第二文本图像的特征Q,根据潜向量中的元素与图像特征之间的关系确定目标元素。目标元素包括第一文本图像对应的预测潜向量中的元素P和第二文本图像对应的预测潜向量中的元素Q,则可以用第二文本图像对应的预测潜向量中的元素Q替换第一文本图像对应的预测潜向量中的元素Q,并将替换后的第一文本图像的对应的预测潜向量作为目标潜向量。
元素P可以理解为潜向量中位置P上的元素。元素Q可以理解为潜向量中位置Q上的元素。
根据本申请实施例的方案,可以根据目标文本图像中所需的图像特征确定目标潜向量中所需的元素,或者说,确定预测潜向量的混合方式,以得到能够生成目标文本图像的目标潜向量,能够进一步提高生成的目标文本图像的风格的可控性,得到所需的目标文本图像。
结合第一方面,在第一方面的某些实现方式中,所述目标图像特征包括所述文字形状、背景或文字字体。
根据本申请实施例的方案,能够通过改变待处理文本图像的文字形状、背景或字体等特征生成目标文本图像,相对于无法改变文本字体等特定特征的方案,本方案大大提高了生成的目标文本图像的多样性。
结合第一方面,在第一方面的某些实现方式中,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:将所述n个待处理图像输入潜向量编码模型中进行处理,得到所述n个待处理文本图像在GAN模型中对应的n个预测潜向量;其中,潜向量编码模型是通过以第一候选文本图像作为所述潜向量编码模型的输入,以所述第一候选文本图像在所述GAN模型中对应的第一潜向量作为所述潜向量编码模型的目标输出对所述潜向量编码模型进行训练得到的,所述第一潜向量用于在所述GAN中生成所述第一候选文本图像。
其中,潜向量编码模型的输入为文本图像,输出为该文本图像在该GAN模型中对应的预测潜向量。也就是说在潜向量编码模型中输入由该GAN模型生成的第一候选文本图像,使输出的预测潜向量尽量接近第一潜向量,或者说最小化输出的预测潜向量与第一潜向量之间的差异。
潜向量编码模型可以为神经网络模型。也就是说通过神经网络模型学习文本图像空间到潜向量空间的映射关系,或者说是学习第一候选文本图像到第一潜向量的映射关系。
根据本申请实施例的方案,通过GAN模型得到潜向量编码模型的训练数据,并基于该训练数据对潜向量编码模型进行训练,利用该训练好的潜向量编码模型即可得到待处理文本图像的预测潜向量。这样,可以通过训练好的潜向量编码模型确定预测潜向量。
结合第一方面,在第一方面的某些实现方式中,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:步骤一:利用所述GAN模型采样第二潜向量;步骤二:根据所述第二潜向量生成第二候选文本图像;步骤三:确定所述第二候选文本图像与所述第一文本图像之间的差异度,所述第一文本图像为所述n个待处理文本图像中的一个文本图像;步骤四:更新第二潜向量,将所述更新后的第二潜向量作为所述步骤二中的第二潜向量;重复所述步骤二至所述步骤四,直至满足终止条件,将所述更新后的第二潜向量作为所述第一文本图像在所述GAN模型中对应的预测潜向量,其中,所述终止条件包括以下至少一种:所述第二候选文本图像与所述第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。
示例性地,两个文本图像之间的差异度可以通过特征距离判断。两个文本图像之间的特征距离越小,则两个图像文本之间的差异度越小。两个文本图像之间的特征距离指的是两个文本图像的特征值之间的差值。
需要说明的是,此处仅以第一文本图像作为示例,n个待处理文本图像中的其他文本图像可以执行与第一文本图像相同的操作,得到n个待处理文本图像对应的预测潜向量。
根据本申请实施例的方案,通过最小化待处理文本图像与第二候选文本图像之间的差异,确定待处理文本图像对应的预测潜向量。
结合第一方面,在第一方面的某些实现方式中,所述确定所述第二候选文本图像与所述第一文本图像之间的差异度,包括:对所述第二候选文本图像进行特征提取,得到所述第二候选文本图像的特征值;对所述第一文本图像进行特征提取,得到所述第一文本图像的特征值;将所述第二候选文本图像的特征值和所述第一文本图像的特征值之间的差值作为所述第二候选文本图像与所述第一文本图像之间的差异度。
具体地,可以通过图像特征提取模型对图像进行特征提取,得到图像的特征值。例如,该图像特征提取模型可以为几何群网络(visual geometry group network,VGG-16)网络模型。
第二方面,提供了一种生成文本图像的装置,所述装置包括:获取单元,用于获取待处理图像,其中,n为大于或等于2的整数;处理单元,用于:确定所述n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量;根据所述n个预测潜向量确定目标潜向量;通过所述GAN模型由所述目标潜向量生成目标文本图像。
结合第二方面,在第二方面的某些实现方式中,所述处理单元具体用于:将所述n个预测潜向量进行交叉混合,得到所述目标潜向量,其中,所述目标潜向量包括所述n个预测潜向量中的每一个预测潜向量中的至少一个元素,所述每一个预测潜向量中的至少一个元素用于控制所述目标文本图像的目标图像特征。
结合第二方面,在第二方面的某些实现方式中,所述目标图像特征包括所述文字形状、背景或文字字体。
结合第二方面,在第二方面的某些实现方式中,所述处理单元具体用于:将所述n个待处理图像输入潜向量编码模型中进行处理,得到所述n个待处理文本图像在GAN模型中对应的n个预测潜向量;其中,潜向量编码模型是通过以第一候选文本图像作为所述潜向量编码模型的输入,以所述第一候选文本图像在所述GAN模型中对应的第一潜向量作为所述潜向量编码模型的目标输出对所述潜向量编码模型进行训练得到的,所述第一潜向量用于在所述GAN中生成所述第一候选文本图像。
结合第二方面,在第二方面的某些实现方式中,所述处理单元具体用于:步骤一:利用所述GAN模型采样第二潜向量;步骤二:根据所述第二潜向量生成第二候选文本图像;步骤三:确定所述第二候选文本图像与所述第一文本图像之间的差异度,所述第一文本图像为所述n个待处理文本图像中的一个文本图像;步骤四:更新第二潜向量,将所述更新后的第二潜向量作为所述步骤二中的第二潜向量;重复所述步骤二至所述步骤四,直至满足终止条件,将所述更新后的第二潜向量作为所述第一文本图像在所述GAN模型中对应的预测潜向量,其中,所述终止条件包括以下至少一种:所述第二候选文本图像与所述第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。
结合第二方面,在第二方面的某些实现方式中,所述处理单元具体用于:对所述第二候选文本图像进行特征提取,得到所述第二候选文本图像的特征值;对所述第一文本图像进行特征提取,得到所述第一文本图像的特征值;将所述第二候选文本图像的特征值和所述第一文本图像的特征值之间的差值作为所述第二候选文本图像与所述第一文本图像之间的差异度。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面中相同的内容。
第三方面,提供了一种生成文本图像的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
上述第三方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
第七方面,提供一种电子设备,该电子设备包括上述第二方面或第三方面中的任意一个方面中的装置。
附图说明
图1是本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的一种系统架构的结构示意图;
图3为本申请实施例提供的一种卷积神经网络的结构示意图;
图4为本申请实施例提供的另一种卷积神经网络的结构示意图;
图5为本申请实施例提供的一种芯片的硬件结构示意图;
图6为利用传统GAN模型生成文本图像的效果图;
图7为利用神经风格迁移算法生成文本图像的效果图;
图8为本申请实施例提供的一种潜向量编码模型的训练方法的示意性流程图;
图9为本申请实施例提供的一种GAN模型和潜向量编码模型的示意性框图;
图10为本申请实施例提供的一种生成文本图像的方法的示意性流程图;
图11为本申请实施例提供的另一种生成文本图像的方法的示意性流程图;
图12为本申请实施例提供的一种确定待处理文本图像对应的预测潜向量的方法的示意性流程图;
图13为本申请实施例提供的又一种生成文本图像的方法的示意性流程图;
图14是本申请实施例提供的生成文本图像的装置的示意性框图;
图15是本申请实施例提供的潜向量编码模型的训练装置的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的生成文本图像的方法能够应用在深度学习领域以及其他需要特定风格的文本图像的场景。
图1示出了本申请实施例中提供的一种应用场景的示意图。如图1所示,深度学习的流程可以包括:收集数据、输入数据、数据探索与预处理、训练及测试算法或评估等阶段。
收集的数据类型可以是多种形式的数据。例如,收集的数据可以包括拍摄的文本图像或扫描的文本图像等。
其中,输入数据也可以理解为获取数据。具体地,可以对收集的数据进行整合得到数据集合。该数据集合可以用于后续的训练及测试算法的过程中。
进一步地,可以对数据集合进行数据探索与预处理。例如,数据探索与数据预处理可以包括数据清理、数据转换或补充规范数据等。该步骤为可选步骤,也就是说数据集合可以直接用于后续的训练及测试算法的过程中。
训练算法及测试算法也可以称为训练模型及测试模型,或者可以称为建模。用于建模的数据可以称为样本数据。该样本数据可以包括前述的数据集合,也可以包括对数据集合中的数据进行数据探索与预处理之后得到的数据。
具体地,样本数据包括训练数据和测试数据,其中,训练数据用于训练模型,测试数据用于对训练得到的模型进行测试。
评估及优化指的是基于模型测试的结果进行评估以及优化,得到目标模型,进而可以在相应设备上部署该目标模型。具体地,可以将评估结果反馈至模型训练环节,继续对模型进行训练,直至得到目标模型。该目标模型可以是满足目标性能指标的模型。或者,该目标模型可以是满足用户需求的模型。
因此,样本数据的数量和质量均会影响训练得到的模型。若样本数据仅包括数据集合中的数据或仅包括对数据集合中的数据进行数据探索与预处理之后得到的数据,那么在数据集合中的数据无法满足模型训练或模型测试的要求,例如数据形式单一或数据量不足等的情况下训练得到的模型往往难以满足目标性能指标。
本申请实施例中的生成文本图像的方法能够用于深度学习中的样本数据扩充。利用扩充后的样本数据训练模型或测试模型,更容易得到目标模型,或者,能够得到性能更优的模型,例如,准确率更高的模型。
利用本申请实施例提供的生成文本图像的方法,可以扩充样本数据。例如,可以在数据探索与预处理阶段生成文本图像,作为训练数据或测试数据,以扩充样本数据。接下来就可以利用扩充后的样本数据对模型进行训练或测试,从而得到目标模型。
具体而言,本申请实施例的生成文本图像的方法能够应用在文本图像中的文本处理场景中,例如,文本处理可以包括文本识别或文本翻译。下面对文本图像中的文本处理场景进行简单的介绍。
文本图像中的文本处理:
当用户需要将文本图像中的文字进行处理时,例如,将文本图像中的文字转换为文本数据时,可以通过文字识别模型可以识别文本图像中的文字,进而可以对文字进行处理,方便用户使用。
利用本申请实施例提供的生成文本图像的方法,可以将得到大量的文本图像。进而可以将生成的文本图像作为样本数据训练文字识别模型,从而利用该文字识别模型识别文本图像中的文字,进而对该文字进行处理,并将处理结果返回给用户。
本申请实施例提供的方法和装置可以用于扩充训练数据库,如图2所示执行设备110的I/O接口112可以将经执行设备110处理过/生成的文本图像和用户输入的样本图像一起作为训练数据发送给数据库130,以使得数据库130维护的训练数据更加丰富,从而为训练设备120的训练工作提供更丰富的训练数据。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)生成对抗网络
生成对抗网络(generative adversarial network,GAN)是一种深度学习模型。生成对抗网络至少包括一个生成网络(Generator)与一个判别网络(Discriminator),通过让两个神经网络以相互博弈的方式进行学习,从而产生更好的输出。这两个神经网络可以是深度神经网络,也可以是卷积神经网络。GAN的基本原理如下:以生成图片的GAN为例,假设有两个网络,G(Generator)和D(Discriminator),其中G是一个生成图片的网络,从潜在空间(Latent Space)中随机取样作为输入,生成图片,记做G(z);D是一个判别网络,用于判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,x为为真实图片或生成网络的输出。输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,如果为0,就代表不可能是真实的图片。在对该生成式对抗网络进行训练的过程中,生成网络G的目标就是尽可能生成真实的图片去欺骗判别网络D,输出结果需要尽量模仿训练集中的真实样本(Real Samples)。而判别网络D的目标就是尽量把G生成的图片和真实的图片区分开来。两个网络相互对抗、不断调整参数。这样,G和D就构成了一个动态的“博弈”过程,也即“生成式对抗网络”中的“对抗”,最终目的是使判别网络无法判断生成网络的输出结果是否真实。最后博弈的结果,在理想的状态下,G可以生成足以“以假乱真”的图片G(z),而D难以判定G生成的图片究竟是不是真实的,即D(G(z))=0.5。这样就得到了一个优异的生成模型G,它可以用来生成图片。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
如图2所示,本申请实施例提供了一种系统架构100。在图2中,数据采集设备160用于采集训练数据。针对本申请实施例的生成文本图像的方法来说,训练数据可以包括样本图像。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述。
上述目标模型/规则101能够用于实现本申请实施例的生成文本图像的方法。本申请实施例中的目标模型/规则101可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图2所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)AR/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器、图形工作站或者云端等。在图2中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理图像。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如待处理图像)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述生成的文本图像返回给客户设备140,从而提供给用户。或者,可以将处理结果,如上述生成的文本图像存储至数据存储系统150中,从而作为其他模型的训练数据。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图2中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图2中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图2所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以包括本申请中的GAN模型、潜向量编码模型或图像特征提取模型等。
由于CNN是一种非常常见的神经网络,例如,GAN模型中的神经网络可以为CNN。下面结合图3重点对CNN的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过神经网络模型更新的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
在图3中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及全连接层(fully connected layer)230。
卷积层/池化层220:
卷积层:
如图3所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图3中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
全连接层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用全连接层230来生成一个或者一组所需要的类的数量的输出。因此,在全连接层230中可以包括多层隐含层(如图3所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在全连接层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图3由210至240方向的传播为前向传播)完成,反向传播(如图3由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
卷积神经网络的结构还可以如图4所示。在图4中,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及全连接层230。与图3相比,图4中的卷积层/池化层220中的多个卷积层/池化层并行,将分别提取的特征均输入给全连接层230进行处理。
需要说明的是,图3和图4所示的卷积神经网络仅作为两种可能的卷积神经网络的示例,在具体的应用中,本申请实施例的卷积神经网络还可以以其他网络模型的形式存在。
图5为本申请实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图3和图4所示的卷积神经网络中各层的算法或本申请实施例中的其他模型中各层的算法均可在如图5所示的芯片中得以实现。
神经网络处理器NPU 50作为协处理器挂载到主中央处理器(central processingunit,CPU)(host CPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图3和图4所示的卷积神经网络中各层的运算或本申请实施例中其他模型中的各层的运算,例如,GAN模型、潜向量编码模型或图像特征提取模型中的各层的运算可以由运算电路503或向量计算单元507执行。
上文中介绍的图2中的执行设备110能够执行本申请实施例的生成文本图像的方法的各个步骤,图5所示的芯片也可以用于执行本申请实施例的生成文本图像的方法的各个步骤。
在模型(例如,文本识别模型)训练和测试的过程中,经常需要使用特定风格的文本图像,例如,需要使用真实场景下的文本图像。现有技术的方法很难得到特定风格的文本图像,例如,传统的GAN模型虽然能够生成丰富的文本图像,但无法控制生成的文本图像的风格。而且GAN模型不具备语义理解能力,采用GAN生成的文本图像只能尽量保证文字的形状特征,无法保证文本图像具有合理的文字语义。如图6所示,采用GAN模型只能生成由单个字母/单词的随意拼接得到的文本图像,该文本图像中的文字并不具备合理语义。再如,神经风格迁移(neural style transfer)算法能将内容图像和风格图像结合,得到迁移后的融合图像。但该方法仅能迁移风格图像中的部分风格,例如,图像的纹理特征、图像的艺术表现形式。比如,图像的艺术表现形式可以包括卡通、漫画、油画、水彩、水墨等图像风格。该方法无法将内容图像与真实场景下的图像结合,也就无法得到真实场景下的图像,如图7所示,采用该方法生成的文本图像仅能迁移一定的纹理特征,无法改变文本图像的背景、字体等其他特征。这样会导致生成的文本图像较为单一,也可能无法得到特定风格的文本图像,进而影响后续模型的训练与测试。
本申请实施例提出的生成文本图像的方法,能够得到特定风格的图像,满足不同的用户需求,或者说,满足不同的模型训练的需求。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的潜向量编码模型的训练方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的样本数据)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的潜向量编码模型;并且,本申请实施例提供的生成文本图像的方法可以运用上述训练好的潜向量编码模型,将输入数据(如本申请中的待处理图像)输入到所述训练好的潜向量编码模型中,得到输出数据(如本申请中的预测潜向量),进而根据该输出数据得到目标图像。需要说明的是,本申请实施例提供的潜向量编码模型的训练方法和生成文本图像的方法是基于同一个构思产生的方案,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
下面结合附图对本申请实施例的方法进行详细的介绍。
下面结合图8对本申请实施例的一种潜向量编码模型的训练方法900进行详细的介绍。方法900可以视为模型训练阶段。方法900包括步骤S910至步骤S930。图8所示的方法可以由潜向量编码模型的训练装置来执行,该训练装置可以是云服务设备,也可以是移动终端,例如,电脑、服务器、图像工作站等运算能力足以用来训练图像生成模型的装置。例如,方法900可以由图2中的训练设备120或图5中的神经网络处理器50执行,方法900中的样本图像集合可以是图1中所示的数据库130中维护的训练数据。可选地,方法900的步骤S910和步骤S920可以在训练设备120中执行,也可以在训练设备120之前由其他功能模块预先执行,即先对从数据库130中接收或者获取到的训练数据进行预处理,例如步骤S910和步骤S920,得到潜向量和由该潜向量生成的文本图像,作为训练设备120的输入,并由训练设备120执行步骤S930。
可选地,所述方法900可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
下面对步骤S910至步骤S930进行详细说明。
S910,基于样本图像集合训练GAN模型。
样本图像集合包括多个样本图像。该样本图像可以为文本图像。文本图像指的是图像中包含文字的图像。
训练好的GAN模型能够用于生成文本图像。
示例性地,该GAN模型可以为StyleGAN模型或StyleGAN2模型等。
S920,利用训练好的GAN模型从潜向量空间中采样第一潜向量(Latent),并基于该潜向量生成第一候选文本图像。
其中,从潜向量空间中采样第一潜向量可以为随机采样第一潜向量。也就是说第一候选文本图像可以是随机生成的。
在本申请实施例中,潜向量也可以称为隐码或潜向量编码或Latent。
示例性地,可以执行多次步骤S920,得到多个第一候选文本图像。或者,可以理解为利用训练好的GAN模型从潜向量空间中采样多个第一潜向量,并基于多个第一潜向量生成多个第一候选文本图像。多个第一候选文本图像分别对应多个第一潜向量,也就是说第一潜向量和第一候选文本图像之间是一一对应的。
示例性地,在执行步骤S920的过程中可以记录或保存第一候选文本图像和第一候选文本图像对应的第一潜向量。第一候选文本图像对应的第一潜向量,也可以说是,第一候选文本图像在GAN模型中对应的第一潜向量,可以理解为在该GAN模型中能够由第一潜向量生成该第一候选文本图像。
S930,以第一候选文本图像作为潜向量编码模型的输入,以第一潜向量作为潜向量编码模型的目标输出训练潜向量编码模型。
需要说明的是,步骤S910和步骤S920为可选步骤。第一潜向量和第一候选文本图像也可以是由其他方式获得的。例如,第一潜向量以及第一候选文本图像可以是图1中的数据库130中维护的训练数据。该训练数据可以是从其他设备接收的数据。在该情况下,用于根据第一潜向量生成第一候选文本图像的GAN模型也可以是从其他设备接收的。
在本申请实施例中,潜向量编码模型也可以称为潜向量编码器。
其中,潜向量编码模型的输入为文本图像,输出为该文本图像在该GAN模型中对应的预测潜向量。也就是说在潜向量编码模型中输入由该GAN模型生成的第一候选文本图像,使输出的预测潜向量尽量接近第一潜向量,或者说最小化输出的预测潜向量与第一潜向量之间的差异。
潜向量编码模型可以为神经网络模型。也就是说通过神经网络模型学习文本图像空间到潜向量空间的映射关系,或者说是学习第一候选文本图像到第一潜向量的映射关系。
图9示出了一种GAN模型与潜向量编码模型的示意性框图。如图9所示,潜向量空间即为图9中的X,文本图像空间即为图9中的Y。其中,潜向量空间中的数据为潜向量数据,文本图像空间中的数据为文本图像数据。GAN模型能够从潜向量空间采样潜向量x,生成候选文本图像y。将候选文本图像y输入潜向量编码模型,使得输出的预测潜向量接近潜向量x。其中,输出的预测潜向量与潜向量x之间的差异可以通过循环一致性损失(cycle-consistency loss)来表示。也就是说通过最小化循环一致性损失使得输出的预测潜向量接近潜向量x,即训练潜向量编码模型。
训练好的潜向量编码模型可以用于生成文本图像在GAN模型中对应的预测潜向量。例如,用户将真实文本图像输入训练好的潜向量编码模型中,可以得到该真实文本图像对应的潜向量编码。真实图像与GAN生成的图像是相对的概念,也就是说在本申请实施例中,真实图像可以包括不是由GAN生成的图像。该真实图像可以是样本图像集合中的图像,也可以是其他图像。
这样,可以利用潜向量编码器获得真实文本图像在GAN模型中的预测潜向量,能够通过调整该预测潜向量,控制基于该真实文本图像生成的文本图像的特征。
需要说明的是,图9中的潜向量的数值仅为示意,不对本申请实施例的方案构成限制。
图10示出了本申请实施例提供的生成文本图像的方法1100的示意性流程图。该方法可以由能够生成图像的装置或设备执行,例如,该方法可以由终端设备、电脑、服务器或图像工作站等执行。
方法1100包括步骤S1110至步骤S1140。示例性地,所述方法1100具体可以由如图1所示的执行设备110执行,所述方法1100中的待处理文本图像可以是如图1所示的客户设备140给出的输入数据,所述执行设备110中的预处理模块113可以用来执行所述方法1100中的S1120,所述执行设备110中的预处理模块114可以用来执行所述方法1100中的S1130,所述执行设备110中的计算模块111可以用于执行所述S1140。可选地,执行设备110中也可以只包括一个预处理模块,该预处理模块可以用来执行所述方法1100中的S1120和S1130,计算模块111可以用来执行S1140。可选地,执行设备110中也可以不包括预处理模块113和预处理模块114,直接由计算模块111执行方法1110中的步骤S1120至步骤S1140。
可选的,所述方法1100可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
图10中的生成文本图像的方法1100中使用的GAN模型或潜向量编码模型可以是通过上述图8中的方法构建的。方法1100中的具体实现方式可以参照前述方法900,为了避免不必要的重复,下面在介绍方法1100时适当省略重复的描述。
S1110,获取n个待处理文本图像。其中,n≥2,n为整数。
示例性地,待处理文本图像可以包括内容文本图像和风格文本图像。方法1100可以用于将内容文本图像中的文本内容与风格文本图像中的图像风格进行融合处理,生成一张具有内容文本图像的文本内容和风格文本图像的图像风格的目标文本图像。需要说明的是,此处仅以待处理文本图像包括内容文本图像和风格文本图像为例对方法1100进行说明,内容文本图像和风格文本图像并非是绝对意义的划分。用于在目标文本图像中提供文本内容的文本图像即可以视为内容文本图像。用于在目标文本图像中提供图像风格的文本图像即可以视为风格文本图像。一个文本图像可以同时为内容文本图像和风格文本图像。
举例说明,待处理文本图像包括第一文本图像和第二文本图像,方法1100可以用于将第一文本图像中的特征A、第一文本图像中的特征B、第二文本图像中的特征C和第二文本图像中的特征D进行融合,生成一张具有特征A、特征B、特征C和特征D的目标文本图像。其中特征A可以为指示文本内容的特征,例如,特征A可以为第一文本图像中的文字形状。特征B、特征C和特征D可以为指示图像风格的特征,例如,特征B可以为第一文本图像的文字颜色、特征C可以为第二文本图像的字体,特征D可以为第二文本图像的背景。在该情况下,第二文本图像可以视为风格文本图像,第一文本图像既可以视为风格文本图像,也可以视为内容文本图像。
内容文本图像可以是终端设备(或者电脑、服务器等其他装置或设备)通过摄像头拍摄到的图像,或者,内容文本图像还可以是从终端设备(或者电脑、服务器等其他装置或设备)内部获得的图像(例如,终端设备的相册中存储的图像,或者终端设备从云端获取的图像),本申请实施例对此并不限定。
风格文本图像可以是终端设备(或者电脑、服务器等其他装置或设备)通过摄像头拍摄到的图像,或者,风格文本图像还可以是从终端设备(或者电脑、服务器等其他装置或设备)内部获得的图像(例如,终端设备的相册中存储的图像,或者终端设备从云端获取的图像),本申请实施例对此并不限定。
内容文本图像可以包括一个文本图像或多个文本图像,风格文本图像可以包括一个文本图像或多个文本图像。
为了便于描述,本申请实施例中以待处理图像包括两个文本图像,即第一文本图像和第二文本图像为例对方法900进行说明,不对本申请实施例的待处理图像的数量构成限定。
图11示出了本申请实施例提供的一种生成文本图像的方法的示意性流程图。第一文本图像可以为图11中的内容文本图像,第二文本图像可以为图11中的风格文本图像。
S1120,确定n个待处理文本图像在GAN模型中对应的n个预测潜向量。
确定待处理文本图像在GAN模型中对应的预测潜向量,也可以理解为待处理文本图像嵌入该GAN模型的潜向量空间中。
可选地,步骤S1120可以包括:将n个待处理图像输入潜向量编码模型中进行处理,得到n个待处理文本图像在该GAN模型中对应的n个预测潜向量。
该潜向量编码模型可以是通过以第一候选文本图像作为潜向量编码模型的输入,以第一候选文本图像在GAN模型中对应的第一潜向量作为潜向量编码模型的目标输出对潜向量编码模型进行训练得到的。第一潜向量用于在GAN中生成第一候选文本图像。
具体地,潜向量编码模型可以是由方法900训练得到的,如图11所示,训练过程可以包括以下步骤:
S1:利用训练好的GAN模型从潜向量空间中采样第一潜向量,并基于该潜向量生成第一候选文本图像。具体描述参见图8中的方法900,此处不再赘述。
如图11所示,第一潜向量包括X1,X2,…Xn等多个潜向量。第一候选文本图像包括Y1,Y2,…Yn等多个候选文本图像。
示例性地,第一潜向量和第一候选文本图像可以构成数据对(Y1,X1)、(Y2,X2)…(Yn,Xn)等,用于训练潜向量编码模型。
S2:基于第一潜向量和第一候选文本图像训练潜向量编码模型。具体描述参见图8中的方法900,此处不再赘述。
将第一文本图像和第二文本图像输入训练好的潜向量编码模型,可以得到第一文本图像对应的预测潜向量和第二文本图像对应的预测潜向量。
如图11所示,将内容文本图像Y’输入该训练好的潜向量编码模型中,得到Y’在GAN模型中对应的预测潜向量X’,即图11中的S3。图11中仅以内容文本图像作为示例,对风格文本图像可以进行同样的处理,得到风格文本图像对应的预测潜向量。
方法900可以理解为潜向量编码模型的训练阶段(如图1所示的训练设备120执行的阶段),具体训练是采用由方法900中提供的神经网络进行的;而方法1100则可以理解为是该潜向量编码模型的应用阶段(如图1所示的执行设备110执行的阶段),具体可以体现为采用由方法900训练得到的潜向量编码模型,并根据用户输入的待处理文本图像,从而得到待处理文本图像对应的预测潜向量。
需要说明的是,步骤S1120可以不采用潜向量编码模型,而采用其他方式确定待处理文本图像在GAN模型中的预测潜向量,例如后文中的方法1300。
S1130,根据所述n个预测潜向量确定目标潜向量。
目标潜向量编码可以用于生成目标图像。
具体地,可以根据潜向量在GAN模型中对生成的文本图像的控制方式对n个预测潜向量进行处理,得到目标潜向量。
其中,潜向量在GAN模型中对生成的文本图像的控制方式指的是潜向量中的元素对生成的文本图像中的图像特征的影响。潜向量中的元素对生成的文本图像中的图像特征的影响也可以理解为潜向量中的元素与图像特征之间的关系。
一个潜向量编码中的不同元素可以控制生成的图像的不同特征。例如,一个潜向量编码中的一个元素可以控制生成文本图像的一个特征。或者,一个潜向量编码中的多个元素可以共同控制生成文本图像的一个特征。也就是说生成文本图像的特征可以是由一个潜向量编码中的一个元素控制的,也可以是由多个元素共同控制的。
可选地,方法S1130还包括:确定潜向量中的元素与图像特征之间的关系。该步骤对应图11中的步骤S4。
示例性地,可以通过改变潜向量中的元素的数值,对比由改变前后的潜向量生成的文本图像之间的区别,确定潜向量中的不同元素在GAN模型中对应控制生成的文本图像的不同的图像特征。例如元素P可以用于控制生成文本图像的特征P。元素Q可以用于控制生成文本图像的特征Q。元素P可以理解为潜向量中位置P上的元素。元素Q可以理解为潜向量中位置Q上的元素。
潜向量中的元素与图像特征之间的关系可以通过上述方式确定,也可以由其他方式确定,例如,该关系可以是预先存储的。
示例性地,图像特征可以包括内容特征和风格特征。例如,内容特征可以包括文字形状。风格特征可以包括文字颜色、背景、文字字体或光线等。
本申请实施例中,图像特征也可以称为因子。
可选地,步骤S1130可以包括:将n个预测潜向量进行交叉混合,得到目标潜向量。其中,目标潜向量包括n个预测潜向量中的每一个预测潜向量中的至少一个元素,每一个预测潜向量中的至少一个元素用于控制目标文本图像的目标图像特征。
具体地,可以根据潜向量中的元素与图像特征之间的关系,确定控制目标图像特征的目标元素,进而根据目标元素将n个预测潜向量进行交叉混合。
例如,目标图像特征包括第一文本图像的特征P和第二文本图像的特征Q,根据潜向量中的元素与图像特征之间的关系确定目标元素。目标元素包括第一文本图像对应的预测潜向量中的元素P和第二文本图像对应的预测潜向量中的元素Q,则可以用第二文本图像对应的预测潜向量中的元素Q替换第一文本图像对应的预测潜向量中的元素Q,并将替换后的第一文本图像的对应的预测潜向量作为目标潜向量。
需要说明的是,元素P可以为一个元素,也可以为多个元素。元素Q可以为一个元素,也可以为多个元素。特征P可以为一个图像特征,也可以为多个图像特征。特征Q可以为一个图像特征,也可以为多个图像特征。
如图11所示,目标图像特征包括内容文本图像的文字形状和风格文本图像的文字字体和背景。图11中的步骤S5可以对应步骤S1130。具体地,可以根据内容文本图像对应的预测潜向量[63,7,92,…458]中控制文字形状的元素和风格文本图像对应的预测潜向量[88,34,22,…325]中控制文字字体的元素以及控制背景的元素确定目标潜向量。例如,利用风格文本图像对应的预测潜向量中控制文字字体的元素以及控制背景的元素替换内容文本图像对应的预测潜向量中控制文字形状的元素,也就是利用风格文本图像对应的预测潜向量中控制文字字体的位置上的数值以及控制背景的位置上的数值替换内容文本图像对应的预测潜向量中控制文字形状的位置上的数据,将替换后的内容文本图像对应的预测潜向量作为目标潜向量。
需要说明的是图11中的潜向量的数值以及融合方式仅为示意,不对本申请实施例的方案构成限定。
S1140,通过GAN模型由目标潜向量编码生成目标文本图像。
例如,如图11中的步骤S6,生成的目标文本图像中包括内容文本图像中的文字形状和风格文本图像中的背景以及文字字体。
根据本申请实施例的方案,通过待处理文本图像对应的预测潜向量确定目标潜向量,进而可以通过目标潜向量控制目标文本图像的特征。图像的不同特征决定了图像显示出的不同风格。通过本申请实施例的方案,可以根据所需的风格灵活调整目标潜向量,生成具有特定风格的文本图像,满足应用需求。
此外,由于GAN模型不具备语义感知能力,直接由GAN模型生成的文本图像中的文字可能不具备合理语义。在本申请实施例的方案中,可以绕过语义处理流程,通过确定待处理文本图像对应的预测潜向量,使待处理文本图像能够保留文本的正确语义,或者说,能够在目标文本图像中保留待处理文本图像中的正确语义。
例如,待处理文本图像可以包括内容文本图像和风格文本图像。由内容文本图像对应的预测潜向量能够生成与内容文本图像接近的文本图像,可以保留内容文本图像中的文字形状,也就不会影响图像中文字的语义。这样,在GAN模型对语义无感知的情况下,通过将控制该内容文本图像中的文字形状的元素保留在目标潜向量中,进而利用目标潜向量能够生成具有内容文本图像中的文字形状的目标文本图像,也就是具有合理语义的目标文本图像。
此外,根据本申请实施例的方案,可以根据目标文本图像中所需的图像特征确定目标潜向量中所需的元素,或者说,确定预测潜向量的混合方式,以得到能够生成目标文本图像的目标潜向量,能够进一步提高生成的目标文本图像的风格的可控性,得到所需的目标文本图像。
此外,根据本申请实施例的方案,能够改变待处理文本图像的文字形状、背景或字体等特征生成目标文本图像,相对于无法改变文本字体等特定特征的方案,本方案大大提高了生成的目标文本图像的多样性。
应理解,本申请实施例仅以根据两个待处理文本图像生成目标文本图像作为示例,不对本申请实施例提供的生成文本图像的方法构成限制。本申请实施例提供的生成文本图像的方法还可以用于根据两个以上待处理文本图像生成目标文本图像。
下面以根据三个待处理文本图像生成目标文本图像为例对本申请实施例中的生成文本图像的方法进行说明。详细过程可以参见方法1100的描述,为了避免重复,以下描述作适当的省略。
(1)获取待处理文本图像,待处理文本图像包括第一文本图像、第二文本图像和第三文本图像。
(2)确定第一文本图像对应的预测潜向量、第二文本图像对应的预测潜向量以及第三文本图像对应的预测潜向量。
(3)根据预测潜向量得到目标潜向量。其中,目标潜向量包括第一文本图像对应的预测潜向量中的第一元素、第二文本图像对应的预测潜向量中的第二元素和第三文本图像对应的预测潜向量中的第三元素。目标图像特征包括第一特征、第二特征和第三特征。第一元素包括用于控制目标文本图像的第一文本特征的元素,第二元素包括用于控制目标文本图像的第二特征的元素,第三元素包括用于控制生成目标文本图像的第三特征的元素。
例如,目标图像特征包括第一文本图像中的文字形状、第二文本图像中的文本字体和第三文本图像中的背景。第一特征包括第一文本图像的文字形状,第一元素用于控制目标文本图像中的文字形状为第一文本图像的文字形状。第二特征包括第二文本图像中的文本字体,第二元素用于控制目标文本图像中的文本字体为第二文本图像中的文本字体。第三特征包括第三文本图像中的背景,第三元素用于控制目标文本图像中的背景为第三文本图像中的背景。这样生成的目标文本图像包括第一文本图像中的文字形状、第二文本图像中的文本字体和第三文本图像中的背景。
(4)通过GAN模型由目标潜向量编码生成目标文本图像。
图12示出了本申请实施例提供的一种确定待处理图像对应的潜向量编码的方法1300。方法1300可以视为步骤S1120的一个具体实施方式。方法1300包括步骤S1310至步骤S1340,下面对步骤S1310至步骤S1340进行详细说明。
S1310,基于样本图像集合训练GAN模型。
样本图像集合包括多个样本图像。该样本图像可以为文本图像。
需要说明的是步骤S1310为可选步骤,方法1300可以直接从步骤S1320开始,示例性地,该训练好的GAN模型可以是预先训练好的GAN模型,或者,也可以是从其他设备接收的GAN模型,或者由用户输入的GAN模型。
S1320,利用训练好的GAN模型采样第二潜向量。
具体地,利用训练好的GAN模型从潜向量空间中采样第二潜向量。
其中,从潜向量空间中采样第二潜向量可以为随机采样第二潜向量。
S1330,根据第二潜向量生成第二候选文本图像。
S1340,确定第二候选文本图像与第一文本图像之间的差异度。
第一文本图像为n个待处理文本图像中的一个文本图像。
示例性地,两个文本图像之间的差异度可以通过特征距离判断。两个文本图像之间的特征距离越小,则两个图像文本之间的差异度越小。两个文本图像之间的特征距离指的是两个文本图像的特征值之间的差值。
可选地,步骤S1340包括:
对第二候选文本图像进行特征提取,得到第二候选文本图像的特征值;
对第一文本图像进行特征提取,得到第一文本图像的特征值;
根据第二候选文本图像的特征值和第一文本图像的特征值之间的差值确定第二候选文本图像与第一文本图像之间的差异度。例如,将第二候选文本图像的特征值和第一文本图像的特征值之间的差值作为第二候选文本图像与第一文本图像之间的差异度。
具体地,可以通过图像特征提取模型对图像进行特征提取,得到图像的特征值。例如,该图像特征提取模型可以为几何群网络(visual geometry group network,VGG-16)网络模型。
S1350,更新第二潜向量,将更新后的第二潜向量作为步骤S1330中的第二潜向量。
重复步骤S1330至步骤S1350,直至满足终止条件,将所述更新后的第二潜向量作为第一文本图像在该GAN模型中对应的预测潜向量。
其中,终止条件包括以下至少一种:第二候选文本图像与第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。需要说明的是,终止条件可以根据需要设定,本申请实施例对终止条件不做限定。例如,终止条件还可以为本次更新后的第二潜向量生成的第二候选文本图像与上次更新后的第二潜向量生成的第二候选文本图像之间的差异度小于或等于第三阈值。也就是说,生成的第二候选文本图像与第一文本图像之间的差异度变化较小时终止迭代。
也就是说方法1300是通过最小化待处理文本图像与第二候选文本图像之间的差异,确定待处理文本图像对应的预测潜向量。
需要说明的是,通过最小化待处理文本图像与第二候选文本图像之间的差异确定待处理文本图像对应的预测潜向量还可以包括其他实现形式。
例如,还可以通过以下步骤确定预测潜向量。
步骤一:利用训练好的GAN模型采样多个第二潜向量。
步骤二:根据多个第二潜向量分别生成多个第二候选文本图像。
步骤三:将多个第二候选文本图像中与第一文本图像之间的差异度最小的第二候选文本图像对应的潜向量作为第一文本图像的预测潜向量。
方法1300中仅以第一文本图像作为示例,n个待处理文本图像中的其他文本图像可以执行与第一文本图像相同的操作,得到n个待处理文本图像对应的预测潜向量。
图13示出了一种生成文本图像的方法。该方法可以视为方法1300和方法1100的具体实施方式,具体描述参见前述方法1100和方法1300以及图11中的方法,为了避免不必要的重复,在介绍图13的方法时做适当的省略。
S1,利用图像特征提取模型提取待处理文本图像的特征,得到待处理文本图像的特征值。
例如,如图13所示,待处理文本包括内容文本图像和风格文本图像。将内容文本图像Y’输入图像特征提取模型中,得到内容文本图像的特征值Z’。
需要说明的是,图13中仅以提取内容文本图像的特征值作为示意。对于风格文本图像,可以执行与内容文本图像相同的操作,即将风格文本图像输入图像特征提取模型中,得到风格文本图像的特征值。
S2,利用GAN模型采样第二潜向量,并基于第二潜向量生成第二候选文本图像;利用图像特征提取模型提取第二候选文本图像的特征,得到第二候选文本图像的特征值。
例如,如图13所示,基于第二潜向量X生成第二候选文本图像Y,将第二候选文本图像Y输入图像特征提取模型中,得到第二候选文本图像的特征值Z。
S3,通过最小化待处理文本图像和第二候选文本图像之间的特征距离确定待处理文本图像对应的预测潜向量。
步骤S4至步骤S6与图11中的步骤相同,此处不再赘述。
需要说明的是图13中的潜向量的数值以及融合方式仅为示意,不对本申请实施例的方案构成限定。
图14是本申请实施例的生成文本图像的装置的硬件结构示意图。图14所示的生成文本图像的装置4000包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼此之间的通信连接。
存储器4001可以是ROM,静态存储设备和RAM。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002和通信接口4003用于执行本申请实施例的生成文本图像的方法的各个步骤。具体地,处理器4002可以执行上文中图10所示的方法中的步骤S1110至步骤S1140。可选地,处理器4002还可以执行上文中图11或图13所示的方法中的步骤S1至步骤S6。可选地,处理器4002还可以执行上文中图12所示的方法中的步骤S1310至步骤S1340。
处理器4002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的生成文本图像的装置中的单元所需执行的功能,或者执行本申请方法实施例的生成文本图像的方法。
处理器4002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图5所示的芯片。在实现过程中,本申请实施例的生成文本图像的方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。
处理器4002用于:获取n个待处理文本图像,其中,n≥2,n为整数;确定所述n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量;根据所述n个预测潜向量确定目标潜向量;通过所述GAN模型由所述目标潜向量生成目标文本图像。
可选地,所述根据所述n个预测潜向量确定目标潜向量,包括:将所述n个预测潜向量进行交叉混合,得到所述目标潜向量,其中,所述目标潜向量包括所述n个预测潜向量中的每一个预测潜向量中的至少一个元素,所述每一个预测潜向量中的至少一个元素用于控制所述目标文本图像的目标图像特征。
可选地,所述目标图像特征包括所述文字形状、背景或文字字体。
可选地,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:将所述n个待处理图像输入潜向量编码模型中进行处理,得到所述n个待处理文本图像在GAN模型中对应的n个预测潜向量;其中,潜向量编码模型是通过以第一候选文本图像作为所述潜向量编码模型的输入,以所述第一候选文本图像在所述GAN模型中对应的第一潜向量作为所述潜向量编码模型的目标输出对所述潜向量编码模型进行训练得到的,所述第一潜向量用于在所述GAN中生成所述第一候选文本图像。
可选地,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:步骤一:利用所述GAN模型采样第二潜向量;步骤二:根据所述第二潜向量生成第二候选文本图像;步骤三:确定所述第二候选文本图像与所述第一文本图像之间的差异度,所述第一文本图像为所述n个待处理文本图像中的一个文本图像;步骤四:更新第二潜向量,将所述更新后的第二潜向量作为所述步骤二中的第二潜向量;重复所述步骤二至所述步骤四,直至满足终止条件,将所述更新后的第二潜向量作为所述第一文本图像在所述GAN模型中对应的预测潜向量,其中,所述终止条件包括以下至少一种:所述第二候选文本图像与所述第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。
可选地,所述确定所述第二候选文本图像与所述第一文本图像之间的差异度,包括:对所述第二候选文本图像进行特征提取,得到所述第二候选文本图像的特征值;
对所述第一文本图像进行特征提取,得到所述第一文本图像的特征值;将所述第二候选文本图像的特征值和所述第一文本图像的特征值之间的差值作为所述第二候选文本图像与所述第一文本图像之间的差异度。
上述处理器4002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002读取存储器4001中的信息,结合其硬件完成本申请实施例的生成文本图像的装置中包括的单元所需执行的功能,或者执行本申请方法实施例的生成文本图像的方法。
通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。例如,可以通过通信接口4003获取待处理文本图像。
总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。
图15是本申请实施例的训练装置的硬件结构示意图。与上述装置4000类似,图15所示的训练装置5000包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
通过图15所示的训练装置5000对GAN模型或潜向量编码模型进行训练,训练得到的GAN模型或潜向量编码模型就可以用于执行本申请实施例的生成文本图像的方法了。
具体地,图15所示的装置可以通过通信接口5003从外界获取训练数据以及待训练的GAN模型或潜向量编码模型,然后由处理器根据训练数据对待训练的GAN模型或潜向量编码模型进行训练。
存储器5001可以是ROM,静态存储设备和RAM。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器4002和通信接口5003用于执行本申请实施例的潜向量编码模型的训练方法的各个步骤。具体地,处理器5002可以执行上文中图8所示的方法中的步骤S910至步骤S930。
处理器5002可以采用通用的,CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的潜向量编码模型的训练方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图5所示的芯片。在实现过程中,本申请实施例的潜向量编码模型的训练方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成本申请实施例的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的潜向量编码模型的训练方法。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取样本图像集合。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器4002、通信接口5003)之间传送信息的通路。
应注意,尽管上述装置4000和装置5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000和装置5000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置4000和装置5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000和装置5000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图14和图15中所示的全部器件。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种生成文本图像的方法,其特征在于,包括:
获取n个待处理文本图像,其中,n为大于或等于2的整数;
确定所述n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量;
根据所述n个预测潜向量确定目标潜向量;
通过所述GAN模型由所述目标潜向量生成目标文本图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述n个预测潜向量确定目标潜向量,包括:
将所述n个预测潜向量进行交叉混合,得到所述目标潜向量,其中,所述目标潜向量包括所述n个预测潜向量中的每一个预测潜向量中的至少一个元素,所述每一个预测潜向量中的至少一个元素用于控制所述目标文本图像的目标图像特征。
3.根据权利要求2所述的方法,其特征在于,所述目标图像特征包括文字形状、背景或文字字体。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:
将所述n个待处理文本图像输入潜向量编码模型中进行处理,得到所述n个待处理文本图像在GAN模型中对应的n个预测潜向量;
其中,潜向量编码模型是通过以第一候选文本图像作为所述潜向量编码模型的输入,以所述第一候选文本图像在所述GAN模型中对应的第一潜向量作为所述潜向量编码模型的目标输出对所述潜向量编码模型进行训练得到的,所述第一潜向量用于在所述GAN中生成所述第一候选文本图像。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定所述n个待处理文本图像在GAN模型中对应的n个预测潜向量,包括:
步骤一:利用所述GAN模型采样第二潜向量;
步骤二:根据所述第二潜向量生成第二候选文本图像;
步骤三:确定所述第二候选文本图像与第一文本图像之间的差异度,所述第一文本图像为所述n个待处理文本图像中的一个文本图像;
步骤四:更新第二潜向量,将更新后的第二潜向量作为所述步骤二中的第二潜向量;
重复所述步骤二至所述步骤四,直至满足终止条件,将所述更新后的第二潜向量作为所述第一文本图像在所述GAN模型中对应的预测潜向量,
其中,所述终止条件包括以下至少一种:所述第二候选文本图像与所述第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第二候选文本图像与所述第一文本图像之间的差异度,包括:
对所述第二候选文本图像进行特征提取,得到所述第二候选文本图像的特征值;
对所述第一文本图像进行特征提取,得到所述第一文本图像的特征值;
将所述第二候选文本图像的特征值和所述第一文本图像的特征值之间的差值作为所述第二候选文本图像与所述第一文本图像之间的差异度。
7.一种生成文本图像的装置,其特征在于,包括:
获取单元,用于获取n个待处理文本图像,其中,n为大于或等于2的整数;
处理单元,用于:
确定所述n个待处理文本图像在生成对抗网络GAN模型中对应的n个预测潜向量;
根据所述n个预测潜向量确定目标潜向量;
通过所述GAN模型由所述目标潜向量生成目标文本图像。
8.根据权利要求7所述的装置,其特征在于,所述处理单元具体用于:
将所述n个预测潜向量进行交叉混合,得到所述目标潜向量,其中,所述目标潜向量包括所述n个预测潜向量中的每一个预测潜向量中的至少一个元素,所述每一个预测潜向量中的至少一个元素用于控制所述目标文本图像的目标图像特征。
9.根据权利要求8所述的装置,其特征在于,所述目标图像特征包括文字形状、背景或文字字体。
10.根据权利要求7至9中任一项所述的装置,其特征在于,所述处理单元具体用于:
将所述n个待处理文本图像输入潜向量编码模型中进行处理,得到所述n个待处理文本图像在GAN模型中对应的n个预测潜向量;
其中,潜向量编码模型是通过以第一候选文本图像作为所述潜向量编码模型的输入,以所述第一候选文本图像在所述GAN模型中对应的第一潜向量作为所述潜向量编码模型的目标输出对所述潜向量编码模型进行训练得到的,所述第一潜向量用于在所述GAN中生成所述第一候选文本图像。
11.根据权利要求7至9中任一项所述的装置,其特征在于,所述处理单元具体用于:
步骤一:利用所述GAN模型采样第二潜向量;
步骤二:根据所述第二潜向量生成第二候选文本图像;
步骤三:确定所述第二候选文本图像与第一文本图像之间的差异度,所述第一文本图像为所述n个待处理文本图像中的一个文本图像;
步骤四:更新第二潜向量,将更新后的第二潜向量作为所述步骤二中的第二潜向量;
重复所述步骤二至所述步骤四,直至满足终止条件,将所述更新后的第二潜向量作为所述第一文本图像在所述GAN模型中对应的预测潜向量,
其中,所述终止条件包括以下至少一种:所述第二候选文本图像与所述第一文本图像之间的差异度小于或等于第一阈值,或者,重复次数大于或等于第二阈值。
12.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于:
对所述第二候选文本图像进行特征提取,得到所述第二候选文本图像的特征值;
对所述第一文本图像进行特征提取,得到所述第一文本图像的特征值;
将所述第二候选文本图像的特征值和所述第一文本图像的特征值之间的差值作为所述第二候选文本图像与所述第一文本图像之间的差异度。
13.一种生成文本图像的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至6中任一项所述的方法。
15.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010412935.6A CN113674383B (zh) | 2020-05-15 | 2020-05-15 | 生成文本图像的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010412935.6A CN113674383B (zh) | 2020-05-15 | 2020-05-15 | 生成文本图像的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113674383A CN113674383A (zh) | 2021-11-19 |
CN113674383B true CN113674383B (zh) | 2025-02-07 |
Family
ID=78537695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010412935.6A Active CN113674383B (zh) | 2020-05-15 | 2020-05-15 | 生成文本图像的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113674383B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114549695A (zh) * | 2022-01-12 | 2022-05-27 | 北京百度网讯科技有限公司 | 图像生成方法、装置、电子设备及可读存储介质 |
CN114119811B (zh) * | 2022-01-28 | 2022-04-01 | 北京智谱华章科技有限公司 | 图像的生成方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862377A (zh) * | 2017-11-14 | 2018-03-30 | 华南理工大学 | 一种基于文本‑图像生成对抗网络模型的分组卷积方法 |
CN110113353A (zh) * | 2019-05-20 | 2019-08-09 | 桂林电子科技大学 | 一种基于cvae-gan的入侵检测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11315231B2 (en) * | 2018-06-08 | 2022-04-26 | Industrial Technology Research Institute | Industrial image inspection method and system and computer readable recording medium |
US20200041276A1 (en) * | 2018-08-03 | 2020-02-06 | Ford Global Technologies, Llc | End-To-End Deep Generative Model For Simultaneous Localization And Mapping |
US11151334B2 (en) * | 2018-09-26 | 2021-10-19 | Huawei Technologies Co., Ltd. | Systems and methods for multilingual text generation field |
US11159789B2 (en) * | 2018-10-24 | 2021-10-26 | City University Of Hong Kong | Generative adversarial network based intra prediction for video coding |
US11663483B2 (en) * | 2018-10-30 | 2023-05-30 | Huawei Technologies Co., Ltd. | Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation |
CN110866888B (zh) * | 2019-11-14 | 2022-04-26 | 四川大学 | 基于潜在信息表征gan的多模态mri合成方法 |
-
2020
- 2020-05-15 CN CN202010412935.6A patent/CN113674383B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862377A (zh) * | 2017-11-14 | 2018-03-30 | 华南理工大学 | 一种基于文本‑图像生成对抗网络模型的分组卷积方法 |
CN110113353A (zh) * | 2019-05-20 | 2019-08-09 | 桂林电子科技大学 | 一种基于cvae-gan的入侵检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113674383A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112236779B (zh) | 基于卷积神经网络的图像处理方法和图像处理装置 | |
US11232286B2 (en) | Method and apparatus for generating face rotation image | |
CN112561027B (zh) | 神经网络架构搜索方法、图像处理方法、装置和存储介质 | |
CN111767979B (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
CN111797983B (zh) | 一种神经网络构建方法以及装置 | |
CN111882031B (zh) | 一种神经网络蒸馏方法及装置 | |
KR102545128B1 (ko) | 뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템 | |
CN114255361A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN112257759B (zh) | 一种图像处理的方法以及装置 | |
CN111667399A (zh) | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 | |
CN112446270A (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN113128285B (zh) | 一种处理视频的方法及装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN112862828B (zh) | 一种语义分割方法、模型训练方法及装置 | |
CN109033107A (zh) | 图像检索方法和装置、计算机设备和存储介质 | |
CN119027713A (zh) | 图像分类方法及装置 | |
CN111833360B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
CN114926876B (zh) | 图像关键点检测方法、装置、计算机设备和存储介质 | |
CN113191489A (zh) | 二值神经网络模型的训练方法、图像处理方法和装置 | |
US20220215617A1 (en) | Viewpoint image processing method and related device | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
CN117237756A (zh) | 一种训练目标分割模型的方法、目标分割方法及相关装置 | |
CN114091554A (zh) | 一种训练集处理方法和装置 | |
CN120092246A (zh) | 神经网络训练方法及装置、图像处理方法及装置 | |
CN113674383B (zh) | 生成文本图像的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |