专利名称:具有学习能力的文字识别方法
技术领域:
本发明涉及一种字符识别方法,特征是一种具有高度学习能力的文字识别方法。首先以独特的方式检出文字的笔划,再利用所述文字笔划的各种不同排列顺序为特征来识别所述字符。
如果对目前全世界研究中文字识别的人员作一个调查,请他们列出三点目前中文字识别系统未能产品化的困难点,所得到的答案必定是下列三点(此三点在大多数的论文、杂志及书籍文献上都常提到)(1)中文字符太多。
(2)中文字外形复杂。
(3)中文字相似字组多。
以往的文字识别方法大多采用比较标准字符及欲识别字符间的差异,进而以差异最小的标准字符作为识别结果,因此以往技术有下列问题(1)标准字符数量必须加以限制,否则将使识别速率下降到无法忍受的地步。而且逐一去比对标准字符,速率无法有效提高,这对于文字字符数量庞大的文字(如中文字)更是一大致命伤。
(2)缺乏学习能力,即使具有学习功能,也因为标准字符的数量受到限制,导致无法充分地学习,这在有多种不同字体的印刷字符及每个人手写字体均不同等情况都会造成很大的问题。
(3)所采用的特征值适用范围有限,导致新的文字字符加入后,常会破坏原有的特征。
(4)以往以笔划为特征的文字识别方法,无法稳定地检出真正的笔划,而且没有有效的补救办法。
(5)在对字符图象进行规整化或细化处理时可能造成失真的情况,而且相当浪费时间。
因此,有必要提出一种能够解决上述问题的文字识别方法,而此方法必须(1)使标准字符数量不受限制。
(2)具有学习能力,可以充分地进行学习,而且学习后的识别速率不会下降。
(3)提高识别速度,并降低误识别率。
(4)克服有些文字(例如中文文字)有多种不同印刷字体以及各种文字中手写字体因人而异,所导致的难以识别问题。
此发明的目的在于提供一种具有高度学习能力而且识别速度很快,不会受已学习字符的数量影响的文字识别方法,其次在于提供一种有效且快速的笔划检出方法来检出字符笔划。
本发明将文字(字符)的笔划分成四种基本笔划及五种辅助笔划,共九种笔划,如下所列1.四种基本笔划(1)横(-);
(2)直(|);
(3)右斜(/);
(4)左斜(\)。
2.五种辅助笔划(1)左圆弧(
);
(2)右圆弧(
);
(3)上圆弧(︵);
(4)下圆弧(﹀);
(5)圆(○);
以上述九种笔划的全部或部分,作为笔划类型的特征。(因为一种文字的一种特定字体,仅使用部分笔划类型就能够充分地表示所述字体的所有文字笔划。例如中文的宋体、明体、隶书等等印刷字体使用四种基本笔划就已经足够表示所述字体的所有文字了)。另外,必要时可以再加上笔划的端点区域是不是有其它笔划与它相交的特征作为笔划类型,以进一步地以独特的方法将字元分解成一连串的笔划。
当一个字符图象黑暗区域被分解成一连串的笔划后,这些笔划在字符结构上,按各种不同方式的扫描,可以得到与扫描方式相对应的排列顺序,然后再以这些排列顺序来作为笔划顺序特征。
上面所述的扫描方式有很多种,按其文字特性可以加以选择,并且可以做适当的变化及调整。以下例举数种以供参考(1)以列为主(由上而下)的扫描方式整个字元是先由上而下,而每一列是由左而右的方式扫描。
〔以中文字元“村”为例所得到笔划类型排列顺序是||--/\\〕(2)以行为主(由左而右)的扫描整个字元是由左而右,而每一行是由上而下的方式扫描。
〔以中文字元“村”为例所得到笔划类型排列顺序是-/|\-\|〕(3)整个字元按斜方向约45度由左上角到右下角,每一扫描线由右上到左下扫描。
〔以中文字元“村”为例所得到笔划类型排列顺序是|-/\|-\〕(4)以列为主,但由下而上的扫描。
〔以中文字元“村”为例所得到笔划类型排列顺序是||/\\--〕(5)以行为主,但由右而左的扫描。
〔以中文字元“村”为例所得到笔划类型排列顺序是-|\-\|/〕(6)先按照文字笔划的相连性,将文字分解成一个或数个部分,再按照上述的扫描方式分别排列每个部分,再得出各部分组合的组合型文字笔划排列顺序,如中文字“村”这个字符先分解成“木”与“寸”两个部分后,再分别以上述的扫描方式所得到的排列顺序加以组合。
〔以第一种扫描方式为例“木”所得到笔划类型排列顺序是|-/\“寸”所得到笔划类型排列顺序是|-\再左右组合得到“村”笔划类别排列顺序是|-/\|-\〕由以上扫描方式可以再派生出很多种,例如第三种先按左上至右下斜方向约45度,其次再由右上而左下的扫描方式,改变其角度或方向,就可以派生出非常多种。不过实施时並不需要全部使用,只要选择一种或数种即可以达到很好的效果。
在实施例中我们选择(1)、(2)和(3)三种扫描方式,每种扫描方式可以得到一种笔划排列顺序。三种扫描方式可以得到三种可能相同或不同的排列顺序。
本发明就是以笔划类型及笔划排列顺序为特征,再将此特征转变为特征值。在学习训练阶段,将所学习字符的各种扫描方式所得到的特征码,分别存入各个与各种扫描方式相对应的存储器中。识别时,先抽取欲识别字符的特征码,再以此特征码到相同扫描方式的存储器去查找对应字符,如果此特征码所对应的字符只有一个,那么所述字符就是识别结果;否则再查找下一个扫描方式存储器内的对应字符,以同样的方式处理,如果所对应的字符都不是唯一的,则以出现在各种扫描方式中最多次的字符,作为识别结果。不同的字符转变为相同特征码的机会很小,这种机会随笔划数目的增加而减小,所以用此种特征来分辨文字,其分辨率非常高。就以十个笔划的字符为例,每个笔划分为四种基本笔划及五种辅助笔划,共九种,而且每个笔划可以再按其端点区域是否与其它笔划相交的特征分为两种,九种笔划中每种笔划再分为两种共有18种,计算其笔划类型的排列方式总共有18的10次方,约3兆5千亿种,也就是说十个笔划的字符与其它字符转换为相同特征码的几率只有3兆5千亿分之一(如果仅选择基本笔划为笔划类型也只有4的10次方之一,约一百万分之一的机会)。因为有如此高的分辩率,所以我们可以充分地学习,况且我们有许多种按照扫描方式不同分别得到的不同笔划类型排列顺序,特征码重复的机会进一步减小,万一有各种扫描方式的特征码都相同的字符存在(笔划很少的字符可能发生),由于这种特征码相同的字符组必定很少,所以我们可以个别分析特征码相同的字符组内各字符之间的差异,来分辨字符。
至于检出笔划的方法,我们以独特而且不须先对字符图象作规整化及细化的方式检出笔划。首先分析基本笔划及辅助笔划的特征,以此特征作为检取这些笔划的知识,进而转变为下列参数,以便进行笔划检出(1)组成笔划的最少黑点总数(具连接性的黑区,其黑点总数少于此数目就视为噪声);
(2)非横笔划的最大黑区宽度,超过此宽度即视为一横笔划;
(3)横笔划的最小黑区宽度,小于此宽度即视为非横笔划;
(4)区分各种笔划类型的角度;
(5)判断黑区长度变化的参数(例如一列列地由上往下看时由长变短或由短变长的临界值);
(6)判断相交区域为单纯相交或横笔划通过的相交区域的区域特性参数;
(7)各种笔划所允许的方向变化之大小的参数。
以上参数可以按文字类型、字体及每个人手写文字的习惯,来调整这些参数值。
利用上面所述参数来检出笔划,实施方式有下列两种一.以直接跟踪黑区的变化情况来检出笔划。其方法如下1.首先我们由上而下,一列一列地跟踪字符图象的黑色区域,如果此区域尚未检出过笔划,则此黑色区域可能就是我们所要检出笔划的起点,记录其地址及长度並且在此黑区的下一列具有连接性的区域内寻找下一列黑区,如果可以找到,则跟踪所述下一列黑区;
2.按上一列黑区及下一列黑区长度变化情况以及方向变化情况,来决定是否为笔划结束点,或者需要切割黑区。例如黑区由长变短而且变化很大,则此黑区即为横笔划的结束点。如果黑区由短变长而且变化很大,则原来跟踪的笔划必定与一横笔划相交,按上一列黑区长度及方向切割下一列黑区,以便得到属于所述被跟踪笔划的黑区;
3.如果下一列有两个或两个以上的黑区与上一列黑区相连接,则依前面已跟踪的黑区方向来决定选择那一块黑区来继续跟踪。
4.从起始点到结束点的黑点总数,不可以少于一个特定值,否则将视为噪声,予以删除而且不视为笔划,如果达到此特定值则检出所述笔划並且按其方向来决定所述笔划类型;
5.将已检出过的黑区记录下来,除相交区域外不再重复使用;
6.检出一个笔划后,则继续由上次检出的起点开始,继续寻找下一个未检出过的黑区,作为起始笔划以检出下一个笔划。以这种方式继续执行,直到所述字符图象的全部黑区都已跟踪过为止。
二.将每个字符图象的黑区部分先转换为特殊区间图(SpecialIntervalGraph),再按特殊区间图内点与点之间的关系,简化此特殊区间图,最后分解此特殊区间图以检出笔划。其方法如下1.首先将字符图象每一列的每个黑区视为特殊区间图的一个节点,并记录此黑区的起点、地址及长度,如果这两个黑区为相邻列而且此两个黑区具有连接性,则此两点之间有线段存在。以此方式将整个字符图象转变为由节点及线段所组成的特殊区间图;
2.将此特殊区间图简化,也就是尽可能地删除区间图内的一些不重要的节点,因这些不重要节点的信息,可以由上一个连接节点及下一个连接节点的信息所包含,所以此节点在区间图中属于多余。例如黑区是一个由上而下的长方形,我们只需保留最上面的黑区节点及最下面的黑区节点即可表示这个长方形。当然简化图形后的线段並不再保持只有上下相邻列才有线段,而是表示此两块黑区具有连接性而且经过的列已被简化掉了。
其中应注意的是下列节点不简化(1)上下的端点黑区;
(2)分叉节点(上方或下方有两个以上(含)线段连接其它节点);
(3)长度或方向变化很大的节点。
3.检查分叉节点来取得笔划的相交区域,而且判断此相交区域是非横笔划的相交,或是有横笔划经过。如果有横笔划经过,则检出所述笔划。接着以笔划相交区域、上方连接节点和下方连接节点的方向以及匹配后是否具有连接性的特性,来匹配交叉区域上方及下方的节点。匹配好的节点就用线段连接起来,並检查是否上下两端点都可连接到终端节点,如果都可以,则检出此笔划,並且按方向来判断所述笔划类型並记录下已检查过这些节点。
4.当所有分叉节点都处理过后,剩下的都为终端节点及中间节点,中间节点必定上下都只有一个线段所连接。因此很容易就可以检出这些笔划。
5.寻找所有未查核过的终端节点,並取得此终端节点的连接图,利用连接图节点的方向来检取笔划,並判断所述笔划类型,並且记录下已查核过这些节点,等到区间图的所有节点都已查核过,则所述字元的所有笔划,就已经全部检出完成。
为实现上述目的的技术、手段,现举出较佳实施例並配合图示,详细说明于后,其中图示分别为
图1是表示应用本发明文字识别方法的略图。
图2是有关四种基本笔划倾斜角度范围。
图3是手写中文字“末”,使用第一种以直接跟踪黑区变化情况来检出笔划时第一个笔划被检出后的实施例。
图4是图3所示实施例中所有笔划都被检出后的情形。
图5是手写中文字“末”的字符图象,转换为特殊区间图,並且简化了此特殊区间图时,字符图象与特殊区间图的对应情况的实施例。
图6是图5所示实施例转换成的特殊区间图。
图7是“永”字利用特殊区间图检出方式所得之情形。
图8是“永”字利用特殊区间图检出方式所得之情形。
图9是以特殊区间图检出方式识别“永”字的结果。
图10是以特殊区间图检出方式识别“水”字的结果。
图11表示“士”字之检出情形及其特征码。
图12表示“土”字之检出情形及其特征码。
图13表示“未”字之检出情形及其特征码。
图14表示“末”字之检出情形及其特征码。
图1是实现本方法的设备构成略图,所述设备主要包含字符图象输入部分1;笔划检出部分2;学习部分3;识别部分4;以及存储各种扫描方式所得到笔划特征值的存储器5。以下详细叙述本方法在各部分构成中的执行情形一.字符图象输入部分字符图象输入的方式很多,可经由扫描器、照像器材及联机手写感应装置等方式输入后,对字符图象作量化处理並成为二进制像素信息,就可以供笔划检出部分使用。其字符图象信息的质量只要符合一般光学字符阅读装置(OCROpticalCharacterReader)的质量就可以。
二.文字笔划检出部分在此部分的执行重点包含以下内容1.笔划的分类图2是有关四种基本笔划倾斜角度的范围。如果所要检出的笔划倾斜角度在-α2到α1之间,则我们检出它为横笔划。如果倾斜角度在Ⅱ/2-β1到Ⅱ/2+β2之间,则我们检出它为垂直笔划。同理,如果倾斜角度在α1到Ⅱ/2-β1之间,则我们检出它为右斜笔划。倾斜角度在-Ⅱ/2+β2到-α2之间,则我们检出它为左斜笔划。
2.笔划的检出方法下面以两种方法举例说明笔划的检出方法(1)以直接跟踪黑区的变化情况来检出笔划图3和图4是手写中文字符“末”,使用第一种检出方式,以直接跟踪黑区变化情况,来检出笔划的实施例。图中标以数字“1”、“2”、“3”、“4”、“5”和“9”是字符“末”的黑色像素区域。在检出笔划前,黑色区域都标为“1”,等笔划检出后再按所检出笔划的类型标以不同数字。在图3中,标以“3”的点为第一个垂直笔划所经过的区域。英文字母是我们为了说明这个笔划如何检出所标上的,首先笔划检出程序由上而下、一列一列的扫描字符“末”的黑区,找到从A点到B点的起始黑区,接着找到下一列的黑区(C,D)因黑区长度变化不大,所以继续跟踪下一列,直到(E,F)点,在(E,F)点跟踪下一列具有连接性的黑区得到(G,H),因其黑区长度变化很大,因此切割成为只有三点像素的黑区(标以“3”)做为有效黑区继续跟踪,在(I,J)时发现下一列有两个黑区,则依已跟踪的方向判断,我们选择(K,L)为我们下一列的黑区的跟踪方向,继续跟踪,最后跟踪到(O,P),因下一列已无具有连接性的黑区,所以我们知道此笔划已跟踪完成,判断此笔划的角度属于垂直笔划,因此我们记录从座标(5,28)到座标(64,28)有一垂直笔划(|)经过。
在图4中我们说明“末”这个字元的所有笔划都检出后的情形,其中标以“2”表示横笔划,标以“3”表示垂直笔划,而标以“4”的表示左斜笔划,标以“5”表示右斜笔划,而标以“9”视为噪声。最后我们得到此字符图象“末”总共检出五个笔划,分别注明其两个端点座标及笔划类型如下1.(5,28)-(64,28)|2.(30,1)-(28,51)-3.(39,17)-(38,39)-4.(63,3)-(41,29)/5.(43,32)-(59,56)\(2)将每个字符图象的黑区部分,先转换为特殊区间图,再按特殊区间图内,节点与节点之间的关系,简化此特殊区间图,最后分解此特殊区间图,以检出笔划。
我们以同样手写中文字符“末”为例来说明这种笔划检出方法。在图5中标以“*”及“·”的都是字符的黑色像素点,其中“·”的区域表示此黑区所对应特殊区间图的节点,已被简化掉了,而标以“*”的是未被简化掉的节点所对应的区域。並且以英文字母A到V的代号来表示对应特殊区间图的节点。
图6表示字符“末”转换后並且简化过的特殊区间图,对此特殊区间图来检出笔划,可以得到从D点到F点,及从J点到L点,都有一个横笔划经过;而C点及G点将视为噪声,不构成笔划。最后得到DF及JL的横笔划、AU的垂直笔划、NT的右斜笔划及NV的左斜笔划,总共五个笔划,将其所对应的座标列出,可以得到与上一种方法所得到的相同笔划类型。(真正座标值有可能会有些稍许差异,但没有关系,我们将做适度的调整)3.笔划端点的调整我们取得字符图象的所有笔划的两个端点后,由于手写字符可能存有一些程度的偏差,例如有些人写中文文字的某些字符的横笔划,常常会有右边端点较高的状况,相对的,也影响到此横笔划下方邻近之非横笔划的端点的真正座标地址。因此可以对这些邻近的非横笔划的端点座标地址做一些调整。
4.笔划检出方式的调整当然笔划的检出方式,並不限于以上两种,任何可以稳定地检出字元的笔划,而得到笔划类型及端点的信息,都可以用于本笔划检出部分来检出笔划。而用本节的两种特殊方法来检出笔划也可以改变参数值,以适用于各种不同文字或字体。
三、学习部分经由笔划检出部,取得所述字符的所有笔划端点后,选择一到数种扫描方式来排列这些笔划类型;每种扫描方式分别得到对应的一种笔划类别排列顺序的特征码,以此特征码作关键字存入对应扫描方式的存储器中。对于极少数关键码都相同的不同字元,再作特别处理。
四、识别部分识别部分中欲识别字符的特征码的取得与学习部分完全相同,但识别时得到一种扫描顺序的特征码后就直接到存有所述扫描方式特征码的存储器内,查找对应该特征码的字符内码,如果内码唯一,则以此内码为识别结果;否则继续以另一种扫描方式所得到的特征码,到存有所述扫描方式特征码的存储器内查找对应该特征码的字符内码,如此重复执行,直到找出一种扫描方式其特征码所对应的内码为唯一。如果所有扫描方式的特征码所对应的内码都不是只有一个,则选择出现最多次的内码为识别结果。另外,如果有两个内码在所有扫描方式中都出现,则以此两个内码所对应字符的个别特征来进行识别。如果每种特征码的存储器都没有此欲识别字符的特征码,则可能是所述字符尚未学习或所述字符与已学习过的标准字符差异较大,因此可重新学习所述字符,或改变笔划检出参数值,重新检出笔划再识别所述字符。
五、存储各种扫描方式所得到笔划特征值的存储器按各种扫描方式所得到的特征码及其对应字符的内码可利用Hash方式加以储存,如此,当一个欲识别字元的特征码得到后,利用Hash方式可以很快找到其对应字元的内码。
由上面所述可见,本发明确实是一种具高度学习能力的文字识别方法,新的文字字符可以经由学习后进行识别,所以识别能力非常强,而且适合各种不同的文字及各种不同字体,更不受文字字符数量的限制;而当标准字符增加时,只要将特征码存储器加大,识别速度仍然非常快速。
在此再将本发明的效果及一些测试结果概要叙述如下1.可识别字符的数量不受限制中文字符太多是中文字符识别上最大难题,根据统计结果,最常用字就达5401个字,加上次常用字更达13053个字,更何况中文文字加上异体及罕用字即达四万多个字。以往的文字识别方法可识别字符的数量都有限制,因此难以适用在中文字的识别上。有鉴于此,本发明克服了可识别字符个数的限制,且可利用学习的方式不断地增加,别说13053个字,即使四万多个字,本方法也能胜任。因为本方法在每增加一个可识别字符时,只要在每个所选择扫描方式的存储器中,增加25个字节(BYTE)的存储空间即可。因此本识别方法也可以运用在姓名(罕用字特别多)及古书的识别上,是一个相当实用而且极具有潜力的识别方法。
2.分辨率非常高,特征码重复的机会确时非常小,即使有极少数字符的特征码相同,也很容易就可以区分我们选择四种基本笔划,并加上模笔划及垂直笔划末端点区域是否有其它笔划与其相交的特征,再区分为两种,共六种笔划类别;再选择①以列为主(由上而下)②以行为主(由左而右)
③斜方向约45度由左上角到右下角三种扫描方式来排列笔划类型利用中文个人电脑上相当普遍的倚天中文字体(明体)来作测试,测试结果在学习13053个中文字符中,只有6对(共12个字)的三种扫描方式的特征码相同,此12个字列于表1。
对于这些极少数特征码都相同的字符组,我们个别分析特征码相同的字符组内各字符之间的差异来分辨所述字符,非常容易就可以区分这些字符。首先,我们知道这些所有三种排列的特征码都相同的字符组在学习阶段就可以发现。例如我们假设『土』与『士』的斜方向排列的特征码也相同(实际实验是不同的,此点将在后文所述第七点中说明),在学习『土』时不会有问题,但在学习『士』时,系统就会发现『土』的特征码都相同,在此时我们就在这相同特征码的存储器中,存a如下的信息“11LH1<H2”表示“第一个字第一种扫描方式的第一个横笔划长度小于第二个横笔划”,如此在识别时虽然发现特征码都相同,但可查找到这个区分的信息,而在此时识别字符的笔划端点的信息都还在,比较第一个横笔划与第二个横笔划的长度就可以很容易区分了。如果小于则是第一个字符『土』,否则即是第二个字『士』。
由上面说明,很容易就可以了解,如果有特征码都相同的字符存在,我们在学习时就会发现并把这些字符放入同一组内,而要在这组字符中区分每个字符实在是非常容易的事。兹将表1学习倚天(一种商标名)中文字体13053个字符所得到的六组相同特征码的区分信息叙述如下①第一组“上”与“七”区分码“11LH1<H2”
表示“第一个字第一种扫描方式的第一个横笔划长度小于第二个横笔划”;
②第二组“壬”与“于”区分码“11TH3>V1”表示“第一个字第一种扫描方式的第三个横笔划端点超过第一个垂直笔划”;
(注“壬”最上面的笔划倚天中文为横划;此外用第二种笔划检出方法来检出笔划时,此二字的特征码会不同,因为“于”的最下左勾会被当作噪声而去掉)③第三组“拍”与“抽”区分码“22LV3>V4”表示“第二个字第二种扫描方式的第三个垂直笔划长度大于第四个垂直笔划”;
④第四组“□”与“口”区分码“11LH1>F7”表示“第一个字第一种扫描方式的第一个横笔划长度大于外框长度的十分之七”;
⑤第五组“毋”与“毋”区分码“11LH1>F7”表示“第一个字第一种扫描方式的第一个横笔划长度大于外框长度的十分之七”;
⑥第六组“胕”与“附”区分码“22LV2<V1”表示“第二个字第二种扫描方式的第二个垂直笔划长度小于第一个垂直笔划”;
从以上所述,可以知道所有扫描方式来排列笔划类型所得到的特特码都相同的情况,非常容易处理,大都比较其中的两个笔划长度就可以区分了。而第四组与第五组确实较难区分,需要比较外框的大小与笔划的长度来区分。(不过这两组用人来区分,也很难以区分,因为字形完全相似)3.识别错误的机会很小本发明的另一个特点是识别错误的机会很小。这从不同字而有相同特征码的几率很小,可以看出,识别错误的机会实在太小。如果欲识别字符与原字符有较大的差异,最可能造成的现象是找不到相同特征码,这种找不到相同特征码的情况较识别错误好得多。因为系统知道这个欲识别的字符其偏差较大,可以加以补救。
而本发明补救的方法是改变检出笔划参数值,再重新识别所述字符,因为本方法识别速度很快,重复识别,使用者根本感觉不出来。
4.识别速度非常快本发明采用直接对应的方式,根本不需要比较,识别速度当然很快。按目前测试结果,使用一般个人电脑及未经过优化的软件实现,识别速度每分钟平均1350个字符(此数据不含字符图象读入所花时间,但包含特征信息存储器的读入时间,如果含字符图象读入所花时间,则识别速度每分钟平均600个字符)。如果使用硬件实现时速度必定加快很多,而且更可贵的是,增加标准字符并不会影响识别速度。
5.可以适用于任何字体本发明中所谓的学习部分,并不是用人工去分析一个字符笔划,或用正楷的字符笔划去学习,再来识别行书或草书等其它字体的所述字符,而是利用相同字体学习、相同字体识别,而且检出笔划的程序也相同。由于相同字体的同一字符差异必定很小,而且本发明所取得的特征码,充分地运用模糊(FUZZY)原理,仅看大体,不看细节,因此对于任何字体,都能适用。
图7、图8、图9、图10是雅墨(一种商标名)排版系统所印出的行书“永”字及“水”字的测试结果。首先,我们印出“永”字及“水”字来学习,使用掌上型扫描器输入系统,再利用第二种特殊区间图的笔划检出方式来检出笔划,结果得到如图7与图8的结果。其次,再印一次并扫描输入系统,然后加以识别,得到如图9与图10的结果,正确的识别可以证实本发明可以适用于行书、草书的印刷字体。
在上面图示中原字形内标以“1”的表示第一个笔划所经过的区域,标以“2”的表示第二个笔划所经过的区域,依此类推。此外标以“0”的表示视为噪声,本发明具有智能型的消除噪声能力,如『乚』字右下方的上勾及『 』最下的左勾都当成噪声;如此对于手写字体更能发挥有勾无勾都能识别的好处。而在字形的下方列出每个笔划的两个端点地址及笔划类型,笔划类型以00代表横笔划(-)、10代表垂直笔划(|)、20代表左斜笔划(\)、30代表右斜笔划(/)、最后列出三种扫描方式排列笔划类型的结果,type(1)是以列为主(由上而下)type(2)是斜方向约45度由左上角到右下角来排列笔划类型的结果。
type(3)是以行为主(由左而右)6.可以适用于手写字体手写字体的识别,一般认为是相当困难问题,因为手写字体的偏差较大。而本发明正好有很强的容受偏差的能力,因此本方法也能适用,其理由如下
①本发明充分运用模糊(FUZZY)的技巧在笔划的检出与特征码的抽取上,因此其容受偏差的能力非常大,这可以从我们特征码的抽取看出;
②用不同的扫描方式来排列笔划类型,可以克服手写字符笔划地址偏差的问题。如以列为主(由上而下)的扫描方式来排列笔划类型可容受左右位址的偏差,以行为主(由左而右)的扫描方式来排列笔划类型可容受高低地址的偏差,而斜方向的扫描方式来排列笔划类型可容受高低及左右地址的偏差等等。可以看出一般人写中文字时,笔划地址的偏差,很难不被本发明的不同扫描方式来排列笔划类型顺序所容受;
③同一个字符有多种不同写法,本发明允许将这些不同写法的同一字符全部学习在系统中,当成标准字符。因此我们只要识别不出这个字符,就可以学习这个字符,最后必定所有字符都能识别;
④本发明不容易造成识别错误,如果欲识别字符的偏差较大,最可能造成的情况是在系统内找不到对应所述字符的特征码,(前面提到过特征码重复的机会非常小)而且系统在此时就知道偏差较大,因此可以改变检出笔划参数值,再重新识别。
7.很容易就可以辨认如『人』与『入』、『刀』与『力』、『子』与『孑』与『孓』、『土』与『士』、『天』与『夫』与『夭』、『未』与『末』等等的这些相似字本发明对于这些相似字具有潜在的区分能力,表2与表3就是我们收集了一些中文字符识别的论文中所遭遇到的一些较不易区分的字符组,共收集了156个字元,再由相同人所写出来的手写字体。说明书图三至图六就是其中的“末”字经掌上型扫描器输入系统,而后检出笔划测试的结果。运用本发明很容易地就可以克服这些近似字的问题,因为本发明已详细观察、分析、并且确实地掌握了文字识别的窍门,抽取最具有代表性的特征来作特征码,具体地解决这些近似字组的问题。我们以一般更难以区分的字组如『土』与『士』,『末』与『未』来说明我们的测试结果。我们利用雅墨排版系统的楷书印出『土』与『士』,『末』与『未』这四个字符来测试,结果是,如图11、12、13、14所示,上下及左右扫描所排列的特征码,『土』与『士』、『末』与『未』确实相同,但45度斜向排列的特征码“土”是“|--”与“士”是“-|-”不同,而“末”是“-|-/\”与“未”是“|--/\”不同,很容易就可以区分出来。
而且对于所有扫描方式排列的特征码都相同的字符组,本发明也很容易区分,请参阅前面所述第二点。
8.具有独特的学习能力本发明具有独特的学习能力,新的文字可以很快,而且很容易地学习,是一种具有很强的扩充能力及适用能力的文字识别方法。
综合以上叙述可知,本发明是一种极具突破性的文字识别方法。目前文字识别中最困难的课题,以中文字的识别为首,但是本发明运用在中文字的识别上却能发挥强大的效果。
本发明确实已掌握了中文字识别的窍门,抽取最具有代表性的特征来当特征码,具体地克服了中文字识别的三大问题,是一种相当具有突破性的实用方法。
本发明使用两种不需要将字符图象大小规整化及细化的笔划检出方式,可以直接而且快速的检出笔划,更有助于文字的识别。
type[1](A457)上duplicate with A443七type[2](A457)上duplicate with A443七type[3](A457)上duplicate with A443七type[1](A4D0)壬duplicate with A45F于type[2](A4D0)壬duplicate with A45F于type[3](A4D0)壬duplicate with A45F于type[1](A9E7)拍duplicate with A9E2抽type[2](A9E7)拍duplicate with A9E2抽type[3](A9E7)拍duplicate with A9E2抽type[1](C949)口duplicate with A466口type[2](C949)口duplicate with A466口type[3](C949)口duplicate with A466口type[1](C960)毋duplicate with A4F0毋type[2](C960)毋duplicate with A4F0毋type[3](C960)毋duplicate with A4F0毋type[1](D062)胕duplicate with AAFE附type[2](D062)胕duplicate with AAFE附type[3](D062)胕duplicate with AAFE附**** learning ET pattern count=13053表1
人入刀力丸凡土士子孑孓己已天夫夭太大日曰月凹凸功包匆去未末永水用甩田由甲申乒乓兵名合吃因囝好她如字存宇守宅安戎戌戍成百白治治舟色 位住
佗吾否 呎吧 呆
呂宏彤形彷役把材村肝肘肛肚車邢邪邦那兒兇具其始姓姊妯妳表2
官宜屈居屆拚抱拘放昊昇東果沽沾是星胃胄冒昌貨貪貧章竟頂項頃閔閏開閑間閒雷電頒頌礦礪壩灞中興大學中文字形辨識系統表权利要求
1.一种具有学习能力的文字识别方法,其特征为将输入的字符图象利用笔划检出技巧检出字符笔划,以得到所述字符所有笔划的笔划类型;选择数种扫描方式,来排列所检出笔划的顺序,每种扫描方式得到对应的笔划类型排列顺序,以此笔划类型排列顺序作为所述字符对应此种扫描方式的特征码;在学习阶段,对每一种扫描方式,提供一个存储器来存储对应此种扫描方式所得到的特征码,并且把字符内码紧接在字符特征码之后,也存入存储器内,以供将来识别字符时,利用所述字符的特征码直接查找所述字符的内码;欲识别某一字符时,先利用笔划检出技巧来检出所述字符的笔划,再利用一种或数种扫描方式得到所述字符的一种或数种特征码,然后,利用这些特征码到对应扫描方式的存储器中,直接查找所述字符的内码,以识别所述字符。
2.如权利要求1所述方法,其特征为所述笔划检出技巧是按照文字字体笔划的特性,确定笔划检出参数,然后以此参数作为检出笔划的信息,以直接跟踪字符影象中具有连接性的黑色区域,随其长度及方向的变化情况,来检出笔划。
3.如权利要求2所述方法,其特征为所述笔划检出技巧是将每个字符图象的黑色部分,先转换为特殊区间图内节点与节点之间的关系,简化此特殊区间图,最后分解此特殊区间图,以检出笔划。
全文摘要
本发明涉及一种具有学习能力的文字识别方法,此方法利用字符的各笔划类型与排列顺序作为特征码而先对字符进行学习,再利用赫序(Hash)将学习的字符特征码与内码存入存储器内,当要识别一字符时,先求出此字符的特征码,再到存储器中取出字符之内码,达到快速识别的效果。本发明还包括两种独特而且不需要对文字图象作标准化及细化处理的笔划检出方法,再利用所检出笔划的各种不同排列顺序为特征,来达到字符的学习与识别目的。
文档编号G06K9/18GK1075565SQ9210090
公开日1993年8月25日 申请日期1992年2月15日 优先权日1992年2月15日
发明者曾怜玉, 庄振村 申请人:曾怜玉, 庄振村