CN114332260B - 基于分块编码与Transformer的中文字形字库自动生成方法及系统 - Google Patents
基于分块编码与Transformer的中文字形字库自动生成方法及系统 Download PDFInfo
- Publication number
- CN114332260B CN114332260B CN202111635060.7A CN202111635060A CN114332260B CN 114332260 B CN114332260 B CN 114332260B CN 202111635060 A CN202111635060 A CN 202111635060A CN 114332260 B CN114332260 B CN 114332260B
- Authority
- CN
- China
- Prior art keywords
- picture
- font
- coding
- chinese character
- pictures
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 86
- 238000012549 training Methods 0.000 claims description 48
- 108091026890 Coding region Proteins 0.000 claims description 37
- 238000009877 rendering Methods 0.000 claims description 10
- 238000013461 design Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000002679 ablation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明公布了一种基于分块编码与Transformer的中文字形字库自动生成方法及系统,包括第一阶段模型和第二阶段模型;基于分块编码的字形图片编码方法和基于Transformer的少样本高质量字形图片生成方法;通过设计用于降低Transformer计算成本的分块编码,只需要少量用户图片作为参考,将字形图片编码为适用于Transformer生成的序列格式,再使用Transformer生成带有目标风格的高分辨率汉字字形图片,最后对字形图片进行矢量化,得到完整的中文字形和字库文件。采用本发明技术方案,只需要少量用户图片作为参考,能够生成用户指定风格的高分辨率的字形图片和中文字库。
Description
技术领域
本发明涉及计算机图形处理技术和人工智能技术,尤其涉及一种基于分块编码与Transformer的中文字形字库自动生成方法及系统。
背景技术
随着现在越来越多的人寻求个性化字体,现有的商业字体库不能满足快速增长的需求。对于包含大量字符(例如中文)的书写系统,产生了很大的需求缺口。例如常用字符集GB2312中有6,763个汉字,而字符集GB18030-2005包含超过70,000个汉字,其中大部分字形结构复杂。中文字体库中包含的字符多,这使得设计新的中文字体非常耗时且成本高昂。此外,字体设计的质量在很大程度上取决于设计师的个人能力和经验。
近些年来,许多研究人员希望自动生成中文字库来解决这一问题。例如文献(Zhang Y,Zhang Y,Cai W.Separating style and content for generalized styletransfer[C]//Proceedings of the IEEE conference on computer vision andpattern recognition.2018:8447-8455.)记载的方法“EMD”使用十张目标字体的参考图片提取风格特征,同时使用另外十张其他字体的同一汉字图片提取内容特征,并结合风格与内容特征解码出目标字体的特定字形图片。
这类自动生成中文字库的方法需要使用大量目标字形图片训练调整模型参数,用户设计或书写字形图片以提供训练数据仍需较长时间。因此,一些方法尝试减少目标字体的参考图片数量。例如文献(Park S,Chun S,Cha J,et al.Few-shot font generationwith localized style representations and factorization[J].arXiv preprintarxiv:2009.11042,2020.)中记载的方法“LF-Font”与文献(Park S,Chun S,Cha J,etal.Multiple Heads are Better than One:Few-shot Font Generation with MultipleLocalized Experts[J].arXiv preprint arXiv:2104.00887,2021.)中记载的方法“MX-Font”利用不同汉字拥有相同部件的特点,将汉字显式或隐式的拆分成若干部件,通过复用部件特征从少量参考字形图片中提取更多的风格特征信息。
然而,减少参考图片数量不可避免地降低了目标风格字形图片的生成质量。现有方法大多只能生成较低分辨率字形图片(例如由模型“EMD”生成的图片长宽均为64像素,由模型“LF-Font”与“MX-Font”生成的图片长宽均为128像素)。低分辨率字形图片无法直接应用于实际场景,也不利于进一步字体矢量化工作。
近年来,Transformer及其在视觉任务中的衍生技术得以发展。文献(Vaswani A,Shazeer N,Parmar N,et al.Attention is all you need[C]//Advances in neuralinformation processing systems.2017:5998-6008.)提出了“Transformer”模型,在机器翻译、文本生成、文档分类、文本问答等诸多自然语言处理任务上取得了最好的结果。文献(Dosovitskiy A,Beyer L,Kolesnikov A,et al.An image is worth 16x16 words:Transformers for image recognition at scale[J].arXiv preprint arXiv:2010.11929,2020.)提出方法“ViT”,将Transformer应用于视觉分类任务上,并在使用大量数据(一亿到三亿张图片)训练模型后取得了最好的结果。但是,将Transformer模型用于视觉分类任务及其他分类任务的缺点在于具有较高的计算复杂度,以及相比于使用卷积神经网络的方法,其需要更多的计算资源。
综上,现有的字形生成方法存在的技术问题包括:需要参考图片数量多、生成图片分辨率低。
发明内容
为了解决上述现有字形生成方法中存在的技术问题,本发明提供了一种基于分块编码与Transformer的中文字库自动生成方法及系统。只需要少量用户图片作为参考,本发明可以生成用户指定风格的高分辨率字形图片,并针对汉字字形图片只有黑白两色的特点,设计了用于降低Transformer计算成本的分块编码。
在字形生成技术领域,通常使用卷积神经网络作为骨干网络的方法(例如“EMD”)直接生成完整目标字体字形图片。与之不同的是,本发明使用Transformer作为骨干网络,并在生成图片时从上到下、从左到右的依次生成图片区,并拼接成完整的目标字体字形图片,经过矢量化后得到目标中文字库。
为方便说明,本发明约定以下术语定义:
px:像素。
字形编码:本发明提供的将字形图片编码为适合Transformer处理的编码方案。
字形编码序列:字形编码后的到的用于输入Transformer的向量序列。
图片区(block):将输入字形图片划分为相同大小的正方形图片区,图片区边长为B像素。
图片块(patch):为了压缩编码,进一步将图片区划分为更小的正方形图片块,图片块边长为P像素。
字形编码向量:经过编码后对应每一个图片区的字形编码向量,由图片区编码向量、风格编码向量、内容编码向量与五笔编码向量组成。
图片区编码向量:字形编码向量的一部分,由更小的图片块编码向量组合而成。
图片块编码向量:图片块展开后对应的二进制数在图片块编码表中对应的向量。
风格编码向量:字形编码向量的一部分,为一个代表目标字体风格的向量。
内容编码向量:字形编码向量的一部分,为一个代表目标字形内容的向量。
五笔编码向量:字形编码向量的一部分,在本发明中,我们将五笔编码统一为四位编码,每一位编码对应了一个短向量。我们将四个对应的短向量拼接为五笔编码向量。
编码表:由若干可学习的向量组成的编码表。在本发明中,包括图片块、风格、内容、五笔编码对应的四个编码表。每个编码表由若干个向量组成。其中图片块编码表包含向量数量由图片块大小计算得来;风格编码表包含向量数量等同于训练数据与待生成字体风格种类数总和;内容编码表包含向量数量为训练数据与待生成字体字符种类综合;五笔编码表包含26个编码向量。每一个编码表的初始化向量从正态分布中随机选取。
第一阶段:为了消除累计误差影响使用的“并行Transformer”模块。
第二阶段:为了提高生成字形图片质量使用的“串行Transformer”模块。
本发明提供的技术方案如下:
一种基于分块编码与Transformer的中文字形字库自动生成方法,通过将字形图片编码为适合Transformer生成的序列格式,再使用Transformer生成带有目标风格的汉字字形图片,最后对字形图片进行矢量化,从而得到完整的中文字库文件;包括:基于分块编码的字形图片编码方法和基于Transformer的少样本高质量字形图片生成方法;通过设计用于降低Transformer计算成本的分块编码,只需要少量用户图片作为参考,即可生成用户指定风格的高分辨率字形图片;包括以下步骤:
第一步,用户书写或设计少量汉字,扫描或拍照成图片,作为用户输入汉字图片;
第二步,选取已有字体,渲染所需字符集GB2312中字符对应的字形图片作为训练数据,得到预训练字形图片;并选择一种字体作为源字体;渲染字形图片大小与用户输入汉字图片相同;
第三步,将字符集GB2312中包含字符编号为1到6763;根据渲染字体数量对字体进行编号;源字体编号为0,用户输入汉字图片对应字体编号为1,其余字体依次编号;
第四步,对用户输入汉字图片与预训练字形图片进行编码;以下将用户输入汉字图片和预训练字形图片统称为待编码字形图片;
本发明采用基于分块编码的字形图片编码方法,将汉字字形图片编码为适合Transformer处理的向量序列。主要包含以下步骤:
41),根据待编码字形图片分辨率(H×W),确定图片区(B×B),图片块(P×P)大小,以及图片块长度、风格长度、内容长度、五笔编码向量长度,记为(Lc,Lstyle,Lchar,Lw);其中,H为待编码字形图片高度(单位:像素);W为待编码字形图片宽度(单位:像素);B为图片区边长(单位:像素);P为图片块边长(单位:像素);
42),根据图片块大小、字符种类数、字体风格种类数与步骤41)向量长度,确定图片块、内容、风格、五笔编码表包含向量个数与向量大小,并在正态分布中随机选取向量初始化编码表。
43),将待编码字形图片I划分为个图片区IBlock,对于每一个图片区IBlock,进一步划分为/>个图片块IPatch;
44),从上到下,从左到右地将43)步得到的每一个图片块IPatch包含的像素排列为一个长度P×P为的像素序列,并将该序列视为一个二进制数b其范围为在图片块编码表中获得第b个图片块编码向量/>进一步将得到的所有图片块编码向量组合为图片区编码向量/>
45),根据待编码字形图片对应的字体编号、字符编号及其字符对应的五笔编码,在对应的编码表中获得相应的编码向量。并将44)步得到的图片区编码向量与上述编码向量进行组合,得到字形编码向量
46),将45)步得到的字形编码向量,组合为一个序列,即得到适合Transformer处理的字形编码序列;对用户输入汉字图片与预训练字形图片均进行编码,分别得到微调模型所使用的字形编码序列(以下称微调字形编码序列),与预训练字形编码序列。
第五步,使用预训练字形编码序列预训练模型,并使用微调字形编码序列微调模型参数;包括:
模型包括第一阶段模型和第二阶段模型;第一阶段模型为“并行Transformer”模块,可消除累计误差影响;第二阶段为“串行Transformer”模块,用于提高生成字形图片质量。
5A)使用第四步得到的预训练字形图片编码序列对模型参数进行预训练;包括:
5Aa)预训练第一阶段模型;
第一阶段模型的编码器输入为源字体字形图片编码序列Seqsource与参考图片字形编码序列Seqref;解码器输入为参考图片字形编码序列Seqref与空白图片字形编码序列Seqblank及其编码器的输出。其中参考图片为目标风格的任意字形图片,空白图片为相同大小全部填充为白色的字形图片,目标字形图片为第三步渲染得到的预训练字形图片。将第一阶段模型输出的图片记为ITp;
5Ab)如公式(1)所示,计算ITp与目标字形图片Itarget距离作为损失函数,并更新第一阶段模型参数;
5Ac)使用预训练好的第一阶段模型,生成预训练数据对应的目标字形图片,并将其编码为序列;
5Ad)预训练第二阶段模型,其编码器输入为源字体字形图片编码序列Seqsource与第一阶段生成图片字形编码序列SeqTp;解码器输入为第一阶段生成图片字形编码序列SeqTp与目标图片字形编码序列SeqTs及其编码器输出。第二阶段模型得到输出图片ITs;
5Ae)如公式(2)所示,计算ITs与实际目标字形图片Itarget距离作为损失函数,并更新模型参数;
5B)使用第四步得到的微调字形图片编码序列对模型参数进行微调并固定参数,得到训练好的模型;方法与4A)相同,其中目标图片为用户输入字形图片;
第六步,使用训练好的固定参数的模型生成所需的目标字形图片;
第七步,将用户提供的汉字图片和生成的汉字图片组合得到完整的GB2312中文字库6763个汉字图片,并将汉字图片进行矢量化,即生成用户指定风格的字库文件。
具体而言,本发明的基于Transformer的少样本高质量字形图片生成技术方案中,模型两阶段均采用Transformer结构作为骨干网络。两阶段模型不同点在于,在第一阶段模型中,我们去除目标图片自我注意力计算模块,使得模型结果不依赖于之前输出结果,从而消除累计误差的影响。在第二阶段,为了保持生成图片区上下文一致性,我们保持了串行生成的结构,循环的生成每一个目标图片区,在前一阶段生成结果的基础上进一步生成更高质量的字形图片。
此外,字形图片中,包含很多空白图片区。这些图片区包含的信息很少,可以视为冗余信息。为了消除这些冗余信息,并且保持字形图片编码后序列长度相同,在本发明中,两个阶段模型的编码器中的注意力机制均采用掩码注意力机制。
掩码注意力机制表示为公式(3),(4),(5)。
其中Q,K,V分别为根据特征计算得到的查询、键值、权重矩阵,dk为向量Q与向量K维度。
在基于Transformer的少样本高质量字形图片生成方法的第一步中,我们不限制用户输入图片包含的汉字数量。一般而言,包含汉字数量越多,本发明生成字库质量越高。但仅使用少量汉字输入(如一百个汉字图片)本发明也能够生成高质量中文字库。
在第二步中,渲染汉字对应的字形图片,我们在足够大的空白画布上绘制300字号大小汉字,将其切分、填充为320px×320px大小图片。之后使用双线性插值算法,缩放图片大小为256px×256px。根据经验,256px×256px图片可以很好的被矢量化为字库文件,也可根据实际需要选择图片大小。
在第三步中,使用本发明提供的基于分块编码的字形编码技术,将图片编码为字形向量序列。对于不同分辨率字形图片,设置合适的编码参数以减少编码序列长度。
在第四步中,“源字体编号为0,用户输入汉字图片对应字体编号为1,其余字体依次编号”,这种编号方法仅为本发明具体实施的一种编号方法。实际上,本发明不限定编号方法,只需满足编号与字体一一对应;同理,字符集GB2312包含的字符也可以任意方式进行编号,只需满足编号与字符一一对应。
在第五步中,首先训练第一阶段模型,其输入为源字体字形图片编码序列Seqsource与参考图片字形编码序列Seqref;第一阶段模型解码器输入为参考图片字形编码序列Seqref与空白图片字形编码序列Seqblank以及其编码器输出。其中参考图片为随机选出的带有目标风格的任意字形图片,空白图片为相同大小全部填充为白色的字形图片。第一阶段模型得到输出ITp。如公式(6)所示,计算ITp与实际目标字形图片Itarget欧式距离作为损失函数,并迭代更新网络参数
在第五步中,之后使用预训练数据对第二阶段模型进行训练。其输入为源字体字形图片编码序列Seqsource与第一阶段生成图片字形编码序列SeqTp;第一阶段模型解码器输入为第一阶段生成图片字形编码序列SeqTp与目标图片字形编码序列SeqTs以及其编码器输出。第二阶段模型得到输出ITs。如公式(7)所示,计算ITs与实际目标字形图片Itarget欧式距离作为损失函数,并迭代更新网络参数。
在第六步中,使用用户输入数据微调模型第一、二阶段,方法同第四步预训练模型方法。
在第七步中,第一阶段并行输出目标图片。由于第二阶段需要使用目标字形图片作为输入,而此时对应图片并不能够使用,因此在串行输出时,我们首先输入第一阶段生成图片编码后的字形编码序列,在模型输出第一个目标图片区后,不断地将其对应的字形向量添加到已有序列之后,循环生成后续目标图片区,从而得到完整目标字形图片。
与现有技术相比,本发明的有益效果包括:
本发明提供一种基于分块编码与Transformer的中文字库自动生成方法及系统,只需要少量用户图片作为参考,即可生成用户指定风格的高分辨率字形图片;针对汉字字形图片只有黑白两色的特点,设计了用于降低Transformer计算成本的分块编码;使用Transformer作为骨干网络,并在生成图片时从上到下、从左到右的依次生成图片区,并拼接成完整的目标字体字形图片,经过矢量化后得到目标中文字库,生成图片分辨率高。
附图说明
图1是本发明提供的基于分块编码的编码方案流程示意图。
图2是本发明提供的基于Transformer的字形图片生成方法流程示意图。
图3是本发明与其他方法(zi2zi,EMD,AGIS-Net,LF-Font,MX-Font)生成汉字字形图片结果对比图,其中最后一行为目标字体字形图片。
图4是本发明实施例提供的三种不同风格的中文字库的文本渲染效果图,其中,包围框中汉字是本发明实施例提供的字形图片,其余图片是用户提供的字形图片。
图5是本发明两阶段模型结构与不同的两阶段模型组合方式的效果对比图,方框标出了生成图片的主要区别。
图6是本发明中使用掩码注意力机制与不使用该方法效果对比图。
图7是本发明中使用字形编码方法与不使用该方法效果对比图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于分块编码与Transformer的中文字库自动生成方法,通过已有数据预训练模型参数,再使用少量用户输入数据微调并固定模型参数。生成用户指定风格字库时,首先应用编码方法将源字体字形图片编码为字形编码序列,再使用微调后的模型生成目标字形图片,最后对生成的字形图片进行矢量化,从而得到完整的中文字库文件。
本发明方法包含基于分块编码的字形图片编码方法与基于Transformer的少样本高质量字形图片生成方法。具体实施实现了一种基于分块编码与Transformer的中文字形字库自动生成系统,包括:“并行Transformer”模块和“串行Transformer”模块。
基于分块编码的字形图片编码方法流程如附图1所示,具体实施时,包含如下步骤:
1)根据需要编码的字形图片分辨率,确定图片区(B×B),图片块(P×P)大小,以及图片块、风格、内容、五笔编码向量长度(Lc,Lstyle,Lchar,Lw)。在本实施例中,字形图片长宽分别为256像素,选取的图片区大小为16px×16px,图片块大小为4px×4px,图片块编码向量长度为16,风格编码向量长度为32,内容编码向量长度为32,五笔编码向量长度为32。通过计算可知,经过编码后字形编码序列长度为其中每一个字形编码向量长度为/> 对于每一个编码向量组成部分,构建编码表,并使用在正态分布中随机选取向量初始化编码表;
2)如附图1所示,从上到下,从左到右的将待编码图片切分成16px×16px大小的图片区;
3)从上到下,从左到右的切分图片区为4px×4px大小的图片块;
4)将图片块逐像素展开成一个二进制数并转换为十进制数,如图1所示的图片块,展开后得到二进制数(0000 0000 0011 1111)2对应十进制数字63;并在编码表中得到对应向量;
5)对于风格、内容、五笔编码,根据字体序号,字符序号,编码序号,在对应的编码表中取得相应下标的编码向量;
6)将所有图片块字形编码向量,风格编码向量,内容编码向量,五笔编码向量,组合成长度为448的编码向量;
7)对步骤2中划分的图片块进行步骤3-6,并将得到的256个字形编码向量组合为一个长度为256的字形编码序列。
基于Transformer的少样本高质量字形图片生成方法流程如附图2所示,具体实施时,包含如下步骤:
1)用户书写或设计少量汉字,扫描或拍照成图片,上传到系统中。在本实施例中,用户需要上传共包含100个不同汉字的一个或多个图片;
2)将图片切分为单个汉字图像,对文本图像进行方向矫正和切割,得到单个汉字图片,并将图片填充、缩放到256px×256px大小;
3)选取若干已有字体,渲染所需生成的字符集中字符,得到预训练字形图片。在本实施例中,选取11个已有开源字体,包含一种源字体与十种目标字体。选取的字符集为GB2312,共包含6763个汉字,即预训练模型共使用74393张字形图片。在本实施例中,渲染图片大小为256px×256px;
4)应用编码方案,得到预训练字形图片和用户输入字形图片对应的字形编码序列。
5)如附图2所示,发明内容中提及的模型第一阶段训练方式如下:
a)使用预训练数据对第一阶段模型进行训练。第一阶段模型编码器输入为源字体字形图片编码序列Seqsource与参考图片字形编码序列Seqref;第一阶段模型解码器输入为参考图片字形编码序列Seqref与空白图片字形编码序列Seqblank以及其编码器输出。其中参考图片为目标风格的任意字形图片,空白图片为相同大小全部填充为白色的字形图片。第一阶段模型得到输出图片ITp。
b)如公式(6)所示,计算ITp与实际目标字形图片Itarget距离作为损失函数。
6)预训练第一阶段模型后,使用该模型生成预训练数据所有生成结果,并应用编码方案得到对应的字形编码序列。
7)使用得到的新字形编码序列与预训练数据训练第二阶段模型。如图2所示,发明内容中提及的模型第二阶段训练方式如下:
a)使用预训练数据对第二阶段模型进行训练。第二阶段模型编码器输入为源字体字形图片编码序列Seqsource与第一阶段生成图片字形编码序列SeqTp;第二阶段模型解码器输入为第一阶段生成图片字形编码序列SeqTp与目标图片字形编码序列SeqTs以及其编码器输出。第二阶段模型得到输出图片ITs。
b)如公式(7)所示,计算ITs与实际目标字形图片Itarget距离作为损失函数。
8)使用用户输入数据对预训练后的模型进行微调训练并固定参数,其训练方法同本实施例中步骤(5)-(7)。
9)使用固定参数的模型生成所需的目标字形图片,矢量化图片后得到用户指定风格的字库文件。
附图3对本发明与其他方法结果进行比较。其中方法“zi2zi”生成了影响视觉效果的纹理。方法“EMD”在用户数据较少的情况下不能正确的生成字形结构。方法“AGIS-Net”能够生成较好的结果,但细节与分辨率仍需进一步的提升。方法“LF-Font”与“MX-Font”没有捕捉到用户输入汉字的风格信息。而采用本发明方法生成了具有正确结果和更加平滑笔画的高质量汉字图片。
附图4是本发明实施例提供的三种不同风格的中文字库的文本渲染效果图;其中,包围框中汉字是本发明实施例提供的字形图片,其余图片是用户提供的字形图片。由实验结果可以看出,本发明的方法能够生成逼真的,具有用户手写体风格的字形。
附图5、6、7展示了本发明在模型结构设计,编码方式与掩码注意力机制的消融实验,可以看出这些设计均有助于提高生成字形图片质量。
表1是本发明与其他生成汉字图片方法(AGIS-Net,LF-Font,MX-Font)计算成本比较,其中MACs指乘法累加操作数(1G=109),Params指方法模型参数量(1M=106)。
表1本发明方法与现有方法计算成本比较
模型 | 分辨率(px) | MACs(G) | Params(M) |
AGIS-Net | 64×64 | 1.17 | 19.56 |
LF-Font | 128×128 | 37.95 | 7.924 |
MX-Font | 128×128 | 87.42 | 22.76 |
AGIS-Net(估算) | 256×256 | 299.5 | 313.0 |
LF-Font(估算) | 256×256 | 607.2 | 31.70 |
MX-Font(估算) | 256×256 | 1398 | 91.05 |
本发明方法 | 256×256 | 2138 | 73.30 |
AGIS-Net(估算) | 1024×1024 | 76677 | 5007 |
LF-Font(估算) | 1024×1024 | 155443 | 507.1 |
MX-Font(估算) | 1024×1024 | 358072 | 1456 |
本发明方法 | 1024×1024 | 4294 | 146.5 |
根据表1,在生成高质量高分辨率图片的场景下,本发明在计算次数(时间成本)与参数量(空间成本)两个指标上均优于其他方法。并且在分辨率提高到16倍时,本发明的计算成本只增加一倍。
以上结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。可以理解的是,所描述的实例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (10)
1.一种基于分块编码与Transformer的中文字形字库自动生成方法,包括:基于分块编码的字形图片编码方法和基于Transformer的少样本高质量字形图片生成方法;通过设计用于降低Transformer计算成本的分块编码,只需要少量用户图片作为参考,将字形图片编码为适用于Transformer生成的序列格式,再使用Transformer生成带有目标风格的高分辨率汉字字形图片,最后对字形图片进行矢量化,得到完整的中文字形和字库文件;
包括以下步骤:
第一步,获取用户输入汉字图片;
第二步,选取已有字体,渲染所需字符集GB2312中字符对应的字形图片,得到预训练字形图片;渲染图片大小与用户输入汉字图片相同;并选择一种字体作为源字体;
第三步,采用基于分块编码的字形图片编码方法,对第一步的用户输入汉字图片与第二步的预训练字形图片进行编码,将待编码的汉字字形图片编码为适用于Transformer处理的向量序列;包括以下步骤:
31)根据待编码字形图片I的分辨率H×W,确定图片区B×B、图片块P×P的大小,以及图片块长度、风格长度、内容长度、五笔编码向量长度,记为(Lc,Lstyle,Lchar,Lw);其中,H为待编码字形图片高度;W为待编码字形图片宽度;B为图片区边长;P为图片块边长;H、W、B、P的单位均为像素;
32)根据图片块大小、字符种类数、字体风格种类数与步骤31)中的向量长度,确定图片块、内容、风格、五笔编码表包含的向量个数与向量大小,并在正态分布中随机选取向量初始化编码表;
33)将待编码字形图片I划分为多个图片区,对于每一个图片区,进一步划分为多个图片块;
34)将步骤33)中划分的每一个图片块展平为一个二进制数b;在图片块编码表中获得第b个图片块编码向量;进一步将得到的所有图片块编码向量组合为图片区编码向量xt;
35)根据待生成的目标字体编号、字符编号及其字符对应的五笔编码,在对应的编码表中获得相应的编码向量;并将步骤34)得到的图片区编码向量xt与上述编码向量进行组合,得到字形编码向量x;
36)将步骤35)得到的字形编码向量组合为一个序列,即得到适合Transformer处理的字形编码序列;
第四步,使用编码后的预训练图片编码序列预训练模型参数,并使用编码后的用户输入图片编码序列微调并固定模型参数;模型包括第一阶段模型和第二阶段模型;第一阶段模型为“并行Transformer”模块,用于消除累计误差影响;第二阶段为“串行Transformer”模块,用于提高生成字形图片质量;预训练与微调模型参数过程包括:
4A)使用预训练数据对模型参数进行预训练;
4Aa)预训练第一阶段模型,其编码器输入为源字体字形图片编码序列Seqsource与参考图片字形编码序列Seqref;解码器输入为参考图片字形编码序列Seqref与空白图片字形编码序列Seqblank及其编码器输出,其中参考图片为目标风格的任意字形图片,空白图片为相同大小全部填充为白色的字形图片,第一阶段模型得到输出图片ITp;
4Ab)通过式(1)计算ITp与目标字形图片Itarget距离作为损失函数,并更新模型参数;
4Ac)使用预训练的第一阶段模型,生成预训练数据对应的目标字形图片,并将其编码为序列;
4Ad)预训练第二阶段模型,其编码器输入为源字体字形图片编码序列Seqsource与第一阶段生成图片字形编码序列SeqTp;解码器输入为第一阶段生成图片字形编码序列SeqTp与目标图片字形编码序列SeqTs及其编码器输出;第二阶段模型得到输出图片ITs;
4Ae)通过式(2)计算ITs与实际目标字形图片Itarget距离作为损失函数,并更新模型参数;
4B)使用用户数据对模型参数进行微调并固定参数,方法同步骤4A),区别在于使用用户输入汉字图片对应的字形编码序列对模型参数进行微调,并在训练后固定模型参数;
第五步,使用固定参数的模型生成所需的目标字形图片。
2.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,进一步将用户提供的汉字图片和生成的汉字图片组合得到完整的GB2312中文字库6763个汉字图片,并将汉字图片进行矢量化,即生成用户指定风格的字库文件。
3.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,第一步中,用户设计或书写任意少量汉字,拍照或扫描成汉字图片,作为用户输入汉字图片。
4.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,两阶段模型均采用Transformer结构作为骨干网络;在第一阶段模型中,去除目标图片自我注意力计算模块,使得模型结果不依赖于之前输出结果,从而消除累计误差的影响;在第二阶段模型中,保持了串行生成的结构,循环生成每一个目标图片区,保持生成图片区上下文一致性,在第一阶段生成结果的基础上进一步生成更高质量的字形图片。
5.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,两个阶段模型的编码器中的注意力机制均采用掩码注意力机制,表示为式(3),(4),(5):
其中,Q,K,V分别为根据特征计算得到的查询、键值、权重矩阵,dk为向量Q与向量K维度。
6.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,在第二步中,渲染汉字对应的字形图片,具体是在空白画布上绘制300字号大小汉字,将其切分、填充为320px×320px大小图片;之后使用双线性插值算法,缩放图片大小与用户输入汉字图片相同。
7.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,在第三步中,使用基于分块编码的字形图片编码方法并结合五笔先验知识,将图片编码为包含字形信息的字形编码序列,表示为一个向量序列形式。
8.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,在第四步中,训练第一阶段模型时,计算ITp与实际目标字形图片Itarget欧式距离作为损失函数,并迭代更新网络参数,如式(6)所示:
其中,LossTp为第一阶段模型的损失函数;
使用预训练数据对第二阶段模型进行训练时,计算ITs与实际目标字形图片Itarget欧式距离作为损失函数,并迭代更新网络参数;损失函数表示为式(7):
其中,LossTs为第二阶段模型的损失函数。
9.如权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法,其特征是,步骤33)具体是将待编码字形图片I划分为个图片区IBlock,对于每一个图片区,进一步划分为/>个图片块IPatch;步骤34)具体是从上到下,从左到右地展平步骤33)得到的每一个图片块IPatch为二进制数b的范围为/>在图片块编码表中获得第b个图片块编码向量/>进一步将得到的所有图片块编码向量组合为图片区编码向量/> 步骤35)将图片区编码向量xt与上述编码向量进行组合,得到的字形编码向量
10.一种利用权利要求1所述基于分块编码与Transformer的中文字形字库自动生成方法实现的中文字形字库自动生成系统,其特征是,所述中文字形字库自动生成系统包括:并行Transformer模块和串行Transformer模块;所述并行Transformer模块用于消除累计误差影响;所述串行Transformer模块用于提高生成字形图片质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635060.7A CN114332260B (zh) | 2021-12-29 | 2021-12-29 | 基于分块编码与Transformer的中文字形字库自动生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635060.7A CN114332260B (zh) | 2021-12-29 | 2021-12-29 | 基于分块编码与Transformer的中文字形字库自动生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114332260A CN114332260A (zh) | 2022-04-12 |
CN114332260B true CN114332260B (zh) | 2024-06-21 |
Family
ID=81016810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111635060.7A Active CN114332260B (zh) | 2021-12-29 | 2021-12-29 | 基于分块编码与Transformer的中文字形字库自动生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114332260B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425972A (zh) * | 2001-12-11 | 2003-06-25 | 余绍黔 | 快易汉字输入法及键盘 |
CN107644006A (zh) * | 2017-09-29 | 2018-01-30 | 北京大学 | 一种基于深度神经网络的手写体中文字库自动生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10755375B2 (en) * | 2017-02-24 | 2020-08-25 | The Trustees Of Columbia University In The City Of New York | Systems and methods for steganography based on text fonts |
CN110852086B (zh) * | 2019-09-18 | 2022-02-08 | 平安科技(深圳)有限公司 | 基于人工智能的古诗词生成方法、装置、设备及存储介质 |
-
2021
- 2021-12-29 CN CN202111635060.7A patent/CN114332260B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1425972A (zh) * | 2001-12-11 | 2003-06-25 | 余绍黔 | 快易汉字输入法及键盘 |
CN107644006A (zh) * | 2017-09-29 | 2018-01-30 | 北京大学 | 一种基于深度神经网络的手写体中文字库自动生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114332260A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11069047B2 (en) | Image processing method, image processing apparatus, computing device and computer-readable storage medium | |
Jiang et al. | Scfont: Structure-guided chinese font generation via deep stacked networks | |
CN107644006B (zh) | 一种基于深度神经网络的手写体中文字库自动生成方法 | |
CN112232149B (zh) | 一种文档多模信息和关系提取方法及系统 | |
CN109635883A (zh) | 基于深度堆叠网络的结构信息指导的中文字库生成方法 | |
CN111767979A (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
CN110443864B (zh) | 一种基于单阶段少量样本学习的艺术字体自动生成方法 | |
CN112163401B (zh) | 基于压缩与激励的gan网络的汉字字体生成方法 | |
CN114140786B (zh) | 基于HRNet编码与双分支解码的场景文本识别方法 | |
CN111553350A (zh) | 一种基于深度学习的注意力机制文本识别方法 | |
CN111428727A (zh) | 基于序列变换纠正及注意力机制的自然场景文本识别方法 | |
CN114359603A (zh) | 一种多模态遥感图像领域自适应无监督匹配方法 | |
CN112784531A (zh) | 一种基于深度学习和部件拼接的中文字形及字库生成方法 | |
CN114565789B (zh) | 一种基于集合预测的文本检测方法、系统、装置及介质 | |
CN115908639A (zh) | 基于transformer的场景图像文字修改方法、装置、电子设备及存储介质 | |
CN114581918A (zh) | 一种文本识别模型训练方法及装置 | |
CN115512378A (zh) | 一种基于Transformer的中文环境数学公式提取及识别方法 | |
CN114332260B (zh) | 基于分块编码与Transformer的中文字形字库自动生成方法及系统 | |
CN111339734B (zh) | 一种基于文本生成图像的方法 | |
KR20220116800A (ko) | 영역 정보를 활용한 가장자리 탐지 장치 및 그 방법 | |
CN113065561A (zh) | 基于精细字符分割的场景文本识别方法 | |
Xia et al. | Vecfontsdf: Learning to reconstruct and synthesize high-quality vector fonts via signed distance functions | |
CN112464014B (zh) | 一种基于图卷积的无监督哈希工业布匹纹理图片检索方法 | |
Matsuda et al. | Font generation with missing impression labels | |
Watchanupaporn | Thai Calligraphy using Adversarial Generative Network |
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 |