首页 / 专利库 / 专利权 / 共同代表 / 后光学字符识别处理中的形状聚类

后光学字符识别处理中的形状聚类

阅读:297发布:2022-11-01

专利汇可以提供后光学字符识别处理中的形状聚类专利检索,专利查询,专利分析的服务。并且用于在包括光学字符识别(OCR)处理的输出的各种文档处理中的应用和形状聚类的技术和系统。,下面是后光学字符识别处理中的形状聚类专利的具体信息内容。

1.一种方法,包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括被 所述OCR处理指派了相同的一个或多个字符码的剪切图像;
处理所述多个集群中的每一个中的剪切图像,以生成每个集群的 集群图像;
比较所述集群图像来检测被所述OCR处理对其错误指派了一个或 多个OCR字符码的集群;
对所述OCR输出中被检测为具有错误指派的一个或多个OCR字符 码的第一集群指派一个或多个新的OCR字符码;以及
在所述OCR输出中每次出现所述第一集群的所述剪切图像中的一 个时使用所述一个或多个新的OCR字符码替代错误指派的OCR字符码 以产生经修改的OCR输出。
2.如权利要求1所述的方法,其中:
每个集群中的剪切图像被所述OCR引擎识别为具有特定形状和 特定剪切图像大小。
3.如权利要求1所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框所限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
4.如权利要求1所述的方法,进一步包括:
将所接收的OCR输出中的相连剪切图像归类为形状和大小相同 或相似的相连剪切图像的多个相连集群,每个相连剪切图像是与所接 收的OCR输出中的两个或更多相邻边框相关联的两个或更多剪切图像 的组合;并且
对所述相连集群应用所述集群上的每个处理。
5.如权利要求1所述的方法,其中:
每个集群的集群图像是从相应的集群中的剪切图像的平均来获取 的。
6.如权利要求1所述的方法,其中:
每个集群的集群图像是选自相应的集群中的剪切图像中的一个。
7.如权利要求1所述的方法,进一步包括:
使用每个集群和其它集群之间集群图像的形状差异来检测在OCR 输出中被指派给集群的一个或多个OCR字符码中是否存在错误。
8.如权利要求7所述的方法,进一步包括:
获取集群图像之间的形状量度距离作为两个集群之间的形状差异 的度量。
9.如权利要求8所述的方法,进一步包括:
当第二集群在所有其它集群中具有与第一集群最短的形状量度距 离并且比所述第一集群具有更高的置信分值时,利用指派给所述第二 集群的一个或多个不同的第二OCR字符码替代指派给所述第一集群的 一个或多个第一OCR字符码作为在所述经修改的OCR输出中使用的 为所述第一集群新指派的一个或多个OCR字符码。
10.如权利要求9所述的方法,其中:
基于对对应的剪切图像的人工识别生成所述第二集群的所述一个 或多个第二OCR字符码。
11.如权利要求8所述的方法,进一步包括:
选择到任意的所有其它集群的形状量度距离大于阈值形状量度距 离的集群进行进一步处理,以验证当前指派给所选择集群的一个或多 个OCR字符码。
12.如权利要求11所述的方法,进一步包括:
请求对所选择集群的集群图像的人工识别;并且
使用所述人工识别来验证指派给所选择的集群的所述一个或多个 OCR字符码,或者生成新的一个或多个OCR字符码来替代指派给所选 择的集群的所述一个或多个OCR字符码。
13.如权利要求9所述的方法,其中:
所述第二集群具有比所述第一集群更大数目的剪切图像。
14.如权利要求1所述的方法,其中:
比较所述集群图像来检测对其错误指派了一个或多个OCR字符 码的集群,包括:
确定被指派了相同的一个或多个字符码的每个集群和每个所有其 它集群的集群图像之间的形状量度距离作为相应的集群之间的距离; 并且
如果第二集群比被指派了与第一集群相同的一个或多个字符码的 其它集群更接近第一集群并且如果所述第二集群被指派了与指派给所 述第一集群的一个或多个字符码不同的一个或多个字符码并且如果所 述第二集群具有比所述第一集群更高的置信等级,则检测所述第一集 群具有被错误指派的一个或多个OCR字符码。
15.如权利要求1所述的方法,进一步包括:
对每个剪切图像使用所述文档的所述原始图像中的灰度信息或色 彩信息来获取每个集群图像。
16.如权利要求15所述的方法,进一步包括:
使用所述文档的所述原始图像中的灰度信息或色彩信息获取不同 集群之间的形状距离;并且
使用所述形状距离来比较所述集群图像。
17.如权利要求1所述的方法,进一步包括:
获取每个剪切图像的质心;
相对于所获取的不同剪切图像的质心将集群内的所述不同剪切图 像对齐;并且
获取所述集群的所对齐的剪切图像的平均图像以生成所述集群的 集群图像。
18.如权利要求17所述的方法,其中:
所述OCR输出包括用于识别由所述OCR引擎产生的每个剪切图 像的边框,并且
通过由相应的边框所限定的图像区域的质心获取每个剪切图像的 质心。
19.如权利要求17所述的方法,进一步包括:
使用所述文档的所述原始图像中的每个剪切图像的灰度信息或色 彩信息来获取每个剪切图像的质心。
20.如权利要求17所述的方法,进一步包括:
使用所述文档的所述OCR输出中的每个剪切图像的图像信息来 获取每个剪切图像的质心。
21.如权利要求20所述的方法,其中:
所述文档的所述OCR输出中的每个剪切图像的图像信息是二进 制图像信息。
22.如权利要求1所述的方法,进一步包括:
选择剪切图像的数目小于阈值数目的集群进行进一步处理,以验 证当前指派给所选择集群的一个或多个对应的OCR字符码。
23.如权利要求22所述的方法,进一步包括:
请求来自个人的对所选择集群的所述集群图像的人工识别;并且
使用所述个人所进行的所述人工识别来验证指派给所选择集群的 所述一个或多个OCR字符码或者生成一个或多个新的OCR字符码来 替代指派给所选择集群的所述一个或多个OCR字符码。
24.如权利要求1所述的方法,进一步包括:
选择集群的集群图像以请求来自个人的人工识别;并且
使用所述个人所进行的所述人工识别来验证或校正指派给所选择 集群的一个或多个OCR字符码。
25.如权利要求1所述的方法,进一步包括:
将所选择集群的集群图像导引到在线服务器,所述在线服务器可 操作来将所述集群图像导引到一个或多个用户以便进行对所述集群图 像的人工识别;并且
使用从所述在线服务器返回的对所述集群图像的人工识别来验证 指派给所选择集群的一个或多个OCR字符码或者对所选择的集群指派 一个或多个新的OCR字符码。
26.如权利要求25所述的方法,进一步包括:
使用所述在线服务器所提供的在线游戏,以将所选择集群的所述 集群图像提供给所述一个或多个用户以便进行作为所述在线游戏一部 分的用户响应。
27.如权利要求25所述的方法,进一步包括:
使用所述在线服务器所提供的在线服务来提供所选择集群的所述 集群图像作为挑战-响应测试的一部分。
28.如权利要求27所述的方法,其中:
所述挑战-响应测试用于确定所述在线服务的用户是否为人类。
29.如权利要求1所述的方法,进一步包括:
选择包括高置信分值的集群的集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所接收的OCR输出中词的图 像内的多个不同部分对齐,每次一个部分;
分别获取所述集群图像模板和所述词图像的多个不同部分之间的 形状量度距离;
使用所获取的形状量度距离来确定所述词图像的一部分是否与所 述集群图像模板相匹配;
将所述词图像与所述集群图像模板相匹配的匹配部分与所述词图 像的一个或多个其它部分分离;并且
在所述经修改的OCR输出中将指派给所述集群的一个或多个 OCR字符码指派给所述词图像被分离的匹配部分。
30.如权利要求1所述的方法,进一步包括:
选择第一集群的第一集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所选择的第二集群的第二集群 图像内的多个不同部分对齐,每次一个部分;
分别获取所述集群图像模板和所述第二集群图像的所述多个不同 部分之间的形状量度距离;
使用所获取的形状量度距离来确定所述第二集群图像的一部分是 否与所述集群图像模板相匹配;
使用所述第二集群图像的与所述集群图像模板相匹配的匹配部分 作为要形成的第三集群的新的第三集群图像;
将所述第二集群中的每个剪切图像中与所述集群图像模板相对应 的对应部分分离以形成新的剪切图像;
使用分别从所述第二集群中的剪切图像分离出的新的剪切图像来 形成所述第三集群;
将指派给所述第一集群的一个或多个OCR字符码指派给所述第 三集群;
使用所述第二集群在所述第三集群的新剪切图像的分离之后剩余 的剪切图像来形成至少一个第四集群;并且
在产生所述经修改的OCR输出中使用所述第三集群和所述至少 一个第四集群来替代所述第二集群。
31.如权利要求30所述的方法,其中:
所述第二集群是连字的图像,所述连字表示在所述文档中使用的 一种或多种语言的至少两个语言标记。
32.如权利要求30所述的方法,进一步包括:
获取所述第四集群的集群图像和其它集群的集群图像之间的形状 量度距离;并且
将指派给第五集群的一个或多个OCR字符码指派给所述第四集 群,所述第五集群在所有其它集群中具有到所述第四集群最短的形状 量度距离。
33.如权利要求30所述的方法,进一步包括:
请求来自个人的对所述第四集群的所述集群图像的人工识别;并 且
使用所述个人所进行的所述人工识别来生成所述第四集群的一个 或多个新的OCR字符码。
34.如权利要求1所述的方法,其中:
OCR字符码是表示在所述文档中使用的字符的计算机代码。
35.如权利要求34所述的方法,其中:
所述字符包括字母、数字和符号或标记中的一个,所述符号或标 记包括标点符号、排字标记和变音符中的一个。
36.如权利要求1所述的方法,进一步包括:
使用每个集群中的图像的数目以及每个集群相对于其它集群的形 状量度距离来将所述多个集群归类为可接受集群和可疑集群,其中对 每个可接受集群所指派的一个或多个特定字符被用在所述经修改的输 出中而不进行进一步处理,并且对每个可疑集群指派的一个或多个特 定字符被标记为要进行进一步处理;
当可接受集群具有到可疑集群最短的形状量度距离并且具有比所 述可疑集群更大数目的图像时,利用对所述可接受集群指派的一个或 多个特定字符替代对所述可疑集群指派的一个或多个特定字符作为对 所述可疑集群新指派的经校正的一个或多个特定字符;并且
使用对所述可疑集群新指派的经校正的一个或多个特定字符来表 示其中出现所述可疑集群内的图像的所述文档的经修改输出中的每个 实例。
37.如权利要求1所述的方法,进一步包括:
使用每个集群中的图像的数目以及每个集群相对于其它集群的形 状量度距离来将所述多个集群归类为可接受集群和可疑集群,其中对 每个可接受集群所指派的一个或多个特定字符被用在所述经修改的输 出中而不进行进一步处理,并且对每个可疑集群指派的一个或多个特 定字符被标记为要进行进一步处理;
选择可疑集群的集群图像由个人进行人工识别;
使用所述个人对所选择的可疑集群所返回的一个或多个人工生成 的字符来验证或替代先前对所选择的可疑集群指派的一个或多个特定 字符;并且
将被指派了所述一个或多个人工生成的字符的所选择的可疑集群 重新归类为可接受集群。
38.如权利要求1所述的方法,进一步包括:
使用每个集群中的图像的数目以及每个集群相对于其它集群的形 状量度距离来将所述多个集群归类为可接受集群和可疑集群,其中对 每个可接受集群所指派的一个或多个特定字符被用在所述经修改的输 出中而不进行进一步处理,并且对每个可疑集群指派的一个或多个特 定字符被标记为要进行进一步处理;
将所选择的可疑集群的集群图像导引到在线服务器,所述在线服 务器可操作来将平均图像导引到与所述在线服务器进行交互的一个或 多个用户并且请求来自所述一个或多个用户的对所述平均图像的一个 或多个人工生成的字符;
使用从所述在线服务器返回的一个或多个人工生成的字符来验证 或替代先前对所选择的可疑集群指派的一个或多个特定字符;并且
将被指派了所述一个或多个人工生成的字符的所选择的可疑集群 重新归类为可接受集群。
39.如权利要求38所述的方法,其中:
所述在线服务器可操作来提供在线游戏,所述在线游戏将所选择 的可疑集群的平均图像提供给所述一个或多个用户以便进行作为所述 在线游戏一部分的用户响应。
40.如权利要求38所述的方法,其中:
所述在线服务器可操作来提供在线服务并且提供所选择的可疑集 群的平均图像作为挑战-响应测试的一部分,以确定所述在线服务的用 户是否为人类。
41.如权利要求1所述的方法,进一步包括:
使用每个集群中的图像的数目以及每个集群相对于其它集群的形 状量度距离来将所述多个集群归类为可接受集群和可疑集群,其中对 每个可接受集群所指派的一个或多个特定字符被用在所述经修改的输 出中而不进行进一步处理,并且对每个可疑集群指派的一个或多个特 定字符被标记为要进行进一步处理;
选择至少一个可接受集群以使用所选择的可接受集群的对应的集 群图像作为集群图像模板;
将所述集群图像模板沿预定方向在多个不同位置与所选择的可疑 集群的集群图像的多个不同位置对齐;
获取所述集群图像模板和所选择的可疑集群的所述集群图像的所 述多个不同部分中的每一个之间的形状量度距离;
使用所获取的集群图像模板的形状量度距离来确定所选择的可疑 集群的集群图像的一部分是否与所述集群图像模板相匹配;并且
将相匹配的部分与所选择的可疑集群的所述集群图像分离作为被 指派了所选择的可接受集群的所述一个或多个字符的新的可接受集 群。
42.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括被 所述OCR处理指派了相同的一个或多个字符码的剪切图像;
处理所述多个集群中的每一个中的剪切图像,以生成每个集群的 集群图像;
比较所述集群图像来检测被所述OCR处理对其错误指派了一个或 多个OCR字符码的集群;
对所述OCR输出中被检测为具有错误指派的一个或多个OCR字符 码的第一集群指派一个或多个新的OCR字符码;以及
在所述OCR输出中每次出现所述第一集群的所述剪切图像中的一 个时使用所述一个或多个新的OCR字符码替代错误指派的OCR字符码 以产生经修改的OCR输出。
43.一种用于光学字符识别(OCR)的系统,包括:
OCR引擎,可操作来处理文档的原始图像来产生包括从所述原始 图像提取的剪切图像的OCR输出并且向每个剪切图像指派一个或多个 字符;和
后OCR引擎,可操作来将所述OCR输出的剪切图像归类为剪切 图像的多个集群,每个集群包括被所述OCR引擎指派了相同的一个或 多个字符码的剪切图像;
其中所述后OCR引擎可操作来对所述多个集群中的每一个中的 剪切图像进行处理来生成每个集群的集群图像,将所述集群图像进行 比较来检测被所述OCR引擎错误指派了一个或多个OCR字符码的集 群,对OCR输出中被检测为具有错误指派的一个或多个OCR字符码 的第一集群指派一个或多个新的OCR字符码,并且在所述OCR输出 中每次出现所述第一集群的所述剪切图像中的一个时使用所述一个或 多个新的OCR字符码替代错误指派的OCR字符码以产生经修改的 OCR输出。
44.如权利要求43所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎并且将所述经修改的OCR输出从所述后OCR引擎导引到 所述客户端计算机。
45.如权利要求44所述的系统,其中:
所述OCR引擎和所述后OCR引擎是在不同的服务器计算机上。
46.如权利要求43所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储由所述OCR引擎和所述后 OCR引擎产生的所选择文档的图像的经修改的OCR输出的一个或多个 OCR存储服务器计算机,
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或 多个OCR存储服务器计算机获取由所述OCR引擎和所述后OCR引擎 所产生的现有的经修改的OCR输出。
47.一种用于后光学字符识别(OCR)处理的方法,包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括大 小相同或相似并且被所述OCR处理指派了相同的一个或多个字符码的 剪切图像;
处理所述多个集群中的每一个中的剪切图像以生成每个集群的集 群图像;
对于被指派了一个或多个第一OCR字符码的第一集群,识别: (1)被指派了与所述一个或多个第一OCR字符码不同的一个或多个 第二OCR字符码的第二集群,其中所述第二集群的所述集群图像在形 状上比被指派了与所述一个或多个第一OCR字符码不同的一个或多个 OCR字符的其它集群的集群图像更接近所述第一集群的集群图像,和 (2)被指派了与所述第一集群相同的一个或多个第一OCR字符码的 第三集群,其中所述第三集群的所述集群图像在形状上比被指派了所 述一个或多个第一OCR字符码的其它集群的集群图像更接近所述第一 集群的所述集群图像;并且
至少使用所述第一集群和所述第二集群的集群图像之间的形状差 异以及所述第一集群和所述第三集群的集群图像之间的形状差异来确 定指派给所述第一集群的所述一个或多个第一OCR字符码的置信等 级。
48.如权利要求47所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
49.如权利要求47所述的方法,其中:
每个集群中的剪切图像被所述OCR引擎识别为具有特定形状和 特定剪切图像大小。
50.如权利要求39所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定。
51.如权利要求47所述的方法,其中:
每个集群的集群图像是从相应的集群中的图像的平均来获取的。
52.如权利要求47所述的方法,其中:
每个集群的集群图像选自相应的集群中的所述集群图像中的一 个。
53.如权利要求47所述的方法,进一步包括:
当从所述第一集群到所述第二集群的形状量度距离比从所述第一 集群到所述第三集群的形状量度距离短并且所述第二集群比所述第一 集群具有更大数目的图像时,利用指派给所述第二集群的一个或多个 不同的第二OCR字符码替代指派给所述第一集群的所述一个或多个第 一OCR字符码作为对所述第一集群新指派的一个或多个OCR字符码。
54.如权利要求53所述的方法,其中:
在从所述第一集群到所述第二集群的形状量度距离比从所述第一 集群到所述第三集群的形状量度距离长时保持指派给所述第一集群的 所述一个或多个第一OCR字符码。
55.如权利要求53所述的方法,进一步包括:
选择到所有其它集群中任意一个的形状量度距离大于阈值形状量 度距离的集群进行进一步处理,以验证当前指派给所选择的集群的一 个或多个OCR字符码。
56.如权利要求55所述的方法,进一步包括:
请求对所选择集群的所述集群图像的人工识别;并且
使用所述人工识别来验证指派给所选择的集群的所述一个或多个 OCR字符码,或者生成新的一个或多个OCR字符码来替代指派给所选 择的集群的所述一个或多个OCR字符码。
57.如权利要求53所述的方法,进一步包括:
选择剪切图像的数目小于阈值数目的集群进行进一步处理,以验 证当前指派给所选择的集群的一个或多个OCR字符码。
58.如权利要求57所述的方法,进一步包括:
请求来自个人的对所选择集群的所述集群图像所进行的人工识 别;并且
使用由所述个人进行的所述人工识别来验证指派给所选择的集群 的所述一个或多个OCR字符码,或者生成一个或多个新的OCR字符 码来替代指派给所选择的集群的所述一个或多个OCR字符码。
59.如权利要求47所述的方法,进一步包括:
对每个剪切图像使用所述文档的所述原始图像中的灰度信息或色 彩信息来获取每个集群图像。
60.如权利要求47所述的方法,进一步包括:
获取每个剪切图像的质心;
相对于所获取的不同剪切图像的质心将集群内的所述不同剪切图 像对齐;并且
获取所述集群的所对齐的剪切图像的平均图像以生成所述集群的 集群图像。
61.如权利要求60所述的方法,其中:
所述OCR输出包括用于识别由所述OCR引擎所产生的每个剪切 图像的边框,并且
通过相应的边框所限定的图像区域的质心获取每个剪切图像的质 心。
62.如权利要求60所述的方法,进一步包括:
使用所述文档的所述原始图像中的每个剪切图像的灰度信息或色 彩信息来获取每个剪切图像的质心。
63.如权利要求60所述的方法,进一步包括:
使用所述文档的所述OCR输出中的每个剪切图像的图像信息来 获取每个剪切图像的质心。
64.如权利要求63所述的方法,其中:
所述文档的所述OCR输出中的每个剪切图像的图像信息是二进 制图像信息。
65.如权利要求47所述的方法,进一步包括:
选择集群的集群图像以请求来自个人的人工识别;并且
使用所述个人所进行的所述人工识别来验证或校正指派给所选择 集群的一个或多个OCR字符码。
66.如权利要求65所述的方法,进一步包括:
将所选择集群的集群图像导引到在线服务器,所述在线服务器可 操作来将所述集群图像导引到一个或多个用户以便进行对所述集群图 像的人工识别;并且
使用从所述在线服务器返回的对所述集群图像的人工识别来验证 指派给所选择集群的一个或多个OCR字符码或者对所选择的集群指派 一个或多个新的OCR字符码。
67.如权利要求66所述的方法,进一步包括:
使用所述在线服务器所提供的在线游戏将所选择集群的所述集群 图像提供给所述一个或多个用户以便进行作为所述在线游戏一部分的 用户响应。
68.如权利要求66所述的方法,进一步包括:
使用所述在线服务器所提供的在线服务提供所选择集群的所述集 群图像作为挑战-响应测试的一部分。
69.如权利要求68所述的方法,其中:
所述挑战-响应测试用于确定所述在线服务的用户是否为人类。
70.如权利要求47所述的方法,进一步包括:
选择具有高置信分值的集群的集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所接收的OCR输出中词的图 像内的多个不同部分对齐,每次一个部分;
分别获取所述集群图像模板和所述词图像的所述多个不同部分之 间的形状量度距离;
使用所获取的形状量度距离来确定所述词图像的一部分是否与所 述集群图像模板相匹配;
将所述词图像与所述集群图像模板相匹配的匹配部分与所述词图 像的一个或多个其它部分分离;并且
将指派给所述集群的一个或多个OCR字符码指派给所述词图像 被分离的匹配部分。
71.如权利要求47所述的方法,进一步包括:
选择第一集群的第一集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所选择的第二集群的第二集群 图像内的多个不同部分对齐,每次一个部分;
分别使用所述集群图像模板和所述第二集群图像的所述多个不同 部分之间的形状量度距离来搜索匹配;并且
使用匹配部分将所述第二集群图像分割为两个或更多集群图像。
72.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括大 小相同或相似并且被所述OCR处理指派了相同的一个或多个字符码的 剪切图像;
处理所述多个集群中的每一个中的剪切图像以生成每个集群的集 群图像;
对于被指派了一个或多个第一OCR字符码的第一集群,识别: (1)被指派了与所述一个或多个第一OCR字符码不同的一个或多个 第二OCR字符码的第二集群,其中所述第二集群的所述集群图像在形 状上比被指派了与所述一个或多个第一OCR字符码不同的一个或多个 OCR字符的其它集群的集群图像更接近所述第一集群的集群图像,和 (2)被指派了与所述第一集群相同的一个或多个第一OCR字符码的 第三集群,其中所述第三集群的所述集群图像在形状上比被指派了所 述一个或多个第一OCR字符码的其它集群的集群图像更接近所述第一 集群的所述集群图像;并且
至少使用所述第一集群和所述第二集群的集群图像之间的形状差 异以及所述第一集群和所述第三集群的集群图像之间的形状差异来确 定指派给所述第一集群的所述一个或多个第一OCR字符码的置信等 级。
73.一种用于光学字符识别(OCR)的系统,包括:
OCR引擎,可操作来处理文档的原始图像来产生包括从所述原始 图像提取的剪切图像的OCR输出并且向每个剪切图像指派一个或多个 字符;和
后OCR引擎,可操作来将所述OCR输出中的剪切图像归类为剪切 图像的多个集群,每个集群包括大小相同或相似并且被所述OCR引擎 指派了相同的一个或多个字符码的剪切图像;
其中所述后OCR引擎可操作来对所述多个集群中的每一个中的剪 切图像进行处理来生成每个集群的集群图像;
其中所述后OCR引擎可操作来对于被指派了一个或多个第一OCR 字符码的第一集群识别(1)被指派了与所述一个或多个第一OCR字符 码不同的一个或多个第二OCR字符码的第二集群,其中所述第二集群 的集群图像在形状上比被指派了与所述一个或多个第一OCR字符码不 同的一个或多个OCR字符的其它集群的图像更接近所述第一集群的所 述集群图像,和(2)被指派了与所述第一集群相同的一个或多个第一 OCR字符码的第三集群,其中所述第三集群的集群图像在形状上比被 指派了所述一个或多个第一OCR字符码的其它集群的集群图像更接近 所述第一集群的所述集群图像;并且
其中所述后OCR引擎可操作来至少使用所述第一集群和所述第二 集群的集群图像之间的形状差异以及所述第一集群和所述第三集群的 集群图像之间的形状差异来确定指派给所述第一集群的所述一个或多 个第一OCR字符码的置信等级。
74.如权利要求73所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎。
75.如权利要求74所述的系统,其中:
所述OCR引擎和所述后OCR引擎是在不同的服务器计算机上。
76.如权利要求73所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储由所述OCR引擎和所述后 OCR引擎产生的所选择文档的图像的经修改的OCR输出的一个或多个 OCR存储服务器计算机,
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或 多个OCR存储服务器计算机获取由所述OCR引擎和所述后OCR引擎 所产生的现有的经修改OCR输出。
77.一种用于光学字符识别(OCR)的系统,包括:
集群生成引擎,可操作来接收包括OCR引擎在处理文档的原始图 像中所产生的分离图像以及由所述OCR引擎向每个分离图像指派的一 个或多个字符,所述集群生成引擎可操作来将所述OCR输出中的分离 图像归类为具有特定图像大小并且被所述OCR引擎指派了相同的一个 和多个OCR字符码的分离图像的多个集群;和
集群处理引擎,可操作来获取一个集群的集群图像和其它集群的 集群图像之间的形状量度距离并且基于所获取的形状量度距离来检测 在所述OCR引擎指派给每个集群的一个或多个OCR字符码的指派中是 否存在错误,所述集群处理引擎可进一步操作来校正对集群错误指派 的一个或多个OCR字符码。
78.如权利要求77所述的系统,其中:
每个分离图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个分离图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个分离图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
79.如权利要求77所述的系统,其中:
所述集群处理引擎可进一步操作来当第二集群在所有其它集群中 具有到第一集群最短的形状量度距离并且具有比所述第一集群更高的 置信等级时利用指派给所述第二集群的一个或多个第二OCR字符码替 代指派给所述第一集群的一个或多个第一OCR字符码作为所述第一集 群的新的一个或多个OCR字符码。
80.如权利要求79所述的系统,其中:
指派给所述第二集群的所述一个或多个第二OCR字符码由个人 人工生成。
81.如权利要求79所述的系统,其中:
所述第二集群具有大于所述第一集群的图像数目。
82.如权利要求79所述的系统,其中:
所述集群处理引擎可进一步操作来在获取每个集群图像中应用所 述文档中的所述原始图像的灰度或色彩信息。
83.如权利要求82所述的系统,其中:
所述集群图像是每个集群中的剪切图像的平均图像。
84.如权利要求82所述的系统,其中:
所述集群图像是每个集群中的集群图像中的一个。
85.如权利要求77所述的系统,其中:
所述集群处理引擎可进一步操作来:
将所选择集群的集群图像导引到在线服务器,所述在线服务器可 操作来将所述集群图像导引到一个或多个用户以便进行对所述集群图 像的人工识别;并且
使用从所述在线服务器返回的对所述集群图像的人工识别来验证 指派给所选择集群的一个或多个OCR字符码或者对所选择的集群指派 一个或多个新的OCR字符码。
86.如权利要求77所述的系统,进一步包括:
输出处理引擎,可操作来从所接收的OCR输出产生经修改的OCR 输出,其中所述输出处理引擎在产生所述经修改的OCR输出中将由所 述集群处理引擎所处理的每个集群的一个或多个字符指派给属于所述 集群的每个剪切图像。
87.如权利要求86所述的系统,其中:
所述输出处理引擎可操作来:
选择具有高置信分值的集群的集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所接收的OCR输出中词的图 像内的多个不同部分对齐,每次一个部分;
分别获取所述集群图像模板和所述词图像的所述多个不同部分之 间的形状量度距离;
使用所获取的形状量度距离来确定所述词图像的一部分是否与所 述集群图像模板相匹配;
将所述词图像与所述集群图像模板相匹配的匹配部分与所述词图 像的一个或多个其它部分分离;并且
在经修改的OCR输出中将指派给所述集群的一个或多个OCR字 符码指派给所述词图像被分离的匹配部分。
88.如权利要求77所述的系统,其中:
所述集群处理引擎可进一步操作来:
选择具有高置信分值的集群以使用所选择集群的对应的平均图像 作为集群图像模板;
将所述集群图像模板沿预定方向在多个不同位置与低置信分值的 第二所选择集群的平均图像的多个不同部分对齐;
获取所述集群图像模板和所述第二所选择集群的所述平均图像的 所述多个不同部分的每一个之间的形状量度距离;
使用所获取的所述集群图像模板的形状量度距离来确定所述第二 所选择集群的所述平均图像的一部分是否与所述集群图像模板相匹 配;
将来自所述第二所选择集群的所述平均图像的匹配部分分离为新 的集群;并且
向所述新的集群指派已经被指派给所述所选择集群的一个或多个 OCR字符码。
89.如权利要求77所述的系统,进一步包括:
包括所述OCR引擎、所述集群生成引擎和所述集群处理引擎的一 个或多个服务器计算机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎并且将所述文档的所述原始图像的所述经修改的OCR输 出从所述一个或多个服务器计算机导引到所述客户端计算机。
90.如权利要求89所述的系统,其中:
所述集群生成引擎和所述集群处理引擎被置于与提供所述OCR 引擎的计算机服务器分离的计算机服务器上。
91.如权利要求77所述的系统,进一步包括:
包括所述OCR引擎、所述集群生成引擎和所述集群处理引擎的一 个或多个OCR计算机服务器;
所述一个或多个OCR计算机服务器与其进行通信的通信网络,所 述通信网络可操作来将所述文档的所述原始图像从客户端计算机导引 到所述OCR引擎并且将所述文档的所述原始图像的经修改的OCR输 出从所述一个或多个OCR计算机服务器导引到所述客户端计算机;和
与所述通信网络进行通信并且可操作来将所选择的集群图像导引 到一个或多个用户以便进行对所选择集群图像的人工识别的计算机服 务器,
其中所述集群处理引擎可操作来:
将所选择集群的集群图像导向到计算机服务器;并且
使用从所述计算机服务器返回的对所述集群图像的人工识别来验 证或校正由所述OCR引擎指派给所选择集群的一个或多个OCR字符 码。
92.如权利要求77所述的系统,进一步包括:
包括所述OCR引擎、所述集群生成引擎和所述集群处理引擎的一 个或多个服务器计算机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储所述OCR引擎、所述集群生成 引擎和所述集群处理引擎所产生的所选择文档的图像的经修改的OCR 输出的一个或多个OCR存储服务器计算机,
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或 多个OCR存储服务器计算机获取由所述OCR引擎和所述后OCR引擎 所产生的现有的经修改的OCR输出。
93.一种用于光学字符识别(OCR)的方法,包括:
接收包括由OCR引擎在处理文档的原始图像中所产生的分离图像 的OCR输出以及由所述OCR引擎指派给每个分离图像的一个或多个字 符;
将所述OCR输出中的所述分离图像归类为具有特定图像大小并且 被所述OCR引擎指派了相同的一个和多个OCR字符码的分离图像的多 个集群;
获取一个集群的集群图像和其它集群的集群图像之间的形状量度 距离并且基于所获取的形状量度距离来检测在所述OCR引擎指派给每 个集群的一个或多个OCR字符码的指派中是否存在错误;并且
校正对集群错误指派的一个或多个OCR字符码。
94.如权利要求93所述的方法,其中:
每个分离图像由所述OCR输出中的边框来限定,并且
所述集群包括(1)其中每个分离图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个分离图像与所述OCR输出中 的两个或更多相邻边框相关联的集群。
95.如权利要求93所述的方法,进一步包括:
当第二集群在所有其它集群中具有到第一集群最短的形状量度距 离并且具有比所述第一集群更高的置信等级时利用指派给所述第二集 群的一个或多个第二OCR字符码替代指派给所述第一集群的一个或多 个第一OCR字符码作为所述第一集群的一个或多个新的OCR字符码。
96.如权利要求95所述的方法,其中:
指派给所述第二集群的所述一个或多个第二OCR字符码由个人 人工生成。
97.如权利要求95所述的方法,其中:
所述第二集群具有大于所述第一集群的图像数目。
98.如权利要求95所述的方法,进一步包括:
在获取每个集群图像中应用所述文档中的所述原始图像中的灰度 或色彩信息。
99.如权利要求98所述的方法,其中:
所述集群图像是每个集群中的剪切图像的平均图像。
100.如权利要求98所述的方法,其中:
所述集群图像是每个集群中的集群图像中的一个。
101.如权利要求95所述的方法,进一步包括:
将所选择集群的集群图像导引到在线服务器,所述在线服务器可 操作来将所述集群图像导引到一个或多个用户以便进行对所述集群图 像的人工识别;并且
使用从所述在线服务器返回的对所述集群图像的人工识别来验证 指派给所选择集群的一个或多个OCR字符码或者对所选择的集群指派 一个或多个新的OCR字符码。
102.如权利要求93所述的方法,进一步包括:
选择具有高置信分值的集群的集群图像作为集群图像模板;
将所述集群图像模板沿预定方向与所述OCR输出中词的图像内 的多个不同部分对齐,每次一个部分;
分别获取所述集群图像模板和所述词图像的所述多个不同部分之 间的形状量度距离;
使用所获取的形状量度距离来确定所述词图像的一部分是否与所 述集群图像模板相匹配;
将所述词图像与所述集群图像模板相匹配的匹配部分与所述词图 像的一个或多个其它部分分离;并且
在所述经修改的OCR输出中将指派给所述集群的一个或多个 OCR字符码指派给所述词图像被分离的匹配部分。
103.如权利要求93所述的方法,进一步包括:
选择具有高置信分值的集群以使用所选择集群的对应的平均图像 作为集群图像模板;
将所述集群图像模板沿预定方向在多个不同位置与低置信分值的 第二所选择集群的平均图像的多个不同部分对齐;
获取所述集群图像模板和所述第二所选择集群的所述平均图像的 所述多个不同部分的每一个之间的形状量度距离;
使用所获取的所述集群图像模板的形状量度距离来确定所述第二 所选择集群的所述平均图像的一部分是否与所述集群图像模板相匹 配;
将来自所述第二所选择集群的所述平均图像的匹配部分分离为新 的集群;并且
向所述新的集群指派已经被指派给所述所选择集群的一个或多个 OCR字符码。
104.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
接收包括由光学字符识别(OCR)处理在处理文档的原始图像中 所产生的分离图像的OCR输出以及由所述OCR处理指派给每个分离图 像的一个或多个字符;
将所述OCR输出中的所述分离图像归类为具有特定图像大小并且 被所述OCR处理指派了相同的一个和多个OCR字符码的分离图像的多 个集群;
获取一个集群的集群图像和其它集群的集群图像之间的形状量度 距离并且基于所获取的形状量度距离来检测在所述OCR处理指派给每 个集群的一个或多个OCR字符码的指派中是否存在错误;并且
校正对集群错误指派的一个或多个OCR字符码。
105.一种方法,包括:
将在从对原始文档图像进行处理的光学字符识别(OCR)处理所 接收的OCR输出中限定的剪切图像归类为剪切图像的多个集群,每个 集群包括被所述OCR处理指派了相同的一个或多个特定字符的图像大 小和形状相同或相似的剪切图像;以及
在对每个集群的剪切图像求平均中应用来自所述原始文档图像的 灰度和色彩信息以生成每个集群的平均图像。
106.如权利要求105所述的方法,进一步包括:
使用每个集群的平均图像和其它集群的平均图像之间的形状差异 来验证或检测所述OCR处理对每个集群所指派的所述一个或多个特定 字符中是否存在错误;
通过向特定集群新指派一个或多个特定字符来校正所述特定集群 中所检测到的每个错误;并且
在经修改的OCR输出中使用对所述特定集群新指派的一个或多 个特定字符来替代先前由所述OCR处理指派的相应的一个或多个特定 字符。
107.如权利要求105所述的方法,进一步包括:
获取来自在所述OCR输出中不存在的所述原始文档图像的灰度 或色彩信息。
108.如权利要求105所述的方法,进一步包括:
在计算每个集群中的每个剪切图像的质心中应用来自所述原始文 档图像的灰度或色彩信息;
对齐每个集群中的所有剪切图像的质心以对齐所述剪切图像;并 且
对所对齐的剪切图像求平均以生成每个集群的所述平均图像。
109.如权利要求105所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
110.一种用于光学字符识别(OCR)的系统,包括:
OCR引擎,可操作来处理文档的原始图像以产生包括从所述原始 图像提取的剪切图像的OCR输出并且对每个剪切图像指派一个或多个 字符;和
后OCR引擎,可操作来将所述OCR输出中的剪切图像归类为剪切 图像的多个集群,每个集群包括被所述OCR引擎指派了相同的一个或 多个特定字符的图像大小和形状相同或相似的剪切图像,并且
其中所述后OCR引擎可操作来在对每个集群的剪切图像求平均中 应用来自所述原始文档图像的灰度或色彩信息以生成每个集群的平均 图像。
111.如权利要求110所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎。
112.如权利要求111所述的系统,其中:
所述OCR引擎和所述后OCR引擎处于不同的服务器计算机上。
113.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
将在从对原始文档图像进行处理的光学字符识别(OCR)处理所 接收的OCR输出中限定的剪切图像归类为剪切图像的多个集群,每个 集群包括被所述OCR处理指派了相同的一个或多个特定字符的图像大 小和形状相同或相似的剪切图像;并且
在对每个集群的剪切图像求平均中应用来自所述原始文档图像的 灰度和色彩信息以生成每个集群的平均图像。
114.一种用于对来自光学字符识别(OCR)处理的输出进行处理 的方法,包括:
将从处理文档的原始图像所生成的OCR处理的输出中的分离图像 归类为分离图像的多个集群,每个集群包括被所述OCR处理指派了相 同的一个或多个特定字符的图像大小和形状相似的分离图像;
使用集群图像来表示相应的集群中的分离图像;
选择具有低置信等级的集群来获取一个或多个字符与所选择集群 的集群图像的人工指派;并且
使用通过所述人工指派所获取的所述一个或多个字符来验证或替 代先前由所述OCR处理在所述OCR处理的输出中所指派的相应的一个 或多个特定字符。
115.如权利要求114所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
116.如权利要求114所述的方法,进一步包括:
对每个集群中的分离图像求平均以生成平均图像作为所述集群图 像。
117.如权利要求114所述的方法,进一步包括:
使用每个集群的集群图像和所有其它集群的集群图像之间的形状 差异来测量由所述OCR处理指派给每个集群的所述一个或多个特定字 符的置信等级。
118.如权利要求114所述的方法,进一步包括:
当所述人工指派将所选择集群的所述集群图像识别为所述OCR处 理的无意义图像时,在所述OCR输出中指示所选择集群的无意义状态。
119.如权利要求114所述的方法,进一步包括:
将所选择集群的所述集群图像导引到在线服务器,所述在线服务 器可操作来将所述集群图像导引到一个或多个用户并且向所述一个或 多个用户请求所述集群图像的人工生成字符;并且
使用从所述在线服务器返回的一个或多个人工生成字符作为对所 选择集群新指派的一个或多个特定字符。
120.如权利要求119所述的方法,其中:
所述在线服务器可操作来提供在线游戏,所述在线游戏将所选择 集群的所述集群图像提供给所述一个或多个用户以便进行作为所述在 线游戏一部分的用户响应。
121.如权利要求119所述的方法,其中:
所述在线服务器可操作来提供在线服务并且提供所选择集群的集 群图像作为挑战-响应测试的一部分,以确定所述在线服务的用户是否 为人类。
122.如权利要求114所述的方法,其中:
所选择的集群与其它集群的形状距离大于阈值形状距离。
123.如权利要求114所述的方法,其中:
所选择的集群具有小于阈值数目的图像数目。
124.一种用于光学字符识别(OCR)的系统,包括:
OCR引擎,可操作来对文档的原始图像进行处理以产生从所述原 始图像提取的分离图像并且向每个分离图像指派一个或多个字符;和
后OCR引擎,可操作来将所述OCR输出中的分离图像归类为分离 图像的多个集群,每个集群包括被所述OCR引擎指派了相同的一个或 多个特定字符的图像大小和形状相似的分离图像,
其中所述后OCR引擎可操作来生成表示相应的集群中的分离图像 的集群图像,选择具有低置信等级的集群来获取一个或多个字符与所 选择集群的所述集群图像的人工指派,并且使用通过所述人工指派所 获取的所述一个或多个字符来验证或替代先前由所述OCR引擎所指派 的相应的一个或多个特定字符。
125.如权利要求124所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信的在线服务器,
其中所述后OCR引擎可操作来将所选择集群的集群图像导引到 所述在线服务器,所述在线服务器可操作来将所述集群图像导引到一 个或多个用户并且向所述一个或多个用户请求所述集群图像的一个或 多个人工生成字符;并且
其中所述后OCR引擎可操作来使用从所述在线服务器返回的一 个或多个人工生成字符作为对所选择集群新指派的一个或多个特定字 符。
126.如权利要求125所述的系统,其中:
所述通信网络可操作来将所述文档的所述原始图像从客户端计算 机导引到所述OCR引擎并且将来自所述后OCR引擎的输出导引到所 述客户端计算机。
127.如权利要求125所述的系统,其中:
所述OCR引擎和所述后OCR引擎处于不同的服务器计算机上。
128.如权利要求125所述的系统,其中:
所述在线服务器可操作来提供在线游戏,所述在线游戏将所选择 集群的集群图像提供给所述一个或多个用户以便进行作为所述在线游 戏一部分的用户响应。
129.如权利要求125所述的系统,其中:
所述在线服务器可操作来提供在线服务并且提供所选择集群的所 述集群图像作为挑战-响应测试的一部分以确定所述在线服务的用户是 否为人类。
130.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
将在从处理文档的原始图像所生成的光学字符识别(OCR)处理 的输出中的分离图像归类为分离图像的多个集群,每个集群包括被所 述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相似 的分离图像;
使用集群图像来表示相应的集群中的分离图像;
选择具有低置信等级的集群来获取一个或多个字符与所选择集群 的集群图像的人工指派;并且
使用通过所述人工指派所获取的所述一个或多个字符来验证或替 代先前由所述OCR处理在所述OCR处理的输出中所指派的相应的一个 或多个特定字符。
131.如权利要求130所述的计算机程序产品,其中:
所述操作进一步包括:
将所选择集群的所述集群图像导引到在线服务器,所述在线服务 器可操作来将所述集群图像导引到一个或多个用户并且向所述一个或 多个用户请求所述集群图像的一个或多个人工生成字符;并且
使用从所述在线服务器返回的一个或多个人工生成字符作为对所 选择集群新指派的一个或多个特定字符。
132.一种方法,包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括被 所述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相 似的剪切图像;
生成集群图像来表示每个集群中的剪切图像;
选择特定集群的集群图像作为在线挑战-响应测试的一部分来请 求对所述特定集群的所述集群图像的用户识别;并且
使用从所述在线挑战-响应测试接收的所述用户识别来验证或校 正由所述OCR处理指派给所述特定集群的一个或多个特定字符。
133.如权利要求132所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
134.如权利要求132所述的方法,进一步包括:
基于所述在线挑战-响应测试从多个不同用户中的每一个获取对 所述特定集群的所述集群图像的用户识别;
通过使用从所述多个不同用户的其它用户所获得的用户识别来验 证对所述特定集群的所述集群图像的特定用户识别;并且
使用经验证的用户识别来验证或校正由所述OCR处理指派给所述 特定集群的一个或多个特定字符。
135.如权利要求132所述的方法,其中:
所述在线挑战-响应测试用于确定在线服务的用户是否为人类。
136.一种方法,包括:
将在所接收的由光学字符识别(OCR)处理所处理的文档的OCR 输出中限定的剪切图像归类为剪切图像的多个集群,每个集群包括被 所述OCR处理指派了相同的一个或多个特定字符的图像大小和形状相 似的剪切图像;
使用集群图像来表示每个集群中的剪切图像;
使用在线游戏向所述在线游戏的一个或多个用户提供特定集群的 集群图像用于作为所述在线游戏的一部分的用户响应;并且
使用从所述在线游戏所接收的所述用户响应来验证或校正由所述 OCR处理指派给所述特定集群的一个或多个特定字符。
137.如权利要求136所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所接收的OCR输出中的 单个边框相关联的集群和(2)其中每个剪切图像与所接收的OCR输 出中的两个或更多相邻边框相关联的集群。
138.一种用于光学字符识别(OCR)的系统,包括:
多个OCR引擎,每个OCR引擎可操作来对文档的原始图像进行处 理并且产生相应的OCR输出;
多个后OCR处理引擎,每个后OCR处理引擎可操作来从相应的 OCR引擎接收OCR输出并且可被操作来产生所述文档的相应的经修改 的OCR输出;和
表决处理引擎,可操作来从所述多个经修改的OCR输出选择部分 并且将所选择的部分组合为所述文档的最终OCR输出;
其中每个后OCR处理引擎可操作来:
将在所接收的所述文档的OCR输出中限定的剪切图像归类为剪切 图像的多个集群,每个集群包括由对应的OCR引擎所指派的相同的一 个或多个特定字符的图像大小和形状类似的剪切图像;并且
生成表示每个集群中的剪切图像的集群图像;
并且其中所述表决处理引擎可操作来:
使用每个集群的集群图像和其它集群的集群图像之间的形状差异 来检测由对应的OCR引擎指派给每个集群的所述一个或多个特定字符 中是否存在错误;
通过向特定集群新指派一个或多个特定字符来校正在所述特定集 群中所检测到的每个错误;并且
使用对所述特定集群新指派的一个或多个特定字符来替代对应的 经修改的OCR输出中先前由对应的OCR引擎所指派的相应的一个或多 个特定字符。
139.如权利要求138所述的系统,其中:
所述集群包括(1)其中每个剪切图像与相应的OCR引擎所产生 的单个边框相关联的集群和(2)其中每个剪切图像与相应的OCR引 擎所产生的两个或更多相邻边框相关联的集群。
140.如权利要求138所述的系统,其中:
所述多个OCR引擎可操作来并行处理所述原始图像;并且
所述多个后OCR处理引擎可操作来并行接收OCR输出。
141.如权利要求138所述的系统,其中:
所述多个OCR引擎可操作来串行处理所述原始图像。
142.如权利要求138所述的系统,进一步包括:
包括所述OCR引擎、所述后OCR引擎和所述表决处理引擎的一 个或多个服务器计算机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎并且将来自所述表决处理引擎的最终OCR输出导引到所述 客户端计算机。
143.如权利要求142所述的系统,其中:
所述OCR引擎、所述后OCR引擎和所述表决处理引擎分别处于不 同的服务器计算机上。
144.如权利要求138所述的系统,进一步包括:
包括所述OCR引擎、所述后OCR引擎和所述表决处理引擎的一 个或多个服务器计算机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储由所述OCR引擎、所述后OCR 引擎和所述表决处理引擎产生的所选择文档的图像的经修改的OCR输 出的一个或多个OCR存储服务器计算机,
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信,以允许所述客户端计算机从所述一个 或多个OCR存储服务器计算机获取现有的经修改的输出。
145.一种用于光学字符识别(OCR)的方法,包括:
使用多个OCR引擎来处理文档的原始图像并且分别产生OCR输 出;
与其它OCR输出的处理分离地对每个所述OCR输出进行处理以产 生所述文档的相应的经修改的OCR输出,所述处理包括:
将在所接收的所述文档的OCR输出中限定的剪切图像归类为剪切 图像的多个集群,每个集群包括由对应的OCR引擎所指派的相同的一 个或多个特定字符的图像大小和形状类似的剪切图像,
生成表示每个集群中的剪切图像的集群图像,
使用每个集群的集群图像和其它集群的集群图像之间的形状差异 来检测由对应的OCR引擎指派给每个集群的所述一个或多个特定字符 中是否存在错误,
通过向特定集群新指派一个或多个特定字符来校正在所述特定集 群中所检测到的每个错误,并且
使用对所述特定集群新指派的一个或多个特定字符来替代对应的 经修改的OCR输出中先前由对应的OCR引擎所指派的相应的一个或多 个特定字符;并且
从所述多个经修改的OCR输出选择部分并将所选择的部分组合为 所述文档的最终OCR输出。
146.如权利要求145所述的方法,进一步包括:
使用所述多个经修改的OCR输出的置信分值从所述多个经修改 的OCR输出中选择一部分。
147.如权利要求145所述的方法,其中:
对每个所述OCR输出的处理包括使用对集群图像的人工识别来 验证或校正对所述集群图像的一个或多个字符的指派。
148.如权利要求145所述的方法,其中:
对每个所述OCR输出的处理包括使用来自每个集群中的每个剪 切图像中的原始图像的灰度或色彩数据;并且
对每个集群中的集群图像求平均以产生平均剪切图像作为所述集 群图像。
149.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
使用多个光学字符识别(OCR)引擎来处理文档的原始图像并且 分别产生OCR输出;
与其它OCR输出的处理分离地对每个所述OCR输出进行处理以产 生所述文档的相应的经修改的OCR输出,所述处理包括:
将在所接收的所述文档的OCR输出中限定的剪切图像归类为剪切 图像的多个集群,每个集群包括由对应的OCR引擎所指派的相同的一 个或多个特定字符的图像大小和形状类似的剪切图像,
生成表示每个集群中的剪切图像的集群图像,
使用每个集群的集群图像和其它集群的集群图像之间的形状差异 来检测由对应的OCR引擎指派给每个集群的所述一个或多个特定字符 中是否存在错误,
通过向特定集群新指派一个或多个特定字符来校正在所述特定集 群中所检测到的每个错误,并且
使用对所述特定集群新指派的一个或多个特定字符来替代对应的 经修改的OCR输出中先前由对应的OCR引擎所指派的相应的一个或多 个特定字符;并且
从所述多个经修改的OCR输出选择部分并将所选择的部分组合为 所述文档的最终OCR输出。
150.一种方法,包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的第一剪切图 像的第一边框以及指派给每个第一剪切图像的相应的一个或多个字 符;
使用第二OCR引擎处理所述文档图像以生成第二OCR输出,所述 第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边 框以及指派给每个第二剪切图像的相应的一个或多个字符;
对所述第一OCR输出应用形状聚类来产生具有第一剪切图像的第 一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置 信分值;
对所述第二OCR输出应用形状聚类来产生具有第二剪切图像的第 二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置 信分值;并且
从所述第一OCR输出和所述第二OCR输出生成最终的OCR输出, 所述最终的OCR输出包括边框并且使用对所述第一剪切图像和所述第 二剪切图像的所述一个或多个字符的指派的所述置信分值来对每个所 述边框选择和指派相应的一个或多个字符。
151.如权利要求150所述的方法,其中:
所述集群包括(1)其中每个剪切图像与相应的OCR引擎所产生 的单个边框相关联的集群和(2)其中每个剪切图像与相应的OCR引 擎所产生的两个或更多相邻边框相关联的集群。
152.如权利要求150所述的方法,进一步包括:
至少利用第三OCR引擎处理所述文档图像以生成第三OCR输出, 所述第三OCR输出包括识别位于所述文档图像中的第三剪切图像的第 三边框以及指派给每个第三剪切图像的相应的一个或多个字符,并且
其中生成所述最终的OCR输出包括使用所述第一、第二和第三 OCR输出并且使用对所述第一、第二和第三剪切图像的字符指派的置 信分值在所述最终的OCR输出中对每个边框选择和指派相应的一个或 多个字符。
153.如权利要求150所述的方法,其中:
形状聚类对多个集群中的每个集群指派相应的一个或多个字符, 每个集群包括一个或多个剪切图像;并且
应用形状聚类包括访问原始文档图像并且获取灰度或色彩数据来 确认或修改对集群的字符指派。
154.如权利要求150所述的方法,进一步包括:
在生成所述最终的OCR输出之前,处理所述第一集群以修改或验 证所述第一OCR输出中对所述第一剪切图像的字符指派;并且
在生成所述最终的OCR输出之前,处理所述第二集群以修改或验 证所述第二OCR输出中对所述第二剪切图像的字符指派。
155.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的第一剪切图 像的第一边框以及指派给每个第一剪切图像的相应的一个或多个字 符;
利用第二OCR引擎处理所述文档图像以生成第二OCR输出,所述 第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边 框以及指派给每个第二剪切图像的相应的一个或多个字符;
对所述第一OCR输出应用形状聚类来产生具有第一剪切图像的第 一集群以及对第一剪切图像的一个或多个字符的每个指派的相应的置 信分值;
对所述第二OCR输出应用形状聚类来产生具有第二剪切图像的第 二集群以及对第二剪切图像的一个或多个字符的每个指派的相应的置 信分值;并且
从所述第一OCR输出和所述第二OCR输出生成最终的OCR输出, 所述最终的OCR输出包括边框并且使用对所述第一剪切图像和所述第 二剪切图像的所述一个或多个字符的指派的所述置信分值来对每个所 述边框选择和指派相应的一个或多个字符。
156.一种用于光学字符识别(OCR)的系统,包括:
第一OCR引擎,可操作来处理文档图像以生成第一OCR输出,所 述第一OCR输出包括识别位于所述文档图像中的第一剪切图像的第一 边框以及对每个第一剪切图像指派的相应的一个或多个字符;
第一后OCR引擎,可操作来对所述第一OCR输出应用形状聚类来 产生具有第一剪切图像的第一集群以及对第一剪切图像的一个或多个 字符的每个指派的相应的置信分值;
第二OCR引擎,可操作来处理所述文档图像以生成第二OCR输出, 所述第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第 二边框以及指派给每个第二剪切图像的相应的一个或多个字符;
第二后OCR引擎,可操作来对所述第二OCR输出应用形状聚类来 产生具有第二剪切图像的第二集群以及对第二剪切图像的一个或多个 字符的每个指派的相应的置信分值;以及
表决处理引擎,用来接收和处理所述第一OCR输出和所述第二 OCR输出,并且基于置信分值从所述第一和所述第二集群产生最终的 OCR输出。
157.如权利要求156所述的系统,其中:
所述第一后OCR引擎可操作来获取对集群图像的人工识别以验证 或校正对所述集群图像的一个或多个字符的指派。
158.如权利要求156所述的系统,进一步包括:
包括所述第一和第二OCR引擎、所述第一和第二后OCR引擎和 所述表决处理引擎的一个或多个服务器计算机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述第一和第二OCR引擎并且将来自所述表决处理引擎的最终OCR输出 导引到所述客户端计算机。
159.如权利要求158所述的系统,其中:
所述第一和第二OCR引擎、所述第一和第二后OCR引擎和所述表 决处理引擎分别处于不同的服务器计算机上。
160.如权利要求156所述的系统,进一步包括:
包括所述第一和第二OCR引擎、所述第一和第二后OCR引擎和 所述表决处理引擎的一个或多个服务器计算机;
所述一个或多个计算机服务器与其进行通信的通信网络;
与所述通信网络进行通信并且存储所述第一和第二OCR引擎、所 述第一和第二后OCR引擎和所述表决处理引擎产生的所选择文档的图 像的最终OCR输出的一个或多个OCR存储服务器计算机,
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或 多个OCR存储服务器计算机获取现有的最终OCR输出。
161.一种方法,包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的第一剪切图 像的第一边框,所述第一OCR输出进一步包括指派给每个第一剪切图 像的相应的一个或多个字符;
利用第二OCR引擎处理所述文档图像以生成第二OCR输出,所述 第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边 框,所述第二OCR输出进一步包括指派给每个第二剪切图像的相应的 一个或多个字符;
将所述第一剪切图像和所述第二剪切图像归类为集群,每个集群 仅包括对其指派了相同的一个或多个字符的剪切图像;
生成每个集群的集群图像;
使用所述集群图像来验证或校正对剪切图像的字符指派并且确定 对剪切图像的一个或多个字符的每个指派的置信分值;以及
使用对所述集群图像的字符指派来生成最终的OCR输出。
162.如权利要求161所述的方法,其中:
通过对所述集群中的剪切图像求平均来生成所述集群的集群图 像。
163.如权利要求161所述的方法,进一步包括:
在生成所述最终的OCR输出中,确定任意一个所述第一剪切图像 是否与任意一个所述第二剪切图像共享所述文档图像中的位置,以及 指派给所述一个第一剪切图像的一个或多个字符与指派给所述一个第 二剪切图像的一个或多个字符是否不同,如果是,则使用所述一个第 一剪切图像和所述一个第二剪切图像的相应的置信分值来选择所述位 置的一个或多个字符。
164.如权利要求161所述的方法,其中:
所述集群包括(1)其中每个剪切图像与相应的OCR引擎所产生 的单个边框相关联的集群和(2)其中每个剪切图像与相应的OCR引 擎所产生的两个或更多相邻边框相关联的集群。
165.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的第一剪切图 像的第一边框,所述第一OCR输出进一步包括指派给每个第一剪切图 像的相应的一个或多个字符;
利用第二OCR引擎处理所述文档图像以生成第二OCR输出,所述 第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第二边 框,所述第二OCR输出进一步包括指派给每个第二剪切图像的相应的 一个或多个字符;
将所述第一剪切图像和所述第二剪切图像归类为集群,每个集群 仅包括对其指派了相同的一个或多个字符的剪切图像;
生成每个集群的集群图像;
使用所述集群图像来验证或校正对剪切图像的字符指派并且确定 对剪切图像的一个或多个字符的每个指派的置信分值;以及
使用对所述集群图像的字符指派来生成最终的OCR输出。
166.一种用于光学字符识别(OCR)的系统,包括:
第一OCR引擎,可操作来处理文档图像以生成第一OCR输出,所 述第一OCR输出包括识别位于所述文档图像中的第一剪切图像的第一 边框,所述第一OCR输出进一步包括指派给每个第一剪切图像的相应 的一个或多个字符;
第二OCR引擎,可操作来处理所述文档图像以生成第二OCR输出, 所述第二OCR输出包括识别位于所述文档图像中的第二剪切图像的第 二边框,所述第二OCR输出进一步包括指派给每个第二剪切图像的相 应的一个或多个字符;
后OCR引擎,用来接收所述第一和第二OCR输出并且将所述第一 剪切图像和所述第二剪切图像归类为集群,每个集群仅包括对其指派 了相同的一个或多个字符的剪切图像以及表示每个集群的剪切图像的 集群图像;和
表决处理引擎,可操作来基于从所述后OCR引擎对所述集群图像 的字符指派来生成最终的OCR输出。
167.如权利要求166所述的系统,进一步包括:
包括所述第一和第二OCR引擎、所述后OCR引擎和所述表决处 理引擎的一个或多个服务器计算机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述第一和第二OCR引擎并且将来自所述表决处理引擎的最终OCR输出 导引到所述客户端计算机。
168.如权利要求167所述的系统,其中:
所述第一和第二OCR引擎、所述后OCR引擎和所述表决处理引擎 分别处于不同的服务器计算机上。
169.如权利要求166所述的系统,进一步包括:
包括所述第一和第二OCR引擎、所述后OCR引擎和所述表决处 理引擎的一个或多个服务器计算机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储所述第一和第二OCR引擎、所 述后OCR引擎和所述表决处理引擎产生的所选择文档的图像的最终 OCR输出的一个或多个OCR存储服务器计算机;
其中所述通信网络提供在客户端计算机和所述一个或多个OCR 存储服务器计算机之间的通信以允许所述客户端计算机从所述一个或 多个OCR存储服务器计算机获取现有的最终OCR输出。
170.一种方法,包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的剪切图像的 边框以及对每个剪切图像指派一个或多个字符的字符指派;
对所述第一OCR输出应用形状聚类以产生第一经修改的OCR输 出,所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改, 所述第一经修改的OCR输出进一步包括在所述文档图像中认出的词;
识别所述第一经修改的OCR输出中的可疑词,所述可疑词是具有 被识别为可疑字符的字符的词;并且
利用第二OCR引擎对所述可疑词进行处理以认出所述可疑词。
171.如权利要求170所述的方法,进一步包括:
作为正确认出所述可疑词来选择所述第一经修改的OCR输出或所 述第二OCR引擎的输出。
172.如权利要求170所述的方法,进一步包括:
在所述第一经修改的OCR输出中应用形状聚类来产生对剪切图像 的一个或多个字符的每个指派的相应的置信分值;
利用所述第二OCR引擎处理所述文档图像以生成第二OCR输出;
对所述第二OCR输出应用形状聚类以产生第二经修改的OCR输 出,所述第二经修改的OCR输出包括所述第二OCR引擎对剪切图像的 字符指派的修改,所述第二经修改的OCR输出包括对剪切图像的一个 或多个字符的每个指派的相应的置信分值,所述第二经修改的OCR输 出进一步包括在所述文档图像中认出的词;
使用所述第一经修改的OCR输出的置信分值和所述第二经修改的 OCR输出的置信分值,作为正确认出所述可疑词来选择所述第一经修 改的OCR输出或所述第二OCR引擎的输出。
173.如权利要求172所述的方法,其中:
对所述第二OCR输出应用形状聚类包括:
将所述第二OCR引擎所定位的剪切图像归类为集群,每个集群仅 包括被所述第二OCR引擎指派了相同的一个或多个字符的剪切图像;
对每个集群生成集群图像,所述集群的集群图像是通过对所述集 群中的剪切图像求平均而生成的;
使用所述集群图像以生成对所述剪切图像的经校正的字符指派; 并且
使用所述经校正的指派的经校正的指派字符来认出词。
174.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
利用第一光学字符识别(OCR)引擎处理文档图像以生成第一OCR 输出,所述第一OCR输出包括识别位于所述文档图像中的剪切图像的 边框以及对每个剪切图像指派一个或多个字符的字符指派;
对所述第一OCR输出应用形状聚类以产生第一经修改的OCR输 出,所述第一经修改的OCR输出包括对于剪切图像的字符指派的修改, 所述第一经修改的OCR输出进一步包括在所述文档图像中认出的词;
识别所述第一经修改的OCR输出中的可疑词,所述可疑词是具有 被识别为可疑字符的字符的词;并且
利用第二OCR引擎对所述可疑词进行处理以认出所述可疑词。
175.一种用于光学字符识别(OCR)的系统,包括:
第一OCR引擎,可操作来处理文档图像以生成第一OCR输出,所 述第一OCR输出包括识别位于所述文档图像中的剪切图像的边框以及 对每个剪切图像指派一个或多个字符的字符指派;
第一后OCR引擎,可操作来对所述第一OCR输出应用形状聚类以 产生第一经修改的OCR输出,所述第一经修改的OCR输出包括对于剪 切图像的字符指派的修改,所述第一经修改的OCR输出进一步包括在 所述文档图像中认出的字,其中所述第一后OCR引擎可操作来识别所 述第一经修改的OCR输出中的可疑词,所述可疑词是具有被识别为可 疑字符的字符的字;和
第二OCR引擎,可操作来接收并处理所述可疑词以认出所述可疑 词。
176.如权利要求175所述的系统,进一步包括:
包括所述第一和第二OCR引擎和所述第一后OCR引擎的一个或 多个服务器计算机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述第一OCR引擎并且将来自所述第二OCR引擎的OCR输出导引到所述 客户端计算机。
177.一种方法,包括:
处理文档图像以产生所述图像的非重叠子区域的集合,每个子区 域为第一分辨率
生成视觉上类似的剪切子区域的多个集群,其中所述集合中的每 个所述子区域包括在所述集群的一个中;
以高于所述第一分辨率的第二分辨率从在所述相应的集群中的所 述子区域对所述多个集群中每一个生成代表性集群图像;并且
通过利用其中包括子区域的集群的代表性集群图像替代所述图像 中的相应的子区域来产生所述文档的副本图像。
178.如权利要求177所述的方法,其中:
所述文档是多个页面的文档;并且
每个子区域是所述文档的一个页面的一部分。
179.如权利要求178所述的方法,其中:
每个原始子区域由矩形边框所限定。
180.如权利要求177所述的方法,其中:
所速文档包括多个不同的子文档。
181.如权利要求180所述的方法,其中:
所述多个不同的子文档以共同的格被打印。
182.如权利要求181所述的方法,其中:
所述多个不同的子文档是期刊或书本中的文章。
183.如权利要求177所述的方法,其中:
所述图像的所述子区域包括灰度或色彩数据;并且
使用所述灰度或色彩数据生成所述第二分辨率的代表性集群图 像。
184.如权利要求177所述的方法,其中:
所述图像的所述子区域包括灰度或色彩数据并且从所述集群生成 的所述代表性图像是二进制图像。
185.如权利要求177所述的方法,进一步包括:
通过对所述子区域的集合应用分级凝聚集群算法生成所述视觉上 相似的子区域的多个集群。
186.如权利要求177所述的方法,进一步包括:
使用光学字符识别(OCR)引擎来处理为所述第一分辨率的图像 以识别所述子区域并且对每个子区域指派一个或多个字符;并且
通过对所述子区域的多个集群指派子区域来生成所述视觉上相似 的子区域的多个集群以使得每个集群仅包括被所述OCR引擎指派了相 同的一个或多个特定字符并且大小近似相同的子区域。
187.如权利要求177所述的方法,进一步包括:
打印所述副本图像。
188.如权利要求177所述的方法,进一步包括:
使用所述文档的图像中的灰度或色彩信息以所述第二分辨率生成 每个集群的平均图像。
189.如权利要求177所述的方法,其中生成平均图像进一步包括:
获取相应的集群中的每个子区域的灰度或色彩信息;
使用所述灰度或色彩信息获取每个子区域的质心位置;
重叠所述集群内的子区域的质心位置;并且
使用所述集群中的重叠的子区域获取所述平均图像。
190.如权利要求177所述的方法,进一步包括:
在对每个集群中的子区域求平均时执行内插以获取对应的平均图 像。
191.如权利要求190所述的方法,其中:
对所述内插应用双线性内插算法。
192.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
处理文档图像以产生所述图像的非重叠子区域的集合,每个子区 域为第一分辨率;
生成视觉上类似的剪切子区域的多个集群,所述集合中的每个所 述子区域包括在所述集群的一个中;
以高于所述第一分辨率的第二分辨率从在相应的集群中的所述子 区域对所述多个集群中每一个生成代表性集群图像;并且
通过利用其中包括子区域的集群的代表性集群图像替代所述图像 中的相应的子区域来产生所述文档的副本图像。
193.一种方法,包括:
对文档的原始图像应用光学字符识别(OCR)处理以产生所述原 始图像的不同位置的剪切图像,每个剪切图像为第一分辨率;
将所述剪切图像归类为剪切图像的多个集群,每个集群包括被所 述OCR处理指派了相同的一个或多个字符码并且大小相同或相似的剪 切图像;
将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二 分辨率的经转换剪切图像;
对每个集群中的经转换剪切图像求平均以生成集群图像;并且
使用所述多个集群的集群图像来替代由所述OCR处理最初产生的 对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像 的副本。
194.如权利要求193所述的方法,进一步包括:
对每个集群中的每个剪切图像应用内插算法以产生相应的经转换 的剪切图像。
195.如权利要求194所述的方法,其中:
所述内插算法是双线性内插算法。
196.如权利要求193所述的方法,进一步包括:
使用所述文档的所述原始图像中的灰度或色彩数据来形成每个集 群中的所述剪切图像。
197.如权利要求193所述的方法,进一步包括:
以所述第二分辨率打印所述副本。
198.如权利要求193所述的方法,进一步包括:
获取每个集群中的每个经转换剪切图像的质心位置;
重叠所述集群内的经转换剪切图像的质心位置;并且
对所述集群中重叠的经转换剪切图像求平均以获取所述集群图 像。
199.如权利要求193所述的方法,其中:
每个剪切图像由所接收的OCR输出中的边框来限定,并且
所述集群包括(1)其中每个剪切图像与所述OCR引擎产生的单 个边框相关联的集群和(2)其中每个剪切图像与所述OCR引擎产生 的两个或更多相邻边框相关联的集群。
200.一种编码在计算机可读介质上的计算机程序产品,可操作来 使得数据处理装置执行操作,所述操作包括:
对文档的原始图像应用光学字符识别(OCR)处理以产生所述原 始图像的不同位置的剪切图像,每个剪切图像为第一分辨率;
将所述剪切图像归类为剪切图像的多个集群,每个集群包括被所 述OCR处理指派了相同的一个或多个字符码并且大小相同或相似的剪 切图像;
将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二 分辨率的经转换剪切图像;
对每个集群中的经转换剪切图像求平均以生成集群图像;并且
使用所述多个集群的集群图像来替代由所述OCR处理最初产生的 对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像 的副本。
201.一种系统,包括:
光学字符识别(OCR)引擎,可操作来处理文档的原始图像以产 生包括在所述原始图像的不同位置的剪切图像的OCR输出,每个剪切 图像为第一分辨率;
后OCR引擎,与所述OCR引擎进行通信以接收所述OCR输出,
其中所述后OCR引擎可操作来:
将所述剪切图像归类为剪切图像的集群,每个集群包括被所述 OCR引擎指派了相同的一个或多个字符码并且大小相同或相似的剪切 图像;
将每个集群中的每个剪切图像转换为高于所述第一分辨率的第二 分辨率的经转换剪切图像;
对每个集群中的经转换剪切图像求平均以生成集群图像;并且
使用所述多个集群的集群图像来替代由所述OCR引擎最初产生的 对应的剪切图像从而以所述第二分辨率生成所述文档的所述原始图像 的副本。
202.如权利要求201所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;和
所述一个或多个计算机服务器与其进行通信的通信网络,所述通 信网络可操作来将所述文档的所述原始图像从客户端计算机导引到所 述OCR引擎。
203.如权利要求201所述的系统,其中:
所述OCR引擎和所述后OCR引擎处于不同的服务器计算机上。
204.如权利要求201所述的系统,进一步包括:
包括所述OCR引擎和所述后OCR引擎的一个或多个服务器计算 机;
所述一个或多个计算机服务器与其进行通信的通信网络;和
与所述通信网络进行通信并且存储所述OCR引擎和所述后OCR 引擎所产生的为第二分辨率的所选择原始图像的副本的一个或多个存 储服务器计算机;
其中所述通信网络提供在客户端计算机和所述一个或多个存储服 务器计算机之间的通信以允许所述客户端计算机从所述一个或多个存 储服务器计算机获取所述OCR引擎和所述后OCR引擎所产生的原始 图像的为所述第二分辨率的现有副本。
205.如权利要求201所述的系统,进一步包括:
连接到所述通信网络以打印所述后OCR引擎所产生的所述副本 的打印机

说明书全文

该PCT申请要求以下四个美国专利申请的优先权:

于2006年9月8日提交的题为“Shape Clustering in Post Optical Character Recognition Processing”的No.11/517,818;

于2006年9月11日提交的题为“Shape Clustering and Cluster-Level Manual Identification in Post Optical Character Recognition Processing” 的No.11/519,368;

于2006年9月11日提交的题为“Optical Character Recognition based on Shape Clustering and Multiple Optical Character Recognition Processes”的No.11/519,376;和

于2006年9月11日提交的题为“High Resolution Replication of Document based on Shape Clustering”的No.11/519,320。

以上专利申请的公开内容通过引用合并为本申请说明书的一部 分。

技术领域

本说明书涉及形状聚类和光学字符识别。

背景技术

光学字符识别(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字符码的第一集群,该方法识别:(1)被指 派了与所述一个或多个第一OCR字符码不同的一个或多个第二OCR字 符码的第二集群,其中所述第二集群的集群图像在形状上相比被指派 了与所述一个或多个第一OCR字符码不同的一个或多个OCR字符的其 它集群的集群图像更接近所述第一集群的集群图像,和(2)被指派了 与第一集群相同的一个或多个第一OCR字符码的第三集群,其中所述 第三集群的集群图像在形状上比被指派了一个或多个第一OCR字符码 的其它集群的集群图像更接近所述第一集群的集群图像。该方法至少 使用第一集群和第二集群的集群图像之间的形状差异以及第一集群和 第三集群的集群图像之间的形状差异来确定指派给第一集群的一个或 多个第一OCR字符码的置信等级。
在另一个方面,一种用于光学字符识别(OCR)的系统可包括OCR 引擎和后OCR引擎。所述OCR引擎可操作来处理文档的原始图像以产 生包括从所述原始图像提取的剪切图像的OCR输出并且向每个剪切图 像指派一个或多个字符;并且所述后OCR引擎可操作来将所述OCR输 出的剪切图像归类为剪切图像的集群。每个集群包括大小相同或相似 并且被OCR引擎指派了相同的一个或多个字符码的剪切图像。所述后 OCR引擎可操作来对每个集群中的剪切图像进行处理以生成每个集群 的集群图像。所述后OCR引擎还可操作来对于被指派了一个或多个第 一OCR字符码的第一集群识别(1)被指派了与所述一个或多个第一 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引擎最初产生的对应 的剪切图像从而以第二分辨率生成所述文档的原始图像的副本。
可实施本发明的特定实施例来实现一个或多个优势。例如,来自 以普通方式印刷或书写的长篇文档的大量样本包括图像信息,所述图 像信息可在样本数量足够大时被访问。这样的信息可被用来提高识别 字符时的精度。该说明书中所描述的形状聚类技术可被应用来对大量 样本进行处理以提取关于图案相似度和相异度的附加图像信息。
本发明的一个或多个实施例的细节在附图和在以下描述中进行阐 述。根据所述描述、附图和权利要求,本发明的其它特征、方面和优 势将变得显而易见。

附图说明

图1图示了从特定OCR引擎的输出获取的OCR所生成的边框、相关 的剪切图像和指派的OCR字符码的示例。
图2示出了在后OCR处理中应用形状聚类的示例性方法。
图3是示出对OCR输出应用形状聚类以产生经修改的OCR输出的 示例性后OCR处理引擎的示例的框图
图4是示出用于由图3的集群生成引擎进行的集群归类的示例性处 理的流程图
图5图示了通过对集群中在其质心对齐的剪切图像求平均来计算 集群图像的一个示例性处理。
图6图示了能够由集群处理软件330执行以使用用于OCR字符码指 派的形状聚类的方法示例。
图7、8和9示出了从OCR引擎的输出获取的集群以及由图3的集群 处理引擎所计算的相关集群参数的示例。
图1O示出了滑动窗口处理的示例,其中通过使用具有高置信分值 的集群作为用于对可疑集群图像进行重新分割的集群图像模板来将可 疑集群图像重新分割为更小的集群图像。
图11A和11B示出了图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指派的字符码。图1图示了从特定OCR引擎的输出所获 取的OCR生成的边框、相关的剪切图像和指派的OCR字符码的示例。 所述OCR引擎对文档的原始数字图像进行处理并且将该原始图像分割 为与被独立认出的字符相对应的独立剪切图像。所述OCR引擎产生并 使用边框来围住和识别一个或多个单独认出的字符。例如,图1中的边 框110、120、140和160分别围住标点符号的句点、字母“F”、字母“o” 和数字“4”。每个OCR字符码能够表示一个或多个字符。每个字符可 包括一个或多个语言标记,其中语言标记是语言的基本单元,并且可 包括例如字母、数字以及符号或标志。符号或标记可以是例如标点符 号、排字标记或变音符(diacritical mark)。因此,字符的示例可以是 字母、数字、符号或标志以及两个或更多语言标记的连字(ligature)。 图1包括根据对字母、数字和标点符号相应指派的OCR字符码而生成的 OCR字符的特定示例。根据OCR引擎指派的OCR字符码生成文本字符 130和150,其中对在边框120和边框160内所包含的文档图像部分分别 生成字母“F”和数字“4”。
在图1所示的示例中,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、 11A和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”的剪切图像可被归类于一个集群中,而Time Roman字体且为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”集群中的这些剪切图像样本中的一些,例如临 近“n”剪切图像的“r”剪切图像,还可包括在被指派“rn”的OCR字 符连字的2字符集群中作为“rn”的剪切图像的一部分。与包括“r”和 “n”集群的许多其它集群相比,“rn”集群的集群图像在形状上可能 与“m”集群更为接近。虽然会有冲突的情况,但是用于确定每个集群 是否为可疑集群、不可接受集群或独立集群的整体处理保持相同。以 上n=2的示例扩展到n阶(n-gram)集群,并且随着n的增加,计算需求 会有所增加且返回精度会降低。
集群处理软件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之间的形状 距离可如下计算:
Σ p [ I ( p ) - J ( p ) ] n n
其中n是大于1的正整数,I(P)和J(P)是两个集群图像I和J在像素位 置P的灰度或彩色像素值,并且对所有像素位置进行求和,其中所述像 素位置P在其边框对齐后对于两个图像是相同的。
集群处理软件330可使用以上或其它形状量度来基于集群和其它 集群之间的形状距离估算对每个集群指派的一个或多个OCR字符码的 置信等级。例如,可选择形状距离阈值来识别与最接近集群离开大于 形状距离阈值的形状距离的“孤立”集群。当集群过于远离所有组块 和类中的所有其它集群时,该集群就不再能够基于仅仅形状距离与其 它集群进行合理比较来批准或不批准集群图像的一个或多个所指派的 OCR字符码的置信等级,尤其是对于被指派了不同OCR字符码的集群。 因此,集群处理软件330可将孤立集群识别为其置信等级不可接受并且 要进行进一步处理或验证的可疑集群。例如,集群处理软件330可选择 孤立集群用于由人进行人工识别并由此将可疑集群转换为具有高置信 分值的可接受集群。
用于测量集群的置信等级的另一个参数是集群中剪切图像的数 目。具有大量剪切图像的集群会直接表明该集群的高置信等级。出于 该原因,集群处理软件330能够使用集群中剪切图像数目的阈值来对集 群进行估算。当集群中的剪切图像数目小于所述阈值时,该集群被标 记为可疑集群并且要进行进一步处理和验证。集群处理软件330中进一 步处理和验证的一种实施方式是由人进行人工识别。人工识别的结果 可被用来将可疑集群转换为具有高置信分值的可接受集群。
对于并非可疑集群的集群而言,集群处理软件330能够将这样的集 群识别为可接受集群并且将它们用于产生经修改的OCR输出350。当无 法对可疑集群进行附加的处理或验证时,对于该可疑集群的一个或多 个OCR字符码的指派可包括在经修改的OCR输出350中。集群处理软件 330可暂时将可疑集群包括在经修改的OCR输出350中,并且当对该可 疑集群的附加处理或验证变得可用时更新所述可疑集群。
在其相应的类中具有最高剪切图像数目的集群可被识别为主集 群,原因在于这样的主集群比相同类中的非主集群倾向于更可能成为 可接受集群。然而,主集群在各种情况下可能为可疑集群。例如,主 集群可以为孤立集群或者可具有小于在集群处理软件330中设置的阈 值的剪切图像数目。
集群处理软件330可应用阈值形状距离和集群中剪切图像数目的 阈值来对集群生成软件320所输出的集群322进行排名和处理。在一种 实施方式中,所有类中的所有集群基于剪切图像或集群中实例的数目 而被降序排名并且每次以该顺序处理一个集群。对于每个集群C,如果 集群C是其类中的主集群,则集群处理软件330能够跳过处理并且进行 处理下一个较小的集群。在一些实施例中,如果集群C不是主集群,则 集群处理软件330根据形状量度确定集群C到最接近的集群C’的距离, 所述形状量度例如形状距离。集群C’是比集群C大并且没有被标记为可 疑的集群。集群C’可以是主集群,或者是以以上所限定的顺序在集群C 之前进行处理的集群。如果发现集群C’具有与集群C不同的相关联的所 指派OCR字符码,则集群处理软件330确定OCR引擎300已经在对集群C 的指派中出现了错误。因此,集群处理软件330能够改变对集群C指派 的OCR字符码并且将与集群C’相关联的不同的OCR字符码指派给集群 C,集群处理软件300确定OCR引擎300已经对集群C做出了正确的指派。 集群处理软件330可反复进行以上处理来处理与当前所考虑的集群C最 接近的集群C’被标记为可疑集群的情况。当发生这种情况时,集群处 理软件330继续处理其它集群以搜索非可疑集群C’直至在相同类中没 有集群C具有可疑的C’。
集群处理软件330可执行以上处理来检测OCR错误并且通过改变 对一些集群指派的OCR字符码来校正一些错误。该处理产生了经修改 的集群332,其OCR字符码的指派精度得以提高。输出处理软件340可 将经改变的集群332应用至OCR输出302以产生错误减少的经修改的 OCR输出350。
集群处理软件330还能够被编程为应用所选择的形状量度对整个 文档中所有集群计算两个集群的平均图像之间的形状距离,并且基于 所述形状距离和每个集群中的图像数目将所述集群分类为主集群、可 接受集群、可疑集群和孤立集群。可通过相互比较来对这些不同类型 的集群进行进一步处理,以将一些可疑集群改变为可接受集群。
图6图示了集群处理软件330所执行的对OCR字符码指派使用形状 聚类的示例性处理。在该示例中,集群处理软件330对指派给集群的初 始OCR字符码的置信等级进行估算,并且如果适当,则利用与被处理 集群的形状距离最短的另一集群的一个或多个不同的OCR字符码来替 代指派给所述集群的一个或多个初始字符码。集群处理软件330对所有 集群进行估算和处理以产生在原始的OCR输出文档302中出现的文档 301的经修改的集群集合332,其OCR错误有所减少。更特别地,计算 特定集群和所有其它集群的集群图像之间的形状距离而无论类型如何 (步骤610)。与所有类中的最接近集群的形状距离大于阈值距离的集 群被标记为“孤立”集群,而不改变该集群的相应的一个或多个OCR 字符码(步骤620)。该处理将集群归类为孤立集群和非孤立集群。对 于每个孤立集群而言,集群处理软件330将这样的集群标记为可疑集群 并且调用不同的处理机制来处理所述集群,例如使用人工识别或对包 含该可疑集群中的剪切图像的每个词进行重新分割。对于每个非孤立 集群而言,可识别相同类中相关联的最接近集群和来自不同类的相关 联的最接近集群,并且每个这样的最接近集群比正在处理的当前非孤 立集群具有更多的样本剪切图像(步骤630)。接下来,集群处理软件 330确定以上两个所选择集群之间的最接近集群是否为可接受集群,即 可对于在经修改的OCR输出350中使用充分可靠(步骤640)。如该说 明书中较早部分中所描述的,可通过例如对集群指派的置信分值来确 定该集群是否可接受。
如果最接近的集群为可接受集群并且与正在处理的非孤立集群处 于不同类中,则以与所述最接近的集群相关联的一个或多个OCR字符 码替代正在处理的当前非孤立集群的一个或多个OCR字符码作为所述 当前集群的新的一个或多个字符码(步骤650和670)。如果最接近的 集群为可接受集群并且与正在处理的非孤立集群处于相同类中,则将 当前集群的一个或多个OCR字符码验证为正确并且由此保持不变以用 于经修改的OCR输出350中(步骤650和680)。
另一方面,如果最接近的集群不是可接受集群,则集群处理软件 330确定是否继续搜索与正在处理的当前非孤立集群最接近的可接受 集群(步骤660)。如果是,则重复以上搜索处理;否则,保持正在处 理的当前集群的一个或多个OCR字符码并且将其标记为可接受的以用 于经修改的OCR输出350中(步骤680)。在后者的情况下,形状比较 并不确认或反对原始的OCR指派。
图7、8和9示出了从OCR引擎的输出获取的集群以及集群的后OCR 处理的结果的示例。标记出以上所描述的集群处理软件330所计算的集 群参数。在图7中,顶部行710表示根据OCR引擎所归类的一个大小而 形成的“C”集群图像。这些集群在形状和大小上稍有不同,并且在顶 部行710的中间区域还包括被OCR引擎不正确地归类为“C”集群的6个 “G”集群。中间行720示出了“C”类中所有“C”集群的对应最为接 近的匹配。注意,中间行包括被OCR引擎不正确地归类为“C”集群的 2个“G”集群。底部行730具有不在“C”类中的所有集群的对应的最 接近匹配。底部行730中每个集群图像的左上的标记示出了指派给所 述集群的OCR字符码的OCR字符。在中间行中,三个数字701、702和 703为表征第二行720中的集群的集群参数。顶部的数字701是集群的每 个顶部行中的样本数目,第二个数字702为顶部的“C”集群和中间的 其它“C”集群之间的形状距离,并且底部的数字703是顶部的“C”集 群和底部的最接近的非“C”集群之间的形状距离。例如,图7中右上 部的C集群具有1899个样本。如果中间的数字小于下部数字,则对应的 顶部集群可能被OCR引擎正确归类为“C”集群;否则,所述OCR引擎 可能如顶部行中错误归类的“G”集群的红色示例所指示的那样出现错 误。在图7中,不正确标记的集群的样本总数为(1+20+9+1+2+7)=50, 由此可能通过集群级别的处理自动校正50个错误。
图7进一步示出了基于形状聚类处理对集群进行的OCR指派的置 信等级。集群处理软件330使用标记参数来标记集群是否可接受、以高 置信分值进行验证、或者以错误的OCR指派可疑或反对。图7通过使用 每个集群图像的右下角中的标志对该标记参数进行了图形表示。每个 集群图像右下角中的该标志在这里被用来增进集群的特征表征和标记 的理解,并且不被后OCR处理软件所使用。如果集群是可接受的但是 没有通过人工识别或其它方式被验证为具有高置信分值,则不对集群 图像右下角进行标记。如果集群为可接受的并且通过人工识别或其它 方式被验证为具有高置信分值,则利用对钩符号在集群图像的右下角 进行标记。如果集群是不可接受的并且被验证为错误,则利用叉号在 集群图像的右下角进行标记。不正确标记的集群在其右下角以叉号进 行标记,诸如顶部行710的中间区域中被OCR引擎不正确地归类为“C” 的6个“G”集群。图8示出了最初都被OCR引擎识别为“B”的集群的 示例。如图8所示,集群处理软件330所进行的集群分析正确发现了到 最近的非“B”集群,该示例中为“R”集群,的距离小于到最接近的 “B”集群的距离,由此14个集群中的10个实际为“R”集群。如右下 角的叉号所指示的,图8的顶部行左端的字母“R”的第一集群被OCR 引擎不正确的指派为“B”集群。
图9示出了“孤立”集群的示例,其中序列“fri”的剪切图像的38 个示例被OCR引擎不正确地识别为“M”。如果使用人工识别来校正该 OCR错误并且对所述孤立集群指派正确的连字“fri”,则所述孤立集 群可被重新归类为具有高置信分值的可接受集群。在该重新归类之后, 基于新指派的字符“fri”的单个集群级别的校正可被用来校正文档中 所有的38个错误。
图9中的示例表明OCR引擎可能将一组不同字符不正确地分割为 单个剪切图像(例如“fri”)并且由此将所述组当作单个字符(例如 “M”)。具有这样的分割错误的集群易于与单个字符的典型集群相比 通过其边框的大小测量的大。可使用由人进行的人工识别来校正这样 的错误。集群处理软件330可被用来自动选择用于人工识别的可疑集群 并且使用人工识别的结果来更新对所述集群的一个或多个OCR字符码 的指派,由此将所述可疑集群转换为可接受集群。
作为选择,图3中的后OCR引擎310能够通过搜索与包括人工识别 的形状聚类所获取的具有高置信分值的可接受集群的集群图像的匹配 来将这样的大的可疑集群图像重新分割为两个或更多较小集群图像。 在该处理中,具有高置信分值的可接受集群是从经修改的集群322中具 有高置信分值的可接收集群池中选择的,并且被用作集群图像模板。 通过在空间上将模板每次一个像素滑过可疑集群图像来比较所述集群 图像模板和可疑集群,以比较所述集群图像模板和可疑集群的每个子 部分之间的形状相似度。对池中的所有可接受集群重复该匹配处理来 识别所有匹配。该匹配处理中所产生的两个或更多较小集群图像对应 于两个或更多新集群并且接着对所述新集群进行处理。
这种使用具有高置信分值的可接受集群的池作为集群图像模板能 够在集群定形之后处理OCR输出302中的可疑词。在一种实施方式中, 输出处理软件340可被编程为将每个集群图像模板运行通过可疑词来 识别任意匹配。当存在至少一个匹配时,被OCR引擎分割为OCR输出 302中的不同相邻边框中的剪切图像的可疑词图像被重新分割为新的 不同相邻边框中的新的剪切图像。例如,每个新的边框可以是单个字 符或连字的剪切图像。
图10示出了滑动窗口1010的示例,其中通过使用经修改的集群322 中具有高置信分值的所选择集群的池作为集群图像模板将可疑词的剪 切图像1001重新分割为字符或连词的较小图像1002。例如,该所选择 的集群的池可包括通过人工识别所获取的集群、具有大量样本剪切图 像的集群、已经由形状聚类验证为正确的集群。所述滑动窗口将每个 所选择集群与可疑词的子部分进行比较并且接着基于与所述集群图像 模板的匹配重新分割可疑词。该滑动窗口处理1010可由作为输出处理 软件340的一部分的软件来实施。
集群处理软件340选择所选择集群的集群图像作为集群图像模板。 所选择的该集群对于所指派的一个或多个OCR字符码具有高置信分 值。集群处理软件340首先将集群图像模板沿预先确定的滑动方向与可 疑词的剪切图像1001内的不同图像部分对齐,每次一个部分。例如, 所述预先确定的滑动方向可以是从左至右的平方向。因此,集群图 像模板与可疑词内的不同部分对齐。分别获取所述集群图像模板与词 图像的不同部分之间的形状量度距离。所获得的形状量度距离被用来 确定词图像的一部分是否与集群图像模板相匹配。将词图像的与集群 图像模板匹配的匹配部分与所述词图像的一个或多个其它部分分离。 对所选择的集群指派的一个或多个OCR字符码在经修改的OCR输出中 被指派给所述词图像被分离的匹配部分。
图11A和11B示出了图10中的滑动窗处理1010的操作细节。图11A 示出了使用从具有高置信分值的集群图像所选择的集群图像模板1100 以与可疑词图像1001的不同部分对齐的滑动窗处理1010。例如,集群 图像模板1100被放置在沿滑动方向的两个相邻位置之间以一个像素移 位的一系列不同位置处以便与可疑词图像1001重叠。图11B示出了示例 性的处理操作。首先,从具有高置信分值的可用集群图像中选择集群 图像模板1100(步骤1110)。将集群图像模板1100的质心与可疑词图 像1001的开始部分的质心对齐(步骤1120)。计算集群图像模板1100 和可疑词图像1001被重叠的开始部分之间的形状距离(步骤1130)。 接着将集群图像模板1100和可疑词图像1001沿滑动方向彼此移位一个 像素以便将集群图像模板1100与可疑词图像1001的后续部分对齐(步 骤1140),并且再次计算形状距离(步骤1150)。在不同部分重复该 处理以使得滑动窗处理1010计算集群图像模板1100和可疑词图像1001 的不同图像部分之间的相应的形状量度距离(步骤1160)。所计算的 形状量度距离被用来确定可疑词图像1001的图像部分是否与集群图像 模板1100相匹配。对所选择的具有高置信分值的所有集群重复以上处 理(步骤1170)。
如果存在匹配,则将可疑词图像1001的匹配部分分离,并且指派 所匹配的集群图像模板的相应的一个或多个OCR字符码。该结果被用 在输出处理软件340所产生的经修改的OCR输出350中。如果可疑词图 像1001在分割之后的一个或多个剩余部分已与集群图像模板匹配,则 相应的OCR字符码被用在经修改的OCR输出350中。如果可疑词图像 1001在分割之后的一个或多个剩余部分与集群图像模板不匹配,则这 些部分被标记为不可识别的图像,并且可以通过其它方法(例如人工 识别)进一步处理或者在经修改的OCR输出350中进行这样的标记。如 果在滑动窗口处理之后不存在单个匹配,则可疑词图像1001被标记为 不可识别的图像,并且可以通过其它方法(例如人工识别)进一步处 理或者在经修改的OCR输出350中进行这样的标记。
图10、11A和11B所示的滑动窗口处理1010还可以作为集群处理软 件330的一部分来实现以便将可疑集群图像重新分割为两个或更多的 较小分割的集群图像。在这一点,图10、11A和11B所描述的处理步骤 被应用于可疑集群的集群图像而不是可疑词图像。被分割的集群图像 像集群320中的其它集群那样由集群处理软件330进一步处理。集群处 理软件330选择第一集群的第一集群图像作为集群图像模板。所述第一 集群图像对于所指派的一个或多个OCR字符码具有高置信分值。来自 具有低置信分值的第二集群,例如可疑集群,的第二集群图像被选择 通过滑动窗口处理1010被重新分割。集群处理软件330可首先沿预先确 定的方向将集群图像模板与第二集群图像内的不同图像部分对齐,每 次一个部分。如果存在匹配,则可疑集群图像的匹配部分接着被用作 所要形成的第三集群的新的第三集群图像。将可疑集群图像中每个剪 切图像中对应于集群图像模板1100的对应部分从所述剪切图像中分 离,以形成新的剪切图像。分别从第二集群中的剪切图像分离的新的 剪切图像被用来形成第三集群,所述第三集群被指派对集群图像模板 1100所指派的一个或多个OCR字符码。所述可疑集群图像在分离第三 集群的新剪切图像之后的其余剪切图像被用于形成至少一个第四集 群。如果匹配部分的位置处于将可疑集群图像划分为三个部分的可疑 集群图像中间,则所述可疑集群图像的其余剪切图像能够形成两个不 同的新集群。新分割的集群接着被用来在产生经修改的OCR输出350时 替代第二集群。
还可通过在自动方式中结合集群级别的人工识别和校正对可疑集 群进行处理以开发高精度的人工识别。可实施该说明书中所描述的聚 类技术来减轻许多其它人工OCR校正技术的高成本和费的处理。
图12图示了自动人工校正的一种实施方式,其中可包括人工校正 处理1210作为图3中的集群处理软件330的一部分。在操作中,集群处 理软件330选择集群,例如可疑集群,的集群图像来请求进行人工识别, 并且使用人工识别来生成所选择集群的一个或多个新的OCR字符码。
对于人工识别的请求可被发送到一个或多个在线人工校正资源 1220。在线人工校正资源1220可以是在线计算机,操作人员通过所述 在线计算机观看所请求的可疑集群图像以及所指派的OCR字符,并且 将集群图像的相关文本的确认或所述集群图像经校正的新的文本发送 回。单个请求可包括多个可疑集群的图像。人工校正处理1210使用来 自在线人工校正资源1220的响应来更新经过修改的集群332中的集群。 例如,人工校正处理1210能够利用基于从在线人工校正资源1220返回 的响应所生成的一个或多个新的OCR字符码来替代可疑集群的一个或 多个现有OCR字符码。对于每个经人工校正或确认的集群而言,集群 处理软件330将所述集群从可疑集群改变为可接受集群,并且对所述集 群指派高置信分值以便在后续的后OCR处理中使用。这允许由集群处 理软件330利用人工校正结果对经修改的集群332进行更新。
作为选择,可通过使用在线资源而无需人工校正的指定人员或操 作员来实施自动人工校正。所述在线人工校正资源可被设计为在线游 戏或服务的一部分,其中需要用户对所述在线游戏或服务进行人工输 入。
例如,可使用可疑集群的集群图像作为用于要求游戏人员识别图 像的在线游戏的图像。http://www.espgame.org/的ESP游戏是这样的在线 游戏的一个示例,其中向游戏人员呈现图像并且要求游戏人员输入图 像中所示物体的名称。游戏人员所输入的名称,例如字符码,一方面 被用作在线游戏的一部分,另一方面被同时用作后OCR处理的可疑集 群图像的人工识别。
对于另一个示例,各种网站使用诸如“CAPTCHA”(全自动区分 计算机和人类的图灵测试)之类的挑战-响应测试图像作为登录处理的 一部分来确定网站的用户是否为人类。可以将可疑集群的图像用作 CAPTCHA或CAPTCHA的一部分。因此,具有扭曲文本的CAPTCHA 在这一端可被添加以可疑集群的图像。试图对服务进行访问的用户要 解决CAPTCHA并对在CAPTCHA一端的可疑集群图像所表示的一个或 多个字符是什么给出最佳猜测。用户所识别的字符被接收并被用来验 证或校正由OCR处理对可疑集群图像所指派的一个或多个特定字符。 为了提高经由CAPTCHA所进行的用户识别的精度,可在不同 CAPTCHA中向不同用户发送可疑集群的相同集群图像以在返回的集 群图像响应上提供冗余检查,其中来自不同用户的对于相同集群图像 的一致回答是所返回的响应可靠的有力指示。因此,在一个实施方式 中,基于在线挑战-响应测试从多个不同用户中的每一个获取对特定集 群的平均图像的用户识别。使用从多个不同用户的其他用户获取的用 户识别来验证对特定集群的平均图像的特定用户识别。经验证的用户 识别接着被用来对OCR处理对特定集群指派的一个或多个特定字符进 行验证或校正。
OCR引擎所生成的集群图像可能是不表示任何字符的无意义图 像。这可能由不同方式所导致。例如,OCR引擎所进行的不适当分割 会产生剪切图像中的字符的一部分,或者与剪切图像中另一字符的一 部分相结合的字符。作为另一个示例,输入到OCR引擎中的原始文档 图像可能在剪切图像中具有无意义标记。当无意义的集群图像被归类 为用于以上自动人工校正技术中的任意一种中的人工识别的可疑集群 图像时,观看所述无意义的可疑集群图像的人员可利用陈述所述图像 无意义或所述图像不是单个或多个完整字符的消息进行响应。人工校 正处理1210可被配置成通过保留这样的集群的可疑状态并且标记该集 群的属性来对这种情形进行处理。例如,可对不正确分割的字符应用 自动重新分割,并且可将结果反馈回人工验证处理,如果需要就进行 重复,直至获得满意的分割。
图12所示的后OCR系统及其变化可以在通信网络中的一个或多个 计算机服务器中实施。所述一个或多个计算机服务器可被用来提供 OCR引擎和后OCR引擎。所述网络中的客户端计算机可向一个或多个 计算机服务器发送文档图像以请求所述文档的OCR输出。所述OCR引 擎和后OCR引擎对客户端的文档图像进行处理并且产生OCR输出,所 述OCR输出能够通过所述通信网络发送到所述客户端计算机。一个或 多个在线服务器可连接到所述通信网络并且提供在线的人工校正资源 供后OCR引擎使用。所述后OCR引擎可操作来选择具有低置信等级的 集群来获取对所选择集群的集群图像的一个或多个字符的人工指派。 在这方面,对在线服务器进行请求并且在线服务器接着对所选择的集 群图像生成人工指派。例如,所述在线服务器可以是对访问所述在线 服务器所托管的网站的用户计算机处的用户提供挑战-响应测试的计算 机或者是托管ESP游戏或请求来自在线用户响应的其它游戏的计算机。
用于该说明书中所描述的后OCR处理技术的一个应用是具有两个 或更多OCR引擎的OCR系统中的后OCR处理。两个或更多OCR引擎的 这种使用可进一步利用OCR处理中冗余的好处并且提高OCR精度。这 样的系统可以以各种配置来实施。
图13示出了包括两个或更多OCR引擎1301、1302和所连接的在表 决配置中并行操作的后OCR处理引擎1311、1312的示例性OCR系统。 每个OCR引擎与一个后OCR处理引擎配对。因此,图像化文档1300由 所有OCR引擎独立地并行处理。每个OCR输出接着由相应的后OCR处 理引擎进一步处理。该处理产生同一个图像化文档1300的多个OCR输 出。每个后OCR处理引擎可被设计成基于图3所示的后OCR处理来执行 整个处理功能或其一部分。提供表决处理引擎1320以从后OCR处理引 擎接收不同的OCR输出并且对所接收的不同OCR输出进一步进行处理 以产生最终的OCR输出1330。所述表决处理引擎1320能够在产生最终 OCR输出1330时应用不同的表决方法。
例如,在一种实施方式中,图13中的每个后OCR处理引擎能够执 行集群生成320并对图3所示的集群产生剪切图像322,而不修改相应的 OCR引擎所进行的字符指派。表决处理引擎1320能够选择最终OCR输 出1 330中的对应图像的不同后OCR处理引擎所产生的任意一个集群。 不同的后OCR处理引擎能够对从后OCR处理引擎所生成的集群指派置 信分值,并且表决处理引擎1320能够使用所述置信分值从后OCR处理 引擎选择具有最高置信分值的集群用于最终OCR输出1330。结果,最 终OCR输出1330由表决处理引擎1320基于来自不同后OCR处理引擎的 最可靠集群的组合所生成并且能够比单对OCR引擎和后OCR引擎所产 生的OCR输出具有更好的OCR精度。
在另一个实施方式中,图13中的每个后OCR处理引擎能够被配置 成对相应的OCR引擎最初进行的字符指派进行修改或验证。该修改可 通过例如图3中的应用聚类处理330来产生经修改的集群332来实现。图 13中的每个后OCR处理引擎产生可靠性得以改进的经修改的OCR输 出。表决处理引擎1320接着基于集群的置信分值使用经修改的OCR输 出来产生最终的OCR输出1330。
在图13中的系统的进一步实施方式中,每个后OCR处理引擎(1311 或1312)可被配置成将从相应的OCR引擎(1301或1302)所接收的OCR 输出中的边框中限定的剪切图像归类为剪切图像的集群。每个集群具 有被对应的OCR引擎指派了相同的一个或多个特定字符的图像大小和 形状类似的集群图像。每个后OCR处理引擎还对每个集群产生集群图 像,例如对每个集群中的剪切图像求平均以生成平均图像作为集群图 像。表决处理引擎1320可被配置成使用每个集群的集群图像和其它集 群的集群图像之间的形状差异来检测在由对应的OCR引擎对每个集群 指派的一个或多个特定字符中是否存在错误并且通过向特定集群新指 派一个或多个特定字符来校正特定集群中所检测到的每个错误。表决 处理引擎1320可进一步被操作来在对应的经修改的OCR输出中使用特 定集群新指派的一个或多个特定字符来替代对应的OCR引擎先前所分 别指派的相应的一个或多个特定字符。
在图13的系统中,两个不同的OCR引擎可不同地对图像进行分割。 表决处理引擎1320能够从后OCR引擎的输出中选择最佳集群。考虑一 个OCR引擎将单个字符的图像不正确地分割为两个相邻边框中的两个 单独剪切图像,而其它OCR引擎将所述单个字符的相同图像正确识别 为单个剪切图像并放置在一个边框中的示例。表决处理引擎1320可分 别基于置信分值和产生两种选择的后OCR引擎的数量来仅选择两种选 择之一。在以上示例中,在单个边框中包括了单个字符的全部图像的 可选集群可被表决处理引擎1320所选择,原因在于更多的OCR引擎产 生该可选集群。
图14示出了另一个示例性OCR系统,其包括处于表决配置中的两 个或更多的多个OCR引擎1401、1402以及单个后OCR处理引擎1420。 OCR引擎1401、1402彼此独立操作以对原始的图像化文档1400进行处 理以产生它们相应的OCR输出。单个后OCR处理引擎1410接收所述 OCR输出并且将所接收的OCR输出中的所有剪切图像归类为集群。集 群可包括来自不同OCR输出的剪切图像,并且例如通过将剪切图像求 平均来使用每个集群中的剪切图像生成表示所述集群的集群图像。接 下来,生成集群图像并且比较不同集群的形状以验证和校正所述集群 的OCR字符码的指派。该处理产生经修改的集群。表决处理引擎1420 被用来使用所述经修改的集群以生成最终的OCR输出1430。
在一个实施方式中,表决处理引擎140能够对不同OCR输出中所 生成的原始图像化文档1400中特定位置的相同图像实例的冲突剪切图 像进行处理。比较冲突图像的置信分值以选择具有较高置信分值的剪 切图像来表示所述特定位置的图像实例。
考虑图14中具有用于并行处理原始图像化文档1400的两个OCR 引擎1401和1402的系统的更为具体的操作示例。第一OCR引擎1401 被用来处理原始文档图像1400以生成第一OCR输出。所述第一OCR 输出包括识别位于所述文档图像中的第一剪切图像的第一边框以及分 别对每个第一剪切图像指派的一个或多个字符。第二OCR引擎1402 被用来处理文档图像1400以生成第二OCR输出。所述第二OCR输出 包括识别位于所述文档图像中的第二剪切图像的第二边框以及分别对 每个第二剪切图像指派的一个或多个字符。接下来,后OCR处理引 擎1410被用来将所述第一剪切图像和第二剪切图像归类为集群,其中 每个集群仅包括具有对所述剪切图像指派的一个或多个相同字符的剪 切图像。所述后OCR引擎1410还通过例如将集群中的剪切图像求平 均来生成每个集群的集群图像。以上所生成的集群图像接着被用来校 正对剪切图像的字符指派并且确定对剪切图像的一个或多个字符的每 个指派的置信分值。可以获取所述原始文档图像1400的灰度数据或色 彩数据并且由后OCR引擎1410用来改善所述集群处理。表决处理1420 确定第一剪切图像中的任意一个是否与第二剪切图像中的任意一个共 享文档图像1400中的一个位置以及对一个第一剪切图像指派的一个或 多个字符是否与对一个第二剪切图像指派的一个或多个字符有所不 同。如果是,则表决处理1420使用一个第一剪切图像和一个第二剪切 图像相应的置信分值来选择所述位置的一个或多个字符。
图13和14所示的表决OCR系统及其变化可以在通信网络中的一 个或多个计算机服务器中实施。所述一个或多个计算机服务器可被用 来提供OCR引擎、一个或多个后OCR引擎以及表决处理引擎。所述 网络中的客户端计算机能够向所述一个或多个计算机服务器发送文档 图像以请求所述文档的OCR输出。所述一个或多个计算机服务器上的 OCR引擎、一个或多个后OCR引擎和表决处理引擎对客户端的文档图 像进行处理并且产生OCR输出,所述OCR输出可通过所述通信网络 被发送到所述客户端计算机。
图15示出了一种示例性OCR系统,其使用第一OCR引擎1510 来处理原始文档图像1500并且使用第一后OCR处理引擎1520对来自 第一OCR引擎1510的OCR输出进行处理以产生经修改的OCR输出。 所述第一后OCR处理引擎1520如以上所描述的那样在第一OCR引擎 1510所输出的剪切图像上执行集群归类和集群处理,并且识别处于集 群的可疑集群图像形式的每个可疑词,所述集群中存在可疑词的图像。 第二OCR引擎1530接着被用来通过对可疑字符的一个或多个OCR字 符码的指派进行验证和校正而对经修改的OCR输出中的任意可疑字符 进行进一步处理并且产生最终的OCR输出1501。注意,第二OCR引 擎1530能够将可疑集群的图像进行重新分割以便进一步处理。
作为选择,第二后OCR引擎可被用来进一步对来自第二OCR引 擎1530的输出应用形状聚类,并且该形状聚类的结果被用来形成最终 的OCR输出文档1501。
后OCR处理技术可被用来根据长篇文档的低分辨率扫描生成高 分辨率打印输出。一些商业OCR引擎能够以例如200dpi或300dpi(每 英寸点数)的低分辨率处理图像。这样的低分辨率图像对于高质量打 印输出可能是不够的。本公开内容中所描述的后OCR处理技术中集群 的平均图像趋向于具有比所扫描文档中的每个单独图像更高的分辨 率,原因在于对每个集群中的大量图像进行了平均。此外,每个剪切 图像可被内插更高分辨率的剪切图像。该内插进一步提高了每个集群 的剪切图像的分辨率。因此,在诸如高分辨率的按需打印系统之类的 高分辨率应用中,集群图像可被用来以相同图像的超分辨 (super-resolved)版本替代扫描文档中的图像的每个实例。
图16图示了一种用来产生文档的高分辨率版本的示例性处理。所 述文档的图像首先被处理以产生所述图像的子区域的集合(步骤 1610)。每个子区域处于第一分辨率。所述子区域在所述图像中处于 不同位置。一个子区域可被完全与相邻子区域分离开,或者可以与相 邻子区域部分重叠。所述文档可以为各种格式,例如诸如书本、报纸 或期刊的以共同形式的文章之类的多个子文档的集合以及其中每个子 区域作为一页文档的一部分的多页面文档。例如,OCR引擎在该处理 中可被用来将文档的图像分离到作为子区域的边框中,并且每个边框 具有与文档图像分离开来的相关联的剪切图像。所述边框可以是非重 叠的子区域。在一些实施方式中,每个子区域可包括色彩或灰度数据。 所述子区域接着被处理以生成视觉上相似的剪切子区域的多个集群, 其中集合中的每个子区域包括在集群之一中(步骤1620)。该处理可 通过形状聚类来实现,例如可使用k维树数据结构的分级凝聚集群算 法。每个集群可以仅包括由OCR引擎指派了相同的一个或多个特定字 符并且大小近似相同的子区域。接着对来自相应的集群中的子区域的 多个集群中的每一个以高于第一分辨率的第二分辨率生成代表性的集 群图像(步骤1630)。例如,可通过以第二分辨率将第一分辨率的每 个子区域内插到内插子区域并且对每个集群中的内插子区域求平均来 生成每个集群图像。接下来,利用其中包括相应的子区域的集群的集 群图像替代图像中的子区域(步骤1640)。该替代产生了处于更高的 第二分辨率的文档复本图像。所述副本图像可在打印机进行打印以产 生所述原始文档的高分辨率打印输出。
图17图示了基于以上处理的示例性高分辨率按需打印系统。首先 将文档数字化为低分辨率图像1701。接着使用OCR引擎来处理图像 1701以产生OCR输出302。接着提供后OCR处理引擎1710来处理低 图像分辨率的OCR输出302并且产生高分辨率的经修改的OCR输出 文档以便进行打印。引擎1710包括作为图3的后OCR处理引擎310 的集群生成软件320和集群处理软件330。因此,可应用诸如图2、4、 5和6中所描述的处理的上述集群操作以及人工识别处理来产生集群 322和经修改的集群332。注意,在集群处理中可使用来自原始文档的 色彩或灰度数据来捕捉原始文档中的图像细节以便呈现高分辨率的集 群图像。与图3中的后OCR处理引擎310有所不同,引擎1710包括 高分辨率内插引擎1712来基于集群处理软件330所产生的集群图像对 图像化的输入文档中的每个图像执行图像内插以产生所需高分辨率的 最终图像1720。
在一个实施方式中,后OCR处理引擎1710可如下进行操作。首 先,集群生成软件320接收并处理具有例如200dpi或300dpi的低分辨 率的OCR输出302以产生集群322。作为选择,集群生成软件320可 被用来从原始文档获取OCR引擎300所生成的边框的剪切图像的色彩 或灰度数据。每个剪切图像的色彩或灰度数据接着被集群生成软件320 用来生成集群322。接下来,集群处理软件330对集群322进行处理以 基于集群形状来表征或修改所述集群以产生OCR精度得以改进的经修 改的集群332。集群处理软件330能够提供人工识别处理,诸如以上所 描述的集群级别的人工识别方法,以对所选择集群图像的OCR字符指 派进行验证或校正,所述所选择集群图像例如孤立集群或其它可疑集 群。还可以对一个或多个所选择的可疑集群应用滑动窗口处理以基于 具有高置信分值的那些集群332的集群图像分割每个所选择的可疑集 群。在聚类处理之后,与最初的集群322相比,经修改的集群332通 常具有改善的置信分值和提高的OCR精度。每个经修改集群332的分 辨率实质上与每个集群322的分辨率相同。
接下来,高分辨率内插引擎1712对每个集群中的每个剪切图像应 用图像内插算法并且产生每个剪切图像的高分辨率剪切图像。可使用 各种内插算法,包括双线性内插算法。结果,所有剪切图像都被转换 为高于内插前的分辨率的分辨率。作为示例,300dpi的剪切图像可被 内插为1200dpi的剪切图像。对于每个集群,计算经内插的剪切图像的 质心并且将所述经内插的剪切图像在其质心对齐。对每个集群的所对 齐的经内插的剪切图像求平均以产生平均图像作为集群图像。由于每 个剪切图像的内插和平均操作,该集群图像具有了比没有进行内插的 集群图像更高的分辨率。高分辨率内插引擎1712接着使用每个高分辨 率集群图像来替代该图像化的输入文档中的所有图像实例以产生高分 辨率文档1720作为输入文档的图像的副本。该复本1720可被发送到 打印机以便将所述文档以所内插的高分辨率进行打印。
图17所示的系统可在通信系统中的一个或多个计算机服务器中 实现。所述网络中的客户端计算机能够向所述一个或多个计算机服务 器发送低分辨率的文档图像来请求所述文档图像的高分辨率副本。所 述一个或多个计算机服务器上的OCR引擎和后OCR引擎对客户端的 文档图像进行处理并且产生高分辨率的副本。所述高分辨率的副本可 通过所述通信网络发送到客户端计算机或者在连接到所述通信网络的 打印机处进行打印。
所公开的和其它实施例以及该说明书中所描述的功能性操作能够 以数字电路或者包括该说明书中所公开的结构及其结构等同物的计算 机软件、固件硬件来实施,或者以它们的一个或多个的组合来实施。 所公开的和其它实施例可作为一个或多个计算机程序产品来实施,即 在计算机可读介质上编码的计算机程序指令的一个或多个模块,以便 由数据处理装置来执行或者控制其操作。所述计算机可读介质可以是 机器可读的存储设备、机器可读的存储基片、存储器设备、影响机器 可读的传播信号的合成物质或它们的一个或多个的组合。术语“数据 处理装置”包含用于处理数据的所有装置、设备和机器,例如包括可 编程处理器、计算机、多个处理器或计算机。除了硬件之外,所述装 置可包括创建所讨论的计算机程序的执行环境的代码,例如构成处理 器固件、协议栈、数据库管理系统和操作系统或它们的一个或多个组 合的代码。传播信号是人工生成的信号,例如机器生成的电、光或电 磁信号,其被生成来对信息进行编码以便传送到适当的接收器装置。
计算机程序(还被称为为程序、软件、软件应用、脚本或代码) 可以以任意形式的编程语言来书写,包括编译的或解释性语言,并且 其可以以任意形式被部署,包括作为独立程序或作为模块、组件、子 程序或适于在计算环境中使用的其它单元。计算机程序无需对应于文 件系统中的文件。程序可存储在保存其它程序或数据(例如,存储在 标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨 论的程序的单个文件中、或者多个协同文件(例如,存储一个或多个 模块、子程序或代码部分的文件)中。计算机程序可被部署为在一个 计算机或位于一个地点或分布在多个地点并且通过通信网络互连的多 个计算机上执行。
该说明书中所描述的处理和逻辑流程可由执行一个或多个计算机 程序以通过对输入数据进行操作并产生输出来执行功能的一个或多个 可编程处理器来执行。所述处理和逻辑流程还可以由例如FPGA(现场 可编程阵列)和ASIC(专用集成电路)的特殊功能的逻辑电路来执 行,并且装置也可以作为所述特殊功能的逻辑电路来实现。
作为示例,适合于执行计算机程序的处理器包括通用和特殊用途 的微处理器,以及任意类型的数字计算机的任意的一个或多个处理器。 通常,处理器将从只读存储器随机存取存储器或这二者接收指令和 数据。计算机的基本元件为用于执行指令的处理器以及用于存储指令 和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个 用于存储数据的大容量存储设备,例如磁、磁-光盘或光盘,或者可操 作地耦合到所述一个或多个大容量存储设备以便从其接收数据或向其 发送数据或这二者。然而,计算机无需具有这样的设备。适合于存储 计算机程序指令和数据的计算机可读介质包括所用形式的非易失性存 储器、媒体和存储器设备,例如包括:半导体存储器设备,例如EPROM、 EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁-光盘;以 及CD-ROM和DVD-ROM盘。所述处理器和存储器可由特殊用途的逻 辑电路作为补充或结合于其中。
为了提供与用户的交互,所公开的实施例可在计算机上实施,所 述计算机具有用于向用户显示信息的例如CRT(阴极射线管)或LCD (液晶显示器)监视器的显示设备以及键盘和例如鼠标轨迹球的指 示设备,用户利用其能够对计算机提供输入。也可使用其它类型的设 备来提供与用户的交互;例如,提供给用户的反馈可以为任何形式的 感应反馈,例如视觉反馈、听觉反馈或触觉反馈,并且来自用户的输 入可以以任意形式被接收,包括声音、语音或触碰输入。
所公开的实施例可以在包括例如作为数据服务器的后端组件,或 者包括例如应用服务器的中间组件,或者包括例如客户端计算机的前 端组件,或者一个或多个这样的后端、中间或前端组件的任意集合的 计算系统中实施,所述客户端计算机具有图形用户界面或Web浏览器, 用户通过其能够与这里所公开的实施方式进行交互。所述系统的组件 可通过任意形式或例如通信网络的数字数据通信介质进行互连。通信 网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
用于实施所公开实施例的系统可包括客户端计算机(客户端)和 服务器计算机(服务器)。客户端和服务器通常彼此远离并且典型地 通过通信网络进行交互。客户端和服务器的关系可通过在各自计算机 上运行并且彼此具有客户端-服务器关系的计算机程序而发生。
图18示出了实施OCR和后OCR处理的示例性计算机系统。该系 统包括通信网络1800,所述通信网络1800使得连接到其的诸如计算机 之类的通信设备能够进行通信。例如,通信网络1800可以是单个计算 机网络,诸如企业内的计算机网络,或者互连的计算机网络的网络, 诸如因特网。一个或多个OCR服务器1810连接到通信网络1800并且 提供(1)用于OCR处理的一个或多个OCR引擎以及(2)用于该说 明书中所描述的后OCR处理的一个或多个后OCR处理引擎。用于OCR 处理的一个或多个OCR引擎还可以置于与提供一个或多个后OCR处 理引擎的一个或多个计算机服务器不同的计算机服务器上。在操作中, 一个或多个客户端计算机(例如,客户端1801和1802)能够为了OCR 服务而使用通信网络1800来远程访问OCR服务器1810。客户端1801 例如可以向OCR服务器1810发送对图像化文档进行OCR处理的请求。 客户端1801将图像化文档发送给OCR服务器。在接收了图像化文档 之后,OCR服务器1801将所述图像化文档导引到一个或多个用于OCR 处理的OCR引擎。来自OCR引擎的OCR输出接着被发送到后OCR 处理引擎以便进行进一步处理来产生经修改的OCR输出。OCR服务器 1810接着将经修改的OCR输出发送到客户端1801。图16和17中所 描述的高分辨率打印还能够在图18的系统中实施。
图19示出了基于以上所描述的OCR和后OCR处理提供在线OCR 服务的示例性计算机系统。该系统使用一个或多个OCR存储服务器 1920来存储所选择文档图像的OCR输出的可搜索库,所述所选择的文 档图像例如所选择的书本或文章。用户能够访问OCR存储服务器1920 来搜索并检索感兴趣的特定文档的OCR文本文档。所述系统包括通信 网络1900,通信网络1900使得连接到其的诸如计算机之类的通信设备 能够进行通信。例如,通信网络1900可以是诸如企业内的计算机网络 的单个计算机网络或者诸如因特网之类的互连计算机网络的网络。一 个或多个OCR服务器1910连接到通信网络1900并且提供(1)用于 OCR处理的一个或多个OCR引擎以及(2)用于该说明书中所描述的 后OCR处理的一个或多个后OCR处理引擎。用于OCR处理的一个或 多个OCR引擎还可以置于与提供一个或多个后OCR处理引擎的一个 或多个计算机服务器不同的计算机服务器上。存储由OCR服务器1910 上的OCR处理和后OCR处理可搜索的预处理OCR输出的一个或多个 OCR存储服务器1920也连接到通信网络1900。在图19中的系统中提 供系统管理控制来控制OCR服务器1910上的OCR和后OCR处理以 对OCR存储服务器1920提供OCR输出。对OCR存储服务器1920中 的预先处理的OCR输出进行索引并编制目录以便进行搜索和检索。在 从OCR服务器1910接收到所选择文档的新的OCR输出时,OCR存储 服务器1920中的数据库被更新。在操作中,一个或多个客户端计算机 (例如,客户端1901和1902)能够使用通信网络1900对OCR存储服 务器1920进行远程搜索或访问来检索所需的OCR输出。例如,客户 端1901能够而向存储服务器1920发送对图像化文档的OCR输出的请 求,或者能够针而访问存储服务器1920以对数据库搜索所述图像化文 档的OCR输出。如果在存储服务器1920中存在所请求的OCR输出, 则服务器1920将所述OCR输出发送到客户端1901。否则,通知客户 端1901当前无法获得所请求的OCR输出。服务器1920能够保持OCR 请求的记录,并且系统管理控制能够基于所述请求记录对OCR和后 OCR处理进行控制以便对所选择的新文档图像进行处理,所述新文档 图像由用户请求OCR服务但是它们的OCR输出并不存储在服务器 1920上。图16和17中所描述的高分辨率打印还可以在图19中的系统 中实施。
虽然该说明书包括许多特定内容,但是这些并不构成任意发明或 所要求的范围的限制,而是作为特定实施例的特定特征的描述。在本 说明书中在单独实施例环境下所描述的某些特征还可以在单个实施例 中组合实施。相反,在单个实施例环境下描述的各种特征也可以分散 地或者以任意适当的子组合在多个实施例中实施。此外,以上可将特 征描述为以某些组合发生作用,甚至最初要求为这样,但是来自所要 求的组合的一个或多个特征在一些情况下可从所述组合中去除,并且 所要求的组合可被指向子组合或子组合的变化形式。
类似地,虽然操作在附图中以特定顺序所描绘,但是这不应当被 理解为要求以所示的特定顺序或连续顺序执行这些操作,或者执行所 有所图示的操作来实现所需的结果。在某些情形中,多任务和并行处 理是有利的。此外,以上所描述的实施例中的各种系统组件的分隔不 应当被理解为要求在所有实施例中进行这样的分隔,并且应当理解的 是,所描述的程序组件和系统通常能够在单个软件产品中集成在一起 或者被封装到多个软件产品中。
由此,已经描述了特定实施例。其它实施例处于所附权利要求的 范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈