字符识别装置和字符识别方法

文档序号:6480435阅读:199来源:国知局
专利名称:字符识别装置和字符识别方法
技术领域
本发明涉及字符识别装置和字符识别方法。
背景技术
在图1中,利用OCR (光字符读取器)等自动识别手写字母。 图2A到图2D示出了在自动识别中如何使用候选字符点阵(lattice) 的示例。
在此情况下,包括如图2A所示的彼此接触的数字的手写字符经由图 2B、图2C和图2D所示的各阶段分开,从而进行字符识别。
另一方面,当自动识别包括如图3A到图3D所示的示例中或图4A 到4C所示的示例中的彼此接触的数字的手写字符时,可能会出现错误识 别的情况。

发明内容
根据本发明的一个方面, 一种字符识别装置包括划分机构,用于基 于从输入字符串的帐票(slip)表面获得的图,将所述图划分为多个部分。 候选字符串获取机制组合通过划分机制划分的图的多个部分,从而获得 图中的字符串的多个候选字符串。字符串选择机制从多个候选字符串中 选择一个字符串。所述候选字符串获取机制至少包括下述之一第一机 制,用于复制在相邻字符之间接触的字符线,然后将所复制的字符线包 括为候选字符串的元素;以及第二机制,用于在多个候选字符串中包括 己经移除了相邻字符之间的接触字符线的候选字符串、和包含所述字符 线的候选字符串。
本发明实施方式的其他特征和优点将通过详细的说明而变得显而易 见,因而意图将它们包括在所附权利要求的范围内。此外,因为基于这
6里的说明,各种修改和改变对于本领域技术人员将是显而易见的,所以 不期望将本发明实施方式限制为所图示和描述的精确构造和操作,因而 包括所有适当的变型和等价物。


图l是示出了手写数字串的图; 图2A是候选字符点阵的图; 图2B是候选字符点阵的图; 图2C是候选字符点阵的图; 图2D是候选字符点阵的图3A是用于彼此接触的手写数字的字符识别的图(#1) 图3B是用于彼此接触的手写数字的字符识别的图(#1) 图3C是用于彼此接触的手写数字的字符识别的图(#1) 图3D是用于彼此接触的手写数字的字符识别的图(#1) 图4A是用于彼此接触的手写数字的字符识别的图(#2) 图4B是用于彼此接触的手写数字的字符识别的图(#2); 图4C是用于彼此接触的手写数字的字符识别的图(#2); 图5A是实施方式的功能和优点图(#1); 图5B是实施方式的功能和优点图(#1);
图6是边接触候选处理的操作流程图7A是实施方式的功能和优点图(#2); 图7B是实施方式的功能和优点图(#2); 图8是连线候选处理的操作流程图; 图9是字符识别装置的配置的框图10是图9所示的图形化单元的配置的框图; 图11是图形化单元的处理流程图; 图12A是图形化单元的处理的图; 图12B是图形化单元的处理的图; 图12C是图形化单元的处理的图;图12D是图形化单元的处理的图; 图12E是图形化单元的处理的图; 图12F是图形化单元的处理的图13A是用于顶点提取的掩码(mask)图案的图13B是用于顶点提取的掩码图案的图14A是用于顶点信息文件的示例的图14B是用于边信息文件的示例的图15A是用于获得边接触候选的字符线的处理的图15B是用于获得边接触候选的字符线的处理的图16A是用于获得连线候选的字符线的处理的图16B是用于获得连线候选的字符线的处理的图17A是用于候选字符点阵的创建的图17B是用于候选字符点阵的创建的图17C是用于候选字符点阵的创建的图17D是用于候选字符点阵的创建的图17E是用于候选字符点阵的创建的图17F是用于候选字符点阵的创建的图18A是用于表示点阵的结构的示例图18B是用于表示边的结构的示例图18C是用于表示顶点的结构的示例图19A是针对图17A到17F的示例,最短路径搜索结果的图19B是针对图17A到17F的示例,最短路径搜索结果的图;以及
图20是计算机的硬件的框图。
具体实施例方式
在实施方式中,考虑到字符识别中混淆的可能性,在候选字符点阵 中表示了如下面将解释的用于移除如字符之间的连线的不必要的字符线 的处理、或也将在下面解释的用于分离字符之间的边接触的处理。如众 所周知的动态编程的最短路径搜索可系统地应用到这样的处理。换句话说,可考虑到要识别的整个字符串的一致性来确定最佳路径。
这里,"路径"意味着包括在候选字符点阵中的多个路径,并且它意 味着分别对应于多个候选字符串的多个路径。
例如,根据各实施方式的具体过程可以被描述如下。 (i)当要识别的字符串中彼此相邻的两个字符在边接触空间中彼此 接触时,获取形成该接触空间中的字符线的各字符线候选。此外,将字 符线的候选在候选字符点阵中登记两次。
因此,在候选字符点阵中,可考虑三种可能性字符线的候选包含 在彼此相邻的两个字符的左边字符中的情况、字符线的候选包含在彼此 相邻的两个字符的右边字符中的情况、以及字符线的候选包含在两个字 符中的情况。顺带提及,这里的"字符线"表示构成要识别的字符串中 所包含的字符的线(如下面将解释的,为了说明方便,"连线"也被称为 "字符线")。此外,通过应用如动态编程的最短搜索技术,基于候选字 符点阵确定最可能路径(即,多个候选字符串中的一个字符串)。结果, 可增加如此确定的字符串是要识别的字符串本身的概率,换句话说,增 加识别结果正确的可能性。
更具体地,即使在字符线在要识别的字符串中相邻的两个字符之间 彼此重叠从而两个字符彼此接触(换句话说,两个字符处于边接触状态) 的情况下,这两个字符也可以被适当地分开。
作为与字符线在要识别的字符串中相邻的两个字符之间彼此重叠从 而两个字符彼此接触的情况不同的情况,可能会存在下面的情况,即要 识别的字符串中的相邻的两个字符以这样的状态相互接触两个字符中 的一个字符包含的字符线在两处接触另一字符。
存在在外观上难以区分前一情况和后一情况的趋势,但是通过上述 双重登记方便了两者之间的区分。
现在,将结合图5A和5B以及图6,通过陈述具体示例来描述双重 登记(以下称为"边接触候选处理")的处理。
图5A的左侧示出了在识别如图5A的右侧示出的手写字符"03"的 情况下获得的候选字符点阵的示例。首先,将通过例示所图示的候选字符点阵来描述候选字符点阵的创建。
在候选字符点阵中,从最左端的黑点(以下,这样的黑点被称为"节 点",并且最左端的节点被称为"起点")到最右端的节点(以下称为"终
点")延伸的路径对应于上述路径。在图5A的示例中,如根据图中的候
选字符点阵的配置可以理解的,存在以起点开始并导向终点的多个路径。 这表示在候选字符点阵中包括多个路径,换句话说,包括对应于各个路 径的多个字符串候选(即,候选字符串)。
这多个路径中的每个路径都包括作为其构成元素的链路。在路径不 包括任何节点的情况下,路径本身是链路。在路径包括节点的情况下, 由节点连接的路径的构成元素是链路。
以下,当要指示构成包括在这样的候选字符点阵中的各个路径的各 个链路时,以附到相关链路的编号(以下将描述)指示。通过示例的方
式,在图5A的候选字符点阵中,编号O (98)附到最上方的链路,因此 该链路被称为"链路O (98)"。
这里,链路0 (98)是构成对应于手写字符"03"被识别为其中两 个字符"0"和"3"相接触的一个字符的情况(即,错误识别的情况) 下的候选字符串的路径的链路。
下面将描述附到每个链路的编号。在编号中,第一位指示作为识别 结果的字符。后面的括号中的数值指示识别所需的代价(即,识别代价), 并且识别代价越低,识别结果越可能。在最上方的链路O (98)的示例中, 如上所述,两个字母相接触并且被识别为一个字符。识别结果是"0", 并且在此情况下的识别代价是"98"。
类似地,如图5A所示,在最上方的链路0(98)紧下方的链路0(02) 和在链路O (02)的右侧连接的中间的链路3 (05)构成了另一路径。该 路径是对应于手写字符"03"具有分开的两个字符"0"和"3"并且它 们被正确地识别为这两个字符的情况下的候选字符串的路径。如下面将 描述的,该路径是手写字符"03"被正确分开、并且路径对应于正确识 别出"03"的路径。这里,它是彼此接触的两个字符的接触空间中的字
10符线被正确地判断为形成字符"0"的一部分的字符线的情况下的路径。 在此情况下,"接触的字符线"是构成左边字符"0"并且在右侧垂直延 伸的部分的字符线。因此,基于该路径的识别结果是"0"和"3",并且
识别代价是02+05=07。
类似地,中间的链路0 (31)和在链路0 (31)的右上侧连接的链路 8 (97)构成另一路径。该路径是其中手写字符"03"被识别为两个字符 的路径。然而,在此情况下,与前面的情况不同,彼此接触的两个字符 的接触空间中的字符线被判断为是形成右边字符"3"的一部分的字符线。 即,该路径是其中如上所述原来为左边字符"0"的在右侧垂直延伸的部 分的字符线被错误识别为构成右边字符的字符线的路径。基于该路径的 识别结果是"0"和"8",并且识别代价是31+97=128。在此情况下,识 别代价显然高于上面的正确情况下的识别代价07 (即,7),并且被指示 出概率较低。
类似地,下方的链路0 (02)和在链路0 (02)的右上侧连接的链路 8 (97)构成另一路径。这是其中手写字符"03"被识别为两个字符的路 径。然而,在此情况下,与前面的情况不同,彼此接触的两个字符的接 触空间中的字符线被判断为形成字符"0"和"3"两者的一部分的字符 线。即,这是其中如上所述左边字符"0"的原本在右侧垂直延伸的部分 的字符线被识别为即属于右边字符又属于左边字符的路径。因此,该路 径对应于错误的识别。基于该路径的识别结果是"0"和"8",并且识别 代价是02+97=99。同样,在此情况下,识别代价显然高于上面的正确情 况下的识别代价7,并且被指示出概率较低。
以此方式,在使用候选字符点阵的字符识别中,根据形成手写字符 的图的配置获取读取的手写字符的多个候选字符串。此外,候选字符串 分别与构成候选字符点阵的路径关联。此后,利用识别代价来评估各个 路径的概率(即,对应候选字符串的概率)。如将在下面看到的,通过为 各路径的各个链路加权来进行评估。基于评估的结果选择一条路径(即, 一个候选字符串)。这里,为选择路径,可利用最短路径搜索技术。获得 选择的候选字符串,作为读取的手写字符的识别结果。根据本实施方式的方法,如上所述,即使在如图5A的示例那样的两 个字符线接触的情况下,在候选字符点阵中也能够包括按实际字符的可
能性假定的所有情况的路径。即,在图5A的示例的情况下,候选字符点
阵中包括对应于其中两个字符的相互接触的字符线属于任一字符的各个
情况的路径(即,链路O (02)和3 (05)组成的路径以及链路O (31) 和8 (97)组成的路径)。此外,还包括对应于其中该字符线属于两个字 符的情况的路径(即,链路0 (02)和8 (97)组成的路径)。结果,正 确路径可靠地包括在候选字符点阵中,使得可以有效增强字符识别的精 度。
以此方式,利用本实施方式的方法,如果两个字符相接触,则对应 于按照实际字符的可能性假定的所有情况(即,下面的三类情况)的路
径可包括在候选字符点阵中(1)两个字符的相互接触的字符线属于左
侧的字符的情况,(2)所述字符线属于右侧的字符的情况,以及(3)所 述字符线属于两个字符的情况(换句话说,边接触的情况)。下面将描述 为什么分别对应于总共三种情况的路径可以以此方式包括在候选字符点 阵中的原因。
在图5A的示例中,串联连接的两个链路l (09)包括在候选字符点 阵中,作为对应于两个字符的相互接触空间中的字符线的链路。结果, 在两个字符接触的情况下,可以包括对应于实际字符的三种可能性的各 个情况的路径。
更具体地,在图5A的候选字符点阵中,总共获得三个节点串联连 接的两个链路1 (09)的两端的节点以及对应于相互接触两个字符的字符 线的相互连接的节点。此外,穿过三个节点的左边一个的路径对应于上 面的情况(2),即,两个字符的相互接触的字符线属于右边字符的情况。 类似地,穿过三个节点的中间一个的路径对应于上面的情况(3),艮卩, 两个字符的相互接触的字符线属于两个字符的情况。同样,穿过三个节 点的右边一个的路径对应于上面的情况(1),即,两个字符的相互接触 的字符线属于左边字符的情况(即,正确路径)。
图5B示出了手写字符串的另一示例。与图5A的示例中的情况一样,
12串联连接的两个链路1(08)包括在候选字符点阵中,作为对应于相互接触 两个字符的字符线的链路。结果,与图5A的示例中的情况一样,可以在 候选字符点阵中包括对应于按照实际字符的可能性假定的三种情况中的 各个情况的路径。
图6示出了在上述实施方式的方法中的边接触候选处理的处理流程。
参照图6,在步骤S1 (图案分割),处理基于从读取的字符图像获得 的图,将该图划分为多个部分。在图5A的示例的情况下,处理将读取的 手写字符"03"的图划分为多个部分,例如构成图5A中的候选字符串点 阵的、附到各个链路O (02)、 3 (05)、 0 (31)、 8 (97)和1 (09)的字 符线。
顺带提及,通过扫描和拍照例如输入有字符串的纸帐票获得所述图。
随后,在步骤S2 (边接触候选判定),该处理判定是否可以如上所 述假设两个字符的接触空间中的字符线属于两个字符。将结合图15A和 15B在后面描述在此情况下的判断方法。
作为判断的结果(步骤S3),如果可以假设接触空间中的字符线属 于两个字符,则在此情况下,处理进行到步骤S4,而当为否时,处理跳 过步骤S4直接进行到步骤S5。
在步骤S4,接触空间中的字符线被登记两次。更具体地,在图5A 的示例中,对应于接触空间中的字符线的两个链路1 (09)串联连接,并 且包括在候选字符点阵中。
在步骤S5,针对由此产生的候选字符点阵,为候选字符点阵中包括 的各个链路获得对应的字符识别结果。在图5A的示例中,在附到各链路 的编号中,编号的第一位是字符识别结果。
随后,在步骤S6,处理针对各个链路计算进行字符识别所需的识别 代价。
最后,在步骤S7,处理通过最短路径搜索等技术,基于如步骤S6 计算出的各个链路的识别代价,确定候选字符点阵中包括的路径中的最 可能的路径,并且获得对应的候选字符串作为字符识别结果。(ii)此外,在该实施方式中,还可共同执行连线候选处理。以下将 描述连线候选处理。
当在要识别的字符串中彼此相邻的两个字符通过连线接触时(以下 将描述),获取形成该接触的字符线的候选。此外,将绕过与字符线的候 选对应的链路的链路添加到候选字符点阵中。此外,空白图像(以下也
称为"空图像")与添加的链路关联。空图像的识别字符种类是(j)(NULL),
并且识别代价d可以根据经验适当地确定。结果,在使用基于动态编程 等的最短路径搜索的候选字符点阵的技术框架内,能够实现连线的移除。 此外,在对于构成要识别的字符串中的任何其他字符线同样的处理框架 内,可能进行有关于对应的字符线是连线还是难以与连线区分的横向字 符线(以下将描述)的判断。
将结合图4A到4C描述连线和横向字符线。
图4A示出了两个数字构成的手写字符字符串"00"。如图所示,在 手写字符中,在两个字符"00"之间的空间的上部存在水平延伸而使两 个字符接触的字符线。该字符线是连线。即,该字符线不形成字符"00" 的一部分,而是书写工具在手写的过程中在纸面上滑过而画出的线。因 此,应当在字符识别中移除连线。顺带提及,连线不构成如上所述的任 何字符,但是出于描述方便,它被描述为字符线。
图4B示出了两个数字构成的手写字符字符串"50"。如图所示,在 手写字符中,形成字符"50"中的数字"5"的最上部并且水平延伸的字 符线的右端与下一数字"0"的上端接触。该字符线是横向字符线。横向 字符线出于以下原因与下一数字"0"接触当在手写过程中从第一个数 字"5"书写移动到下一数字"0"时,书写工具未从纸面上抬起。与连 线不同,横向字符线是形成第一字符"5"的一部分的字符线,因此,在 字符识别中应当考虑它。然而,因为如上所述在其外部形状上难以将横 向字符线与连线区分,所以可能会出现横向字符线被错误地移除以导致 错误识别的情况。
图7A和图7B示出了在连线候选处理中与空图像关联的链路被添加 到连线候选的字符线中的情况下的候选字符点阵的示例。图7A的左侧例示了针对图4B的示例中的手写字符串"50"获得的 候选字符点阵。在该候选字符点阵中,中间的中间部分的链路3 (99)是 对应于水平延伸并且是连线候选的链路。如图所示,提供对应于空图像 的链路(Kd)以便绕过链路3 (99)。这里,空图像是如上所述的空白图像。 结果,在具有对应于空图像的链路(Kd)的路径中,该链路仅是绕道链路 (detouringlink)。候选字符点阵包括如下两条路径具有连线的候选(链 路3 (99))的路径、和具有绕过链路3 (99)的空图像的链路(j)(d)的路径。 结果,通过不加区别地将它们并入基于动态编程的最短路径搜索技术中, 可以处理连线的候选是连线(即,图4A的示例的情况)和其是横向字符 线(即,图4B的示例的情况)这两种情况。因此,正确评估两种情况, 可以有效降低错误识别的可能性。
如上所述,在图7A的示例的情况下,链路3 (99)所对应的连线的 候选实际是作为数字"5"的构成元素的字符线,并且它是横向字符线。 根据候选字符点阵,如上所述不加区别地评估连线的候选是连线的情况 和连线的候选是横向字符线的情况。结果,如果具有作为连线的候选的 链路3 (99)的路径比具有空图像的链路(()(d)的路径的总识别代价小, 则选择具有作为连线的候选的链路3 (99)的路径的可能性将增大。艮P, 字符串将被正确地识别为如图7A的右侧所示的"50"的可能性增加。此 外,如上所述,根据经验等获得空图像的识别代价d,使得可获得这样的 结果。
图7B的左侧示出了针对要识别的字符串是类似于图4B所示的"00" 的示例获得的候选字符点阵的示例。在图7B的示例的情况下,如上所述, 链路3 (99)所对应的连线的候选是作为使构成字符串的两个数字"00" 彼此接触的连线的字符线。根据候选字符点阵,如上所述,对连线的候 选实际是连线的情况和连线的候选是横向字符线的情况进行评估。结果, 如果具有空图像的链路(Kd)的路径比具有连线的候选的链路3 (99)的
路径的总识别代价小,则选择具有空图像的链路(Kd)的路径的可能性更 高。在此路径中,通过空图像的链路(])(d)绕过作为连线的候选的链路3 (99),使得移除了作为连线的候选的字符线。因此,当选择了该路径时,字符串将被正确地识别为如图7B的右侧所示的"00"的可能性增加。此 外,如上所述根据经验等获得空图像的识别代价d,使得可获得这样的结 果。
图8中示出了在该实施方式中的连线候选处理的处理流程。
参照图8,步骤Sll到S17分别对应于图6的上述流程图中的步骤 S1到S7。其中,除了步骤S12到S14与步骤S2到步骤S4不同外,步骤 S11和S15到S17分别与图6的步骤S1和S5到S7相同。因此,将仅描 述不同的步骤S12到S14,而省略对其他步骤的重复描述。
在步骤S12 (连线候选判定),处理判断是否可如上所述地假设接触 两个字符的字符线是连线的情况。将在后面结合图16A和16B描述该情 况下的判断方法。
作为判断的结果(步骤S13),当接触两个字符的字符线是连线时, 处理进行到步骤S14,而当不是连线时,处理通过跳过步骤S14直接进行 到步骤S15。
在步骤S14,处理产生与空图像关联的链路(即,上述链路())(d)), 所述链路绕过在要识别的字符串中的彼此接触并且相邻的两个字符的接 触的字符线(即,连线的候选字符串)。更具体地,在图7A的示例中, 处理提供与空图像关联的链路,作为与链路3 (99)并联连接的链路,所 述链路3 (99)对应于与彼此接触的两个字符接触的字符线,并且在候选 字符点阵中包括空图像的链路。
顺带提及,可使用具有如图20所述的配置的计算机实现结合图6和 图8如上所述的各个处理。更具体地,如随后将看到的,制备了用于使 得计算机的CPU执行各处理的程序,并且用于读取字符图像的扫描仪(未 示出)连接到该计算机。此外,CPU基于由扫描仪读取的字符图像,相 继执行在程序中描述的指令,从而执行图6或图8的处理。这里,可利 用公知的OCR技术作为用于基于用扫描仪读取的字符图像获得图的处 理。
根据该实施方式,字符识别装置中包括候选字符点阵产生单元,该 字符识别装置识别由光学图像输入装置根据帐票图像等自由输入的图像
16数据(特别是在没有字符框的区域中的图像数据)的字符。在候选点阵
产生单元中,如上面结合图5A和5B以及图6描述的,首先识别字符线 或其部分是否重叠(即,边接触的字符线或其部分),以形成边接触候选。 此外,被判断为形成边接触候选的字符线或其部分的图案(即,图)在 点阵中登记两次。此外,通过字符识别,点阵的各节点之间的链路根据 识别代价(分数)给出权重。随后,通过基于权重的动态编程获得距离 最短的路径(在根据分数的情况下,为距离最长的路径)。结果,使用动 态编程,在候选字符点阵的技术框架内,可考虑整体一致性地分开相邻 字符之间的边接触。
此外,根据本实施方式,字符识别装置中包括候选字符点阵产生单 元,该字符识别装置识别由光学图像输入装置根据帐票图像等自由输入 的图像数据(特别是在没有字符框的区域中的图像数据)的字符。在候 选字符点阵产生单元中,如上面结合图7A和7B以及图8所述的,首先 识别可能是连线的字符线候选是否是连线的候选,并且对应于发现是连 线候选的字符线的图案(即,图)被登记为点阵的节点之间的链路。在 此情况下,在节点之间设置绕过上述链路的链路,并且在设置的链路中 登记空图像。结果,可以使用动态编程,在候选字符点阵的技术框架内, 考虑整体一致性地移除字符识别不需要的连线。
作为这一实施方式中可执行的处理,己经结合图5A和5B以及图6
描述了边接触候选的字符线被登记两次并且包括在候选字符点阵中的处
理(该处理被称为"第一单元的处理")。此外,己经结合图7A和7B以
及图8描述了绕过连线的候选的链路被登记并且被包括在候选字符点阵
中的处理(该处理被称为"第二单元的处理")。在该实施方式中,可仅
执行第一单元的处理或第二单元的处理。此外,在该实施方式中,也可 执行第一单元的处理和第二单元的处理两者。
此外,在第二单元的处理中,可根据经验适当地设置对应于各节点 之间的空图像的权重,提供所述空图像以绕过节点之间的在候选字符点 阵中为其适当登记了连线的候选的链路。
现在,将更详细地描述该实施方式的配置。图9示出了根据该实施方式的字符识别装置的总体配置。
字符识别装置io通过扫描仪接受纸帐票等的图像,并将图像转为电
子数据,并且将电子数据转换为黑白二进制图像。此外,装置io对字符 串进行分段,并且判定接触图案(接触图案指示字符串中包含的字符线 之间的接触状态)。这些处理可通过利用现有技术体现。
在该实施方式中,在已经获得接触图案的情况下,执行一个接一个 地分出字符并识别出它们的处理。
字符识别装置10广义上包括候选字符点阵产生单元16和最短路径
搜索单元17。进一步,候选字符点阵产生单元16包括线细化单元11、 图形化单元12、点接触/连线候选判定单元13、边接触候选判定单元14、 以及候选字符点阵创建单元15。
线细化单元ll通过现有技术将输入的二进制接触图案转换为其线宽 为l (像素)的线细化图案。如将在下面详细描述的,图形化单元12从 线细化图案中提取顶点和边,并且获得顶点和边的相邻和连接关系,从 而将线细化图案(即,图)表达为曲线图。
点接触/连线候选判定单元13和边接触候选判定单元14从曲线图的 各个边中识别点接触的候选的边、连线的候选的边、以及边接触的候选 的边。候选字符点阵创建单元15将曲线图划分为边的部分集合,并且根 据各个部分集合的规则在候选字符点阵中登记它们。此外,候选字符点 阵创建单元15通过链路连接能够产生识别字符候选的图案的节点,并且 它根据设置在节点之间的边的部分集合产生识别字符候选的图案。
此外,候选字符点阵创建单元15对利用现有技术如此产生的识别字 符候选的图案实际执行字符识别。此外,候选字符点阵创建单元15根据 字符识别结果的差异度确定链路的权重。对于以如上方式产生的候选字 符点阵,最短路径搜索单元17通过如动态编程或Dijkstra方法的公知方 法获得最短路径,从而获得最终字符识别结果。
接下来,将详细描述图形化单元12的处理。
图形化单元12通过使用现有技术,将线细化单元11得到的、读取 的图像己经经受了线细化的线细化图案(即,图)表达为曲线图。图IO示出了图形化单元12的内部配置。图11示出了基于图形化单 元12的处理的流程图。
如图IO所示,图形化单元12包括顶点提取单元22、边提取单元23、 二度顶点添加单元24、以及顶点相邻矩阵计算单元25。
如上所述,由扫描仪等读取的要识别的字符串的图像(即,读取的 图像)的图案经受线细化单元11的线细化,从而获得线细化图案(图11 中的步骤S31)。顶点提取单元22检查线细化图案的各像素的8个附近区 域,并且它检查这8个附近区域是否与事先为各度数的顶点的提取准备 的(3X3)大小的掩码图案一致(参照图13A和13B)(步骤S32)。在8 个附近区域与掩码图案一致的情况下,相关像素被存储为由该掩码图案 所指示的度数的顶点(步骤S33)。这里,"顶点的度数"表示连接到顶点 的边的数量。由此提取的顶点的位置坐标保留在顶点信息文件中。
边提取单元23为各个顶点准备计数器,并且用零初始化计数器。首 先,选择计数器的值小于边的度数的一个期望的顶点,并且相关顶点的 计数器递增1 (步骤S34)。相关顶点被设置为起始顶点,并且从起始顶 点开始追踪线细化图案上的黑色像素,直到到达另一顶点(步骤S35)。 另一顶点被称为"结束顶点"。结束顶点的计数器递增l (步骤S36)。
追踪的黑色像素的坐标、起始顶点的编号和结束顶点的编号被保留 为边信息(步骤S37)。继续这样的边提取,直到所有顶点的计数器变为 等于其度数(步骤S38的"是")。
以如下方式获得边在线细化图案上,以某个顶点开始追踪黑色像 素,直到到达另一顶点。边的编号、顶点之间的黑色像素的位置坐标的 轨迹、以及连接到边的顶点的编号保留在边信息文件中。
此外,二度顶点添加单元24检查所有顶点对,并且在连接在两个顶 点之间的边的数量是至少两个时(步骤S39的"是"),向最短边以外的 任何边添加二度顶点(步骤S40)。结果,重新产生边,因此,重写顶点 信息文件和边信息文件(步骤S41)。
顶点相邻矩阵计算单元25根据由此获得的边信息计算顶点相邻矩 阵。这里,"顶点相邻矩阵"是在顶点由边连接的情况下其元素具有值"1 "、
19而在顶点没有被边连接的情况下其元素具有值"0"的矩阵。
图12A到12F概念地示出了图9所示的线细化单元11和图IO所示 的图形化单元12的构成单元22到25输出的数据。
图12A示出了扫描仪读取的读取图像的示例。图12B示出了经过了 线细化单元ll的线细化的线细化图案(即,图)的示例。图12C示出了 顶点提取单元22提取了顶点vl和v2的情况。图12D示出了边提取单元 23提取了边el、 e2和e3的情况。图12E示出了二度顶点添加单元24添 加了二度顶点e4和e5和相伴的二度顶点v3和v4的情况。图12F示出 了顶点相邻矩阵计算单元25获得的顶点相邻矩阵的示例。
图13A和图13B例示了在上述掩码图案中的用于提取度数"1"和 "3"的顶点的一些掩码图案。在图中,"1"表达黑色像素,而"0"表 达白色像素。
图13A示出了用于提取度数"1"的顶点的掩码图案。图13B示出 了用于提取度数"3"的掩码图案的示例。
图14A和14B分别示出了最终得到的顶点信息文件和边信息文件的 示例。图14A例示了顶点信息文件,而图14B例示了边信息文件。
接下来,将参照图15A和15B详细描述图9所示的边接触候选判定 单元14的边接触候选判断处理。图15A示出了与上面参照的图12A、12B 和12C类似的图。
如下所述地确定接触图案中相邻字符的字符线的边接触的候选。 (i)检查所有曲线图的边,并且移除不满足特定条件的边,从而縮 窄候选者。如果边接触,则对应曲线图的边满足如下示例性的条件,因 此,从边接触的候选中移除其他边。(条件#1)连接到相关边的各个顶点 的度数至少是"3"(字母T或十字)。(条件#2)相关边的梯度至少是阈 值(垂直或倾斜),例如,高宽比至少是1。即,相关边基本与相关字符 串的延伸方向垂直。
在图15A的示例中,仅边61满足条件#1和#2。因此,获取边el作 为边接触的候选。更具体地,边el具有顶点vl和v2,并且因为顶点vl 和v2每个都具有T形接触,所以其度数为"3",从而满足条件#1。此外,因为边el基本垂直延伸,所以高宽比至少为l,从而也满足条件#2。其 他边e2到e5不满足这些条件。作为示例,在图15A中,边e2不满足条 件#1,这是因为其顶点v3的度数是"2"。
(ii)此外,对于曲线图的边,利用顶点相邻矩阵复制边接触候选的 边和与其连接的顶点,并且适当划分相邻边,从而判断曲线图是否被划 分为两个。
图15B示出了其中己经复制了边接触候选的边el和与其连接的顶点 vl和v2的情况。如下所述地具体执行这样的边和顶点的复制。
在图15B的示例中,如图中间所示,新的行l'和2'以及新的列l'和 2'分别插入到曲线图的顶点相邻矩阵中的行1和2以及列1和2旁边,所 述行1和2以及列1和2对应于与要复制的边el连接的顶点vl和v2。
随后,连接到由此复制的顶点vl'和v2'的复制边以外的边的其他顶 点的x坐标(即,沿字符串的延伸方向的坐标轴上的坐标)彼此比较, 并且确定各边以便连接到任一复制的顶点。在图15B的示例中,边e2和 e3连接到与边el连接的顶点vl。在此情况下,设"x3"和"x4"分别 表示边e2和e3的其他顶点v3和v4的x坐标,并且设"xl"表示顶点 vl的x坐标,x3<xl成立,从而边e2切断其与顶点vl'的连接以使得仅 与左边的复制边el相邻,并且x4〉xl成立,从而边e3切断其与顶点vl 的连接以使得仅与右边的复制边er连接。即,在顶点相邻矩阵中,顶点 v4和vl'之间的矩阵元素被设置为"1",顶点v4和vl之间的矩阵元素被 设置为"0",顶点v3和vl之间的矩阵元素被设置为"1",并且顶点v3 和W'之间的矩阵元素被设置为"0"。要处理的边el以外的边、以及与 边el连接的顶点vl和v2以外的顶点之间的相邻关系保持原样。在由此 通过复制要处理的边el产生新的边el'的情况下的新顶点相邻矩阵的示 例如图15B中间所示。
随后,判定在适当替代由此获得的顶点相邻矩阵的各行和各列的情 况下,矩阵是否变成的块对角线形式。图15B的右侧示出了已经适当替 换了顶点相邻矩阵的各行和各列的情况,其结果是矩阵已经变成块对角 线形式。在顶点相邻矩阵已经以此方式变成块对角线形式的情况下,认为通过边的复制将曲线图分为两个子曲线图gl和g2。对应于各个块的顶 点与各个部分曲线图具有的顶点相对应。
以这种方式,如图15B的左侧所示,图15A的中间所示的曲线图被 分为两个子曲线图gl和g2。此外,复制边接触候选的边el,并且将其 登记和包括为分别属于两个子曲线图gl和g2的字符线。换句话说,边 接触候选的边el登记两次(对应于图6中的步骤S4)。
接下来,将结合图16A和16B详细描述图9中示出的点接触/连线候 选判定单元13的处理。
通过如下所述的过程确定连线的候选,并且分开图案(即,图)。(i) 经受过线细化的读取图像的线细化图案通过上述方法被图形化,并且获 得与上面类似的顶点相邻矩阵。使用顶点相邻矩阵,通过曲线图理论技 术从顶点相邻矩阵获得边的部分集基本矩阵(section set basic matrix)。这 里,"边的部分集基本矩阵"是这样的矩阵,其中各行表示段集合,并且 段集合的元素是与部分集的编号为"1"的组员相对应的边。这里,表达 "部分集"意味着这样的部分集,当从曲线图移除作为其元素的边时, 相关曲线图被分为两个。在图16A的右侧所示的顶点相邻矩阵的示例的 情况下,获得图16B的右侧所示的部分基本集矩阵。作为示例,在部分 基本集矩阵中包括的部分集编号"1"的部分集基本矩阵具有"1"个元 素,并且其以边编号为"1"的边el作为对应的元素。在该部分集中, 当移除边el时,图16A的中间所示的原始曲线图被分为如图16B的左侧 所示的两个部分曲线图。类似地,"3"号部分集编号的部分集基本矩阵 具有"2"个元素,并且其具有边编号"2"和"4"的边e2和e4作为对 应的元素。在该部分集中,当移除边e2和e4时,图16A的中间所示的 原始曲线图分为边e3构成的部分曲线图和边el、 e5、 e6和e7构成的部 分曲线图。
这里要获得的连线的候选包括在这些部分集中。(ii)为了获得连线 的候选的边,对于各个部分集基础通过如下所述的规则縮窄候选。首先, 获得点接触的候选的边。(条件#1)边属于元素数目为"1"的部分集。(条 件#2)边具有至多为阈值(水平)的梯度,例如是高宽比至多为1的边。
22即,基本与字符串的延伸方向平行的边。
关于由此縮窄的点接触候选的边,获得还满足下述规则的边作为连 线的候选的边。(条件#3)边的质心的y坐标(即,垂直于字符串的延伸 方向的坐标轴上的坐标)在至多为图案(即,整个图,并且对下面同样
适用)的高度的阈值的位置,例如,其质心至多在图案的高度的1/3处的
边。在此情况下,坐标的原点设置为左上位置,并且表达"至多阈值"
或"至多1/3"表示质心位于阈值的上侧,或在图案的上侧的1/3内。(条 件4)边长度至少是阈值,例如,其长度至少是图案的高度的1/2的边。 在图16A的示例中,仅部分集编号"1"的部分集基本矩阵保留为候 选,并且对应的边el被设置为连线的候选的边。更具体地,如上所述, 该部分集基本矩阵具有1个元素(条件#1)。此外,如从图16A的中间的 曲线图理解的,边el基本在水平方向延伸,并且边的高与边的宽的比率 至多是l (条件#2)。此外,如从该曲线图可理解的,边el位于整个图案 上方,并且边的质心的y坐标位于图案的上侧的1/3之内(条件#3)。此 外,边el的长度至少是图案的高度的1/2 (条件糾)。因此,满足所有条 件。此外,在图16B的右侧的部分集基本矩阵中,仅关于其部分集编号 为"1"的边el的矩阵中的元素数是"1"。
接下来,将详细描述图9所述的候选字符点阵创建单元15的处理。 在通过上述方法获得全部边接触候选的边、点接触候选的边和连线 候选的边后,候选字符点阵创建单元15如下所述地创建候选字符点阵。 (i)使得边接触候选的边、点接触候选的边和连线接触候选的边中的所 有边被分入各包括一个边的多个部分集,并且这些部分集以其各自外接 矩形的x坐标的降序排列。这里,假设总共存在n个部分集。(ii)如图 17E所示,之前所述的曲线图被划分为边接触候选的边、点接触候选的边 和连线候选的边、以及其间插入的各部分,B卩,总共(2n+l)个边的部 分集。(iii)由此获得的(2n+l)个边的部分集相继登记为相邻节点之间 的链路。然而,在边的部分集对应于边接触候选的边的情况下,相同边 集作为接下来的相邻节点之间的链路登记两次。即,串联连接的两个链 路作为对应于相关边的链路提供。在边的部分集对应于连线候选的边的情况下,在这些节点之间提供绕过对应节点之间的链路的链路,并且(j)(空 白集)作为边集相关联。即,对于与相关边的链路并联连接的空图像提
供链路。(iv)起点s (s>0, s<n+l)和终点t (t>s, t<n+l)通过链路连 接,并且利用其来连接起点和终点之间存在的边集的那些边集与各个链 路相关联。然而,对于其大小不满足预定条件的边集不产生链路。艮P, 在边集的外接矩形的宽度与其高度的比为至少阈值的情况下,对相关边 集不产生任何链路。(v)从各个边集恢复图案。通过例如根据边信息创 建线细化图案、并且将线细化图案放宽(inflate)假定字符宽度的一半的 处理来恢复图案(即,读取图像的状态下的图案)。(vi)由此恢复的所有 图案经受现有技术的字符识别,并且对于所获得的识别字符种类(即, 识别结果的字符)的差异度自身或差异度定义的识别代价被设置为对应 节点之间的链路的权重。
图17A示出了扫描仪读取的要识别的原始图案。图17B示出了从原 始图案获得的曲线图。图17C和图17D分别示出了经如上获得的连线候 选的边e5和边接触候选的边ell划分后的曲线图的情况。图17E示出了 整个曲线图被划分为边的部分集的情况。图17F示出了如上所述地创建 的候选字符点阵。候选字符点阵、边信息和顶点信息分别以如图18A到 18C例示的结构实际存储。
接下来,将描述图9所示的最短路径搜索单元17的处理。
通过如动态编程或Dijkastra方法的通用方法从由此创建的候选字符 点阵中搜索具有最短距离的路径。结果,获得了字符的最终识别结果。 在图17A到17F的示例的情况下,作为最短路径搜索的结果,获得了节 点1 —节点2—节点5—节点7的路径作为图17F的候选字符点阵上的最 短路径。这里,节点由如上所述的候选字符点阵中的黑点指示,并且其 编号从左边连续分配为l, 2,…。图19A和图19B分别示出了对应的读 取图像和与最短路径对应的识别结果的字符代码(即,数字"039")。
图20是示出了计算机的配置示例的框图,用以解释由计算机实现上 述实施方式中的字符识别装置10的情况。
如图20所示,计算机500包括CPU 501,其执行构成给定程序的指令,从而执行各种操作;以及操纵单元502,用户通过其利用键盘、鼠 标等输入操纵内容或数据。计算机500还包括向用户显示CPU 501的处 理进程、处理结果等的显示单元503,如CRT、液晶显示面板等。计算 机500还包括由ROM、 RAM等组成的存储器504,其中存储由CPU504 运行的程序、数据等,并且其用作工作区域。计算机500还包括其中存 储程序、数据等的硬盘驱动器(HDD) 505。计算机500还包括通过 CD-ROM 507从外部加载程序以及加载数据的CD-ROM驱动器506。计 算机500还包括用于通过如因特网或LAN的通信网络509从外部服务器 等下载程序的调制解调器508。
计算机500通过如CD-ROM 507的计算机可读存储介质或通过通信 网络509加载或下载指令构成的程序,使CPU 501执行上述字符识别装 置10所执行的处理。此外,程序安装在硬盘驱动器505内,适当地加载 到存储器504内,并且由CPU501运行。结果,通过计算机500来实现 字符识别装置10。
相关申请的交叉引用
本申请涉及并要求于2008年2月19日向日本专利局提交的日本专 利申请第2008-36785号的优先权,该申请通过引用合并于此。
权利要求
1、一种存储字符识别程序的计算机可读存储介质,用于使计算机用作划分单元,用于基于从输入有字符串的帐票表面获得的图,将所述图划分为多个部分;候选字符串获取单元,用于组合所述划分单元划分出的图的多个部分,从而获得所述帐票上的字符串的多个候选字符串;以及字符串选择单元,用于从所述多个候选字符串中选择一个字符串;所述候选字符串获取单元至少包括下述之一第一单元,用于复制接触相邻字符的字符线,然后将所复制的字符线包括为候选字符串的元素;以及第二单元,用于在多个候选字符串中包括已经移除相邻字符之间的接触字符线的候选字符串、和包含所述字符线的候选字符串。
2、 根据权利要求l所述的存储程序的计算机可读存储介质,其中所 述候选字符串获取单元中的所述第一单元在所述多个候选字符串中包括 覆盖下述情况的候选字符串相邻字符之间的接触字符线属于相邻字符之一的情况、所述字符线属于另一字符的情况、以及所述字符线属于相 邻字符两者的情况。
3、 根据权利要求1所述的存储程序的计算机可读存储介质,其中 所述候选字符串获取单元包括路径产生单元,该路径产生单元用于将通过将所述图划分为多个部分所获得的各个部分与相邻节点之间的链 路关联;在通过将相应节点之间包括的部分图案联合而获得的图案变为 一个字符的情况下,产生对应节点之间的链路;然后将所联合的图案与 链路关联,将这些链路彼此连接,从而产生分别对应于多个候选字符串 的多个路径;所述字符串选择单元包括字符识别代价设置单元,用于将所述图的对应部分的字符识别 所需的识别代价设置为构成路径的各个链路的权重;以及路径选择单元,用于将通过对每个路径的各个链路的权重求和获得的识别成本总计为最小值的一个路径选择为所述字符串的路径;所述候选字符串获取单元中的所述第一单元提供串联连接的两个链 路作为对应于接触字符线的链路,并且这两个链路中的一个链路具有接 触字符线,而另一条线具有与所述两个链路中的所述一个链路的接触字 符线相同的接触字符线;以及所述候选字符串获取单元中的所述第二单元提供与接触字符线并联 连接的两个链路,作为对应于所述接触字符线的链路,并且所述两个链 路中一个链路具有接触字符线,而另一链路是绕道链路并具有空白图案。
4、 根据权利要求l所述的存储程序的计算机可读存储介质,其中 在所述接触字符线沿与所述字符串的延伸方向基本垂直的方向延伸的情况下应用所述候选字符串获取单元中的所述第一单元;以及在所述接触字符线沿与所述字符串的延伸方向基本相同的方向延伸 的情况下应用所述候选字符串获取单元中的所述第二单元。
5、 一种字符识别装置,所述装置包括划分单元,用于基于从输入有字符串的帐票表面获得的图,将所述 图划分为多个部分;候选字符串获取单元,用于组合所述划分单元划分出的所述图的所 述多个部分,从而获得所述图中的所述字符串的多个候选字符串;以及字符串选择单元,用于从所述多个候选字符串中选择一个字符串;其中,所述候选字符串获取单元至少包括下述单元之一第一单元, 用于复制在相邻字符之间接触的字符线,然后将所复制的字符线包括为 候选字符串的元素;以及第二单元,用于在所述多个候选字符串中包括 已经移除了所述接触字符线的候选字符串、和包含所述字符线的候选字 符串。
6、 根据权利要求5所述的字符识别装置,其中所述候选字符串获取 单元中的所述第一单元在所述多个候选字符串中包括覆盖下述情况的候 选字符串所述接触字符线属于相邻字符中一个字符的情况、所述字符 线属于另一字符的情况、以及所述字符线属于相邻字符两者的情况。
7、 根据权利要求5所述的字符识别装置,其中所述候选字符串获取单元包括路径产生单元,该路径产生单元用于 将所述图的所述多个部分与多个链路关联,并且将所述多个链路彼此连接,从而产生分别对应于多个候选字符串的多个路径; 所述字符串选择单元包括字符识别代价设置单元,用于将所述图的对应部分的字符识别所需的识别代价设置为构成路径的各个链路的权重;以及路径选择单元,用于将对每个路径的各个链路的权重求和获得的识别成本总计为最小值的一个路径选择为所述字符串的路径;所述候选字符串获取单元中的所述第一单元提供串联连接的两个链路作为对应于所述接触字符线的链路;以及所述候选字符串获取单元中的所述第二单元提供与所述接触字符线并联连接的两个链路,作为对应于所述接触字符线的链路,并且两个链路之一具有所述接触字符线,而另一链路是绕道链路。
8、 根据权利要求5所述的字符识别装置,其中 在所述接触字符线沿与所述字符串的延伸方向基本垂直的方向延伸的情况下应用所述候选字符串获取单元中的所述第一单元;以及在所述接触字符线沿与所述字符串的延伸方向基本相同的方向延伸 的情况下应用所述候选字符串获取单元中的所述第二单元。
9、 一种字符识别方法,所述方法包括划分步骤,用于基于从输入有字符串的帐票表面获得的图,将所述 图划分为多个部分;候选字符串获取步骤,用于组合在所述划分步骤划分出的图的多个 部分,从而获得所述图中的字符串多个候选字符串;以及字符串选择步骤,用于从所述多个候选字符串中选择一个字符串;其中,所述候选字符串获取步骤至少包括下述之一第一步骤,用 于复制在相邻字符之间接触的字符线,然后将所复制的字符线包括为候 选字符串的元素;以及第二步骤,用于在所述多个候选字符串中包括已 经移除相邻字符之间的接触字符线的候选字符串、和包含所述字符线的 候选字符串。
10、 根据权利要求9所述的字符识别方法,其中所述候选字符串获取步骤中的所述第一步骤在所述多个候选字符串中包括覆盖下述情况的候选字符串所述接触字符线属于相邻字符之一的情况、所述接触字符 线属于另一字符的情况、以及所述字符线属于相邻字符两者的情况。
11、 根据权利要求9所述的字符识别方法,其中所述候选字符串获取步骤包括路径产生步骤,所述路径产生步骤用 于将图的多个部分与多个链路关联,并且将这些链路彼此连接,从而产生分别对应于多个候选字符串的路径;所述字符串选择步骤包括字符识别代价设置步骤,用于将图的对应部分的字符识别所需的识别代价设置为构成路径的各个链路的权重;以及路径选择步骤,用于将通过对每个路径的各自的链路的权重求和获得的识别成本总计为最小值的一个路径选择为所述字符串的路径; 所述候选字符串获取步骤中的所述第一步骤提供串联连接的两个链路作为对应于接触中的字符线的链路;以及所述候选字符串获取步骤中的所述第二步骤提供与接触字符线并联连接的两个链路,作为对应于所述接触字符线的链路,并且两个链路之一具有接触字符线,而另一链路是绕过链路。
12、 根据权利要求9所述的字符识别方法,其中 在所述接触字符线沿与所述字符串的延伸方向基本垂直的方向延伸的情况下应用所述候选字符串获取步骤中的所述第一步骤;以及在所述接触字符线沿与所述字符串的延伸方向基本相同的方向延伸 的情况下应用所述候选字符串获取步骤中的所述第二步骤。
全文摘要
一种字符识别装置,包括划分机制,用于将图划分为多个部分;候选字符串获取机制,用于组合图的多个部分;以及字符串选择机制,用于选择一个字符串。所述候选字符串获取机制至少包括下述之一第一机制,用于复制接触相邻字符的字符线,然后将所复制的字符线包括为候选字符串的元素;以及第二机制,用于在多个候选字符串中包括已经移除相邻字符之间的接触字符线的候选字符串、和包含所述接触字符线的候选字符串。
文档编号G06K9/34GK101515323SQ20091000425
公开日2009年8月26日 申请日期2009年2月18日 优先权日2008年2月19日
发明者藤本克仁, 诹访美佐子 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1