本发明涉及文字合成
技术领域:
,具体地,涉及一种用于合成文字的方法、装置和存储介质。
背景技术:
:文字合成是指将文字图像合成到背景图像中。现有的文字合成方法是在背景图像中找到一个平坦的区域,将随机生成的文字图像写在平坦区域上;同时对背景图像和文字图像做一些数据增广。传统的文字识别方法对复杂的场景鲁棒性不够,精度受限;基于深度学习的文字识别又需要大规模训练样本,现实中无法获取如此规模的样本,同时大规模样本标注也耗时耗力。传统的文字识别采用的方法是,采用合成样本加少量真实样本的方法来训练网络,合成样本的质量决定模型的性能。但是,合成样本图像与真实图像相似度较低,因此,现有的文字合成后的图像与真实图像相似度低,并且合成文字具有局限性。技术实现要素:本发明的目的是提供一种用于合成文字的方法、装置和存储介质,用以解决现有的文字合成后的图像与真实图像相似度低并且合成文字具有局限性的问题。为了实现上述目的,本发明第一方面提供一种用于合成文字的方法,该方法包括:获取输入的内容图像范围和风格图像;根据内容图像范围随机生成文字图像;根据文字图像和风格图像生成初始化文字合成图像;通过卷积神经网络对初始化文字合成图像进行迭代以生成文字合成图像。在本申请的实施方式中,内容图像范围包括文字范围和背景范围;根据内容图像范围随机生成文字图像包括:根据文字范围随机生成文字;根据背景范围随机生成背景;将文字和背景结合以生成文字图像。在本申请的实施方式中,文字范围包括物料编码范围、厂家编码范围、年份范围和序列号范围;根据文字范围随机生成文字包括:从物料编码范围中随机生成物料编码,从厂家编码范围中随机生成厂家编码、从年份范围中随机生成年份以及从序列号范围中随机生成序列号;将随机生成的物料编码、厂家编码、年份和序列号结合以生成文字。在本申请的实施方式中,获取输入的内容图像范围和风格图像包括:获取输入的随机文字识别范围;根据文字范围随机生成文字还包括:识别随机文字识别范围内的随机文字,并将随机文字确定为文字。在本申请的实施方式中,背景范围包括背景的像素值范围;根据背景范围随机生成背景还包括:根据像素值范围随机生成背景的像素值。在本申请的实施方式中,该方法还包括:建立存储有多个字符模板的字符模板库。在本申请的实施方式中,将文字和背景结合以生成文字图像包括:从字符模板库中提取与文字的每一个字符对应的一字符模板,以生成多个样本字符;对多个样本字符分别进行位置调整;将调整后的多个样本字符和背景结合以生成文字图像。在本申请的实施方式中,通过卷积神经网络对初始化文字合成图像进行迭代以生成文字合成图像,包括:获取输入的文字图像、风格图像和初始化文字合成图像;确定卷积神经网络中文字图像的内容损失和风格图像的风格损失;根据内容损失和风格损失确定总损失;基于总损失确定卷积神经网络的调整参数;根据调整参数对初始化文字合成图像进行迭代以生成文字合成图像。本申请第二方面提供一种用于合成文字的装置,被配置成执行上述用于合成文字的方法。本申请第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述用于合成文字的方法。通过上述技术方案,根据获取输入的内容图像范围和风格图像随机生成文字图像;通过卷积神经网络对初始化文字合成图像进行风格迁移以生成文字合成图像,使得文字合成后的图像与真实图像相似度较高并且合成文字应用范围较广。本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:图1是本发明实施方式提供的一种用于合成文字的方法的流程示意图;图2是本发明实施方式提供的一种生成文字图像的方法的流程示意图;图3是本发明实施方式提供的一种生成文字合成图像的方法的流程示意图;图4是本发明实施方式提供的一种文字图像的示意图;图5是本发明实施方式提供的一种字符模板的示意图;图6是本发明实施方式提供的一种用于合成文字的装置的结构示意图。具体实施方式以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。需要说明,若本申请实施方式中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,若本申请实施方式中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。图1是本发明实施方式提供的一种用于合成文字的方法的流程示意图。如图1所示,本发明实施方式提供一种用于合成文字的方法,该方法可以包括以下步骤。在步骤s11中,获取输入的内容图像范围和风格图像。在本发明的实施方式中,合成文字是指将随机生成的文字图像和现有的风格图像进行合成。其中,文字可以是钢印铭牌文字。文字图像是由文字和文字的背景组成。内容图像范围指的是生成文字图像的范围。文字图像范围可以包括生成文字的范围和文字的背景范围。也就是说,内容图像范围可以包括文字范围和背景范围,文字是从文字范围内随机生成,背景是从背景范围内随机生成,可以通过随机生成的文字和背景,生成文字图像。风格图像指的是用于文字合成的风格图像,风格图像是现有的图像,计算机设备可以获取一或多个风格图像,从风格图像中选取一个风格图像与随机生成的文字图像进行合成。在步骤s12中,根据内容图像范围随机生成文字图像。在本发明的实施方式中,内容图像范围可以包括生成文字的范围和背景范围,计算机设备在接收到内容图像范围后,随机生成文字的范围和背景范围,再将随机生成的文字和背景结合以生成文字图像。文字图像可以是根据预设生成的规范文字图像,也可以是随机字符组成的文字图像。以钢印铭牌文字为例,随机生成的文字图像有80%的概率生成规范铭牌文字(物料编码 厂家编码 年份 序列号),还有20%的概率生成随机字符。因此,还可以设置对随机字符识别的范围,增加文字生成的泛化能力。在步骤s13中,根据文字图像和风格图像生成初始化文字合成图像。在本发明的实施方式中,可以根据文字图像和风格图像初始化文字合成图像,以生成初始化文字合成图像。例如,可以初始化为文字图像,在风格迁移过程中唯一需要更新的变量就是初始化文字合成图像,即风格迁移所需迭代的参数。在步骤s14中,通过卷积神经网络对初始化文字合成图像进行迭代以生成文字合成图像。在本发明的实施方式中,可以将文字图像、风格图像和初始化文字合成图像输入卷积神经网络中,通过神经网络风格迁移将初始化文字合成图像进行迭代,以生成最终的文字合成图像。本发明实施方式根据获取输入的内容图像范围和风格图像随机生成文字图像;通过卷积神经网络对初始化文字合成图像进行风格迁移以生成文字合成图像,使得文字合成后的图像与真实图像相似度较高并且合成文字应用范围较广。卷积神经网络的示例可以包括但不限于vgg(visualgeometrygroup)19,vgg主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能,vgg19包含了19个隐藏层(16个卷积层和3个全连接层)。vgg19相比于vgg16,可以使得特征提取更加充分。如图2所示,图2是本发明实施方式提供的一种生成文字图像的方法的流程示意图,在本发明的实施方式中,内容图像范围可以包括文字范围和背景范围;步骤s2:根据内容图像范围随机生成文字图像可以包括:s21、根据文字范围随机生成文字;s22、根据背景范围随机生成背景;s23、将文字和背景结合以生成文字图像。具体地,文字图像可以是由文字和背景组成,这里的文字是指印在背景上的内容,文字可以根据文字范围随机生成;背景可以是预设大小的背景图,背景可以根据背景范围随机生成。在本申请的实施方式中,背景的预设大小可以根据用户的经验设置,背景的像素值可以是随机生成的。根据文字范围随机生成文字,背景范围随机生成背景,再将文字和背景做一些数据增广,如背景颜色的变化、随机噪声;文字字体、大小、位置、角度的变化等,通过上述方式将文字和背景结合以生成文字图像,便于之后将文字图像与风格图像结合。随机生成文字和背景,减少了文字图像生成的局限性。在本申请的实施方式中,文字范围可以包括物料编码范围、厂家编码范围、年份范围和序列号范围;根据文字范围随机生成文字可以包括:从物料编码范围中随机生成物料编码,从厂家编码范围中随机生成厂家编码、从年份范围中随机生成年份以及从序列号范围中随机生成序列号;将随机生成的物料编码、厂家编码、年份和序列号结合以生成文字。具体地,规范的钢印铭牌文字是由物料编码 生产厂家 年份 序列号。物料编码是唯一标志物料的代码,通常用字符串或数字表示,物料编码范围可以是多个不同的物料编码。厂家编码是代表厂家的一种编码,不同厂家的厂家编码不同,厂家编码范围可以是多个厂家的编码。年份可用数字代码来表示,如20表示2020年,19表示2019年,年份范围可以是多个年份的数字代码。序列号可以是数字组成的字符串,序列号范围可以是一个范围内的数字组成的字符串。计算机设备随机从物料范围中随机生成物料编码,从厂家编码范围中随机生成厂家编码,从年份范围中随机生成年份以及从序列号范围中随机生成序列号。再将随机生成的物料编码、厂家编码、年份和序列号结合以生成文字。如图4所示,图4是本发明实施方式提供的一种文字图像的示意图,如图4的第一行文字为例,a1a为物料编码、103为厂家编码、20为年份2020年,1303为序列号,a1a103201303为生成的文字。在本申请的实施方式中,获取输入的内容图像范围和风格图像可以包括:获取输入的随机文字识别范围;根据文字范围随机生成文字还可以包括:识别随机文字识别范围内的随机文字,并将随机文字确定为文字。具体地,钢印铭牌文字除了生成规范的钢印铭牌文字外,还有20%的概率会生成随机字符。因此,用户还可以设置随机文字识别范围,这样,当生成随机文字字符的情况下,可以识别随机文字字符,并且将随机文字确定为文字内容。如图4中第3行、第4行生成的文字字符。通过对随机文字进行识别,增加了文字生成的泛化能力。在本申请的实施方式中,背景范围包括背景的像素值范围;根据背景范围随机生成背景还可以包括:根据像素值范围随机生成背景的像素值。具体地,文字图像的背景可以是根据经验设置固定的长宽值的矩形,优选地,将背景的尺寸设置为32和284。但是背景的像素值可以是随机生成的,从预设的像素值范围中随机生成像素值,将背景的像素值设置为生成的像素值。为了避免图像太亮或者太暗,像素值范围可以设置在100~210之间。整个背景的灰度图像素值都相同。在本申请的实施方式中,该方法还可以包括:建立存储有多个字符模板的字符模板库。具体地,计算机设备可以建立字符模板库,存储多个字符模板,以便生成文字后,从字符模板选择相应的字符模板贴在对应的位置。如图5所示,图5是本发明实施方式提供的一种字符模板的示意图。字符模板库中的字符模板可以包括但不限于26个字母和0-9这十个阿拉伯数字,字符模板库中的字符模板为统一的字体和大小,字符模板是一个二值图,字符位置为255,非字符位置为0。这样便于后续识别文字图像中的文字更加高效。在本申请的实施方式中,将文字和背景结合以生成文字图像可以包括:从字符模板库中提取与文字的每一个字符对应的一字符模板,以生成多个样本字符;对多个样本字符分别进行位置调整;将调整后的多个样本字符和背景结合以生成文字图像。具体地,计算机设备随机生成的文字可以包括多个字符。可以从字符模板库中提取每个字符对应的字符模板,再对每个样本字符进行调整。将这些字符模板按照生成的文字中字符的顺序依次排列在对应的位置,以生成样本字符。生成的样本字符后,在预设范围内随机生成样本字符的像素值,样本字符的像素值与背景的像素值有预设范围的像素差。例如,样本字符的像素值与背景的像素值有10像素差的差距。这样才能区分出样本字符和背景。确定了样本字符的像素之后,可以对多个样本字符分别进行位置调整,例如在背景图像宽度允许的范围内随机确定第一个样本字符的起始位置,每个样本字符随机做0.8~1的缩放,每个样本字符在高度上小范围随机上下位移,对整体的样本字符图像随机旋转,如随机小角度[-3,3]旋转。将调整后的多个样本字符和背景结合,可以使用高斯模糊平滑,最终生成文字图像。最终合成的文字图像样例可以参见图4。可以看出背景的颜色随机,样本字符的颜色随机保持与背景颜色有差异、样本字符的大小随机、样本字符的水平位置随机、样本字符的高度方向随机、样本字符之间的间距随机、整个样本字符的旋转角度随机。使得文字图像的生成范围更广,减小了文字图像生成的局限性。如图3所示,图3是本发明实施方式提供的一种生成文字合成图像的方法的流程示意图。在本申请的实施方式中,在步骤s14中,通过卷积神经网络对初始化文字合成图像进行迭代以生成文字合成图像,包括:s31、获取输入的文字图像、风格图像和初始化文字合成图像;s32、确定卷积神经网络中文字图像的内容损失和风格图像的风格损失;s33、根据内容损失和风格损失确定总损失;s34、基于总损失确定卷积神经网络的调整参数;s35、根据调整参数对初始化文字合成图像进行迭代以生成文字合成图像。具体地,可以采用神经网络风格迁移来合成随机生成的文字图像和现有的风格图像。步骤s13先根据文字图像、风格图像生成初始化文字合成图像,例如,将初始化文字合成图像初始化成文字图像。该初始化合成图像是风格迁移过程中唯一需要更新的变量。因此,可以将文字图像、风格图像和初始化文字合成图像输入卷积神经网络,卷积神经网络凭借多个层逐级抽取风格图像的特征,可以选择卷积神经网络中某些层的输出作为文字图像特征和风格图像特征,根据抽取的文字图像特征和风格图像特征计算风格迁移的损失函数,以此来调整卷积神经网络的参数。根据调整参数对初始化文字图像进行迭代,最终生成文字合成图像。在本发明的实施方式中,总损失可以根据内容损失和风格损失来计算。内容损失来源于卷积神经网络中的一层卷积层,而风格损失来源于卷积神经网络中的多层卷积层。优选地,内容损失可以来源于第8层卷积层,风格损失可以来源于第1、3、6、8和11层卷积层。在本发明的实施方式中,假设nl为卷积神经网络的第l层特征的通道数,ml卷积神经网络的第l层特征的尺寸,ml是所卷积神经网络的第l层特征的长宽乘积,则该层特征可以表示为矩阵为第i层通道位置j的特征值,为文字图像,为第l层初始化文字合成图像,pl为文字图像的第l层特征;fl为初始化文字合成图像的第l层特征,则内容损失可以被定义为:格拉姆矩阵定义为特征层内通道两两之间的内积,假设格拉姆矩阵的元素表示l层的第i个通道和第j个通道的內积,为卷积神经网络的第l层的第i个通道和第j个通道的内积;为风格图像,为初始化文字合成图像,al为风格图像对应的第l层格拉姆矩阵,gl是初始化文字合成图像对应的第l层格拉姆矩阵;wl是第l层的权重,则风格损失可以被定义为:总损失函数可以被定义为:ltotal=αlcontent βlstyle式(3)其中,α为内容损失在卷积神经网络的权重,β为风格损失在卷积神经网络的权重。如表1所示,表1为根据上述用于合成文字方法得出的实验结果,在141张标准钢印铭牌图像数据集上测试准确率如表1所示。基于神经网络风格迁移的文字合成图像训练后的模型精度相对于普通方法提升7.1个百分点;错误率降低26.2%。也就是说基于神经网络风格迁移生成的文字合成图像与真是图像更加相似。表1模型合成方法准确率crnn普通合成方法73.0%crnn风格迁移合成方法80.1%因此,本发明实施方式根据获取输入的内容图像范围和风格图像随机生成文字图像;通过卷积神经网络对初始化文字合成图像进行风格迁移以生成文字合成图像,使得文字合成后的图像与真实图像相似度较高并且合成文字应用范围较广。如图6所示,图6是本发明实施方式提供的一种用于合成文字的装置的结构示意图。在本申请的实施方式中,该装置可以包括处理器610和存储器620。存储器620可以存储有指令,该指令在被处理器610执行时可以使得处理器610执行之前实施方式中用于合成文字的方法。处理器610的示例可以包括但不限于通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、其他任何类型的集成电路(ic)以及状态机等等。处理器可以执行信号编码、数据处理、功率控制、输入/输出处理。存储器620的示例可以包括但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被处理器访问的信息。在本发明的实施方式中,还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述用于合成文字的方法。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施方式可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。当前第1页1 2 3 
技术特征:1.一种用于合成文字的方法,其特征在于,所述方法包括:
获取输入的内容图像范围和风格图像;
根据所述内容图像范围随机生成文字图像;
根据所述文字图像和所述风格图像生成初始化文字合成图像;
通过卷积神经网络对所述初始化文字合成图像进行迭代以生成文字合成图像。
2.根据权利要求1所述的方法,其特征在于,所述内容图像范围包括文字范围和背景范围;所述根据所述内容图像范围随机生成文字图像包括:
根据所述文字范围随机生成文字;
根据所述背景范围随机生成背景;
将所述文字和所述背景结合以生成所述文字图像。
3.根据权利要求2所述的方法,其特征在于,所述文字范围包括物料编码范围、厂家编码范围、年份范围和序列号范围;
所述根据所述文字范围随机生成文字包括:
从所述物料编码范围中随机生成物料编码,从所述厂家编码范围中随机生成厂家编码、从所述年份范围中随机生成年份以及从所述序列号范围中随机生成序列号;
将随机生成的物料编码、厂家编码、年份和序列号结合以生成所述文字。
4.根据权利要求2所述的方法,其特征在于,所述获取输入的内容图像范围和风格图像包括:获取输入的随机文字识别范围;
所述根据所述文字范围随机生成文字还包括:识别所述随机文字识别范围内的随机文字,并将所述随机文字确定为所述文字。
5.根据权利要求2所述的方法,其特征在于,所述背景范围包括所述背景的像素值范围;所述根据所述背景范围随机生成背景还包括:
根据所述像素值范围随机生成所述背景的像素值。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
建立存储有多个字符模板的字符模板库。
7.根据权利要求6所述的方法,其特征在于,所述将所述文字和所述背景结合以生成文字图像包括:
从所述字符模板库中提取与所述文字的每一个字符对应的字符模板,以生成多个样本字符;
对所述多个样本字符分别进行位置调整;
将调整后的所述多个样本字符和所述背景结合以生成所述文字图像。
8.根据权利要求1所述的方法,其特征在于,所述通过卷积神经网络对所述初始化文字合成图像进行迭代以生成文字合成图像,包括:
获取输入的所述文字图像、所述风格图像和所述初始化文字合成图像;
确定所述卷积神经网络中所述文字图像的内容损失和所述风格图像的风格损失;
根据所述内容损失和所述风格损失确定总损失;
基于所述总损失确定所述卷积神经网络的调整参数;
根据所述调整参数对所述初始化文字合成图像进行迭代以生成文字合成图像。
9.一种用于合成文字的装置,其特征在于,被配置成执行根据权利要求1至8中任一项所述的用于合成文字的方法。
10.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令用于使得机器执行根据权利要求1至8中任一项所述的用于合成文字的方法。
技术总结本发明公开了一种用于合成文字的方法、装置和存储介质。该方法包括:获取输入的内容图像范围和风格图像;根据内容图像范围随机生成文字图像;根据文字图像和风格图像生成初始化文字合成图像;通过卷积神经网络对初始化文字合成图像进行迭代以生成文字合成图像。通过该方法,可以使得文字合成后的图像与真实图像相似度较高并且合成文字应用范围较广。
技术研发人员:黄跃峰;易作天;董亮;霍斌;冯雷
受保护的技术使用者:中科云谷科技有限公司;中联重科股份有限公司
技术研发日:2020.11.06
技术公布日:2021.03.12