经历ocr过程的文本的单词识别的制作方法

文档序号:6423704阅读:312来源:国知局
专利名称:经历ocr过程的文本的单词识别的制作方法
技术领域
本发明涉及计算机技术,尤其涉及计算机的字符识别技术。
背景技术
光学字符识别(OCR)是一般以标准编码方案对文本的图像到作为机器可编辑文本的数字形式的基于计算机的转换。这一过程消除了将文档手动键入计算机系统的需求。 由于扫描过程所导致的较差图像质量、非理想性等可引起多个不同问题。例如,常规OCR引擎可被耦合到扫描文本页面的平板式扫描仪。由于页面被放置于与扫描仪的扫描面齐平, 因此扫描仪所生成的图像通常展示出均勻的对比度和照明度、减少的歪斜和失真、以及高的分辨率。由此,OCR引擎可方便地将图像中的文本转换成机器可编辑的文本。然而,当图像关于对比度、照明度、歪斜等质量较低时,由于处理该图像中的所有像素,OCR引擎的性能可能会降级并且处理时间可能会增加。例如,当图像是从书中获取时或者当由基于成像器的扫描仪生成时,这可能是该情况,因为在这些情况下,文本/图像是从一距离、从变化的方向、以及在变化的照明中扫描的。即使扫描过程的性能是良好的,当相对低质量的文本页面正被扫描时OCR引擎的性能也可能会降级。OCR过程中的一个步骤是单词识别。所识别的单词旨在在拼写和排列上与打印在原始文档中的单词完全对应。然而,难以实现这样的完全对应。结果,电子文档可包括原始文档中从未出现的误识别的单词。出于这一讨论的目的,术语“单词”覆盖了任何字符集,无论该字符集是否与某种语言的实际单词相对应。此外,术语“单词”覆盖了不仅包括字母表中的字母而且还包括数字、标点符号、以及诸如“$”、“&”、“#”等印刷符号的字符集。由此, 误识别的单词可包括不包括实际单词的字符集,或者误识别的单词可包括不具有与所扫描的文档中的对应单词拼写相同的实际单词。例如,单词“got”可被误识别成不存在的单词 “qot”,或者单词“eat”可被识别成“cat”。无论这些误识别的单词包括真实单词还是仅仅是字符的聚集,它们可以与它们旨在匹配的原始文档的单词的拼写非常接近。这些误识别错误的原因包括以上讨论的OCR性能问题。另外,误识别错误由某些字符之间的物理相似度引起。例如,如以上讨论的,这些错误可在字母“g”与物理相似的字母“q”混淆时发生。 另一常见错误是OCR算法使字母“d”与两个字母的组合“ol”混淆。

发明内容
光学字符识别(OCR)引擎所采用的单词识别过程的速度和准确性可能由于可经历处理的大量输入数据而受损。这些输入数据可包括例如,在文本图像的文本行中已识别的相对大量的候选字符。一般具有与其相关联的不同置信水平的每一候选字符可以表示或可以不表示实际字符。这些候选字符的各种排列在单词识别过程的单词搜索部分期间被检查,以便标识那些字符最可能表示的一个或多个单词。在一个实现中,单词识别装置和方法按多遍的模式操作。在这一方法中,单词搜索组件首先在第一遍中使用具有最高置信水平的输入数据元素(例如候选字符)并且尝试标识单词。如果单词识别失败,则单词搜索组件使用具有较低置信水平的输入数据元素来执行第二遍。可重复这一过程额外的遍数,直到正确地识别出该单词。这一方法可显著地改进识别性能和准确性,因为较少数据和噪声(具有较低置信水平的数据)需要被处理。在一个实现中,在每一遍期间除了使用具有不同阈值置信水平的不同输入数据元素以外,还可使用不同的字符识别和单词搜索算法。例如,在较早的各遍(例如第一遍和第二遍)期间可使用较快或较不准确的算法,而在后续的各遍期间可使用较慢且较准确的算法。提供本发明内容是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。


图1示出了用于执行文本图像的光学字符识别(OCR)的系统的一个说明性示例。图2示出了已由切分线进行过分割的文本行的一部分。图3示出了由ICR组件产生的图2中所示的符号的几个候选字符。图4示出了可在经历OCR过程的文本图像中标识单词的图像处理装置的一个示例。图5是单词识别方案的一个示例的示意图。图6是单词识别过程的一个示例的流程图。
具体实施例方式图1示出了用于执行文本图像的光学字符识别(OCR)的系统5的一个说明性示例。系统5包括生文档15的图像的数据捕捉装置(例如,扫描仪10)。扫描仪10可以是基于成像器的扫描仪,它利用电荷耦合器件作为图像传感器以生成图像。扫描仪10处理图像以生成输入数据,并且将输入数据发送给处理装置(例如OCR引擎20)以供图像内的字符识别。在该具体示例中,将OCR引擎20合并到扫描仪10中。然而,在其他示例中,OCR引擎20可以是分开的单元,诸如独立单元或被合并到诸如PC、服务器之类的另一设备中的单元。OCR引擎20接收文本图像作为图像行的位图。OCR引擎20的一个组件用位于相邻字符之间的一系列切分线分割每一文本行。理想地,单个字符或字形位于一对相邻切分线之间。然而,在许多情况下,由于较差图像质量、字体灰度、斜体文本、字符形状等难以将单词分割成个体符号。可通过过分割而不是不足分割来避免这一问题。即,产生比可能表示图像中的实际字符更多的符号或字形。图2示出了对文本行的一部分进行过分割的结果。 在此示例中,字符“m”被分成三个符号,字符“a”和“d”各自被分成两个符号,以及字符“e” 被分成单个符号。当字符切分组件创建各个符号之后,个体字符识别器(ICR)组件尝试标识每一符号或符号的组合所表示的字符。ICR组件产生一系列候选字符以及每一候选字符的置信水平。图3示出了由ICR组件产生的图2中所示的符号的几个候选字符。一旦候选字符被产生,则单词搜索组件通过按不同方式对候选字符进行分组来尝试标识它们所表示的最可能的单词。由于可能有许多方式可对个体符号进行组合,并且可对每一个这样的符号产生许多候选字符,所有都被单词搜索组件用作输入数据元素,因此单词搜索组件的速度和准确性可受损。理想地,到OCR引擎的单词搜索组件的输入数据的数量会被降低。如以下详述的,单词识别系统按多遍的模式操作。在这一方法中,系统中的单词搜索组件首先在第一遍中使用具有最高置信水平的输入数据元素并且尝试标识单词。如果单词识别失败,则单词搜索组件使用具有较低置信水平的输入数据元素来执行第二遍。可重复这一过程额外的遍数,直到正确地识别出该单词。这一方法可显著地改进识别性能和准确性,因为较少数据和噪声(具有较低置信水平的数据)需要被处理。在每一遍期间除了使用具有不同阈值置信水平的不同输入数据元素以外,还可使用不同的字符识别和单词搜索算法。即,在每一遍之后改变阈值置信水平。图4示出了可在经历OCR过程的文本图像中标识单词的图像处理装置200的一个示例。可被合并到OCR引擎中的装置200包括输入组件202,用于接收具有文本行的输入图像,文本行在OCR引擎的先前组件中已由切分线分割。装置还包括用于标识文本行中的字符的个体字符识别(ICR)组件204,以及用于基于已由ICR组件标识的字符来标识单词的单词搜索组件206。数据结构210存储已由各种组件标识的候选切分线、候选字符以及候选单词。装置200还包括输出组件210,该输出组件生成关于已按允许其被OCR引擎的后续组件采用的形式而被标识的单词的信息。单词识别方案将结合图5中所示的示意图来示出。OCR引擎的单词识别系统首先创建包括由引擎的先前组件提供的所有输入数据元素的数据结构,包括切分线及其相关联的置信水平、结果符号以及经历OCR的文本图像的位图。这一数据结构由框305来表示。单词识别系统接收这一数据结构,并且为该数据结构中的每一项建立第一阈值集。例如,为切分线以及使用那些切分线产生的结果候选字符的置信水平建立阈值。例如,对于切分线,建立MinSplitLineConfidence (pass_id)(最小拆分线置信度(遍」d)),其中pass_id是正被处理的遍的id号。在第一遍中(由图5中的框310表示),从数据结构中选出满足最高阈值集 (例如最高置信水平)的输入数据元素。在切分线的情况下,例如,仅使用那些具有大于 MinSplitLineConfidence (pass_l)(最小拆分线置信度(遍_1))的置信水平的切分线。在第一遍中不使用不满足该第一阈值集的输入数据元素。单词识别系统随后调用ICR组件,该ICR组件使用满足第一阈值集的输入数据元素以产生一系列候选字符以及每一候选字符的置信水平。随后单词搜索组件将候选字符用作输入数据元素以标识具有最大置信水平的单词。如果单词的置信水平超过为该第一遍(由图5中的MIN_W0RD_C0NFIDENCE (PASS_1)(最小_单词_置信度(遍_1))表示)所建立的指定阈值,则单词识别系统将这一所识别的单词返回给OCR引擎中的下一适当的组件。另一方面,如果单词的置信水平小于MIN_W0RD_C0NFIDENCE (PASS_1),则单词识别系统执行第二遍。在执行第二遍之前,将候选字符和所识别的单词以及它们各自的置信水平添加到数据结构。以此方式,它们不必在第二遍或后续的遍期间由ICR组件或单词搜索组件重新计算。因此,数据结构包含被用于执行单词识别的所有可用信息。
在第二遍中(由图5中的框15表示),从数据结构中选出满足第二阈值集(例如第二最高置信水平)的输入数据元素。在切分线的情况下,例如,仅使用那些具有大于 MinSplitLineConfidence (pass_2)(最小拆分线置信度(遍_2))的置信水平的切分线。在第二遍中不使用不满足该第二阈值集的输入数据元素。在第二遍期间,可使用与第一遍中所使用的那些相同或不同的字符识别和单词搜索算法。例如,所采用的ICR算法可由ICREngine (pass_id) (ICR引擎(遍_id))来表示, 并且由此可在一遍与另一遍之间不同。在一个示例中,在较早的各遍(例如第一遍和第二遍)期间可使用较快或较不准确的算法,而在后续的各遍期间可使用较慢且较准确的算法。例如,在单词搜索组件的情况下,可采用的算法包括使用或者不使用字典约束的定向搜索(beam search)算法或维特比(Viterbi)算法。如果单词的置信水平超过为该第二遍(由图5中的MIN_W0RD_ CONFIDENCE(PASS_2)表示)所建立的指定阈值,则单词识别系统将这一所识别的单词返回给OCR引擎中的下一适当的组件。另一方面,如果单词的置信水平小于MI N_W0RD_ CONFIDENCE (PASS_2),则单词识别系统执行第三遍。为附加的各遍继续这一过程,直到超过某一遍的MIN_W0RD_C0NFIDENCE (PASS_ID)(最小_单词_置信度(遍_ID))或者直到已经执行了预先建立的最大遍数(由框220表示),这在图5中由框320表示成pass_n (遍_n)。ICR组件所采用的算法可通过对所有可能的切分线对检查大范围的条件来确定该候选字符集或系列。例如,可在给定的遍中仅使用在先前各遍的一个中未使用的切分线对。另外,在某些情况下,可以仅使用置信水平大于MinSplitLineConfidence[pass_id] (最小拆分线置信度[遍」d])的切分线。可应用的另一条件是位于当前正被检查的切分线对之间的每一切分线的置信水平的总和。仅使用这一总和小于某一阈值的切分线对,该阈值被称为MaxSplitLineSumConfidence[pass_id](最大拆分线总和置信度[遍_id]),如该名称所指示的,它可在遍与遍之间变化。可使用的又一条件是位于当前正被检查的切分线对之间的暗像素的百分比。仅使用这一百分比大于某一阈值的切分线对,该阈值被称为 MinDarkArea[paSS_id](最小暗区域[遍_id]),如该名称所指示的,它可在遍与遍之间变化。图6是示出用于在经历光学字符识别的文本图像中标识单词的方法的一个示例的流程图。在步骤410中,接收包括已由多个切分线分割的文本行的输入图像的位图,该多个切分线各自与一置信水平相关联,该置信水平反映相应的切分线正确地将文本行分割成个体字符的程度。在步骤420中,至少部分基于文本行以及所述多个切分线中具有大于第一阈值的切分线置信水平的第一子集,来在文本行的一个中标识一个或多个单词。在判定步骤430,如果第一单词不与足够高的单词置信水平相关联,则该方法前进至步骤440。在步骤440,至少部分基于所述多个切分线中具有置信水平大于小于第一阈值的第二阈值的第二子集,来在文本行中标识至少第二单词。另一方面,在判定步骤430,如果第一单词与足够高的单词置信水平相关联,则该方法在步骤450终止,在步骤450期间所标识的单词作为输出数据可能被提供给OCR引擎的另一组件、或者可能作为诸如PDF或Microsoft Word 文档等数字文档。如在本申请中所使用的,术语“组件”、“模块”、“引擎”、“系统”、“装置”、“接口”等一
般旨在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、 执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、 固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。如这里所使用的术语“制品,,可以包含可以从任何计算机可读的设备、载体或介质进行访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带...)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)底)、智能卡,以及闪存设备(例如, 卡、棒、键驱动器...)。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。尽管用专门描述结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
权利要求
1.一种用于在经历OCR过程的文本图像中标识单词的方法,包括(a)接收(410)包括已由切分线分割以定义其间的符号的文本行的输入图像的位图, 其中所述切分线的每一个与切分线置信水平相关联,所述切分线置信水平反映相应的切分线正确地将所述文本行分割成个体字符的程度;(b)维护存储数据元素的数据结构,所述数据元素包括所述位图、具有相应的切分线置信水平的切分线和所述符号;(c)从所述数据结构中的数据元素的第一子集中产生具有相关联的字符置信水平的候选字符的第一集,所述数据元素的第一子集具有相应的候选置信水平,所述相应的候选置信水平各自超过数据元素阈值的第一集中的相应一个;(d)通过进一步包括具有相应的字符置信水平的候选字符的所述第一集来更新所述数据结构;(e)从所述候选字符的第一集中标识至少第一单词G20),其中所述第一单词具有相关联的第一单词置信水平;(f)如果(440)所述第一单词置信水平低于第一单词阈值,则更新所述数据结构以进一步包括所述第一单词及其第一单词置信水平;以及(g)对所更新的数据结构中的数据元素的第二子集重复步骤(c)-(e),所述数据元素的第二子集具有相应的数据元素置信水平,所述相应的数据元素置信水平各自超过低于所述数据元素阈值的第一集的数据元素阈值的第二集的相应一个,从而产生(440)至少第二单词及其相关联的第二单词置信水平。
2.如权利要求1所述的方法,其特征在于,还包括对所述数据结构中的数据元素的后续子集重复步骤(c)-(f),直到产生具有后续单词置信水平的后续单词,使得所述后续单词置信水平超过部分取决于步骤(c)-(f)已经重复的次数的单词阈值。
3.如权利要求2所述的方法,其特征在于,数据元素的每一后续子集具有相关联的数据元素阈值,该数据元素阈值低于与数据元素的任何先前子集相关联的数据元素阈值。
4.如权利要求1所述的方法,其特征在于,还包括对所述数据结构中的数据元素的后续子集重复步骤(c)-(f),直到步骤(c)-(f)已被重复的次数达到预先确定的最大次数。
5.如权利要求1所述的方法,其特征在于,从所述数据元素的第一子集中产生具有相关联的候选置信水平的候选字符的第一集是使用第一字符识别算法来执行的,并且所述方法还包括使用与所述第一字符识别算法不同的第二字符识别算法从所述数据元素的第二子集中产生具有相关联的候选置信水平的候选字符的第二集。
6.如权利要求5所述的方法,其特征在于,所述第一字符识别算法是比所述第二字符识别算法更快且较不准确的算法。
7.如权利要求1所述的方法,其特征在于,还包括使用第一单词搜索算法来标识(420) 所述第一单词,以及使用与所述第一单词搜索算法不同的第二单词搜索算法来标识所述第二单词。
8.如权利要求7所述的方法,其特征在于,所述第一单词搜索算法是比所述第二单词搜索识别算法更快且较不准确的算法。
9.如权利要求1所述的方法,其特征在于,还包括选择数据元素子集,其中选择所述数据元素子集包括选择切分线对,所述切分线对之间具有附加切分线,与所述附加切分线相关联的相应的切分线置信水平的总和小于预先确定的阈值。
10.如权利要求9所述的方法,其特征在于,当重复步骤(c)-(e)时所述预先确定的阈值改变。
11.一种用于在经历OCR过程的文本图像中标识单词的系统,包括输入组件002),用于接收包括已由切分线分割以定义其间的符号的文本行的输入图像的位图,其中反映切分线准确性的置信水平与每一切分线相关联;数据结构,用于存储数据元素,所述数据元素包括所述位图、具有相应的切分线置信水平的切分线和所述符号;字符识别(204)组件,用于从所述数据结构中的数据元素的第一子集中产生具有相关联的置信水平的候选字符的第一集,所述数据元素的第一子集具有相应的置信水平,所述相应的置信水平各自超过数据元素阈值的第一集的相应一个,其中所述字符识别组件被配置成通过在所述数据结构中进一步包括具有相应的字符置信水平的候选字符的第一集使得数据结构被更新;以及单词搜索组件006),用于从所述候选字符的第一集中标识至少第一单词,其中所述第一单词具有相关联的第一单词置信水平,其中,所述单词识别组件被配置成使得所述数据结构被更新,以便如果所述第一单词置信水平低于第一单词阈值水平则进一步包括所述第一单词及其第一单词置信水平,其中所述字符识别组件和所述单词搜索组件进一步被配置成从所更新的数据结构中的数据元素中分别产生候选字符的第二集和至少第二单词,所更新的数据结构中的数据元素具有各自超过小于所述数据元素阈值的第一集的数据元素阈值的第二集的相应一个的相应的置信水平。
12.如权利要求11所述的系统,其特征在于,所述字符识别组件(204)被配置成使用第一字符识别算法来产生所述候选字符的第一集,以及使用与所述第一字符识别算法不同的第二字符识别算法来产生所述候选字符的第二集。
13.如权利要求12所述的系统,其特征在于,所述第一字符识别算法是比所述第二字符识别算法更快且较不准确的算法。
14.如权利要求11所述的系统,其特征在于,所述单词搜索组件(206)被配置成使用第一单词搜索算法来标识所述第一单词,以及使用与所述第一单词搜索算法不同的第二单词搜索算法来标识所述第二单词。
15.一种包括可由计算系统执行的指令的介质,所述指令将所述计算系统配置成执行一种用于在经历光学字符识别的文本图像中标识单词的方法,所述方法包括接收(410)包括已由多个切分线分割的文本行的输入图像的位图,所述多个切分线各自与一置信水平相关联,所述置信水平反映相应的切分线正确地将文本行分割成个体字符的程度;至少部分基于所述文本行以及所述多个切分线中具有大于第一阈值的切分线置信水平的第一子集,来在所述文本行的一个中标识(420)第一单词;以及如果所述第一单词不与足够高的单词置信水平相关联,则至少部分基于所述多个切分线中具有大于小于第一阈值的第二阈值的置信水平的第二子集,来在所述一个文本行中标识(440)至少第二单词。
全文摘要
本发明公开了经历OCR过程的文本的单词识别。一种用于在经历光学字符识别的文本图像中标识单词的方法包括,接收(410)包括已由多个切分线分割的文本行的图像(15)的位图(多个切分线各自与反映相应的切分线正确地将文本行分割成个体字符的程度的置信水平相关联)。至少部分基于文本行以及具有大于第一阈值的切分线置信水平的第一子集的切分线,来在文本行的一个中标识(420)一个或多个单词。如果(430)第一单词不与足够高的单词置信水平相关联,则至少部分基于具有大于小于第一阈值的第二阈值的置信水平的第二子集的切分线,来标识(440)至少一第二单词。
文档编号G06K9/72GK102236800SQ20111011732
公开日2011年11月9日 申请日期2011年4月29日 优先权日2010年5月3日
发明者A·安东尼杰维克, D·尼耶姆切维奇, I·米蒂克, M·钦波 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1