基于分形几何的甲骨文字形识别方法

2018-11-16 08:00顾绍通
中文信息学报 2018年10期
关键词:维数分形象限

顾绍通

(江苏师范大学 语言科学与艺术学院,江苏 徐州 221009)

0 引言

甲骨文是书写在龟甲和兽骨上的文字,是我国迄今发现的最早的一种成熟文字系统。

甲骨文字形的输入可以采用编码输入或者识别输入的方法。目前对甲骨文字形采用编码输入的方案已有多种,如基于甲骨文字形动态描述库的输入方法[1]、可视化甲骨文输入法[2]、基于拓扑结构的输入方法[3]、甲骨文自由笔画输入法[4]和象形码输入方法[5]。以上方案或多或少需要记住某些规则,这对它的推广使用是不利的。以上方案从字形某一方面的特点出发进行编码,在一定程度上解决了甲骨文字形的输入问题,但也存在不足之处。出土甲骨拓片上的甲骨文字形中,大部分字形无法正确辨识其读音和意义,使得甲骨文编码输入方法存在规则繁琐、重码多和效率低的局限。要让一般用户掌握其复杂的规则并不现实,只有少数从事甲骨文研究方面的专家学者才能掌握复杂的编码规则,这使得编码输入方法的实用性受到限制。随着信息技术的发展,甲骨文的识别输入受到越来越多的重视。目前,已出现多种甲骨文字形识别方案,如顾绍通提出的基于拓扑配准的识别方法[6];周新伦等[7]提出利用图论和笔划特点来识别甲骨文字形的方法;李锋等[8]提出利用图特征的原理来识别甲骨文字形的方法,并且取得了不错的效果;栗青生等[9]提出利用图同构的方法来识别甲骨文字形,这种方法对于那些甲骨文中不同构但仍为同一字形的异写字的识别没有进行处理,且虽然同构但是却不是同一个字形的情况大量存在,这种算法的鲁棒性很低,因而实用性受到限制。

本文将首先分析甲骨文字形的分形性质,通过计算字形的分形维数并与通用甲骨文字库中字形的特征库进行匹配,实现甲骨文字形的识别。文章其余部分的组织结构如下: 第一节介绍了分形几何的一般理论;第二节分析了甲骨文字形的分形性质;第三节是基于分形几何的识别算法;第四节是实验结果和分析;第五节对全文进行总结。

1 分形几何理论

普通几何学研究的对象,一般都具有整数的维数。比如,零维的点、一维的线、二维的面、三维的立体、乃至四维的时空。分形几何研究的是客观事物具有自相似的层次结构,局部与整体在形态、功能、信息、时间、空间等方面具有统计意义上的相似性,成为自相似性。分形是关于自相似性的一般概念,由Mandelbrot[10]提出,用于描述具有相似结构的几何形状。分形理论认为维数也可以是分数,数学家从测度的角度引入了维数概念,将维数从整数扩大到分数,从而突破了一般拓扑集维数为整数的界限。

严格的分形维数的定义如下: 如果一个集X的Hausdorff维数h(X)不是整数,则称集全X是分形集。直观地说,当X⊂Rm,令n(ɛ)为覆盖X所需要的直径为ɛ的m维球的数量,如果当ɛ→0时n(ɛ)的增加与ɛ之间关系满足,如式(1)所示。

n(ε)ε-D, 当ɛ→0,

(1)

(2)

其中,inf是指用直径小于ɛ>0的集合si组成对X的所有的有限覆盖。md(X)可以为无,也可以为有限,其值取决于d的选取。F. Hausdorff曾经证明存在唯一的非负实数d*(X),其满足如下性质: 若0≤d≤d*(X),则md(X)=∞,这说明测量的尺度太细小;若d8

h(X)=sup{d∈R+:md(X)=}

(3)

Hausdorff维数的基本思想是,对于任何一个有确定维数的几何体,如果用与它相同维数的“尺”去量度,则可得到一确定的数值N;如果用低于它维数的“尺”去量它,结果为无穷大;如果用高于它维数的“尺”去量它,结果为零。其数字表达式为N(r)~r-DH,对其两边取自然对数,再进行简单运算后,可得式(4)。

DH=lnN(r)/ln(1/r)

(4)

式中DH就称为Hausdorff维数。它可以是整数,也可以是分数。

一般来说,如果要严格地计算Hausdorff维数是很困难的。自然界存在大量统计意义下的自相似体,通常并不知道其分形维数。为了解决这类自相似体的维数计算,产生了多种计算相似维数的方法,如结构函数法、自仿射法以及盒子覆盖法,这些计算方法性能各异。在实际应用中,盒子覆盖法因计算简单、性能较好、快速准确,应用比较广泛。

设F是Rn的非空有界子集,Nr(F)是覆盖F的长度至多为r的集合的个数。F的上、下盒计数维数分别定义为式(5)~式(7)。

则称其公共值F的盒计数维或盒子维数

(7)

由于盒子维数的计算简便,在实际中应用广泛。例如为了得到平面集合F的盒维数,可以画出每个小格长为r的正方形或盒网,对各个充分小的r计数覆盖F的个数Nr(F),维数是当r→0时Nr(F)递增的对数比率,可以用lnNr(F)与-lnr图像的斜率来估计其值。

2 甲骨文字形的分形性质

分形的基本特点是自相似性。所有的分形都具有一个重要的特征: 可以通过一个特征数,即分形维数来测定其不平度、复杂性或卷积度。由于书写材料的质地坚硬、甲骨文创制人员的复杂,使得甲骨文字形的形态变化多样。具体表现在不同的人对一个甲骨文字形有多种不同的刻写方法,不同的契刻方法造就了不同的甲骨文形体,不同字形之间形体差别很大。体现在分形特点上,每个字形的分形特性也不一样。具体表现是每个字形由于刻画形状不一样,分形维数也会存在细微差别。不仅不同字形之间在分形特性上存在差异,就每一个具体字形来讲,同一个字形由于每一部分笔画形状不一样,每一部分字形的笔画在分形特征上也存在差异。具体来说,如果将一个字形的重心为原点,建立平面直角坐标系,则字形在平面上可以划分为如下四个象限: 第一象限、第二象限、第三象限和第四象限,如图1和图2所示。

图1 甲骨文字形“”及细化处理后的四个象限

图2 甲骨文字形“”及细化处理后的四个象限

表1 甲骨文字形分形维数

从以上分析可见,甲骨文字形可由字形的分形维数以及第一、二、三、四象限的分形维数,即(d,d1,d2,d3,d4)描述。显而易见,仅仅利用四个象限分形维数的有限组合,如1和4象限(d1,d4)或2和3象限(d2,d3),或1和2象限(d1,d2)或3和4象限(d3,d4),在识别字形的有效性上并不如(d,d1,d2,d3,d4)五元组向量识别甲骨文字形。实验数据如表2所示。

表2 分形维数组合识别有效性对比

甲骨文字形每个象限的分形维数在甲骨文字库中的分布如图3所示。

图3 分形维数分布

3 基于分形几何的识别算法

从以上对甲骨文字形分形特点的描述可以看出,甲骨文字形可以利用其本身的分形维数来描述。分形配准是将不同图形的分形描述特征进行匹配的过程。分形配准可以定义如下:

给定两幅待配准的图形的分形描述如下F1(x,y)和F2(x,y),称其中之一F1(x,y)为基准分形,另一个F2(x,y)为待配准分形,则称分形配准为两分形关系的映射变换,如式(8)所示。

F1(x,y)=g[F2(x,y)]

(8)

在这里,g为一个二维坐标变换。

分形配准的一般步聚是: 首先对两幅图像进行分形维数计算得到分形描述;通过进行相似性度量找到匹配的分形描述。

分形特征提取是分形配准的重要环节。准确的分形特征提取为特征匹配的成功进行提供了保障。因此,寻求具有良好不变性和准确性的特征提取方法,对于匹配精度至关重要。如果能够精确描述两幅不同字形图像的分形特征,就可以实现字形在分形关系上的配准。

综上所述,甲骨文字分形配准算法如下:

Step1对输入字形图像进行细化处理,得到细化后的字形图像;

Step2通过计算甲骨文字形的分形维数,得到字形的分形描述;

Step3计算待识字形分形描述码与甲骨文字形分形特征库中分形码(d)的距离;

Step4大于给定阈值的两个分形描述码的字形被识别为分形不等价,否则被识别为分形等价。如果两个分形码等价,并且识别结果出现重码,则执行Step5;

Step5计算待识字形分形描述码与甲骨文字形分形特征库中分形码(d1,d4)、(d2,d3)、(d1,d2)、(d3,d4)的距离;

Step6大于给定阈值的两个分形描述码的字形被识别为分形不等价,否则被识别为分形等价。如果两个分形码等价,且识别结果出现重码,则执行Step7;

Step7计算待识字形分形描述码与甲骨文字形分形特征库中分形码(d1,d2,d3,d4)的距离;

Step8大于给定阈值的两个分形描述码的字形被识别为分形不等价,否则被识别为分形等价。

甲骨文字形配准识别系统识别甲骨文字形的流程如图4所示。

在判定两个分形描述码是否等价的过程中,两个字形的分形描述码之间距离阈值的选取对于识别结果有着直接的影响。那么,阈值如何确定呢?一般来说,如果两个甲骨文字形的分形描述码等价,即属于同一甲骨文字形,那么这两个分形描述码之间的距离要小于不同甲骨文字的分形描述码的距离。甲骨文中,同一甲骨文字的异写字形有很多,这些异写字形之间的分形描述码距离要小于其与另一甲骨文字分形描述码的距离。因此,确定阈值的一个合理的解决办法是,对每一个甲骨文字,计算此甲骨文字异写字形之间分形描述码的距离,在所有的甲骨文字中,找出两个异写字形的最大的分形描述码的距离,此距离作为阈值。

用数学语言描述如下: 令T表示阈值,如式(9)所示。

T=max{maxC1,maxC2,…,maxCn}

(9)

其中maxCn表示甲骨文字Cn的异写字形之间的分形描述码距离的最大值。

图4 甲骨文字形分形配准识别流程图

4 实验结果与分析

我们在Windows环境下主频3.30GHz的双处理器计算机上,利用Visual C++ 2010和OpenCV 3.0实现了以上算法,设计并实现了基于分形几何的甲骨文字形自动识别系统。系统的字库平台是Windows环境下自主开发的通用甲骨文字库,字库中的甲骨文字形采用基于二次Bezier曲线的轮廓描述技术。系统识别的步骤如下: 对输入的图形进行细化处理后,由识别系统计算字形的分形维数,对字形进行分形描述,得到字形的分形描述码。通过计算待配准字形的分形描述码与分形特征库中分形描述码的距离,实现甲骨文字形的配准识别。识别的结果在计算机屏幕上用曲线轮廓将甲骨文字形及对应的汉字显示出来。实验显示,本文提出基于分形几何的甲骨文字形识别算法,既可以识别目前已识读的甲骨文字形,也能识别目前尚无法识读的甲骨文字形,实验数据如表3所示。

表3 实验数据表

5 结论

甲骨文作为我国最古老的成熟文字系统,在科学研究、文化传承方面具有极其重要的价值。作为最古老的文字系统,甲骨文只为少数专家学者所认识,对于普通大众来说甲骨文字形难写难记,一般用户对传统的甲骨文字形编码输入方法很难掌握,使得编码输入方法的实用性受到很大限制。甲骨文字形作为一种平面图形,由于书写形体不同,在一定程度上具有分形性质。本文利用分形几何的原理,把甲骨文字形视为分形图形,通过计算字形的分形维数以及平面图形上四个象限内部分的分形维数,利用一组分形描述码将甲骨文字形表示出来,实现甲骨文字形描述的形式化。再通过将甲骨文字形的分形描述码与分形特征库进行配准,从而识别甲骨文字形。利用本文提出的算法设计了甲骨文字形识别系统,实验结果显示,文章提出的算法是有效的。

猜你喜欢
维数分形象限
修正的中间测度和维数
勘 误
β-变换中一致丢番图逼近问题的维数理论
复数知识核心考点综合演练
感受分形
常数牵手象限畅游中考
分形之美
分形——2018芳草地艺术节
分形空间上广义凸函数的新Simpson型不等式及应用
平面直角坐标系典例分析