计算机工程
Computer Engineering
1999年　第25卷　第9期　Vol.25 No.9  1999



退化字符图象的骨架法形态分析识别方法
卢　达　浦　炜　谢铭培
　　摘　要：基于模糊集合的退化字符图象有骨架法结构形态分析识别方法，可直接应用于退化字符的模糊图象或灰度图象，因此对噪声不敏感，而对笔划缺损字符可正确地提取整个骨架；处理连体字符时能根据骨架的形态结构特征较容易地确定切分位置，经修剪算法对各切分点的处理，被分离的字符骨架可直接通过分类器而不必再作进一步处理．
　　关键词：退化字符图象　模糊集合　骨架　分离算法　字符识别
Topographic Approach Recognizer for Skeletonization of Regraded Character Images Based on Fuzzy Set
Lu Da Pu Wei
(Changshu College, Changshu 215500)
Xie Mingpei
(Department of Computer Science, Fudan University, Shanghai 200433)
　　Abstract　A topographic approach recognizer is proposed for skeletonization of regraded character images based on fuzzy set. The method works directly on fuzzy or gray-scale images of regradedcharacted, so that it is less sensitive to noise. It can correctly extract the whole skeleton although a character is brocken into pieces. For some characters merged togther, the breaking positions can be easily located by topographic approaching for skeletons. A splitting algorithm is then applied on each breaking position. The separated skeletons can be directly passed through a classifier wirthout and further process.
　　Key words　Degraded character images, Fuzzy set, Skeleton, Splitting algorithm, Character recognition.
　　退化字符的提取和识别是光学字符识别(OCR)和工程图字符自动识别处理中的一个重要方面。近年来，人们基于二值图象的细化，提出了垂直投影截面法[1]、骨架特征法[2]、轮廓线特征法[3]、分断代价法[4]等多种识别方法，这些方法对某些规范或特定的退化字符能取得较好的识别效果，但这些方法主要将重点放在退化字符的识别上，没有充分考虑字符图象退化的原因及识别之前对退化字符图象作有效的图象复原处理，另外，如果将这些方法应用于灰度图象或模糊图象，必须用灰度取阈法获得二值图象或通过α分割，其结果都将引起隶属程度的下降而最终影响退化字符的识别率。
1　模糊图象的变换
　　作为退化字符提取和识别处理的模糊文本图象变换不仅是对退化字符图象函数寻找一个合适的变换核的数学问题，而且还可分析退化字符图象退化的具体原因，在此基础上着手用数学方法作"去退化"处理以改变退化字符图象函数的某些特征，还字符图象的真实面目。
　　设f(x,y)为一模糊图象的隶属函数，本文中由如下点扩散函数用于变换：
h(x,y)=C(x)C(y)
(1)
而
　　　　　　　　　　　　　　　　　　　　(2)
f(x,y)的变换可用g(x,y)表示：
　　　　　　　　　　　　　　　　　　　　　(3)
　　而
　　　　　　　　　　　　　　　　　　　　　(4)
这里μ为一常数；，将公式(1)、(2)和(4)代入(3)，可得：
　　　　　　　　　　　　　　　　　　(5)
　　若和；
　　否则，g(x,y)=0
　　这里：
　　

图1　象素的坐标
　　二值图象中的一个象素可看作是具有"1"值或"0"值的栅格。若选取-3为一正整数，如图1所示，将一象素栅格的左上角作为坐标原点，则(ｉ，ｊ)的坐标为(ｘ，ｙ)，这里；则f(x,y)和h(x,y)的卷积计算如下：
　　　　　　　　　　　(6)
　　其中μi+m，,j+n表示象素(i+m,j+n)的隶属值，而

　　同样地，gij(x,y)的一阶、二阶偏导数可推导如下：
　　　　　　　　　　　　　　(7)
　　　　　　　　　　　　(8)
　　　　　　　　　　　(9)
　　　　　　　　　　　　(10)
2　退化字符图象的骨架处理
2.1　缺损字符处理
　　有两个处理方法可用于笔划缺损字符：一种是将各成分组合成一图象，该图象在后阶段处理过程中一直视作一整体；另一种是把各成分看作各自独立的部分，它们通过分类器分类后按一定的规则再组合起来，本文介绍的处理方法属于第一种。图2(a)为字符的一断裂笔划，其三维图形见图2(b)， 若Z轴表示灰度等级，当上述作为预处理的卷积计算完成后，两断裂部分已能连接，其平滑处理过的图象见图2(c)，其中黑线代表通过脊形点检测提取的骨架。

图2 (a)字符一断裂笔划 (b)对应的三维图形
(c)平滑处理过的图象和骨架
　　上述算法可将断口距离为2σ的两断裂部分连接起来。但同时也可能带来各字符间不应有的连接。因此，σ值的大小将直接影响缺损字符骨架的提取及退化字符识别的正确率，而σ值的选取应充分考虑被处理字符图象中各字符笔划的宽度和字符之间的间隔距离。设b为字符最细笔划的宽度，d为各字符间的最小间隔，若d<h，则取σ<h/2，即连接成分的最大可连接距离就是最细笔划宽度；若d<h，则取σ<d/2，此时的最大距离小于字符间隔。由于印刷字符中缺损字符的产生多为印刷设备的缺陷和印刷质量造成且字符文本中一般d多大于b，上述σ的处理可获得较满意的效果。
2.2 用于连体字符处理的分离、修剪算法
　　连体字符的连结点比正常的字符笔划有较少的连结象素及较低的隶属值，当完成图象变换后，连结点处的平滑隶属值相对较低，但较细的笔划也同样有较低的隶属值，两者的差别在于较细笔划的隶属值变化平缓，而连结点周围隶属值的变化则十分尖锐。因此，若脊形线上某点附近切线的斜率变化最大，且具有最小的隶属值，则该点可以认为具有连结点性质，换句话讲，连结点位置为具有高本征值的鞍点。
　　本文介绍的用于连体字符处理的分离、修剪算法包括：
　　(1)搜索鞍点　搜索鞍点是一直线向前的过程。由于字符的笔划可能包含一系列的脊形点，因此可顺着某一笔划去连续跟踪。根据鞍点的特征来查找各点的斜率，若某点切线的斜率为零，且该点与平行于脊形线的特征矢量相关的本征值为负值，则可确定该点为鞍点。大多数情况鞍点并不精确地位于脊形点，而是可能存在于某一脊形线段。为此可简化为检查各段脊形线段的头、尾两端点的斜率，若两端点的切线均指向外，则有鞍点存在于该线段内。用数学表示：
　　.若满足：(1)g＝0　(2)w＜0
　　则鞍点精确位于脊形点。这里Vg、w分别表示脊形点的斜率及该点与平行于脊形线的特征矢量相关的本征值。
　　.若满足：
　　则鞍点位于该脊形线段上。这里Vg1、Vg2与 W1、W2分别表示脊形线段两端点的斜率及与平行于脊形线的特征矢量相关的本征值。(1)g1.g2≤0　(2)W1＞0，W2＞0
　　(2)确定切分点　①判断可能切分点：若鞍点本征值超过阈值，该鞍点定为可能切分点；②对各可能切分点的本征值及对应切分点处象素的隶属值排序，隶属值反映切分点处象素的切分代价，隶属值低的点则切分可能性高。若两点的隶属值相等，则检查本征值，本征值反映具有切分可能邻域的切分代价，本征值高则切分代价低；③计算切分可靠度。
　　(3)修剪额外骨架线　①判断连结点类型，确定切分点处骨架线应整体删除还是部分删除；②判断切分点两分断线段的长短，确定多余骨架线的修剪。
　　Kahan等[2]认为：常见的连结点有两种：衬线结点和双O结点，如图3(a)、(b)所示。当分离算法应用于具有双O 结点的连体字符时，结点处存在一多余的笔划，见图3(e)中的点线，该多余笔划不属于任何一个字符，因此必须整体删除。而衬线结点处额外的骨架线一部分可能属于字符某一笔划，见图3(d)，因此仅需部分修剪，其它类型结点处可能存
　　在的额外骨架线则是某一字符的一部分。例如图3(f)所示的额外骨架线则是属于字符"y"中一部分，就这一例子，鞍点左方的需删除，但鞍点右方的只需部分修剪。

图3 (a)衬线结点 (b)双O结点 (c)其它结点
(d)、(e)、(f)分别是(a)、(b)、(c)的骨架
　　对额外骨架线修剪的准则为：包含一切分点的笔划在鞍点处切分为两段，随后对这两分断部分分别检查。若一段较短，且另一末端处于"T"型交叉结点，则该结点属于"O"型类结点，"O"型结点可以是双"O"结点或是与另一笔划相接触的凸状轮廓线，见图3(f)，因此该部分需全部删除；若较长分断部分另一端点不是动性"T"型交叉点，则额外部分不是"O"型结点，这时该分断部分则包含实际字符的骨架线和部分额外骨架线。修剪这额外的骨架线，只需从鞍点开始搜索，直至出现本征值的零交叉点，从鞍点开始到本征值的零交叉点的线段即为应删除的多余骨架线。

图4 (a)具有断点的缺省字符 (b)模糊图象变换 (c)缺省字符的骨架
　　(4)单个字符识别和利用上下文确认　修剪过程结束，连体字符的骨架被切分成几个单个字符的骨架。对于目前大多数的切分算法，每个切分的假设需通过对已切分的字符图象处理以提取各自的特征作进一步的证实，这将增加处理时间，但本文上述方法在修剪过程结束后，不需再作任何处理，每个单独的字符骨架均能通过字符分类器。另外，通过上下文确认来决定切分假设的可靠性。上下文确认是基于包含连体字符词的正确一致性，其可靠性则由通过字典检测的词除以包含连体字符词的总数计算而得。
3　试验结果
　　对于本文介绍的退化字符的提取、识别方法的实验是在UNIX操作系统下用 C语言编程实现的。实验样本共28600个字符，其中因印刷污染的连体字符为212个，笔划有断口的缺损字符为103个。实验先采用合适的滤波函数对所有样本字符图象进行平滑滤波处理，图(4)、图(5)分别为实验样本字符中的几个缺损字符和连体字符的处理情况。经模糊图象变换，99个缺损字符的缺口处已被相对较小的隶属值所连接，缺损字符图象的恢复率达96.16%。然后对样本字符图象用本文介绍的骨架形态结构分析法和分断代价法进行字符识别、比较，实验结果如表1所示：

图5　(a)连体字符 (b)模糊图象变换 (c)连体字符的骨架
表1　实验结果

识别方法召回率(％)识别率(％)
骨架形态结构分析92.8379.24
分断代价法88.7668.22

　　表中的召回率用以评价识别方法对连体字符的提取能力，定义为：
　　召回率=(提取的连体字符数/样本字符图象中总的连体字符数).100%
　　表中的识别率用以评价识别方法对连体字符的识别能力，定义为：
　　识别率=(正确识别的连体字符数/样本字符图象中总的连体字符数).100%
4　讨论和结论
　　本文介绍的识别方法有以下几个优点：(1)可直接应用于字符的模糊图象或灰度图象，对噪声不敏感；(2)通过选用合适的平滑滤波函数对模糊文本图象进行预处理，可明显提高退化字符识别率；(3)连体字符经本文介绍的分离算法切分后，对己切分的字符图象骨架不必再作特征提取而直接通过字符分类器，从而简化了字符识别处理过程，提高了识别速度。
　　本文介绍的通过平滑滤波模糊文本图象，提取字符脊形点进而跟踪处理的方法，提供了一个对退化字符智能识别的新的框架，但该方法的研究和开发还有待进一步深入和完善，其中分离算法上智能化因素还应增加以进一步提高连体字符切分的准确性。
作者简介：卢　达(1949～)，男，副教授，主要研究方向为模式识别、图象处理等
作者单位：卢　达　浦　炜　常熟高等专科学校，常熟　215500
　　　　　谢铭培　复旦大学计算机科学系，上海　200433
参考文献
1 Fujisawa H,Nakano Y,Kurino K.Segmentation Methods for Character Recognition:from Segmentation to Document Structure Analysis. Proc. of the IEEE, 1992, 80(7): 1079-1092
2 Kahan S,Pavlidis T,Baird H S.On the Recognition of Printed Characters of Any Font and Size. IEEE Trans.Pattern Anal. Machine Intell, 1987, 9(2): 274-288
3 Mitchell B T,Gillies A M. A Model-based Computer Vision System for Recognizing Handwritten ZIP Codes. Machine Vision and Applications, 1989:231-243
4 Tsujimoto S,Asada H.Major Components of a Complete Text Reading System.Proc. of the IEEE, 1992,80(7):1133-1149
收稿日期：1998-12-21
