CN110866495B - 票据图像识别方法及装置和设备、训练方法和存储介质 - Google Patents
票据图像识别方法及装置和设备、训练方法和存储介质 Download PDFInfo
- Publication number
- CN110866495B CN110866495B CN201911114028.7A CN201911114028A CN110866495B CN 110866495 B CN110866495 B CN 110866495B CN 201911114028 A CN201911114028 A CN 201911114028A CN 110866495 B CN110866495 B CN 110866495B
- Authority
- CN
- China
- Prior art keywords
- bill
- field
- character information
- groups
- current training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/243—Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Character Input (AREA)
Abstract
一种票据图像识别方法及其装置、模型训练方法、智能发票识别设备和存储介质。票据图像识别方法包括:获取输入图像,其中,输入图像包括多张票据;基于区域识别模型,识别输入图像中对应于多张票据的多个票据区域,同时识别对应于多个票据区域的多个字段区域组,获取与每个字段区域对应的标识信息,其中,标识信息包括表示与每个字段区域对应的票据区域的归属信息;基于类型识别模型,识别与多张票据对应的多个票据类型;基于字符识别模型,识别与多个字段区域组对应的多个字符信息组;根据多个票据类型,分别从多个字符信息组中选择得到与多张票据对应的多个目标字符信息组;根据每个目标字符信息对应的标识信息,提供多个目标字符信息组。
Description
技术领域
本公开的实施例涉及一种票据图像识别方法、模型训练方法、票据图像识别装置、智能发票识别设备和存储介质。
背景技术
近年来,票据识别技术不断发展,但是针对一张图片上分布有多张票据的场景时,即一张图片中包括多张票据的场景时,对该图片中的多张票据的识别具有一定难度。
发明内容
本公开至少一实施例提供一种票据图像识别方法,包括:获取输入图像,其中,所述输入图像包括多张票据,所述多张票据每张记载有一项或多项字符信息;基于区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,其中,对应于每个票据区域的字段区域组包括分别对应于所述每个票据区域对应的票据记载的一项或多项字符信息的一个或多个字段区域,所述标识信息包括归属信息,所述归属信息表示与所述每个字段区域对应的票据区域;基于类型识别模型,识别所述多个票据区域中的所述多张票据以确定分别与所述多张票据对应的多个票据类型;基于字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组,其中,所述多个字符信息组中的每个字符信息组包括与所述每个字符信息组对应的票据区域对应的票据记载的一项或多项字符信息;根据所述多个票据类型,分别从与所述多张票据对应的所述多个字符信息组中选择得到与所述多张票据分别对应的多个目标字符信息组,其中,所述多张票据的每张票据对应的目标字符信息组包括从与所述每张票据对应的字符信息组中选择得到的至少一项目标字符信息;根据与所述多个目标字符信息组中的每个目标字符信息对应的标识信息,提供所述多个目标字符信息组。
例如,在本公开至少一实施例提供的票据图像识别方法中,根据与所述多个目标字符信息组中的每个目标字符信息对应的标识信息,提供所述多个目标字符信息组包括:根据与所述每个目标字符信息对应的所述标识信息,将所述每个目标字符信息显示在所述输入图像中的与所述每个目标字符信息对应的字段区域对应的预设位置。
例如,在本公开至少一实施例提供的票据图像识别方法中,所述标识信息还包括所述每个字段区域的位置信息和方向信息,所述方向信息表示所述每个字段区域相对于基准方向的倾斜角度;所述位置信息表示所述每个字段区域在与所述每个字段区域对应的所述票据区域上的位置,或者,所述位置信息表示所述每个字段区域在所述输入图像上的位置。
例如,在本公开至少一实施例提供的票据图像识别方法中,在识别所述多个字段区域组后,所述票据图像识别方法还包括:对于所述多个字段区域组每个中的每个字段区域,对所述每个字段区域进行切割处理以得到与所述每个字段区域对应的字段图像,从而得到与所述多个字段区域组中的所有字段区域一一对应的所有字段图像。
例如,在本公开至少一实施例提供的票据图像识别方法中,基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组包括:通过所述字符识别模型识别所述所有字段图像,以得到与所述多个字段区域组一一对应的所述多个字符信息组。
例如,在本公开至少一实施例提供的票据图像识别方法中,响应于所述每个字段区域相对于所述基准方向的所述倾斜角度不为零,在基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组的步骤之前,所述票据图像识别方法还包括:对所述每个字段区域对应的所述字段图像进行倾斜校正处理。
例如,在本公开至少一实施例提供的票据图像识别方法中,响应于所述每个字段区域相对于所述基准方向的所述倾斜角度不为零,在基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组的步骤之前,所述票据图像识别方法还包括:对所述每个字段区域进行倾斜校正处理。
例如,在本公开至少一实施例提供的票据图像识别方法中,基于所述区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,包括:基于所述区域识别模型,识别并确定所述输入图像中分别对应于所述多张票据的所述多个票据区域,以及同时识别对应于所述多个票据区域中的所有字段以确定所述多个字段区域组;基于所述区域识别模型,获取与所述多个字段区域组中的每个字段区域对应的所述标识信息。
例如,在本公开至少一实施例提供的票据图像识别方法中,所述区域识别模型包括第一子识别模型和第二子识别模型,基于所述区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,包括:基于所述第一子识别模型,识别并确定所述输入图像中分别对应于所述多张票据的所述多个票据区域;基于所述第二子识别模型,同时识别对应于所述多个票据区域中的所有字段以确定所述多个字段区域组,以及获取与所述多个字段区域组中的每个字段区域对应的所述标识信息。
例如,在本公开至少一实施例提供的票据图像识别方法中,在确定所述多个票据区域后,所述票据图像识别方法还包括:对所述多个票据区域进行标号处理,以确定与所述多个票据区域一一对应的多个标号。
例如,在本公开至少一实施例提供的票据图像识别方法中,根据所述多个票据类型,分别从与所述多张票据对应的所述多个字符信息组中选择得到与所述多张票据分别对应的多个目标字符信息组,包括:对于所述多张票据中的每张票据,根据所述每张票据的票据类型,调用与所述每张票据的票据类型对应的票据处理模型处理与所述每张票据对应的字符信息组,以得到与所述每张票据对应的目标字符信息组,从而得到所述多个目标字符信息组。
本公开至少一实施例还提供一种模型训练方法包括:获取训练样本集,其中,所述训练样本集包括多个训练样本图像和与每个训练样本图像对应的多个基准字符信息组;利用所述训练样本集,对待训练的区域识别模型、待训练的字符识别模型和待训练的类型识别模型进行训练,以得到区域识别模型、字符识别模型和类型识别模型,其中,对所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型进行训练,以得到所述区域识别模型、所述字符识别模型和所述类型识别模型包括:从所述训练样本集中获取当前训练样本图像和与所述当前训练样本图像对应的多个当前基准字符信息组,其中,所述当前训练样本图像包括多张当前训练票据,所述多张当前训练票据每张记载有一项或多项当前训练字符信息;基于所述待训练的区域识别模型,识别所述当前训练样本图像中分别对应于所述多张当前训练票据的多个当前训练票据区域,同时识别所述当前训练样本图像中分别对应于所述多个当前训练票据区域的多个当前训练字段区域组,获取与所述多个当前训练字段区域组中的每个当前训练字段区域对应的当前训练标识信息,其中,对应于每个当前训练票据区域的当前训练字段区域组包括分别对应于所述每个当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息的一个或多个当前训练字段区域,所述当前训练标识信息包括当前训练归属信息,所述当前训练归属信息表示与所述每个当前训练字段区域对应的当前训练票据区域;基于所述待训练的类型识别模型,识别所述多个当前训练票据区域中的所述多张当前训练票据以确定分别与所述多张当前训练票据对应的多个当前训练票据类型;基于所述待训练的字符识别模型,识别所述多个当前训练字段区域组以得到与所述多个当前训练字段区域组一一对应的多个当前训练字符信息组,其中,所述多个当前训练字符信息组中的每个当前训练字符信息组包括与所述每个当前训练字符信息组对应的当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息;根据所述多个当前训练票据类型,分别从与所述多张当前训练票据对应的多个当前训练字符信息组中选择得到与所述多张当前训练票据分别对应的多个当前训练目标字符信息组,其中,所述多张当前训练票据的每张当前训练票据对应的当前训练目标字符信息组包括从与所述每张当前训练票据对应的当前训练字符信息组中选择得到的至少一个当前训练目标字符信息;根据所述多个当前训练目标字符信息和所述多个当前基准字符信息组,计算所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型的损失函数的损失值;根据所述损失值对所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型的参数进行修正,在所述损失函数满足预定条件时,得到训练完成的所述区域识别模型、所述字符识别模型和所述类型识别模型,在所述损失函数不满足所述预定条件时,继续输入所述当前训练样本图像和所述多个当前基准字符信息组以重复执行上述训练过程。
本公开至少一实施例还提供一种票据图像识别装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据上述任一实施例所述的票据图像识别方法。
本公开至少一实施例还提供一种智能发票识别设备,包括:图像获取部件,用于获得纸质票据的票据图像;存储器,用于存储所述票据图像以及计算机可读指令;处理器,用于读取所述票据图像作为输入图像,并运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据上述任一实施例所述的票据图像识别方法。
例如,本公开至少一实施例提供的智能发票识别设备还包括:显示装置,用于显示所述输入图像以及所述多个目标字符信息组。
本公开至少一实施例还提供一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时可以执行根据上述任一实施例所述的票据图像识别方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种票据图像识别方法的示意性流程图;
图2A为本公开至少一实施例提供的一种输入图像的示意图;
图2B为本公开至少一实施例提供的另一种输入图像的示意图;
图2C为本公开至少一实施例提供的又一种输入图像的示意图;
图2D为本公开至少一实施例提供的一种输入图像的具体示例的示意图;
图3A为本公开至少一实施例提供的识别图2A所示的输入图像中的票据以得到票据区域的示意图;
图3B为本公开至少一实施例提供的识别图2D的输入图像中的票据以得到票据区域的示意图;
图4为本公开至少一实施例提供的识别输入图像中的字段以得到字段区域的示意图;
图5A为本公开至少一实施例提供的一种第一票据区域中的一个字段区域的示意图;
图5B为对图5A所示的第一票据区域中的一个字段区域进行校正后的示意图;
图6为本公开至少一实施例提供的一种模型训练方法的示意性流程图;
图7为本公开至少一实施例提供的一种票据图像识别装置的示意性框图;
图8为本公开至少一实施例提供的一种智能发票识别设备的示意性框图;
图9为本公开至少一实施例提供的一种存储介质的示意图;
图10为本公开至少一实施例提供的一种硬件环境的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
本公开至少一实施例提供一种票据图像识别方法、模型训练方法、票据图像识别装置、智能发票识别设备和存储介质。该票据图像识别方法包括:获取输入图像,其中,输入图像包括多张票据,多张票据每张记载有一项或多项字符信息;基于区域识别模型,识别输入图像中分别对应于多张票据的多个票据区域,同时识别输入图像中分别对应于多个票据区域的多个字段区域组,获取与多个字段区域组中的每个字段区域对应的标识信息,其中,对应于每个票据区域的字段区域组包括分别对应于每个票据区域对应的票据记载的一项或多项字符信息的一个或多个字段区域,标识信息包括归属信息,归属信息表示与每个字段区域对应的票据区域;基于类型识别模型,识别多个票据区域中的多张票据以确定分别与多张票据对应的多个票据类型;基于字符识别模型,识别多个字段区域组以得到与多个字段区域组一一对应的多个字符信息组,其中,多个字符信息组中的每个字符信息组包括与每个字符信息组对应的票据区域对应的票据记载的一项或多项字符信息;根据多个票据类型,分别从与多张票据对应的多个字符信息组中选择得到与多张票据分别对应的多个目标字符信息组,其中,多张票据的每张票据对应的目标字符信息组包括从与每张票据对应的字符信息组中选择得到的至少一项目标字符信息;根据与多个目标字符信息组中的每个目标字符信息对应的标识信息,提供多个目标字符信息组。
该票据图像识别方法在能够高效并准确地实现对票据图像中的多张票据进行识别,缩短识别多张票据的时间,提高识别多张票据的效率。例如,对于分辨率不高的、歪斜的、字迹模糊的、有污损的、纸张褶皱的、填写(由人工和/或机器)位置不规范等的票据图像,利用本公开的实施例的票据图像识别方法和票据图像识别装置均可以进行识别。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为本公开至少一实施例提供的一种票据图像识别方法的示意性流程图,该方法包括步骤S10至S15,图2A为本公开至少一实施例提供的一种输入图像的示意图,图2B为本公开至少一实施例提供的另一种输入图像的示意图,图2C为本公开至少一实施例提供的又一种输入图像的示意图,图2D为本公开至少一实施例提供的一种输入图像的具体示例的示意图。
如图1所示,首先,本公开的一实施例提供的票据图像识别方法在步骤S10,获取输入图像,例如,在步骤S10中,输入图像包括多张票据,多张票据每张记载有一项或多项字符信息。本公开的实施例对于获取输入图像的图像源不作限制,例如可以为摄像头、本地存储器、网络存储器、其他应用程序等。
例如,如图2A和图2B所示,在一个示例中,输入图像100可以包括三张票据,三张票据分别为第一票据101、第二票据102和第三票据103。但本公开不限于此,多张票据的数量还可以为2、4、5等,例如,如图2C所示,在另一个示例中,输入图像100可以包括四张票据,四张票据分别为第一票据101、第二票据102、第三票据103和第四票据104。例如,如图2D所示,在一个具体示例中,输入图像包括四张票据,该四张票据为两张火车票和两张出租车发票。
应当理解,本公开所称的“票据”是指在其上记载有信息的实体,这些信息以一些模式被布置在票据上,并由中文字、外文字、数字、符号、图形等中的一种或多种形式来承载。本公开所称的“票据”的一些具体示例可以是,发票(例如,出租车发票等)、账单、税单、收据、购物清单、餐饮小票、保险单、报销单、存款流水单、信用卡对账单、快递单、行程单、车票(例如,火车票、汽车票、轮船票等)、登机牌、专利公开文本的信息页、选票、调查问卷、评价表、签到表、申请表等各种由人工和/或机器填写的票据。其中,报销单可以视为包含有多张发票并粘贴在一张纸张上的票据形式。本领域技术人员可以理解,本公开所称的“票据”不限于本文所列出的这些具体示例,而且不限于与金融或商业有关的票据,也不限于其上带有公章的单据,可以是带有打印字体的票据也可以是带有手写字体的票据,可以是具有规定和/或通用格式的票据也可以不是具有规定和/或通用格式的票据。
例如,在步骤S10中,输入图像100可以为任何包括多张票据的图像,例如,在一些实施例中,输入图像100可以为发票图像。本公开不限于此,在另一些实施例中,输入图像100也可以文档图像等。需要说明的是,输入图像100是指以可视化方式呈现票据的形式,例如票据的图片、视频等。
例如,输入图像100中的多张票据可以具有相同的尺寸和/或形状,也可以具有不同的尺寸/或形状。多张票据的形状可以为矩形等规则形状,也可以为不规则形状。如图2A和图2B所示,第一票据101的形状、第二票据102的形状和第三票据103的形状均为矩形,然而第一票据101的尺寸、第二票据102的尺寸和第三票据103的尺寸彼此不相同。值得注意的是,在本公开中,“票据的形状”表示票据的大体形状,例如,当票据的形状为矩形时,该矩形的每个条边可能并不是一条直线段,而在图像中可能是具有细小的波浪形、锯齿形等形状的线段。
例如,在一些实施例中,输入图像100中的多张票据可以彼此不交叠,即多张票据中的任意两张票据彼此不具有交叠部分,如图2A所示,第一票据101、第二票据102和第三票据103彼此均不交叠;在另一些实施例中,输入图像100中的多张票据中的至少部分票据也可以彼此部分交叠,例如,如图2B所示,第一票据101和第二票据102部分交叠,交叠部分1010为图2B中的填充有斜线的部分区域。
例如,每张票据记载的一项或多项字符信息可以包括该票据的相关文字信息等,例如,当票据为发票时,票据的相关文字信息可以为开票公司的名称等文字信息,也就是说,在该票据记载的一项或多项字符信息包括开票公司的名称等信息的文字。需要说明的是,该票据记载的一项或多项字符信息还可以包括公司编码、税号等信息。
例如,每项字符信息可以包括至少一个字符,每个字符可以为单个中文字、单个外文字(例如,单个英文字母或单个英文单词等)、单个数字、单个符号、单个图形等。
例如,输入图像100的形状也可以为矩形等。
例如,输入图像100可以为通过数码相机或手机拍摄的图像,输入图像100可以为灰度图像,也可以为彩色图像。例如,输入图像100可以为图像采集装置直接采集到的原始图像,也可以是对原始图像进行预处理之后获得的图像。例如,为了避免输入图像的数据质量、数据不均衡等对于票据图像识别的影响,在处理输入图像前,本公开的至少一实施例提供的票据图像识别方法还可以包括对输入图像进行预处理的操作。预处理可以消除输入图像中的无关信息或噪声信息,以便于更好地对输入图像进行处理。预处理例如可以包括对输入图像进行缩放、剪裁、伽玛(Gamma)校正、图像增强或降噪滤波等处理。
接下来,如图1所示,在步骤S11,基于区域识别模型,识别输入图像中分别对应于多张票据的多个票据区域,同时识别输入图像中分别对应于多个票据区域的多个字段区域组,获取与多个字段区域组中的每个字段区域对应的标识信息。
例如,多个票据区域与多张票据一一对应,多个字段区域组与多个票据区域一一对应。在输入图像上,多个票据可以是任意形式排列和布置的,从而多个票据区域也可以是任意形式排列和布置的。
例如,在步骤S11中,在一些实施例中,可以利用区域识别模型,首先识别输入图像中分别对应于多张票据的多个票据区域,然后同时识别输入图像中的多个票据区域以得到分别对应于多个票据区域的多个字段区域组。但本公开不限于此,在另一些实施例中,也可以利用区域识别模型,首先同时识别输入图像中的所有字段以确定所有字段区域,然后识别输入图像中分别对应于多张票据的多个票据区域,且基于所有字段区域在输入图像上的位置和多个票据区域在输入图像上的位置,将所有字段区域与多个票据区域进行对应,从而确定与多个票据区域一一对应的多个字段区域组。也就是说,可以基于输入图像建立坐标系(例如,直角坐标系),每个字段区域在该坐标系中对应一个位置范围,每个票据区域在该坐标系中也对应有一个位置范围,当某个字段区域对应的位置范围位于某个票据区域的位置范围内时,或者当某个字段区域对应的位置范围和某个票据区域的位置范围之间的重叠部分的面积和该某个字段区域的面积之间的比值大于预设阈值(例如,90%-100%)时,则该某个字段区域属于与该某个票据区域对应的字段区域组,对所有字段区域的位置范围与多个票据区域的位置范围进行比较,由此,即可确定与多个票据区域一一对应的多个字段区域组。
图3A为本公开至少一实施例提供的识别图2A所示的输入图像中的票据以得到票据区域的示意图,图3B为本公开至少一实施例提供的识别图2D的输入图像中的票据以得到票据区域的示意图,图4为本公开至少一实施例提供的识别输入图像中的字段以得到字段区域的示意图。
例如,在步骤S11中,每个票据区域完全覆盖该票据区域对应的票据。例如,如图3A所示,多个票据区域的数量为3,且多个票据区域分别包括第一票据区域111、第二票据区域112和第三票据区域113,第一票据区域111与第一票据101对应,第二票据区域112与第二票据102对应,第三票据区域113与第三票据103对应。又例如,如图3B所示,在一个具体示例中,输入图像中的四张票据通过四个票据区域示出,每个票据区域内包括一张对应的票据。
例如,票据区域的尺寸可以大于该票据区域对应的票据的尺寸,从而票据位于对应的票据区域内。如图3A所示,第一票据101位于第一票据区域111内,第二票据102位于第二票据区域112内,第三票据103位于第三票据区域113内。例如,每个票据区域的形状可以为矩形、圆形、菱形等规则形状,但不限定于此,每个票据区域的形状也可以为不规则形状。
例如,每个票据区域的尺寸可以由用户根据实际情况自行设定。多个票据区域可以彼此不交叠,或者至少部分票据区域可以部分交叠。如图3B所示,在一个具体示例中,两张火车票对应的两个票据区域彼此部分重叠,两张出租车发票对应的两个票据区域彼此也部分重叠。
例如,在步骤S11中,对应于每个票据区域的字段区域组包括分别对应于每个票据区域对应的票据记载的一项或多项字符信息的一个或多个字段区域。每项字符信息对应一个字段区域。例如,当字符信息包括多个字符时,在该字段区域中,多个字符可以大致沿一条直线排列,例如,在一些实施例中,多个字符可以大致沿水平方向排列为一行或沿竖直方向排列为一列,水平方向与竖直方向彼此垂直;又例如,当字符信息包括多个字符时,在该字段区域中,多个字符也可以排列为多行多列,例如,两行一列,一行两列等。
例如,当某个票据区域的字段区域组包括多个字段区域时,多个字段区域彼此不交叠,或者也可以至少部分字段区域部分交叠,多个字段区域的形状和尺寸可以相同,或者至少部分字段区域的形状和/或尺寸不相同。如图4所示,在一个实施例中,第一票据区域111的字段区域组包括三个字段区域,分别为字段区域1011、字段区域1012和字段区域1013,第二票据区域112的字段区域组包括一个字段区域1021,第三票据区域113的字段区域组包括两个字段区域,分别为字段区域1031和字段区域1032。以第一票据区域111中的多个字段区域为例,如图4所示,字段区域1011、字段区域1012和字段区域1013彼此均不交叠,字段区域1011的形状、字段区域1012的形状和字段区域1013的形状相同,均为矩形,然而,字段区域1011的尺寸、字段区域1012的尺寸和字段区域1013的尺寸不相同。属于不同的两个票据区域的两个字段区域可以彼此不交叠或者也可以部分交叠,例如,当两个票据区域部分交叠时,则该两个字段区域也可能部分交叠。
例如,如图3B所示,在一个具体示例中,对于火车票,该火车票对应的票据区域可以包括对应的起始站的字段区域、对应终点站的字段区域、对应座位等级的字段区域、对应票价的字段区域、对应的出发时间的字段区域、对应的列车班次的字段区域等多个字段区域,例如,如图3B所示的一张火车票(位于右上方的火车票)对应的票据区域可以包括以下字段区域:“北京南站”、“杭州东站”、“二等座”、“¥538.5元”、“2019年8月31日15:10开”、“K092833”等。例如,对应票价的字段区域“¥538.5元”包括人民币的表示符号、数字和文字等多种字符。对于出租车发票,该出租车发票对应的票据区域可以包括对应发票抬头的字段区域、对应的日期的字段区域、对应里程的字段区域、对应车号的字段区域、对应票价的字段区域等多个字段区域,例如,如图3B所示,该出租车发票(位于中间的出租车发票)对应的票据区域可以包括以下字段区域:“北京市出租车汽车专用发票”、“2019-08-30”、“2.8”、“B.95870”、“¥14.00”等。
本领域技术人员可以理解,图2A至图4中示出的输入图像100仅仅是示意性的,其不能用来限制本公开,输入图像中的票据、票据区域和字段区域可以根据实际具体情况确定。虽然图2A至图4中仅示出了相应多张票据、多个票据区域、多个字段区域等,但本公开提供的输入图像100上的票据显然还可以更少或者更多。以票据为例进行说明,虽然图2A至图4所示出的第一票据101的形状、第二票据102的形状和第三票据103的形状均为矩形,且每个矩形的两条相邻边均是平行于与水平方向X平行的水平线或与竖直方向Y平行的竖直线,然而,每个票据区域的至少一条边界也可以相对于水平线或竖直线倾斜,从而每个票据区域的形状还可以由平行四边形、任意四边形等来界定的,或者是由圆形、椭圆形、其他多边形(例如三角形、梯形、任意多边形等)、以及不规则形状等来界定的。
本公开实施例提供的输入图像100上的任一个票据区域均可以布置在输入图像100中的任何位置,例如,在图2C中,第一票据101和第二票据102可以是距离较近的甚至是相邻的,第三票据103可以是位于输入图像100的边缘的,例如,与输入图像100的一条边相邻,第四票据104比起其他票据可以是较小的。当然,本领域技术人员还可以理解,本公开的输入图像100上的各个票据的布置模式、位置关系、尺寸大小等都不限于图2A至图4所示的模式,而与输入图像100的具体情况有关,图2A至图4所示的输入图像100仅仅是一个示例。上面的描述在不矛盾的情形下也适用于输入图像100中的票据区域和字段区域。
需要说明的是,在一些实施例中,如图2A至图4所示,输入图像100的形状为矩形,水平方向X和竖直方向Y可以分别与输入图像100的相邻的两条边平行。
例如,区域识别模型可以采用机器学习技术实现并且例如运行在通用计算装置或专用计算装置上,且该区域识别模型为预先训练好的模型。区域识别模型可以采用深度卷积神经网络(DEEP-CNN)等神经网络实现。
例如,每个字段区域的标识信息可以通过区域识别模型得到,也就是说,区域识别模型输出每个字段区域时,还输出与该字段区域对应的标识信息。
例如,每个字段区域的标识信息包括每个字段区域的归属信息。例如,归属信息表示与每个字段区域对应的票据区域。归属信息可以为与每个字段区域对应的票据区域的标号或者能够表示这个字段区域对应的票据区域的任何信息。
例如,在一些实施例中,步骤S11可以包括:基于区域识别模型,识别并确定输入图像中分别对应于多张票据的多个票据区域以及同时识别对应于多个票据区域中的所有字段,以确定多个字段区域组;基于区域识别模型,获取与多个字段区域组中的每个字段区域对应的标识信息。可以利用同一个区域识别模型识别票据区域和字段区域以及获取字段区域的标识信息,即将该输入图像输入该区域识别模型后可以识别出输入图像中的多个票据区域、每个票据区域对应的一个或多个字段区域,并获得每个字段区域对应的标识信息。
例如,在另一些实施例中,区域识别模型可以包括第一子识别模型和第二子识别模型,此时,步骤S11可以包括:基于第一子识别模型,识别并确定输入图像中分别对应于多张票据的多个票据区域;基于第二子识别模型,同时识别对应于多个票据区域中的所有字段以确定多个字段区域组,以及获取与多个字段区域组中的每个字段区域对应的标识信息。可以分别采用不同的识别模型分别识别票据区域和字段区域以及获取标识信息,即将该输入图像输入该第一子识别模型后可以识别出输入图像中的多个票据区域,然后,标注有多个票据区域的输入图像可以被输入至第二子识别模型,以识别出多个字段区域组和获得每个字段区域对应的标识信息。
例如,第一子识别模型可以基于目标检测算法(Detection)的神经网络实现并且例如运行在通用计算装置或专用计算装置上,在一些实施例中,第一子识别模型是基于卷积神经网络(CNN)、Faster-RCNN、或Mask-RCNN等模型实现的。第二子识别模型可以基于深度卷积神经网络(DEEP-CNN)实现并且例如运行在通用计算装置或专用计算装置上。
需要说明的是,在本公开中,多个票据区域可以以标注框的形式被标注在输入图像中,从而在后续操作中,可以直接对该标注出的票据区域的输入图像进行处理,也就是说,在本公开中不对输入图像中的票据区域进行切割操作。
例如,在步骤S11中,在确定多个票据区域后,票据图像识别方法还包括:对多个票据区域进行标号处理,以确定与多个票据区域一一对应的多个标号。在此情况下,字段区域的归属信息则可以为该字段区域对应的票据区域的标号。例如,如图2A、图2B和图3A所示,在一些实施例中,第一票据区域111的标号为10501,第二票据区域112的标号为10502,第三票据区域113的标号为10503,如图2C所示,第四票据区域114的标号为10504。例如,同一种类型的票据对应的票据区域可以采用相同的标号表示,如图3B所示,在一个具体示例中,两张火车票对应的两个票据区域的标号为10503,两张出租车发票对应的票据区域的标号为10500。
需要说明的是,利用区域识别模型对输入图像上的一个或多个区域(例如,票据区域或字段区域)中的每个区域进行识别包括识别出区域的边界。例如,在区域以矩形来界定,且该矩形的相邻两条边分别平行于与水平方向X平行的水平线和与竖直方向Y平行的竖直线的情况下,可以通过确定该矩形的至少三个顶点来确定该区域;在区域以平行四边形来界定的情况下,可以通过确定该平行四边形的至少三个顶点来确定该区域;在区域以四边形(例如,梯形、任意不规则的四边形等)来界定,且该四边形的至少一条边界也可以相对于水平线或竖直线倾斜,可以通过确定该四边形的四个顶点来确定该区域。例如,区域的检测可以使用基于CNN(例如,R-CNN(Faster R-CNN等)等)的对象检测方法、基于YOLO的对象检测方法、基于原始检测目标的文本检测(例如基于字符、基于单词、基于文本行等)方法、基于目标边界框的形状的文本检测(水平或接近水平的文本检测、多导向的文本检测等)方法等。
例如,在一些实施例中,每个字段区域的标识信息还包括该每个字段区域的位置信息和方向信息。需要说明的是,在一些实施例中,每个字段区域的标识信息可以仅包括该每个字段区域的位置信息和归属信息,而不包括方向信息。
例如,位置信息表示每个字段区域在与每个字段区域对应的票据区域上的位置,或者,位置信息表示每个字段区域在输入图像上的位置。
例如,在位置信息表示每个字段区域在与每个字段区域对应的票据区域上的位置时,可以基于每个票据区域确定一个坐标系(例如,直角坐标系),该票据区域对应的字段区域的位置为该字段区域在基于该票据区域确定的坐标系中的位置,此时,不同票据区域的不同字段区域的位置信息分别为不同坐标系中的坐标值,从而不同票据区域的不同字段区域的位置信息并没有直接的联系。又例如,在位置信息表示每个字段区域在输入图像上的位置时,可以基于输入图像确定一个坐标系(例如,直角坐标系),每个字段区域的位置为该字段区域在基于输入图像确定的坐标系中的位置,此时,不同票据区域的不同字段区域的位置信息均是在同一个坐标系下的坐标值。
需要说明的是,基于输入图像确定的坐标系的两个坐标轴可以分别平行于水平方向X和竖直方向Y;此外,基于票据区域确定的坐标系的两个坐标轴也可以分别平行于水平方向X和竖直方向Y。例如,当输入图像为矩形时,该输入图像的相邻两条边可以分别平行于水平方向X和竖直方向Y。
例如,字段区域的位置信息可以是能够表示这个字符区域在与其对应的票据中的位置的任何形式,例如,字段区域的位置信息可以是字段区域的顶点(一个或多个)在与其对应的票据区域确定坐标系中的坐标值(绝对或相对坐标值),也可以是字段区域的顶点(一个或多个)在与其对应的票据区域确定坐标系中的坐标值(绝对或相对坐标值)和边长(一个或多个),还可以是字段区域的中心(一个或多个)在与其对应的票据区域确定坐标系中的坐标值(绝对或相对坐标值)和半径(一个或多个)。例如,在一些实施例中,每个字段区域的形状可以为矩形,区域识别模型可以基于Faster R-CNN神经网络实现,此时,每个字段区域的位置信息通过字段区域的标注框(即锚点)的中心坐标以及字段区域相邻两条边的值(即矩形的长度值和宽度值)来确定,即区域识别模型输出每个字段区域时,还输出该字段区域的标注框的中心坐标以及字段区域相邻两条边的值,即还输出该字段区域的位置信息。
例如,方向信息表示每个字段区域相对于基准方向的倾斜角度。基准方向可以为水平方向X或者竖直方向Y。例如,每个字段区域可以具有规则形状,例如矩形。每个字段区域相对于基准方向的倾斜角度可以表示该字段区域的一条边与该基准方向之间的夹角。
例如,字段区域的倾斜角度可以根据字段区域的倾斜的边对应的多个(例如,两个)顶点在坐标系(基于输入图像确定的坐标系或者基于与字段区域对应的票据区域确定的坐标系)中的坐标计算得到。
接下来,如图1所示,在步骤S12,基于类型识别模型,识别多个票据区域中的多张票据以确定分别与多张票据对应的多个票据类型。
例如,多个票据类型可以包括火车票、发票、账单、税单、收据、快递单、行程单、购物清单等。
例如,在输入图像100中的多张票据的票据类型可以相同,也可以至少部分不相同。例如,如图2A和图2B所示,在一些实施例中,第一票据101的票据类型、第二票据102的票据类型和第三票据103的票据类型可以相同,例如可以均为火车票;在另一些实施例中,第一票据101的票据类型、第二票据102的票据类型和第三票据103的票据类型可以彼此不相同,例如,第一票据101可以为火车票,第二票据102可以为出租车发票,而第三票据103则可以为购物清单;在又一些实施例中,第一票据101的票据类型、第二票据102的票据类型和第三票据103的票据类型可以至少部分不相同,例如,第一票据101和第二票据102可以均为出租车发票,而第三票据103则可以为购物清单。本公开的实施例对输入图像中的多张票据的票据类型不作具体限定。
例如,类型识别模型可以识别标注有多个票据区域的输入图像,以得到多个票据类型。
例如,类型识别模型也可以基于机器学习技术实现,且该类型识别模型为预先训练好的模型。类型识别模型可以采用卷积神经网络(CNN)和深度残差网络(ResNet)等神经网络实现并且例如运行在通用计算装置或专用计算装置上。
需要说明的是,在一些实施例中,区域识别模型和类型识别模型可以被整合为一个通用的识别模型,该通用的识别模型可以对输入图像进行识别,以识别出多个票据区域和多个字段区域组,并且同时获得每个字段区域的标识信息和每个票据区域的票据类型。
接下来,如图1所示,在步骤S13,基于字符识别模型,识别多个字段区域组并得到与多个字段区域组一一对应的多个字符信息组。
例如,多个字符信息组中的每个字符信息组包括与每个字符信息组对应的票据区域对应的票据记载的一项或多项字符信息。
例如,多个字符信息组与多个票据区域一一对应。在步骤S13中,与票据区域对应的字符信息组可以包括票据区域中的全部字符,也就是说,与票据区域对应的字符信息组包括该票据区域中能够被识别的所有字符,例如,当票据区域中的票据为发票时,票据区域中的全部字符包括数字(例如税号)、公司名和“发票专用章”等字符。
例如,字符识别模型可以基于光学字符识别(Optical Character Recognition,OCR)等技术实现并且例如运行在通用计算装置或专用计算装置上,例如,字符识别模型也可以为预先训练好的模型。
例如,在步骤S13中,首先,基于字符识别模型,识别多个字段区域组以得到与该输入图像对应的所有字符信息;然后,根据字段区域对应的标识信息,可以确定该字段区域对应的字符信息所属的票据区域,从而将该字段区域对应的字符信息划分到该票据区域对应的字符信息组中,根据所有字符信息的标识信息则可以对所有字符信息进行分组,从而可以将所有字符信息划分为与多个票据区域一一对应的多个字符信息组。
例如,在一些实施例中,识别得到字段区域后,可以直接利用字符识别模型对标注有字段区域的输入图像进行字符识别。由此,在步骤S13中,可以利用字符识别模型同时识别多个字段区域组中的所有字段区域中的字符,以得到与多个字段区域组一一对应的多个字符信息组;又例如,也利用字符识别模型可以分别识别多个字段区域组中的每个字段区域中的字符,以得到与每个字段区域对应的字符信息,从而得到与多个字段区域组一一对应的多个字符信息组。也就是说,字符识别模型可以同时对所有字段区域进行字符识别,也可以分别对所有字段区域依次进行字符识别。
例如,在一些实施例中,在识别得到多个字段区域组后,可以切割并获取多个字段区域组中的每个字段区域的字段图像。例如,在识别多个字段区域组后,票据图像识别方法还包括:对于多个字段区域组每个中的每个字段区域,对每个字段区域进行切割处理以得到与每个字段区域对应的字段图像,从而得到与多个字段区域组中的所有字段区域一一对应的所有字段图像。
例如,字段区域对应的字段图像可以由矩形来界定的,矩形的一条边可以与基准方向(例如,水平方向X或竖直方向Y)平行或者相对于基准方向具有一定倾斜角度。
例如,在将每个字段区域进行切割以得到字段图像后,步骤S13可以包括:通过字符识别模型识别所有字段图像,以得到与多个字段区域组一一对应的多个字符信息组。例如,可以通过字符识别模型同时识别与多个字段区域组中的所有字段区域对应的所有字段图像,以得到与多个字段区域组一一对应的多个字符信息组;或者通过字符识别模型识别每个字段区域对应的字段图像,以得到与每个字段区域对应的字符信息,从而得到与多个字段区域组一一对应的多个字符信息组。也就是说,字符识别模型可以同时对所有字段图像进行字符识别,也可以分别对所有字段图像依次进行字符识别。
例如,在一些实施例中,在得到多个字段图像后,多个字段图像可以排列在输入图像中,此时,在该输入图像中,除了多个字段图像之外的区域为纯色(例如,纯白色等),然后,将包括该多个字段图像的输入图像输入至字符识别模型,字符识别模型可以同时对多个字段图像进行字符识别,以得到与多个字段区域组一一对应的多个字符信息组。又例如,多个字段图像也可以排列在单独提供的背景图像中,背景图像可以为纯色,然后,将包括该多个字段图像的背景图像输入至字符识别模型,字符识别模型可以同时对多个字段图像进行字符识别,以得到与多个字段区域组一一对应的多个字符信息组。
例如,在另一些实施例中,在得到多个字段图像后,可以将多个字段图像分别依次输入至字符识别模型,以利用该字符识别模型分别对多个字段图像进行字符识别,从而得到与多个字段区域组一一对应的多个字符信息组。
例如,当输入图像中的票据呈现倾斜(相对于基准方向)或扭曲等状态时,通过区域识别模型识别出的与该票据对应的字段区域组中的所有字段区域也会呈现出水平或倾斜等不同状态。在得到多个字段图像后,响应于每个字段区域相对于基准方向的倾斜角度不为零,在基于字符识别模型,识别多个字段区域组以得到与多个字段区域组一一对应的多个字符信息组的步骤之前(即在步骤S13之前),票据图像识别方法还包括:对每个字段区域对应的字段图像进行倾斜校正处理。或者,在没有对字段区域进行切割的情形下,响应于每个字段区域相对于基准方向的倾斜角度不为零,在基于字符识别模型,识别多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组的步骤之前,票据图像识别方法还包括:对每个字段区域进行倾斜校正处理。
例如,对每个字段区域或者每个字段区域对应的字段图像进行倾斜校正处理可以包括:确定字段区域或字段区域对应的字段图像相对于基准方向的倾斜角度;根据倾斜角度确定用于字段区域或字段区域对应的字段图像的校正角度;对字段区域或字段区域对应的字段图像按照校正角度进行旋转(顺时针或逆时针)以得到校正后的字段图像或校正后的字段区域,从而实现倾斜校正。然后,字符识别模型可以对该校正后的字段图像或校正后的字段区域进行字符识别,以确定与该字段区域对应的字符信息。可以理解的是,当字段区域相对于基准方向的倾斜角度为零时,则不需要进行倾斜校正,而直接利用字符识别模型可以对该字段区域对应的字段图像进行字符识别,以确定与该字段区域对应的字符信息。
需要说明的是,可以利用字符识别模型对字段区域或字段图像进行倾斜校正处理,或者,也可以利用单独设置校正模型对字段区域或字段图像进行倾斜校正处理。
例如,校正后的字段图像或校正后的字段区域的至少一条边与基准方向平行。例如,若该字段图像的形状为矩形,则校正后的字段图像的相邻两条边中的一条边与基准方向平行,校正后的字段图像的相邻两条边中的另一条边与基准方向垂直。
例如,在一些示例中,倾斜角度可以为锐角,此时,倾斜角度与校正角度可以相同或者倾斜角度与校正角度可以互为余角。在另一些示例中,倾斜角度可以为钝角,此时,倾斜角度与校正角度可以相同或者倾斜角度与校正角度可以互为补角。
图5A为本公开一实施例提供的一种第一票据区域中的一个字段区域的示意图;图5B为对图5A所示的第一票据区域中的一个字段区域进行校正后的示意图。
例如,如图5A所示,在一些实施例中,对于图4所示的第一票据区域111中的字段区域1011,该字段区域1011(或者该字段区域1011对应的字段图像)相对于水平方向X(即基准方向)呈倾斜,即该字段区域1011相对于水平方向X的倾斜角度不为零,例如,该字段区域1011的一条边1011a与水平方向X的夹角(即倾斜角度)为θ,如图5A所示,倾斜角度θ为锐角,此时,校正角度可以与倾斜角度θ相同,从而可以将该字段区域1011沿顺时针方向旋转倾斜角度θ,从而得到校正后的字段图像或校正后的字段区域,如图5B所示,校正后的字段图像或校正后的字段区域的边1011a与水平方向X平行。
例如,与某个字段区域对应的字符信息可以为一个完整的句子(例如,完整的公司名称),也可以包括多个字符。字符信息可能为“XX软件有限公司”,或者,字符信息也可能包括“XX”、“软件”、“有限公司”等多个字符。
例如,识别出每个票据对应的一个或多个字段区域中的每个字段区域中的字符信息,就可以根据这些字符信息所承载的信息来确定每个票据上记载的信息。
例如,字符信息可能存在语义错误、逻辑错误等,因此,需要对字符识别模型识别得到的字符信息进行校验,纠正字符信息中的语义错误、逻辑错误等,以得到准确的字符信息。
例如,每个字段区域与该字段区域对应的票据中的记载部分或全部信息相关联。除了基于语义和逻辑等对字符信息进行校正之外,还可以基于与每个字段区域相关联的关联信息对该每个字段区域对应的字符信息进行校正。例如,对于每个票据区域对应的字段区域组中的每个字段区域,基于输入图像和该票据区域对应的票据的票据类型,通过区域识别模型可以识别与该每个字段区域相关联的关联信息的信息类型;基于识别出的与该每个字段区域相关联的关联信息的信息类型、以及识别出的与每个票据区域对应的字段区域组中的每个字段区域的字符信息,来确定票据区域对应的票据上记载的信息。
例如,若输入图像中的票据为购物清单,与该票据对应的字段区域相关联的关联信息可以包括:商户的名称和编号、票据生成的时间、消费的明细与各项金额、消费金额的小计、消费金额的总计、税费、收款金额、找零金额等,例如,在一些示例中,如图4所示,对于第一票据101,第一票据101的票据类型为购物清单,与字段区域1011相关联的关联信息可以为商户的名称和编号,与字段区域1012相关联的关联信息可以为消费金额的总计,与字段区域1013相关联的关联信息为消费的明细与各项金额。例如,若与某个字段区域相关联的关联信息为商户的名称和编号,则与该字段区域对应的字符信息包括商户的名称文字和编号数字;若与某个字段区域相关联的关联信息为单据生成时间、消费的明细和各项金额、消费金额小计、税费、消费金额总计、收款金额、找零金额中任一项时,则与该字段区域对应的字符信息包括数字。例如,若与某个字段区域相关联的关联信息为商户的名称和编号,则该字段区域对应的字符信息一般应该包括文字(中文或外文)和数字,若该字段区域对应的字符信息仅包括数字或者包括数字和乱码,则表明该字段区域对应的字符信息很有可能是不正确的,因此,需要对该字段区域对应的字符信息进行校正,例如,可以基于字符识别模型重新识别该字段区域中的字符,或者,由用户对该字符区域对应的字符信息进行校正。
需要说明的是,与字段区域相关联的关联信息的信息类型可以包括一种或多种类型。例如,当票据为某种申请表时,在一种情况下,与票据中的一个字段区域相关联的关联信息的信息类型可以是申请人姓名,与票据中的另一个字段区域相关联的关联信息的信息类型可以是身份证号码;在另一种情况下,与票据中的某个字段区域相关联的关联信息的信息类型可以是申请人姓名和身份证号码。例如,当票据为某种发票时,在一种情况下,与票据中的一个字段区域相关联的关联信息的信息类型可以是发票代号,与票据中的另一个字段区域相关联的关联信息的信息类型可以是税前金额;在另一种情况下,与票据中的某个区域相关联的关联信息的信息类型可以是发票代号和税前金额。与不同字段区域相关联的关联信息的信息类型可以相同也可以不同。例如,当票据为购物清单时,在一种情况下,与多个不同字段区域相关联的关联信息的信息类型都可以是所购买的商品。
例如,在一些实施例中,票据图像识别方法还包括:对于多个票据区域中的每个票据区域,基于类型识别模型,识别每个票据区域的字段类型。字符识别模型包括多个字符识别子模型,在此情形下,步骤S13可以包括:根据识别出的字段类型从多个字符识别子模型中选择与字段类型对应的字符识别子模型处理每个票据区域对应的字段区域组以得到与每个票据区域对应的字符信息组,从而得到与多个字段区域组一一对应的多个字符信息组。
例如,字段类型包括票据区域中的字符的语种。例如,语种可以为以下各项中的一项或多项:中文、英文、日文等语言,摩尔斯码、图形文字、ASCII码等以某种编码形式呈现的语言等。
例如,在这种情况下,针对不同的语种,可能预先训练有不同的字符识别子模型,从而有助于提高模型精度。
需要说明的是,在另一些实施例中,票据图像识别方法还包括:对于多个字段区域组中的每个字段区域,基于类型识别模型,识别每个字段区域的字段类型,然后,根据识别出的字段类型从多个字符识别子模型中选择与字段类型对应的字符识别子模型处理每个字段区域以得到与每个字段区域对应的字符信息。
例如,如图1所示,在步骤S14,根据多个票据类型,分别从与多张票据对应的多个字符信息组中选择得到与多张票据分别对应的多个目标字符信息组。
例如,多张票据的每张票据对应的目标字符信息组包括从与每张票据对应的字符信息组中选择得到的至少一项目标字符信息。例如,目标字符信息可以为该票据中重要信息(例如,用户期望得到的信息)。
例如,步骤S14可以包括:对于多张票据中的每张票据,根据每张票据的票据类型,调用与每张票据的票据类型对应的票据处理模型处理与每张票据对应的字符信息组,以得到与每张票据对应的目标字符信息组,从而得到多个目标字符信息组。例如,在步骤S12中识别出每个票据区域的票据类型后,可以调用相应的票据处理模型处理多个字符信息组,从而输出相应票据对应的重要字段区域的字符信息,丢弃其他的字段区域的字符信息。
例如,可以设置多个票据处理模型,根据票据类型从多个票据处理模型中选择与该票据类型对应的票据处理模型来对该票据对应的字符信息组。例如,票据处理模型也可以基于神经网络实现并且例如运行在通用计算装置或专用计算装置上。
例如,根据票据的票据类型,可以确定与该票据对应的用户期望得到的信息,票据处理模型可以根据票据的票据类型从与该票据对应的字符信息组中选择用户期望得到的字符信息作为目标字符信息,从而确定与该票据对应的目标字符信息组。而在该票据对应的字符信息组中除了目标字符信息之外的其余字符信息则可以被舍弃。例如,如图2A所示,当第一票据101为某种申请表时,对于该第一票据101,用户期望得到的信息可以为申请人的姓名和身份证号码,则票据处理模型处理与该第一票据101对应的字符信息组时,可以将信息类型为申请人姓名的字段区域对应的字符信息和信息类型为身份证号码的字段区域对应的字符信息作为目标字符信息,从而得到与该第一票据101对应的目标字符信息组,即在该目标字符信息组中可以包括申请人姓名和身份证号码。又例如,当第二票据102为某种购物清单时,对于该第二票据102,用户期望得到的信息可以为消费的明细与各项金额、收款金额和找零金额,则票据处理模型处理与该第二票据102对应的字符信息组时,可以将信息类型为消费的明细与各项金额的字段区域对应的字符信息、信息类型为收款金额的字段区域对应的字符信息和信息类型为找零金额的字段区域对应的字符信息作为目标字符信息,从而得到与该第二票据102对应的目标字符信息组,即在该目标字符信息组中可以包括消费的明细与各项金额、收款金额和找零金额。
例如,如图1所示,在步骤S15中,根据与多个目标字符信息组中的每个目标字符信息对应的标识信息,提供多个目标字符信息组。
例如,在一些实施例中,步骤S15可以包括:根据与每个目标字符信息对应的标识信息,将每个目标字符信息显示在输入图像中的与每个目标字符信息对应的字段区域对应的预设位置。例如,根据标识信息可以确定该目标字符信息对应的票据区域和字段区域,从而可以将该目标字符信息准确地显示在该目标字符信息对应的字段区域对应的预设位置处。
例如,与字段区域对应的预设位置可以为字段区域的下侧、上侧、左侧或右侧等。该预设位置与字段区域彼此不交叠,例如彼此间隔一定距离。
例如,可以对输入图像对应的所有目标字符信息进行编号,从而在显示目标字符信息时,可以显示目标字符信息以及目标字符信息对应的编号。
需要说明的是,提供多个目标字符信息组也可以表示通过表单或者分段文字等形式单独输出该票据区域对应的所有目标字符信息。例如,根据每个目标字符信息的标识信息还可以确定该目标字符信息对应的票据区域,从而该表单或分段文字还可以包括该票据区域对应的票据的标号、票据类型等。在一些示例中,输入图像中的所有目标字符信息可以通过同一个表单呈现,此时,表单可以包括多个列区域,不同列区域分别表示不同票据对应的目标字符信息,此时,可以在列区域中还可以包括票据的标号、票据类型等,从而在后续查看该表单时可以快速且准确地确定目标字符信息对应的票据。在另一些示例中,不同票据对应的目标字符信息可以通过不同表单呈现,即每个票据对应的目标字符信息通过单独的一个表单呈现。可以理解的是,在一些实施例中,也可以提供输入图像中的所有字符信息,例如,将通过字符识别模型识别得到的多个字符信息组中的所有字符信息均显示在输入图像中,或者通过表单或者分段文字等形式单独输出。
需要说明的是,在本公开的实施例中,模型(例如,区域识别模型、字符识别模型、类型识别模型、票据处理模型等任意模型)不是仅仅的数学模型,而是可以接收输入数据、执行数据处理、输出处理结果的模块,该模块可以是软件模块、硬件模块(例如硬件神经网络)或采用软硬结合的方式实现。在一些实施例中,区域识别模型、字符识别模型、类型识别模型和/或票据处理模型包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的区域识别模型、字符识别模型、类型识别模型和/或票据处理模型的一些功能或全部功能。在又一些实施例中,区域识别模型、字符识别模型、类型识别模型和/或票据处理模型可以包括一个电路板或多个电路板的组合,用于实现如上所述的功能。在一些实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的计算机可读的存储器;以及(3)处理器可执行的存储在存储器中的固件。
本公开至少一个实施例还提供一种模型训练方法。图6为本公开至少一实施例提供的一种模型训练方法的示意性流程图。
例如,如图6所示,模型训练方法可以包括:
S20:获取样本集中的训练样本集;
S21:利用训练样本集,对待训练的区域识别模型、待训练的字符识别模型和待训练的类型识别模型进行训练,以得到区域识别模型、字符识别模型和类型识别模型。
本公开实施例提供的模型训练方法得到的区域识别模型、字符识别模型和类型识别模型可以应用于上述票据图像识别方法中。
例如,在步骤S20中,样本集包括多个样本图像和与每个样本图像对应的多个基准字符信息组。
例如,样本集可以包括训练样本集和测试样本集,训练样本集包括多个训练样本图像和与每个训练样本图像对应的多个基准字符信息组,测试样本集包括多个测试样本图像和与每个测试样本图像对应的多个基准字符信息组。
例如,在一些实施例中,步骤S21可以包括:从样本集中获取当前训练样本图像和与当前训练样本图像对应的多个当前基准字符信息组,其中,当前训练样本图像包括多张当前训练票据,多张当前训练票据每张记载有一项或多项当前训练字符信息;基于待训练的区域识别模型,识别当前训练样本图像中分别对应于多张当前训练票据的多个当前训练票据区域,同时识别当前训练样本图像中分别对应于多个当前训练票据区域的多个当前训练字段区域组,获取与多个当前训练字段区域组中的每个当前训练字段区域对应的当前训练标识信息,其中,对应于每个当前训练票据区域的当前训练字段区域组包括分别对应于每个当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息的一个或多个当前训练字段区域,当前训练标识信息包括当前训练归属信息,当前训练归属信息表示与每个当前训练字段区域对应的当前训练票据区域;基于待训练的类型识别模型,识别多个当前训练票据区域中的多张当前训练票据以确定分别与多张当前训练票据对应的多个当前训练票据类型;基于待训练的字符识别模型,识别多个当前训练字段区域组以得到与多个当前训练字段区域组一一对应的多个当前训练字符信息组,其中,多个当前训练字符信息组中的每个当前训练字符信息组包括与每个当前训练字符信息组对应的当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息;根据多个当前训练票据类型,分别从与多张当前训练票据对应的多个当前训练字符信息组中选择得到与多张当前训练票据分别对应的多个当前训练目标字符信息组,其中,多张当前训练票据的每张当前训练票据对应的当前训练目标字符信息组包括从与每张当前训练票据对应的当前训练字符信息组中选择得到的至少一个当前训练目标字符信息;根据多个当前训练目标字符信息和多个当前基准字符信息组,计算待训练的区域识别模型、待训练的字符识别模型和待训练的类型识别模型的损失函数的损失值;根据损失值对待训练的区域识别模型、待训练的字符识别模型和待训练的类型识别模型的参数进行修正,在损失函数满足预定条件时,得到训练完成的区域识别模型、字符识别模型和类型识别模型,在损失函数不满足预定条件时,继续输入当前训练样本图像和多个当前基准字符信息组以重复执行上述训练过程。
例如,在一个示例中,上述预定条件对应于在输入一定数量的训练样本图像和与训练样本图像对应的目标字符信息的情况下,损失函数的损失收敛(即损失值不再显著减小)。例如,在另一个示例中,上述预定条件为训练次数或训练周期达到预定数目(例如,该预定数目可以为上百万)。
例如,从样本集中获取当前训练样本图像和与当前训练样本图像对应的多个当前基准字符信息组可以包括:从训练样本集中选择一个训练样本集作为当前训练样本图像,从训练样本集中获取与当前训练样本图像对应的多个当前基准字符信息组。
例如,利用测试样本集可以对训练得到的区域识别模型、字符识别模型和类型识别模型的识别准确率进行验证。在一些实施例中,步骤S21还可以包括:利用测试样本集对训练得到的区域识别模型、字符识别模型和类型识别模型进行测试,以得到识别准确率;当识别准确率大于或者等于给定识别准确率阈值,则确定训练得到的区域识别模型、字符识别模型和类型识别模型为最终的区域识别模型、最终的字符识别模型和最终的类型识别模型;若识别准确率小于给定识别准确率阈值,则增加训练样本集中的训练样本图像的数量,然后基于增加训练样本图像后的训练样本集重复上述训练过程。
例如,给定识别准确率阈值可以由用户预先设置,例如,给定识别准确率阈值可以为90%-100%。
例如,样本集中的测试样本图像的比例和训练样本图像的比例可以根据实际情况设定,本公开的实施例对此不作具体限定,例如,样本集中的测试样本图像的比例可以为5%到20%,相应地,样本集中的训练样本图像的比例可以为80%到95%。
例如,增加训练样本集中的训练样本图像的数量可以包括:不改变样本集中的测试样本图像和训练样本图像的比例,而增加样本集中的样本图像的数量,从而增加多个训练样本图像的数量;或者调整样本集中的测试样本图像的比例和训练样本图像的比例,例如,调高训练样本图像的比例,以增加多个训练样本图像的数量。
需要说明的是,在上述描述中,同时对区域识别模型、字符识别模型和类型识别模型进行训练,然而,本公开不限于此,在另一些实施例中,区域识别模型、字符识别模型和类型识别模型可以被分别训练。
例如,在又一些实施例中,模型训练方法还可以包括:对待训练的票据处理模型进行训练,以得到票据处理模型。
例如,模型训练方法可以包括:对待训练的区域识别模型进行训练,以得到区域识别模型;对待训练的字符识别模型进行训练,以得到字符识别模型;对待训练的类型识别模型进行训练,以得到类型识别模型。
例如,在一些实施例中,对待训练的区域识别模型进行训练,以得到区域识别模型可以包括:获取第一训练样本集,其中,第一训练样本集包括多个第一训练样本图像、与每个第一训练样本图像对应的多个训练字段区域组和每个训练字段区域对应的训练标识信息;利用第一训练样本集,对待训练的区域识别模型进行训练,以得到训练完成的区域识别模型。
例如,对待训练的区域识别模型进行训练,以得到区域识别模型还可以包括:获取第一测试样本集,其中,第一测试样本集包括多个第一测试样本图像、与每个第一测试样本图像对应的多个测试字段区域组和每个测试字段区域对应的测试标识信息;基于第一测试样本集对训练完成的区域识别模型进行测试,以确定区域识别准确率;若区域识别准确率小于预定的区域识别准确率阈值,则增加第一训练样本集中的第一训练样本图像的数量;以及通过增加了第一训练样本图像的数量之后的第一训练样本集,重新对待训练的区域识别模型进行训练。然后基于第一测试样本集对重新训练完成的区域识别模型再次进行测试,直到重新训练完成的区域识别模型的区域识别准确率满足要求即不小于预定的区域识别准确率阈值为止。如此,区域识别准确率满足要求的训练完成的区域识别模型可以作为最终的区域识别模型。
例如,对待训练的字符识别模型进行训练,以得到字符识别模型,包括:获取第二训练样本集,其中,第二训练样本集包括多个第二训练样本图像和与每个第二训练样本图像对应的多个测试字符信息组;以及利用第二训练样本集,对待训练的字符识别模型进行训练,以得到字符识别模型。
例如,对待训练的字符识别模型进行训练,以得到字符识别模型还可以包括:获取第二测试样本集,其中,第二测试样本集包括多个第二测试样本图像和与每个第二测试样本图像对应的多个测试字符信息组;基于第二测试样本集对训练完成的字符识别模型进行测试,以确定字符识别准确率;若字符识别准确率小于预定的字符识别准确率阈值,则增加第二训练样本集中的第二训练样本图像的数量;以及通过增加了第二训练样本图像的数量之后的第二训练样本集,重新对待训练的字符识别模型进行训练。然后基于第二测试样本集对重新训练完成的字符识别模型再次进行测试,直到重新训练完成的字符识别模型的字符识别准确率满足要求即不小于预定的字符识别准确率阈值为止。如此,字符识别准确率满足要求的训练完成的字符识别模型可以作为最终的字符识别模型。
本领域技术人员可以理解,第一训练样本集和第二训练样本集可以是相同的集合也可以是不同的集合,即可以包括完全相同的训练样本图像也可以包括不相同或不完全相同的训练样本图像。第一测试样本集和第二测试样本集可以是相同的集合也可以是不同的集合,即可以包括完全相同的测试样本图像也可以包括不相同或不完全相同的测试样本图像。区域识别准确率阈值与字符识别准确率阈值可以是相同的值(例如,90%等)也可以是不同的值。第一训练样本集中的训练样本图像的数量、第二训练样本集的训练样本图像的数量、第一测试样本集中的测试样本图像的数量和第二测试样本集中的测试样本图像的数量均可以根据需要来选择。经过识别后的票据的图像,也可以作为票据样本图像加入到上述任意一个或多个训练集或测试集中去,从而使得用于训练和/或测试的票据样本图像的数量可以不断地增多,使得经过训练的模型的精度提高。
例如,对待训练的类型识别模型进行训练,以得到类型识别模型,包括:获取第三训练样本集,其中,第三训练样本集包括多个第三训练样本图像和与每个第三训练样本图像中的多张票据分别对应的多个训练票据类型;以及利用第三训练样本集,对待训练的类型识别模型进行训练,以得到类型识别模型。
例如,对待训练的类型识别模型进行训练,以得到类型识别模型还可以包括:获取第三测试样本集,其中,第三测试样本集包括多个第三测试样本图像和与每个第三测试样本图像中的多张票据分别对应的多个测试票据类型;基于第三测试样本集对训练完成的类型识别模型进行测试,以确定类型识别准确率;若类型识别准确率小于预定的类型识别准确率阈值,则增加第三训练样本集中的第三训练样本图像的数量;以及通过增加了第三训练样本图像的数量之后的第三训练样本集,重新对待训练的类型识别模型进行训练。然后基于第三测试样本集对重新训练完成的类型识别模型的类型识别准确率再次进行测试,直到重新训练完成的类型识别模型的类型识别准确率满足要求即不小于预定的类型识别准确率阈值为止。如此,类型识别准确率满足要求的训练后的类型识别模型可以作为最终的类型识别模型。
本领域技术人员可以理解,第三训练样本集与第一训练样本集和第二训练样本集可以是相同的集合也可以是不同的集合。第三测试样本集与第一测试样本集和第二测试样本集可以是相同的集合也可以是不同的集合。类型识别准确率阈值、区域识别准确率和字符识别准确率阈值可以是相同的值也可以是不同的值。第三训练样本集中的训练样本图像的数量和第三测试样本集中的测试样本图像的数量均可以根据需要来选择。经过识别后的票据的图像,也可以作为票据样本图像加入到上述任意一个或多个训练集或测试集中去,从而使得用于训练和/或测试的票据样本图像的数量可以不断地增多,使得经过训练的模型的精度提高。
本公开至少一实施例还提供一种票据图像识别装置,图7为本公开至少一实施例提供的一种票据图像识别装置的示意性框图。
如图7所示,该票据图像识别装置700包括处理器702和存储器701。应当注意,图7所示的票据图像识别装置700的组件只是示例性的,而非限制性的,根据实际应用需要,该票据图像识别装置700还可以具有其他组件。
例如,存储器701用于非暂时性存储计算机可读指令;处理器702用于运行计算机可读指令,计算机可读指令被处理器702运行时执行根据上述任一实施例所述的票据图像识别方法中的一个或多个步骤。
例如,处理器702和存储器701等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
例如,处理器702可以控制票据图像识别装置700中的其它组件以执行期望的功能。处理器702可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器(GPU)等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
例如,存储器701可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器702可以运行所述计算机可读指令,以实现票据图像识别装置700的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,关于票据图像识别装置700执行票据图像识别的过程的详细说明可以参考票据图像识别方法的实施例中的相关描述,重复之处不再赘述。
图8为本公开至少一实施例提供的一种智能发票识别设备的示意性框图。
本公开至少一实施例还提供一种智能发票识别设备。如图8所示,智能发票识别设备800可以包括存储器801、处理器802、图像获取部件803和显示装置804。应当注意,图8所示的智能发票识别设备800的组件只是示例性的,而非限制性的,根据实际应用需要,该智能发票识别设备800还可以具有其他组件。
例如,图像获取部件803用于获得纸质票据的票据图像。存储器801用于存储票据图像以及计算机可读指令。处理器802用于读取票据图像作为输入图像,并运行计算机可读指令。计算机可读指令被处理器802运行时执行根据上述任一实施例所述的票据图像识别方法中的一个或多个步骤。
例如,图像获取部件803即为上述票据图像识别方法的实施例中描述的图像采集装置,例如,图像获取部件803可以是智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、或者甚至可以是网络摄像头。
例如,票据图像可以是图像获取部件803直接采集到的原始票据图像,也可以是对原始票据图像进行预处理之后获得的图像。预处理可以消除原始票据图像中的无关信息或噪声信息,以便于更好地对票据图像进行处理。预处理例如可以包括对原始票据图像进行图像扩充(Data Augment)、图像缩放、伽玛(Gamma)校正、图像增强或降噪滤波等处理。
例如,显示装置804用于显示输入图像和多个目标字符信息组。
例如,显示装置804可以为有机发光二极管显示装置、液晶显示装置等。
例如,处理器802可以控制智能发票识别设备800中的其它组件以执行期望的功能。处理器802可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器(GPU)等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
例如,存储器801可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器802可以运行所述计算机可读指令,以实现智能发票识别设备800的各种功能。
例如,关于智能发票识别设备800执行票据图像识别的过程的详细说明可以参考票据图像识别方法的实施例中的相关描述,重复之处不再赘述。
图9为本公开至少一实施例提供的一种存储介质的示意图。例如,如图9所示,在存储介质900上可以非暂时性地存储一个或多个计算机可读指令901。例如,当所述计算机可读指令901由计算机执行时可以执行根据上文所述的票据图像识别方法中的一个或多个步骤。又例如,一部分计算机可读指令901被计算机运行时还可以执行根据上述任一实施例所述的模型训练方法中的一个或多个步骤。
例如,该存储介质900可以应用于上述票据图像识别装置700和/或智能发票识别设备800中,例如,其可以包括票据图像识别装置700中的存储器701和/或智能发票识别设备800中的存储器801。
例如,关于存储介质900的说明可以参考票据图像识别装置700和/或智能发票识别设备800的实施例中对于存储器的描述,重复之处不再赘述。
图10示出了为本公开至少一实施例提供的一种硬件环境的示意图。本公开的实施例提供的票据图像识别装置和/或智能发票识别设备可以应用在互联网系统。
利用图10中提供的计算机系统可以实现本公开中涉及的票据图像识别装置和/或智能发票识别设备。这类计算机系统可以包括个人电脑、笔记本电脑、平板电脑、手机、个人数码助理(personal digital assistance,PDA)、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备或可穿戴设备。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机设备可以是一个通用目的的计算机设备,或一个有特定目的的计算机设备。两种计算机设备都可以被用于实现本实施例中的票据图像识别装置和/或智能发票识别设备。计算机系统可以实施当前描述的实现票据图像识别所需要的信息的任何组件。例如:计算机系统能够被计算机设备通过其硬件设备、软件程序、固件以及它们的组合所实现。为了方便起见,图10中只绘制了一台计算机设备,但是本实施例所描述的实现票据图像识别所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散计算机系统的处理负荷。
如图10所示,计算机系统可以包括通信端口250,与之相连的是实现数据通信的网络,例如,通信端口250可以与上面描述的图像获取部件进行通信。计算机系统还可以包括一个处理器组220(即上面描述的处理器),用于执行程序指令。处理器组220可以由至少一个处理器(例如,CPU)组成。计算机系统可以包括一个内部通信总线210。计算机系统可以包括不同形式的程序储存单元以及数据储存单元(即上面描述的存储器或存储介质),例如硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)240,能够用于存储计算机处理和/或通信使用的各种数据文件,以及处理器组220所执行的可能的程序指令。计算机系统还可以包括一个输入/输出组件260,支持计算机系统与其他组件(例如,用户界面280,用户界面280可以为上面描述的显示装置)之间的输入/输出数据流。计算机系统也可以通过通信端口250发送和接收信息及数据。
在一些实施例中,上述计算机系统可以用于组成互联网通信系统中的服务器。互联网通信系统的服务器可以是一个服务器硬件设备,或一个服务器群组。一个服务器群组内的各个服务器可以通过有线的或无线的网络进行连接。一个服务器群组可以是集中式的,例如数据中心。一个服务器群组也可以是分布式的,例如一个分布式系统。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种票据图像识别方法,包括:
获取输入图像,其中,所述输入图像包括多张票据,所述多张票据每张记载有一项或多项字符信息;
基于区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,其中,对应于每个票据区域的字段区域组包括分别对应于所述每个票据区域对应的票据记载的一项或多项字符信息的一个或多个字段区域,所述标识信息包括归属信息,所述归属信息表示与所述每个字段区域对应的票据区域;
基于类型识别模型,识别所述多个票据区域中的所述多张票据以确定分别与所述多张票据对应的多个票据类型;
基于字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组,其中,所述多个字符信息组中的每个字符信息组包括与所述每个字符信息组对应的票据区域对应的票据记载的一项或多项字符信息;
根据所述多个票据类型,分别从与所述多张票据对应的所述多个字符信息组中选择得到与所述多张票据分别对应的多个目标字符信息组,其中,所述多张票据的每张票据对应的目标字符信息组包括从与所述每张票据对应的字符信息组中选择得到的至少一项目标字符信息;
根据与所述多个目标字符信息组中的每个目标字符信息对应的标识信息,提供所述多个目标字符信息组。
2.根据权利要求1所述的票据图像识别方法,其中,根据与所述多个目标字符信息组中的每个目标字符信息对应的标识信息,提供所述多个目标字符信息组包括:
根据与所述每个目标字符信息对应的所述标识信息,将所述每个目标字符信息显示在所述输入图像中的与所述每个目标字符信息对应的字段区域对应的预设位置。
3.根据权利要求1所述的票据图像识别方法,其中,所述标识信息还包括所述每个字段区域的位置信息和方向信息,
所述方向信息表示所述每个字段区域相对于基准方向的倾斜角度;
所述位置信息表示所述每个字段区域在与所述每个字段区域对应的所述票据区域上的位置,或者,所述位置信息表示所述每个字段区域在所述输入图像上的位置。
4.根据权利要求3所述的票据图像识别方法,其中,在识别所述多个字段区域组后,所述票据图像识别方法还包括:
对于所述多个字段区域组每个中的每个字段区域,对所述每个字段区域进行切割处理以得到与所述每个字段区域对应的字段图像,从而得到与所述多个字段区域组中的所有字段区域一一对应的所有字段图像。
5.根据权利要求4所述的票据图像识别方法,其中,基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组包括:
通过所述字符识别模型识别所述所有字段图像,以得到与所述多个字段区域组一一对应的所述多个字符信息组。
6.根据权利要求4或5所述的票据图像识别方法,其中,响应于所述每个字段区域相对于所述基准方向的所述倾斜角度不为零,在基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组的步骤之前,所述票据图像识别方法还包括:
对所述每个字段区域对应的所述字段图像进行倾斜校正处理。
7.根据权利要求3所述的票据图像识别方法,其中,响应于所述每个字段区域相对于所述基准方向的所述倾斜角度不为零,在基于所述字符识别模型,识别所述多个字段区域组以得到与所述多个字段区域组一一对应的多个字符信息组的步骤之前,所述票据图像识别方法还包括:
对所述每个字段区域进行倾斜校正处理。
8.根据权利要求1所述的票据图像识别方法,其中,基于所述区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,包括:
基于所述区域识别模型,识别并确定所述输入图像中分别对应于所述多张票据的所述多个票据区域,以及同时识别对应于所述多个票据区域中的所有字段以确定所述多个字段区域组;
基于所述区域识别模型,获取与所述多个字段区域组中的每个字段区域对应的所述标识信息。
9.根据权利要求1所述的票据图像识别方法,其中,所述区域识别模型包括第一子识别模型和第二子识别模型,
基于所述区域识别模型,识别所述输入图像中分别对应于所述多张票据的多个票据区域,同时识别所述输入图像中分别对应于所述多个票据区域的多个字段区域组,获取与所述多个字段区域组中的每个字段区域对应的标识信息,包括:
基于所述第一子识别模型,识别并确定所述输入图像中分别对应于所述多张票据的所述多个票据区域;
基于所述第二子识别模型,同时识别对应于所述多个票据区域中的所有字段以确定所述多个字段区域组,以及获取与所述多个字段区域组中的每个字段区域对应的所述标识信息。
10.根据权利要求1-5、7-9任一项所述的票据图像识别方法,其中,在确定所述多个票据区域后,所述票据图像识别方法还包括:
对所述多个票据区域进行标号处理,以确定与所述多个票据区域一一对应的多个标号。
11.根据权利要求1-5、7-9任一项所述的票据图像识别方法,其中,根据所述多个票据类型,分别从与所述多张票据对应的所述多个字符信息组中选择得到与所述多张票据分别对应的多个目标字符信息组,包括:
对于所述多张票据中的每张票据,根据所述每张票据的票据类型,调用与所述每张票据的票据类型对应的票据处理模型处理与所述每张票据对应的字符信息组,以得到与所述每张票据对应的目标字符信息组,从而得到所述多个目标字符信息组。
12.一种模型训练方法,包括:
获取训练样本集,其中,所述训练样本集包括多个训练样本图像和与每个训练样本图像对应的多个基准字符信息组;
利用所述训练样本集,对待训练的区域识别模型、待训练的字符识别模型和待训练的类型识别模型进行训练,以得到区域识别模型、字符识别模型和类型识别模型,
其中,对所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型进行训练,以得到所述区域识别模型、所述字符识别模型和所述类型识别模型包括:
从所述训练样本集中获取当前训练样本图像和与所述当前训练样本图像对应的多个当前基准字符信息组,其中,所述当前训练样本图像包括多张当前训练票据,所述多张当前训练票据每张记载有一项或多项当前训练字符信息;
基于所述待训练的区域识别模型,识别所述当前训练样本图像中分别对应于所述多张当前训练票据的多个当前训练票据区域,同时识别所述当前训练样本图像中分别对应于所述多个当前训练票据区域的多个当前训练字段区域组,获取与所述多个当前训练字段区域组中的每个当前训练字段区域对应的当前训练标识信息,其中,对应于每个当前训练票据区域的当前训练字段区域组包括分别对应于所述每个当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息的一个或多个当前训练字段区域,所述当前训练标识信息包括当前训练归属信息,所述当前训练归属信息表示与所述每个当前训练字段区域对应的当前训练票据区域;
基于所述待训练的类型识别模型,识别所述多个当前训练票据区域中的所述多张当前训练票据以确定分别与所述多张当前训练票据对应的多个当前训练票据类型;
基于所述待训练的字符识别模型,识别所述多个当前训练字段区域组以得到与所述多个当前训练字段区域组一一对应的多个当前训练字符信息组,其中,所述多个当前训练字符信息组中的每个当前训练字符信息组包括与所述每个当前训练字符信息组对应的当前训练票据区域对应的当前训练票据记载的一项或多项当前训练字符信息;
根据所述多个当前训练票据类型,分别从与所述多张当前训练票据对应的多个当前训练字符信息组中选择得到与所述多张当前训练票据分别对应的多个当前训练目标字符信息组,其中,所述多张当前训练票据的每张当前训练票据对应的当前训练目标字符信息组包括从与所述每张当前训练票据对应的当前训练字符信息组中选择得到的至少一个当前训练目标字符信息;
根据所述多个当前训练目标字符信息和所述多个当前基准字符信息组,计算所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型的损失函数的损失值;
根据所述损失值对所述待训练的区域识别模型、所述待训练的字符识别模型和所述待训练的类型识别模型的参数进行修正,在所述损失函数满足预定条件时,得到训练完成的所述区域识别模型、所述字符识别模型和所述类型识别模型,在所述损失函数不满足所述预定条件时,继续输入所述当前训练样本图像和所述多个当前基准字符信息组以重复执行上述训练过程。
13.一种票据图像识别装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据权利要求1-11任一项所述的票据图像识别方法。
14.一种智能发票识别设备,包括:
图像获取部件,用于获得纸质票据的票据图像;
存储器,用于存储所述票据图像以及计算机可读指令;
处理器,用于读取所述票据图像作为输入图像,并运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据权利要求1-11任一项所述的票据图像识别方法。
15.根据权利要求14的智能发票识别设备,还包括:显示装置,用于显示所述输入图像以及所述多个目标字符信息组。
16.一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时可以执行根据权利要求1-11任一项所述的票据图像识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114028.7A CN110866495B (zh) | 2019-11-14 | 2019-11-14 | 票据图像识别方法及装置和设备、训练方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114028.7A CN110866495B (zh) | 2019-11-14 | 2019-11-14 | 票据图像识别方法及装置和设备、训练方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866495A CN110866495A (zh) | 2020-03-06 |
CN110866495B true CN110866495B (zh) | 2022-06-28 |
Family
ID=69654798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114028.7A Active CN110866495B (zh) | 2019-11-14 | 2019-11-14 | 票据图像识别方法及装置和设备、训练方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866495B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444792B (zh) * | 2020-03-13 | 2023-05-09 | 安诚迈科(北京)信息技术有限公司 | 票据识别方法、电子设备、存储介质及装置 |
CN111444793A (zh) * | 2020-03-13 | 2020-07-24 | 安诚迈科(北京)信息技术有限公司 | 基于ocr的票据识别方法、设备、存储介质及装置 |
CN111462388A (zh) * | 2020-03-19 | 2020-07-28 | 广州市玄武无线科技股份有限公司 | 一种票据检验方法、装置、终端设备及存储介质 |
CN111461099A (zh) * | 2020-03-27 | 2020-07-28 | 重庆农村商业银行股份有限公司 | 一种票据识别的方法、系统、设备及可读存储介质 |
CN111445618B (zh) * | 2020-03-31 | 2022-04-19 | 重庆远见金税通信息系统技术有限公司 | 一种票据报销用数据采集系统 |
CN113516673B (zh) * | 2020-04-10 | 2022-12-02 | 阿里巴巴集团控股有限公司 | 图像检测方法、装置、设备和存储介质 |
CN113553883B (zh) * | 2020-04-24 | 2023-04-07 | 上海高德威智能交通系统有限公司 | 一种票据图像识别方法、装置及电子设备 |
CN111582273B (zh) * | 2020-05-09 | 2023-10-10 | 中国工商银行股份有限公司 | 图像文本识别方法及装置 |
CN111914835A (zh) * | 2020-07-04 | 2020-11-10 | 中信银行股份有限公司 | 票据要素提取方法、装置、电子设备及可读存储介质 |
CN111814876A (zh) * | 2020-07-08 | 2020-10-23 | 重庆农村商业银行股份有限公司 | 一种票据识别方法、装置、设备及存储介质 |
CN111931664B (zh) * | 2020-08-12 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 混贴票据图像的处理方法、装置、计算机设备及存储介质 |
CN112101995A (zh) * | 2020-09-11 | 2020-12-18 | 北京市商汤科技开发有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112001381B (zh) * | 2020-09-14 | 2023-09-19 | 中国银行股份有限公司 | 一种智能预填单审核方法及装置 |
CN114513689B (zh) * | 2020-10-27 | 2023-09-12 | 华为技术有限公司 | 一种遥控方法、电子设备及系统 |
CN112257712B (zh) * | 2020-10-29 | 2024-02-27 | 湖南星汉数智科技有限公司 | 一种火车票图像摆正方法、装置、计算机装置及计算机可读存储介质 |
CN112508550A (zh) * | 2020-12-04 | 2021-03-16 | 建信金融科技有限责任公司 | 一种转账处理方法、装置、设备及存储介质 |
CN112464892B (zh) * | 2020-12-14 | 2024-02-13 | 招商局金融科技有限公司 | 票据区域识别方法、装置、电子设备及可读存储介质 |
CN112560754A (zh) * | 2020-12-23 | 2021-03-26 | 北京百度网讯科技有限公司 | 票据信息的获取方法、装置、设备及存储介质 |
CN112669515B (zh) * | 2020-12-28 | 2022-09-27 | 上海斑马来拉物流科技有限公司 | 票据图像识别方法、装置、电子设备和存储介质 |
CN114694160A (zh) * | 2020-12-29 | 2022-07-01 | 航天信息股份有限公司 | 一种票据的识别方法及票据识别装置 |
CN112766266B (zh) * | 2021-01-29 | 2021-12-10 | 云从科技集团股份有限公司 | 基于分阶段概率统计的文本方向矫正方法、系统及装置 |
CN112818951B (zh) * | 2021-03-11 | 2023-11-21 | 南京大学 | 一种票证识别的方法 |
CN112699860B (zh) * | 2021-03-24 | 2021-06-22 | 成都新希望金融信息有限公司 | 一种个税app操作视频中自动化提取和整理有效信息的方法 |
CN113469188B (zh) * | 2021-07-15 | 2024-06-14 | 有米科技股份有限公司 | 字符识别模型训练的数据增强、字符识别的方法及装置 |
CN114267115B (zh) * | 2021-12-27 | 2024-03-08 | 江苏银承网络科技股份有限公司 | 识别票据方法和系统 |
CN116702024B (zh) * | 2023-05-16 | 2024-05-28 | 见知数据科技(上海)有限公司 | 流水数据类型识别方法、装置、计算机设备和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798299A (zh) * | 2017-10-09 | 2018-03-13 | 平安科技(深圳)有限公司 | 票据信息识别方法、电子装置及可读存储介质 |
CN107977665A (zh) * | 2017-12-15 | 2018-05-01 | 北京科摩仕捷科技有限公司 | 一种发票中关键信息的识别方法及计算设备 |
CN108564035A (zh) * | 2018-04-13 | 2018-09-21 | 杭州睿琪软件有限公司 | 识别单据上记载的信息的方法及系统 |
CN109214385A (zh) * | 2018-08-15 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 数据采集方法、数据采集装置及存储介质 |
CN109635627A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安财产保险股份有限公司 | 图片信息提取方法、装置、计算机设备及存储介质 |
CN109740417A (zh) * | 2018-10-29 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 发票类型识别方法、装置、存储介质和计算机设备 |
CN109784323A (zh) * | 2019-01-21 | 2019-05-21 | 北京旷视科技有限公司 | 图像识别的方法、装置、电子设备和计算机存储介质 |
CN109977957A (zh) * | 2019-03-04 | 2019-07-05 | 苏宁易购集团股份有限公司 | 一种基于深度学习的发票识别方法及系统 |
WO2019174130A1 (zh) * | 2018-03-14 | 2019-09-19 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
CN110390320A (zh) * | 2018-08-13 | 2019-10-29 | 杭州睿琪软件有限公司 | 一种包含有多张单据的影像信息的识别方法及系统 |
-
2019
- 2019-11-14 CN CN201911114028.7A patent/CN110866495B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798299A (zh) * | 2017-10-09 | 2018-03-13 | 平安科技(深圳)有限公司 | 票据信息识别方法、电子装置及可读存储介质 |
CN107977665A (zh) * | 2017-12-15 | 2018-05-01 | 北京科摩仕捷科技有限公司 | 一种发票中关键信息的识别方法及计算设备 |
WO2019174130A1 (zh) * | 2018-03-14 | 2019-09-19 | 平安科技(深圳)有限公司 | 票据识别方法、服务器及计算机可读存储介质 |
CN108564035A (zh) * | 2018-04-13 | 2018-09-21 | 杭州睿琪软件有限公司 | 识别单据上记载的信息的方法及系统 |
CN110390320A (zh) * | 2018-08-13 | 2019-10-29 | 杭州睿琪软件有限公司 | 一种包含有多张单据的影像信息的识别方法及系统 |
CN109214385A (zh) * | 2018-08-15 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 数据采集方法、数据采集装置及存储介质 |
CN109635627A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安财产保险股份有限公司 | 图片信息提取方法、装置、计算机设备及存储介质 |
CN109740417A (zh) * | 2018-10-29 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 发票类型识别方法、装置、存储介质和计算机设备 |
CN109784323A (zh) * | 2019-01-21 | 2019-05-21 | 北京旷视科技有限公司 | 图像识别的方法、装置、电子设备和计算机存储介质 |
CN109977957A (zh) * | 2019-03-04 | 2019-07-05 | 苏宁易购集团股份有限公司 | 一种基于深度学习的发票识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110866495A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866495B (zh) | 票据图像识别方法及装置和设备、训练方法和存储介质 | |
CN110659647B (zh) | 印章图像识别方法及装置、智能发票识别设备和存储介质 | |
US11361570B2 (en) | Receipt identification method, apparatus, device and storage medium | |
CN111723807B (zh) | 使用端到端深度学习识别机打字符和手写字符 | |
CN109829453B (zh) | 一种卡证中文字的识别方法、装置以及计算设备 | |
US10977513B2 (en) | Method, system and computer readable storage medium for identifying information carried on sheet | |
CN108229299B (zh) | 证件的识别方法和装置、电子设备、计算机存储介质 | |
CN111275139B (zh) | 手写内容去除方法、手写内容去除装置、存储介质 | |
CN113486828B (zh) | 图像处理方法、装置、设备和存储介质 | |
US20230222631A1 (en) | Method and device for removing handwritten content from text image, and storage medium | |
CN112395996A (zh) | 财务票据ocr识别及影像处理方法、系统及可读存储介质 | |
CN112699775A (zh) | 基于深度学习的证件识别方法、装置、设备及存储介质 | |
CN113537189A (zh) | 手写文字识别方法、装置、设备及存储介质 | |
Jindal et al. | Text line segmentation in indian ancient handwritten documents using faster R-CNN | |
CN112241727A (zh) | 一种多票识别方法、系统及可读存储介质 | |
CN113158895A (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN112395995A (zh) | 一种根据移动财务票据自动填单及审核的方法及系统 | |
CN114495146A (zh) | 图像文本检测方法、装置、计算机设备及存储介质 | |
CN114399626B (zh) | 图像处理方法、装置、计算机设备、存储介质及程序产品 | |
CN113128496B (zh) | 一种从图像中提取结构化数据的方法、装置和设备 | |
CN114120305A (zh) | 文本分类模型的训练方法、文本内容的识别方法及装置 | |
CN115937875A (zh) | 文本识别方法及装置、存储介质、终端 | |
CN112101356A (zh) | 一种图片中特定文本的定位方法、装置及存储介质 | |
CN113033325A (zh) | 图像处理方法及装置、智能发票识别设备和存储介质 | |
CN111914840A (zh) | 一种文本识别方法、模型训练方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |