一种基于书写风格建模的中文字库自动生成方法转让专利

申请号 : CN201610828454.7

文献号 : CN106384094B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 连宙辉肖建国

申请人 : 北京大学

摘要 :

本发明公布了一种基于书写风格建模的中文字库自动生成方法,通过对输入的手写体汉字图片进行笔画轨迹自动提取与错误结果筛除操作,得到训练数据,采用人工神经网络对手写体汉字笔画形状风格和笔画间架结构风格进行学习和建模,并通过统计分析得到书写笔画连接特性和笔画端部轮廓书写特征,生成与用户书写风格一致的高质量汉字字形。本发明使得只需书写少量常用汉字作为输入,无需任何人工干预,便可自动生成包含海量汉字字形的矢量中文字库,可为用户快速自动生成具备其书写风格的手写体中文字库,能够显著提高手写体中文字库的制作效率、大幅降低生产成本。

权利要求 :

1.一种中文字库自动生成方法,所述方法基于书写风格建模自动生成中文字库,包括如下步骤:

1)书写一定数量的汉字,通过拍照或扫描制成文本图片;

2)对文本图片进行自动切割,获得多张独立汉字图片;

3)自动提取每张独立汉字图片中的笔画书写轨迹,并滤除错误提取结果,得到正确的笔画轨迹;采用同样方法得到与书写汉字相对应的参考字形的笔画轨迹;

4)采用人工神经网络对步骤1)书写的汉字的整体书写风格进行建模,得到汉字的整体书写风格模型,所述整体书写风格细分为笔画形状风格和笔画间架结构风格;

5)通过分析与描述笔画的连接特性和笔画端部的轮廓特征,建立同类笔画端部轮廓;

对书写风格细节进行建模,得到书写风格细节模型;

6)基于整体书写风格模型和书写风格细节模型,将具备书写风格的汉字书写轨迹与细节特征进行重现,自动生成未书写的其他所有汉字的独立汉字字形图片;

7)将步骤2)得到的书写的独立汉字图片与步骤6)所述自动生成的独立汉字字形图片一同矢量化,并打包生成标准计算机字库文件。

2.如权利要求1所述的方法,其特征在于,步骤1)所述文本图片制作,具体是在白纸上直接书写汉字,再用智能手机拍照,不需要使用指定格式的表格模板;汉字数量为266~755个。

3.如权利要求1所述的方法,其特征在于,步骤2)具体根据文本图片的不同形式,针对性地采用不同算法对文本图片进行视角矫正、自适应二值化与图片自动切分,得到一系列用unicode编码命名的独立汉字图片。

4.如权利要求3所述的方法,其特征在于,所述不同算法包括带标注信息的模板表格图片切分算法和无标注信息图片切分算法。

5.如权利要求1所述的方法,其特征在于,步骤3)采用笔画自动提取与错误结果筛除算法自动提取独立汉字图片中的笔画书写轨迹,并滤除错误提取结果;具体包括如下步骤:

31)给定一个目标汉字图片,提取目标汉字骨架,并均匀采样得到目标汉字骨架点;

32)运用一致性点集漂移CPD算法将所述目标汉字骨架点与对应已离线拆分好笔画的参考字形的标准笔画模型骨架点进行非刚性点集注册操作,自动拆分得到目标汉字图片的所有笔画;

33)再次运用CPD算法,将所述目标汉字骨架点与所述标准笔画模型骨架点进行非刚性点集注册操作,得到笔画上关键点的精确位置;

34)通过重建误差和形状相似性,评判笔画自动提取是否正确,对错误的笔画提取结果进行判别和滤除;

35)将重建误差与形状相似性的评估值进行线性叠加,根据叠加评估值对笔画提取结果进行排序;

36)设定阈值,将错误笔画提取结果滤除,得到正确笔画提取结果,使得在对书写风格进行建模时采用的是正确的数据。

6.如权利要求5所述的方法,其特征在于,步骤34)所述重建误差具体是:采用自动提取得到的笔画轨迹结合笔画平均宽度来重建字形,通过对比重建字形与原字形的重合度估计出重建误差值的大小;所述形状相似性具体是:将自动提取得到的笔画轨迹与参考字形的标准笔画轨迹进行对比,计算二者的形状相似性;由此实现对错误的笔画提取结果进行判别和滤除。

7.如权利要求1所述的方法,其特征在于,步骤4)使用人工神经网络对用户的整体书写风格进行建模,包括如下步骤:

41)在描述笔画形状风格时,在目标字形的笔画书写轨迹和参考字形的笔画书写轨迹上都均匀提取相同给定数量的采样点,对各自笔画重心进行数值归一化,计算参考字形和目标字形间对应笔画采样点x,y坐标的差值,并以此作为人工神经网络一的输出;人工神经网络一的输入是参考字形笔画的归一化x,y坐标值;

42)在描述笔画间架结构风格时,计算目标字形和参考字形笔画相对各自字形重心的归一化笔画重心位置坐标值,并计算两者间的差值作为人工神经网络二的输出;人工神经网络二的输入是参考字形中所有笔画的归一化重心位置坐标值;

43)将步骤3)中书写汉字图片上自动提取的正确的笔画轨迹和相对应的参考字形的笔画轨迹作为训练数据,分别对人工神经网络一和人工神经网络二进行训练,得到汉字笔画形状风格模型和笔画间架结构风格模型,进而得到汉字的整体书写风格模型,由此对汉字的整体书写风格进行准确描述。

8.如权利要求1所述的方法,其特征在于,步骤5)中,描述笔画的连接特性和笔画端部的轮廓特征包括以下操作:

51)根据平均笔画宽度,将笔画分解为起点、终点和中段三个不同区域,使得起点/终点到笔画轮廓上的最大距离等于两倍的笔画平均宽度值;

52)通过从起点或终点向最近一侧的笔画轮廓均匀发射多条射线,计算起点或终点到笔画轮廓的距离,进而准确刻画起点或终点区域笔画轮廓的形状;

53)根据离线阶段的n个笔画精确分类,计算得到每一类笔画在上述起点或终点区域中笔画轮廓的平均细节书写特征;

54)计算从第i类笔画的终点到第j类笔画的起点之间有连笔的概率,构建一个n*n矩阵,用于描述每对相邻笔画的连接特性。

9.如权利要求1所述的方法,其特征在于,步骤6)所述重现具体包括如下步骤:

61)将待生成的汉字对应的参考字形训练数据输入到步骤4)中训练好的整体书写风格模型中,得到该汉字每个笔画的书写轨迹形状和笔画在整个字形中的放置位置;

62)应用步骤5)中建立起的书写风格细节模型,在每个笔画的书写轨迹上恢复笔画轮廓的形状细节信息;具体是:在笔画轨迹上的起点和终点位置,用步骤5)建立好的同类笔画端部轮廓描述信息恢复出对应端部的笔画轮廓采样点,将采样点按序连接,得到完整的笔画闭合轮廓;

63)基于两类笔画间的连笔统计概率值,以给定概率将该汉字字形中的相应笔画对的起点与终点进行平滑连接,生成高质量的连笔书写效果,用于模拟用户书写风格中的连笔特性;

64)对字形中的笔画轮廓进行填充,即得到该汉字的字形图片。

说明书 :

一种基于书写风格建模的中文字库自动生成方法

技术领域

[0001] 本发明属于人工智能、计算机图形学领域,涉及中文字库生成方法,尤其涉及一种基于书写风格建模的中文字库自动生成方法,具体通过手写汉字的笔画自动提取,采用人工神经网络来对个人的汉字整体书写风格进行建模,并通过数据驱动技术来恢复个人的书写细节。

背景技术

[0002] 计算机字库在人们的日常生活中随处可见。现如今,几乎出现在所有课本、海报、计算机、移动智能终端等上面的文字都是通过渲染字库中的字形来得以呈现的。而这些计算机字库主要都是由专业的字库制作厂商制作而成。在过去二十多年来,虽然字库产品的数量增长迅速,现有的字库资源还是难以满足日益增长的个性化需求,越来越多的人希望使用具备他们自己独特风格的手写体字库来渲染文档以及与朋友交流等。
[0003] 然而,制作一套包含大量文字的手写体字库并非易事。对于只包含少量字母的语言系统(如:英文)而言,制作字库的任务显然很容易。然而,随着字库中文字数量的增长,这项工作变得越来越难。以中文为例,国标GB18030-2000中文字库中包含了27533个简体汉字,此外,很多汉字的形状和结构都非常复杂,这进一步增加了中文字库制作的难度和工作量。众所周知,要做一款合格的字库产品,不仅要求每个字形都能准确描述该文字的含义,还要求所有字形的风格统一。据国内领先的字库制作厂商方正字库的调查报告显示,制作一款GB18030-2000商用精品中文字库需要3-5人年的工作量。因此,应用现有技术来制作一款具备自己独特书写风格的完整中文字库,对于普通人而言是一项极其困难的任务,对于专业字库制作公司而言,也是一项耗时费力成本昂贵的大工程。

发明内容

[0004] 为了克服上述现有技术的不足,本发明提供一种基于书写风格建模的中文字库自动生成方法,可以从用户书写的少量汉字字形中对该用户的整体书写风格与局部书写特征进行建模和重现,进而自动生成具备该用户书写风格的大规模手写体中文字库。
[0005] 本发明提供的技术方案是:
[0006] 一种中文字库自动生成方法,基于书写风格建模自动生成中文字库,主要包含以下步骤:
[0007] 第一步,用户在白纸或给定模板表格纸上书写一定数量(范围可以为266~755)的汉字,拍照或扫描成汉字(文本)图片;汉字数量可以为266~755个;
[0008] 第二步,对文本图片进行自动切割,获得一系列独立汉字图片;
[0009] 第三步,自动提取独立汉字图片中的笔画书写轨迹,并滤除错误提取结果;
[0010] 第四步,采用人工神经网络对用户的整体书写风格进行建模,整体书写风格可进一步细分为笔画形状风格和笔画间架结构风格;进行建模得到汉字笔画形状风格模型和笔画间架结构风格模型,进而得到汉字的整体书写风格模型;
[0011] 第五步,通过分析与描述笔画连接特性和笔画端部轮廓特征,建立同类笔画端部轮廓;对用户的书写风格细节进行建模,建立得到书写风格细节模型;
[0012] 第六步,基于前述书写风格模型,将具备用户书写风格的汉字书写轨迹与细节特征进行重现,自动生成用户未书写的其他所有汉字的独立汉字字形图片;
[0013] 第七步,将用户书写的独立汉字图片与上述自动生成的汉字图片一同矢量化,并打包生成标准计算机字库文件。
[0014] 具体而言,在第二步中,会根据输入图片的不同形式,针对性地采用不同算法(如带标注信息的模板表格图片切分算法和下述实例中介绍的无标注信息图片切分算法)对文本图片进行视角矫正、自适应二值化与图片自动切分,得到一系列用unicode编码命名的独立文字图片。
[0015] 在第三步中,采用笔画自动提取与错误结果筛除算法自动提取独立汉字图片中的笔画书写轨迹,并滤除错误提取结果;可以自动提取出每个笔画的书写轨迹及其关键点精确位置,并能够自动识别出错误的笔画轨迹提取结果再予以筛除,进而保证在书写风格学习时采用的是正确的训练数据。具体地,给定一个目标汉字图片,提取其骨架,并均匀采样得到骨架点,并运用一致性点集漂移算法(CPD--Coherent Point Drift)(Myronenko,A.,Song,X.Point set registration:Coherent point drift.IEEE Transactions on Pattern Analysis andMachine Intelligence.2010:32(12),2262–2275),将其骨架点与对应已离线拆分好笔画的参考字形的骨架点进行非刚性点集注册操作(如附图3所示),自动拆分得到目标汉字图片的所有笔画。随后,再次运用CPD算法,将目标字形的笔画骨架点与离线定义好的标准笔画模型骨架点进行非刚性点集注册操作,得到笔画上关键点(包括:起点、终点和拐点)的精确位置。由于手写体汉字形状变化多端,笔画自动提取操作难免会有失败案例,因此还需要对错误的笔画提取结果进行判别和滤除,否则会影响书写风格建模的精度。此处,从重建误差和形状相似性两个角度来评判笔画自动提取的正确与否。具体来说,在重建误差方面,采用自动提取出来的笔画轨迹结合笔画平均宽度来重建字形,对比重建字形与原字形的重合度,便可估计出重建误差值的大小;在形状相似性方面,将自动提取出来的笔画轨迹与参考字形的标准笔画轨迹进行对比,计算其形状相似性。最后,将重建误差与形状相似性的评估值进行线性叠加,根据该评估值对笔画提取结果进行排序,根据需要设定合适阈值,便可将错误笔画提取结果滤除,进而保证在对书写风格进行建模时采用的是正确的数据。本发明实施例中,设定阈值为80%,将排在最后20%的笔画提取结果作为错误的笔画提取结果。
[0016] 在第四步中,通过描述用户所书写笔画的形状风格与笔画间架结构风格(也即笔画放置位置的统计规律),便可使用人工神经网络对用户的整体书写风格进行建模。具体而言,在描述笔画形状风格时,在目标字形的笔画书写轨迹和参考字形的笔画书写轨迹上都均匀提取相同给定数量的采样点,将其对各自笔画重心进行数值归一化,计算参考字形和目标字形间对应笔画采样点x,y坐标的差值,并以此作为人工神经网络的输出,神经网络的输入则是参考字形笔画的归一化x,y坐标值;在描述笔画间架结构风格时,需要计算目标字形和参考字形笔画相对各自字形重心的归一化笔画重心位置坐标值,并计算两者间的差值作为人工神经网络的输出,同样的,其输入是参考字形中所有笔画的归一化重心位置坐标值。采用第三步中从用户输入的独立目标汉字图片上自动提取的正确的笔画轨迹与该汉字对应的参考字形的笔画轨迹作为训练数据,经过上述步骤处理后,作为输入输出的训练数据分别对两个神经网络进行训练,得到汉字笔画形状风格模型和笔画间架结构风格模型,进而得到汉字的整体书写风格模型,可对汉字的整体书写风格进行准确描述。
[0017] 在第五步中,为了描述笔画轮廓的书写风格细节,将笔画分解为起点、终点和中段三个不同区域,笔画区域的分割由其平均笔画宽度来决定,基本原则是使得起点/终点到笔画轮廓上的最大距离等于两倍的笔画平均宽度值。随后,通过从起点/终点向最近一侧的笔画轮廓均匀发射一定数量(如11条)的射线,便可计算起点/终点到笔画轮廓的距离,进而准确刻画起点/终点区域笔画轮廓的形状。由于笔画在离线阶段已进行精确分类(如339类),便可以计算每一类笔画在上述起点/终点区域中笔画轮廓的平均细节书写特征;为了描述每对相邻笔画的连接特性,需要计算一个339乘以339的矩阵,其对应元素表示从第i类笔画的终点到第j类笔画的起点之间有连笔的概率,该概率值可以通过对输入的训练数据(也即从用户书写的汉字图片中自动提取的笔画书写轨迹)进行统计分析来得到。
[0018] 在第六步中,将给定任一目标汉字对应的参考字形训练数据输入到在步骤4中已训练好的整体书写风格模型中,便可得到该汉字每个笔画的书写轨迹形状及其在整个字形中的放置位置。随后,应用步骤5中建立起的笔画书写风格细节模型,在每个笔画的书写轨迹上将其轮廓的形状细节信息予以恢复,具体而言,在笔画轨迹上的起点和终点位置,用前述步骤5建立好的同类笔画的端部轮廓描述信息恢复出对应端部的笔画轮廓采样点,将这些采样点按序连接便可得到完整的笔画闭合轮廓。为了模拟用户书写风格中的连笔特性,基于前述两类笔画间的连笔统计概率值,以给定概率将该目标汉字字形中的相应笔画对的起点与终点进行平滑连接,进而生成高质量的连笔书写效果。对字形中的笔画轮廓进行填充,便可得到该汉字的字形图片。对国标(GB2312或GB18030-2000等)中包含的所有汉字采用同样的操作来生成字形图片。
[0019] 在第七步中,采用文献(Pan W.,Lian Z.,Tang Y.,Xiao J..Skeleton-Guided Vectorization of Chinese Calligraphy Images.MMSP 2014,paperID 19,2014)中的字形轮廓矢量化技术,将用户手写的汉字图片和自动生成的汉字图片一同进行矢量化,并按照矢量字库的标准格式(如TrueType)生成合格的中文字库产品。
[0020] 与现有技术相比,本发明的有益效果是:
[0021] 本发明提出一种基于书写风格建模的中文字库自动生成方法,提出了新颖的笔画轨迹自动提取与错误结果筛除算法,以及字形整体书写风格与笔画细节书写风格建模技术。使用本发明技术方案,用户只需书写少量汉字,无需任何人工干预,便可完全自动化地生成包含海量汉字字形的矢量中文字库,自动生成字库中用户还未书写的其他所有汉字的高质量字形,且这些字形与用户书写的字形风格一致,难以辨认。本发明方法生成的字库中的字形质量高、与用户的书写风格相似性大,能够满足大规模手写体中文字库生产中的实际应用需求。本发明能够极大降低制作大规模个性化手写体中文字库的时间,可使得所有普通人期望快速制作一款具备自己独特书写风格的手写体中文字库。

附图说明

[0022] 图1是本发明所述的方法流程框图。
[0023] 图2是本方法提供方法整体处理示意图及其与现有方法处理的结果对比;
[0024] 其中,(a)为用户在白纸上书写266个汉字并拍照生成图片上传;(b)为预处理步骤,得到单个汉字图片;(c)为字库生成步骤;(d)为文本渲染结果对比示例;本例中采用现有方法生成的字库仅包含266个汉字字形;而采用本发明自动生成字库则包括27533个汉字字形。
[0025] 图3是本发明所采用的一种文本切割算法示意图;
[0026] 其中,(a)为用户提供的手写输入图片范例;(b)中实现文本候选框区域的定位;(c)中实现图片的矫正与文字图片的切割。
[0027] 图4是本发明实施例中采用的汉字笔画自动提取与关键点定位算法示意图;
[0028] 其中,(a)为输入示例;(b)中执行骨架点集注册;(c)中实现骨架对应点匹配;(d)中实现笔画提取。
[0029] 图5是本发明实施例中采用的用户笔画细节书写风格建模的示意图。
[0030] 图6是本发明实施例中三个不同用户生成的汉字字形的效果图;
[0031] 其中,(a)为标记图,背景填充为灰色的文字为本发明方法自动生成的汉字字形的效果图,其他为用户书写;(b)为采用本发明生成的用户1的字库进行文本渲染的结果范例;(c)为采用本发明生成的用户2的字库进行文本渲染的结果范例;(d)为采用本发明生成的用户3的字库进行文本渲染的结果范例。
[0032] 图7是本发明实施例中三个不同用户生成的中文字库的文本渲染效果图;
[0033] 其中,(a)为用现有技术得到的字库的文本渲染结果示例;(b)~(d)为使用本发明自动生成的字库的文本渲染结果。

具体实施方式

[0034] 下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
[0035] 本发明提供一种基于书写风格建模的中文字库自动生成方法,可以从用户书写的少量汉字字形中对该用户的整体书写风格与局部书写特征进行建模和重现,进而自动生成具备该用户书写风格的大规模手写体中文字库。
[0036] 本发明方法的总流程如附图1和图2所示。
[0037] 1)首先,对用户输入的手写数据进行预处理:
[0038] 11)根据实际需要,让用户在一张白纸上书写266(可通过计算机系统离线自动选取合适的汉字输入集)个常用汉字,使用智能手机拍照,上传到系统中。
[0039] 12)将输入的文本图片切割成266个汉字图片,如附图3所示。首先,采用高斯平滑操作去除输入文本图片中的噪声,并运用自适应二值化算法得到二值图;随后,对文本图片进行初始腐蚀操作(15次腐蚀),提取出字形轮廓,得到一系列候选框;接着,根据面积、长宽比、黑白像素比的约束条件过滤掉不正常的文字候选框;再次,检查是否有外包围框相交的文字候选框,如果有,则减少腐蚀次数,重新选取候选框,并进行候选框滤除操作,直到候选框的字数与用户手写的文字个数相同;最后,将最后一行的文字候选框的中心点拟合成一条直线,根据直线的角度计算图片旋转角度,并对整个文本图片进行校正,再将所有的文字字形图片逐一切割出来分别保存。
[0040] 13)应用前述笔画自动提取与错误结果筛除算法,如附图4所示,得到正确的笔画书写轨迹数据集,作为训练数据,此处,80%的笔画提取结果被予以保留。
[0041] 2)随后,采用上述步骤中获取的训练数据对用户的手写风格进行建模:
[0042] 21)在参考字形和手写字形的每个笔画轨迹上都均匀采样20个点;
[0043] 22)采用40*40*40的前向神经网络对笔画形状风格进行建模,采用2*5*2的前向神经网络对笔画间架结构风格进行建模。在上述神经网络中输入训练数据,执行训练过程直到收敛,便可得到用户的整体书写风格模型;
[0044] 23)通过分析与描述笔画连接特性和笔画端部轮廓特征,对用户的书写风格细节进行建模。此处,采用笔画起点/终点周边指定的11个采样方向的轮廓点坐标来描述笔画端部的细节形状特征。此外,连笔时,前一笔画终点到后一笔画起点处的书写轨迹的笔画宽度是均匀过渡的,如附图5所示。
[0045] 3)基于训练得到的用户书写风格模型生成汉字字形图片,并生成矢量字库输出:
[0046] 31)采用用户的整体书写风格模型可得到每个汉字的字形书写轨迹,在字形书写轨迹的基础上施加用户的细节书写风格模型,可以恢复出具备该用户书写风格的笔端形状细节与连笔,进而得到所有汉字的字形图片。
[0047] 32)将用户书写的汉字图片与本发明方法自动生成的汉字图片一同矢量化,并打包生成标准的计算机字库文件,此处,生成的是满足TrueType格式的ttf字体文件。
[0048] 图6是本发明为3个不同用户生成的具有各自特定风格的手写体汉字字形的效果图,图7是本发明为这些用户生成的手写体中文字库在实际文本渲染应用中的效果图。可以看到,本发明能够生成与用户书写风格一致的高质量汉字字形,采用本发明自动生成的手写体中文字库在实际文本渲染应用中也有出色的效果,能够满足实际应用需求。本发明的实现首次使得为用户自动生成包含极大规模汉字的具备其独特书写风格的手写体中文字库成为可能。
[0049] 需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。