一种单据信息的识别方法及系统与流程

文档序号:16671773发布日期:2019-01-18 23:37阅读:241来源:国知局
一种单据信息的识别方法及系统与流程

本公开涉及一种单据信息的识别方法及系统。



背景技术:

准确地识别各种单据上记载的信息是不简单的。

因此,存在对新技术的需求。



技术实现要素:

本公开的一个目的是提供一种单据信息的识别方法及系统。

根据本公开的第一方面,提供了一种单据信息的识别方法,包括:基于所述单据的影像和预先训练的第一模型,识别所述单据上的一个或多个区域中的每个区域,所述一个或多个区域中的每个区域与所述单据上记载的全部或部分信息相关联,其中,所述第一模型是基于神经网络的模型;切割并获取所述一个或多个区域中的每个区域的影像,所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的;以及基于所述一个或多个区域中的每个区域的影像、以及预先训练的第二模型,识别所述一个或多个区域中的每个区域中的字符,从而确定所述单据上记载的信息,其中,所述第二模型是基于神经网络的模型。

根据本公开的第二方面,提供了一种单据信息的识别系统,包括:第一模型,所述第一模型是基于神经网络的模型;第二模型,所述第二模型是基于神经网络的模型;以及一个或多个第一装置,所述一个或多个第一装置被配置为:基于所述单据的影像和所述第一模型,识别所述单据上的一个或多个区域中的每个区域,所述一个或多个区域中的每个区域与所述单据上记载的全部或部分信息相关联;切割并获取所述一个或多个区域中的每个区域的影像,所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的;以及基于所述一个或多个区域中的每个区域的影像、以及预先训练的第二模型,识别所述一个或多个区域中的每个区域中的字符,从而确定所述单据上记载的信息。

根据本公开的第三方面,提供了一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置:基于所述单据的影像和预先训练的第一模型,识别所述单据上的一个或多个区域中的每个区域,所述一个或多个区域中的每个区域与所述单据上记载的全部或部分信息相关联,其中,所述第一模型是基于神经网络的模型;切割并获取所述一个或多个区域中的每个区域的影像,所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的;以及基于所述一个或多个区域中的每个区域的影像、以及预先训练的第二模型,识别所述一个或多个区域中的每个区域中的字符,从而确定所述单据上记载的信息,其中,所述第二模型是基于神经网络的模型。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1是示意性地示出适用于本公开的一些实施例的单据的示例的至少一部分的示意图。

图2a和图2b是分别示意性地示出根据本公开的一些实施例的识别单据上记载的信息的方法的至少一部分的框图。

图3是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的方法的至少一部分的流程图。

图4是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的系统的至少一部分的结构图。

图5是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的系统的至少一部分的结构图。

图6是示意性地示出适用于本公开的一些实施例的单据的影像的一个实例的至少一部分的示意图。

图7a是图6所示的单据中的一个被识别出的区域的示意图。

图7b是图7a所示的区域经过倾斜校正的示意图。

图7c是图6所示的单据中的一个被识别出的区域的示意图。

图7d是图7c所示的区域经过倾斜校正的示意图。

注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

具体实施方式

以下将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。在下面描述中,为了更好地解释本公开,阐述了许多细节,然而可以理解的是,在没有这些细节的情况下也可以实践本公开。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

本公开提供了一种单据信息的识别方法,包括:基于所述单据的影像和预先训练的第一模型,识别所述单据上的一个或多个区域中的每个区域,所述一个或多个区域中的每个区域与所述单据上记载的全部或部分信息相关联,其中,所述第一模型是基于神经网络的模型;切割并获取所述一个或多个区域中的每个区域的影像,所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的;以及基于所述一个或多个区域中的每个区域的影像、以及预先训练的第二模型,识别所述一个或多个区域中的每个区域中的字符,从而确定所述单据上记载的信息,其中,所述第二模型是基于神经网络的模型。

在一些实施例中,通过所述第二模型,基于所述一个或多个区域中的每个区域的影像以及其在整张单据中的位置,来识别所述一个或多个区域中的每个区域中的字符。

应当理解,本公开所称的“单据”是指在其上记载有信息的实体,这些信息以一些模式被布置在单据上,并由中文字、外文字、数字、符号、图形等中的一种或多种形式来承载。本公开所称的“单据”的一些具体示例可以是,发票、账单、税单、收据、购物清单、餐饮小票、保险单、报销单、存款流水单、信用卡对账单、快递单、行程单、车票、登机牌、专利公开文本的信息页、选票、调查问卷、评价表、签到表、申请表等各种由人工和/或机器填写的单据。本领域技术人员可以理解,本公开所称的“单据”不限于本文所列出的这些具体示例,而且不限于与金融或商业有关的票据,也不限于其上带有公章的单据,可以是带有打印字体的单据也可以是带有手写字体的单据,可以是具有规定和/或通用格式的单据也可以不是具有规定和/或通用格式的单据。

识别出单据上的一个或多个区域中的每个区域中的字符,就可以根据这些字符所承载的信息来确定单据上记载的信息。例如,对于如图1所示的单据100,先基于预先训练的第一模型识别出单据100上的区域110、120、130、140,其中每个区域与单据100上记载的一种信息相关联;切割并获取所述单据100上每个区域110、120、130、140的影像;然后基于预先训练的第二模型识别出各个区域110、120、130、140中的字符,从而就能确定单据100上的每个区域中所记载的信息的内容。例如,每个区域至少包括该区域中所包含的字符的最小边界框所包围的区域。在一些实施例中,输入到预先训练的第二模型的是所述一个或多个区域中的每个区域的影像以及其在整张单据中的位置,从而通过第二模型来识别出一个或多个区域中的每个区域中的字符。

本领域技术人员可以理解,图1中示出的单据100仅仅是示意性的,其不能用来限制本公开。虽然图1中仅示出了4个区域,但本公开的单据上的区域显然还可以更少或者更多。虽然图1所示出的区域110、120、130、140的边界均是以平行于水平线的矩形界定的,但其边界还可以是由相对于水平线有倾斜的矩形、平行四边形、任意四边形等来界定的,或者是由圆形、椭圆形、其他多边形(例如三角形、梯形、任意多边形等)、以及不规则形状等来界定的。本公开的单据上的任一个区域均可以布置在单据中的任何位置,例如,在图1中,区域110与区域120可以是距离较近的甚至是相邻的,区域130可以是位于单据100的边缘的,区域140比起其他区域可以是较小的。当然,本领域技术人员还可以理解,本公开的单据上的各个区域的布置模式、位置关系、尺寸大小等都不限于图1所示的模式,这与单据的具体情况有关,图1所示的单据100仅仅是一个示例。

单据的影像是指以可视化方式呈现的单据,例如单据的图片、视频等。对单据上的一个或多个区域中的每个区域进行识别包括识别出区域的边界。例如,在区域的边界以平行于水平线的矩形来界定的情况下,可以通过确定该矩形的至少两个顶点来确定该区域。在区域的边界以相对于水平线有倾斜的矩形来界定的情况下,可以通过确定该矩形的至少三个顶点来确定该区域。可以使用基于r-cnn的对象检测方法、基于yolo的对象检测方法、基于原始检测目标的文本检测(例如基于字符、基于单词、基于文本行等)、基于目标边界框的形状的文本检测(水平或接近水平的文本检测、多导向的文本检测等)。

在一些实施例中,需要将每个区域的位置输入到第二模型以识别区域中的字符。区域的位置可以是能够表示这个区域在单据中的位置的任何形式,例如,区域的位置可以是区域的顶点(一个或多个)在单据中的坐标(绝对或相对坐标),也可以是区域的顶点(一个或多个)在单据中的坐标(绝对或相对坐标)和边长(一个或多个),还可以是区域的中心(一个或多个)在单据中的坐标(绝对或相对坐标)和半径(一个或多个)。每个区域中的字符可以是中文字、外文字、数字、符号、图形等中的一种或多种。

在一些实施例中,将一个或多个区域中的每个区域的影像输入到第二模型,以识别该区域中的字符。所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的。以上界定的标准是根据整张单据在影像中处于水平或倾斜状态来决定的,当单据呈现倾斜或扭曲等状态时,通过第一模型识别出的一个或多个区域中的每个区域也会呈现出水平或倾斜等不同状态。

在一些情况下,例如,在区域的边界以相对于水平线有倾斜的矩形来界定的情况下,还可以对各个区域的影像进行倾斜校正,以使得输入到第二模型的区域的影像为经过倾斜校正后的影像。例如,可以通过确定用来界定区域的边界的相对于水平线有倾斜的矩形相对于水平线的所倾斜的角度,然后将该区域的影像旋转该角度,以使得用来界定区域的边界的矩形平行于水平线,从而进行倾斜校正。所述倾斜角度可以根据界定区域边界的矩形顶点坐标计算得到。

图6示意性地示出了适用于本公开的一个单据的影像的实例。根据以上描述的内容,单据的影像被输入到第一模型,第一模型识别出其中的一个或多个区域610至690,其中被识别出的每个区域以附图标记610至690所指示的框界定。本领域技术人员可以理解,第一模型还可以识别出比在附图中被框出的区域更多或更少的区域。

第一模型在识别各个区域时,同时还可以识别出与各个区域相关联的信息的类型。例如,与区域610相关联的信息为商户的名称和编号,与区域620相关联的信息为票据生成的时间,与区域630、640相关联的信息为消费的明细与各项金额,与区域650相关联的信息为消费金额的小计,与区域660相关联的信息为税费,与区域670相关联的信息为消费金额的总计,与区域680相关联的信息为收款金额,与区域690相关联的信息为找零金额。

切割并获取区域610至690中的每个区域的影像,然后可以将区域610至690中的每个区域的影像依次输入到第二模型,以识别该区域中的字符。可以将如图7a所示的区域610的影像或者如图7c所示的区域650的影像输入到第二模型以识别该区域中的字符。此外,由于用于界定区域610至690的框相对于水平线有倾斜,在一些实施例中,还可以对各个区域的影像进行倾斜校正后再输入到第二模型。例如,图7a所示的区域610的影像以及图7c所示的区域650的影像中,获取用来界定区域边界的相对于水平线有倾斜的矩形顶点坐标,通过计算所述矩形相对于水平线所倾斜的角度,然后将该区域的影像旋转该角度,以使得用来界定区域的边界的矩形平行于水平线,从而进行倾斜校正。之后,可以将如图7b所示的经过倾斜校正的区域610的影像或者如图7d所示的经过倾斜校正的区域650的影像输入到第二模型以识别该区域中的字符。

之后,可以根据识别出的各个区域中的字符以及与各个区域相关联的信息的类型,来确定单据上记载的信息。在本实施例中,即为最终确定相关单据区域610的商户的名称文字和编号数字内容,区域620的单据生成时间数字内容,区域630、640的消费明细和各项金额数字内容,区域650消费金额小计的数字内容,区域660税费的数字内容,区域670消费金额总计的数字内容,区域680收款金额的数字内容,区域690找零金额的数字内容的信息。以上识别信息可以直接显示在单据影像的各相关区域上,也可以通过表单或者分段文字形式额外输出显示。

本公开利用基于神经网络的模型,先识别出待识别的单据的影像中一个或多个区域,再识别出每个区域中的字符,从而来识别单据上记载的信息,如此,能够高效并准确地识别出各种单据上记载的信息。例如,对于分辨率不高的、歪斜的、字迹模糊的、有污损的、纸张褶皱的、填写(由人工和/或机器)位置不规范等的单据的影像,利用本公开的方法和下文将描述的系统均可以进行识别。

第一模型可以通过如下过程得到:对第一单据影像样本训练集中的每个单据影像样本进行标注处理,以标注出每个单据影像样本中的一个或多个区域中的每个区域,一个或多个区域中的每个区域与单据影像样本中的全部或部分信息相关联;以及通过经过标注处理的第一单据影像样本训练集,对第一神经网络进行训练,以得到第一模型。例如,图6所示的可以是一个经标注的单据的影像的实例。在标注出各个区域610至690时,还可以标注出各个区域610至690所关联的信息的类型。在一些实施例中,第一神经网络是基于深度残差网络(resnet)建立的。

对第一神经网络进行训练还可以包括:基于第一单据影像样本测试集,对经过训练的第一神经网络的输出准确率进行测试;若输出准确率小于预定的第一阈值,则增加第一单据影像样本训练集中的单据影像样本的数量,所增加的单据影像样本中的每个单据影像样本均经过标注处理;以及通过增加了单据影像样本的数量之后的第一单据影像样本训练集,重新对第一神经网络进行训练。然后基于第一单据影像样本测试集对重新训练过的第一神经网络的输出准确率再次进行测试,直到第一神经网络的输出准确率满足要求即不小于预定的第一阈值为止。如此,输出准确率满足要求的第一神经网络可以用作上述识别过程中的经过训练的第一模型。

第二模型可以通过如下过程得到:对第二单据影像样本训练集中的每个单据影像样本进行标注处理,以标注出每个单据影像样本中的一个或多个区域中的每个区域以及每个区域中的字符,一个或多个区域中的每个区域与单据影像样本中的全部或部分信息相关联;以及通过经过标注处理的第二单据影像样本训练集,对第二神经网络进行训练,以得到第二模型。在一些实施例中,基于第二单据影像样本训练集中的单据的影像以及单据上的一个或多个区域中的每个区域的位置,对第二神经网络进行训练以得到第二模型。在一些实施例中,基于第二单据影像样本训练集中的单据上的一个或多个区域中的每个区域的影像,对第二神经网络进行训练以得到第二模型。在这些实施例的一些情况下,例如,在区域的边界以相对于水平线有倾斜的矩形来界定的情况下,输入到第二神经网络以进行训练的区域的影像为经过倾斜校正后的影像。例如,可以通过确定用来界定区域的边界的相对于水平线有倾斜的矩形相对于水平线的所倾斜的角度,然后将该区域的影像旋转该角度,以使得用来界定区域的边界的矩形平行于水平线,从而进行倾斜校正。所述倾斜角度可以根据界定区域边界的矩形顶点坐标计算得到。在一些实施例中,第二神经网络是基于递归神经网络(rnn)建立的。

对第二神经网络进行训练还可以包括:基于第二单据影像样本测试集,对经过训练的第二神经网络的输出准确率进行测试;若输出准确率小于预定的阈值,则增加第二单据影像样本训练集中的单据影像样本的数量,所增加的单据影像样本中的每个单据影像样本均经过标注处理;以及通过增加了单据影像样本的数量之后的第二单据影像样本训练集,重新对第二神经网络进行训练。然后基于第二单据影像样本测试集对重新训练过的第二神经网络的输出准确率再次进行测试,直到第二神经网络的输出准确率满足要求即不小于预定的阈值为止。如此,输出准确率满足要求的第二神经网络可以用作上述识别过程中的经过训练的第二模型。

本领域技术人员可以理解,用于训练第一神经网络的第一单据影像样本训练集和用于训练第二神经网络的第二单据影像样本训练集,可以是相同的集合也可以是不同的集合,即可以包括完全相同的单据影像样本也可以包括不相同或不完全相同的单据影像样本。用于测试第一神经网络的第一单据影像样本测试集与用于测试第二神经网络的第二单据影像样本测试集,可以是相同的集合也可以是不同的集合,即可以包括完全相同的单据影像样本也可以包括不相同或不完全相同的单据影像样本。用于在测试中判断第一神经网络的输出准确率是否满足要求的预定的第一阈值与用于在测试中判断第二神经网络的输出准确率是否满足要求的预定的第二阈值,可以是相同的值也可以是不同的值。第一和第二单据影像样本训练集中的单据影像样本的数量,以及第一和第二单据影像样本测试集中的单据影像样本的数量,均可以根据需要来选择。经过识别后的单据的影像,也可以作为单据影像样本加入到上述任意一个或多个训练集或测试集中去,从而使得用于训练和/或测试的单据影像样本的数量可以不断地增多,使得经过训练的模型的精度提高。

图2a和图2b是分别示意性地示出根据本公开的一些实施例的识别单据上记载的信息的方法的至少一部分的框图。基于待识别的单据的影像210和预先训练的第一模型220,来识别单据上的一个或多个区域中的每个区域230;基于单据上切割获取的一个或多个区域中的每个区域230的影像、以及预先训练的第二模型250,来识别单据上的一个或多个区域中的每个区域中的字符260;在一些实施例中,基于所述一个或多个区域中的每个区域230的影像和第一模型220,还识别与一个或多个区域中的每个区域相关联的信息的信息类型240;以及基于识别出的与每个区域相关联的信息的信息类型240、以及识别出的一个或多个区域中的每个区域中的字符260,来确定单据上记载的信息;在一些实施例中,基于所述一个或多个区域中的每个区域230的影像以及其在整张单据中的位置,来识别所述一个或多个区域中的每个区域中的字符260。

在一些实施例中,基于待识别的单据的影像210、单据上的一个或多个区域中的每个区域230、以及预先训练的第二模型250,来识别单据上的一个或多个区域中的每个区域中的字符260。在一些实施例中,基于单据的影像210和第一模型220,还识别与一个或多个区域中的每个区域相关联的信息的信息类型240;以及基于识别出的与每个区域相关联的信息的信息类型240、以及识别出的一个或多个区域中的每个区域中的字符260,来确定单据上记载的信息。在一些实施例中,基于整张单据的影像以及一个或多个区域中的每个区域230的位置,来识别单据上的一个或多个区域中的每个区域中的字符260。

与每个区域相关联的信息的信息类型可以是一种或多种类型。例如,当单据为某种申请表时,在一种情况下,与单据中的一个区域相关联的信息的信息类型可以是申请人姓名,与单据中的另一个区域相关联的信息的信息类型可以是身份证号码;在另一种情况下,与单据中的某个区域相关联的信息的信息类型可以是申请人姓名和身份证号码。例如,当单据为某种发票时,在一种情况下,与单据中的一个区域相关联的信息的信息类型可以是发票代号,与单据中的另一个区域相关联的信息的信息类型可以是税前金额;在另一种情况下,与单据中的某个区域相关联的信息的信息类型可以是发票代号和税前金额。与一个或多个区域中的不同区域相关联的信息的信息类型可以相同也可以不同。例如,当单据为购物清单时,在一种情况下,与多个不同的区域先关联的信息的信息类型都可以是所购买的商品。

图3是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的方法的至少一部分的流程图。在该实施例中,本公开的方法包括:基于单据的影像和预先训练的第一模型,识别单据上的一个或多个区域中的每个区域,以及与一个或多个区域中的每个区域相关联的信息的信息类型(310);基于所述一个或多个区域中的每个区域的影像、以及预先训练的第二模型,识别一个或多个区域中的每个区域中的字符(320);以及,基于识别出的与一个或多个区域中的每个区域相关联的信息的信息类型、以及识别出的一个或多个区域中的每个区域中的字符,来确定单据上记载的信息(330)。

在这些实施例中,第一模型可以通过如下过程得到:对第一单据影像样本训练集中的每个单据影像样本进行标注处理,以标注出每个单据影像样本中的一个或多个区域中的每个区域以及与每个区域相关联的信息的信息类型,一个或多个区域中的每个区域与单据影像样本中的全部或部分信息相关联;以及通过经过标注处理的第一单据影像样本训练集,对第一神经网络进行训练,以得到第一模型。还可以基于第一单据影像样本测试集对训练过的第一神经网络的输出准确率进行测试,如果准确率不满足要求,即小于预定的第一阈值,则增加第一单据影像样本训练集中单据影像样本的数量之后重新对第一神经网络进行训练,直到第一神经网络的输出准确率满足要求即不小于预定的第一阈值为止。如此,输出准确率满足要求的第一神经网络可以用作上述识别过程中的经过训练的第一模型。

在一些实施例中,在识别单据上的一个或多个区域中的每个区域之前,本公开的方法还包括:基于单据的影像和预先训练的第三模型,识别单据的类别,其中,第三模型是基于神经网络的模型;以及根据识别出的类别来选择将要使用的第一模型和/或第二模型。在一些实施例中,单据的类别至少包括单据的语种。例如,可以基于单据的影像和预先训练的第三模型来识别承载单据上记载的信息的语言的种类可以为以下各项中的一项或多项:中文、英文、日文等语言,摩尔斯码、图形文字、ascii码等以某种编码形式呈现的语言等。然后根据该识别结果来选择将要使用的第一模型和/或第二模型。在这些情况下,针对不同的语种,可能预先训练有不同的第一模型和/或第二模型,这有助于模型精度的提高。

第三模型可以通过如下过程得到:对第三单据影像样本训练集中的每个单据影像样本进行标注处理,以标注出每个单据影像样本的类别;以及通过经过标注处理的第三单据影像样本训练集,对第三神经网络进行训练,以得到第三模型。在一些实施例中,第三神经网络是基于深度卷积神经网络(cnn)建立的。对第三神经网络进行训练还包括:基于第三单据影像样本测试集,对经过训练的第三神经网络的输出准确率进行测试;若输出准确率小于预定的阈值,则增加第三单据影像样本训练集中的单据影像样本的数量,所增加的单据影像样本中的每个单据影像样本均经过标注处理;以及通过增加了单据影像样本的数量之后的第三单据影像样本训练集,重新对第三神经网络进行训练。然后基于第三单据影像样本测试集对重新训练过的第三神经网络的输出准确率再次进行测试,直到第三神经网络的输出准确率满足要求即不小于预定的第三阈值为止。如此,输出准确率满足要求的第三神经网络可以用作上述识别过程中的经过训练的第三模型。

本领域技术人员可以理解,第三单据影像样本训练集与第一和第二单据影像样本训练集,可以是相同的集合也可以是不同的集合。第三单据影像样本测试集与第一和第二单据影像样本测试集,可以是相同的集合也可以是不同的集合。第三阈值与第一和第二阈值,可以是相同的值也可以是不同的值。第三单据影像样本训练集和第三单据影像样本测试集中的单据影像样本的数量,均可以根据需要来选择。经过识别后的单据的影像,也可以作为单据影像样本加入到上述任意一个或多个训练集或测试集中去,从而使得用于训练和/或测试的单据影像样本的数量可以不断地增多,使得经过训练的模型的精度提高。

图4是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的系统400的至少一部分的结构图。本领域技术人员可以理解,系统400只是一个示例,不应将其视为限制本公开的范围或本文所描述的特征。在该示例中,系统400可以包括第一模型410、第二模型420、以及一个或多个第一装置430。其中,第一模型410是基于神经网络的模型;第二模型420是基于神经网络的模型;一个或多个第一装置430被配置为:基于单据的影像和第一模型410,识别单据上的一个或多个区域中的每个区域,一个或多个区域中的每个区域与单据上记载的全部或部分信息相关联;切割并获取所述一个或多个区域中的每个区域的影像,所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的;以及基于所述一个或多个区域中的每个区域的影像、以及第二模型420,识别一个或多个区域中的每个区域中的字符,从而确定单据上记载的信息。在一些实施例中,一个或多个第一装置430被配置为:基于单据的影像、一个或多个区域中的每个区域、以及第二模型420,来识别单据上的一个或多个区域中的每个区域中的字符。

所述一个或多个区域中的每个区域的影像是由平行于水平线的矩形或相对于水平线有倾斜的矩形来界定的,并且,所述一个或多个第一装置430还被配置为:响应于相对于水平线有倾斜的矩形,通过所述第二模型420,基于经过倾斜校正的每个区域的影像,来识别所述一个或多个区域中的每个区域中的字符。

根据以上描述可知,一个或多个第一装置430还可以被配置为:基于单据的影像和第一模型,还识别与一个或多个区域中的每个区域相关联的信息的信息类型;以及基于识别出的与一个或多个区域中的每个区域相关联的信息的信息类型、以及识别出的一个或多个区域中的每个区域中的字符,来确定单据上记载的信息。本公开的识别单据上记载的信息的系统400还可以包括基于神经网络的第三模型(未示出)。一个或多个第一装置430还可以被配置为:在识别单据上的一个或多个区域中的每个区域之前,基于单据的影像和第三模型,识别单据的类别;以及根据识别出的类别来选择将要使用的第一模型和/或第二模型。

本领域技术人员可以理解,以上描述的关于一个或多个第一装置430的各种操作,可以被配置为均在一个第一装置430中进行,也可以被配置为分布在多个第一装置430中进行。一个或多个第一装置430中的每一个均可以是计算装置、存储装置、或同时具备计算与存储功能的装置。

虽然图4所示的系统400中,第一模型410和第二模型420与一个或多个第一装置430是分别用单独的矩形框表示的,但第一模型410和第二模型420也可以是存储在一个或多个第一装置430中的,例如第一模型410和第二模型420均存储在同一个第一装置430中,或者第一模型410和第二模型420分别存储在不同的第一装置430中,或者第一模型410和第二模型420中任意一个的一部分存储在一个第一装置430中、其他部分存储在其他的第一装置430中;当然,第一模型410和第二模型420也可以不存储在一个或多个第一装置430中,而是存储在其他的装置中。

对于识别出的单据上记载的信息,可以用于进一步的下游处理。下游处理可以通过一个或多个第二装置(可参见图5所示的520)进行。一个或多个第二装置可以被配置为:将单据的影像传送给一个或多个第一装置430;以及从一个或多个第一装置430获取被数字化了的识别出的单据上记载的信息。一个或多个第二装置获取的这些被数字化了的信息,可以用于下游处理。例如,对于识别出的考勤表上的信息,一个或多个第二装置可以将其用来统计出勤率等;对于识别出的餐饮小票上的信息,一个或多个第二装置可以将其记入消费记录等。

本领域技术人员可以理解,将单据的影像传送给一个或多个第一装置430的第二装置,与从一个或多个第一装置430获取被数字化了的信息的第二装置,可以是相同的装置也可以是不同的装置。

图5是示意性地示出根据本公开的一些实施例的识别单据上记载的信息的系统500的至少一部分的结构图。系统500包括一个或多个第一装置510和一个或多个第二装置520,其中一个或多个第一装置510与一个或多个第二装置520通过网络530连接,一个或多个第一装置510中的每一个与其他一个或多个第一装置510、或者每一个的一个元件与其他一个或多个元件,以及一个或多个第二装置520中的每一个与其他一个或多个第二装置520、或者每一个的一个元件与其他一个或多个元件,也可以通过网络530连接。

一个或多个第一装置510中的每一个均可以是计算装置、存储装置、或同时具备计算与存储功能的装置。一个或多个第一装置510中的每一个可以含有一个或多个处理器511、一个或多个存储器512、以及通常存在于计算机等装置中的其他组件。一个或多个第一装置510中的一个或多个存储器512中的每一个可以存储可由一个或多个处理器511访问的内容,包括可以由一个或多个处理器511执行的指令513、以及可以由一个或多个处理器511来检索、操纵或存储的数据514。

指令513可以是将由一个或多个处理器511直接地执行的任何指令集,诸如机器代码,或者间接地执行的任何指令集,诸如脚本。本文中的术语“指令”、“应用”、“过程”、“步骤”和“程序”在本文中可以互换使用。指令513可以存储为目标代码格式以便由一个或多个处理器511直接处理,或者存储为任何其他计算机语言,包括按需解释或提前编译的独立源代码模块的脚本或集合。指令513可以包括引起诸如一个或多个第一装置510的一个或多个计算装置来充当第一、第二和/或第三神经网络的指令。本文其他部分更加详细地解释了指令513的功能、方法和例程。

一个或多个存储器512可以是能够存储可由一个或多个处理器511访问的内容的任何临时性或非临时性计算机可读存储介质,诸如硬盘驱动器、存储卡、rom、ram、dvd、cd、usb存储器、能写存储器和只读存储器等。一个或多个存储器512中的一个或多个可以包括分布式存储系统,其中指令513和/或数据514可以存储在可以物理地位于相同或不同的地理位置处的多个不同的存储装置上。一个或多个存储器512中的一个或多个可以经由如图5中所示出的网络530连接至一个或多个第一装置510,和/或可以直接地连接至或并入一个或多个第一装置510中的任何一个中。

一个或多个处理器511可以根据指令513来检索、存储或修改数据514。存储在一个或多个存储器512中的数据514可以包括待识别的单据的影像、各种单据影像样本集、用于第一、第二和/或第三神经网络的参数等。其他不与单据的影像或神经网络相关联的数据也可以被存储在一个或多个存储器512中。举例来说,虽然本文所描述的主题不受任何特定数据结构限制,但是数据514还可能存储在计算机寄存器(未示出)中,作为具有许多不同的字段和记录的表格或xml文档存储在关系型数据库中。数据514可以被格式化为任何计算装置可读格式,诸如但不限于二进制值、ascii或统一代码。此外,数据514可以包括足以识别相关信息的任何信息,诸如编号、描述性文本、专有代码、指针、对存储在诸如其他网络位置处等其他存储器中的数据的引用或者被函数用于计算相关数据的信息。

一个或多个处理器511可以是任何常规处理器,诸如市场上可购得的中央处理单元(cpu)、图形处理单元(gpu)等。可替换地,一个或多个处理器511还可以是专用组件,诸如专用集成电路(asic)或其他基于硬件的处理器。虽然不是必需的,但是一个或多个第一装置510可以包括专门的硬件组件来更快或更有效地执行特定的计算过程,诸如对单据的影像进行图像处理等。

虽然图5中示意性地将一个或多个第一装置510及一个或多个处理器511、一个或多个存储器512和其他元件示出在同一个框内,但是第一装置、处理器、计算机、计算装置或存储器可以实际上包括可能存在于同一个物理壳体内或不同的多个物理壳体内的多个处理器、计算机、计算装置或存储器。例如,一个或多个存储器512中的一个可以是位于与一个或多个第一装置510中的每一个的壳体不同的壳体中的硬盘驱动器或其他存储介质。因此,引用处理器、计算机、计算装置或存储器应被理解成包括引用可能并行操作或可能非并行操作的处理器、计算机、计算装置或存储器的集合。例如,一个或多个第一装置510可以包括作为负载平衡的服务器群来操作的服务器计算装置。另外,虽然以上描述的一些功能被指示为在具有单个处理器的单个计算装置上发生,但是本文所描述的主题的各个方面均可以由多个第一装置510例如通过网络530相互通信来实现。

一个或多个第一装置510中的每一个可以位于网络530的不同节点处,并且能够直接地或间接地与网络530的其他节点通信。虽然图5中仅示出了第一和第二装置510、520,但本领域技术人员可以理解,系统500还可以包括其他装置,其中每个不同的装置均位于网络530的不同节点处。可以使用各种协议和系统将网络530和本文所描述的系统中的组成部分(例如,第一和第二装置,第一、第二和第三模型等)互连,以使得网络530可以是互联网、万维网、特定内联网、广域网或局域网的一部分。网络530可以利用诸如以太网、wifi和http等标准通信协议、对于一个或多个公司来说是专有的协议、以及前述协议的各种组合。虽然当如上所述来传递或接收信息时获得了某些优点,但是本文所描述的主题并不限于任何特定的信息传递方式。

一个或多个第二装置520中的每一个可以被配置为与一个或多个第一装置510中的每一个类似,即具有如上面所描述的一个或多个处理器521、一个或多个存储器522、以及指令和数据。每个第二装置520可以是意在由用户使用的个人计算装置或者由企业使用的商业计算机装置,并且具有通常与个人计算装置或商业计算机装置结合使用的所有组件,诸如中央处理单元(cpu)、存储数据和指令的存储器(例如,ram和内部硬盘驱动器)、诸如显示器(例如,具有屏幕的监视器、触摸屏、投影仪、电视或可操作来显示信息的其他装置)、鼠标、键盘、触摸屏、麦克风、扬声器、和/或网络接口装置等的一个或多个i/o设备523。一个或多个第二装置520还可以包括用于捕获静态图像或记录视频流的一个或多个相机524、以及用于将这些元件彼此连接的所有组件。

虽然一个或多个第二装置520可以各自包括全尺寸的个人计算装置,但是它们可能可选地包括能够通过诸如互联网等网络与服务器无线地交换数据的移动计算装置。举例来说,一个或多个第二装置520可以是移动电话,或者是诸如带无线支持的pda、平板pc或能够经由互联网获得信息的上网本等装置。在另一个示例中,一个或多个第二装置520可以是可穿戴式计算系统。

在说明书及权利要求中的词语“a或b”包括“a和b”以及“a或b”,而不是排他地仅包括“a”或者仅包括“b”,除非另有特别说明。

在本公开中,对“一个实施例”、“一些实施例”的提及意味着结合该实施例描述的特征、结构或特性包含在本公开的至少一个实施例、至少一些实施例中。因此,短语“在一个实施例中”、“在一些实施例中”在本公开的各处的出现未必是指同一个或同一些实施例。此外,在一个或多个实施例中,可以任何合适的组合和/或子组合来组合特征、结构或特性。

如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。

如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。

上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。

另外,仅仅为了参考的目的,还可以在下面描述中使用某种术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。

还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。

在本公开中,术语“部件”和“系统”意图是涉及一个与计算机有关的实体,或者硬件、硬件和软件的组合、软件、或执行中的软件。例如,一个部件可以是,但是不局限于,在处理器上运行的进程、对象、可执行态、执行线程、和/或程序等。通过举例说明,在一个服务器上运行的应用程序和所述服务器两者都可以是一个部件。一个或多个部件可以存在于一个执行的进程和/或线程的内部,并且一个部件可以被定位于一台计算机上和/或被分布在两台或更多计算机之间。

本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1