CN110288755B - 基于文本识别的发票检验方法、服务器及存储介质 - Google Patents
基于文本识别的发票检验方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN110288755B CN110288755B CN201910421961.2A CN201910421961A CN110288755B CN 110288755 B CN110288755 B CN 110288755B CN 201910421961 A CN201910421961 A CN 201910421961A CN 110288755 B CN110288755 B CN 110288755B
- Authority
- CN
- China
- Prior art keywords
- invoice
- preset
- image
- server
- information
- 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
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D7/00—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
- G07D7/20—Testing patterns thereon
- G07D7/2008—Testing patterns thereon using pre-processing, e.g. de-blurring, averaging, normalisation or rotation
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D7/00—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
- G07D7/20—Testing patterns thereon
- G07D7/202—Testing patterns thereon using pattern matching
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于文本识别的发票检验方法,应用于第一服务器,该方法包括获取待检验发票图像,并根据矫正规则对待检验发票图像进行倾斜矫正;利用预先训练的与预设类型发票字段对应的识别模型识别出矫正后的待检验发票图像上对应的预设发票字段信息;将预设类型发票字段信息发送第二服务器进行发票真伪验证;若发票真伪验证失败,则发送验证失败提示信息至客户端;及/或若发票真伪验证成功,则发送验证成功提示信息至客户端。本发明能够先根据矫正规则将对待检验发票图像进行倾斜矫正,通过识别模型对待检验发票图像上的预设类型发票字段信息的识别后,对发票进行真伪验证并将验证结果发送给相对应的客户端,提高发票检验的准确率。
Description
技术领域
本发明涉及信息识别技术领域,尤其涉及一种基于文本识别的发票检验方法、服务器及存储介质。
背景技术
目前,在不同的行业,尤其是金融行业,针对发票进行核验的现有方式通常是通过人工查看发票影像核对票面信息的一致性,和实际的业务流程相分离,这种现有方式的缺陷在于:发票买卖方、金额、发票的存续状态等监控需要不同人在不同的流程中分别进行核查,耗费较大人力物力;对于发票金额小,发票张数多的情况下人工核验很容易出错;发票影像不利于检索及查阅。
虽然,目前市面上存在着扫描影像档信息识别技术,但这种现有的扫描影像档信息识别技术通常因拍摄场景和拍摄方式的影响导致识别精度不够,无法有效运用于发票的识别领域,同时,如何对发票的相关信息进行自动准确地核验也是一个技术难点。
因此,如何基于发票影像进行高效、准确地发票核验,已经成为一个亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种基于文本识别的发票检验方法、服务器及存储介质,旨在解决现有的发票检验方式存在准确率及效率低的技术问题。
为实现上述目的,本发明提供的一种基于文本识别的发票检验方法,应用于第一服务器,该方法包括:
矫正步骤:获取待检验发票图像,并根据预先确定的矫正规则对所述待检验发票图像进行倾斜矫正;
识别步骤:利用预先训练的与预设类型发票字段对应的识别模型,识别出矫正后的所述待检验发票图像上对应的预设发票字段信息;
验证步骤:将识别出的所述预设类型发票字段信息发送至所述第二服务器进行发票真伪验证;
第一反馈步骤:若发票真伪验证失败,则发送验证失败提示信息至客户端;及/或
第二反馈步骤:若发票真伪验证成功,则发送验证成功提示信息至所述客户端。
优选地,在所述第二反馈步骤之后,该方法还包括以下步骤:
若发票真伪验证成功,则接收所述第二服务器反馈的与所述预设类型发票字段信息对应的发票全属性字段信息,并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及
生成发票对比展示界面,并将所述发票对比界面反馈至所述客户端进行展示,所述发票对比展示界面包括所述结构化发票的显示区域及所述待检验发票图像的显示区域。
优选地,所述矫正规则包括:
采用霍夫变换的概率算法得到所述待检验发票图像中小于或等于第一预设长度的第一直线段;
从所述第一直线段中确定出倾斜角度小于或等于第一预设角度的所有第二直线段;
将所述确定出的第二直线段中心点的y坐标值之差小于或等于预设阈值的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所像的述中位数与均值中的较小者,并根据确定出的较小者调整所述待检验发票图倾角。
优选地,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量的发票图像样本,其中,所述发票图像中包含所述预设类型发票字段的字符信息,并将各个所述发票图像样本的名称命名为所含的所述预设类型发票字段的字符信息;
将所述票据图像样本按照预设比例分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行训练,每隔预设周期使用所述第二数据集对所述时间递归神经网络模型进行测试;
利用训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别的结果和期望结果的误差;
若训练得到的模型对票据图像识别的误差大于预设阈值,则进行多次迭代;及
若训练得到的模型对票据图像识别的误差小于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
优选地,在第二反馈步骤中当发票真伪验证成功之后,该方法还包括以下步骤:
获取已验证成功的发票状态,若所述发票的发票状态为异常,则向客户端发送发票状态异常的提醒信息;及/或
获取已验证成功的发票对应的交易登记信息,分析是否有与所述发票对应的交易登记信息存在冲突,若所述交易登记信息存在冲突,则向客户端发送交易等级信息存在冲突的提醒信息。
为实现上述目的,本发明还进一步提供一种服务器,所述服务器包括存储器和处理器,所述存储器上存储有发票检验程序,所述发票检验程序被所述处理器执行时实现如下步骤:
矫正步骤:获取待检验发票图像,并根据预先确定的矫正规则对所述待检验发票图像进行倾斜矫正;
识别步骤:利用预先训练的与预设类型发票字段对应的识别模型,识别出矫正后的所述待检验发票图像上对应的预设发票字段信息;
验证步骤:将识别出的所述预设类型发票字段信息发送至所述第二服务器进行发票真伪验证,并接收所述第二服务器反馈的发票真伪验证结果;
第一反馈步骤:若发票真伪验证失败,则发送验证失败提示信息至客户端;及/或
第二反馈步骤:若发票真伪验证成功,则发送验证成功提示信息至所述客户端。
优选地,所述处理器运行所述发票验证程序,还执行:
若发票真伪验证成功,则接收所述验证步骤中用于验证发票真伪的服务器反馈的与所述预设类型发票字段信息对应的发票全属性字段信息,并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及
生成发票对比展示界面,并将所述发票对比界面反馈至所述客户端进行展示,所述发票对比展示界面包括所述结构化发票的显示区域及所述待检验发票图像的显示区域。
优选地,所述矫正规则包括:
采用霍夫变换的概率算法得到所述待检验发票图像中小于或等于第一预设长度的第一直线段;
从所述第一直线段中确定出倾斜角度小于或等于第一预设角度的所有第二直线段;
将所述确定出的第二直线段中心点的y坐标值之差小于或等于预设阈值的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所像的述中位数与均值中的较小者,并根据确定出的较小者调整所述待检验发票图倾角。
优选地,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量的发票图像样本,其中,所述发票图像中包含所述预设类型发票字段的字符信息,并将各个所述发票图像样本的名称命名为所含的所述预设类型发票字段的字符信息;
将所述票据图像样本按照预设比例分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行训练,每隔预设周期使用所述第二数据集对所述时间递归神经网络模型进行测试;
利用训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别的结果和期望结果的误差;
若训练得到的模型对票据图像识别的误差大于预设阈值,则进行多次迭代;及
若训练得到的模型对票据图像识别的误差小于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有发票检验程序,所述发票检验程序可被一个或者多个处理器执行,以实现如上所述的发票检验方法的步骤。
本发明提出的基于文本识别的发票检验方法、服务器及存储介质,通过获取待检验发票图像,并根据预先确定的矫正规则对待检验发票图像进行倾斜矫正,建立与预设类型发票字段对应的预先训练的识别模型,根据识别模型识别出矫正后的到检验发票图像上对应的预设发票字段信息,之后将识别出的预设类型发票字段信息发送至第二服务器进行发票真伪验证,并将验证结果发送至相对应的客户端。相比较现有的发票检验方式,本发明能够先根据矫正规则将获取到的待检验发票图像进行倾斜矫正,提高了后续识别模型对待检验发票图像上的预设类型发票字段信息的识别精度,同时能够将识别的预设类型发票字段信息发送至第二服务器进行发票真伪验证后将验证结果自动发送给相对应的客户端,提高了发票检验的准确率。
附图说明
图1为本发明服务器较佳实施例的应用环境图;
图2为图1中发票检验程序较佳实施例的程序模块示意图;
图3为本发明发票检验方法较佳实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种服务器。参照图1所示,第一服务器1接收到客户端14发送的待检验发票图像后,根据预先确定的矫正规则对待检验发票图像进行倾斜矫正,使得待检验发票调整为水平无倾斜状态,以提高后续识别模型对待检验发票上的预设发票字段信息的识别准确率。之后将识别到的预设发票字段信息发送至第二服务器2,第二服务器2根据预设发票字段信息对待检验发票进行真伪验证,并将验证结果发送至客户端14。
相比较现有的发票检验方式,本发明能够先根据矫正规则将获取到的待检验发票图像进行倾斜矫正,提高后续识别模型对待检验发票图像上的预设类型发票字段信息的识别精度,同时本发明能够将识别到的预设类型发票字段信息发送至第二服务器2进行发票真伪验证后将验证结果发送给相对应的客户端14,提高了发票检验的准确率。
所述服务器(例如图1中第一服务器1或第二服务器2)可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等的一种或几种。该服务器包括,但不仅限于,存储器11、处理器12及网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是服务器的内部存储单元,例如该服务器的硬盘。存储器11在另一些实施例中也可以是服务器的外部存储设备,例如该服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,存储器11还可以既包括服务器的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于服务器的应用软件及各类数据,例如发票检验程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行发票检验程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该服务器与其他电子设备之间建立通信连接。
客户端14可以是桌上型计算机、笔记本、平板电脑、手机,或其他具有获取发票图像功能且可以通过网络15与服务器进行通信的终端装置。
网络15可以为互联网、云网络、无线保真(Wi-Fi)网络、个人网(PAN)、局域网(LAN)和/或城域网(MAN)。网络环境中的各种设备可以被配置为根据各种有线和无线通信协议连接到通信网络。这样的有线和无线通信协议的例子可以包括但不限于以下中的至少一个:传输控制协议和互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、文件传输协议(FTP)、ZigBee、EDGE、IEEE 802.11、光保真(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、多跳通信、无线接入点(AP)、设备对设备通信、蜂窝通信协议和/或蓝牙(BlueTooth)通信协议或其组合。
可选地,该服务器还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在服务器中处理的信息以及用于显示可视化的用户界面。
图1仅示出了具有组件11-15以及发票检验程序10的第一服务器1及第二服务器2,本领域技术人员可以理解的是,图1示出的结构并不构成对第一服务器1及第二服务器2的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在一实施例中,图1的发票检验程序10被处理器12执行时,实现以下步骤:
矫正步骤:获取待检验发票图像,并根据预先确定的矫正规则对所述待检验发票图像进行倾斜矫正;
识别步骤:利用预先训练的与预设类型发票字段对应的识别模型,识别出矫正后的所述待检验发票图像上对应的预设发票字段信息;
验证步骤:将识别出的所述预设类型发票字段信息发送至所述第二服务器2进行发票真伪验证;
第一反馈步骤:若发票真伪验证失败,则发送验证失败提示信息至客户端14;及/或
第二反馈步骤:若发票真伪验证成功,则发送验证成功提示信息至所述客户端14。
在另一实施例中,在所述第二反馈步骤之后,该方法还包括以下步骤:
若发票真伪验证成功,则接收所述第二服务器2反馈的与所述预设类型发票字段信息对应的发票全属性字段信息,并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及
生成发票对比展示界面,并将所述发票对比界面反馈至所述客户端14进行展示,所述发票对比展示界面包括所述结构化发票的显示区域及所述待检验发票图像的显示区域。
在另一实施例中,在第二反馈步骤中当发票真伪验证成功之后,该方法还包括以下步骤:
获取已验证成功的发票状态,若所述发票的发票状态为异常,则向客户端14发送发票状态异常的提醒信息;及/或
获取已验证成功的发票对应的交易登记信息,分析是否有与所述发票对应的交易登记信息存在冲突,若所述交易登记信息存在冲突,则向客户端14发送交易登记信息存在冲突的提醒信息。
关于上述步骤的详细介绍,请参照下述图2关于发票检验程序10实施例的程序模块示意图及图3关于发票检验方法实施例的方法流程示意图的说明。
参照图2所示,为图1中发票检验程序10实施例的程序模块示意图。发票检验程序10被分割为多个模块,该多个模块存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
在本实施例中,所述发票检验程序10包括矫正模块110、识别模块120、验证模块130、第一反馈模块140及第二反馈模块150。
矫正模块110,用于对获取到的待检验发票图像进行倾斜矫正。
第一服务器1接收由客户端14获取的待检验发票图像,并根据预先确定好的矫正规则对待检验发票图像进行倾斜矫正。
在本实施例中,所述矫正规则包括:
采用霍夫变换(Hough)的概率算法得到所述待检验发票图像中尽可能多的长度小于或等于第一预设长度(例如0.3cm)的第一直线段;
从得到的所述第一直线段中确定出倾斜角度小于或等于第一预设角度(例如5°)的所有第二直线段;
将所述确定出的第二直线段中心点的y坐标值之差小于或等于预设阈值(例如0.6cm)的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所述中位数与均值中的较小者,作为最能够代表所述待检验发票图像的倾斜线段的斜率,例如,从待检验发票图像中获取三条第二直线段,分别为a(长度0.1cm,倾斜角度4°,中心点y坐标值0.1)、b(长度0.2cm,倾斜角度3°,中心点y坐标值0.2)、c(长度0.3cm,倾斜角度2°,中心点y坐标值0.3)a与b及c之间的中心点y坐标值之差均小于0.6,因此第二直线段a、b、c为同一类,并作为目标类直线,之后利用最小二乘法通过最小化误差的平方和寻找目标类直线的最佳函数匹配(即拟合直线),并根据确定出的较小者调整所述待检验发票图像的倾角,使得矫正后的待检验发票图像有利于提高下述识别模块120识别图像信息的准确率。
识别模块120,用于识别出倾斜矫正后的所述待检验发票图像上对应的预设发票字段信息。
识别模块120通过建立与预设类型发票字段信息(例如,所述预设类型发票字段信息可以是发票金额、发票代码、发票号码、销售方、购买方等发票要素信息)对应的预先训练的识别模型识别出矫正后的所述待检验发票图像上对应的预设发票字段信息,例如第一服务器1可以利用发票代码字段对应的预先训练的识别模型,识别出矫正后的发票图片上对应的发票代码;第一服务器1可以利用发票号码字段对应的预先训练的识别模型,识别出倾斜矫正后的发票图片上对应的发票号码。
在本实施例中,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量(例如10万)的发票图像样本,其中,所述发票图像中仅包含一行所述预设类型发票字段的字符信息,所述字符信息的字体为黑色,背景为白色,并将各个所述发票图像样本的名称命名为所含的所述预设类型发票字段的字符信息;
将所述票据图像样本按照预设比例(例如4:1)分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行模型训练,每隔预设周期(例如每进行1000次迭代)使用所述第二数据集对所述时间递归神经网络模型进行测试;
将训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别结果和期望结果的误差;
若测试时的模型对票据图像识别的误差大于预设阈值,例如,当输出的图像样本为数字时,所述预设阈值为识别结果与期望结果之间的差值;当输入的图像样本为文字时,所述预设阈值为识别结果与期望结果之间的汉明距离当输入的图像样本为向量时,所述预设阈值为识别结果与期望结果之间的欧氏距离,则进行多次迭代;及
若测试时的模型对票据图像识别的误差大于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
验证模块130,用于验证待检验发票的真伪。
所述验证模块130将识别出的所述的预设类型发票字段信息发送第二服务器2,在本实施例中,该第二服务器2可以为税务局服务器,该税务服务器根据接收到的预设类型发票字段信息判断出发票的真伪。
第一反馈模块140,用于发送验证失败提示信息给客户端14。
当发票验证失败时,则通过所述第一反馈模块140将验证失败提示信息发送至客户端14。
第二反馈模块150,用于发送验证成功提示信息给客户端14。
当发票验证成功时,则通过所述第二反馈模块150将验证成功提示信息发送至客户端14。
进一步地,所述发票检验程序10还包括对比展示模块:
若发票真伪验证成功,则接收所述第二服务器2反馈的与预设类型发票字段信息对应的发票全属性字段信息,所述发票全属性字段信息指的是发票上所有必要的字段信息(例如,发票金额、发票代码、发票号码、销售方、购买方、开票日期等发票必要字段信息),并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及
生成发票对比展示界面,并将所述发票对比界面反馈至所述客户端14进行展示,所述发票对比展示界面包括结构化发票的显示区域及待检验发票图像的显示区域。
通过对比展示模块在客户端14显示界面上显示重构的结构化发票及原先的待检验发票图像形成对比,从而使检验人员能够更清楚地发现两者之间的差异。
进一步地,所述发票检验程序10还包括异常提示模块:
通过第一服务器1实时或定时获取已验证成功的发票的发票状态,若所述发票的发票状态为异常(例如作废或者冲红),则向客户端14发送发票状态异常的提醒信息;及/或
通过第一服务器1实时或定时从第三服务器(例如中登网服务器)获取已通过验证真伪的发票对应的交易登记信息,分析是否有与所述发票对应的交易登记信息存在冲突,若所述交易登记信息存在冲突,则向客户端14发送交易登记信息存在冲突的提醒信息。
具体地,通过异常提示模块能够得知判断为真的发票是否存在其他异常,例如发票作废、冲红或者交易登记信息存在冲突。
此外,本发明还提供一种基于文本识别的发票检验方法。参照图3所示,为本发明基于文本识别的发票检验方法的实施例的方法流程示意图。服务器1的处理器12执行存储器11中存储的发票检验程序10时实现基于文本识别的发票检验方法的如下步骤:
步骤S110,对获取到的待检验发票图像进行倾斜矫正。
第一服务器1接收由客户端14获取的待检验发票图像,并根据预先确定好的矫正规则对待检验发票图像进行倾斜矫正。
在本实施例中,所述矫正规则包括:
采用霍夫变换(Hough)的概率算法得到所述待检验发票图像中尽可能多的长度小于或等于第一预设长度(例如0.3cm)的第一直线段;
从得到的所述第一直线段中确定出倾斜角度小于或等于第一预设角度(例如5°)的所有第二直线段;
将所述确定出的第二直线段中心点的y坐标值之差小于或等于预设阈值(例如0.6cm)的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所述中位数与均值中的较小者,作为最能够代表所述待检验发票图像的倾斜线段的斜率,例如,从待检验发票图像中获取三条第二直线段,分别为a(长度0.1cm,倾斜角度4°,中心点y坐标值0.1)、b(长度0.2cm,倾斜角度3°,中心点y坐标值0.2)、c(长度0.3cm,倾斜角度2°,中心点y坐标值0.3)a与b及c之间的中心点y坐标值之差均小于0.6,因此第二直线段a、b、c为同一类,并作为目标类直线,之后利用最小二乘法通过最小化误差的平方和寻找目标类直线的最佳函数匹配(即拟合直线),并根据确定出的较小者调整所述待检验发票图像的倾角,使得矫正后的待检验发票图像有利于提高识别模块120识别图像信息的准确率。
步骤S120,识别出矫正后的所述待检验发票图像上对应的预设发票字段信息。
通过利用预先训练的与预设类型发票字段信息(例如,所述预设类型发票字段信息可以是发票金额、发票代码、发票号码、销售方、购买方等发票要素信息)对应的识别模型识别出倾斜矫正后的所述待检验发票图像上对应的预设发票字段信息,例如第一服务器1可以利用发票代码字段对应的预先训练的识别模型,识别出倾斜矫正后的发票图片上对应的发票代码;第一服务器1可以利用发票号码字段对应的预先训练的识别模型,识别出矫正后的发票图片上对应的发票号码。
在本实施例中,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量(例如10万)的发票图像样本,其中,所述发票图像中仅包含一行所述预设类型发票字段的字符信息,所述字符信息的字体为黑色,背景为白色,并将各个所述发票图像样本的名称命名为所含的所述预设类型发票字段的字符信息;
将所述票据图像样本按照预设比例(例如4:1)分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行模型训练,每隔预设周期(例如每进行1000次迭代)使用所述第二数据集对所述时间递归神经网络模型进行测试;
将训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别的结果和期望结果的误差;
若测试时的模型对票据图像识别的误差大于预设阈值,例如,当输出的图像样本为数字时,所述预设阈值为识别结果与期望结果之间的差值;当输入的图像样本为文字时,所述预设阈值为识别结果与期望结果之间的汉明距离当输入的图像样本为向量时,所述预设阈值为识别结果与期望结果之间的欧氏距离,则进行多次迭代;及
若测试时的模型对票据图像识别的误差小于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
步骤S130,验证待检验发票的真伪。
通过将识别出的所述的预设类型发票字段信息发送至第二服务器2,在本实施例中,该第二服务器2可以为税务局服务器,该税务服务器根据接收到的预设类型发票字段信息判断出发票的真伪。
步骤S140,发送验证失败提示信息给客户端14。
当发票真伪验证失败时,则将验证失败提示信息发送至客户端14。
步骤S150,发送验证成功提示信息给客户端14。
当发票真伪验证成功时,则将验证成功提示信息发送至客户端14。
进一步地,所述发票检验程序10还包括对比展示步骤:
若发票真伪验证成功,则接收所述第二服务器2(例如,税务服务器)反馈的与预设类型发票字段信息对应的发票全属性字段信息,所述发票全属性字段信息指的是发票上所有必要的字段信息,(例如,发票金额、发票代码、发票号码、销售方、购买方、开票日期等发票必要字段信息),并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及
生成发票对比展示界面,并将所述发票对比界面反馈至所述客户端14进行展示,所述发票对比展示界面包括结构化发票的显示区域及待检验发票图像的显示区域。
通过在客户端14的显示界面上显示重构的结构化发票及原先的待检验发票图像形成对比,从而使检验人员能够更清楚地发现两者之间的差异。
进一步地,所述发票检验程序10还包括异常提示步骤:
通过第一服务器1实时或定时获取已通过验证真伪的发票的发票状态,若所述发票的发票状态为异常(例如作废或者冲红),则向客户端14发送所述发票状态异常的提醒信息;及/或
通过第一服务器1实时或定时从第三服务器(例如中登网服务器)获取已通过验证真伪的发票对应的交易登记信息,分析是否有与所述发票对应的交易登记信息存在冲突,若所述交易登记信息存在冲突,则向客户端14发送交易登记信息存在冲突的提醒信息。
该步骤能够得知判断为真的发票是否存在其他异常,例如发票作废、冲红或者交易登记信息存在冲突。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中包括发票检验程序10,本发明之计算机可读存储介质的具体实施方式与上述发票检验方法以及服务器的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于文本识别的发票检验方法,应用于第一服务器,其特征在于,该方法包括:
矫正步骤:获取待检验发票图像,并根据预先确定的矫正规则对所述待检验发票图像进行倾斜矫正;
识别步骤:利用预先训练的与预设类型发票字段对应的识别模型,分别识别出矫正后的所述待检验发票图像上对应的预设类型发票字段信息;
验证步骤:将识别出的所述预设类型发票字段信息发送至第二服务器进行发票真伪验证,并接收所述第二服务器反馈的发票真伪验证结果;
第一反馈步骤:若发票真伪验证失败,则发送验证失败提示信息至客户端;
第二反馈步骤:若发票真伪验证成功,则发送验证成功提示信息至所述客户端,并接收所述第二服务器反馈的与所述预设类型发票字段信息对应的发票全属性字段信息,并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及生成发票对比展示界面,并将所述发票对比展示界面反馈至所述客户端进行展示,所述发票对比展示界面包括所述结构化发票的显示区域及所述待检验发票图像的显示区域。
2.如权利要求1所述的基于文本识别的发票检验方法,其特征在于,所述矫正规则包括:
采用霍夫变换的概率算法得到所述待检验发票图像中小于或等于第一预设长度的第一直线段;
从所述第一直线段中确定出倾斜角度小于或等于第一预设角度的所有第二直线段;
将所述所有第二直线段中心点的y坐标值之差小于或等于预设阈值的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所述中位数与均值中的较小者,并根据确定出的较小者调整所述待检验发票图像倾角。
3.如权利要求1所述的基于文本识别的发票检验方法,其特征在于,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量的发票图像样本,其中,所述发票图像中包含所述预设类型发票字段的字符信息,并将各个所述发票图像样本的名称命名为所述预设类型发票字段的字符信息;
将所述发票图像样本按照预设比例分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行训练,每隔预设周期使用所述第二数据集对所述时间递归神经网络模型进行测试;
利用训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别的结果和期望结果的误差;
若训练得到的模型对发票图像识别的误差大于预设阈值,则进行多次迭代;及
若训练得到的模型对发票图像识别的误差小于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
4.如权利要求1-3中任一项所述的基于文本识别的发票检验方法,其特征在于,在第二反馈步骤中当发票真伪验证成功之后,该方法还包括以下步骤:
获取已验证成功的发票状态,若所述发票的发票状态为异常,则向客户端发送发票状态异常的提醒信息;及/或
获取已验证成功的发票对应的交易登记信息,分析是否有与所述发票对应的交易登记信息存在冲突,若所述交易登记信息存在冲突,则向客户端发送交易登记信息存在冲突的提醒信息。
5.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器上存储有发票检验程序,所述发票检验程序被所述处理器执行时实现如下步骤:
矫正步骤:获取待检验发票图像,并根据预先确定的矫正规则对所述待检验发票图像进行倾斜矫正;
识别步骤:利用预先训练的与预设类型发票字段对应的识别模型,识别出矫正后的所述待检验发票图像上对应的预设类型发票字段信息;
验证步骤:将识别出的所述预设类型发票字段信息发送至第二服务器进行发票真伪验证,并接收所述第二服务器反馈的发票真伪验证结果;
第一反馈步骤:若发票真伪验证失败,则发送验证失败提示信息至客户端;
第二反馈步骤:若发票真伪验证成功,则发送验证成功提示信息至所述客户端,并接收所述第二服务器反馈的与所述预设类型发票字段信息对应的发票全属性字段信息,并调用预先确定的发票模板,将所述发票全属性字段信息中各字段信息分别填入所述发票模板的对应栏位,以生成重构的结构化发票;及生成发票对比展示界面,并将所述发票对比展示界面反馈至所述客户端进行展示,所述发票对比展示界面包括所述结构化发票的显示区域及所述待检验发票图像的显示区域。
6.如权利要求5所述的服务器,其特征在于,所述矫正规则包括:
采用霍夫变换的概率算法得到所述待检验发票图像中小于或等于第一预设长度的第一直线段;
从所述第一直线段中确定出倾斜角度小于或等于第一预设角度的所有第二直线段;
将所述所有第二直线段中心点的y坐标值之差小于或等于预设阈值的第二直线段分为一类;
将属于同一类的所述第二直线段作为一个目标类直线,并利用最小二乘法分别确定出各个目标类直线的拟合直线;及
计算每条所述拟合直线的斜率,以及所有拟合直线的斜率的中位数和斜率的均值,确定出所述中位数与均值中的较小者,并根据确定出的较小者调整所述待检验发票图像倾角。
7.如权利要求5或6所述的服务器,其特征在于,所述识别模型为时间递归神经网络模型,所述预设类型发票字段对应的识别模型的训练过程包括:
针对该预设类型发票字段,获取预设数量的发票图像样本,其中,所述发票图像中包含所述预设类型发票字段的字符信息,并将各个所述发票图像样本的名称命名为所含的所述预设类型发票字段的字符信息;
将所述发票图像样本按照预设比例分成第一数据集和第二数据集,所述第一数据集中的图像样本数量大于所述第二数据集中的图像样本数量,所述第一数据集作为训练集,所述第二数据集作为测试集;
将所述第一数据集中的图像样本送入所述时间递归神经网络模型进行模型训练,每隔预设周期使用所述第二数据集对所述时间递归神经网络模型进行测试;
利用训练得到的模型对所述第二数据集中的图像进行字符信息识别,并和测试的图像的名称作对比,以计算识别的结果和期望结果的误差;
若训练得到的模型对发票图像识别的误差大于预设阈值,则进行多次迭代;及
若训练得到的模型对发票图像识别的误差小于预设阈值,结束模型训练将生成的模型作为该预设类型发票字段对应的识别模型。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有发票检验程序,所述发票检验程序可被一个或者多个处理器执行,以实现如权利要求1-4中任一项所述的发票检验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910421961.2A CN110288755B (zh) | 2019-05-21 | 2019-05-21 | 基于文本识别的发票检验方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910421961.2A CN110288755B (zh) | 2019-05-21 | 2019-05-21 | 基于文本识别的发票检验方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288755A CN110288755A (zh) | 2019-09-27 |
CN110288755B true CN110288755B (zh) | 2023-05-23 |
Family
ID=68002021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910421961.2A Active CN110288755B (zh) | 2019-05-21 | 2019-05-21 | 基于文本识别的发票检验方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288755B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259888B (zh) * | 2020-01-15 | 2024-07-05 | 平安国际智慧城市科技股份有限公司 | 基于图像的信息比对方法、装置及计算机可读存储介质 |
CN111598122B (zh) * | 2020-04-01 | 2022-02-08 | 深圳壹账通智能科技有限公司 | 数据校验方法、装置、电子设备和存储介质 |
CN111488852A (zh) * | 2020-04-21 | 2020-08-04 | 成都信息工程大学 | 一种基于图像识别的缴费智能核查预警系统及预警方法 |
CN112053343A (zh) * | 2020-09-02 | 2020-12-08 | 平安科技(深圳)有限公司 | 用户图片数据的处理方法、装置、计算机设备及存储介质 |
CN112633279A (zh) * | 2020-12-31 | 2021-04-09 | 北京市商汤科技开发有限公司 | 文本识别方法、装置和系统 |
CN113920589A (zh) * | 2021-10-28 | 2022-01-11 | 平安银行股份有限公司 | 基于人工智能的签名识别方法、装置、设备及介质 |
CN114092948B (zh) * | 2021-11-24 | 2023-09-22 | 北京百度网讯科技有限公司 | 一种票据识别方法、装置、设备以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899822A (zh) * | 2015-06-17 | 2015-09-09 | 西南交通大学 | 一种能定位pdf电子发票篡改的水印嵌入与认证方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6498655B1 (en) * | 2001-06-01 | 2002-12-24 | Transact Technologies Incorporated | Self validating printer with ticket voiding and reprint features |
CN101169876A (zh) * | 2007-11-06 | 2008-04-30 | 浪潮齐鲁软件产业有限公司 | 一种发票自助验旧的方法 |
US10528925B2 (en) * | 2008-01-18 | 2020-01-07 | Mitek Systems, Inc. | Systems and methods for mobile automated clearing house enrollment |
US20180196843A1 (en) * | 2012-01-20 | 2018-07-12 | LCR-Dixon Corporation | Error detection and correction for enterprise resource planning systems |
US20130191256A1 (en) * | 2012-01-20 | 2013-07-25 | LCR-Dixon Corporation | Automated tax diagnostic systems and processes |
CN103383789B (zh) * | 2012-05-02 | 2017-03-29 | 深圳长城开发科技股份有限公司 | 一种用于检测发票真伪的方法及系统 |
CN103530932B (zh) * | 2012-07-02 | 2016-01-13 | 航天信息股份有限公司 | 一种实时验证发票的真伪的系统和方法 |
CN102819889A (zh) * | 2012-07-26 | 2012-12-12 | 江苏保旺达软件技术有限公司 | 发票验证终端设备及利用该终端设备验证发票真伪的方法 |
CN103793990B (zh) * | 2012-11-02 | 2016-06-29 | 航天信息股份有限公司 | 发票的验证方法和系统 |
CN103164810A (zh) * | 2013-04-12 | 2013-06-19 | 重庆市远大印务有限公司 | 基于云计算技术和大数据技术的电子发票业务系统 |
EP3020000B1 (en) * | 2013-07-09 | 2022-04-27 | 3M Innovative Properties Company | Systems and methods for note content extraction and management using segmented notes |
CN103593151B (zh) * | 2013-11-27 | 2016-09-07 | 税友软件集团股份有限公司 | 一种电子发票打印的方法及系统 |
CN105701905A (zh) * | 2014-11-28 | 2016-06-22 | 航天信息股份有限公司 | 一种发票识别方法和系统 |
CN105023340B (zh) * | 2015-07-09 | 2019-01-25 | 宁夏创成信息技术有限公司 | 基于扫描仪的云智能发票识别查验系统及方法 |
CN106228675A (zh) * | 2016-07-22 | 2016-12-14 | 金蝶软件(中国)有限公司 | 识别发票真伪的方法和装置 |
FR3066299A1 (fr) * | 2017-05-11 | 2018-11-16 | Amadeus S.A.S | Un systeme et un procede pour le traitement et le rapprochement comptable d'un fichier de donnees de facture |
CN107316377A (zh) * | 2017-07-18 | 2017-11-03 | 山东浪潮商用系统有限公司 | 一种基于手机应用的发票查验方法 |
CN107766809B (zh) * | 2017-10-09 | 2020-05-19 | 平安科技(深圳)有限公司 | 电子装置、票据信息识别方法和计算机可读存储介质 |
CN107798299B (zh) * | 2017-10-09 | 2020-02-07 | 平安科技(深圳)有限公司 | 票据信息识别方法、电子装置及可读存储介质 |
CN108269351B (zh) * | 2018-01-15 | 2019-06-07 | 中链科技有限公司 | 一种数字票据信息处理方法及系统 |
CN108564035B (zh) * | 2018-04-13 | 2020-09-25 | 杭州睿琪软件有限公司 | 识别单据上记载的信息的方法及系统 |
CN108764239B (zh) * | 2018-05-31 | 2020-07-24 | 平安科技(深圳)有限公司 | 发票验伪方法、装置、计算机设备及存储介质 |
CN109461247A (zh) * | 2018-10-29 | 2019-03-12 | 北京慧流科技有限公司 | 票据验证方法及装置、电子设备及存储介质 |
CN109726783A (zh) * | 2018-12-28 | 2019-05-07 | 大象慧云信息技术有限公司 | 一种基于ocr图像识别技术的发票采集管理系统及方法 |
-
2019
- 2019-05-21 CN CN201910421961.2A patent/CN110288755B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899822A (zh) * | 2015-06-17 | 2015-09-09 | 西南交通大学 | 一种能定位pdf电子发票篡改的水印嵌入与认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110288755A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288755B (zh) | 基于文本识别的发票检验方法、服务器及存储介质 | |
CN107798299B (zh) | 票据信息识别方法、电子装置及可读存储介质 | |
CN107766809B (zh) | 电子装置、票据信息识别方法和计算机可读存储介质 | |
CN110245716B (zh) | 样本标注审核方法及装置 | |
CN108038880B (zh) | 用于处理图像的方法和装置 | |
CN111325104B (zh) | 文本识别方法、装置及存储介质 | |
CN108256591B (zh) | 用于输出信息的方法和装置 | |
CN108491866B (zh) | 色情图片鉴定方法、电子装置及可读存储介质 | |
US11790632B2 (en) | Method and apparatus for sample labeling, and method and apparatus for identifying damage classification | |
CN111553251B (zh) | 证件四角残缺检测方法、装置、设备及存储介质 | |
US11657644B2 (en) | Automatic ruler detection | |
CN111179461A (zh) | 基于bim模型的巡检记录生成方法、设备及存储介质 | |
CN111144372A (zh) | 车辆检测方法、装置、计算机设备和存储介质 | |
CN110879965A (zh) | 试卷客观题的自动批阅方法、电子装置、设备及存储介质 | |
CN112529575B (zh) | 风险预警方法、设备、存储介质及装置 | |
CN109726110B (zh) | 单证测试方法、设备、装置及计算机可读存储介质 | |
CN111476275A (zh) | 基于图片识别的目标检测方法、服务器及存储介质 | |
CN112241739A (zh) | 识别文本错误的方法、装置、设备和计算机可读介质 | |
US11386499B2 (en) | Car damage picture angle correction method, electronic device, and readable storage medium | |
CN112989768B (zh) | 连线题批改方法、装置、电子设备及存储介质 | |
CN117115823A (zh) | 一种篡改识别方法、装置、计算机设备和存储介质 | |
CN116468914A (zh) | 页面对比方法、装置、存储介质及电子设备 | |
CN113255629B (zh) | 文档处理方法、装置、电子设备及计算机可读存储介质 | |
CN115577703A (zh) | 一种证监报送数据校验方法、装置、系统及存储介质 | |
CN115631169A (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 |