后光学字符识别处理中的形状聚类的制作方法

文档序号:6441959阅读:166来源:国知局
专利名称:后光学字符识别处理中的形状聚类的制作方法
技术领域
本说明书涉及形状聚类和光学字符识别。
背景技术
光学字符识别(OCR)使用一般将被称作OCR引擎的计算机软件来对原本在纸张、缩影胶片或其它介质上印刷的、打字的、手写的或其它书写文本的数字图像进行处理,并且从所述图像产生机器可识别和可编辑的文本。通过OCR引擎处理的文档的数字图像可包括多页书写材料的图像。要由OCR引擎进行处理的文本的图像可通过各种成像方法来获取,包括使用图像扫描仪来捕捉文本的数字图像。OCR引擎通常产生矩形边框旨在共同地围住每个页面上所写的文本。通常,当文档图像具有灰度或色彩信息时,OCR引擎对所述图像进行二进制化以使得将每个图像像素确定为前景像素(例如,黑色文本)或背景像素(例如,白色区域)。每个边框通常围住OCR引擎所感知(perceive)的一个字符的文本像素的一个或多个连接群组,但是也可以与相邻字符的一部分重叠,或者在极端情况下,可以完全重叠。在这样的情形中,现有几种方法将OCR引擎识别为属于所述边框内部的像素与属于不同但重叠边框的像素分离。这些方法 包括通过阈值和所连接成分的分析来生成掩膜图像,构建轮廓多边形,并且构建并行四边形的边框。OCR引擎通常为每个边框指派一个或多个OCR字符码。每个OCR码识别所述引擎已认出在该边框内的一个或多个字符。如果OCR引擎无法认出边框中的任何字符,则其可不向该边框指派OCR字符码。OCR字符码所识别的每个字符可以以标准字符编码进行表示,例如ASCII或统一字符编码。每个边框可被认为是对文档图像的一部分或小图像进行隔离的剪切(clipping)路径,无论其为原始形式或经二进制化的二进制形式。由于这些小图像可被认为是由其相应的边框从文档图像剪切而来,所以这些小图像将被称作剪切(clip)或剪切图像。由于每个剪切图像被绑定到边框、OCR字符码,所以指派给边框的字符也能够被称作或识别为指派给所述剪切图像的代码或字符。除非另外指出,术语剪切或剪切图像是指作为文档图像的一部分并且由OCR引擎所处理以便进行字符识别的图像。OCR引擎在该处理期间可能产生错误。例如,OCR引擎通过例如仅包括边框中的部分字符或包括在单个边框中被认作单个字符的多个字符而对原始图像进行了不正确分割。作为另一个示例,OCR引擎由于边框所围住的剪切图像和用于不同字符码的参考图像之间的一些图像相似性或者由于该OCR引擎所接收的数字图像的低图像质量而对边框指派不正确的OCR字符。

发明内容
除其它内容之外,该说明书描述了用于在包括光学字符识别(OCR)处理的输出在内的各种文档的处理中进行形状聚类和应用的技术和系统。在一个方面,一种方法可包括以下将在所接收的由OCR处理所处理的文档的OCR输出中限定的剪切图像归类为剪切图像的集群;处理每个集群中的剪切图像以生成每个集群的集群图像;比较所述集群图像来检测所述OCR处理对其错误指派了一个或多个OCR字符码的集群;对OCR输出中被检测为具有错误指派的一个或多个OCR字符码的第一集群指派一个或多个新的OCR字符码;并且在所述OCR输出中的第一集群的剪切图像之一每次出现时使用所述一个或多个新的OCR字符码替代错误指派的OCR字符码以产生经修改的OCR输出。每个集群包括被OCR处理指派了相同的一个或多个字符码的剪切图像。在另一个方面,一种用于光学字符识别(OCR)的系统可包括OCR引擎和后OCR引擎。所述OCR引擎可操作来处理文档的原始图像以产生包括从所述原始图像提取的剪切图像的OCR输出并且向每个剪切图像指派一个或多个字符。所述后OCR引擎可操作来将所述OCR输出的剪切图像归类为剪切图像的集群。每个集群包括被OCR引擎指派了相同的一个或多个字符码的剪切图像。所述后OCR引擎可操作来对每个集群中的剪切图像进行处理以生成每个集群的集群图像并且将所述集群图像进行比较以检测被OCR引擎错误指派了一个或多个OCR字符码的集群。所述后OCR引擎进一步被操作来对OCR输出中被检测为具有错误指派的一个或多个OCR字符码的第一集群指派一个或多个新的OCR字符码,并且在所述OCR输出中的第一集群的剪切图像之一每次出现时使用所述一个或多个新的OCR字符码替代错误指派的OCR字符码以产生经修改的OCR输出。在另一个方面,一种用于后光学字符识别(OCR)处理的方法可包括将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR输出中限定的剪切图像归类为剪切图像的集群;处理每个集群中的剪切图像以生成每个集群的集群图像。每个集群包括大小相同或相似并且被OCR处理指派了相同的一个或多个字符码的剪切图像。对于被指派了一个或多个第一 OCR字符码的第一集群,该方法识别(I)被指派了与所述一个或多个第一 OCR字符码不同的一个或多个第二 OCR字符码的第二集群,其中所述第二集群的集群图像在形状上相比被指派了与所述一个或多个第一 OCR字符码不同的一个或多个OCR字符的其它集群的集群图像更接近所述第一集群的集群图像,和(2)被指派了与第一集群相同的一个或多个第一 OCR字符码的第三集群,其中所述第三集群的集群图像在形状上比被指派了一个或多、个第一 OCR字符码的其它集群的集群图像更接近所述第一集群的集群图像。该方法至少使用第一集群和第二集群的集群图像之间的形状差异以及第一集群和第三集群的集群图像之间的形状差异来确定指派给第一集群的一个或多个第一 OCR字符码的置信等级。在另一个方面,一种用于光学字符识别(OCR)的系统可包括OCR引擎和后OCR引擎。所述OCR引擎可操作来处理文档的原始图像以产生包括从所述原始图像提取的剪切图像的OCR输出并且向每个剪切图像指派一个或多个字符;并且所述后OCR引擎可操作来将所述OCR输出的剪切图像归类为剪切图像的集群。每个集群包括大小相同或相似并且被OCR引擎指派了相同的一个或多个字符码的剪切图像。所述后OCR引擎可操作来对每个集群中的剪切图像进行处理以生成每个集群的集群图像。所述后OCR引擎还可操作来对于被指派了一个或多个第一 OCR字符码的第一集群识别(I)被指派了与所述一个或多个第一OCR字符码不同的一个或多个第二 OCR字符码的第二集群,其中所述第二集群的集群图像在形状上相比被指派了与所述一个或多个第一 OCR字符码不同的一个或多个OCR字符的其它集群的集群图像更接近所述第一集群的集群图像,和(2)被指派了与第一集群相同的一 个或多个第一 OCR字符码的第三集群,其中所述第三集群的集群图像在形状上比被指派了一个或多个第一 OCR字符码的其它集群的集群图像更接近所述第一集群的集群图像。在该系统中,所述后OCR引擎可操作来至少使用第一集群和第二集群的集群图像之间的形状差异以及第一集群和第三集群的集群图像之间的形状差异来确定指派给第一集群的一个或多个第一 OCR字符码的置信等级。在另一个方面,一种用于光学字符识别(OCR)的系统可包括集群生成引擎和集群处理引擎。所述集群生成引擎可操作来接收OCR输出,该OCR输出具有OCR引擎在处理文档的原始图像时所产生的分离图像以及由所述OCR引擎向每个分离图像指派的一个或多个字符。所述集群生成引擎可操作来将所述OCR输出中的分离图像归类为具有特定图像大小并且被OCR引擎指派了相同的一个和多个OCR字符码的分离图像的集群。所述集群处理引擎可操作来获取一个集群的集群图像和其它集群的集群图像之间的形状量度距离并且基于所获取的形状量度距离来检测在所述OCR引擎指派给每个集群的一个或多个OCR字符码的指派中是否存在错误。所述集群处理引擎可进一步被操作来校正对集群错误指派的一个或多个OCR字符码。在另一方面,一种用于光学字符识别(OCR)的方法可包括接收OCR输出,该OCR输出包括OCR引擎在处理文档的原始图像时所产生的分离图像以及由所述OCR引擎向每个分离图像指派的一个或多个字符,将所述OCR输出中的分离图像归类为具有特定图像大小并且被OCR引擎指派了相同的一个和多个OCR字符码的分离图像的集群;获取一个集群的集群图像和其它集群的集群图像之间的形状量度距离并且基于所获取的形状量度距离来检测在所述OCR引擎对每个集群指派的一个或多个OCR字符码的指派中是否存在错误;并且校正对集群错误指派的一个或多个OCR字符码。在另一方面,一种方法可包括将从对原始文档图像进行处理的光学字符识别(OCR)处理所接收的OCR输出中限定的剪切图像归类为剪切图像的集群。每个集群包括被OCR处理指派了相同的一个或多个特定字符的图像大小和形状相同或相似的剪切图像。在每个集群的剪切图像的求平均中应用来自所述原始文档图像的灰度和色彩信息以生成每个集群的平均图像。
在另一方面,一种用于光学字符识别(OCR)的系统可包括OCR引擎和后OCR引擎。所述OCR引擎可操作来处理文档的原始图像以产生具有从所述原始图像提取的剪切图像的OCR输出并且对每个剪切图像指派一个或多个字符。所述后OCR引擎可操作来将所述OCR输出中的剪切图像归类为剪切图像的集群。每个集群包括被所述OCR引擎指派了相同的一个或多个特定字符的图像大小和形状相同或相似的剪切图像。所述后OCR引擎可操作来在每个集群的剪切图像的求平均中应用来自所述原始文档图像的灰度和色彩信息以生成每个集群的平均图像。在另一个方面,一种用于对来自光学字符识别(OCR)处理的输出进行处理的方法可包括将从处理文档的原始图像所生成的OCR处理的输出中的分离图像归类为分离图像的集群;使用集群图像来表示相应的集群中的分离图像;选择具有低置信等级的集群以获取一个或多个字符与所选择集群的集群图像 的人工指派;并且使用所述人工指派所获取的一个或多个字符来验证或替代先前由所述OCR处理在OCR处理的输出中所指派的相应的一个或多个特定字符。在该方法中,每个集群包括被所述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相似的分离图像。在另一方面,一种用于光学字符识别(OCR)的系统可包括OCR引擎和后OCR引擎。所述OCR引擎可操作来对文档的原始图像进行处理以产生从所述原始图像提取的分离图像并且向每个分离图像指派一个或多个字符。所述后OCR引擎可操作来将OCR输出中的分离图像归类为分离图像的集群。每个集群包括被所述OCR引擎指派了相同的一个或多个特定字符的图像大小和形状相似的分离图像。所述后OCR引擎可操作来生成表示相应的集群中的分隔图像的集群图像,选择具有低置信等级的集群来获取一个或多个字符与所选择集群的集群图像的人工指派,并且使用所述人工指派所获取的一个或多个字符来验证或替代先前由所述OCR引擎所指派的相应的一个或多个特定字符。在另一方面,一种方法可包括将所接收的由光学字符识别(OCR)处理所处理的文档的OCR输出中限定的剪切图像归类为剪切图像的集群;生成集群图像来表示每个集群中的剪切图像;选择特定集群的集群图像作为在线挑战-响应(challenge-response)测试的一部分来请求对该特定集群的集群图像的用户识别;并且使用从所述在线挑战-响应测试接收的用户识别来验证或校正由所述OCR处理对所述特定集群所指派的一个或多个特定字符。在该方法中,每个集群包括被所述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相似的剪切图像。在另一方面,一种方法可包括将所接收的由光学字符识别(OCR)处理所处理的文档的OCR输出中限定的剪切图像分类为剪切图像的集群;使用集群图像来表示每个集群中的剪切图像;使用在线游戏向所述在线游戏的一个或多个用户提供特定集群的集群图像用于作为所述在线游戏的一部分的用户响应;并且使用从所述在线游戏所接收的用户响应来验证或校正由所述OCR处理对所述特定集群所指派的一个或多个特定字符。在该方法中,每个集群包括被所述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相似的剪切图像。在另一方面,一种用于光学字符识别(OCR)的系统可包括OCR引擎、后OCR处理引擎和表决处理引擎。每个OCR引擎可操作来对文档的原始图像进行处理并且产生相应的OCR输出。每个后OCR处理引擎可可操作来从相应的OCR引擎接收OCR输出并且可操作来产生所述文档的相应的经修改的OCR输出。所述表决处理引擎可操作来从所述经修改的OCR输出选择部分并且将所选择的部分组合为所述文档的最终OCR输出。每个后OCR处理引擎可操作来将在所接收的所述文档的OCR输出中限定的剪切图像归类为剪切图像的集群并且每个集群包括由对应的OCR引擎所指派的相同的一个或多个特定字符的图像大小和形状类似的剪切图像。每个后OCR引擎可操作来生成表示每个集群中的剪切图像的集群图像。所述表决处理引擎可操作来使用每个集群的集 群图像和其它集群的集群图像之间的形状差异来检测由对应的OCR引擎对每个集群所指派的一个或多个特定字符中是否存在错误;通过向特定集群新指派一个或多个特定字符来校正在所述特定集群中所检测到的每个错误;并且使用对所述特定集群新指派的一个或多个特定字符来替代在对应的经修改的OCR输出中先前由对应的OCR引擎所指派的相应的一个或多个特定字符。在另一个方面,一种用于光学字符识别(OCR)的方法可包括使用OCR引擎来处理文档的原始图像并且分别产生OCR输出;独立于其它OCR输出的处理而对每个OCR输出进行处理以产生所述文档的相应的经修改的OCR输出,所述处理包括将所接收的所述文档的OCR输出中限定的剪切图像归类为剪切图像的集群,生成集群图像来表示每个集群中的剪切图像,使用每个集群的集群图像和其它集群的集群图像之间的形状差异来检测由对应的OCR引擎对每个集群所指派的一个或多个特定字符中是否存在错误。每个集群包括由对应的OCR引擎所指派的相同的一个或多个特定字符的图像大小和形状类似的剪切图像。该方法进一步包括通过向特定集群新指派一个或多个特定字符来校正在所述特定集群中所检测到的每个错误,使用对所述特定集群新指派的一个或多个特定字符来替代对应的经修改的OCR输出中先前由对应的OCR引擎所指派的相应的一个或多个特定字符;并且从所述经修改的OCR输出选择部分并将所选择的部分组合为所述文档的最终OCR输出。在另一方面,一种方法可包括利用第一光学字符识别(OCR)引擎来处理文档图像以生成第一 OCR输出并且利用第二 OCR引擎来处理所述文档图像以生成第二 OCR输出。所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符。所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及对每个第二剪切图像指派的相应的一个或多个字符。该方法进一步包括对所述第一 OCR输出应用形状聚类来产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置信分值;对所述第二 OCR输出应用形状聚类来产生具有第二剪切图像的第二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置信分值;并且根据所述第一 OCR输出和第二 OCR输出生成最终的OCR输出。所述最终的OCR输出包括边框并且使用对所述第一剪切图像和第二剪切图像的一个或多个字符的指派的置信分值来对每个边框选择和指派相应的一个或多个字符。在另一方面,一种用于光学字符识别(OCR)的系统可包括第一 OCR引擎、第一后OCR引擎、第二 OCR引擎、第二后OCR引擎和表决处理引擎。所述第一 OCR引擎可操作来处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符。所述第一后OCR引擎可操作来对所述第一 OCR输出应用形状聚类来产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置信分值。所述第二 OCR引擎可操作来处理文档图像以生成第二 OCR输出,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及分别对每个第二剪切图像指派的一个或多个字符。所述第二后OCR引擎可操作来对所述第二 OCR输出应用形状聚类来产生具有第二剪切图像的第二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置信分值。所述表决处理引擎被用来接收和处理所述第一 OCR输出和第二 OCR输出,并且基于置信分值从所述第一和第二集群产生最终的OCR输出。在另一方面,一种方法可包括利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出,并且利用第二光学字符识别(OCR)引擎处理文档图像以生成第二 OCR输出。所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符。所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及对每个第 二剪切图像指派的相应的一个或多个字符。该方法进一步包括将所述第一剪切图像和第二剪切图像归类为集群,其中每个集群仅包括对其指派了相同的一个或多个字符的剪切图像;生成每个集群的集群图像;使用所述集群图像来验证或校正对剪切图像的字符指派并且确定对剪切图像的一个或多个字符的每个指派的置信分值;并且使用对所述集群图像的字符指派来生成最终的OCR输出。在另一方面,一种用于光学字符识别(OCR)的系统可包括第一 OCR引擎、第二 OCR引擎、后OCR引擎和表决处理引擎。所述第一 OCR引擎可操作来处理文档图像以生成第一OCR输出。该第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符。所述第二 OCR引擎可操作来处理文档图像以生成第二 OCR输出。该第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及对每个第二剪切图像指派的相应的一个或多个字符。所述后OCR引擎被用来接收所述第一和第二 OCR输出并且将所述第一剪切图像和第二剪切图像归类为集群。每个集群仅包括对其指派了相同的一个或多个字符的剪切图像以及表示每个集群的剪切图像的集群图像。所述表决处理引擎可操作来基于从所述后OCR引擎对所述集群图像的字符指派来生成最终的OCR输出。在另一方面,一种方法可包括利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出;对所述第一 OCR输出应用形状聚类以产生第一经修改的OCR输出。所述第一 OCR输出包括识别位于所述文档图像中的剪切图像的第一边框以及对每个剪切图像指派的相应的一个或多个字符。所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改以及在所述文档图像中认出的词。该方法进一步包括识别所述第一经修改的OCR输出中的可疑词,所述可疑词是具有被识别为可疑字符的字符的词;并且利用第二 OCR引擎对所述可疑词进行处理以认出所述可疑词。在另一方面,一种用于光学字符识别(OCR)的系统可包括第一 OCR引擎、第一后OCR引擎和第二 OCR引擎。所述第一 OCR引擎可操作来处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符。所述第一后OCR引擎可操作来对所述第一OCR输出应用形状聚类以产生第一经修改的OCR输出,所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改以及在所述文档图像中认出的词。所述第一后OCR引擎可操作来识别所述第一经修改的OCR输出中的可疑词,并且所述可疑词是具有被识别为可疑字符的字符的词。所述第二 OCR引擎可操作来接收并处理所述可疑词以认出所述可疑词。
在另一方面,一种方法可包括处理文档图像以产生所述图像的非重叠子区域的集合,其中每个子区域为第一分辨率;生成视觉上类似的剪切子区域的多个集群,其中所述集合中的每个子区域包括在集群之一中;以高于所述第一分辨率的第二分辨率根据在相应的集群中的所述子区域对所述多个集群中每一个生成代表性集群图像;并且通过利用其中包括相应的子区域的集群的代表性集群图像替代所述图像中的子区域来产生所述文档的副本图像。在另一方面,一种方法可包括对文档的原始图像应用光学字符识别(OCR)处理以产生所述原始图像的不同位置的剪切图像,其中每个剪切图像为第一分辨率;将所述剪切图像归类为剪切图像的集群,其中每个集群包括被所述OCR处理指派了相同的一个或多个字符码并且大小相同或相似的剪切图像;将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二分辨率的经转换的剪切图像;对在每个集群中的经转换的剪切图像求平均以产生集群图像;并且使用所述集群的集群图像来替代由所述OCR处理最初产生的对应的剪切图像从而以第二分辨率生成所述文档的原始图像的副本。
在又另一个方面,一种系统可包括光学字符识别(OCR)引擎和后OCR引擎。所述OCR引擎可操作来处理文档的原始图像以产生包括所述原始图像不同位置的剪切图像的OCR输出。每个剪切图像为第一分辨率。所述后OCR引擎与所述OCR引擎进行通信以接收所述OCR输出。所述后OCR引擎可操作来将所述剪切图像归类为剪切图像的集群,其中每个集群包括被所述OCR引擎指派了相同的一个或多个字符码并且大小相同或相似的剪切图像。所述后OCR引擎可操作来将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二分辨率的经转换剪切图像;对每个集群中的经转换剪切图像求平均以生成集群图像;并且使用所述集群的集群图像来替代由所述OCR引擎最初产生的对应的剪切图像从而以第二分辨率生成所述文档的原始图像的副本。可实施本发明的特定实施例来实现一个或多个优势。例如,来自以普通方式印刷或书写的长篇文档的大量样本包括图像信息,所述图像信息可在样本数量足够大时被访问。这样的信息可被用来提高识别字符时的精度。该说明书中所描述的形状聚类技术可被应用来对大量样本进行处理以提取关于图案相似度和相异度的附加图像信息。本发明的一个或多个实施例的细节在附图和在以下描述中进行阐述。根据所述描述、附图和权利要求,本发明的其它特征、方面和优势将变得显而易见。


图I图示了从特定OCR引擎的输出获取的OCR所生成的边框、相关的剪切图像和指派的OCR字符码的示例。图2示出了在后OCR处理中应用形状聚类的示例性方法。图3是示出对OCR输出应用形状聚类以产生经修改的OCR输出的示例性后OCR处理引擎的示例的框图。图4是示出用于由图3的集群生成引擎进行的集群归类的示例性处理的流程图。图5图示了通过对集群中在其质心对齐的剪切图像求平均来计算集群图像的一个示例性处理。图6图示了能够由集群处理软件330执行以使用用于OCR字符码指派的形状聚类的方法 示例。图7、8和9示出了从OCR引擎的输出获取的集群以及由图3的集群处理引擎所计算的相关集群参数的示例。图10示出了滑动窗口处理的示例,其中通过使用具有高置信分值的集群作为用于对可疑集群图像进行重新分割的集群图像模板来将可疑集群图像重新分割为更小的集群图像。图IlA和IlB示出了图10中的滑动窗口处理的操作细节。图12图示了自动人工校正的一种实施方式,其中人工校正处理可被包括为图3中的集群处理软件的一部分。图13示出了在表决配置中包括两个或更多OCR引擎和后OCR处理引擎的示例性OCR系统。图14示出了在表决配置中包括两个或多个OCR引擎和单个后OCR处理引擎的另一种不例性OCR系统。图15示出了使用第一 OCR引擎处理原始文档图像并且使用第一后OCR引擎处理来自所述第一 OCR引擎的OCR输出以产生经修改的OCR输出的示例性OCR系统。图16图示了用来产生文档的高分辨率版本的一种示例性处理。图17图示了示例性的高分辩率按需打印系统。图18示出了实施OCR处理和后OCR处理的示例性计算机系统。图19示出了基于OCR和后OCR处理提供在线OCR服务的示例性计算机系统。类似的附图标记和标号在各附图中指示类似元素。
具体实施例方式不同OCR引擎的OCR输出可有所变化,但是许多包括字符边框和所述边框的OCR指派的字符码。图I图示了从特定OCR引擎的输出所获取的OCR生成的边框、相关的剪切图像和指派的OCR字符码的示例。所述OCR引擎对文档的原始数字图像进行处理并且将该原始图像分割为与被独立认出的字符相对应的独立剪切图像。所述OCR引擎产生并使用边框来围住和识别一个或多个单独认出的字符。例如,图I中的边框110、120、140和160分别围住标点符号的句点、字母“F”、字母“ο”和数字“4”。每个OCR字符码能够表示一个或多个字符。每个字符可包括一个或多个语言标记,其中语言标记是语言的基本单元,并且可包括例如字母、数字以及符号或标志。符号或标记可以是例如标点符号、排字标记或变音符(diacritical mark)。因此,字符的示例可以是字母、数字、符号或标志以及两个或更多语言标记的连字(ligature)。图I包括根据对字母、数字和标点符号相应指派的OCR字符码而生成的OCR字符的特定示例。根据OCR引擎指派的OCR字符码生成文本字符130和150,其中对在边框120和边框160内所包含的文档图像部分分别生成字母“F”和数字“4”。在图I所示的示例中,OCR引擎所生成的边框为矩形,并且其大小和纵横比随所围住的独立字符的大小和纵横比而变化。在该示例中,每个边框围住一个字符的图像像素。所要处理的文档的原始图像可以是二进制图像、灰度图像或彩色图像中的一个或多个。灰度数据或色彩数据通常比二进制数据包含更为详细的图像信息,因此对于提取细致或详细的图像特征可以是有价值的。在一些OCR引擎中,原始图像首先被转换为二进制图像,并且接着对所转换的二进制图像进行处理以便进行光学字符识别。该转换可对OCR处理和后OCR处理的质量造成逆向影响。因此,以下所描述的一些技术访问原始图像以获取灰度信息或色彩信息以便在后OCR处理中使用并由此提高了处理精度。该说明书中所描述的技术可被用来充分利用嵌入在来自以普通方式印刷或书写的长篇文档的大量样本中的图像信息,以提高识别字符时的精度。形状聚类技术被用来处理所述大量样本来提取关于图案类似度和相异度的附加图像信息。适于应用形状聚类技术的长篇文档的示例包括书、诸如报纸、期刊和杂志之类的周期性印刷出版物的集合以及由同一人或具有类似书写风格的不同人所书写的文档的集合等。图2示出了在后OCR处理中应用形状聚类的示例性方法。文档的原始数字图像首先被OCR引擎处理,以产生包括独立边框的OCR输出,所述边框包围着所述原始数字图像内的剪切图像。所述OCR引擎还分别为所述边框指派OCR字符码。该OCR输出的后OCR处理可如下执行。在步骤210,所述OCR输出中的边框所限定的剪切图像被归类为剪切图像的不同集群。被归类在一个集群中的剪切图像已经被OCR弓丨擎指派了一个或多个共同的OCR字符码且被识别为相同或相似的大小,并且被后OCR处理基于诸如形状距离之类的适当形状量度确定为具有相同或相似的形状。例如,这样的集群可包括处于特定剪切图像大小或与之近似的用于字母“C”的相同或相似的剪切图像。因此,以上归类处理使用适当的形状量度对被指派具有一个或多个共同OCR字符码并且大小相同或相似的不同剪切图像的形状进行比较。例如,可计算两个这样的剪切图像之间的形状距离来确定形状相似度的程度。该形状比较将剪切图像分离成集群,其中每个集群具有被形状量度测量为形状相同或相似、被相应的边框的大小(例如,沿边框的一个维度的像素数目)测量为大小相同或相似并且被指派具有一个或多个共同的OCR字符码的剪切图像。可生成集群图像来表示每个集群中的剪切图像(步骤220)。所述集群图像可以是每个集群的剪切图像的代表性图像,并且可以利用不同方法来生成。例如,可将集群中的剪切图像进行平均来产生平均图像作为集群图像。作为另一个示例,可选择集群中的一个剪切图像作为集群图像。在对每个集群生成集群图像之后,在各种后OCR处理操作中可由所述集群图像以及指派到集群的一个或多个OCR字符码来表示每个集群。可注意到,在形成集群之后,一些后续处理操作可以以集群的级别进行。基于形状相似度将每个集群图像与其它集群图像进行比较来验证OCR输出中对集群的一个或多个OCR字符码的指派以及检测对集群错误指派的一个或多个OCR字符码(步骤230)。如果在比较不同集群图像时没有检测到错误,则由OCR引擎指派给集群的一个或多个OCR字符码被验证为正确。如果检测到错误,则生成一个或多个新的OCR字符码并指派给所述集群(步骤240)。该基于不同集群之间的形状相似度检查每个集群中的一个或多个OCR字符码指派并且校正错误指派的处理可被部分用于确定对集群图像的每个指派的置信分值,该置信分值指示每个指派的可信度级别。在生成了一个或多个新的OCR字符码后,所述一个或多个新的OCR字符码被用来在OCR输出中该集群的集群图像每次出现时替代错误指派的一个或多个OCR字符码,以产生经修改的OCR输出(步骤250)。OCR错误的这种校正以集群级别执行并且被应用到该集群中的所有图像。该集群级别的处理比每次对原始图像中的一个图像实例或出现执行错误校正的技术更为高效。至少出于该原因,该集群级别的处理在OCE处理中有效处理长篇文档时是有利的。、
当基于形状相似度对集群图像所进行的比较没有发现OCR引擎对集群所进行的一个或多个OCR字符码的指派中存在错误时,该比较已经验证了所述OCR引擎所进行的指派。该验证是有价值的,原因在于在验证之后会提高对所述集群的一个或多个OCR字符码指派的置信等级。因此,及时没有对OCR引擎最初生成的一个或多个OCR字符码指派进行校正,集群图像的比较也能够提高后OCR处理中的OCR质量。置信分值还可以被其它因素所影响,例如对集群的一个或多个OCR字符码的指派是否由人工识别进行了验证以及集群中的剪切图像数目。出于该说明的原因,人工意味着需要诸如人的独立实体的作用。人工识别所进行的验证可被用来对集群指派高的置信分值。在统计上,与具有较小的剪切图像数量的集群相比,集群中剪切图像的数量大会表明高的集群置信分值。图3是示出示例性后OCR处理引擎310的框图,所述后OCR处理引擎310对OCR输出应用形状聚类以产生经修改的OCR输出。OCR引擎300是对文档的数字图像301进行处理并且产生OCR输出302的OCR软件模块。后OCR处理引擎310是进一步对OCR输出302进行处理以对任意OCR错误进行校正并由此产生OCR精度得以提高的经修改的OCR输出的软件模块。在该示例中,后OCR处理引擎310包括集群生成软件320、集群处理软件330和输出处理软件340。集群生成软件320可操作来接收OCR输出302,并且基于剪切图像的形 状相似度将OCR输出302中的独立剪切图像归类为集群322。集群处理软件330处理集群322并且能够对集群322进行表征和修改以产生经修改的集群332,其中一些集群被进一步表征并且OCR输出302中的一些OCR错误基于从集群处理获取的属性而得以校正。集群处理软件330能够应用形状聚类来从每个集群中的剪切图像提取形状信息。所提取的形状信息可被用来将不同集群的集群图像的形状进行比较并且获取不同集群的形状差异,尤其是具有不同的指派OCR字符码的集群之间的形状差异。该形状比较可接着被用来确定OCR输出302中的所指派的OCR字符码中是否存在错误。输出处理软件340可对OCR输出302应用经修改的集群332并且在生成经修改的OCR输出350时校正在OCR输出302中所检测到的错误。错误可以是对集群的一个或多个OCR字符码不正确指派。输出处理软件330还可以使用经修改的集群332中的集群信息来校正词中的剪切图像的不正确分割。在以下讨论剪切图像的不正确分割,例如参考图10、IlA和11B。图3所示的后OCR处理系统及其变化形式可以在通信网络中的一个或多个计算机服务器中实施。所述一个或多个计算机服务器可被用来提供OCR引擎300和后OCR引擎310。所述网络中的客户端计算机可向所述一个或多个计算机服务器发送文档图像301来请求文档301的OCR输出。OCR引擎300和后OCR引擎310对客户端的文档图像进行处理并且产生OCR输出350,所述OCR输出350可通过所述通信网络发送到所述客户端计算机。如图3所示,在一些实施方式中,集群生成软件320可直接访问文档的原始图像并且获取在OCR输出302中可能无法获得的文档原始图像的灰度或色彩数据,以生成集群322。因此,在该示例中,所述原始图像的灰度或色彩数据被用来验证并修改对于集群的OCR字符码指派并且提高后OCR处理引擎310的处理精度。在其它实施方式中,集群处理软件330可选择具有所指派的一个或多个有疑问的OCR字符码的集群,并且获取对所选择集群的图像的人工识别。该人工识别生成具有所选择集群的图像的一个或多个字符的人工指派。该说明书在以下描述了一些实施方式将所指派的一个或多个OCR字符码确定为有疑问的方式。
集群处理软件330的输出为经修改的集群332。输出处理软件340使用经修改的集群332的OCR字符码来更新OCR输出320中的OCR字符码以产生经修改的OCR输出350。与集群处理软件330中的处理类似,输出处理软件340在更新OCR输出320中的OCR字符码时以集群级别进行操作。输出处理软件340还可以选择包括具有一个或多个OCR字符码的有疑问指派的可疑集群的词,以便进行重新分割,即将相关的集群图像重新分割为两个或更多新的集群图像并且基于来自具有高置信分值的所选择集群的匹配图像对新的集群图像指派OCR字符码,所述具有高置信分值的所选择集群诸如具有大量剪切图像的集群、具有经由人工识别获取的字符码的集群。
图4是示出能够由图3的集群生成软件320执行的集群生成的示例性处理的流程图。在该处理中,除OCR引擎300所指派的OCR字符码之外,集群生成软件320使用OCR输出302中关于剪切图像的形状和大小的信息将剪切图像归类为集群、组块(bucket)和类。归类于一个集群中的剪切图像已经被OCR引擎300指派了一个或多个共同的OCR字符码,并且被OCR引擎300基于相应的边框的大小而识别为近似为特定剪切图像大小。特别地,在该处理中,基于与另一个集群形状相同或相似的形状量度来选择一个集群中的剪切图像。在一些实施方式中,在集群生成软件320所进行的集群生成中并不明确使用字体类型信息。然而,在生成集群中使用的形状比较处理意在将字体相同或相似并且为相同或相似字体大小的字符置入相同集群中。例如,Time Roman字体且为12点大小的字母“g”的剪切图像可被归类于一个集群中,而TimeRoman字体且为10点大小的字母“g”的剪切图像可被归类于不同集群中。集群可被分组为组块,其中每个组块具有被指派以相同或相似大小的一个或多个共同OCR字符码的集群。被指派以一个或多个共同OCR字符码的所有组块可被分组在一起作为所述一个或多个共同OCR字符码所识别的集群类。例如,不同字体和字体大小的字母“c”的剪切图像的所有集群在“c”类中。因此,英文中26个字母的剪切图像被归类于26个不同类中。在图4的示例性集群生成中,集群生成软件320首先将剪切图像划分为类,其中一个类中的剪切图像无论其形状和大小如何都被指派一个或多个共同的OCR字符码(步骤410)。在每个类中,集群生成软件320将剪切图像划分为组块,其中一个组块中的剪切图像具有相同或相似的大小但是可能形状有所不同,诸如不同的字体类型(步骤420)。在所有类中进行该操作。在每个组块中,集群生成软件320基于其形状与另一剪切图像的距离将剪切图像划分为集群,其中一个集群中的剪切图像具有相同或相似的形状,例如,字体类型和大小相同或相似的字符(步骤430)。在将剪切图像归类到集群之后,集群生成软件320为每个集群生成表示集群形状的集群图像。所述集群图像是集群中的剪切图像的代表性图像,并且可以例如通过对每个集群中的剪切图像进行平均或者从剪切图像中选择特定的剪切图像来生成(步骤440)。结果,每个集群可由所述集群图像以及指派到所述集群的相应的一个或多个OCR字符码来表示(步骤450)。在后OCR引擎310所进行的后续处理中,能够以集群级别进行各种后OCR处理操作而不是处理各个剪切图像。可应用多种求平均技术来获取集群图像。图5图示了一种用于通过对在其质心对齐的剪切图像进行平均来计算集群图像的示例性处理。每个剪切图像的边框内的图像信息可被用来计算每个剪切图像的质心(步骤510)。集群内不同剪切图像的边框相对于其所计算的质心对齐(步骤520)。对集群的所对齐剪切图像的像素值进行平均来生成平均图像作为集群图像(步骤530)。根据集群生成软件320在集群生成期间比较不同剪切图像的形状时所最初使用的剪切图像的像素值,每个像素值可以是二进制值、灰度值或色彩值。剪切图像像素的灰度或色彩值可被用来生成集群并且计算具有详细和细致特征的集群图像,从二进制像素值获取的集群图像可能无法获得所述详细和细致特征。当OCR引擎300在OCR输出302中仅提供二进制图像信息时,后处理引擎310可直接访问文档301的原始图像以获取灰度或色彩信息。OCR输出302中每个独立剪切图像的边框的位置坐标是已知的,并且所述边框可基于已知位置坐标被应用到文档301的原始图像以从文档301的原始图像获取对应的灰度或彩色像素信息。所获取的每个剪切图像的灰度或色彩信息接着被用来比较剪切图像的形状以便生成集群320,并且计算每个集群内的剪切图像的平均图像作为对应的集群图像。如上所述,作为集群的基本单元的剪切图像可以是表示一个或多个OCR字符码的图像。因此,可对单个剪切图像指派两个或更多OCR字符码。许多OCR引擎被设计为使用单个边框作为基本单元来向与每个单个边框相关联的剪切图像指派一个或多个OCR字符码。在实施该说明书中的聚类技术时,集群的基本单元可以是与OCR引擎所产生的单个边框相关联的剪切图像,以及与所述OCR引擎所产生的两个或更多相邻边框相关联的剪切图像。在后者的情况下,相连的剪切图像时作为分别与在所接收的OCR输出中的两个或更多相邻边框相关联的两个或更多剪切图像的组合的“相连”剪切图像。因此,集群生成软件320可被设计成将在所接收的OCR输出中的相连剪切图像归类为形状和大小相同或相似并且与所述OCR引擎指派给相应的相邻边框的相同字符相关联的相连剪切图像的相连集群。当与OCR引擎所产生的两个或更多相邻边框相关联的相连剪切图像被用作形成集群的基本单元时,图3中的集群生成软件320在确定剪切图像的大小时实质上分别将两个或更多的相邻边框当作相连的单个边框。这样的相连边框并非由OCR引擎所产生,而是由所给出的后OCR处理引擎310中的集群生成软件320所生成并作为其产生结果。在该说明书中所描述的各种处理操作中,处理或使用这种具有两个或更多相邻的OCR所生成边框的相连边框可以与使用或处理单个OCR所生成边框类似,包括计算与边框相关联的剪切图像的形状距离、边框质心、不同边框的对齐、对与边框相关联的剪切图像求平均、获取人工识别以及内插(interpolation)边框中的剪切图像。因此,该说明书中的边框可以是OCR引擎所生成的单个边框或者将OCR引擎所生成的两个或更多相邻边框相连接的边框。因此,与将OCR引擎所生成的两个或更多相邻边框相连接的相连边框相关联的相连剪切图像可以是分别与将OCR引擎所生成的两个或更多相邻边框相关联的各个剪切图像的组合,并且可以在集群处理中以和关联于OCR引擎所生成的单个边框的剪切图像相同的方式来对待。可注意到,与每一个连接OCR引擎所生成的两个或更多相邻边框的边框相关联的相连剪切图像可以在该说明书中所描述的聚类处理中进行聚类。因此,在将每个集群与不同字符的所有集群进行比较时,所述比较包括其中每个集群成员具有将两个或更多OCR所生成的边框相连接并且由此被指派多个字符的边框的集群。结果,聚类处理中的比较可由于不同集群而产生多个不一致。 例如,被指派字符“r”的OCR字符码的“r”集群包括字符“r”的剪切图像样本。“r”集群中的这些剪切图像样本中的一些,例如临近“η”剪切图像的“r”剪切图像,还可包括在被指派“rn”的OCR字符连字的2字符集群中作为“rn”的剪切图像的一部分。与包括“r”和“η”集群的许多其它集群相比,“rn”集群的集群图像在形状上可能与“m”集群更为接近。虽然会有冲突的情况,但是用于确定每个集群是否为可疑集群、不可接受集群或独立集群的整体处理保持相同。以上η = 2的示例扩展到η阶(n-gram)集群,并且随着η的增力口,计算需求会有所增加且返回精度会降低。集群处理软件330对每个集群322进行估算来确定由OCR引擎300最初对每个集群指派的一个或多个OCR字符码是否充分可靠以便在经修改的OCR输出350中使用。当由OCR引擎300最初对集群指派的一个或多个OCR字符码被确定为不可靠时,集群处理软件330可对所述集群执行附加处理来获取一个或多个更为可靠的OCR字符码来表示集群图像。该处理修改了一些集群322以产生经修改的集群332。对经修改的集群322所指派的OCR字符码接着被用来产生经修改的OCR输出350。对特定集群指派的一个或多个OCR字符码的可靠度级别也被称作置信等级,并且可由置信分值进行数字表示。可以对集群处理软件330设置置信分值阈值以便将具有所述置信分值阈值以上的置信分值的那些集群识别为可接收的集群,并且将具有所述置信分值 阈值以下的置信分值的那些集群识别为可疑集群。可独立或以特定组合使用多个因素或参数来决定置信分值。一种相关因素是集群中剪切图像的数目。在统计上,与具有较小的剪切图像数量的集群相比,集群中剪切图像的数量大表明高的集群置信分值。另一种相关因素是获取剪切图像的一个或多个OCR字符码或能够反映特定的一个或多个OCR字符码的可靠度的集群图像的方式。例如,集群图像可由人进行人工识别,并且基于人工识别所生成的对应的一个或多个OCR字符码可被认为是高度可靠的指派并且由此被指派高的置信分值。以下所描述的示例提供了关于如何使用集群中的多个剪切图像以及集群和其它集群之间的形状相似度来确定置信分值并且基于这样的分值对集群排名的细节。集群处理软件330能够将集群生成软件320所生成的不同集群的形状信息相关联,以便检测和校正OCR引擎300所指派的OCR字符码中的错误并且验证OCR引擎300所指派的OCR字符码。在该处理期间,软件330能够通过校正OCR输出302中的错误来修改一些集群而产生经修改的集群332,更具体地,通过对每个集群图像的字符码指派进行验证(和校正,如果需要)来产生集群图像和字符码的关联。在一些实施方式中,集群处理软件330应用形状量度来计算形状距离,作为两个集群的集群图像之间的形状差异的度量并且作为确定集群的置信分值的一个因素。这种使用形状量度用于比较形状还可被用于在集群生成软件320首次生成集群320时对剪切图像进行比较。因此,集群处理软件330中用于计算两个集群图像之间的形状距离的以下示例性技术可被用来在集群生成软件320中计算剪切图像之间的形状距离。在集群处理软件330中可使用多个形状量度。例如,对于二进制图像,可使用基于Hausdorff距离的各种形状距离。与在集群生成软件320中获取集群图像类似,可在计算形状距离时使用剪切图像的像素值的色彩或灰度表示来实现形状比较中的更高的精度。当OCR输出302仅提供了剪切图像的二进制图像信息时,可由后OCR引擎310从OCR引擎所处理的文档的原始图像301直接获取色彩或灰度信息。当集群生成软件320在计算集群322的集群图像时已经从原始图像301获取了色彩或灰度信息时,集群处理软件330可使用相同的色彩或灰度信息来计算形状距离。否则,集群处理软件330可访问原始图像301来获取所述色彩或灰度信息。为了确定两个集群图像I和J之间的形状距离,基于其边框质心对齐集群图像I和J。在一些实施方式中,所对齐的集群图像I和J之间的形状距离可如下计算
权利要求
1.一种用于光学字符识别(OCR)的方法,包括 利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及指派给每个第一剪切图像的相应的一个或多个字符; 使用第二 OCR引擎处理所述文档图像以生成第二 OCR输出,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及指派给每个第二剪切图像的相应的一个或多个字符; 对所述第一 OCR输出应用形状聚类来产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置信分值; 对所述第二 OCR输出应用形状聚类来产生具有第二剪切图像的第二集群以及对第二 剪切图像的一个或多个字符的每个指派的相应的置信分值;并且 从所述第一 OCR输出和所述第二 OCR输出生成最终的OCR输出,所述最终的OCR输出包括边框并且使用对所述第一剪切图像和所述第二剪切图像的所述一个或多个字符的指派的所述置信分值来对每个所述边框选择和指派相应的一个或多个字符。
2.如权利要求I所述的方法,其中 所述集群包括(I)其中每个剪切图像与相应的OCR引擎所产生的单个边框相关联的集群和⑵其中每个剪切图像与相应的OCR引擎所产生的两个或更多相邻边框相关联的集群。
3.如权利要求I所述的方法,进一步包括 至少利用第三OCR引擎处理所述文档图像以生成第三OCR输出,所述第三OCR输出包括识别位于所述文档图像中的第三剪切图像的第三边框以及指派给每个第三剪切图像的相应的一个或多个字符,并且 其中生成所述最终的OCR输出包括使用所述第一、第二和第三OCR输出并且使用对所述第一、第二和第三剪切图像的字符指派的置信分值在所述最终的OCR输出中对每个边框选择和指派相应的一个或多个字符。
4.如权利要求I所述的方法,其中 形状聚类对多个集群中的每个集群指派相应的一个或多个字符,每个集群包括一个或多个剪切图像;并且 应用形状聚类包括访问原始文档图像并且获取灰度或色彩数据来确认或修改对集群的字符指派。
5.如权利要求I所述的方法,进一步包括 在生成所述最终的OCR输出之前,处理所述第一集群以修改或验证所述第一 OCR输出中对所述第一剪切图像的字符指派;并且 在生成所述最终的OCR输出之前,处理所述第二集群以修改或验证所述第二 OCR输出中对所述第二剪切图像的字符指派。
6.一种用于光学字符识别(OCR)的系统,所述系统包括 用于利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出的装置,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及指派给每个第一剪切图像的相应的一个或多个字符;用于利用第二 OCR引擎处理所述文档图像以生成第二 OCR输出的装置,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及指派给每个第二剪切图像的相应的一个或多个字符; 用于对所述第一 OCR输出应用形状聚类来产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置信分值的装置; 用于对所述第二 OCR输出应用形状聚类来产生具有第二剪切图像的第二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置信分值的装置;并且 用于从所述第一 OCR输出和所述第二 OCR输出生成最终的OCR输出的装置,所述最终的OCR输出包括边框并且使用对所述第一剪切图像和所述第二剪切图像的所述一个或多个字符的指派的所述置信分值来对每个所述边框选择和指派相应的一个或多个字符。
7.一种用于光学字符识别(OCR)的系统,包括 第一 OCR引擎,可操作来处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及对每个第一剪切图像指派的相应的一个或多个字符; 第一后OCR引擎,可操作来对所述第一 OCR输出应用形状聚类来产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置信分值; 第二 OCR引擎,可操作来处理所述文档图像以生成第二 OCR输出,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框以及指派给每个第二剪切图像的相应的一个或多个字符; 第二后OCR引擎,可操作来对所述第二 OCR输出应用形状聚类来产生具有第二剪切图像的第二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置信分值;以及表决处理引擎,用来接收和处理所述第一 OCR输出和所述第二 OCR输出,并且基于置信分值从所述第一和所述第二集群产生最终的OCR输出。
8.如权利要求7所述的系统,其中 所述第一后OCR引擎可操作来获取对集群图像的人工识别以验证或校正对所述集群图像的一个或多个字符的指派。
9.如权利要求7所述的系统,其中 所述第一和第二 OCR引擎、所述第一和第二后OCR引擎和所述表决处理引擎处于一个或多个服务器计算机上;并且 所述一个或多个服务器计算机与通信网络进行通信,所述通信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所述第一和第二 OCR引擎并且将来自所述表决处理引擎的最终OCR输出导引到所述客户端计算机。
10.如权利要求9所述的系统,其中 所述第一和第二 OCR引擎、所述第一和第二后OCR引擎和所述表决处理引擎分别处于不同的服务器计算机上。
11.如权利要求7所述的系统,其中 所述第一和第二 OCR引擎、所述第一和第二后OCR引擎和所述表决处理引擎处于一个或多个服务器计算机上; 所述一个或多个服务器计算机与通信网络进行通信;一个或多个OCR存储服务器计算机与所述通信网络进行通信并且存储所述第一和第二 OCR引擎、所述第一和第二后OCR引擎和所述表决处理引擎产生的所选择文档的图像的最终OCR输出;并且 所述通信网络提供在客户端计算机和所述一个或多个OCR存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或多个OCR存储服务器计算机获取现有的最终OCR输出。
12.一种用于光学字符识别(OCR)的方法,包括 利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框,所述第一 OCR输出进一步 包括指派给每个第一剪切图像的相应的一个或多个字符; 利用第二 OCR引擎处理所述文档图像以生成第二 OCR输出,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框,所述第二 OCR输出进一步包括指派给每个第二剪切图像的相应的一个或多个字符; 将所述第一剪切图像和所述第二剪切图像归类为集群,每个集群仅包括对其指派了相同的一个或多个字符的剪切图像; 生成每个集群的集群图像; 使用所述集群图像来验证或校正对剪切图像的字符指派并且确定对剪切图像的一个或多个字符的每个指派的置信分值;以及 使用对所述集群图像的字符指派来生成最终的OCR输出。
13.如权利要求12所述的方法,其中 通过对所述集群中的剪切图像求平均来生成所述集群的集群图像。
14.如权利要求12所述的方法,进一步包括 在生成所述最终的OCR输出中,确定任意一个所述第一剪切图像是否与任意一个所述第二剪切图像共享所述文档图像中的位置,以及指派给所述一个第一剪切图像的一个或多个字符与指派给所述一个第二剪切图像的一个或多个字符是否不同,如果是,则使用所述一个第一剪切图像和所述一个第二剪切图像的相应的置信分值来选择所述位置的一个或多个字符。
15.如权利要求12所述的方法,其中 所述集群包括(I)其中每个剪切图像与相应的OCR引擎所产生的单个边框相关联的集群和(2)其中每个剪切图像与相应的OCR引擎所产生的两个或更多相邻边框相关联的集群。
16.—种用于光学字符识别(OCR)的系统,所述系统包括 用于利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出的装置,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框,所述第一 OCR输出进一步包括指派给每个第一剪切图像的相应的一个或多个字符; 用于利用第二 OCR引擎处理所述文档图像以生成第二 OCR输出的装置,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框,所述第二 OCR输出进一步包括指派给每个第二剪切图像的相应的一个或多个字符; 用于将所述第一剪切图像和所述第二剪切图像归类为集群的装置,每个集群仅包括对其指派了相同的一个或多个字符的剪切图像; 用于生成每个集群的集群图像的装置; 用于使用所述集群图像来验证或校正对剪切图像的字符指派并且确定对剪切图像的一个或多个字符的每个指派的置信分值的装置;以及 用于使用对所述集群图像的字符指派来生成最终的OCR输出的装置。
17.—种用于光学字符识别(OCR)的系统,包括 第一 OCR引擎,可操作来处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的第一剪切图像的第一边框,所述第一 OCR输出进一步包括指派给每个第一剪切图像的相应的一个或多个字符; 第二 OCR引擎,可操作来处理所述文档图像以生成第二 OCR输出,所述第二 OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边框,所述第二 OCR输出进一步包括指派给每个第二剪切图像的相应的一个或多个字符; 后OCR引擎,用来接收所述第一和第二 OCR输出并且将所述第一剪切图像和所述第二剪切图像归类为集群,每个集群仅包括对其指派了相同的一个或多个字符的剪切图像以及表示每个集群的剪切图像的集群图像;和 表决处理引擎,可操作来基于从所述后OCR引擎对所述集群图像的字符指派来生成最终的OCR输出。
18.如权利要求17所述的系统,其中 所述第一和第二 OCR引擎、所述后OCR引擎和所述表决处理引擎处于一个或多个服务器计算机上;和 所述一个或多个服务器计算机与通信网络进行通信,所述通信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所述第一和第二 OCR引擎并且将来自所述表决处理引擎的最终OCR输出导引到所述客户端计算机。
19.如权利要求18所述的系统,其中 所述第一和第二 OCR引擎、所述后OCR引擎和所述表决处理引擎分别处于不同的服务器计算机上。
20.如权利要求17所述的系统,其中 所述第一和第二 OCR引擎、所述后OCR引擎和所述表决处理引擎处于一个或多个服务器计算机上; 所述一个或多个服务器计算机与通信网络进行通信; 一个或多个OCR存储服务器计算机与所述通信网络进行通信并且存储所述第一和第二 OCR引擎、所述后OCR引擎和所述表决处理引擎产生的所选择文档的图像的最终OCR输出;并且 所述通信网络提供在客户端计算机和所述一个或多个OCR存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或多个OCR存储服务器计算机获取现有的最终OCR输出。
21.一种用于光学字符识别(OCR)的方法,包括 利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的剪切图像的边框以及对每个剪切图像指派一个或多个字符的字符指派; 对所述第一 OCR输出应用形状聚类以产生第一经修改的OCR输出,所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改,所述第一经修改的OCR输出进一步包括在所述文档图像中认出的词; 识别所述第一经修改的OCR输出中的可疑词,所述可疑词是具有被识别为可疑字符的字符的词;并且 利用第二 OCR引擎对所述可疑词进行处理以认出所述可疑词。
22.如权利要求21所述的方法,进一步包括 作为正确认出所述可疑词来选择所述第一经修改的OCR输出或所述第二 OCR引擎的输出。
23.如权利要求21所述的方法,进一步包括 在所述第一经修改的OCR输出中应用形状聚类来产生对剪切图像的一个或多个字符的每个指派的相应的置信分值; 利用所述第二 OCR引擎处理所述文档图像以生成第二 OCR输出; 对所述第二 OCR输出应用形状聚类以产生第二经修改的OCR输出,所述第二经修改的OCR输出包括所述第二 OCR弓丨擎对剪切图像的字符指派的修改,所述第二经修改的OCR输出包括对剪切图像的一个或多个字符的每个指派的相应的置信分值,所述第二经修改的OCR输出进一步包括在所述文档图像中认出的词; 使用所述第一经修改的OCR输出的置信分值和所述第二经修改的OCR输出的置信分值,作为正确认出所述可疑词来选择所述第一经修改的OCR输出或所述第二 OCR引擎的输出。
24.如权利要求23所述的方法,其中 对所述第二 OCR输出应用形状聚类包括 将所述第二 OCR引擎所定位的剪切图像归类为集群,每个集群仅包括被所述第二 OCR引擎指派了相同的一个或多个字符的剪切图像; 对每个集群生成集群图像,所述集群的集群图像是通过对所述集群中的剪切图像求平均而生成的; 使用所述集群图像以生成对所述剪切图像的经校正的字符指派;并且 使用所述经校正的指派的经校正的指派字符来认出词。
25.—种用于光学字符识别(OCR)的系统,所述系统包括 用于利用第一光学字符识别(OCR)引擎处理文档图像以生成第一 OCR输出的装置,所述第一 OCR输出包括识别位于所述文档图像中的剪切图像的边框以及对每个剪切图像指派一个或多个字符的字符指派; 用于对所述第一 OCR输出应用形状聚类以产生第一经修改的OCR输出的装置,所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改,所述第一经修改的OCR输出进一步包括在所述文档图像中认出的词; 用于识别所述第一经修改的OCR输出中的可疑词的装置,所述可疑词是具有被识别为可疑字符的字符的词;并且 用于利用第二 OCR引擎对所述可疑词进行处理以认出所述可疑词的装置。
26.—种用于光学字符识别(OCR)的系统,包括 第一 OCR引擎,可操作来处理文档图像以生成第一 OCR输出,所述第一 OCR输出包括识别位于所述文档图像中的剪切图像的边框以及对每个剪切图像指派一个或多个字符的字符指派; 第一后OCR引擎,可操作来对所述第一 OCR输出应用形状聚类以产生第一经修改的OCR输出,所述第一经修改的OCR输出包括对于剪切 图像的字符指派的修改,所述第一经修改的OCR输出进一步包括在所述文档图像中认出的字,其中所述第一后OCR引擎可操作来识别所述第一经修改的OCR输出中的可疑词,所述可疑词是具有被识别为可疑字符的字符的字;和 第二 OCR引擎,可操作来接收并处理所述可疑词以认出所述可疑词。
27.如权利要求26所述的系统,其中 所述第一和第二 OCR引擎和所述第一后OCR引擎处于一个或多个服务器计算机上;并且 所述一个或多个服务器计算机与通信网络进行通信,所述通信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所述第一 OCR引擎并且将来自所述第二 OCR引擎的OCR输出导引到所述客户端计算机。
28.一种用于光学字符识别(OCR)的方法,包括 处理文档图像以产生所述图像的非重叠子区域的集合,每个子区域为第一分辨率;生成视觉上类似的剪切子区域的多个集群,其中所述集合中的每个所述子区域包括在所述集群的一个中; 以高于所述第一分辨率的第二分辨率从在所述相应的集群中的所述子区域对所述多个集群中每一个生成代表性集群图像;并且 通过利用其中包括子区域的集群的代表性集群图像替代所述图像中的相应的子区域来产生所述文档的副本图像。
29.如权利要求28所述的方法,其中 所述文档是多个页面的文档;并且 每个子区域是所述文档的一个页面的一部分。
30.如权利要求29所述的方法,其中 每个原始子区域由矩形边框所限定。
31.如权利要求28所述的方法,其中 所速文档包括多个不同的子文档。
32.如权利要求31所述的方法,其中 所述多个不同的子文档以共同的风格被打印。
33.如权利要求32所述的方法,其中 所述多个不同的子文档是期刊或书本中的文章。
34.如权利要求28所述的方法,其中 所述图像的所述子区域包括灰度或色彩数据;并且 使用所述灰度或色彩数据生成所述第二分辨率的代表性集群图像。
35.如权利要求28所述的方法,其中所述图像的所述子区域包括灰度或色彩数据并且从所述集群生成的所述代表性图像是二进制图像。
36.如权利要求28所述的方法,进一步包括 通过对所述子区域的集合应用分级凝聚集群算法生成所述视觉上相似的子区域的多个集群。
37.如权利要求28所述的方法,进一步包括 使用光学字符识别(OCR)引擎来处理为所述第一分辨率的图像以识别所述子区域并且对每个子区域指派一个或多个字符;并且 通过对所述子区域的多个集群指派子区域来生成所述视觉上相似的子区域的多个集群以使得每个集群仅包括被所述OCR引擎指派了相同的一个或多个特定字符并且大小近似相同的子区域。
38.如权利要求28所述的方法,进一步包括 打印所述副本图像。
39.如权利要求28所述的方法,进一步包括 使用所述文档的图像中的灰度或色彩信息以所述第二分辨率生成每个集群的平均图像。
40.如权利要求28所述的方法,其中生成平均图像进一步包括 获取相应的集群中的每个子区域的灰度或色彩信息; 使用所述灰度或色彩信息获取每个子区域的质心位置; 重叠所述集群内的子区域的质心位置;并且 使用所述集群中的重叠的子区域获取所述平均图像。
41.如权利要求28所述的方法,进一步包括 在对每个集群中的子区域求平均时执行内插以获取对应的平均图像。
42.如权利要求41所述的方法,其中 对所述内插应用双线性内插算法。
43.一种用于光学字符识别(OCR)的系统,所述系统包括 用于处理文档图像以产生所述图像的非重叠子区域的集合的装置,每个子区域为第一分辨率; 用于生成视觉上类似的剪切子区域的多个集群的装置,所述集合中的每个所述子区域包括在所述集群的一个中; 用于以高于所述第一分辨率的第二分辨率从在相应的集群中的所述子区域对所述多个集群中每一个生成代表性集群图像的装置;以及 用于通过利用其中包括子区域的集群的代表性集群图像替代所述图像中的相应的子区域来产生所述文档的副本图像的装置。
44.一种用于光学字符识别(OCR)的方法,包括 对文档的原始图像应用光学字符识别(OCR)处理以产生所述原始图像的不同位置的剪切图像,每个剪切图像为第一分辨率; 将所述剪切图像归类为剪切图像的多个集群,每个集群包括被所述OCR处理指派了相同的一个或多个字符码并且大小相同或相似的剪切图像;将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二分辨率的经转换剪切图像; 对每个集群中的经转换剪切图像求平均以生成集群图像;并且使用所述多个集群的集群图像来替代由所述OCR处理最初产生的对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像的副本。
45.如权利要求44所述的方法,进一步包括 对每个集群中的每个剪切图像应用内插算法以产生相应的经转换的剪切图像。
46.如权利要求45所述的方法,其中 所述内插算法是双线性内插算法。
47.如权利要求44所述的方法,进一步包括 使用所述文档的所述原始图像中的灰度或色彩数据来形成每个集群中的所述剪切图像。
48.如权利要求44所述的方法,进一步包括 以所述第二分辨率打印所述副本。
49.如权利要求44所述的方法,进一步包括 获取每个集群中的每个经转换剪切图像的质心位置; 重叠所述集群内的经转换剪切图像的质心位置;并且 对所述集群中重叠的经转换剪切图像求平均以获取所述集群图像。
50.如权利要求44所述的方法,其中 每个剪切图像由所接收的OCR输出中的边框来限定,并且 所述集群包括(I)其中每个剪切图像与所述OCR引擎产生的单个边框相关联的集群和(2)其中每个剪切图像与所述OCR引擎产生的两个或更多相邻边框相关联的集群。
51.—种用于光学字符识别(OCR)的系统,所述系统包括 用于对文档的原始图像应用光学字符识别(OCR)处理以产生所述原始图像的不同位置的剪切图像的装置,每个剪切图像为第一分辨率; 用于将所述剪切图像归类为剪切图像的多个集群的装置,每个集群包括被所述OCR处理指派了相同的一个或多个字符码并且大小相同或相似的剪切图像; 用于将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二分辨率的经转换剪切图像的装置; 用于对每个集群中的经转换剪切图像求平均以生成集群图像的装置;以及用于使用所述多个集群的集群图像来替代由所述OCR处理最初产生的对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像的副本的装置。
52.—种用于光学字符识别(OCR)的系统,包括 光学字符识别(OCR)引擎,可操作来处理文档的原始图像以产生包括在所述原始图像的不同位置的剪切图像的OCR输出,每个剪切图像为第一分辨率; 后OCR引擎,与所述OCR引擎进行通信以接收所述OCR输出, 其中所述后OCR引擎可操作来 将所述剪切图像归类为剪切图像的集群,每个集群包括被所述OCR引擎指派了相同的一个或多个字符码并且大小相同或相似的剪切图像;将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二分辨率的经转换剪切图像; 对每个集群中的经转换剪切图像求平均以生成集群图像;并且 使用所述多个集群的集群图像来替代由所述OCR引擎最初产生的对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像的副本。
53.如权利要求52所述的系统,其中 所述OCR引擎和所述后OCR引擎处于一个或多个服务器计算机上;并且 所述一个或多个服务器计算机与通信网络进行通信,所述通信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所述OCR引擎。
54.如权利要求52所述的系统,其中 所述OCR引擎和所述后OCR引擎处于不同的服务器计算机上。
55.如权利要求52所述的系统,其中 所述OCR引擎和所述后OCR引擎处于一个或多个服务器计算机上; 所述一个或多个服务器计算机与通信网络进行通信; 一个或多个存储服务器计算机与所述通信网络进行通信并且存储所述OCR引擎和所述后OCR引擎所产生的为第二分辨率的所选择原始图像的副本;并且 所述通信网络提供在客户端计算机和所述一个或多个存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或多个存储服务器计算机获取所述OCR引擎和所述后OCR引擎所产生的原始图像的为所述第二分辨率的现有副本。
56.如权利要求52所述的系统,其中 打印机连接到所述通信网络以打印所述后OCR引擎所产生的所述副本。
全文摘要
本申请涉及后光学字符识别处理中的形状聚类。用于在包括光学字符识别(OCR)处理的输出的各种文档处理中的应用和形状聚类的技术和系统。
文档编号G06K9/20GK102637256SQ20111042505
公开日2012年8月15日 申请日期2007年9月7日 优先权日2006年9月8日
发明者路克·文森特, 雷蒙德·W·史密斯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1