模板优化的字符识别方法和系统的制作方法

文档序号:6636115阅读:748来源:国知局
专利名称:模板优化的字符识别方法和系统的制作方法
技术领域
本发明涉及一种字符识别方法和系统,尤其涉及一种模板优化的统计模式识别法和执行该方法的系统。
背景技术
我国汉字识别技术的研究工作起始于八十年代初,其发展主要经历了两个阶段。第一阶段是整个八十年代,这一阶段主要研究的是汉字识别的各种算法及识别方案探索。第二阶段从九十年代开始,汉字OCR技术进入了一个重要、蓬勃发展的时期,将实验室的研究成果推向市场,并出现了不少的汉字识别新算法和新技术。
目前,印刷体汉字识别技术已经很成熟,算法种类繁多,但基本都是包括输入、预处理、识别、后处理等几个环节。这里,预处理包括二值化、去噪、纠斜、版面分析、切分、归一化等过程,识别包括预分类、单字识别等过程。其中,识别部分是汉字识别系统的核心。
识别方法主要有统计模式识别和结构模式识别两大类。结构模式识别是设法提取文字的结构特征及其组字规律,用这些信息作为识别汉字的依据。统计模式识别发展较早,也比较成熟,要点是提取待识模式的一组统计特征,然后按照一定的准则确定决策函数,并根据该决策函数进行分类判断。其中,模板匹配法就是统计模式识别中的一种经典的方法。模板匹配法首先要提取标准汉字模式的特征,将这些特征集合存储起来称作字典,识别时将待识模式与字典中的标准汉字模式特征一一匹配。如1985年4月1日提交的公开号为CN85100085的中国专利申请,公开了一种印刷汉字识别装置,提取汉字笔划与背景点存储,以执行自上而下地进行模板匹配的方法。这种方法具有匹配简单、抗干扰能力强等特点,但也存在着一定的不足,如在支持汉字、字体较多的情况下,需要存储与匹配的模式特征的数据量就会大大地增加。

发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种利用公共模板进行字符识别的方法和系统。
就本发明一方面来说,所提出的字符识别方法包括步骤由训练字符集中至少一个训练字符构成一个字型,将所述字型逐次放到与其在不同组成部分上相似的字型所组成的不同待聚类集合中进行聚类并提取公共模板,将提取出来的所述字型的多级公共模板保存起来;参考提取出来的多级公共模板,提取所述字型的最后一级公共模板并保存起来;对于每个字型,将其内码与指向其各级公共模板的指针对应存储,以生成所述字型的索引表;对待识字符集进行识别时,将一个待识字符与找到的一个字型索引表所指向的各级公共模板进行逐级匹配并记录匹配结果,以获取候选字符。
上述方法中,在与查找到的字型索引表所指向的一级公共模板进行匹配之前,如果已经有匹配记录,则直接应用所记录的匹配结果来确定与所述公共模板是否匹配。
上述获取候选字符的步骤进一步包括如果与各级公共模板都匹配,则将相应内码所表示的文本字符作为所述待识字符的候选字符;如果与其中一级公共模板不匹配,则终止与该字型的匹配,与查找到的下一个字型索引表所指向的公共模板进行逐级匹配。
上述方法中,提取所述字型的多级公共模板并存储起来进一步包括A、查找与一个字型在第一组成部分上相似的字型,将找到的字型与所述字型放到同一待聚类集合中进行聚类,以抽取相似部分作为集合中每个字型的第一级公共模板并保存起来;B、对于所述字型余下的部分,查找对应部分相似的字型,将找到的字型与所述字型放到同一待聚类集合中进行聚类,以抽取相似部分作为集合中每个字型的下一级公共模板并保存起来;C、重复步骤B,提取第一字型的多级公共模板并保存起来。
上述方法中,第一级公共模板是偏旁公共模板,第二级公共模板是类公共模板。
上述方法中,第一级公共模板是类公共模板,第二级公共模板是偏旁公共模板。
上述方法中,步骤A进一步包括挑选待提取偏旁,查找与所述字型偏旁相同的字型,将找到的字型与所述字型放在同一待聚类集合中进行聚类,对类中所有字型点阵叠加以生成集合中每个字型的偏旁公共模板。
上述方法中,步骤A进一步包括在字体相似的字型点阵上框出一块完全包含待提取偏旁的区域,作为点阵叠加的掩码区域。
上述方法中,步骤B进一步包括用掩码掩去第一字型中被提取偏旁公共模板的部分,剩下的部分与其它字型共同参与类公共模板的提取。
上述方法中,步骤B进一步包括基于初始化粗分类跳变规则来查找与第一字型对应部分相似的字型。
上述步骤B中,对待聚类集合进行收集的过程与对集合内字型进行聚类的过程交叉进行,在一个预定阈值下收集到一个待聚类集合中但未聚类成功的字型,参与下一次待聚类集合的收集。
上述方法中,在识别一个待识字符的过程中找到一个字型索引表,是按照所述待识字符的外形特征查找正确分类而找到的。
上述方法中,训练字符集中每个训练字符都是一个字型。
上述方法中,每个字型的字体信息连同其内码一起保存在字型索引表中。
上述方法中,字型是通过从训练字符集中选择内码相同字体不同的单字符点阵进行聚类并对聚在一块的字符进行点阵叠加而形成的。
上述方法中,形成一个字型的各个字符的字体信息之一连同所述字型的内码一起保存在所述字型的索引表中。
上述方法中,进一步提取形成所述字型的各个字符的差异部分,作为所述字型的变体模板并保存起来,指向所述字型每个变体模板的指针与形成所述变体模板的各个字符的字体信息之一对应起来保存在所述字型的索引表中。
上述方法中,获取候选字符的步骤进一步包括如果与各级模板都匹配,则将相应的内码和字体信息共同表示的文本字符作为所述待识字符的候选字符;如果与其中一级模板不匹配,则终止与所述字型的匹配,与查找到的下一个字型索引表所指向的公共模板进行逐级匹配。
上述方法中,如果与各级模板都匹配则将相应的内码和字体信息共同表示的文本字符作为所述待识字符的候选字符进一步包括如果找到的一个字型索引表中包括指向多个变体模板的指针,则所述待识字符在与表中指针指向的各级公共模板都匹配成功之后,只要与其中一个变体模板匹配成功,就认为所述字型匹配成功。
就本发明另一方面来说,所提出的字符识别系统包括模板生成部分和字符识别部分,字符识别部分包括识别单元;模板生成部分包括字型存储单元、公共模板提取单元、模板输出单元和字典。其中,公共模板提取单元包括多级公共模板提取模块和最后一级公共模板提取模块,字典包括字型索引表存储模块和模板存储模块。
多级公共模板提取模块,用于针对字型存储单元内所有字型中一个字型的不同组成部分,依次在由对应部分相似的字型组成的不同待聚类集合中进行聚类并提取出该字型的各级公共模板;最后一级公共模板提取模块,用于参考提取出来的多级公共模板,提取所述字型的最后一级公共模板;模板输出单元,用于接收公共模板提取单元提取出来的所述各级公共模板并保存到模板存储模块中,而且将指向模板存储模块中所述字型各级公共模板的指针保存到字型索引表存储模块内所述字型的索引表中;识别单元包括公共模板匹配模块,用于将一个待识字符与找到的一个字型索引表中指针指向的公共模板进行逐级匹配。
上述识别单元还包括候选字符输出模块,用于所述待识字符在公共模板匹配模块内与所述表中指针指向的各级模板都匹配成功的时候,将相应内码所表示的文本字符作为候选字符输出。
上述系统中,模板生成部分进一步包括字型生成单元,用于从训练字符集中选择内码相同字体不同的单字符点阵进行聚类并对聚在一块的字符进行点阵叠加,将叠加而成的字型保存到字型存储单元中。
上述系统中,模板生成部分进一步包括变体模板提取单元,用于提取形成所述字型的各个字符的差异部分,作为所述字型的各个变体模板。
上述系统中,模板输出单元还用于接收变体模板提取单元提取出来的变体模板并保存到字典的模板存储模块中,而且将指向模板存储模块中一个字型所有变体模板的指针保存到索引表存储模块内所述字型的索引表中。
上述系统中,识别单元进一步包括变体模板匹配模块,用于待识字符由公共模板匹配单元与找到的字型索引表中指针指向的各级公共模板都匹配成功之后,与所述表中指针指向的变体模板进行匹配。
上述系统中,识别单元进一步包括分类器,用于按照所述待识字符的外形特征查找正确分类,以便模板匹配模块与找到的所述分类中的字型索引表所指向的模板进行逐级匹配。
本发明具有以下优势根据字符点阵的特点提取不同字符间的公共部分,从而减小了字典的存储量;无论匹配成功与否,公共模板上的点不必重复匹配,从而提高了字符识别系统的识别速度。因此,从这两个角度出发优化了以模板点为特征基础的模式识别系统


通过阅读下面结合附图对本发明实施例进行的描述,本发明的这些和其他优势将更容易理解。
图1是根据本发明一个实施例的识别系统总体框图;图2是按照本发明一个实施例的模板生成阶段的流程图;图3示出按照本发明一个实施例进行偏旁公共模板提取的流程图;图4示出按照本发明一个实施例在进行类公共模板提取的流程图;图5是以一个具体字符为例说明本实施例的字型指针效果图;图6是按照本发明一个实施例通过模板匹配对字符进行识别的流程图;图7进一步详细描绘了图6所示的实施例的字符识别流程。
具体实施例方式
在统计模式识别法中,汉字特征是以n维向量X=[x1,x2,…,xn]的形式表示的,字典中包含每类汉字的n维特征向量。识别某个汉字就是用距离和/或相似度公式,判别该汉字的n维特征向量和字典中哪类标准汉字的n维特征向量最接近。距离度量通常有欧氏距离、城市块距离和马氏距离等,常用的距离和相似度公式分别如公式(1)和(2)所示D(X,G)=Σi=1n[X(i)-G(i)]2...(1)]]>R(X,G)=(X,G)/(|X||G|)(2)式(1)中,D(X,G)表示向量X和G之间的欧氏距离。式(2)中,R(X,G)表示相似度,(X,G)为向量X和G的内积,|X|、|G|分别表示向量X和G的模。
本发明的字符识别方法是一种统计模式识别法,基于用点来存储汉字特征的识别系统。现有的汉字识别系统中,是将每个汉字的特征点组合成一个点的序列存储,汉字的特征点比如从笔划提取的普通点以及交点、拐点等各种特殊点,每个点的序列称为一个模板。识别时,将待识别点阵与每一个模板进行匹配。因为提取汉字模板点时,一般都将汉字归一化为48×48的点阵,在很多相似的字型上就会提取大量相同或相近的模板点。当系统包含大量的汉字时,很多点都是重复存储的,识别时,这些相同的点又会被重复的匹配,因此在速度和存储空间上造成了浪费。
本发明的字符识别方法包括模板生成阶段和利用模板进行字符识别的阶段。这样一种方法优越性主要体现在两方面,模板生成阶段中各级模板的提取过程和识别阶段中待识别字符点阵与模板逐级匹配的过程。各级模板的提取过程包括步骤提取偏旁公共模板,提取类公共模板,提取字型公共模板,还可以进一步包括提取变体模板的步骤。利用模板进行字符识别的阶段通常包括三个过程,字符识别的预处理过程、字符识别过程和字符识别的后处理过程。
本发明所支持的字体、字数较多,拿这种大字符集直接进行聚类的话,计算起来将非常复杂而且聚类结果不利于供提取公共模板使用。因此为了提高聚类效率与聚类结果使用上的便利,下述实施例中所有公共模板的提取,都是将待提取字符按照某种规则分组收集,然后对各组内的字符进行聚类。
图1是根据本发明一个实施例的识别系统总体框图,点划线以上为字符识别部分11,点划线以下为模板生成部分12。
模板生成部分12包括图像输入单元101,它可以是扫描仪、传真机或数码相机等图像输入装置,还包括预处理单元102、字型生成单元121、字型存储单元122、公共模板提取单元123、变体模板提取单元124、模板输出单元125和字典126。其中,公共模板提取单元123包括多级公共模板提取模块1231最后一级公共模板提取模块1232,字典126包括字型索引表存储模块1261和模板存储模块1262。
图像输入单元101用于将输入的打印文档或手写文档转换为数字图像数据。预处理单元102用于在原始的图像数据上进行去除噪声、二值化等预处理,然后进行行列切分,逐个提取单个字符点阵,将所得到的单字符点阵归一化成标准的48×48点阵。字型生成单元121用于从预处理后的训练字符集中选择内码相同字体不同的单字符点阵进行聚类并对聚在一块的字符进行点阵叠加,将叠加而成的字型保存到字型存储单元122中。公共模板提取单元123中的多级公共模板提取模块1231用于针对字型存储单元122内所有字型中一个字型的不同组成部分,依次在由对应部分相似的字型组成的不同待聚类集合中进行聚类并提取出该字型的各级公共模板。最后一级公共模板提取模块1232,用于参考提取出来的多级公共模板,提取该字型的最后一级公共模板。变体模板提取单元124用于提取形成该字型的各个字符的差异部分,作为该字型的各个变体模板。模板输出单元125用于接收公共模板提取单元123和变体模板提取单元124为一个字型依次提取出来的各级公共模板和变体模板,并将收到的模板保存到模板存储模块1262中,而且将指向模板存储模块1262中该字型各级公共模板的指针和指向其中该字型所有变体模板的指针保存到字型索引表存储模块1261内该字型的索引表中。由此可见,字典126中的模板存储模块1262是用来保存公共模板提取单元123和变体模板提取单元124提取出来的各级公共模板和变体模板的数据库。
应当指出,倘若某字型上述三级公共模板的和能够使其和其他字型区分开,则对于这个字型来说不需要变体模板提取单元124。而当形成一个字型的内码相同字体相似的字符组中存在若干个差异较大的字符时,公共模板提取单元123可以从这个字符组中提取出来的公共模板点过少。因此,提取出来的上述三级公共模板的组合不足以使该字型和其他字型区分,这时可以将比较相似的字符放在一起,以便差异较大的字符被分到不同组中,在公共模板点之外的差异部分上提取这些重新组合起来的字符的公共点,从公共点中选取一些点作为该字型的一个变体模板,从而增加了字型间的区分点。
优选的是,模板生成部分包括字型生成单元121。不过,该部分也可以不包括字型生成单元121,从图像输入单元101输入的训练字符集经过预处理后,直接发送给公共模板提取单元123进行处理。在这种情况下,是将不同字体相同内码的字符作为不同字型来对待,以单个字符作为多级公共模板提取的基本单元。
在上述字型索引表中,字型的内码连同该字型的字体信息一起与指向该字型各级公共模板的指针对应存储。字型的字体信息有可能采用以下三种形式存储在字型索引表中。一种形式,字型的字体是从形成该字型的各个字符所属的不同字体中选出的一种有代表性的字体,一个字型内码对应一种字体;另一种形式,字型的字体是从形成该字型一个变体模板的各个字符所属的不同字体中选出的一种有代表性的字体,一个字型多个变体模板中的每一个对应一种字体;第三种形式,在模板生成部分不包括字型生成单元121的情况下,一个字型就对应该字型所属的字体。当字型索引表中包括该字型的字体信息时,字符识别系统既能够将待识字符转换成正确的文本字符,又能够使转换后的文本字符具有正确或近似正确的字体。当然,字型索引表中也可以不包含该字型的字体信息,转换后的文本字符统一采用一种指定的字体。可见,这样的字符识别系统不能够识别待识字符的字体。
字符识别部分11同样也包括图像输入单元101和预处理单元102,此外还包括识别单元111、后处理单元112和文本数据输出单元113。其中,识别单元111包括分类器1111、公共模板匹配模块1112、变体模板匹配模块1113和候选字符输出模块1114。
图像输入单元101和预处理单元102在字符识别部分11与在模板生成部分12中使用的差别在于处理对象不同。它们在字符识别部分11中处理的是待识别数据,而在模板生成部分12中处理的是训练字符集。分类器1111用来按照所述待识字符的外形特征查找正确分类,以便公共模板匹配模块1112和变体模板匹配模块1113将一个待识字符与找到的所述分类中所包含字型的索引表所指向的模板进行逐级匹配。候选字符输出模块1114用于所述待识字符在公共模板匹配模块1112和变体模板匹配模块1113内与该字型索引表中指针指向的各级模板都匹配成功的时候,将相应内码所表示的文本字符作为候选字符输出,同时输出所生成的表示各个候选字符与对应的图像数据匹配程度的数值。后处理单元112用于在获得的候选字符的基础上通过上下文关系来校正识别单元111的误识别结果。文本数据输出单元113用于输出已被转换成正确文本数据的文档。
优选的是,字符识别部分包括分类器1111,分类的目的是在一个大的字符集中快速选出一个数目相对很小的候选字符子集,并保证这个子集中包含待识别字符所属正确类别的概率尽可能大。不过,字符识别部分也可以不包括分类器1111,从图像输入单元101输入的待识别字符集经过预处理后,直接传输给识别单元111中的模板匹配模块1113,按照任意顺序与每个字型索引表指向的字典126中的模板进行逐级匹配。显然,在这种情况下匹配速度将比前端有分类器的模板匹配模块的速度低得多。
倘若某个待识字符与一个只包括各级公共模板的字型匹配成功,那么不必对该待识字符进行后续的变体模板的匹配,即对于这个待识字符来说不需要变体模板匹配模块1113。
倘若待识字符与某个字型的某级公共模板进行匹配时,该公共模板在前期其他字型匹配时已经匹配过,那么不必对该公共模板进行重复匹配,只要应用前面输出的匹配距离即可。
下面参照图2,描述图1中模板生成部分12按照本发明一个实施例进行操作的过程。
首先在步骤201,输入训练样本集。大量实际采集所得的多字体字符样本通过图像输入单元101,例如扫描仪、传真机或数码相机等,转换成图像数据。
在步骤202,对来自图像输入单元101的图像数据进行预处理。利用现有技术对原始图像数据进行去除噪声、二值化等必要的预处理。对预处理后的图像数据进行版面分析以及单字符切分。而后,将所得到的单字符点阵归一化成标准的48×48点阵。
在步骤203,对每一个归一化后的单字符点阵,标定其对应的文本字符的内码与字体。挑出内码相同字体不同的字符点阵组成待聚类集合,对每个待聚类集合中各个字符点阵进行聚类,将聚在一起的字符进行点阵叠加以形成一个字型。因此,形成一个字型的所有字符所属的各种字体组成一个字体组,字体组中的字体都是很相似的。从字体组中选出的一种有代表性的字体作为该字型的字体。
在字体聚类后,以字型为基本单元分别在步骤204上提取偏旁公共模板、在步骤205上提取类公共模板、在步骤206上提取字型公共模板。
有的字型用上述三种模板的和不足以使其和其他字型区分,这时在步骤207上对该字型的公共模板进行区分性学习,从而生成变体模板。
偏旁公共模板的提取偏旁公共模板提取是在字体聚类后,以字型为基本单元进行操作的。同一个待聚类集合中的各个字型是按照相同偏旁与相似字体来收集的,按偏旁之间的相似程度在集合中进行聚类,对聚到同一类中的字型提取偏旁的公共部分,形成偏旁公共模板。图3示出按照本发明一个实施例进行偏旁公共模板提取的流程图。
在步骤301中挑选待提取偏旁。待提取偏旁要具备以下三个特征第一,偏旁笔画较少,在整个汉字中所占的位置不要超过一半;第二,属于该偏旁的字型的数量较多;第三,偏旁在整个字型中的位置,左右结构中要选取左偏旁,上下结构中选取上偏旁。
在步骤302,以每一个待提取偏旁为核心,将属于同一偏旁的字型挑出形成文本文件,称为偏旁序列文本文件。
在步骤303,将偏旁相同而且字体相似的所有字型收集起来,组成一个待聚类集合。重复这个过程,直到所有偏旁相同字体类似的字型都划分到相应的待聚类集合中。
在步骤304,对于一个待聚类集合,根据其中一个字型所包含的待提取偏旁的形状、位置、大小,在标准48×48点阵上框出一块完全包含该偏旁的区域,从而得到这个待聚类集合的掩码区域。重复这个过程,直到所有待聚类集合都被手工创建了掩码区域。所有这样的区域以字体和偏旁内码为索引存储在掩码字典中。
因为偏旁相同字体相似的字型在偏旁部分十分相似,而且掩码区域不需要严格的准确,所以用一个字型作代表做出掩码即可。掩码存储在掩码字典中,可见掩码字典是一种用来存储掩码的数据库。如果在点阵叠加时不提供掩码区域,就会扩大差异区域,影响聚类效果。
在步骤305,对于每个待聚类集合,按偏旁的相似程度对集合中的各个字型进行聚类。将聚在一起的字型进行点阵叠加,在掩码区域根据点阵提取笔划及背景上的公共点,作为该待聚类集合中各个字型的偏旁公共模板。
在步骤306,将提取出来的偏旁公共模板保存在字典126所包括的模板存储模块1262中,为每个字型建立指向模板存储模块1262中相应偏旁公共模板的指针,并将字型的内码和字体与指向该字型偏旁公共模板的指针对应起来保存到字典126所包括的字型索引表存储模块1261中,从而建立起该字型的索引表。
最后,在步骤307上用掩码掩去有偏旁公共模板字型的偏旁部分的点阵,剩下的部分与其他字型共同参与类公共模板的提取。
类公共模板的提取类公共模板提取是在偏旁公共模板提取之后进行操作的。待聚类字型集合是通过识别系统中预分类的粗分类来界定的。这里的粗分类是字符识别中任意一种预分类方法,例如按点阵几何形状计算的粗分类。在现有技术中几乎所有的文字识别都要有粗分类这一步。因为本实施例的识别过程是以粗分类为单位进行跳变的,那么相同公共模板的字型聚集在同一个粗分类或邻近的粗分类之间,更能有效地提高识别速度。
类公共模板求取过程中的聚类是在屏蔽了点阵偏旁的情况下进行的,因此降低了偏旁的干扰。收集到同一待聚类集合中的各个字型按照屏蔽偏旁后的点阵的相似度聚类。对于聚好的每一个类,类中所有字型点阵叠加,分别生成前景背景点阵,提取公共模板点,作为这一类字型中每个字型的类公共模板。若公共模板点过少,则将如上所述聚合而成的大类拆分为两个小类,重新求取模板。
类公共模板提取与偏旁公共模板提取不同。在进行偏旁公共模板的提取时,分组方式是不重叠的,即一个字型属于哪个待聚类集合是确定的,因此聚类只在一个集合中循环进行。而进行类公共模板的提取时,分组对于字型的归属界限不是绝对的,一个字型可能属于某一个分组也可能属于该分组的一个相邻分组,因此有存在冗余的必要,类公共模板提取过程中待聚类集合中字型的收集与聚类过程是交叉进行的。
图4示出按照本发明一个实施例在进行类公共模板的提取时,收集待聚类字型与聚类穿插在一起的整个过程。
首先,在步骤401上初始化粗分类跳变规则。类公共模板提取中,待聚类字型的分组收集是通过识别系统中预分类的粗分类来界定的。因为识别的过程是以粗分类为单位进行跳变的,而粗分类通常不是一维编码,所以需要首先初始化分类跳变规则。对于每一个粗分类而言,其他粗分类按照与该分类的距离,基于一定的规则排列成一维序列,比如按照与该粗分类的距离由小到大的顺序排列。
在步骤402上创建空聚合链表,并设定一个初始的相似度阈值。在本实施例中,相似度是指字型归一化点阵叠加起来之后相同点的数量,因此根据经验将初始的相似度阈值设定为归一化点阵总点数的0.6左右。
在步骤403上找到第一个粗分类。
在步骤404上以所找到的粗分类为中心收集字型。以该粗分类为基准四周跳变选择满足阈值的待聚类字型,如果该字型已经存在于某个聚类中,则跳过。
在判定步骤405上检测收集到的字型数量是否达到一个预定数值以及分类跳变是否达到一定程度。如果收集到的字型数少于该数值并且分类跳变还未远到一定程度,则在步骤406上根据步骤1中给定的编码分类规则,跳变到下一个粗分类。接着流程返回到步骤404,以这个粗分类为中心重新收集字型。此流程在步骤404-405上循环,直到足够多的字型(比如100个以上)参与聚类或分类跳变足够远时,流程就继续进行到步骤407。
在步骤407,在这个字型数足够多的待聚类集合内,按照字型与相应的粗分类之间的相似度进行聚类,并将合格分类放入聚合链表。
然后,在判定步骤408上检测是否所有粗分类都已经在该阈值下收集过。若否,则在步骤209上找到一个未收集过的粗分类。接着流程回到步骤204,以这个粗分类为中心重新收集字型。若是,则流程继续进行到步骤410。
在判定步骤410上检测相似度阈值是否已经降低到一定程度,例如归一化点阵总点数的0.2以下。如果降到预定数值以下,则流程继续进行到步骤412。否则,在步骤411上降低阈值,而后重复步骤403-410。
在步骤412上输出聚合链表,并创建类公共模板。
最后,在步骤413上将创建的类公共模板保存在字典126的模板存储模块1262中,为每个字型建立指向模板存储模块1262中相应类公共模板的指针,并将指向该字型类公共模板的指针保存到字典126的字型索引表存储模块1261中相应的字型索引表中。
对于聚好的每一个类,将类中所有字型点阵叠加,由先前的描述可知这时的点阵是屏蔽了偏旁的点阵,从而生成前景背景点阵,提取公共模板点作为该类字中每一个字型的类公共模板。若公共模板点过少,将聚好的大类拆分为两个小类,重新求取模板。
应当注意的是,在统计模式识别中偏旁公共模板的提取和类公共模板的提取作为两个过程,它们的先后次序并不是固定不变的。在生成公共模板的实际过程中,可以根据具体情况决定先进行哪一个过程。
字型公共模板的提取字型公共模板的提取是在类公共模板提取之后进行操作的。由于事先已经将内码相同字体不同的单字符点阵聚类成字型,所以提取字型公共模板时字型已存在,不需要再次聚类。这一级模板的提取是参考偏旁和类公共模板的点,在字型前、背景样张上分别提取笔划点和背景点。也就是说,一个字型经过偏旁和类公共模板提取之后,在该字型提取了偏旁和类公共模板点的位置上不需再提取字型模板点。
倘若某字型上述三种模板的和不足以使其和其他字型区分,则对模板进行学习,通过参考该字型的各级公共模板来提取形成该字型的各个字符的差异部分,从而生成变体模板,以增加字型间的区分点。
各级公共模板的创建完成而且保存在模板存储模块1262中之后,每一个字型包括指向相应的偏旁、类和字型公共模板的指针,也可以进一步包括指向变体模板的指针,将该字型的内码和字体与指向其各级模板的各个指针对应存储,从而生成该字型的索引表。图5是以一个具体字符为例说明根据本实施例所得到的字型索引表,图中示出字体为方正姚体的“扯”字内码与指向其各级公共模板的指针对应存储在该字型的索引表中,指向“扯”字每一级公共模板的指针都指示了该级公共模板在模板存储模块1262中的存储地址。通过该字型的偏旁公共模板指针,可以找到模板存储模块1262中地址A03处保存的“扯”字的偏旁公共模板(用●表示)。类似地,通过类公共模板指针,可以找到模板存储模块1262中地址B10处保存的“扯”字的类公共模板(用■表示)。仍然类似,通过字型公共模板指针,可以找到模板存储模块1262中地址C07处保存的“扯”字的字型公共模板(用□表示)。从图5还可以看出,“扯”、“扮”、“拌”等多个字型公用一个偏旁公共模板,“扯”、“杜”、“址”等多个字型公用一个类公共模板。图5所示的字型只包含一种字体,否则,字体相似的多个“扯”字将公用一个字型公共模板。如果这些不同字体之间差异较大的话,还将生成“扯”字的变体模板。
按照本实施例对待识字符进行识别时前期过程与传统的字符识别方法相同,是根据待识点阵的外形特征找到待识字符所在的粗、细分类。不同的是,传统方法是将待识字符与这些小分类中各个字型的模板进行匹配,而本发明是与各个字型的公共模板进行逐级匹配。只有待识点阵与该字型所有各级模板的匹配距离之和较小时,才认为匹配成功。
图6是按照本发明通过模板匹配对字符进行识别的流程图。待识字符在与一个字型的某一级公共模板进行匹配时,需要记录匹配结果并执行如图6所示的操作。首先在步骤601,查看这一级公共模板是否在先前的字型匹配过程中被匹配过。若没有匹配过,则在步骤602中与之匹配,并记录匹配距离。若匹配过,则在步骤603中根据匹配记录直接累加先前输出的匹配距离,不再重复匹配。接着,在步骤604中查看累加后的匹配距离,并分两种情况处理。若匹配距离较小,则在步骤605中在该距离基础上继续匹配该字型的其他模板。若距离足够大,则认为该字型与待识点阵不匹配,不再匹配该字型的其他模板,结束整个流程。
由此可见,本实施例所述方法对于识别速度的提高,主要体现在识别流程中待识点阵与字型的各级模板的匹配过程中。一方面,只要某个待识字符与一个字型的一级公共模板匹配过一次,以后的若干个待识字符与该公共模板进行匹配时都可以应用第一次匹配的记录,而不必重复匹配。另一方面,一个待识字符在与一个字型的各级模板进行逐级匹配时,只要其中一级模板匹配不成功,就不再与该字型的其他模板进行匹配。因此,从这两方面来说都大量地节省了重复性匹配的过程。
图7进一步详细描绘了图6所示的实施例的字符识别流程。字符识别的前期过程采用跟模板生成前期过程同样的处理,首先将纸件文档转换成图像数据,然后进行去噪声、二值化等必要的预处理,对预处理后的数据作版面分析以及单字符切分从而获得单字符点阵,将所得到的单字符点阵归一化成标准的48×48点阵。
参考现有技术中粗细分类识别技术,计算归一化后的字符点阵的粗细分类编码,然后按照粗细分类跳变规则找到一个小分类,基于这个小分类所包含的各个字型的索引表进行模板匹配,具体步骤如下在步骤701,对于该分类中第一个字型索引表,将待识字符点阵与该索引表中指针指向的偏旁公共模板作匹配,并记录匹配距离。在判定步骤702上检测偏旁公共模板是否拒识。如果拒识,则终止与该偏旁公共模板的匹配并返回步骤701,查找下一个字型索引表以进行模板匹配。否则,流程继续进行到步骤703。
在步骤703上,将待识字符点阵与类公共模板作匹配,记录匹配距离并将该匹配距离同偏旁公共模板匹配距离相加。在判定步骤704上检测类公共模板是否拒识,以及类公共模板匹配距离与偏旁公共模板匹配距离之和是否大于预定阈值。如果拒识或大于预定阈值,则终止与该类公共模板的匹配并返回步骤701,查找下一个字型索引表以进行模板匹配。否则,流程继续进行到步骤705。
在步骤705,将待识字符点阵与字型公共模板作匹配,记录匹配距离并将该匹配距离同偏旁和类公共模板匹配距离相加。在判定步骤706上检测字型公共模板是否拒识,以及字型公共模板距离与偏旁和类公共模板距离之和是否大于预定阈值。如果拒识或大于预定阈值,则终止匹配并返回步骤701,查找下一个字型索引表以进行模板匹配。否则,流程继续进行到步骤707。
在步骤707,将待识字符点阵与变体模板作匹配,记录匹配距离并将该匹配距离同偏旁、类和字型公共模板匹配距离相加。在判定步骤708上检测变体模板是否拒识,以及变体模板距离与偏旁、类和字型公共模板距离之和是否大于预定阈值。如果拒识或大于预定阈值,则终止匹配并返回步骤701,与下一个字型进行模板匹配。否则,指向上述各级模板的指针所对应的字型内码和字体,结合起来表示的文本字符在步骤709上被加入到候选字符列表中。
在判定步骤710上检测候选字符的匹配距离是否小于一个预定阈值。如果小于该阈值,则在判定步骤711上认为该候选字符是待识字符的正确字符。在这一步骤,终止匹配并返回步骤701,与下一个字型进行模板匹配。
否则,在步骤712上根据分类的远近、字体、可信度等标准对加入的候选字符进行伸缩匹配。伸缩匹配就是按照一定的规则调整模板点的位置,减小由于文字点阵受到挤压、膨胀、移位等变形带来的影响。为了避免匹配距离的计算出现偏差造成误识别,进行伸缩匹配时,变体模板与类公共模板、偏旁公共模板、字型公共模板要组合在一起计算。也就是说,将这四个模板结合成一个模板,按同一个规则伸缩匹配。
重复步骤701至710,直到该待识别字符与该类中所有字型都进行过模板匹配为止。
如果找到的一个字型索引表中包括指向多个变体模板的指针,则所述待识字符在与表中指针指向的各级公共模板都匹配成功之后,只要与其中一个变体模板匹配成功,就认为所述字型匹配成功并将相应的内码和字体信息共同表示的文本字符作为候选字符。
前面的描述已经指出,本发明公共模板的提取顺序可以改变,比如先提取类公共模板再提取偏旁公共模板。另外还应当指出,待识别字符与各级公共模板进行匹配的顺序与这些公共模板被提取出来的顺序无关,而且模板匹配的顺序可以改变,比如先匹配类公共模板再匹配偏旁公共模板。就匹配顺序来说,优选的是先与所包含字型的数量较多的公共模板进行匹配。
实验结果表明,通过采用本发明,一个可以识别国标GBK2312全部汉字、56种字体的印刷汉字识别系统在不降低识别率的情况下,字典126中的模板存储量只有原来的3/5。文件尺寸锐减的原因在于,不必为每个字型都存储一个对应模板,只需要存储多个字型共用的模板。这样的话,就可以将字典126的模板存储模块1262中所存储的一个偏旁公共模板、一个类公共模板和一个字型公共模板组合起来作为对应字型的模板,有时还要进一步组合一个变体模板。通过采用本发明,字符识别过程中模板匹配时间仅占原匹配时间的1/2左右。
由此看来,本发明极大地降低了印刷体汉字识别系统信息的冗余量,对提高识别速度及减小字典存储量起到了显著的优化作用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种模板优化的字符识别方法,该方法包括步骤由训练字符集中至少一个训练字符构成一个字型,将所述字型逐次放到与其在不同组成部分上相似的字型所组成的不同待聚类集合中进行聚类并提取公共模板,将提取出来的所述字型的多级公共模板保存起来;参考提取出来的多级公共模板,提取所述字型的最后一级公共模板并保存起来;对于每个字型,将其内码与指向其各级公共模板的指针对应存储,以生成所述字型的索引表;对待识字符集进行识别时,将一个待识字符与找到的一个字型索引表所指向的各级公共模板进行逐级匹配并记录匹配结果,以获取候选字符。
2.如权利要求1所述的方法,其特征在于在与找到的字型索引表所指向的一级公共模板进行匹配之前,如果已经有匹配记录,则直接应用所记录的匹配结果来确定与所述公共模板是否匹配。
3.如权利要求1或2所述的方法,其特征在于所述获取候选字符的步骤进一步包括如果与各级公共模板都匹配,则将相应内码所表示的文本字符作为所述待识字符的候选字符;如果与其中一级公共模板不匹配,则终止与该字型的匹配,与查找到的下一个字型索引表所指向的公共模板进行逐级匹配。
4.如权利要求1所述的方法,其特征在于提取所述字型的多级公共模板并存储起来进一步包括A、查找与一个字型在第一组成部分上相似的字型,将找到的字型与所述字型放到同一待聚类集合中进行聚类,以抽取相似部分作为集合中每个字型的第一级公共模板并保存起来;B、对于所述字型余下的部分,查找对应部分相似的字型,将找到的字型与所述字型放到同一待聚类集合中进行聚类,以抽取相似部分作为集合中每个字型的下一级公共模板并保存起来;C、重复步骤B,提取第一字型的多级公共模板并保存起来。
5.如权利要求4所述的方法,其特征在于第一级公共模板是偏旁公共模板,第二级公共模板是类公共模板。
6.如权利要求4所述的方法,其特征在于第一级公共模板是类公共模板,第二级公共模板是偏旁公共模板。
7.如权利要求5所述的方法,其特征在于步骤A进一步包括挑选待提取偏旁,查找与所述字型偏旁相同的字型,将找到的字型与所述字型放在同一待聚类集合中进行聚类,对类中所有字型点阵叠加以生成集合中每个字型的偏旁公共模板。
8.如权利要求7所述的方法,其特征在于步骤A进一步包括在字体相似的字型点阵上框出一块完全包含待提取偏旁的区域,作为点阵叠加的掩码区域。
9.如权利要求8所述的方法,其特征在于步骤B进一步包括用掩码掩去第一字型中被提取偏旁公共模板的部分,剩下的部分与其它字型共同参与类公共模板的提取。
10.如权利要求9所述的方法,其特征在于步骤B进一步包括基于初始化粗分类跳变规则来查找与第一字型对应部分相似的字型。
11.如权利要求10所述的方法,其特征在于所述的步骤B中,对待聚类集合进行收集的过程与对集合内字型进行聚类的过程交叉进行,在一个预定阈值下收集到一个待聚类集合中但未聚类成功的字型,参与下一次待聚类集合的收集。
12.如权利要求1所述的方法,其特征在于在识别一个待识字符的过程中找到一个字型索引表,是按照所述待识字符的外形特征查找正确分类而找到的。
13.如权利要求1所述的方法,其特征在于训练字符集中每个训练字符都是一个字型。
14.如权利要求13所述的方法,其特征在于每个字型的字体信息连同其内码一起保存在字型索引表中。
15.如权利要求1所述的方法,其特征在于所述字型是通过从训练字符集中选择内码相同字体不同的单字符点阵进行聚类并对聚在一块的字符进行点阵叠加而形成的。
16.如权利要求15所述的方法,其特征在于形成一个字型的各个字符的字体信息之一连同所述字型的内码一起保存在所述字型的索引表中。
17.如权利要求16所述的方法,其特征在于进一步提取形成所述字型的各个字符的差异部分,作为所述字型的变体模板并保存起来,指向所述字型每个变体模板的指针与形成所述变体模板的各个字符的字体信息之一对应起来保存在所述字型的索引表中。
18.如权利要求15或17所述的方法,其特征在于所述获取候选字符的步骤进一步包括如果与各级模板都匹配,则将相应的内码和字体信息共同表示的文本字符作为所述待识字符的候选字符;如果与其中一级模板不匹配,则终止与所述字型的匹配,与查找到的下一个字型索引表所指向的公共模板进行逐级匹配。
19.如权利要求18所述的方法,其特征在于如果与各级模板都匹配则将相应的内码和字体信息共同表示的文本字符作为所述待识字符的候选字符进一步包括如果找到的一个字型索引表中包括指向多个变体模板的指针,则所述待识字符在与表中指针指向的各级公共模板都匹配成功之后,只要与其中一个变体模板匹配成功,就认为所述字型匹配成功。
20.一种模板优化的字符识别系统,包括模板生成部分和字符识别部分,字符识别部分包括识别单元;其特征在于模板生成部分包括字型存储单元、公共模板提取单元、模板输出单元和字典,其中,公共模板提取单元包括多级公共模板提取模块和最后一级公共模板提取模块,字典包括字型索引表存储模块和模板存储模块,多级公共模板提取模块,用于针对字型存储单元内所有字型中一个字型的不同组成部分,依次在由对应部分相似的字型组成的不同待聚类集合中进行聚类并提取出该字型的各级公共模板;最后一级公共模板提取模块,用于参考提取出来的多级公共模板,提取所述字型的最后一级公共模板;模板输出单元,用于接收公共模板提取单元提取出来的所述各级公共模板并保存到模板存储模块中,而且将指向模板存储模块中所述字型各级公共模板的指针保存到字型索引表存储模块内所述字型的索引表中;识别单元包括公共模板匹配模块,用于将一个待识字符与找到的一个字型索引表中指针指向的公共模板进行逐级匹配。
21.如权利要求20所述的系统,其特征在于所述的识别单元还包括候选字符输出模块,用于所述待识字符在公共模板匹配模块内与所述表中指针指向的各级模板都匹配成功的时候,将相应内码所表示的文本字符作为候选字符输出。
22.如权利要求20所述的系统,其特征在于模板生成部分进一步包括字型生成单元,用于从训练字符集中选择内码相同字体不同的单字符点阵进行聚类并对聚在一块的字符进行点阵叠加,将叠加而成的字型保存到字型存储单元中。
23.如权利要求22所述的系统,其特征在于模板生成部分进一步包括变体模板提取单元,用于提取形成所述字型的各个字符的差异部分,作为所述字型的各个变体模板。
24.如权利要求23所述的系统,其特征在于模板输出单元还用于接收变体模板提取单元提取出来的变体模板并保存到字典的模板存储模块中,而且将指向模板存储模块中一个字型所有变体模板的指针保存到索引表存储模块内所述字型的索引表中。
25.如权利要求24所述的系统,其特征在于识别单元进一步包括变体模板匹配模块,用于待识字符由公共模板匹配单元与找到的字型索引表中指针指向的各级公共模板都匹配成功之后,与所述表中指针指向的变体模板进行匹配。
26.如权利要求20或25所述的系统,其特征在于识别单元进一步包括分类器,用于按照所述待识字符的外形特征查找正确分类,以便模板匹配模块与找到的所述分类中的字型索引表所指向的模板进行逐级匹配。
全文摘要
一种模板优化的字符识别方法和系统。由训练字符集中至少一个训练字符构成一个字型,公共模板提取单元将所述字型逐次放到与其在不同组成部分上相似的字型所组成的不同待聚类集合中进行聚类并提取公共模板,参考提取出来的多级公共模板,提取所述字型的最后一级公共模板,将提取出来的该字型的各级公共模板保存到字典的模板存储模块中。模板输出单元将每个字型的内码与指向该字型各级公共模板的指针对应存储,以生成该字型的索引表并保存到字典的字型索引表存储模块中。在识别单元对待识字符集进行识别时,其中的公共模板匹配模块将一个待识字符与找到的一个字型索引表所指向的各级公共模板进行逐级匹配并记录匹配结果,以获取候选字符。
文档编号G06K9/68GK1916940SQ20051009087
公开日2007年2月21日 申请日期2005年8月18日 优先权日2005年8月18日
发明者刘芝, 康凯, 徐剑波 申请人:北大方正集团有限公司, 北京北大方正技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1