字库字面的调整方法、装置、设备和存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种字库字面的调整方法、装置、设备和存储介质。
背景技术
字体是文字字符风格的体现,将字体进行处理转换为计算机可解读的文件形式,称为字库。字库作为计算机时代的新生产物,在终端显示、排版印刷以及平面设计中占有重要地位。
目前,字体开发人员通过计算机技术与人工处理相结合的方式,生产制作出带有独特风格的字库文件,每一款中文字库至少要包含国家标准的6763个字符。在字库开发过程中,字库的字面统一是高质量字库的保证,因此,需要保证字库中各个字符的字面的统一性。在一种技术方案中,为了达到字库中各个字符的字面统一的目的,通过预设多个缩放规则对字库的各个字符进行多次缩放调整处理。然而,该技术方案由于缩放规则复杂,导致字面调整效率较低并且不具有普适性。
因此,如何高效并且普适性地对字库字面进行调整成为了亟待解决的技术难题。
发明内容
本发明实施例提供一种字库字面的调整方法、装置、设备和存储介质,用于解决如何高效并且普适性地对字库字面进行调整的问题。
本发明实施例第一方面,提供了一种字库字面的调整方法,包括:获取待调整字库中各个原始字符的字符图像;确定各个原始字符的字符图像的核心区域图像;基于各个原始字符的所述字符图像以及所述核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整,其中,所述单字符调整模型为神经网络模型。
在本发明的一些实施例中,基于上述方案,所述方法还包括:确定各个原始字符的第一平均尺寸,以及各个中间字符的第二平均尺寸,其中,所述中间字符为通过所述单字符调整模型对所述原始字符的字面进行调整之后得到的字符;基于所述第一平均尺寸与所述第二平均尺寸确定所述中间字符的相对缩放比例;基于所述相对缩放比例对所述中间字符进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述通过单字符调整模型对各个原始字符的字面进行调整,包括:确定各个原始字符的所述核心区域图像的归一化缩放比例;基于所述归一化缩放比例,对各个原始字符的所述字符图像以及所述核心区域图像进行归一化处理,得到各个原始字符的归一化图像以及归一化核心区域图像;基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整。
在本发明的一些实施例中,基于上述方案,所述基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整,包括:基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型确定各个原始字符的单字符缩放比例;基于所述单字符缩放比例对所述原始字符的字面进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述方法还包括:基于所述归一化缩放比例、所述单字符缩放比例以及所述相对缩放比例,对所述待调整字库中各个原始字符的字形进行缩放处理;将调整之后的结果写入所述待调整字库的字库文件。
在本发明的一些实施例中,基于上述方案,所述方法还包括:获取样本字库的多个样本字符的字符图像;确定各个样本字符的字符图像的所述核心区域图像以及对应的所述单字符缩放比例的标注值;基于各个样本字符的字符图像、对应的所述核心区域图像以及所述单字符缩放比例的标注值生成训练样本集;基于所述训练样本集对所述单字符调整模型进行训练。
在本发明的一些实施例中,基于上述方案,所述基于所述训练样本集对所述单字符调整模型进行训练,包括:基于所述字面调整模型确定所述训练样本集中的所述样本字符的所述单字符缩放比例的预测值;基于所述单字符缩放比例的所述预测值与所述标注值确定所述字面调整模型的损失函数;基于所述损失函数对所述单字符调整模型的参数进行调整。
在本发明的一些实施例中,基于上述方案,所述方法还包括:对所述样本字库的样本字符的字符图像进行增广处理,生成多个增广样本字符。
在本发明的一些实施例中,基于上述方案,所述获取待调整字库中各个原始字符的字符图像,包括:解析所述待调整字库的字库文件,确定所述字库文件包含的字符编码信息;根据所述字符编码信息,将所述待调整字库的各个原始字符渲染为字符图像。
在本发明的一些实施例中,基于上述方案,所述确定各个原始字符的字符图像的核心区域图像,包括:根据各个原始字符的字符图像的像素分布,确定各个字符图像的核心区域,所述核心区域为像素数量占所述字符图像的总像素数量的比例大于预定阈值的区域;将所述核心区域的图像作为所述原始字符的字符图像的核心区域图像。
在本发明的一些实施例中,基于上述方案,所述神经网络模型为深度神经网络模型。
本发明实施例的第二方面,提供了一种字库字面的调整装置,包括:字符图像获取模块,用于获取待调整字库中各个原始字符的字符图像;区域图像确定模块,用于确定各个原始字符的字符图像的核心区域图像;单字调整模块,用于基于各个原始字符的所述字符图像以及所述核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整,其中,所述单字符调整模型为神经网络模型。
在本发明的一些实施例中,基于上述方案,所述装置还包括:平均尺寸确定模块,用于确定各个原始字符的第一平均尺寸,以及各个中间字符的第二平均尺寸,其中,所述中间字符为通过所述单字符调整模型对所述原始字符的字面进行调整之后得到的字符;相对比例确定模块,用于基于所述第一平均尺寸与所述第二平均尺寸确定所述中间字符的相对缩放比例;第一缩放处理模块,用于基于所述相对缩放比例对所述中间字符进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述单字调整模块包括:归一化比例确定单元,用于确定各个原始字符的所述核心区域图像的归一化缩放比例;归一化处理单元,用于基于所述归一化缩放比例,对各个原始字符的所述字符图像以及所述核心区域图像进行归一化处理,得到各个原始字符的归一化图像以及归一化核心区域图像;调整单元,用于基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整。
在本发明的一些实施例中,基于上述方案,所述调整单元包括:单字符缩放比例确定单元,用于基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型确定各个原始字符的单字符缩放比例;第二缩放处理单元,用于基于所述单字符缩放比例对所述原始字符的字面进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述装置还包括:第三缩放处理单元,用于基于所述归一化缩放比例、所述单字符缩放比例以及所述相对缩放比例,对所述待调整字库中各个原始字符的字形进行缩放处理;写回单元,用于将调整之后的结果写入所述待调整字库的字库文件。
在本发明的一些实施例中,基于上述方案,所述装置还包括:训练样本获取模块,用于获取样本字库的多个样本字符的字符图像;训练样本处理模块,用于确定各个样本字符的字符图像的所述核心区域图像以及对应的所述单字符缩放比例的标注值;训练样本生成模块,用于基于各个样本字符的字符图像、对应的所述核心区域图像以及所述单字符缩放比例的标注值生成训练样本集;训练模块,用于基于所述训练样本集对所述单字符调整模型进行训练。
在本发明的一些实施例中,基于上述方案,所述训练模块包括:预测单元,用于基于所述字面调整模型确定所述训练样本集中的所述样本字符的所述单字符缩放比例的预测值;损失函数确定单元,用于基于所述单字符缩放比例的所述预测值与所述标注值确定所述字面调整模型的损失函数;参数调整单元,用于基于所述损失函数对所述单字符调整模型的参数进行调整。
在本发明的一些实施例中,基于上述方案,所述装置还包括:样本增广模块,用于对所述样本字库的样本字符的字符图像进行增广处理,生成多个增广样本字符。
在本发明的一些实施例中,基于上述方案,所述字符图像获取模块包括:解析单元,用于解析所述待调整字库的字库文件,确定所述字库文件包含的字符编码信息;渲染单元,用于根据所述字符编码信息,将所述待调整字库的各个原始字符渲染为字符图像。
在本发明的一些实施例中,基于上述方案,所述区域图像确定模块包括:核心区域确定单元,用于根据各个原始字符的字符图像的像素分布,确定各个字符图像的核心区域,所述核心区域为像素数量占所述字符图像的总像素数量的比例大于预定阈值的区域;图形确定单元,用于将所述核心区域的图像作为所述原始字符的字符图像的核心区域图像。
在本发明的一些实施例中,基于上述方案,所述神经网络模型为深度神经网络模型。
本发明实施例的第三方面,提供了一种字库字面的调整设备,包括:接收器、处理器、存储器以及发送器;存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行第一方面任一实施例提供的字库字面的调整方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序在被处理器执行时用于执行第一方面任一实施例提供的字库字面的调整方法。
根据本发明实施例提供的字库字面的调整方法、装置、设备和存储介质,基于待调整字库的各个字符的字符图像以及核心区域图像,通过神经网络模型对字库字符进行单字微调。一方面,通过神经网络模型对字符字面进行单字微调,不需要设定复杂的缩放规则,从而能够提高字库字面的调整效率;另一方面,由于经训练的神经网络模型具有普适性,从而能够高效并且普适性地对字库字面进行调整,进而能够提升字库字面统一调整效率,大幅缩短字库开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明的一些实施例提供的字库字面的调整方法的应用场景的示意图;
图2为根据本发明的一些实施例提供的字库字面的调整方法的流程示意图;
图3为根据本发明的另一些实施例提供的字库字面的调整方法的流程示意图;
图4示出了根据本发明的一些实施例提供的单字符调整模型的训练过程的流程示意图;
图5示出了根据本发明的一些实施例提供的单字符调整模型的示意框图;
图6示出了根据本发明的一些实施例提供的字符的核心区域图像的示意图;
图7示出了根据本发明的一些实施例提供的字库字面的调整方法的各个步骤的字面调整结果的示意图;
图8示出了根据本发明的一些实施例提供的字库字面的调整方法的字库字面调整前后的示意图;
图9为根据本发明的一些实施例提供的字库字面的调整装置的示意框图;
图10为根据本发明的一些实施例提供的字库字面的调整装置的示意框图;
图11为根据本发明的一些实施例提供的字库字面的调整设备实施例的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本案中涉及的名词等进行解释:
字面:字库中所有字符的整体视觉大小,字面一致的字库,在排版过程中尺寸统一,例如,字面可以指字体所占字面框的字面率比例大小。
字形:字库文件中每个字符对应的轮廓数据信息。
字符图像:对原始字符的字形进行渲染得到的图像。
核心区域:每个字符图像(或字形)表达其文字信息的重点关注区域,也是确定字面的重点关注区域,非核心区域对字面的确定影响较小,例如,核心区域可以为像素数量占字符图像的总像素数量的比例大于预定阈值的区域。
深度回归模型:利用深度网络提取数据特征,统计特征关系进行定量描述的一种数学模型。
目前,字体开发人员通过计算机技术与人工处理相结合的方式,生产制作出带有独特风格的字库文件。每一款中文字库至少要包含国家标准的6763个字符,使得字库开发工作任务繁重。在字体开发过程中,需保证每个字符字形风格的统一性,而字面统一性是字体风格的重要特征。如图8虚线框内为字面统一性不佳字体的排版展示效果,这种排版结果影响阅读体验,也直接映射出字库质量较差的问题。实际开发过程中,成熟设计师调整一套最低标准字库的字面,大约需要1周时间,开发效率较低。
在一种技术方案中,通过预设多个缩放规则以及阈值,对字库中的各个字符经过多次缩放调整,以达到字面统一的目的,然而,该技术方案的缩放规则复杂,导致字面调整效率较低并且不具有普适性,难以应用在实际开发过程中。
基于上述内容,本发明的基本思想在于:基于待调整字库的各个字符的字符图像以及核心区域图像,通过神经网络模型对字库字符进行单字微调。通过神经网络模型对字符字面进行单字微调,不需要设定复杂的缩放规则,而且经训练的神经网络模型具有普适性,从而能够高效并且普适性地对字库字面进行调整。
进一步地,在本发明实施例的技术方案中,还可以将单字字面调整与整库字面调整进行结合,通过整库调整与单字微调的方式达到字库字面统一的目标。具体而言,利用传统图像处理方法对待调整字库的字符图像进行整体字面归一化,继而利用深度学习技术对各个字符进行字面微调,然后,通过分析当前字库与待调整字库的整体字面差异,进行整库字面自适应尺寸调整,最后将调整后的结果写回字库文件,得到字面一致的字库产品。根据本申请实施例的技术方案,能够自动、快速、高效地调整字库中各个字符的字面,并且具有普适性。
图1为根据本发明的一些实施例提供的字库字面的调整方法的应用场景的示意图。参照图1所示,该字库字面的调整装置100包括:数据库110、处理器120,其中,数据库110中存储中待调整字库的字库文件。处理器120用于从数据库110中获取待调整字库的字库文件,对字库文件进行解析和渲染获得各个原始字符的字符图像;基于各个原始字符的字符图像以及核心区域图像,通过神经网络模型对各个原始字符进行单字符微调。
需要说明的是,字库字面的调整装置可以为终端设备,例如手机、平板电脑、台式计算机、便携笔记本式计算机;也可以为服务器,例如包含独立主机的物理服务器,或者为主机集群承载的虚拟服务器,或者为云服务器,本发明对此不进行特殊限定。
下面结合图1的应用场景,参考附图来描述根据本发明的示例性实施例的访问处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施例在此方面不受任何限制。相反,本发明的实施例可以应用于适用的任何场景。
图2为根据本发明的一些实施例提供的字库字面的调整方法的流程示意图。该字库字面的调整方法包括步骤S210至步骤S230,下面结合附图对示例实施例中的字库字面的调整方法进行详细的说明。
参照图2所示,在步骤S210中,获取待调整字库中各个原始字符的字符图像。
在示例实施例中,字符图像为对原始字符的字形进行渲染得到的图像。从数据库中获取待调整字库的字库文件,对待调整字库的字库文件进行解析,得到字库文件包含的字符编码信息,根据字符编码信息,将待调整字库的各个字符或字符字形渲染为字符图像。
在步骤S220中,确定各个原始字符的字符图像的核心区域图像。
在示例实施例中,在得到各个原始字符的字符图像之后,根据各个原始字符的字符图像的像素分布,确定各个字符图像的核心区域,将字符图像的核心区域的图像作为字符图像的核心区域图像,该核心区域为每个字符图像(或字形)表达其文字信息的重点关注区域,例如,核心区域可以为像素数量占字符图像的总像素数量的比例大于预定阈值的区域,核心区域也可以为字面像素占字符图像的总像素数量的比例大于预定阈值的区域。
在步骤S230中,基于各个原始字符的字符图像以及核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整,其中,该单字符调整模型为神经网络模型。
在示例实施例中,将得到的各个原始字符的字符图像以及核心区域图像输入到单字符调整模型,得到原始字符的单字符缩放比例,基于该单字符缩放比例对原始字符的字面例如字符图像的字面进行调整。
此外,在一些实施例中,确定各个原始字符的核心区域图像的归一化缩放比例;基于该归一化缩放比例,对各个原始字符的字符图像以及核心区域图像进行归一化处理,得到各个原始字符的归一化图像以及归一化核心区域图像。基于各个原始字符的归一化图像以及归一化核心区域图像,通过单字符调整模型确定各个原始字符的单字符缩放比例;基于该单字符缩放比例对原始字符的字面进行调整。
需要说明的是,在本发明示例实施例中,单字符调整模型为深度神经网络模型,但是本发明的实施例不限于此,例如,单字符调整模型还可以为其他适当的神经网络模型例如卷积神经网络或循环神经网络模型等,本发明对此不进行特殊限定。
根据图2的示例实施例中的字库字面的调整方法,基于待调整字库的各个字符的字符图像以及核心区域图像,通过神经网络模型对字库字符进行单字微调。一方面,通过神经网络模型对字符字面进行单字微调,不需要设定复杂的缩放规则,从而能够提高字库字面的调整效率;另一方面,由于经训练的神经网络模型具有普适性,从而能够高效并且普适性地对字库字面进行调整,进而能够提升字库字面统一调整效率,大幅缩短字库开发周期。
进一步地,为了提高单字符调整模型的普适性,可以基于字面统一的样本字库对单字符调整模型进行训练。因此,在示例实施例中,该字库字面的调整方法还包括:获取样本字库的多个样本字符的字符图像确定各个样本字符的字符图像的核心区域图像以及对应的单字符缩放比例的标注值;基于各个样本字符的字符图像、对应的核心区域图像以及单字符缩放比例的标注值生成训练样本集;基于所述训练样本集对所述单字符调整模型进行训练。
进一步地,为了提高字面调整模型预测的准确性,可以基于损失函数对字面调整模型的参数进行调整。因此,在示例实施例中,基于所述训练样本集对所述单字符调整模型进行训练,包括:基于所述字面调整模型确定所述训练样本集中的所述样本字符的所述单字符缩放比例的预测值;基于所述单字符缩放比例的所述预测值与所述标注值确定所述字面调整模型的损失函数;基于所述损失函数对所述单字符调整模型的参数进行调整。
此外,为了提升样本数据的通用性,还可以利用图像处理技术对样本数据进行增广处理。因此,在示例实施例中,该字库字面的调整方法还包括:对所述样本字库的样本字符的字符图像进行增广处理,生成多个增广样本字符。增广处理可以包括字符图像的几何变换处理例如翻转处理或平移处理等,也可以包括字符图像的像素变换处理,例如增加噪声和滤波处理等。
进一步地,为了提高字面调整的统一性,可以通过整库调整方式对字库字面进行调整。因此,在示例实施例中,该字库字面的调整方法还可以包括:确定待调整字库的各个原始字符的第一平均尺寸,以及各个中间字符的第二平均尺寸,其中,中间字符为通过单字符调整模型对各个原始字符的字面进行调整之后得到的字符;基于第一平均尺寸与第二平均尺寸确定中间字符的相对缩放比例;基于该相对缩放比例对中间字符进行缩放处理。
此外,由于上述处理获得的字库的字符为图像格式,但最终的调整工作需要应用于字库文件,需要基于上述处理结果对待调整字库的字库文件中的字形,将调整后的字形写入到字库文件中。因此,在示例实施例中,基于归一化缩放比例、单字符缩放比例以及相对缩放比例,对待调整字库中各个原始字符的字形进行缩放处理;将调整之后的结果写入待调整字库的字库文件。
根据本发明实施例的技术方案,利用深度学习神经网络对单字符缩放比例进行回归预测,利用少量字体数据进行模型训练,并结合传统技术对字库字面进行统一调整,即能够在2分钟内完成GB2312标准字库的字面统一工作,相较于人工调整,能够大幅提升字库开发效率。与现有技术相比,能够高效普适性地进行字库字面的统一调整。
图3为根据本发明的另一些实施例提供的字库字面的调整方法的流程示意图。
参照图3所示,在步骤S310中,解析待调整字库的字库文件,并对字库中的各个字符的字形进行图像渲染。
在示例实施例中,待调整字库的字库文件为Fontori,字库文件包含的字符编码集合为Setunicode={unicodei for in FontOri},每个字符对应的字形的编码为Setshape={shapei for i in Setunicode}。解析待调整字库的字库文件中包含的字符编码信息,根据字库文件的字符编码,将字库中各个字符的字形渲染为单个图像imagei,各个字符渲染后得到的字符图像集合为Setimage={imagei for i in Setunicode}。
具体而言,获取待调整字库的字库文件,字库文件中包含字库中字符的字形数据,各个字符的字形数据组成字形集合Setshape,如图7(a)所示,字库中的字符的字形数据用曲线与直线组成的轮廓表示。对字库文件进行解析,获取字库文件包含的字符编码集合Setunicode。进一步地,根据解析出来的字符编码集合Setunicode,将字形集合Setshape中的字形渲染为字符图像,组成集合为字符图像集合Setimage,如图7(b)所示。
在步骤S320中,对字库的各个字符的字面进行整体归一化处理。
在示例实施例中,从字符的字符图像imagei中获取核心区域图像image_majori,字符图像的核心区域是指在字面统一过程中需要重点关注的区域,如图6中所示的字符图像,其中,白色线条包围的矩形区域为该字符图像的核心区域。举例而言,根据字符的字符图像中的像素分布,确定字面像素占总像素的比例超过预定阈值T的区域,将该区域作为字符图像的核心区域,该区域的图像即为该字符图像的核心区域图像。如图7(c)所示为对图7(b)中的字符图像提取核心区域之后生成的图像,各个字符的核心区域图像组成集合Setimage_major。需要说明的是,预定阈值T可以根据字面调整需求以及计算机处理性能来确定。
进一步地,根据核心区域图像的尺寸,对整体字库的字面尺寸进行归一化处理。具体而言,按照核心区域尺寸一致的规则,计算将核心区域图像image_majori的尺寸(wi,hi)缩放到特定尺寸(H,W)的归一化缩放比例norm_ratioi,根据该归一化缩放比例将核心区域图像进行尺寸归一化,得到归一化核心图像image_major_normali,以保证字符的核心区域的字面尺寸一致,如图7(d)所示;同时根据该归一化缩放比例将对应的字符图像imagei缩放到同等尺寸,得到归一化图像image_normali,完成整体字面的预调整,如图7(e)所示。
在步骤S330中,利用单字符调整模型对单个预调整的字形进行字面微调。
在示例实施例中,该单字符调整模型为深度回归模型,根据已有样本字库对单字符调整模型进行训练。进一步地,利用少量字库样本Sampleori进行数据增广得到大规模样本Sampleaugment,以获取适用所有字体风格的单字符调整模型Model。基于待调整字库中各个字符的字符图像与核心区域字符图像,通过训练后的单字符调整模型Model对各个字符的字形或字面进行微调,计算每个字符的字形的缩放比例fine_tune_ratioi,得到调整后的字库Fontfine_tune。
在步骤S340中,进行整库字面尺寸自适应处理。
在示例实施例中,计算待调整字库中各个字符的第一平均尺寸与步骤S330中生成字库中各个字符的第二平均尺寸,基于第一平均尺寸与第二平均尺寸对字库的字符进行整体缩放。具体而言,计算待调整字库Fontori的字符图像集合Setimage的平均尺寸scaleori,以及步骤S330中调整后字库Fontfine_tune的字符图像集合Setimage_fine_tune的平均尺寸scalefine_tune,然后计算整体字库的相对缩放比例ratioreletive=scaleori/scalefine_tune,基于整体字库的相对缩放比例对整库字面进行自适应调整,并得到自适应尺寸的图像结果,如图7(g)所示,完成整库字面尺寸自适应处理。
在步骤S350中,将字面调整结果写回字库文件,得到字面一致的字库文件。
在示例实施例中,将上述步骤中的字库的各个字符的缩放结果写回字库文件。进一步地,由于上述字库的字符为图像格式,但最终的调整工作需要应用于字库文件,因此,对于待调整字库的字库文件中的字形shapei,最终完整的缩放比例ratioi=norm_ratioi×fine_tune_ratioi×ratioreletive,新字形结果shape_resizedi=shapei×ratioi,如图7(h)所示,将获得的新字形写回字库文件。
图4示出了根据本发明的一些实施例提供的单字符调整模型的训练过程的流程示意图。
参照图4所示,在步骤S410,设计单字符调整模型。
在示例实施例中,采用深度回归模型作为单字符调整模型,模型的输入为归一化图像image_normal与归一化核心图像image_major_normal的图像组合,输出为对字符图像进行字面微调对应的单字符缩放比例predratio。
在步骤S420中,生成单字符调整模型的训练样本数据。
在示例实施例中,采用字面稳定的样本字符作为训练数据,组成样本数据集合Sampleori。进一步,为了提升数据的通用性,利用图像处理技术对样本数据进行增广处理,以覆盖对各种风格字体的适用性,形成新的训练样本集合Sampeaugment。
在步骤S430中,基于训练样本数据对单字符调整模型进行训练。
在示例实施例中,获取训练样本数据中的各个字符的字符图像以及核心区域图像,将获取的字符图像以及核心区域图像输入到单字符调整模型,对单字符调整模型进行训练。
进一步地,采用均方误差作为单字符调整模型的损失函数,损失函数的计算方式为下式(1):
其中,Labelsi为训练数据的标注值,Logitsi为对训练数据的预测值。例如,训练数据的标注值为训练字符的标注的单字符缩放比例,预测值为通过单字符调整模型预测的训练字符的单字符缩放比例。
需要说明的是,本发明的实施例中的损失函数不限于此,例如,损失函数可采用可用于回归预测的适当的损失函数例如对数损失函数或指数损失函数等。
图5示出了根据本发明的一些实施例提供的单字符调整模型的示意框图。
参照图5所示,该单字符调整模型包括输入模块510、神经网络模块520、logits模块530、标签模块540、损失函数模块550以及优化模块560。其中,输入模块510用于输入待预测字符的字符图像以及核心区域图像;深度回归模块520用于采用深度回归模型对待预测字符的单字符缩放比例进行预测;logits模块530用于基于深度回归模块520的结果确定待预测字符的单字符缩放比例的预测值;标签模块540用于确定待预测字符的单字符缩放比例的标注值;损失函数模块550用于基于待预测字符的单字符缩放比例的预测值以及标注值确定模型的损失函数;优化模块560用于基于损失函数对单字符调整模型的参数进行优化处理。
图7示出了根据本发明的一些实施例提供的字库字面的调整方法的各个步骤的字面调整结果的示意图。参照图7所示,图7(a)为待调整字库的原始字符的原始字形;图7(b)为原始字符的字符图像;图7(c)为字符图像的核心区域图像;图7(d)为整体归一化后的核心区域图像;图7(e)为整体归一化后的字符图像;图7(f)为利用深度回归网络进行单字符微调后的字符图像;图7(g)为根据原始字库尺寸进行整库自适应尺寸调整之后的字符图像;图7(h)为缩放处理之后的最终字形。
图8示出了根据本发明的一些实施例提供的字库字面的调整方法的字库字面调整前后的示意图。参照图8所示,虚线框中调整前的排版效果,实线框中的是调整后排版效果。
图9为根据本发明的一些实施例提供的字库字面的调整装置的示意框图。
参照图9所示,该字库字面的调整装置900包括:字符图像获取模块910,用于获取待调整字库中各个原始字符的字符图像;区域图像确定模块920,用于确定各个原始字符的字符图像的核心区域图像;单字调整模块930,用于基于各个原始字符的所述字符图像以及所述核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整,其中,所述单字符调整模型为神经网络模型。
在本发明的一些实施例中,基于上述方案,参照图10所示,所述装置900还包括:平均尺寸确定模块1010,用于确定各个原始字符的第一平均尺寸,以及各个中间字符的第二平均尺寸,其中,所述中间字符为通过所述单字符调整模型对所述原始字符的字面进行调整之后得到的字符;相对比例确定单元1020,用于基于所述第一平均尺寸与所述第二平均尺寸确定所述中间字符的相对缩放比例;第一缩放处理模块1030,用于基于所述相对缩放比例对所述中间字符进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述单字调整模块包括:归一化比例确定单元,用于确定各个原始字符的所述核心区域图像的归一化缩放比例;归一化处理单元,用于基于所述归一化缩放比例,对各个原始字符的所述字符图像以及所述核心区域图像进行归一化处理,得到各个原始字符的归一化图像以及归一化核心区域图像;调整单元,用于基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型对各个原始字符的字面进行调整。
在本发明的一些实施例中,基于上述方案,所述调整单元包括:单字符缩放比例确定单元,用于基于各个原始字符的所述归一化图像以及所述归一化核心区域图像,通过单字符调整模型确定各个原始字符的单字符缩放比例;第二缩放处理单元,用于基于所述单字符缩放比例对所述原始字符的字面进行缩放处理。
在本发明的一些实施例中,基于上述方案,所述装置还包括:第三缩放处理单元,用于基于所述归一化缩放比例、所述单字符缩放比例以及所述相对缩放比例,对所述待调整字库中各个原始字符的字形进行缩放处理;写回单元,用于将调整之后的结果写入所述待调整字库的字库文件。
在本发明的一些实施例中,基于上述方案,所述装置还包括:训练样本获取模块,用于获取样本字库的多个样本字符的字符图像;训练样本处理模块,用于确定各个样本字符的字符图像的所述核心区域图像以及对应的所述单字符缩放比例的标注值;训练样本生成模块,用于基于各个样本字符的字符图像、对应的所述核心区域图像以及所述单字符缩放比例的标注值生成训练样本集;训练模块,用于基于所述训练样本集对所述单字符调整模型进行训练。
在本发明的一些实施例中,基于上述方案,所述训练模块包括:预测单元,用于基于所述字面调整模型确定所述训练样本集中的所述样本字符的所述单字符缩放比例的预测值;损失函数确定单元,用于基于所述单字符缩放比例的所述预测值与所述标注值确定所述字面调整模型的损失函数;参数调整单元,用于基于所述损失函数对所述单字符调整模型的参数进行调整。
在本发明的一些实施例中,基于上述方案,所述装置还包括:样本增广模块,用于对所述样本字库的样本字符的字符图像进行增广处理,生成多个增广样本字符。
在本发明的一些实施例中,基于上述方案,所述字符图像获取模块包括:解析单元,用于解析所述待调整字库的字库文件,确定所述字库文件包含的字符编码信息;渲染单元,用于根据所述字符编码信息,将所述待调整字库的各个原始字符渲染为字符图像。
在本发明的一些实施例中,基于上述方案,所述区域图像确定模块包括:核心区域确定单元,用于根据各个原始字符的字符图像的像素分布,确定各个字符图像的核心区域,所述核心区域为像素数量占所述字符图像的总像素数量的比例大于预定阈值的区域;图形确定单元,用于将所述核心区域的图像作为所述原始字符的字符图像的核心区域图像。
在本发明的一些实施例中,基于上述方案,所述神经网络模型为深度神经网络模型。
本申请实施例提供的字库字面的调整装置能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
图11为本发明的一些实施例提供的字库字面的调整设备实施例一的结构示意图,如图11所示,本实施例提供的字库字面的调整设备1100可以包括:存储器1110以及处理器1120。
可选的,该字库字面的调整设备还可以包括总线。其中,总线用于实现各元件之间的连接。
所述存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行前述任一方法实施例提供的字库字面的调整方法的技术方案。
其中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的计算机程序以及模块,从而执行各种功能应用以及字库字面的调整。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read-OnlyMemory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图11的结构仅为示意,还可以包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。图11中所示的各组件可以采用硬件和/或软件实现。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例提供的字库字面的调整方法。
本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。