CN112732943B - 一种基于强化学习的中文字库自动生成方法及系统 - Google Patents

一种基于强化学习的中文字库自动生成方法及系统 Download PDF

Info

Publication number
CN112732943B
CN112732943B CN202110074336.2A CN202110074336A CN112732943B CN 112732943 B CN112732943 B CN 112732943B CN 202110074336 A CN202110074336 A CN 202110074336A CN 112732943 B CN112732943 B CN 112732943B
Authority
CN
China
Prior art keywords
chinese character
stroke
skeleton
reinforcement learning
module
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
Application number
CN202110074336.2A
Other languages
English (en)
Other versions
CN112732943A (zh
Inventor
连宙辉
刘亦天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202110074336.2A priority Critical patent/CN112732943B/zh
Publication of CN112732943A publication Critical patent/CN112732943A/zh
Application granted granted Critical
Publication of CN112732943B publication Critical patent/CN112732943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公布了一种基于强化学习的中文字库自动生成方法及系统,通过创建强化学习模块输出薄板样条TPS插值函数参数,并应用TPS插值函数将标准汉字骨架的每个笔画转化为目标风格;再对笔画实际位置与尺寸进行预测,将笔画骨架组合为汉字骨架;对汉字骨架进行渲染生成目标汉字图片,从而得到完整的中文字库文件。系统包括:强化学习模块、笔画位置预测模块、渲染模块。本发明实现了对标准笔画骨架的修改和笔画边界框的预测,确保生成更好的目标风格汉字骨架。模型结构简单,无需进行大规模的预训练处理,即可合成高质量的汉字骨架,自动生成高质量的中文字库。

Description

一种基于强化学习的中文字库自动生成方法及系统
技术领域
本发明涉及计算机图形处理技术和人工智能技术,尤其涉及一种基于强化学习的中文字库自动生成方法及系统。
背景技术
随着现在越来越多的人寻求个性化字体,现有的商业字体库不能满足快速增长的需求。对于包含大量字符(例如中文)的书写系统,产生了很大的需求缺口。中文字体库中包含的字符多,这使得设计新的中文字体非常耗时且成本高昂。此外,字体设计的质量在很大程度上取决于设计师的个人能力和经验。
近些年来,许多研究人员希望自动生成中文字库来解决这一问题。根据处理对象不同,现有方法可以大致分为两组,分别处理字形图像和笔画轨迹。
处理字形图像的方法大多使用卷积神经网络(Convolutional Neural Network,简称CNN)提取汉字图片的内容和字体特征,然后重构特征将源字体中的字形图像转换为目标字体。如文献(Jiang Y,Lian Z,Tang Y,et al.DCFont:an end-to-end deep Chinesefont generation system[M]//SIGGRAPH Asia 2017Technical Briefs.2017:1-4.)记载的“DCFont”使用从字体特征重建网络中提取的样式特征控制输出字体风格,然后使用残差网络建立了从参考字体到目标字体的映射。为了保证输出质量,文献(Sun D,Ren T,Li C,et al.Learning to write stylized chinese characters by reading a handful ofexamples[J].arXiv preprint arXiv:1712.06424,2017.)记载的方法“SA-VAE”将汉字编码为131维向量,作为强引导信息保证输出正确的汉字字形结构。这一类方法可以自动生成较好的汉字字库,但其结果仍存在边缘模糊或字形错误的现象。
处理笔画轨迹的方法,利用了书写过程包含时间和位置信息的特点。这一类方法将汉字视为点序列,例如文献(Tang S,Xia Z,Lian Z,et al.FontRNN:Generating Large-scale Chinese Fonts via Recurrent Neural Network[C]//Computer GraphicsForum.2019,38(7):567-577.)记载的方法“FontRNN”。通过专门设计的循环神经网络(Recurrent Neural Network,简称RNN)模型,FontRNN学习了从输入字形序列到目标字形序列的转换,从而有效地模拟了人类的书写行为。但是,这种方法无法合成高质量的字形轮廓。
发明内容
为了克服上述两类方法生成结果存在的缺陷,本发明提供了一种基于强化学习的中文字库自动生成方法及系统。本发明使用笔画骨架作为引导信息,保证输出汉字的字形正确;与其他处理笔画骨架方法不同,本发明不直接输出新的笔画骨架,而是通过强化学习方法控制薄板样条(Thin-Plate Spline,简称TPS)插值函数,对标准骨架进行形变,并通过额外的神经网络对笔画位置与尺寸进行预测,以拼接骨架。最后使用神经网络对完整汉字骨架进行渲染,生成目标风格汉字字库。
为方便说明,本发明约定以下术语定义:
目标字体风格:由用户输入指定的字体风格。
汉字骨架:完整汉字骨架,由若干个笔画骨架构成。
笔画骨架:汉字中包含的单个笔画的骨架。
标准汉字骨架:由若干种现有字体风格字体骨架平均得到的汉字骨架。TPS插值函数:薄板样条插值函数。
强化学习模块:本发明中包含的基于强化学习的笔画调整模块,与TPS插值函数结合使用。
笔画位置预测模块:本发明中包含的预测单个笔画骨架在完整汉字骨架位置的模块。
渲染模块:本发明中包含的渲染汉字骨架为汉字图片的模块,称为“stylenet”。
本发明提供的技术方案如下:
一种基于强化学习的中文字库自动生成方法,通过创建强化学习模块输出TPS插值函数参数,并应用TPS插值函数,对标准汉字骨架的每个笔画转化为目标风格;再对笔画实际位置与尺寸进行预测,并将笔画骨架组合为汉字骨架;最后使用渲染模块“stylenet”对汉字骨架进行渲染,生成目标汉字图片,从而得到完整的中文字库文件。主要包含以下步骤:
第一步,用户设计或书写指定输入集合的汉字,拍照或扫描成汉字图片,作为用户输入汉字图片;
第二步,对用户输入汉字图片进行骨架标注,并且对汉字进行笔画拆分,得到部分目标字体风格的笔画骨架;每个笔画骨架均匀采样的多个关键点及其坐标信息;
第三步,建立强化学习模块、笔画位置预测模块和渲染模块,使用骨架训练强化学习模块与笔画位置预测模块,学习标准骨架汉字到目标风格汉字骨架的变换关系;使用骨架与用户输入汉字图片训练渲染模块;
具体使用第二步得到的目标风格汉字笔画骨架与用户输入汉字图片对强化学习模块、笔画位置预测模块与渲染模块进行训练,学习由标准汉字骨架到目标风格汉字骨架的变换关系。
其中本发明提出并设计了强化学习模块与笔画位置预测模块的结构与训练方法,渲染模块直接使用文献“SCFont”(Jiang Y,Lian Z,Tang Y,et al.SCFont:Structure-Guided Chinese Font Generation via Deep Stacked Networks[C]//Proceedings ofthe AAAI Conference on Artificial Intelligence.2019,33:4015-4022.)中记载的结构与训练方法;
第四步,通过强化学习模块与TPS插值函数对GB2312字符集中用户未提供的汉字的各个笔画进行形变调整,完成从标准笔画骨架到目标风格笔画骨架的转换;
第五步,通过笔画位置预测模块对上一步得到的笔画骨架(GB2312字符集中用户未提供的汉字的目标风格笔画骨架)进行笔画位置预测和组合拼接,得到用户指定风格的汉字骨架;
第六步,通过渲染模块,将汉字骨架渲染为汉字图片;
第七步,将用户输入汉字图片和第六步生成的汉字图片组合得到完整的GB2312中文字库6763个汉字图片,并将汉字图片进行矢量化,生成用户指定风格的字库文件。
具体而言,在第一步中,根据文献(Lian Z,Zhao B,Xiao J.Automaticgeneration of large-scale handwriting fonts via style learning[M]//SIGGRAPHASIA 2016Technical Briefs.2016:1-4.)记载的方法,根据汉字使用频率和GB2312中文字库中包含汉字的笔画和部件分布,选取775个汉字作为输入集合,该集合包含了GB2312中出现的所有笔画与部件类型。
在第二步中,将用户提供的汉字图片进行骨架标注并对汉字进行笔画拆分,具体将汉字图片进行切割与缩放,使图片中的汉字位于设定正方形大小(128×128大小)图片的中心。手动或使用其他自动化工具提取汉字图片的笔画骨架信息,并对个笔画骨架均匀采样多个(如10个)关键点,记录其坐标信息。
在第三步中,强化学习模块训练数据为:标准汉字骨架、标准笔画骨架与用户输入汉字笔画骨架;笔画位置预测模块训练数据为:强化学习模块生成的笔画骨架,用户输入汉字笔画骨架;渲染模块训练数据为,拼接得到的生成汉字骨架与用户提供的汉字图片。其中,强化学习模块与笔画位置预测模块输入图片大小为128×128,渲染模块输入图片大小为320×320。
强化学习模块训练数据提取汉字标准骨架与单个笔画特征信息,并根据特征预测TPS函数参数。为消除笔画大小与位置信息对TPS插值函数影响,我们对笔画骨架进行归一化,使得笔画位于画布中心且尺寸固定。在强化学习模块训练完成后,生成775个汉字的各个笔画骨架,使用该数据与用户提供数据对笔画位置预测模块进行训练。最后使用汉字骨架和汉字图片对渲染模块进行训练。
在第三步中,由于直接使用神经网络直接生成汉字笔画骨架图片容易出现笔画断裂或笔画不光滑的情况。所以本发明中使用强化学习模块对已有标准汉字笔画骨架进行形变,进而得到用户指定风格的汉字笔画骨架。强化学习模块包括动作、状态、奖励函数和决策网络。
首先,使用已有标准汉字骨架,标准笔画骨架与用户输入提供的汉字笔画骨架对强化学习模块进行训练。
具体实施时,训练过程包含以下要素。锚点:本发明设计了25个锚点以通过TPS插值函数控制笔画骨架形变。25个锚点为5×5点阵分布,左下角坐标为(-2,-2),右上角坐标为(2,2),点间距0.5。在本模块中,汉字笔画被缩放到-0.5到0.5,因而对每一个汉字笔画,中间9个锚点控制该汉字的笔画细节,外部16个锚点控制该汉字的笔画整体形状与比例。
动作:本发明的强化学习模块中,本发明提出了将强化学习算法中动作定义为锚点在应用TPS插值函数前后相对偏移量的方法。偏移量可以被形式化描述为向量action,向量大小为25×2。为了保证TPS插值函数有可行解,向量action中元素大小为-0.49到0.49。
状态:汉字与笔画状态由强化学习环境给出,形式化描述如下:
st=(strokeskel;characterskel;step;coord) (1)
其中,st为汉字与笔画状态,作为强化学习模块的输入;四个变量strokeskel、characterskel、step、coord分别为标准笔画骨架,标准汉字骨架,归一化为0到1的步数以及尺寸与图片相同,且表示汉字图片上每一个点坐标的笛卡尔坐标系。
奖励函数:奖励函数被定义为经过TPS插值函数形变前后笔画骨架与目标骨架间L2距离,形式化定义如下:
r(st,at)=Lt-Lt+1 (2)
其中,Lt为第t步应用TPS后距离,Lt+1为第t+1步应用TPS后距离,TPS方法见第四步。
决策网络:决策网络结构为Resnet18(He K,Zhang X,Ren S,et al.Deepresidual learning for image recognition[C]//Proceedings of the IEEEconference on computer vision and pattern recognition.2016:770-778.)与单个全连接层。决策网络的输入为汉字与笔画的状态(标准汉字骨架与标准笔画骨架),输出为动作action,即TPS插值函数锚点偏移量。
决策网络接收状态state作为输入,经过若干卷积层提取特征后,使用全连接层输出动作action。并计算奖励函数reward。得到奖励函数后,使用已有强化学习更新算法对决策网络进行更新。
为消除笔画大小与位置信息对TPS插值函数影响,我们对笔画骨架进行归一化,使得笔画位于画布中心且尺寸固定。此时缺少笔画位置信息将各个笔画骨架拼接为完整汉字骨架。所以本发明设计了笔画位置预测模块输出笔画位置信息,用以拼接笔画骨架为汉字骨架。
笔画预测模块模型结构为Resnet34(He K,Zhang X,Ren S,et al.Deep residuallearning for image recognition[C]//Proceedings of the IEEE conference oncomputer vision and pattern recognition.2016:770-778.)与单个全连接层,即在包含16个残差模块共34层的残差网络后增加全连接层。笔画预测模块中,将汉字笔画骨架图片输入到残差网络中,得到特征向量后,再将向量输入到全连接层中,最后经过“sigmoid”层将输出正则化为-1到1的范围作为模块最后的输出。
如公式(3)所示,损失函数为L,通过最小化L来对笔画预测模块参数进行调整,得到最优参数值。
其中x,y,l分别为网络输出中心点坐标与边长,y,/>代表真实包围框参数。
最后直接使用文献“SCFont”中渲染模块“stylenet”并根据文献给出训练方法进行训练,以渲染汉字骨架图片为日常生活中使用的汉字图片。
在第四步中,本发明提出结合强化学习模块的输出动作action与已有方法TPS插值函数对汉字笔画骨架进行形变的方法,方法如下:
TPS插值函数:TPS函数由文献(Bookstein F L.Principal warps:Thin-platesplines and the decomposition of deformations[J].IEEE Transactions on patternanalysis and machine intelligence,1989,11(6):567-585.)提出。函数被定义为,通过弯曲一个可视为二维平面的薄板,使得特定点在弯曲后位于目标点。形式化定义如下:定义N个源点组成的向量Ps=(Ps1,Ps2,…,PsN)T,与N个目标点组成的向量Pt=(Pt1,Pt2,…,PtN)T
最小化弯曲能量函数时,插值函数有以下形式。
其中cx与cy为标量,与/>为2×1向量,/>与/>为N×1向量。x与y下标代表对应变量x与y分量。而S(Psi)被定义为:
S(Psi)=(σ(Psi-Ps1)),…,σ(Psi-PsN))T (6)
其中ΔPsij=Psi-Psj
此时已有N个约束条件,而未知变量共N+3个,所以我们添加如下三个约束条件:
求解可得:
本发明中,源点Ps为锚点anchor,目标点Pt=anchor+action。求解上述方程后,得到TPS插值函数,如公式(9)所示,带入标准笔画骨架关键点Pks可得经过形变调整后笔画骨架关键点Pkt。
Pkt=Φ(Pks)=C+ATPks+WTS(Pks) (9)
依次连接关键点并进行绘制可得形变后笔画骨架图片。
在第五步中,进行笔画位置预测时,当笔画骨架的横坐标或纵坐标相同时(如横或竖笔画),笔画骨架最小矩形包围框(使用一个矩形包围框确定笔画骨架位置,矩形边界与横轴或纵轴平行,且笔画骨架上下左右均与矩形相切)退化为一条线段,因此本发明使用最小正方形包围框(即包围框边长相等,笔画上下或左右与正方形相切即可)以确定笔画位置与尺寸。
笔画位置预测模块使用TPS插值函数形变后的笔画骨架与标准汉字骨架作为输入,经过多层卷积层、激活函数与全连接层后,输出笔画骨架正方形包围框中心点坐标与边长。根据此结果对所有笔画进行平移与线性放缩,并组合笔画骨架图片形成汉字骨架图片。
在第六步中,使用经过TPS插值函数形变后的骨架关键点,连接关键点生成320×320大小汉字骨架图片。使用文献(Jiang Y,Lian Z,Tang Y,et al.SCFont:Structure-Guided Chinese Font Generation via Deep Stacked Networks[C]//Proceedings ofthe AAAI Conference on Artificial Intelligence.2019,33:4015-4022.)记载的“stylenet”方法对笔画骨架进行渲染,生成用户指定风格汉字图片。
在第七步中,将用户书写的775个汉字与生成的5988个汉字结合,可以得到完整的GB2312的6763个汉字。然后对6763个汉字进行矢量化操作(Pan W.,Lian Z.,Tang Y.,XiaoJ..Skeleton-Guided Vectorization of Chinese Calligraphy Images.MMSP 2014,paperID 19,2014),得到具有用户手写体风格的TrueType格式的字库文件。
具体实施时,本发明还提供了基于强化学习的中文字库自动生成系统,包括:强化学习模块、笔画位置预测模块、渲染模块;其中,强化学习模块通过与TPS插值函数结合用于基于强化学习的笔画调整;笔画位置预测模块用于预测单个笔画骨架在完整汉字骨架位置;渲染模块用于渲染汉字骨架为汉字图片;
本系统中,强化学习模块、笔画位置预测模块与渲染模块为串行连接关系。各部分输入输出与连接关系如下:强化学习模块用于对已有标准汉字笔画骨架进行形变,进而得到用户指定风格的汉字笔画骨架;强化学习模块包括动作、状态、奖励函数和决策网络;输入为用户输入字形图片、骨架图片与系统中包含的标准骨架数据,输出为形变后的汉字笔画骨架。
笔画位置预测模块输出笔画位置信息,用以拼接笔画骨架为汉字骨架。其输入为经过强化学习模块形变后的汉字笔画骨架与系统中包含的标准骨架数据。其输出为笔画正方形包围框。
结合形变后汉字笔画骨架与对应的正方形包围框,渲染模块放置并组合各个汉字笔画骨架作为输入数据,经过渲染后输出用户指定风格的高质量汉字字形图片。
与现有技术相比,本发明的积极效果在于:
本发明提出了一种基于强化学习的中文字库自动生成方法,提出了对标准汉字骨架进行调整从而生成目标风格汉字骨架的新方法。与其他基于汉字骨架的方法相比,如文献(Lian Z,Zhao B,Chen X,et al.EasyFont:a style learning-based system toeasily build your large-scale handwriting fonts[J].ACM Transactions onGraphics(TOG),2018,38(1):1-18.)记载的方法“FontSL”与文献(Jiang Y,Lian Z,TangY,et al.SCFont:Structure-Guided Chinese Font Generation via Deep StackedNetworks[C]//Proceedings of the AAAI Conference on ArtificialIntelligence.2019,33:4015-4022.)记载的方法“SCFont”,本发明设计了一个两阶段的结构,实现了对标准笔画骨架的修改和笔画边界框的预测,从而确保生成更好的目标风格汉字骨架。并且,由于模型结构简单,本发明无需进行大规模的预训练处理,即可合成高质量的汉字骨架,自动生成高质量的中文字库。
附图说明
图1是本发明提供的手写体中文字库自动生成方法的流程框图。
图2是本发明提供的手写体中文字库自动生成方法的网络结构图。
图3是TPS插值函数中锚点位置与骨架图片大小示意图。
图4是本发明与其他方法生成汉字图片(FontSL,zi2zi,SCFont)结果对比图,其中最后一行为目标字体汉字图片
图5是本发明与其他基于汉字骨架方法(SCFont)生成目标字体骨架结果对比图,其中最后一行为目标字体汉字骨架图片。
图6是本发明实施例提供的五种不同风格的中文字库的文本渲染效果图;
其中,左上图中的红色汉字骨架是用户没有书写的汉字;在(a)-(e)的对应文字位置显示的是用采用本发明方法生成的汉字字形。
图7是本发明使用TPS插值函数与使用仿射变换对汉字骨架进行修改效果对比图。
图8是本发明使用笔画位置预测网络与不使用该网络汉字骨架效果对比图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于强化学习的中文字库自动生成方法,通过少量用户输入数据训练并固定各个模块参数。首先将标准笔画骨架通过TPS插值函数转换至目标风格;再利用笔画位置预测模块输出笔画位置与尺寸大小,对目标风格笔画进行拼接;最后使用渲染模块对拼接后的汉字骨架进行渲染,生成目标字形图片,从而得到完整的中文字库文件。
本发明方法的流程图和网络结构图如附图1和图2所示,具体实施时,包括如下步骤:
1)用户书写指定输入集合的775个汉字,拍照或扫描成图片,上传到系统中;
2)将图片切分为单个汉字图像,对文本图像进行方向矫正和切割,得到单个汉字图片。将汉字图片放置在以宽高的较长边为边长的正方形的中心,然后将图片缩放到128×128,保持原汉字的宽高比。对汉字图像进行骨架标注,并对每个笔画均匀提取10个关键点。
3)训练强化学习模块,笔画位置预测模块与笔画渲染模块,如附图2所示,强化学习模块输入为标准汉字骨架与需要进行形变的标准笔画骨架。笔画位置预测模块输入为标准汉字骨架与形变后笔画骨架。渲染模块输入为经过形变组合的完整汉字骨架。此外,在本发明中,输入数据时对各个关键点与骨架进行上色,强化模型对笔画与汉字之间联系的学习能力。
4)如附图2所示,发明内容中提及的强化学习模块训练方式如下:
a)输入标准汉字骨架,标准笔画骨架,归一化步数,图片笛卡尔坐标系组成的状态state,输出动作action,大小为25*2,作为TPS变换中锚点偏移量。
b)根据动作action与锚点Ps计算目标点Pt。如公式(11)所示,使用Ps与Pt计算出TPS插值函数参数。如公式(12)所示,代入标准笔画骨架关键点Pks得到形变后骨架关键点Pkt。
Pt=Ps+action
S(Psi)=(σ(Psi-Ps1),…,σ(Psi-PsN))T
Pkt=Φ(Pks)=C+ATPks+WTS(Pks) (12)
其中,下标x,y,分别指对应向量横、纵坐标分量,各参数含义为:
动作action:决策网络输出25*1大小向量,作为TPS变换中锚点偏移量。
锚点Ps:预先设计TPS锚点坐标,为25*2大小向量。
Pt:经过偏移后的锚点坐标,为25*2大小向量。
Pks:标准笔画骨架关键点,为10*2大小向量。
Pkt:形变后笔画骨架关键点,为10*2大小向量。
Wx,Wy:方程求解参数,为25*1大小向量。
Ax,Ay:方程求解参数,为2*1大小向量。
cx,cy:方程求解参数,为标量。
c)如公式(13)所示,使用Pkt,Pks与用户输入汉字笔画关键点Pg计算reward,并据此更新网络参数。
reward=||Pks-Pg||2-||Pkt-Pg||2 (13)
式中,reward为强化学习算法中定义的奖励函数;
5)如附图2所示,发明内容中提及的笔画位置预测模块训练方式如下:
a)输入标准汉字骨架,TPS插值函数形变后笔画骨架,输出包围框中心点坐标x,y与边长/。
b)如公式(14)所示,计算损失函数L,并对网络参数进行更新。
其中x,y,l分别为网络输出中心点的横、纵坐标与边长,上标分别代表真实包围框的相应参数。
6)渲染模块训练方式采用文献(Jiang Y,Lian Z,Tang Y,et al.SCFont:Structure-Guided Chinese Font Generation via Deep Stacked Networks[C]//Proceedings of the AAAI Conference on Artificial Intelligence.2019,33:4015-4022.)中的渲染方法。
7)经过训练后,固定各个网络模型参数,输入用户未提供的5988个汉字对应的标准汉字骨架,输出为具有用户指定风格的汉字图片。
8)将用户书写的755个汉字图片和生成的5988个汉字图片组合得到完整的GB2312中文字库6763个汉字图片,并将这些汉字2进行矢量化,生成带有用户书写风格的TrueType格式的字库文件。
附图4对本发明与其他三种方法结果进行了比较。其中方法“zi2zi”的结果缺少许多局部细节。FontSL保证了结构的正确性,但整体视觉效果和笔触细节仍待改进。而当目标字体与参考字体差异较大时,方法“SCFont”生成结果很差。而采用本发明方法生成了具有正确结果和更加平滑笔画的高质量汉字图片。
附图5对方法“SCfont”与采用本发明方法产生的汉字骨架中间结果进行了比较。由于本发明使用TPS插值函数来修改参考字符骨架的关键点,而非直接合成骨架图像。因此与SCFont相比,可以生成更流畅的书写轨迹。
附图6是本发明在五种不同风格的中文字库的文本渲染效果图。其中,(a)是用户书写的775个汉字生成的字库的汉字骨架文本渲染效果,(b)-(f)是用本发明的方法得到的字库的文本渲染效果。由实验结果可以看出,本发明的方法能够生成逼真的,具有用户手写体风格的字形。
以上结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。可以理解的是,所描述的实例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (10)

1.一种基于强化学习的中文字库自动生成方法,通过创建强化学习模块输出薄板样条TPS插值函数参数,并应用TPS插值函数将标准汉字骨架的每个笔画转化为目标风格;再对笔画实际位置与尺寸进行预测,将笔画骨架组合为汉字骨架;对汉字骨架进行渲染生成目标汉字图片,从而得到完整的中文字库文件;包括以下步骤:
第一步,用户设计或书写输入集合中的汉字,并制作成汉字图片,作为用户输入汉字图片;
第二步,对用户输入汉字图片进行骨架标注,并对汉字进行笔画拆分,得到部分目标风格汉字笔画骨架;每个笔画骨架均匀采样多个关键点及坐标信息;
第三步,建立强化学习模块、笔画位置预测模块和渲染模块;使用第二步得到的目标风格汉字笔画骨架与用户输入汉字图片对强化学习模块、笔画位置预测模块与渲染模块进行训练,学习由标准汉字骨架到目标风格汉字骨架的变换关系;包括:
3A)强化学习模块包括动作、状态、奖励函数和决策网络;使用强化学习模块对已有标准汉字笔画骨架进行形变,进而得到用户指定风格的汉字笔画骨架;使用已有标准汉字骨架、标准笔画骨架与用户输入汉字笔画骨架对强化学习模块进行训练;包括:
3Aa)设计多个锚点,用于通过TPS插值函数控制笔画骨架形变;
3Ab)将强化学习算法中的动作定义为锚点在应用TPS插值函数前后相对偏移量的方法;偏移量记为向量action,向量大小为25×2,向量action中的元素大小为-0.49到0.49;
3Ac)将汉字与笔画的状态表示为式(1):
st=(strokeskel;characterskel;step;coord) (1)
其中,st为汉字与笔画状态,作为强化学习模块的输入;变量strokeskel、characterskel、step、coord分别为标准笔画骨架、标准汉字骨架、归一化为0到1的步数、尺寸与图片相同且表示汉字图片上每一个点坐标的笛卡尔坐标系;
3Ad)定义奖励函数为经过TPS插值函数形变前后笔画骨架与目标骨架间L2距离,表示为式(2):
r(st,at)=Lt-Lt+1 (2)
其中,Lt为第t步应用TPS后距离,Lt+1为第t+1步应用TPS后距离;
3Ae)建立决策网络结构为Resnet18与单个全连接层;决策网络的输入为标准汉字骨架与标准笔画骨架,输出为动作action,即TPS插值函数锚点偏移量;
决策网络接收的输入经过卷积层提取特征后,使用全连接层输出动作action,并计算奖励函数reward;得到奖励函数后,使用强化学习更新算法对决策网络进行更新;
3B)建立笔画位置预测模块,通过笔画预测模块模型输出笔画位置信息并拼接笔画骨架为汉字骨架;
笔画预测模块模型的结构为Resnet34与单个全连接层,即在包含16个残差模块共34层的残差网络后增加全连接层;
笔画位置预测模块中,将汉字笔画骨架图片输入到残差网络中,得到特征向量后,再将向量输入到全连接层中,最后经过sigmoid层将输出正则化为-1到1的范围,作为模块最后的输出;
笔画预测模块模型的损失函数为L,通过最小化L来对笔画预测模块参数进行调整,得到最优参数值;损失函数表示为式(3)
其中,x,y,l分别为网络输出中心点坐标与边长,y,/>代表真实包围框参数;
第四步,通过强化学习模块与TPS插值函数对GB2312字符集中用户未提供的汉字的笔画进行形变调整,使得标准笔画骨架转换到目标风格笔画骨架;
通过强化学习模块的输出动作action与已有方法TPS插值函数对汉字笔画骨架进行形变的方法如下:
4A)定义TPS插值函数为:通过弯曲一个可视为二维平面的薄板,使得特定点在弯曲后位于目标点;即定义N个源点组成的向量Ps=(Ps1,Ps2,…,PsN)T,与N个目标点组成的向量Pt=(Pt1,Pt2,…,PtN)T
当最小化弯曲能量函数时,插值函数表示为:
其中,cx与cy为标量,与/>为2×1向量,/>与/>为N×1向量;x与y下标代表对应变量x与y分量;S(Psi)被定义为式(6):
S(Psi)=(σ(Psi-Ps1)),…,σ(Psi-PsN))T (6)
其中ΔPsij=Psi-Psj
此时已有N个约束条件,未知变量共N+3个,添加式(8)表示的约束条件:
求解得:
其中,源点Ps为锚点anchor,目标点Pt=anchor+acton;
求解得到TPS插值函数,表示为式(9),代入标准笔画骨架关键点Pks,得到经过形变调整后笔画骨架关键点Pkt;
Pkt=Φ(Pks)=C+ATPks+WTS(Pks) (9)
依次连接关键点并进行绘制可得形变后笔画骨架图片;
第五步,通过笔画位置预测模块对得到的笔画骨架进行笔画位置预测和组合拼接,得到用户指定风格的汉字骨架;包括如下过程:
当笔画骨架的横坐标或纵坐标相同时,笔画骨架最小矩形包围框退化为一条线段,使用最小正方形包围框确定笔画位置与尺寸;
笔画位置预测模块使用TPS插值函数形变后的笔画骨架与标准汉字骨架作为输入,经过多层卷积层、激活函数与全连接层后,输出笔画骨架正方形包围框中心点坐标与边长;再对所有笔画进行平移与线性放缩,并组合笔画骨架图片生成汉字骨架图片;
第六步,通过渲染模块将汉字骨架渲染为汉字图片;
第七步,将用户提供的汉字图片和生成的汉字图片组合得到完整的GB2312中文字库6763个汉字图片,并将汉字图片进行矢量化,即生成用户指定风格的字库文件。
2.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,第一步中,具体根据汉字使用频率和GB2312中文字库中包含汉字的笔画和部件分布,选取775个汉字作为输入集合;输入集合包含GB2312中出现的所有笔画与部件类型。
3.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,第二步中,将用户输入汉字图片进行骨架标注并对汉字进行笔画拆分,具体是:将汉字图片进行切割与缩放,使图片中的汉字位于设定正方形图片的中心;再提取汉字图片的笔画骨架信息,并对笔画骨架均匀采样多个关键点,记录关键点的坐标信息。
4.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,3Aa)中,具体设计25个锚点;25个锚点为5×5点阵分布,左下角坐标为(-2,-2),右上角坐标为(2,2),点间距0.5;汉字笔画被缩放到-0.5到0.5。
5.如权利要求4所述基于强化学习的中文字库自动生成方法,其特征是,对每一个汉字笔画,中间9个锚点用于控制该汉字的笔画细节;外部16个锚点用于控制该汉字的笔画整体形状与比例。
6.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,第三步中,强化学习模块训练数据为:标准汉字骨架、标准笔画骨架与用户输入汉字笔画骨架的图片;笔画位置预测模块训练数据为:强化学习模块生成的笔画骨架、用户输入汉字笔画骨架图片;渲染模块训练数据为:拼接得到的生成汉字骨架与用户输入汉字图片;强化学习模块与笔画位置预测模块输入图片大小为128×128,渲染模块输入图片大小为320×320。
7.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,第六步具体使用SCFont中的渲染方法“stylenet”对笔画骨架进行渲染,生成用户指定风格汉字图片。
8.如权利要求1所述基于强化学习的中文字库自动生成方法,其特征是,第七步中,具体将用户书写的775个汉字与生成的5988个汉字结合,得到完整的GB2312的6763个汉字。
9.如权利要求8所述基于强化学习的中文字库自动生成方法,其特征是,对6763个汉字进行矢量化操作,即得到具有用户手写体风格的TrueType格式的字库文件。
10.一种实现权利要求1~9任一项所述基于强化学习的中文字库自动生成方法的系统,其特征是,包括:强化学习模块、笔画位置预测模块、渲染模块;其中,
强化学习模块通过与TPS插值函数结合,用于对已有标准汉字笔画骨架进行形变和调整,进而得到用户指定风格的汉字笔画骨架;强化学习模块包括动作、状态、奖励函数和决策网络;
笔画位置预测模块用于预测单个笔画骨架在完整汉字骨架位置、输出笔画位置信息,并拼接笔画骨架为汉字骨架;
渲染模块用于渲染汉字骨架为汉字图片。
CN202110074336.2A 2021-01-20 2021-01-20 一种基于强化学习的中文字库自动生成方法及系统 Active CN112732943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110074336.2A CN112732943B (zh) 2021-01-20 2021-01-20 一种基于强化学习的中文字库自动生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110074336.2A CN112732943B (zh) 2021-01-20 2021-01-20 一种基于强化学习的中文字库自动生成方法及系统

Publications (2)

Publication Number Publication Date
CN112732943A CN112732943A (zh) 2021-04-30
CN112732943B true CN112732943B (zh) 2023-09-22

Family

ID=75592626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110074336.2A Active CN112732943B (zh) 2021-01-20 2021-01-20 一种基于强化学习的中文字库自动生成方法及系统

Country Status (1)

Country Link
CN (1) CN112732943B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165457A (ja) * 1991-12-18 1993-07-02 Ricoh Co Ltd 漢字フォント生成方式
CN109635883A (zh) * 2018-11-19 2019-04-16 北京大学 基于深度堆叠网络的结构信息指导的中文字库生成方法
CN110211203A (zh) * 2019-06-10 2019-09-06 大连民族大学 基于条件生成对抗网络的汉字字体的方法
WO2019232853A1 (zh) * 2018-06-04 2019-12-12 平安科技(深圳)有限公司 中文模型训练、中文图像识别方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165457A (ja) * 1991-12-18 1993-07-02 Ricoh Co Ltd 漢字フォント生成方式
WO2019232853A1 (zh) * 2018-06-04 2019-12-12 平安科技(深圳)有限公司 中文模型训练、中文图像识别方法、装置、设备及介质
CN109635883A (zh) * 2018-11-19 2019-04-16 北京大学 基于深度堆叠网络的结构信息指导的中文字库生成方法
CN110211203A (zh) * 2019-06-10 2019-09-06 大连民族大学 基于条件生成对抗网络的汉字字体的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种新的汉字笔画自动提取算法及其应用;易天旸等;第十届中国计算机图形学大会暨第十八届全国计算机辅助设计与图形学会会议;194 *

Also Published As

Publication number Publication date
CN112732943A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
Jiang et al. Scfont: Structure-guided chinese font generation via deep stacked networks
CN109635883B (zh) 基于深度堆叠网络的结构信息指导的中文字库生成方法
CN107239801B (zh) 视频属性表示学习方法及视频文字描述自动生成方法
CN111695457B (zh) 一种基于弱监督机制的人体姿态估计方法
CN112887698A (zh) 基于神经辐射场的高质量人脸语音驱动方法
US11853892B2 (en) Learning to segment via cut-and-paste
CN113255457A (zh) 基于人脸表情识别的动画角色面部表情生成方法及系统
CN113673338A (zh) 自然场景文本图像字符像素弱监督自动标注方法、系统及介质
CN111814843B (zh) 视觉问答系统中图像特征模块端到端训练方法及应用
CN111062329A (zh) 基于增广网络的无监督行人重识别方法
Gomez et al. Selective style transfer for text
CN112418235A (zh) 一种基于膨胀最近邻特征增强的点云语义分割方法
Daihong et al. Facial expression recognition based on attention mechanism
CN115908639A (zh) 基于transformer的场景图像文字修改方法、装置、电子设备及存储介质
He et al. Diff-font: Diffusion model for robust one-shot font generation
CN115457183A (zh) 序列化草图生成与重建模型训练方法、重建方法及装置
CN114581918A (zh) 一种文本识别模型训练方法及装置
CN113963232A (zh) 一种基于注意力学习的网络图数据提取方法
Chen et al. Code generation from a graphical user interface via attention-based encoder–decoder model
CN111274901B (zh) 一种基于深度门控递归单元的手势深度图像连续检测方法
CN112732943B (zh) 一种基于强化学习的中文字库自动生成方法及系统
CN110097615B (zh) 一种联合风格化和去风格化的艺术字编辑方法和系统
CN114155560B (zh) 基于空间降维的高分辨率人体姿态估计模型的轻量化方法
CN114359603A (zh) 一种多模态遥感图像领域自适应无监督匹配方法
CN113420760A (zh) 一种基于分割和形变lstm的手写体蒙古文检测和识别方法

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