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

技术领域

本申请实施例涉及图像处理技术领域,尤其涉及一种文本图像合成方法、装置、设备及存储介质。

背景技术

自然场景文本合成是指在复杂背景下人工合成场景文本数据,例如将待合成的文本和目标样式输入文本合成网络中,使得该文本合成网络输出目标样式的文本图像。

在使用该文本合成网络进行文本合成之前,需要对该文本合成网络进行训练,但是目前文本合成网络的训练过程不完善,使得训练后的文本合成网络的合成效果差。

发明内容

本申请实施例提供一种文本图像合成方法、装置、设备及存储介质,用于提高文本合成网络的合成效果。

第一方面,本申请实施例提供一种文本图像合成方法,包括:

获取目标文本图像和目标文本样式图像;

将所述目标文本图像和所述目标文本样式图像输入文本合成网络中,得到所述文本合成网络输出的合成文本图像;

其中,所述合成文本图像中的文本为所述目标文本图像中的目标文本,所述合成文本图像中的文本样式为所述目标文本样式图像中的文本样式,所述文本合成网络是经过文本识别模块辅助训练过的,所述文本识别模块用于识别图像中的文本信息。

第二方面,本申请实施例提供一种文本图像合成装置,包括:

获取单元,用于获取目标文本图像和目标文本样式图像;

合成单元,用于将所述目标文本图像和所述目标文本样式图像输入文本合成网络中,得到所述文本合成网络输出的合成文本图像;

其中,所述合成文本图像中的文本为所述目标文本图像中的目标文本,所述合成文本图像中的文本样式为所述目标文本样式图像中的文本样式,所述文本合成网络是经过文本识别模块辅助训练过的,所述文本识别模块用于识别图像中的文本信息。

第三方面,本申请实施例提供一种计算设备,包括处理器和存储器;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序以实现上述第一方面所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括计算机指令,当所述指令被计算机执行时,使得所述计算机实现如第一方面所述的方法。

第五方面,本申请实施例提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,计算机的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得计算机实施第一方面所述的方法。

本申请实施例提供的文本图像合成方法、装置、设备及存储介质,通过文本识别模块作为监督模块,辅助文本合成网络训练,以提高文本合成网络的训练准确性,进而提高训练好的文本合成网络在文本图像合成时的合成效果。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例涉及的一种应用场景示意图;

图2为本申请涉及的文本合成网络训练场景示意图;

图3为本申请一实施例提供的文本合成网络的训练流程示意图;

图4为本申请涉及的一种文本合成网络的示意图;

图5为本申请另一实施例提供的文本合成网络的训练流程示意图;

图6为本申请涉及的另一种文本合成网络的示意图;

图7为本申请另一实施例提供的文本合成网络的训练流程示意图;

图8为本申请涉及的另一种文本合成网络的示意图;

图9为本申请涉及的另一种文本合成网络的示意图;

图10为本申请一实施例提供的文本合成网络的训练流程示意图;

图11为本申请涉及的另一种文本合成网络的网络结构示意图;

图12为本申请实施例提供的一种文本图像合成方法的流程示意图;

图13为本申请涉及的另一种文本合成网络的网络结构示意图;

图14为本申请实施例提供的文本图像合成装置的一种结构示意图;

图15为本申请实施例提供的文本图像合成装置的另一种结构示意图;

图16为本申请实施例涉及的计算设备的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

本申请实施例涉及人工智能技术领域,具体涉及一种图像识别方法、装置及计算设备。

为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:

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

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

OCR是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

应理解,在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。

在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。

另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本申请实施例涉及的一种应用场景示意图,包括:用户设备101、数据采集设备102、训练设备103、执行设备104、数据库105和内容库106。

其中,数据采集设备102用于从内容库106中读取训练数据,并将读取的训练数据存储至数据库105中。

需要说明的是,本申请的训练数据包括文本图像和文本样式图像,为了便于与实际应用过程中的文本图像和文本样式图像进行区别,将训练过程中所使用的文本图像的称为训练文本图像,将训练过程中所使用的文本样式图像称为训练文本样式图像。

训练设备103基于数据库105中维护的训练数据,对文本合成网络进行训练,使得训练后的文本合成网络可以准确合成文本。

在一些实施例中,训练设备103得到的文本合成网络可以应用到不同的系统或设备中。

在一种可能的应用场景中,上述文本合成网络可以应用于场景文本识别设备中,该场景文本识别设备可以理解为安装有场景文本识别模型的计算设备,其中场景文本识别模型用于识别图像中文本的位置信息,并完成文本的转译,具体是场景文本识别模型识别出图片中文字的位置,并将所在位置的图片所包含的文本数据转化成人类可以理解的信息,例如将图片中的语言A翻译为语言B。随着深度学习的发展,场景文本识别模型的效果得到了极大的提升。场景文本识别模型之所以能够成功地运用于场景文本识别,需要大量标注数据集来进行训练。然而,文本标注费时费力,并存在数据安全等潜在风险。而文本图像合成方法极大的缓解了文本标注的困难,例如,可以通过本申请训练好的文本合成网络合成文本图像,并将合成后的文本图像作为场景文本识别模型的训练数据集对场景文本识别模型进行训练,不需要对文本进行标注,进而提高了场景文本识别模型的训练效率。

需要说明的是,本申请实施例的文本合成网络除了用于合成场景文本识别模型的训练数据集外,还可以应用于其他需要文本合成的场景,本申请对此不作限制。

在一些实施例中,如图1所示,执行设备104配置有I/O接口107,与外部设备进行数据交互。比如通过I/O接口接收用户设备101发送的目标文本和目标文本样式。执行设备104中的计算模块109使用训练好的文本合成网络对输入的目标文本图像和目标文本样式图像进行处理,输出合成后的合成文本图像,该合成文本图像中目标文本的样式为目标文本样式。执行设备104通过I/O接口将合成文本图像发送至用户设备101,以使用户设备101呈现合成后的合成文本图像。

值得注意的,图1仅是本申请实施例提供的一种应用场景的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。在一些实施例中,上述数据采集设备102与用户设备101、训练设备103和执行设备104可以为同一个设备。上述数据库105可以分布在一个服务器上也可以分布在多个服务器上,上述的内容库106可以分布在一个服务器上也可以分布在多个服务器上。

首先对文本合成网络的训练过程进行介绍。

图2为本申请涉及的文本合成网络训练场景示意图,图3为本申请一实施例提供的文本合成网络的训练流程示意图,如图3所示,该方法包括:

S301、获取训练文本图像和训练文本样式图像;

本申请实施例的执行主体为具有模型训练功能的装置,例如文本图像合成装置。在一些实施例中,该文本图像合成装置为计算设备。在一些实施例中,上述文本图像合成装置为计算设备中具有数据处理功能的单元,例如为计算设备中的处理器。本申请实施例以执行主体为计算设备为例进行说明。

在一些实施例中,上述计算设备可以为终端设备,例如终端服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑、智能摄相机等。

上述训练文本图像和训练文本样式图像可以理解为训练集中的一个训练文本图像和一个训练文本样式图像,其中使用训练集中每一个训练文本图像和训练文本样式图像对文本合成网络的训练过程相同,为了便于阐述,本实施例以一个训练文本图像和一个训练文本样式图像为例进行说明。

在一些实施例中,在每次训练过程内,对文本合成网络输入一个训练文本图像和一个训练文本样式图像。在该训练文本图像和训练文本样式图像训练完后,输入下一个训练文本图像和训练文本样式图像开始训练。

在一些实施例中,在每次训练过程内,可以输入多个训练文本图像和训练文本样式图像,使用多个训练文本图像和训练文本样式图像同时对文本合成网络进行训练。

在一些实施例中,训练集中包括多个训练文本图像,本申请对训练文本图像的具体数量不做限制。

可选的,各训练文本图像各不相同。

可选的,训练文本图像可以包括任意格式的字体、符号等。

在一些实施例中,训练集中包括多个训练文本样式图像,本申请对训练文本样式图像的具体数量不做限制,且对训练文本样式图像中的文本样式不做限制。

可选的,各训练文本样式图像各不相同。

在一些实施例中,训练文本样式图像中的文本样式包括如下至少一种:字体颜色、文本样式、字体大小、字体位置、字体倾斜度、字体背景等。

S302、将训练文本图像和训练文本样式图像输入文本合成网络,且以文本识别模块为监督模块,对文本合成网络进行端到端的训练。

文本识别模块可以识别出文本合成网络合成的图像中文本信息。这样可以将识别出的文本信息与原始的文本信息进行比较,判断该文本合成网络合成的图像是否准确。例如,文本识别模块对文本合成网络合成的图像中的文本信息进行识别,输出识别的文本信息,将文本识别模块输出的文本信息与原始的文本信息进行比较,若文本识别模块输出的文本信息与原始的文本信息之间的误差较小时,说明该文本合成网络合成的图像较准确,文本识别模块可以清晰识别出合成后的图像中的文本信息。若文本识别模块输出的文本信息与原始的文本信息之间的误差较大时,说明该文本合成网络合成的图像不准确,文本识别模块无法清晰识别出合成后的图像中的文本信息。

由此可知,文本识别模块可以衡量出文本合成网络合成的图像的准确性,基于此,如图2所示,本申请在文本合成网络的训练过程中,以文本识别模块作为文本合成网络的监督模块,用于辅助文本合成网络的训练,待文本合成网络训练完成后,文本识别模块停止工作,在文本合成网络的实际使用过程中不起作用。

在一些实施例中,图2示出了文本识别模块的输入与文本合成网络的中间层输出连接,即文本合成网络的中间层输出的合成图像作为文本识别模块的输入。需要说明的是,本申请涉及的文本合成网络与文本识别模块的连接方式包括但不限于图2所示,在一些实施例中,文本识别模块的输入端与文本合成网络的输出端连接,即文本合成网络的最终输出为文本识别模块的输入,本申请对文本识别模块与文本合成网络的具体连接方式不做限制。

需要说明的是,本申请实施例对文本识别模块的具体网络结构不做限制,只要可以识别出图片中的文本信息的模型均可。

在一些实施例中,本实施例的文本识别模块在文本合成网络训练之前已训练完成,例如该文本识别模块使用标注的文本数据预训练,在文本合成网络训练过程中,该文本识别模块的参数不参与更新。在文本合成网络的训练过程中,使用预先训练好的文本识别模块作为监督模块,辅助文本合成网络训练,以提高文本合成网络的训练准确性,进而提高训练好的文本合成网络在文本合成时的合成效果。

在一些实施例中,如图4所示,文本合成网络包括文本转换模块,该文本转换模块用于将训练文本图像中的训练文本的文本样式转换为训练文本样式图像中的文本样式。文本识别模块的输入端与文本转换模块的输出端连接,即文本转换模块输出的第一图像作为文本识别模块的输入,文本识别模块用于识别第一图像中的文本信息。

在图4所示的网络模型的基础上,如图5所示,上述S302包括如下步骤S302-1至S302-3:

S302-1、将训练文本图像和训练文本样式图像输入文本转换模块中,得到文本转换模块输出的第一图像,其中第一图像中的文本为训练文本图像中的文本,第一图像中的文本样式为训练文本样式图像中的文本样式;

S302-2、将第一图像输入文本识别模块,得到文本识别模块输出的文本信息;

S302-3、根据文本识别模块输出的文本信息和训练文本图像的文本信息之间差异,对文本合成网络进行端到端的训练。

具体的,如图4所示,本申请的文本合成网络包括文本转换模块,且文本转换模块与文本识别模块连接。本实施例的训练文本样式图像中的文本样式包括字体类型和字体倾斜度以及字体颜色等。将训练文本图像和训练文本样式图像输入文本转换模块中,该文本转换模块将训练文本图像转换为具有训练文本样式图像中文本样式的文本图像,将该文本图像记为第一图像Ot。将文本转换模块输出的第一图像Ot输入文本识别模块中,文本识别模块对第一图像Ot中的文本信息进行识别,得到识别出的文本信息。将文本识别模块识别的文本信息与训练文本图像中的文本信息进行比较,判断该文本转换模块转换得到的第一图像是否准确。例如,当文本识别模块识别的文本信息与训练文本图像的文本信息之间的差异(或损失)大于预设值时,说明该文本合成网络还未训练完成,根据文本识别模块识别的文本信息与训练文本图像的文本信息之间的差异(或损失),对文本识别网络进行反向训练,例如调整文本识别网络中的参数。

举例说明,如图4所示,假设训练文本图像为“barbarous”,训练文本样式图像中文本样式为:字体类型1、字体倾斜、字体白色。将训练文本图像和训练文本样式图像输入文本转换模块中,文本转换模块输入如图4所示的第一图像Ot,该第一图像Ot中的文本“barbarous”的文本样式为训练文本样式图像中文本样式,即字体类型1、字体倾斜且字体为白色。将第一图像输入文本识别模块,文本识别模块识别出第一图像Ot中的文本信息“barbarous”并输出。根据文本识别模块输出的文本信息和训练文本图像的文本信息之间差异,对文本合成网络进行端到端的训练。例如,若文本识别模块识别出第一图像Ot中的文本信息为“aarbarous”与训练文本图像中的文本信息“barbarous”不一致,说明该文本识别模块未训练好,可以通过调整文本识别模块中的参数,对文本识别模块继续训练,直到满足训练结束条件为止。

可选的,训练结束条件可以为训练次数达到预设值,或损失达到预设值。

在一些实施例中,如图6所示,文本转换模块的中间层输出文本骨架图像Osk,此时,如图7所示,上述S302-3包括:

S302-31、获取文本转换模块的中间层输出的文本骨架图像;

S302-32、根据第一图像和文本骨架图像之间的差异,得到第一损失;

S302-33、根据文本识别模块输出的文本信息和训练文本图像的文本信息之间差异,得到第二损失;

S302-34、根据第一损失和第二损失,对文本合成网络进行端到端的训练。

具体的,如图6所示,文本转换模块包括中间层,该中间层可以输出转换后的文本的骨架图像,即图6中的文本骨架图像Osk,该文本骨架图像Osk与第一图像Ot中字体的倾斜方向和字体类型均一致,且文本骨架图像Osk中文字的颜色为白素,背景为黑色。在一些实施例中,文本骨架图像Osk可以理解为Ot的二值化掩膜。根据文本骨架图像Osk与第一图像Ot之间的差异,确定文本骨架图像Osk与第一图像Ot之间的第一损失L

可选的,将第一损失L

在一些实施例中,如图8所示,文本合成网络除了包括文本转换模块外,还包括背景修复模块和融合模块,其中文本转换模块的输出和背景修复模块的输出均与融合模块的输入连接。

其中,背景修复模块用于对输入的训练文本样式图像中的背景进行处理,得到背景特征图。

在一些实施例中,背景修复模块可以输出多张大小不同的背景特征图,边将这多张大小不同的背景特征图输入融合模块中。

融合模块用于将文本转换模块输入的第一图像和背景修复模块输入的背景特征图进行融合,得到第二图像,该第二图像中训练文本的文本样式为训练文本样式图像中的文本样式。

此时,上述S302-34包括:

步骤1、将训练文本样式图像输入背景修复模块,得到背景修复模块输出的背景特征图;

步骤2、将第一图像和背景特征图输入融合模块,得到融合模块输出的第二图像,第二图像中的训练文本的文本样式与训练文本样式中的文本样式一致;

步骤3、根据融合模块输出的第二图像与训练文本图像和训练文本样式图像之间的差异,得到第三损失;

步骤4、根据所述第一损失、所述第二损失和所述第三损失,对所述文本合成网络进行端到端的训练。

在训练过程中,将训练文本图像和训练文本样式图像输入文本合成网络。如图8所示,训练文本图像和训练文本样式图像输入文本转换模块,文本转换模块对训练图像和训练文本样式图像进行处理,文本转换模块的中间层输出文本骨架图像Osk,且文本转换模块最终输出第一图像Ot,根据文本骨架图像Osk和第一图像Ot之间的差异,可以获得第一损失L

另外,训练文本样式图像输入背景修复模块,背景修复模块输出背景特图像,并将背景特征图输入融合模块,同时,文本转换模块输出的第一图像也输入至融合模块。融合模块对第一图像Ot和背景特征图进行融合,输出第二图像Of,该第二图像Of中训练文本的样式与训练文本样式图像中文本样式一致,例如第二图像中文本的文本样式与训练文本样式图像中文本样式一致,第二图像的背景与训练文本样式图像的背景一致。根据融合模块输出的第二图像Of与训练文本图像和训练文本样式图像之间的差异,得到第三损失L

根据第一损失L

可选的,将第一损失L

在一些实施例中,如图9所示,在训练过程中,背景修复模块输出最终处理得到的背景图Ob。此时,上述步骤4包括:获得背景修复模块输出的背景图像;根据背景修复模块输出的背景图像与训练文本样式图像(具体为训练文本样式图像中背景)之间的差异,得到第四损失;根据第一损失、第二损失、第三损失和第四损失,对文本合成网络进行端到端的训练。

在一种可能的实现方式中,根据背景图Ob中的像素点与训练文本样式图像的背景像素点之间的差异,得到第四损失L

需要说明的是,本申请实施例对计算第一损失、第二损失、第三损失和第四损失所使用的具体损失函数类型不做限制,例如可以为如下任意一种:对数损失函数、平方损坏函数、指数损失函数、交叉熵损失函数、均方误差损失函数。

在一些实施例中,上述根据第一损失、第二损失、第三损失和第四损失,对文本合成网络进行端到端的训练,包括:将第一损失、第二损失、第三损失和第四损失的之和,作为文本合成网络的损失;根据文本合成网络的损失,对文本合成网络进行端到端的训练。

图10为本申请一实施例提供的文本合成网络的训练流程示意图,如图10所示,本申请实施例的文本合成网络的训练过程包括:

S401、获取训练文本图像和训练文本样式图像。

S402、将训练文本图像和训练文本样式图像输入文本转换模块,得到文本转换模块输出的文本骨架图像和第一图像。

S403、将第一图像输入文本识别模块中,得到文本识别模块输出的文本信息。

S404、将训练文本样式图像输入背景修复模块,得到背景修复模块输出的背景特征图和背景图像。

需要说明的是,上述S404与上述S402和S403没有先后顺序关系,即S404可以在上述S402和S403之前执行,也可以在S402和S403之后执行,或者与S402和S403同时执行。

S405、将背景图像和第一图像输入融合模块,得到融合模块输出的第二图像;

S406、根据文本骨架图像与第一图像之间的差异,得到第一损失;根据文本识别模块输出的文本信息和训练文本图像的文本信息之间的差异,得到第二损失;根据第二图像与训练文本图像和训练文本样式图像之间的差异,得到第三损失;根据背景图像与训练文本样式图像之间的差异,得到第四损失。

S407、根据第一损失、第二损失、第三损失和第四损失,对文本合成网络进行端到端训练。

需要说明的是,本实施例对确定上述各损失的先后顺序不做限制。

上述各步骤的具体实现方式,可以参照上述实施例的描述,在此不再赘述。

在一种具体的实施例中,本申请实施例的文本合成网络的网络结构如图11所示,文本合成网络包括文本转换模块、背景修复模块和融合模块。

1、文本转换模块(Text conversion module,TCM)用于将源图像的文本样式转换为目标样式,包括:字体,颜色,位置和比例;例如,将训练图像中的文本样式转换为训练文本样式图像的文本样式。

例如,将训练文本图像渲染为具有固定字体的第一图像Ot,且将第一图像的背景像素值设置为127,第一图像中文本的文本样式为训练文本样式图像的文本样式。文本转换模块包括编码器-解码器。

在一些实施例中,为了进行编码,编码器中的文本方向包括3个下采样卷积层和4个残差编码块,训练文本图像经过3个下采样卷积层和4个残差编码块输出文本特征图。编码器中的文本样式方向也包括3个下采样卷积层和4个残差编码块,训练文本样式图像经过3个下采样卷积层和4个残差编码块,输出样式特征图。将这文本特征图和样式特征图沿着其深度轴方向连接起来。进行解码时,解码器包括3个向上采样卷积层和1个激活函数层(例如Convolution-BatchNorm-LeakyReLU),且输出第一图像Ot。

另外,本申请引入了骨架导向学习机制,具体是在解码端添加一个骨架响应模块,该骨架响应模块由3个上采样卷积层组成,然后通过S型激活函数来预测单个通道文本骨架图,然后沿着解码器的深度轴方向将文本骨架图Osk输出。

根据文本骨架图Osk与第一图像Ot中各像素点之间的差异,得到第一损失。

2、背景修复模块(Background inpainting module,BIM)用于删除原始文字笔触像素,并用适当的纹理填充删除位置的像素点,并且以自下而上的特征融合方式,遵循一般架构“U-Net”的结构。

如图11所示,该模块仅将具有训练文本样式图像作为其输入,删除训练文本样式图像中的所有文本笔画像素,并填充适当的纹理,输入背景图像Ob。背景修复模块的编码器包括3编码对步长为2的下采样卷积层和4个残差块,解码器包括3个上采用卷积层,3个上采用卷积层用于获得原始大小的特征图。每层之后均经过ReLU激活处理。为了使视觉效果更加逼真,需要还原尽可能多的背景纹理。U-Net建议在镜像层之间添加跳过连接,在解决图像到图像的翻译任务中对象分割方面有效。

根据背景图像Ob与训练文本样式图像中各像素点之间的差异,得到第三损失。

3、融合模块自动用于融合前景信息和背景有效纹理信息,从而合成编辑后的文本图像。

如图11所示,融合模块也遵循编解码器FCN框架,编码器包括三个下采样卷积层和残差块。解码器包括3个上采样转置的卷积层和激活函数层(例如Convolution-Batch-Norm-LeakyReLU),最终可生成编辑后的文本图像,即第二图像Of。值得注意的是,在解码器的各上采样卷积层上连接了背景修复模块输出的具有相同的分辨率的背景特征图。以这种方式,融合模块输出图像的背景细节得到了实质性恢复。

根据第二图像Of与训练文本样式图像中各像素点之间的差异,得到第四损失。

4、文本识别模块用于识别文本图像中的文本信息。

如图11所示,文本识别模块包括卷积神经网络特征提取单元(CNN featureextraction)、LSTM(Long Short Term Memory,长短期记忆)网络和算数解码单元,具体是,卷积神经网络特征提取单元用于对第一图像进行处理,得到第一图像的图像特征,并将第一图像的图像特征输入LSTM网络进行处理,输出特征向量,边将该特征向量输入算数解码单元,输出识别的文本信息。

根据文本识别模块输出的文本信息与训练文本图像的文本信息进行比较,得到第二损失。

接着,如图11所示,根据第一损失、第二损失、第三损失和第四损失,对文本合成网络进行端到端训练,直到达到训练结束条件为止。

本申请在原有像素级别监督的基础上,增加文本识别模块为文本合成网络提供语义级别监督,有效利用了文本图像的语义特性。该文本识别模块对文本转换模块生成的第一图像,预测第一图像内的文本信息,并与训练文本图像标签计算第二损失。由于该文本识别模块已预训练,因此能对图像内的文本信息进行有效预测。若文本转换模块生成的图像足够接近训练文本图像,则文本识别模块预测出文字信息的概率高,相应的第二损失小;反之如果文本转换模块生成的第一图像中的文字难以识别,则相应的第二损失大。随着模型的训练,该第二损失会反向传播回文本转换模块,在该第二损失的帮助下,文本转换模块能合成更加易于识别的文本图像,而不仅仅是像素级别上更像训练文本图像,从而有效提升了文本合成网络的合成效果。

上文对文本合成网络的训练过程进行详细介绍,下面对文本合成网络的预测过程进行介绍。

图12为本申请实施例提供的一种文本图像合成方法的流程示意图,即本申请实施例主要介绍使用上述训练好的文本合成网络,对目标文本图像和目标文本样式图像进行合成的过程。如图12所示,包括:

S501、获取目标文本图像和目标文本样式图像;

S502、将目标文本图像和目标文本样式图像输入文本合成网络中,得到文本合成网络输出的合成文本图像。

其中,合成文本图像中的文本为目标文本图像中的目标文本,合成文本图像中的文本样式为目标文本样式图像中的文本样式,文本合成网络是经过文本识别模块辅助训练过的,文本识别模块用于识别图像中的文本信息。

在一些实施例中,训练好的文本合成网络如图13所示,将目标文本图像和目标文本样式图像输入文本合成网络中,目标文本图像和目标文本样式图像输入文本转换模块中,文本转换模块将目标文本图像的文本样式转换为目标文本样式,得到转换后的文本图像,并将转换后的文本图像输入融合模块。同时,目标文本样式图像输入背景修复模块,该背景修复模块获得该目标文本样式图像对应的背景特征图,并将背景特征图输入融合模块,融合模块对转换后的文本图像和背景特征图进行融合,输出合成文本图像,该合成文本图像中目标文本的样式为所述目标文本样式。

本申请的文本识别网络,通过文本识别模块辅助训练文本图像合成网络,使得文本合成网络更易于注意到图像中的文本信息,进而提高了文本合成网络的文本合成效率。

图14为本申请实施例提供的文本图像合成装置的一种结构示意图。该文本图像合成装置可以是计算设备,也可以是计算设备的部件(例如,集成电路,芯片等等)。如图14所示,该文本图像合成装置10可以包括:

第一获取单元11,用于获取目标文本图像和目标文本样式图像;

合成单元12,用于将所述目标文本图像和所述目标文本样式图像输入文本合成网络中,得到所述文本合成网络输出的合成文本图像;

其中,所述合成文本图像中的文本为所述目标文本图像中的目标文本,所述合成文本图像中的文本样式为所述目标文本样式图像中的文本样式,所述文本合成网络是经过文本识别模块辅助训练过的,所述文本识别模块用于识别图像中的文本信息。

图15为本申请实施例提供的文本图像合成装置的另一种结构示意图。如图15所示,该文本图像合成装置10还可以包括:

第二获取单元13,用于获取训练文本图像和训练文本样式图像;

训练单元14,用于将所述训练文本图像和训练文本样式图像输入所述文本合成网络,且以所述文本识别模块为监督模块,对所述文本合成网络进行端到端的训练。

在一些实施例中,所述文本识别模块在所述文本合成网络训练之前已训练完成。

在一些实施例中,所述文本合成网络包括文本转换模块,所述文本转换模块用于将所述训练文本图像中的训练文本的文本样式转换为所述训练文本样式图像中的文本样式,训练单元14,用于将所述训练文本图像和所述训练文本样式图像输入所述文本转换模块中,得到所述文本转换模块输出的第一图像,所述第一图像中的文本为所述训练文本图像中的文本,所述第一图像中的文本样式为所述训练文本样式图像中的文本样式;将所述第一图像输入所述文本识别模块,得到所述文本识别模块输出的文本信息;根据所述文本识别模块输出的文本信息和所述训练文本图像的文本信息之间差异,对所述文本合成网络进行端到端的训练。

在一些实施例中,训练单元14,具体用于获取所述文本转换模块的中间层输出的文本骨架图像;根据所述第一图像和所述文本骨架图像之间的差异,得到第一损失;根据所述文本识别模块输出的文本信息和所述训练文本图像的文本信息之间差异,得到第二损失;根据所述第一损失和所述第二损失,对所述文本合成网络进行端到端的训练。

在一些实施例中,所述文本合成网络还包括背景修复模块和融合模块,训练单元14,具体用于将所述训练文本样式图像输入所述背景修复模块,得到所述背景修复模块输出的背景特征图;将所述第一图像和所述背景特征图输入所述融合模块,得到所述融合模块输出的第二图像,所述第二图像中的所述训练文本的文本样式与所述训练文本样式图像的文本样式一致;根据所述融合模块输出的所述第二图像与所述训练文本图像和所述训练文本样式图像之间的差异,得到第三损失;根据所述第一损失、所述第二损失和所述第三损失,对所述文本合成网络进行端到端的训练。

在一些实施例中,训练单元14,具体用于获得所述背景修复模块输出的背景图像;根据所述背景修复模块输出的所述背景图像与所述训练文本样式图像之间的差异,得到第四损失;根据所述第一损失、所述第二损失、所述第三损失和所述第四损失,对所述文本合成网络进行端到端的训练。

在一些实施例中,训练单元14,具体用于将所述第一损失、所述第二损失、所述第三损失和所述第四损失的之和,作为所述文本合成网络的损失;根据所述文本合成网络的损失,对所述文本合成网络进行端到端的训练。

应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图14和图15所示的装置10可以对应于执行本申请实施例的方法中的相应主体,并且装置10中的各个单元的前述和其它操作和/或功能分别为了实现方法等各个方法中的相应流程,为了简洁,在此不再赘述。

上文中结合附图从功能单元的角度描述了本申请实施例的装置和系统。应理解,该功能单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件单元组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。可选地,软件单元可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。

图16为本申请实施例涉及的计算设备的框图,该计算设备用于执行上述实施例所述的文本图像合成方法,具体参见上述方法实施例中的说明。

图16所示的计算设备200包括存储器201、处理器202、通信接口203。存储器201、处理器202、通信接口203之间彼此通信连接。例如,存储器201、处理器202、通信接口203之间可以采用网络连接的方式,实现通信连接。或者,上述计算设备200还可以包括总线204。存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接。图16是以存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接的计算设备200。

存储器201可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器201可以存储程序,当存储器201中存储的程序被处理器202执行时,处理器202和通信接口203用于执行上述方法。

处理器202可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。

处理器202还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的方法可以通过处理器202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器202还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器202读取存储器201中的信息,结合其硬件完成本申请实施例的方法。

通信接口203使用例如但不限于收发器一类的收发模块,来实现计算设备200与其他设备或通信网络之间的通信。例如,可以通过通信接口203获取数据集。

当上述计算设备200包括总线204时,总线204可包括在计算设备200各个部件(例如,存储器201、处理器202、通信接口203)之间传送信息的通路。

根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。

根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。

综上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

相关技术
  • 文本图像合成方法、装置、存储介质及电子设备
  • 文本图像合成方法、装置、计算机设备和存储介质
技术分类

06120113147802