发票关键信息定位方法、装置、计算机设备及存储介质与流程

文档序号:18167689发布日期:2019-07-13 09:43阅读:284来源:国知局
发票关键信息定位方法、装置、计算机设备及存储介质与流程

本发明涉及文本检测方法,更具体地说是指发票关键信息定位方法、装置、计算机设备及存储介质。



背景技术:

增值税普通发票是将除商业零售以外的增值税一般纳税人纳入增值税防伪税控系统开具和管理,也就是说一般纳税人可以使用同一套增值税防伪税控系统开具增值税专用发票、增值税普通发票等。企业和社会,个人,政府等有越来越多的发票需要整理,越来越多的时间耗费在发票上,手动录入和人工检索,不仅浪费时间,而且容易出错。急需自动化的设备进行识别。

现有文字识别系统多采用传统计算机视觉算法,未采用神经网络,准确率较低,大多需要配合扫描仪等设备进行扫描,在票据干净,整洁,而且很清晰时才能起到一定的识别效果,对自然场景下各种模糊的票据却大都无能为力。现有的大多数算法在现实中手机较为随意拍摄的任意角度真实数据上的效果不佳。尤其是当考虑到发票及其容易褶皱,褪色,且手机拍摄时面临多种光线和天气条件,多角度,多设备,透视等困难。

现有两种关于文本信息定位的方法,一是借助扫描仪定位关键信息的位置,并经过传统的计算机视觉手段对位置进行微调,但是这种方法要依赖于专门的扫描仪,非常不方便。而且要求票据褶皱较少,没法应对实际中褶皱发票;二是要求用户根据指令将票据在画面预对齐、摆正,检测所有的文字行,对检测的所有文字送入识别系统进行识别,并用非常复杂的后处理手段去进行版面分析,分析识别到的信息到底是什么信息。通常,采用此种方式很难将票据上大量的信息点进行结构对齐,并且由于多检测了很多多余的信息,这些多余信息中的错误将意外的影响本身关注信息的提取和定位,且后续的识别以及处理、分析中,将需要很多的计算资源。

因此,有必要设计一种新的方法,实现快速地定位出发票关键信息,且定位准确率高。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供发票关键信息定位方法、装置、计算机设备及存储介质。

为实现上述目的,本发明采用以下技术方案:发票关键信息定位方法,包括:

获取待定位发票图像;

将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息;

其中,所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的。

其进一步技术方案为:所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的,包括:

获取带有特征标签的发票图像,以得到训练数据;

构建u-net卷积神经网络;

利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

其进一步技术方案为:所述利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型,包括:

将训练数据输入u-net卷积神经网络内,以得到样本关键信息;

根据样本关键信息计算损失值;

根据损失值基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

其进一步技术方案为:所述u-net卷积神经网络是产生多层的发票图像四分之一分辨率的特征图的网络。

其进一步技术方案为:所述将训练数据输入u-net卷积神经网络内,以得到样本关键信息,包括:

将训练数据输入u-net卷积神经网络内进行卷积处理,以得到文本框;

合并所述文本框,以形成样本关键信息。

本发明还提供了发票关键信息定位装置,包括:

数据获取单元,用于获取待定位发票图像;

提取单元,用于将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息。

其进一步技术方案为:所述装置还包括:

模型训练单元,用于通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络,以得到卷积神经网络模型。

其进一步技术方案为:所述模型训练单元包括:

训练数据获取子单元,用于获取带有特征标签的发票图像,以得到训练数据;

网络构建子单元,用于构建u-net卷积神经网络;

学习子单元,用于利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。

本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。

本发明与现有技术相比的有益效果是:本发明通过获取待定位发票图像,将待定位发票图像输入至以u-net卷积神经网络为基础网络的卷积神经网络模型,利用卷积神经网络模型先对待定位发票图像进行分类别后,再定位至待定位发票图像的关键信息部分,并输出发票关键信息,实现快速地定位出发票关键信息,且定位准确率高。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

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

图1为本发明实施例提供的发票关键信息定位方法的应用场景示意图;

图2为本发明实施例提供的发票关键信息定位方法的流程示意图;

图3为本发明实施例提供的发票关键信息定位方法的子流程示意图;

图4为本发明实施例提供的发票关键信息定位方法的子流程示意图;

图5为本发明实施例提供的发票关键信息定位方法的子流程示意图;

图6为本发明实施例提供的使用u-ne卷积神经网络处理典型的道路分割像素级结果的示意图;

图7为本发明实施例提供的可视化的特征图的示意图;

图8为本发明实施例提供的样本关键信息的示意图;

图9为本发明实施例提供的发票关键信息定位装置的示意性框图;

图10为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1和图2,图1为本发明实施例提供的发票关键信息定位方法的应用场景示意图。图2为本发明实施例提供的发票关键信息定位方法的示意性流程图。该发票关键信息定位方法应用于服务器中。服务器与终端之间进行数据交互,从终端获取待定位发票图像后,再由卷积神经网络模型进行分类和定位,以输出发票关键信息至终端进行显示。

图2是本发明实施例提供的发票关键信息定位方法的流程示意图。如图2所示,该方法包括以下步骤s110至s120。

s110、获取待定位发票图像。

在本实施例中,待定位发票图像是指由终端拍摄发票所得的照片。

s120、将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息。

在本实施例中,发票关键信息是指发票上的发票代码、发票号码、开票日期、金额、税额、总金额等文本的信息。

在本实施例中,上述的卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的。

卷积神经网络模型广泛用于目标检测,实例分割,物体分类等计算机视觉任务中,取得了非常良好的效果,显示出其对于计算机视觉任务良好的适应性。对于关键点定位,借鉴图像分割任务的解决方式,使用u-net卷积神经网络处理的典型的道路分割像素级结果可参见图6。

使用u-net卷积神经网络去提取特征层,由于发票图像数据的特殊性,训练数据不像一般街道场景数据充足,效果并不好。且为了增强抗干扰能力,对u-net卷积神经网络提取的特征进行约束,采用专门的损失函数去训练u-net卷积神经网络。

在一实施例中,请参阅图3,上述的步骤s120可包括步骤s121~s123。

s121、获取带有特征标签的发票图像,以得到训练数据。

在本实施例中,训练数据是指带有文本特征标签的发票图像集成的数据集。

具体地,可从网站中下载大量的发票图像,对发票图像进行14层特征进行标签标定后,再输入到网络中,进行训练。

s12、构建u-net卷积神经网络。

在本实施例中,u-net卷积神经网络主要有两部分组成:收缩路径和扩展路径。收缩路径主要是用来捕捉图片中的上下文信息,而与之相对称的扩展路径则是为了对图片中所需要分割出来的部分进行精准定位。很多时候深度学习的结构需要大量的例子和计算资源,但是u-net基于fcn(全卷积神经网络,fullyconvultionalneuralnetwork)进行改进,并且利用数据增强可以对一些比较少样本的数据进行训练。构建u-net卷积神经网络可以对训练数据进行卷积分类,并输出文本等信息的定位信息,以形成特征图。

所述u-net卷积神经网络是产生多层的发票图像四分之一分辨率的特征图的网络。

通过最小化预测的特征图和实际的特征标签与图像的差异,不断训练u-net卷积神经网络,该训练方法为深度学习中通用的训练方法,使预测值和实际值相差无几。其中,u-net卷积神经网络的前八层特征图用于多分类,分类出背景,发票代码,发票号码,开票日期,金额,税额,总金额。对于前八层特征图上的每一个位置,在每层特征图上对应于八个大小为0到1的值,这八个值的和为1,哪个层的特征图上该值最大,代表该位置有最大概率属于哪一类。这样可以找到每个像素对应于哪个种类。用这种方法预测出背景和类别后,对于非背景像素,在第九层特征图对应位置预测产生是否靠近边界,第十层特征图预测每个边界位置是左边界还是右边界。十一到十四层特征图则预测边界位置与最近的两个边界顶点的位置偏移,最终每个文本框内的特征图的位置可以预测出一个文本框。

将带有14层特征标签的发票图像作为训练数据,去训练u-net卷积神经网络,使得整个u-net卷积神经网络学会如何产生特征,给出正确的14层特征图表示,进而可以从中恢复文本框的信息,可视化的特征图如图7所示。

s123、利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在一实施例中,上述的步骤s123可包括步骤s1231~s1233。

s1231、将训练数据输入u-net卷积神经网络内,以得到样本关键信息。

在本实施例中,样本关键信息是指训练数据经过u-net卷积神经网络进行分类和定位之后形成的文本框信息。

在一实施例中,上述的步骤s1231可包括步骤s1231a~s1232b。

s1231a、将训练数据输入u-net卷积神经网络内进行卷积处理,以得到文本框。

在本实施例中,u-net卷积神经网络会先对训练数据进行背景与发票的分类后,对发票本身进行文本的定位,以得到文本框。

具体地,先形成发票的特征图,在通过发票的特征图形成文本框,一般情况下,从u-net卷积神经网络的第九层特征图至第十四层特征图对发票进行卷积处理,以得到每一层的可视化的特征图,再由特征图的四个端点定位形成文本框。

s1231b、合并所述文本框,以形成样本关键信息。

在一实施例中,一张发票上有多个特征图,因此会有多个文本框,这多个文本框框定的文本信息组成关键信息,因此,需要将获取到的文本框进行合并,形成样本关键信息。最后可根据文本框四个顶点的位置确定样本关键信息所在的位置,如图8所示。

s1232、根据样本关键信息计算损失值。

在本实施例中,根据样本关键信息利用loss函数计算损失值,该损失值表示通过u-net卷积神经网络输出的样本关键信息与训练数据中的特征标签的差异值,当损失值越大时,两者的差异越大,则当前的u-net卷积神经网络所形成的模型不适宜使用,当损失值越大时,两者的差异越小,且当损失值逼近于某一阈值时,则当前的u-net卷积神经网络所形成的模型适宜使用,该阈值可以根据实际情况而定。

s1233、根据损失值基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在本实施例中,使用tensorflow深度学习框架作为u-net卷积神经网络的训练和学习方法。

在学习过程中,进行了广泛而充分的实验去调节网络的各项参数,使论文中的u-net卷积神经网络可以适应特定的任务和速度要求。u-net卷积神经网络的效率较高,单次前向计算仅仅有约1.28gflops,前向计算能够实时并行处理大量文字检测任务。

由于采用全卷积网络,能够处理任意分辨率的图片。另外,能够投入现实实际使用的票据检测算法需要面临图片的模糊,光照不佳,物理形变等等一系列问题。通过精细和广泛的图片增广和生成,仔细的处理好了这一问题,使得算法在现实场景,具体业务检验下取得非常好的效果。该方法可运行在android设备、ios设备和服务器上,能够快速定位发票关键信息文字。

上述的发票关键信息定位方法,通过获取待定位发票图像,将待定位发票图像输入至以u-net卷积神经网络为基础网络的卷积神经网络模型,利用卷积神经网络模型先对待定位发票图像进行分类别后,再定位至待定位发票图像的关键信息部分,并输出发票关键信息,实现快速地定位出发票关键信息,且定位准确率高。

图9是本发明实施例提供的一种发票关键信息定位装置300的示意性框图。如图9所示,对应于以上发票关键信息定位方法,本发明还提供一种发票关键信息定位装置300。该发票关键信息定位装置300包括用于执行上述发票关键信息定位方法的单元,该装置可以被配置于服务器中。

具体地,请参阅图9,该发票关键信息定位装置300包括:

数据获取单元301,用于获取待定位发票图像;

提取单元302,用于将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息。

在一实施例中,所述装置还包括:

模型训练单元,用于通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络,以得到卷积神经网络模型。

在一实施例中,所述模型训练单元包括:

训练数据获取子单元,用于获取带有特征标签的发票图像,以得到训练数据;

网络构建子单元,用于构建u-net卷积神经网络;

学习子单元,用于利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在一实施例中,所述学习子单元包括:

样本关键信息形成模块,用于将训练数据输入u-net卷积神经网络内,以得到样本关键信息;

损失值计算模块,用于根据样本关键信息计算损失值;

深度学习模块,用于根据损失值基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在一实施例中,所述样本关键信息形成模块包括:

文本框形成子模块,用于将训练数据输入u-net卷积神经网络内进行卷积处理,以得到文本框;

合并子模块,用于合并所述文本框,以形成样本关键信息。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述发票关键信息定位装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述发票关键信息定位装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。

请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器。

参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种发票关键信息定位方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种发票关键信息定位方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:

获取待定位发票图像;

将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息;

其中,所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的。

在一实施例中,处理器502在实现所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的步骤时,具体实现如下步骤:

获取带有特征标签的发票图像,以得到训练数据;

构建u-net卷积神经网络;

利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在一实施例中,处理器502在实现所述利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型步骤时,具体实现如下步骤:

将训练数据输入u-net卷积神经网络内,以得到样本关键信息;

根据样本关键信息计算损失值;

根据损失值基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

其中,所述u-net卷积神经网络是产生多层的发票图像四分之一分辨率的特征图的网络。

在一实施例中,处理器502在实现所述将训练数据输入u-net卷积神经网络内,以得到样本关键信息步骤时,具体实现如下步骤:

将训练数据输入u-net卷积神经网络内进行卷积处理,以得到文本框;

合并所述文本框,以形成样本关键信息。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:

获取待定位发票图像;

将待定位发票图像输入卷积神经网络模型中进行信息提取,以得到发票关键信息;

其中,所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的。

在一实施例中,所述处理器在执行所述计算机程序而实现所述卷积神经网络模型是通过带有特征标签的发票图像作为训练数据训练u-net卷积神经网络所得的步骤时,具体实现如下步骤:

获取带有特征标签的发票图像,以得到训练数据;

构建u-net卷积神经网络;

利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

在一实施例中,所述处理器在执行所述计算机程序而实现所述利用训练数据基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型步骤时,具体实现如下步骤:

将训练数据输入u-net卷积神经网络内,以得到样本关键信息;

根据样本关键信息计算损失值;

根据损失值基于深度学习框架对u-net卷积神经网络进行学习,以得到卷积神经网络模型。

其中,所述u-net卷积神经网络是产生多层的发票图像四分之一分辨率的特征图的网络。

在一实施例中,所述处理器在执行所述计算机程序而实现所述将训练数据输入u-net卷积神经网络内,以得到样本关键信息步骤时,具体实现如下步骤:

将训练数据输入u-net卷积神经网络内进行卷积处理,以得到文本框;

合并所述文本框,以形成样本关键信息。

所述存储介质可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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