一种女书手写字符规范字形自动生成方法
2015-04-21王江晴魏红昀孙阳光王新年
李 波,王江晴,魏红昀,孙阳光,王新年,徐 凌
(中南民族大学 计算机科学学院,湖北 武汉,430074)
一种女书手写字符规范字形自动生成方法
李 波,王江晴,魏红昀,孙阳光,王新年,徐 凌
(中南民族大学 计算机科学学院,湖北 武汉,430074)
中国女书是具有鲜明民族特色的文字,目前国内还没有公认的女书规范字库。针对手写体文字规范化字体生成过程多采用人工修正方式、效率低下的现状,该文设计了一种女书手写字符规范字自动生成方法。基于手写文字样本,提取其单像素骨架,并结合字符轮廓信息进行骨架畸变点校正;然后提取骨架特征点和笔段,根据笔段连通性和交角情况建立笔段关联矩阵;基于笔段关联矩阵由笔段恢复笔画,获取笔画路径关键点序列;最后基于三次Bezier曲线重绘字符笔画并均匀加粗,形成笔画粗细一致、平滑无毛刺、无畸变的规范字体。实验结果表明,该方法自动便捷,效果良好,效率优于人工方式,经改进后可以推广到其他手写字符的规范化过程。
女书;规范化;笔段
1 前言
中国五千年的历史,沉淀了厚重的各民族语言文化,发展形成了丰富的各民族的语言文字。汉字和部分主要少数民族现阶段已经建立了公认的规范标准字库[1],然而,还有部分少数民族虽然留下了大量的本民族的手写体文字手稿,但是该民族文字还没有形成公认的标准规范字库。
对于手写体字符规范化的方法,已经有不少研究者开展了大量研究工作,提出了很多卓有成效的规范化算法[2-4]。对于部分少数民族文字的标准化字库建立工作,也已有研究人员做出了相关研究工作[5]。
然而,对于绝大多数手写体文字而言,目前还没有形成一套对手写体文字行之有效的自动化规范处理、生成标准规范字形的方法,如汉字等文字的规范字库建立,往往通过由书法家书写样本,然后人工修字方式为主,效率较低,需要花费大量的时间。同时,已发现的少数民族文字手稿中存在较多的断笔、抖笔和不当连笔等错误笔迹问题,字符手写体中存在毛刺、粗细不均等问题,这些问题都需要寻找有效的解决方法。
关于自动生成规范字形的问题,已经有部分研究者做出了一些有益探讨。例如,基于书写规则用计算机快速生成汉字字形[6];以现有的某种特定字形为基础,通过改变汉字的部分结构特征,获得新字形[7-8];基于动态描述库的汉字字形自动生成方法[9];基于形态学的字形自动生成方法[10];在这些文献中,多数是针对字符轮廓进行处理的,如文献[11-12],这些工作从不同角度探讨了字形自动生成方法,但也不尽完善;同时,基于骨架信息进行标准字形生成的研究工作很少。
在字符规范化中,笔段提取[13-16]是一项基础工作,而笔画信息恢复[17-19]一般是提取静态结构信息特征用于字符识别的用途,在规范化中应用鲜有所见,如文献[19]提出在提取笔段后,基于TSP问题思想进行遍历,从而寻找字符的书写路径,从而恢复字符的笔画信息,但是文中未提到如何对字符骨架进行畸变校正,且算法的遍历时间可能较长。本文将笔段提取和静态笔画信息恢复用于手写字符的规范化中来,基于字符骨架,并结合字符轮廓特征,根据字符笔段关联关系,建立笔段关联矩阵,由笔段恢复笔画,寻找笔画的最优书写路径,基于Bezier曲线自动重绘笔画,从而建立标准字形。
不同语言文字的标准规范字体可能差异较大,如汉字就有多种字体,本文针对女书文字特点,拟定的规范字形要求是: 字体逻辑结构良好;笔画平滑无毛刺;笔画粗细一致。
本文提出了一种自动生成手写体字符规范字体的方法流程,相对于常规人工修字过程,效率明显提高。本文提出的规范化字体生成方法总体流程如图1 所示。
图1 女书规范化字体生成流程
2 规范化字体生成方法
2.1 字符骨架提取 本文的待处理女书字符样本是聘请国内女书传人精心书写,然后经过扫描成为待处理样本。
骨架是对相应平面区域作简化的一种等价表达形式。对于字符骨架的提取,一般需要保证3个方面的特征: 单像素、连通性、中心线。目前的字符骨架提取算法中,绝大多数的算法都存在一定的缺陷,例如,常见的是迭代细化算法,基于逐次消去边界点的思想,这些算法往往不能满足单像素、或者连通组元被破坏,另外,容易产生一些毛刺。而目前已有的骨架提取算法还有一个共性问题,即在十字交叉点处往往产生畸变。
本文基于文献[20]的思想,利用两组条件对满足条件的边界点进行标记并去除,获得初步骨架结果。但是上述算法获得的骨架结果可能造成一些骨架处不是单像素,因此,本文基于索引表思想[21]继续进行骨架的单像素化,定义一个256维数组来进行处理。这里需要分析已有骨架点处周围相邻像素的情况,对于存在非单像素骨架的区域,需要进行冗余像素的去除。
经过上述处理过程,可以获得单像素的骨架。
2.2 关键特征点提取
本文需要获取的一些关键特征点有端点、三交叉点。
从细化后的文字骨架上提取端点、三交叉点时可用交叉数提取,像素(i, j)的交叉数定义如式(1)所示。
定义1 像素(i, j)的交叉数定义
(1)
式(1)中,nk为当前点p的8个邻域像素点,nk∈{0,1},则有:
若SN≠2,则像素(i, j)为特征点;
若SN=1,则像素(i, j)为端点;
若SN=3,则像素(i, j)为三交叉点。
在单像素骨架的基础上,通过判断像素的邻域像素情况,可以判断出端点像素和三交叉点像素,从而可以确定整个字符骨架的这两类特征点。
2.3 基于轮廓凹点确定畸变处的三叉点对
一般说来,通过对细化过程的分析发现,细化算法本身无法根除对于十字交叉点处的畸变,因此只有在后续过程中作相应处理。
从图2可以发现,骨架发生畸变的位置主要在十字交叉点处,即笔画的交叉处。三叉点对的位置区域反映了手写字符十字交叉区域即可能的畸变区域。一个十字交叉点往往会畸变为两个三交叉点对。本步骤所提取的特征点有端点和三交叉点对。
图2 骨架畸变点
本文确定畸变处三交叉点对的步骤为:
a) 提取原始字符的轮廓;
b) 对轮廓求取凹点;
c) 寻找轮廓的凹点对,该凹点对所在区域可以对应字符中的交叉笔画区域。
轮廓上的特征点反映笔画的信息,要确定笔画,必须找到相交两笔画的交点,而凹点可以有效反映笔画相交信息。
本文基于文献[22]算法求取凹点并确定凹点对。相交笔画所形成的轮廓必定是凹多边形,而两个笔画的交点必定出现在凹点处,如图3所示。
图3 相交笔画凹点示意图
一般轮廓凹点对区域对应骨架的三叉点对区域,因此可将轮廓中的凹点对区域和骨架图像结合起来, 确定骨架中的三叉点对(图4)。一般笔画交
图4 基于轮廓凹点对判断骨架三叉点对
叉处畸变点成对出现,可以取畸变点的中点作为代替点。
2.4 手写字符笔段关联关系判别
2.4.1 笔段的连接关系
根据文献[23]所述,本文先引入以下定义。
定义2 无向图中,两个节点之间存在多于一条的边,称为平行边。
定义3 设图P,其中P(G)={v1,v2,…,vm},则称矩阵A(G)=(aij)。
定义4 笔段是在字符中从一个特征点开始,按八连通原理逐点搜索到另一个特征点得到的点序列。笔画是由一个或几个笔段构成。笔段中相邻两点之间的微小子段称为笔段元。
图5 骨架笔段
如图5所示,手写字符中2个相邻特征点间的曲线即为笔段。如果笔段的起点和终点都是端点,那么它就是一个单独的笔画。这里,特征点包括端点和交叉点。对于交叉笔画处畸变点成对,取畸变点对的中点作为代替点,如图5中(b)图,取B′代替B和C,取M′代替M和N。(c)图中L、M特征点有两条平行边,分别标为1、2以示区别。
建立字符的无向图结构,确立笔段间的连接关系。图6表示了图5中(b)各连通分量的关联关系。
图6 笔段关联无向完全图
2.4.2 笔段的夹角关系
字符的笔段连接关系判断出来后,还需要判断笔段的方向,一般而言,笔段的方向情形比较复杂,有直笔段、弯曲笔段等。手写女书笔段基本分类如表1所示。
表1 手写女书笔段分类
设笔段相邻两点x坐标和y坐标的增量为Δx和Δy,其组成的线段(本文称为笔段元,如图7所示)
与x轴的夹角为θ,线段的长度为l,则有式(2)和式(3)。
(2)
(3)
根据θ的值可以判断该笔段元线段的走笔方向,然后根据笔段元合并算法合并生成笔段。
图7 笔段组成示意图
一般而言,有以下几种笔段处理情形:
(1) 畸变点校正后的新笔段: 采用畸变三叉点对的代替点和原笔段端点连线的斜率,如图8(a)所示。
(a) 畸变点笔段;(b)笔段方向计算;(c) 笔段为半圆等情形图8 几种笔段处理情形
(2) 一般情形: 采用笔段元的方向角对一定阈值误差内进行统计; 本文提出笔段合并中的“误差容忍最大合并原则”,即小的笔段在方向误差允许范围内,尽可能和邻近笔段合并为较大笔段。
首先进行相同或相近方向的笔段元的合并,即把相邻的具有相同或相近方向的线段合并成较长的组合线段;对于相邻笔段元,设合并方向角阈值为,按照式(4)进行统计计算。
(4)
其中,diff=|β(i+1)-β(i)|,β(i)为笔段中第i个笔段元的方向角。
上式对笔段中方向角变化较大的笔段元起到了过滤效果,对于字符在细化中可能产生的畸变起到一定校正作用,如图8(b)中BC段,该段斜率变大了,实际上是受细化算法的影响所致。
(3) 撇捺、半圆等特殊笔段: 以方向变化较大点(不妨称为方向突变点)为界,将笔段分为若干亚笔段,保存亚笔段的方向,如图7所示。
为后续计算笔段间角度考虑,如果遇到方向突变点(设置一个合适阈值),则需要保存当前亚笔段方向,继续计算和合并方向突变点后的亚笔段的方向,如图8(c)所示。
根据笔段元合并后情况,最终获得笔段方向。
设两笔段的方向(以斜率表示)分别是k1和k2,则笔段夹角可以基于直线夹角计算公式求得。
若两笔段垂直,即k1k2=-1,此时夹角为90°;若两笔段不垂直,设两笔段夹角为a,则根据式(5)可计算笔段夹角。
(5)
记下校正后点线的连线关系和角度,遍历骨架,求出端点和交叉点,记录笔段信息,在前节笔段关联关系基础上,完善笔段关联矩阵,如图9所示。
图9 连通分量3的笔段关联矩阵示意
2.5 手写字符笔画信息恢复
通过笔段关联矩阵记录了笔段连通关系和角度,然后恢复笔段为笔画,并获取笔画的路径关键点序列。对于字符骨架中的每个连通域部分,根据骨架连通性进行遍历,遍历中首先选择一个尚无遍历的端点开始。
根据一般经验,在实际书写过程中,书写者的笔画一般遵循笔画曲率最小的原则。因此,本文在由笔段恢复笔画时,在笔段交叉点处,优先选择笔段夹角最小的笔段合并。根据笔段关联矩阵确定待合并笔段,算法如下:
(1) 对字符的一个连通域组件,按一定顺序选取初始笔段;
(2) 根据笔段关联矩阵,寻找当前笔段直接相连接的笔段;
(3) 在交叉点处选择连接笔段中夹角最小的笔段,作为待合并笔段;
(4) 合并笔段,判断合并笔段后,笔画末端是否为端点,如果为端点则笔画合并结束,转(6);否则转(2);
(5) 上一笔画合并完成后,判断是否所有笔段均已参与合并,是则转(6);否则转(2);
(6) 对于每一笔画,选择并确定该笔画路径关键点序列。
部分笔段合并如图10所示(其中,k为斜率,s为起点,e为终点)。
图10 部分笔段合并示意图
下面讨论笔画路径关键点序列确定问题。
基于确定的笔画路径方向,每一笔画中选择四点,其中包括两个笔画端点;如果有三交叉点对,取其中点代替;如果候选点不足四个,则在笔画路径中按一定间距取一个骨架点作为候选点,以上候选点作为自动连线点。当在笔画关键点序列中,候选点多于四个时,优先保留端点、畸变校正点、方向变化点。需要说明的是,由于Bezier曲线的特点,在笔画出现转折部分时,宜以转折点为界,分亚笔段来分别保存两个笔画路径关键点序列,即以亚笔段为单位来绘制。
连线的方向需要自动判断,本文针对手写字符的实际情况,首先按照连通域进行划分,对于连通域部分,根据一般书写习惯,按照从左到右、从上到下的书写顺序,选择左上的端点,根据像素点连通性,在交叉点处根据笔段交角最小原则确定笔画方向。
2.6 基于笔画路径关键点序列的Bezier曲线拟合
对笔画路径关键点序列采用三次Bezier曲线来自动连线绘制。对于骨架笔画,每一笔画中选择四个关键点,对这四点采用三次Bezier曲线来连线。
Bezier曲线由多项式混合函数推导出来,通常n+1个顶点定义一个n次多项式,其数学表达式为式(6)。
(6)
其中Pi为已知的第i个点,很明显当t从0到1变化时,会得到一系列的点,而且得到的每一个点与所有给定的点都相关。从式(6)可知,当t=0和t=1时,会通过两个点,即P0和Pn,这就是两相邻特征点。
在具体的计算中,最终得到的是贝塞尔曲线上的一系列点的xy坐标,所以式(6)变换成xy坐标的形式为式(7)。
(7)
本文对每一笔画采用四个点,即采用三次贝塞尔曲线来模拟绘制字符笔画。在笔画转折点处,如半圆,必须以亚笔段为单位来绘制。
2.7 笔画均匀加粗
Beizier曲线绘制完成后,可以生成比较光滑的、无毛刺的字符笔画,但是还是单像素的字符,还需要对笔画进行一定的加粗。
对笔画的加粗,可以考虑形态学膨胀方法,但需要确定结构元素,并且,结构元素如果设计的不好,可能还会产生毛刺,使得笔画外轮廓变得不平滑。在上一步骤中,基于贝塞尔曲线获得的笔画是平滑而无毛刺的,因此,本文基于文献[24]的思想,作适当改进: 先求取单像素笔画的外轮廓,再选择合适的线条宽度将外轮廓绘制出来。
将加粗的字符按照一定比例进行归一化。由此,即获得了规范化的字体。
3 实验与讨论
实验基于课题组收集的国内女书传人书写的80张手写体样本,实验平台采用VC++6.0和OpenCV1.0。部分实验结果示例如图11所示。
在图11中,(c)为字符骨架的特征点, (d)为笔画路径关键点选取后,基于Bezier曲线来自动绘制。(d)图的是在骨架底图上绘制的,也便于对比,每一笔画关键点由两个端点(图中的粗红点和粗蓝点)和中间两个细红点组成。Bezier曲线重绘采用黄色曲线表示。可以看出,重绘的笔画与原骨架线并未完全重合,一方面,骨架往往受细化算法影响,和原字符形态相比有些畸变;另一方面,骨架往往不是平滑的曲线段,因此,Bezier曲线重绘在一定意义上对骨架起到了校正作用。当然,Bezier曲线重绘由于是若干点来拟合原曲线,因而会存在一定误差。该误差可以通过对拟合点的优化、选取、控制来减小。
本文算法生成的字符样本具有以下特点,如图11(g)所示,字符的基本框架结构与书法家手写的字符保持一致;基本消除了通常情况下因细化算法造成的形态畸变;字符笔画轮廓平滑无毛刺;字符笔画粗细均匀一致。
图11 女书字符规范化字体生成结果
图11(续)
在80张手写样本中,生成的规范字体正确的样本有61张,还有13张样本生成的规范字体基本正确,有六张样本存在一些问题。对于存在部分问题的生成字形样本,后续可以通过人工进行少量的字形修改完善。字体失真的原因在于如前述分析,Beizer重绘的笔画与原骨架线并未完全重合,骨架往往受细化算法影响,存在一定程度畸变,有些畸变很难完全校正。经过分析,实验的结果还有以下问题需要完善和改进: (1)轮廓凹点对和三叉点对的问题: 对于不太规整、接近行草风格的字符,凹点判断可能不准确;(2)少数字符在骨架提取过程中,由于骨架提取算法的问题,因而可能会产生不正确的笔段,如多余笔段、毛刺等,如图12所示。这些会影响笔段的后续处理;(3)Bezier曲线绘制中,对于笔画
图12 骨架提取后的部分问题(图中红框中为书写的多余笔画产生的骨架)
路径关键点序列,还可以进行优化选择,绘制过程中可以对Bezier曲线进行控制,改变笔画形态,产生其它字符变体。这些问题有待于今后进一步改进完善。
本文的方法可以对大量样本进行初步处理,生成初始的标准字形库,然后对少量问题字形样本进行人工处理,可以大大减少以往单纯人工修字生成标准字库的工作量。
4 结论
本文提出了一种女书手写体字符的规范化字体自动生成方法,可以有效解决传统字体规范化过程中的修字效率低下的问题,且生成的字体保持良好结构、笔画轮廓光滑、粗细均匀一致。该方法也可以扩展应用到其他手写体文字的规范化过程中。
[1] 吐尔根·依布拉音,袁保社.新疆少数民族语言文字信息处理研究与应用[J],中文信息学报, 2011,25(6):149-156.
[2] 王庆,赵荣椿,冯大淦.手写体汉字的规范化处理及评价[J].数据采集与处理,2001,16(2):227-232.
[3] TORU Wakahara. Adaptive Normalization of Handwritten Characters Using GAT Correlation and Mixture Models[C]//Proceedings of the 17th IEEE International Conference on Pattern Recognition(ICPR’04),2004.
[4] LIU C L, Nakashimz K, Sako H et al. Handwritten digit recognition: investigation of normalization and feature extraction techniques[J]. Pattern Recogn., 2004, 37(2):265-279.
[5] 柳洪轶,王维兰,联机手写藏文识别中字丁规范化处理[J],计算机应用研究,2006,9:179-181.
[6] 潘志庚,马小虎,石教英.动态汉字库自动生成算法[J].自动化学报,1996,22(5): 561-567.
[7] 岳华,蔡士杰,顾进等.汉字黑体字形衍生系统的设计与实现[J].中文信息学报,1994,8(3):14-23.
[8] 潘志庚,马小虎,张明敏.基于Fourier级数描述器的多种汉字字形自动生成系统[J].软件学报,1996,7(6):332-338.
[9] 吴琴霞,栗青生,基于动态描述库的汉字字形自动生成技术研究,科学技术与工程[J], 2013,15:4426-4432.
[10] 刘文予,万菲,朱光喜.基于形态学的新的汉字字形自动生成方法[J].计算机学报,1999,22(3): 235-240.
[11] 武港山,叶晓璐,蔡士杰等.等线体和圆头体曲线轮廓字形的自动生成系统[J].中文信息学报,1994,8(4):1-8.
[12] 马小虎,杨亦鸣,黄文帆等.甲骨文轮廓字形生成技术研究与通用甲骨文字库的建设[J].语言文字应用,2004,8(3):105-111.
[13] 刘峡壁,贾云得.汉字笔段形成规律及其提取方法[J].计算机学报,2004,27(3):389-395.
[14] 林民,宋柔.一种笔段网格汉字字形描述方法[J],计算机研究与发展. 2010, 47(2):318-327.
[15] 林民,宋柔.汉字的笔段网格字形描述及字形比对算法[J],计算机辅助设计与图形学学报,2009,21(9):1299-1307.
[16] ZHANG Xiwen, SONG Jiqiang, DAI Guozhong, et al. Extraction of line segments and circular arcs from freehand strokes based on segmental homogeneity features[J]. IEEE Transactions on Systems, Man, and Cybernetics, 2006,36(2):300-311.
[17] YU Qiao, MIHIHIKO Nishiara, MAKOTO Yasuhara. A Framework Toward Restoration of Writing Order from Single-Stroked Handwriting Image[J], IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006,28(11):1724-1737.
[18] Takayuki Nagoya,Hiroyuki Fujioka. Recovering Dynamic Stroke Information of Multi-Stroke Handwritten Characters with Complex Patterns[C]//Proceedings of the 2012 International Conference on Frontiers in Handwriting Recognition. 2012: 724-729.
[19] Tan Jun, Lai Jianhuang. A Novel Approach for Stroke Extraction of Off-line Chinese handwritten characters based on Optimum paths[C]//Proceedings of the 2012 International Conference on Frontiers in Handwriting Recognition, 2012:786-790.
[20] Zhang T Y, Suen C Y. A fast parallel algorithm for thinning digital patterns[J]. Communications of the ACM, 1984,27:236-239.
[21] 杨威,郭科,魏义坤.一种有效的基于八邻域查表的指纹图像细化算法[J],四川理工学院学报(自然科学版),2008,21(2):61-63.
[22] 程立,王江晴,李波,等.基于轮廓的汉字笔画分离算法[J],计算机科学, 2013,40(7):307-311.
[23] 梁应仙,姜岚.图的矩阵表示方法的双向推广[J],沈阳大学学报,2001,13(2):88-91.
[24] Satoshi Suzuk, Keiichi Abe. Topological Structural Analysis of Digitzed Binary Images by Border Following[J],Computer Vision, Graphics,And Image Processing N, 1985:32-46.
Automatic Font Normalization for Handwritten Women’s Script
LI Bo, WANG Jiangqing, Wei Hongyun, SUN Yangguang, WANG Xinnian, XU Ling
(Computer Science College, Central-South University for Nationalities, Wuhan, Hubei 430074, China)
The Women’s Script is a unique written language found in China, which has no generally accepted normalized font yet. To deal with the low efficiency of traditional manual font normalization, this paper proposes a new automatic font normalization method for handwritten Women's Script. Firstly, the feature points and stroke segments of a handwritten character are extracted to establish the correlation matrix about connectivity and angle between the segments. Secondly, the strokes are restored by stroke segment correlation matrix, and the writing order of stroke is analyzed. Finally, the new normalized font is constructed by Bezier curve fitting based on the key points sequence in stroke path. Experimental results show that thismethod can improve efficiency to a great extent compared with the manual methods, generating fonts of smooth contours, undistorted strokes and with uniform thickness. Furthermore, this method can be applied in normalization for other kinds of handwritten scripts.
Women’s Script; normalization; stroke segments
李波(1975—),博士,副教授,主要研究领域为数字图像处理与模式识别。E⁃mail:libo_hust@126.com王江晴(1964—),博士,教授,主要研究领域为智能算法、图像处理与模式识别。E⁃mail:wjqing2000@aliyun.com魏红昀(1976—),硕士,讲师,主要研究领域为自动检测、模式识别、离散事件动态系统。E⁃mail:hywei2005@163.com
1003-0077(2015)02-0142-08
2014-03-24 定稿日期: 2014-06-05
湖北省自然科学基金(2012FFC13401,2012FFB07404,2011CDB420)
TP391
A