票据识别方法、装置及存储介质与流程

文档序号:15688908发布日期:2018-10-16 21:37阅读:159来源:国知局

本发明涉及人工智能领域,尤其涉及一种票据识别方法、设备及存储介质。



背景技术:

大型企业、机构、医院体检、保险行业等都有海量的票据需要进行信息的采集、录入以及电子化存档。目前我国的票据数字化管理程度还比较低,常采用的手动录入、人工建档的方式劳动强度大、效率低且成本开支大,而且容易出错。虽然目前能利用机器学习方法进行票据识别,但识别精度不高,这样就会造成票据多种信息的错误,无法快速建档,提高工作效率。



技术实现要素:

鉴于以上内容,有必要提供一种票据识别方法、装置及存储介质,能提高票据识别的准确率,从而快速建档。

一种票据识别方法,所述方法包括:

识别设备获取待识别图片;

所述识别设备从所述待识别图片中提取票据图片;

所述识别设备从所述票据图片中检测至少一个文本位置;

所述识别设备识别所述至少一个文本位置中每个文本位置处的关键字段,并得到每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度;

所述识别设备根据每个文本位置处关键字段的机器识别结果的置信度,获取符合条件的第一类关键字段;

所述识别设备将第一类关键字段中每个关键字段的图片发送至众包平台处理设备;

所述众包平台处理设备将第一类关键字段中每个关键字段的图片发送至多个用户以使多个用户对第一类关键字段中同一关键字段的图片进行校验;

根据第一类关键字段中每个关键字段对应的多个用户的检验结果,所述众包平台处理设备确定第一类关键字段中每个关键字段的识别结果;

所述识别设备获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果;

所述识别设备将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

根据本发明优选实施例,所述识别设备从所述待识别图片中提取票据图片包括:

所述识别设备利用训练好的票据提取模型提取所述至少一张票据图片中每张票据图片,其中每张票据图片属于训练所述票据提取模型的训练样本的一个类别。

根据本发明优选实施例,在所述识别设备从所述票据图片中检测至少一个文本位置之前,所述方法还包括:

所述识别设备判断每张票据图片的位置是否有倾斜,对位置倾斜的票据图片进行位置矫正以使每张票据图片都处于标准位置中。

根据本发明优选实施例,所述识别设备从所述票据图片中检测至少一个文本位置包括:

所述识别设备利用票面底色滤除技术对所述票据图片进行处理,得到滤除后的票据图片;

所述识别设备利用训练好的文本位置检测模型检测所述滤除后的票据图片中至少一个文本位置,其中训练所述文本位置检测模型的训练样本为各种类别的票据样本;

根据本发明优选实施例,所述符合条件的第一类关键字段包括但不限于以下任意一种或者多种的组合:

将机器识别结果的置信度低于或者等于置信阈值的关键字段作为所述第一类关键字段的一部分;

将所有关键字段的机器识别结果的置信度,按照从大到小进行排序,选取排在后预设位数。

根据本发明优选实施例,所述根据第一类关键字段中每个关键字段对应的多个用户的检验结果,所述众包平台处理设备确定第一类关键字段中每个关键字段的识别结果包括:

所述众包平台处理设备对于所述第一类关键字段中每个关键字段,将多个用户提供的检验结果中超过人数阈值的校验结果作为每个关键字段的识别结果。

根据本发明优选实施例,所述方法还包括:

对于所述第一类关键字段中每个关键字段,在多个用户提供的检验结果中,不存在超过人数阈值的校验结果时,所述众包处理设备向所述识别处理设备发送无法检验的提示,以使所述识别设备提示用户重新上传票据图片。

根据本发明优选实施例,所述方法还包括:

所述识别设备根据每个文本位置处关键字段的机器识别结果的置信度配置所述置信阈值。

一种票据识别装置,所述票据识别装置包括识别设备及众包平台处理设备;

所述识别设备获取待识别图片;

所述识别设备从所述待识别图片中提取票据图片;

所述识别设备从所述票据图片中检测至少一个文本位置;

所述识别设备识别所述至少一个文本位置中每个文本位置处的关键字段,并得到每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度;

所述识别设备根据每个文本位置处关键字段的机器识别结果的置信度,获取符合条件的第一类关键字段;

所述识别设备将第一类关键字段中每个关键字段的图片发送至所述众包平台处理设备;

所述众包平台处理设备将第一类关键字段中每个关键字段的图片发送至多个用户以使多个用户对第一类关键字段中同一关键字段的图片进行校验;

根据第一类关键字段中每个关键字段对应的多个用户的检验结果,所述众包平台处理设备确定第一类关键字段中每个关键字段的识别结果;

所述识别设备获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果;

所述识别设备将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现任一实施例中所述票据识别方法。

由以上技术方案可知,本发明对输入的票据图片,先用智能识别算法对关键字段进行检测及识别,并得到关键字段的机器识别结果的置信度,将置信度低于阈值的关键字段发送至众包平台进行校验,通过众包平台将同一关键字段发送至多个用户进行校验,并获取多个用户对同一关键字段的校验结果,最后输出票据图片的识别结果。从而提高票据识别的准确率,从而快速建档。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是实现本发明的票据识别方法的较佳实施例的应用环境图。

图2是本发明票据识别方法的较佳实施例的流程图。

图3是本发明票据识别装置的较佳实施例的程序模块图。

图4是本发明至少一个实例中票据识别装置的较佳实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,图1是实现本发明的票据识别方法的较佳实施例的应用环境图。所述应用环境图包括识别设备及众包平台处理设备。所述识别设备用于:获取待识别图片;从待识别图片中提取票据图片;并对票据图片进行文本检测,确定文本位置;识别文本位置处的关键字段,确定关键字段的机器识别结果及机器识别结果的置信度;基于关键字段的机器识别结果及机器识别结果的置信度,获取符合条件的第一类关键字段(如机器识别结果的置信度低于或者等于置信阈值的关键字段),将符合条件的第一类关键字段发送至众包平台平台处理设备。所述众包平台处理设备将同一个关键字段发送至众包平台的多个用户。所述第一类关键字段中每个关键字段的多个用户对所述第一类关键字段中每个关键字段进行校验,对将每个关键字段的多个用户提供的校验结果中超过人数置信阈值的校验结果作为所述第一类关键字段中每个关键字段的识别结果,并发送至识别设备。将不符合条件的第二类关键字段(例如机器识别结果的置信度高于置信阈值的关键字段)中每个关键字段的机器识别结果作为所述第二类关键字段中每个关键字段的识别结果。所述识别设备输出所述待识别图片中每个票据图片的识别结果。本发明结合智能识别算法与众包平台的优势,利用识别算法对票据图片进行数据的清洗、文本位置的定位,关键字段的切割及识别,并通过众包平台对智能识别算法无法识别的复杂字段的结果进行修正,从而提高票据识别的准确度,并提高票据录入的效率。

结合以下实施例详述利用所述票据识别装置实现票据识别方法。

如图2所示,是本发明票据识别方法的第一较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

s20、所述识别设备获取待识别图片。所述识别设备包括,但不限于服务器等。所述识别设备可以与多个终端设备相通信,所述识别设备提供用户界面接口给用户。例如,一个用户需要报销,通过所述识别设备提供的用户接口,将报销的医院票据通过所述用户接口,上传至其所述识别设备中。

s21、所述识别设备从待识别图片中提取票据图片。所述票据图片包括至少一张票据图片,即一张或者多张票据图片。

优选地,所述识别设备从所述待识别图片中提取所述至少一票据图片中每张票据图片,判断每张票据图片的位置是否有倾斜,对位置倾斜的票据图片进行位置矫正以使每张票据图片都处于标准位置中。这样可以使每张票据图片都处于同一标准下,便于后续与票据模板进行匹配,提高文本位置检测的准确度。

进一步地,利用训练好的票据提取模型提取所述至少一张票据图片中每张票据图片,其中每张票据图片属于训练所述票据提取模型的训练样本的一个类别。利用票据提取模型可以从所述待识别图片中提取各种形状和大小的票据图片,从而使每个票据图片都能被提取出来。

进一步地,训练所述票据提取模型的训练样本为各种类别的票据样本,例如票据清单类别、医院票据类别、餐饮票据类别等等。在训练过程中,票据提取模型去学习各种类别的票据样本的特征,这样利用训练好的票据提取模型,能从所述待识别图片中识别出训练样本中各种类别的票据图片,与各种类别的票据图片不相关的图片不会被提取出来。这样就可以提高票据识别精确度。

具体地,所述票据提取模型为深度卷积神经网络模型,包括,但不限于:ssd(singleshotmultiboxdetector)模型。ssd算法是一种直接预测边界框(boundingbox)的坐标和类别的目标检测(objectdetection)算法。针对不同大小的物体检测,传统的做法是将图像转换成不同的大小,然后分别处理,最后将结果综合起来,而ssd算法利用不同卷积层的特征映射(featuremap)进行综合也能达到同样的效果。算法的主网络结构是vgg16,将两个全连接层改成卷积层再增加4个卷积层构造网络结构。对其中5个不同的卷积层的输出分别用两个3*3的卷积核进行卷积,一个输出分类用的置信(confidence),每个默认框(defaultbox)生成第一数量(如5个)的confidence(这是针对voc数据集包含第二数量(如4个)的目标(object)类别而言的);一个输出回归用的定位(localization),每个defaultbox生成4个坐标值(x,y,w,h)。另外这5个卷积层还经过先验框(priorbox)层生成defaultbox(生成的是坐标)。上面所述的5个卷积层中每一层的defaultbox的数量是给定的。最后将前面三个计算结果分别合并然后传递给损失(loss)层。

在一可选的实施例中,训练所述票据提取模型的过程包括:

(1)对每种票据图片类别,分别配置每种票据图片类别的票据图片样本,将所述票据图片样本分为第一比例的训练集和第二比例的验证集。

其中,预设的票据图片类别包括多种,例如包括门诊类票据和住院类票据等,第一预设数量例如为1000张,第一比例例如为75%,第二比例例如为25%,其中,第一比例与第二比例之和小于等于1。

(2)利用每种票据图片类别的票据图片样本中的训练集训练所述票据提取模型。

(3)利用所述验证集验证训练的票据提取模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加每种票据图片类别的票据图片样本数量并重新执行上述步骤(2)、(3),直至训练的票据提取模型的准确率大于或者等于预设准确率。

s22、所述识别设备从票据图片中检测至少一个文本位置。

优选地,所述从票据图片中检测至少一个文本位置包括:

(a)、利用票面底色滤除技术对所述票据图片进行处理,得到滤除后的票据图片。

具体地,所述票面底色滤除技术为现有技术,此处不再详述,所述滤除后的票据图片的字符笔划更加清晰突出,票据的边线更加完整,这样后续做检测及识别操作时,可以提高准确度。

(b)、利用训练好的文本位置检测模型检测所述滤除后的票据图片中至少一个文本位置。

进一步地,训练所述文本位置检测模型的训练样本为各种类别的票据样本,例如票据清单类别、医院票据类别、餐饮票据类别等等。在训练过程中,文本位置检测模型去学习各种类别的票据样本中关键字段所在的位置,这样训练好的文本位置检测模型,可以从每种类别的票据样本中识别出所有关键字段的位置所在。例如,医院票据类别的关键字段的位置包括,但不限于:医院名称字段所在的位置、用户名称字段所在的位置、药品清单字段所在的位置,日期字段所在的位置、票据号码字段所在的位置等等。

所述文本位置检测模型包括,但不限于:ctpn(connectionisttextproposalnetwork)模型。

在一可选的实施例中,训练所述文本位置检测模型的过程包括:

(1)对每种票据图片类别,分别配置每种票据图片类别的票据图片样本,将所述票据图片样本分为第一比例的训练集和第二比例的验证集。

其中,预设的票据图片类别包括多种,例如包括门诊类票据和住院类票据等,第一预设数量例如为1000张,第一比例例如为75%,第二比例例如为25%,其中,第一比例与第二比例之和小于等于1。

(2)标注每种票据图片类别中每个票据图片样本中的每个关键字段位置。

(3)利用每种票据图片类别中标注后的票据图片样本训练所述文本位置检测模型。

(4)利用所述验证集验证训练的文本位置检测模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加每种票据图片类别的票据图片样本数量并重新执行上述步骤(3)、(4),直至训练的文本位置检测模型的准确率大于或者等于预设准确率。

s23、所述识别设备识别至少一个文本位置中每个文本位置处的关键字段,并得到每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度。

可选地,利用warp-ctc算法对每个文本位置处的关键字段进行识别。所述warp-ctc是一种改进的循环神经网络(rnn,recurrentneuralnetworks)模型,是百度硅谷人工智能实验室开源了可以让人工智能软件运行更高效的关键代码warp-ctc。所述warp-ctc算法运用c语言编译,并做了集成化处理。它可以解决绘制输入序列到输出序列图谱过程中的监督难题,应用于识别技术中。所述warp-ctc算法所需的存储空间小,比普通ctc(connectionisttemporalclassification)速度快数百倍。

进一步,将每个文本位置处的关键字段输入训练好的改进的rnn模型中,对每个文本位置处的关键字段进行处理,输出每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度。

具体地,训练所述改进的rnn模型包括:

(1)获取关键字段样本,将所述关键字段样本分为第一比例的训练集和第二比例的验证集。

(2)利用所述训练集中的关键字段样本训练所述改进的rnn模型。

(3)利用所述验证集验证训练的所述改进的rnn模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加关键字段样本数量并重新执行上述步骤(2)、(3),直至训练的所述改进的rnn模型的准确率大于或者等于预设准确率。

优选地,票据的用途不同,票据的关键字段也是不同的。所述关键字段包括,但不限于:医院名称字段、用户名称字段、医药药品字段、日期字段等等。

s24、所述识别设备根据每个文本位置处关键字段的机器识别结果的置信度,获取符合条件的第一类关键字段。

优选地,所述符合条件的第一类关键字段包括但不限于以下任意一种或者多种的组合:

(1)将机器识别结果的置信度低于或者等于置信阈值的关键字段作为所述第一类关键字段的一部分。

进一步地,所述置信阈值可以是预先配置的阈值,例如(0.9)。也可以根据所有关键字段的机器识别结果的置信度进行配置所述置信阈值,例如,将所述关键字段的机器识别结果的置信度的平均值作为所述置信度阈值等等。这样可以根据实际数据确定置信阈值,使置信阈值的配置更符合实际需求。

(2)将所有关键字段的机器识别结果的置信度,按照从大到小进行排序,选取排在后预设位数(取后10位)的关键字段作为所述第一类关键字段的一部分。

优选地,在所有关键字段中,除去所述第一类关键字段,不符合条件的关键字段为第二类关键字段。

s25、所述识别设备将第一类关键字段中每个关键字段的图片发送至众包平台处理设备。

可选地,众包平台通常是大型的大众网络的模式,每个用户可以以自由自愿的形式在所述众包平台上注册成为会员用户,所述众包平台处理设备用于所述众包平台的数据。

s26、所述众包平台处理设备将第一类关键字段中每个关键字段的图片发送至多个用户以使多个用户对第一类关键字段中同一关键字段的图片进行校验。

可选地,所述众包平台将所述第一类关键字段中每个关键字段作为一个任务分发给多个用户进行校验,使多个用户对同一关键字段的图片进行校验。

s27、所述众包平台处理设备根据第一类关键字段中每个关键字段对应的多个用户的检验结果,确定第一类关键字段中每个关键字段的识别结果。

优选地,对于所述第一类关键字段中每个关键字段,将多个用户提供的检验结果中超过人数阈值的校验结果作为每个关键字段的识别结果。例如,将日期字段发送给三个用户,若三个用户对所述日期字段的校验结果有三个不同的答案,则确定没有正确结果,若三个用户中,有两个用户的答案相同,则将两个用户的答案作为日期字段的检验结果。

优选地,对于所述第一类关键字段中每个关键字段,在多个用户提供的检验结果中,不存在超过人数阈值的校验结果时,向所述识别处理设备发送无法检验的提示,以使所述识别设备向终端设备发送提示,提示用户重新上传票据图片,从而保证识别的精度。

通过上述实施,本发明先用智能识别算法对关键字段进行检测及识别,并得到关键字段的机器识别结果的置信度,将置信度低于阈值的关键字段发送至众包平台进行校验,通过众包平台将同一关键字段发送至多个用户进行校验,并获取多个用户对同一关键字段的校验结果,从而提高票据识别的准确率,从而快速建档。

s28、所述识别设备获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果。

s29、所述识别设备将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

所述待识别图片包括一张或者多张票据图片,为了后续计算的方便,需要进行汇总输出,例如,一个用户的报销单有多个票据,都贴在一个待识别图片中,若只是返回一个票据图片的识别结果,后续无法报销计算。

通过上述实施,本发明先用智能识别算法对关键字段进行检测及识别,并得到关键字段的机器识别结果的置信度,将置信度低于阈值的关键字段发送至众包平台进行校验,通过众包平台将同一关键字段发送至多个用户进行校验,并获取多个用户对同一关键字段的校验结果,最后输出票据图片的识别结果,从而提高票据识别的准确率,从而快速建档。

如图3所示,本发明票据识别装置的第一较佳实施例的程序模块图。所述票据识别装置4包括,但不限于以下一个或者多个程序模块:获取模块40、提取模块41、训练模块42、检测模块43、识别模块44、发送模块45、数据发送模块46、确定模块47、提示模块48及输出模块49。本发明所称的程序模块是指一种能够被票据识别装置4的处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。关于各模块的功能将在后续的实施例中详述。

在优选实施例中,所述识别设备的存储器用于存储以下一个或者多个程序模块:获取模块40、提取模块41、训练模块42、检测模块43、识别模块44及发送模块45及输出模块49,并通过所述识别设备的处理器执行所述一个或者多个模块:获取模块40、提取模块41、训练模块42、检测模块43、识别模块44及发送模块45。所述众包平台处理设备的存储器用于存储以下一个或者多个程序模块:数据发送模块46、确定模块47及提示模块48,并通过所述众包平台处理设备的处理器执行所述一个或者多个程序模块:数据发送模块46、确定模块47及提示模块48。

所述获取模块40获取待识别图片。所述识别设备包括,但不限于服务器等。所述识别设备可以与多个终端设备相通信,所述识别设备提供用户界面接口给用户。例如,一个用户需要报销,通过所述识别设备提供的用户接口,将报销的医院票据通过所述用户接口,上传至其所述识别设备中。

所述提取模块41从待识别图片中提取票据图片。所述票据图片包括至少一张票据图片,即一张或者多张票据图片。

优选地,所述提取模块41从所述待识别图片中提取所述至少一票据图片中每张票据图片,判断每张票据图片的位置是否有倾斜,对位置倾斜的票据图片进行位置矫正以使每张票据图片都处于标准位置中。这样可以使每张票据图片都处于同一标准下,便于后续与票据模板进行匹配,提高文本位置检测的准确度。

进一步地,所述提取模块41利用训练好的票据提取模型提取所述至少一张票据图片中每张票据图片,其中每张票据图片属于训练所述票据提取模型的训练样本的一个类别。利用票据提取模型可以从所述待识别图片中提取各种形状和大小的票据图片,从而使每个票据图片都能被提取出来。

进一步地,所述训练模块42训练所述票据提取模型的训练样本为各种类别的票据样本,例如票据清单类别、医院票据类别、餐饮票据类别等等。在训练过程中,票据提取模型去学习各种类别的票据样本的特征,这样利用训练好的票据提取模型,能从所述待识别图片中识别出训练样本中各种类别的票据图片,与各种类别的票据图片不相关的图片不会被提取出来。这样就可以提高票据识别精确度。

具体地,所述票据提取模型为深度卷积神经网络模型,包括,但不限于:ssd(singleshotmultiboxdetector)模型。ssd算法是一种直接预测边界框(boundingbox)的坐标和类别的目标检测(objectdetection)算法。针对不同大小的物体检测,传统的做法是将图像转换成不同的大小,然后分别处理,最后将结果综合起来,而ssd算法利用不同卷积层的特征映射(featuremap)进行综合也能达到同样的效果。算法的主网络结构是vgg16,将两个全连接层改成卷积层再增加4个卷积层构造网络结构。对其中5个不同的卷积层的输出分别用两个3*3的卷积核进行卷积,一个输出分类用的置信(confidence),每个默认框(defaultbox)生成第一数量(如5个)的confidence(这是针对voc数据集包含第二数量(如4个)的目标(object)类别而言的);一个输出回归用的定位(localization),每个defaultbox生成4个坐标值(x,y,w,h)。另外这5个卷积层还经过先验框(priorbox)层生成defaultbox(生成的是坐标)。上面所述的5个卷积层中每一层的defaultbox的数量是给定的。最后将前面三个计算结果分别合并然后传递给损失(loss)层。

在一可选的实施例中,所述训练模块42训练所述票据提取模型的过程包括:

(1)对每种票据图片类别,分别配置每种票据图片类别的票据图片样本,将所述票据图片样本分为第一比例的训练集和第二比例的验证集。

其中,预设的票据图片类别包括多种,例如包括门诊类票据和住院类票据等,第一预设数量例如为1000张,第一比例例如为75%,第二比例例如为25%,其中,第一比例与第二比例之和小于等于1。

(2)利用每种票据图片类别的票据图片样本中的训练集训练所述票据提取模型。

(3)利用所述验证集验证训练的票据提取模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加每种票据图片类别的票据图片样本数量并重新执行上述步骤(2)、(3),直至训练的票据提取模型的准确率大于或者等于预设准确率。

所述检测模块43从票据图片中检测至少一个文本位置。

优选地,所述检测模块43从票据图片中检测至少一个文本位置包括:

(a)、利用票面底色滤除技术对所述票据图片进行处理,得到滤除后的票据图片。

具体地,所述票面底色滤除技术为现有技术,此处不再详述,所述滤除后的票据图片的字符笔划更加清晰突出,票据的边线更加完整,这样后续做检测及识别操作时,可以提高准确度。

(b)、利用训练好的文本位置检测模型检测所述滤除后的票据图片中至少一个文本位置。

进一步地,训练所述文本位置检测模型的训练样本为各种类别的票据样本,例如票据清单类别、医院票据类别、餐饮票据类别等等。在训练过程中,文本位置检测模型去学习各种类别的票据样本中关键字段所在的位置,这样训练好的文本位置检测模型,可以从每种类别的票据样本中识别出所有关键字段的位置所在。例如,医院票据类别的关键字段的位置包括,但不限于:医院名称字段所在的位置、用户名称字段所在的位置、药品清单字段所在的位置,日期字段所在的位置、票据号码字段所在的位置等等。

所述文本位置检测模型包括,但不限于:ctpn(connectionisttextproposalnetwork)模型。

在一可选的实施例中,所述训练模块42训练所述文本位置检测模型的过程包括:

(1)对每种票据图片类别,分别配置每种票据图片类别的票据图片样本,将所述票据图片样本分为第一比例的训练集和第二比例的验证集。

其中,预设的票据图片类别包括多种,例如包括门诊类票据和住院类票据等,第一预设数量例如为1000张,第一比例例如为75%,第二比例例如为25%,其中,第一比例与第二比例之和小于等于1。

(2)标注每种票据图片类别中每个票据图片样本中的每个关键字段位置。

(3)利用每种票据图片类别中标注后的票据图片样本训练所述文本位置检测模型。

(4)利用所述验证集验证训练的文本位置检测模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加每种票据图片类别的票据图片样本数量并重新执行上述步骤(3)、(4),直至训练的文本位置检测模型的准确率大于或者等于预设准确率。

所述识别模块44识别至少一个文本位置中每个文本位置处的关键字段,并得到每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度。可选地,利用warp-ctc算法对每个文本位置处的关键字段进行识别。所述warp-ctc是一种改进的循环神经网络(rnn,recurrentneuralnetworks)模型,是百度硅谷人工智能实验室开源了可以让人工智能软件运行更高效的关键代码warp-ctc。所述warp-ctc算法运用c语言编译,并做了集成化处理。它可以解决绘制输入序列到输出序列图谱过程中的监督难题,应用于识别技术中。所述warp-ctc算法所需的存储空间小,比普通ctc(connectionisttemporalclassification)速度快数百倍。

进一步,将每个文本位置处的关键字段输入训练好的改进的rnn模型中,对每个文本位置处的关键字段进行处理,输出每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度。

具体在,训练所述改进的rnn模型包括:

(1)获取关键字段样本,将所述关键字段样本分为第一比例的训练集和第二比例的验证集。

(2)利用所述训练集中的关键字段样本训练所述改进的rnn模型。

(3)利用所述验证集验证训练的所述改进的rnn模型的准确率,若准确率大于或者等于预设准确率,则训练结束,或者,若准确率小于预设准确率,则增加关键字段样本数量并重新执行上述步骤(2)、(3),直至训练的所述改进的rnn模型的准确率大于或者等于预设准确率。

优选地,票据的用途不同,票据的关键字段也是不同的。所述关键字段包括,但不限于:医院名称字段、用户名称字段、医药药品字段、日期字段等等。

所述获取模块40根据每个文本位置处关键字段的机器识别结果的置信度,获取符合条件的第一类关键字段。

优选地,所述符合条件的第一类关键字段包括但不限于以下任意一种或者多种的组合:

(1)将机器识别结果的置信度低于或者等于置信阈值的关键字段作为所述第一类关键字段的一部分。

进一步地,所述置信阈值可以是预先配置的阈值,例如(0.9)。也可以根据所有关键字段的机器识别结果的置信度进行配置所述置信阈值,例如,将所述关键字段的机器识别结果的置信度的平均值作为所述置信度阈值等等。这样可以根据实际数据确定置信阈值,使置信阈值的配置更符合实际需求。

(2)将所有关键字段的机器识别结果的置信度,按照从大到小进行排序,选取排在后预设位数(取后10位)的关键字段作为所述第一类关键字段的一部分。

优选地,在所有关键字段中,除去所述第一类关键字段,不符合条件的关键字段为第二类关键字段。

所述发送模块45将第一类关键字段中每个关键字段的图片发送至众包平台处理设备。

可选地,众包平台通常是大型的大众网络的模式,每个用户可以以自由自愿的形式在所述众包平台上注册成为会员用户,所述众包平台处理设备用于所述众包平台的数据。

所述数据发送模块46将第一类关键字段中每个关键字段的图片发送至多个用户以使多个用户对第一类关键字段中同一关键字段的图片进行校验。

可选地,所述众包平台将所述第一类关键字段中每个关键字段作为一个任务分发给多个用户进行校验,使多个用户对同一关键字段的图片进行校验。

所述确定模块47根据第一类关键字段中每个关键字段对应的多个用户的检验结果,确定第一类关键字段中每个关键字段的识别结果。

优选地,所述确定模块47对于所述第一类关键字段中每个关键字段,将多个用户提供的检验结果中超过人数阈值的校验结果作为每个关键字段的识别结果。例如,将日期字段发送给三个用户,若三个用户对所述日期字段的校验结果有三个不同的答案,则确定没有正确结果,若三个用户中,有两个用户的答案相同,则将两个用户的答案作为日期字段的检验结果。

优选地,所述提示模块48对于所述第一类关键字段中每个关键字段,在多个用户提供的检验结果中,不存在超过人数阈值的校验结果时,向所述识别处理设备发送无法检验的提示,以使所述识别设备向终端设备发送提示,提示用户重新上传票据图片,从而保证识别的精度。

通过上述实施,本发明先用智能识别算法对关键字段进行检测及识别,并得到关键字段的机器识别结果的置信度,将置信度低于阈值的关键字段发送至众包平台进行校验,通过众包平台将同一关键字段发送至多个用户进行校验,并获取多个用户对同一关键字段的校验结果,从而提高票据识别的准确率,从而快速建档。

在优选实施例中,所述获取模块40获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果。

所述输出模块49将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

所述待识别图片包括一张或者多张票据图片,为了后续计算的方便,需要进行汇总输出,例如,一个用户的报销单有多个票据,都贴在一个待识别图片中,若只是返回一个票据图片的识别结果,后续无法报销计算。

通过上述实施,本发明先用智能识别算法对关键字段进行检测及识别,并得到关键字段的机器识别结果的置信度,将置信度低于阈值的关键字段发送至众包平台进行校验,通过众包平台将同一关键字段发送至多个用户进行校验,并获取多个用户对同一关键字段的校验结果,最后输出票据图片的识别结果,从而提高票据识别的准确率,从而快速建档。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明每个实施例所述方法的部分步骤。

如图4所示,所述票据识别装置4包括至少一个发送装置51、至少一个存储器52、至少一个处理器53、至少一个接收装置54、识别设备55及众包平台处理设备56以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。

在优选实施例中,所述识别设备55与所述众包平台处理设备56没有集成在所述票据识别装置4中,所述识别设备55与所述众包平台处理设备56通过网络相通信。在其他实施例中,所述识别设备55及众包平台处理设备56也可以集成在一个设备中,如所述票据识别装置4中,无需进行网络通信等等。本发明对所述票据识别装置4中的识别设备55及众包平台处理设备56的存在形式不做任何限制。

所述识别设备55及众包平台处理设备56是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述票据识别装置4还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。

所述识别设备55及众包平台处理设备56可以是,但不限于任何一种可与用户通过键盘、触摸板或声控设备等方式进行人机交互的电子产品,例如,平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、智能式穿戴式设备、摄像设备、监控设备等终端。

所述识别设备55及众包平台处理设备56所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。

其中,所述接收装置54和所述发送装置51可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。

所述存储器52、所述识别设备55的存储器及所述众包平台处理设备56的存储器用于存储程序代码。所述存储器52、所述识别设备55的存储器及所述众包平台处理设备56的存储器可以是集成电路中没有实物形式的具有存储功能的电路,如ram(random-accessmemory,随机存取存储器)、fifo(firstinfirstout,)等。或者,所述存储器52、所述识别设备55的存储器及所述众包平台处理设备56也可以是具有实物形式的存储器,如内存条、tf卡(trans-flashcard)、智能媒体卡(smartmediacard)、安全数字卡(securedigitalcard)、快闪存储器卡(flashcard)等储存设备等等。

所述处理器53、所述识别设备55的处理器及众包平台处理设备56的处理器可以包括一个或者多个微处理器、数字处理器。所述识别设备55的处理器可调用所述识别设备55的存储器中存储的程序代码以执行相关的功能,所述众包平台处理设备56的处理器可调用所述众包平台处理设备56的存储器中存储的程序代码以执行相关的功能。例如,图2及图3中所述的各个模块是存储在所述识别设备55的存储器及所述众包平台处理设备56的存储器中的程序代码,并由所述识别设备55的处理器及所述众包平台处理设备56的处理器所执行,以实现一种票据识别方法。所述识别设备55的处理器及所述众包平台处理设备56的处理器又称中央处理器(cpu,centralprocessingunit),是一块超大规模的集成电路,是运算核心(core)和控制核心(controlunit)。

在其他实施例中,所述处理器53可调用所述存储器52中存储的程序代码以执行相关的功能,所述处理器53可调用所述存储器52中存储的程序代码以执行相关的功能。例如,图2及图3中所述的各个模块是存储在所述存储器52中的程序代码,并由所述处理器53所执行,以实现一种票据识别方法

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令当被包括一个或多个处理器的票据识别装置执行时,使票据识别装置执行如上文方法实施例所述的票据识别方法。

优选地,结合图2所示,所述识别设备55的存储器及所述众包平台处理设备56的存储器存储多个指令以实现一种票据识别方法,所述识别设备55的处理器可执行所述多个指令从而实现:获取待识别图片;从所述待识别图片中提取票据图片;从所述票据图片中检测至少一个文本位置;识别所述至少一个文本位置中每个文本位置处的关键字段,并得到每个文本位置处关键字段的机器识别结果及每个文本位置处关键字段的机器识别结果的置信度;根据每个文本位置处关键字段的机器识别结果的置信度,获取符合条件的第一类关键字段;将第一类关键字段中每个关键字段的图片发送至众包平台处理设备;

所述众包平台处理设备56的处理器可执行所述多个指令从而实现:将第一类关键字段中每个关键字段的图片发送至多个用户以使多个用户对第一类关键字段中同一关键字段的图片进行校验;根据第一类关键字段中每个关键字段对应的多个用户的检验结果,确定第一类关键字段中每个关键字段的识别结果;

所述识别设备55的处理器可执行所述多个指令从而实现:获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果;

将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

根据本发明优选实施例,所述识别设备的处理器可执行所述多个指令还包括:

利用训练好的票据提取模型提取所述至少一张票据图片中每张票据图片,其中每张票据图片属于训练所述票据提取模型的训练样本的一个类别。

根据本发明优选实施例,所述识别设备的处理器可执行所述多个指令还包括:在从所述票据图片中检测至少一个文本位置之前,判断每张票据图片的位置是否有倾斜,对位置倾斜的票据图片进行位置矫正以使每张票据图片都处于标准位置中。

根据本发明优选实施例,所述识别设备的处理器可执行所述多个指令还包括:

利用票面底色滤除技术对所述票据图片进行处理,得到滤除后的票据图片;

利用训练好的文本位置检测模型检测所述滤除后的票据图片中至少一个文本位置,其中训练所述文本位置检测模型的训练样本为各种类别的票据样本;

根据本发明优选实施例,所述符合条件的第一类关键字段包括但不限于以下任意一种或者多种的组合:

将机器识别结果的置信度低于或者等于置信阈值的关键字段作为所述第一类关键字段的一部分;

将所有关键字段的机器识别结果的置信度,按照从大到小进行排序,选取排在后预设位数。

根据本发明优选实施例,所述众包平台处理设备的处理器可执行所述多个指令还包括:

对于所述第一类关键字段中每个关键字段,将多个用户提供的检验结果中超过人数阈值的校验结果作为每个关键字段的识别结果。

根据本发明优选实施例,所述众包平台处理设备还包括:

对于所述第一类关键字段中每个关键字段,在多个用户提供的检验结果中,不存在超过人数阈值的校验结果时,通过所述众包处理设备向所述识别处理设备发送无法检验的提示,以使所述识别设备提示用户重新上传票据图片。

根据本发明优选实施例,所述识别设备的处理器可执行所述多个指令还包括:

通过所述识别设备获取不符合条件的第二类关键字段,将第二类关键字段中每个关键字段的机器识别结果确定为第二类关键字段中每个关键字段的识别结果;

通过所述识别设备将每个票据图片中第一类关键字段中每个关键字段的识别结果及第二类关键字段中每个关键字段的识别结果进行汇总,并输出每个票据图片的识别结果。

根据本发明优选实施例,所述识别设备的处理器可执行所述多个指令还包括:根据每个文本位置处关键字段的机器识别结果的置信度配置所述置信阈值。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明的各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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