一种财务报销全票据智能审核系统的制作方法

文档序号:11520310阅读:389来源:国知局
一种财务报销全票据智能审核系统的制造方法与工艺

本发明涉及一种财务报销全票据智能审核系统,适用于公司人员的报销纸介发票的电子转换、发票内控验证、报销发票管理。



背景技术:

企业中的财务票据是会计信息的主要的来源,也是会计对企业财务账目进行管理的基础。同时,也是国家有关部门管理、监督检查企业资金运作的有效方式和重要依据。因此企业的财务票据管理已成为会计管理中的一种重要规范。在市场经济快速发展和市场经济体制逐步完善的今天,企业的资金来源呈现出多元化。票据管理作为资金管理的重要环节,在财务管理中起着举足轻重的作用,是能否使企业内部监管得到强化,财务制度得到健全的重要保障。随着各行业企事业单位都在争相建立财务数据共享中心,以期望通过财务数据共享完善企业运营管理,加快发展步伐,企业与企业、企业与管理机构之间,利用电子数据、票据凭证影像来传递贸易信息越来越频繁,而传统人工审核发票、录入发票数据工作量大,效率低且易出错,事后查找困难。

传统数据采集是人工整理原始报销票据,然后进行扫描影像,再到会计人工录入,再到凭证审核,而智能数据采集方式是采用ocr(光学字符识别)扫描识别技术,自动采集发票上的会计要素,自动对票据建立索引并归档,提高凭证信息查阅的一致性与准确性,与传统的会计人工录入数据方案相比,ocr扫描识别方案可以减少70%的工作量。

目前,常用的ocr系统只能完成部分类型发票的扫描录入,且识别准确率不高,已不能满足当前财务报销的需要,更无法为建设财务数据共享中心提供有效的、全面的基础数据支撑。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提出了一种财务报销全票据智能审核系统,不同类型的发票可统一扫描录入财务报销智能审核系统,实现了单位报销发票的电子化集中管理;财务工作人员可通过定制化的内控规则验证报销发票信息是否符合内控标准;提升了财务部门处理财务报销工作效率和准确性。

本发明的技术解决方案是:

一种财务报销全票据智能审核系统,全票据智能审核系统包括ocr模块,通过该ocr模块对扫描为图像的各种类型发票进行识别和处理。

全票据智能审核系统还包括扫描仪接口模块、发票验证模块、文件上传处理模块、外围财务系统接口模块、条码打印控制模块以及以太网接口模块;

扫描仪接口模块实现驱动扫描仪并将扫描仪扫描的发票图片发送给ocr模块,ocr模块将识别出的发票图片上的信息提供给发票验证模块,同时,将能识别和不能识别的发票图片均直接提供给文件上传处理模块;

发票验证模块对ocr模块提供的信息进行内控要求检验,将检验之后的发票信息提供给文件上传处理模块,将检验状态信息提供给外围财务系统接口模块;

文件上传处理模块对所有发票图片和所述检验之后的发票信息进行唯一id编号和分类处理,再通过以太网接口模块存储到文件服务器中,同时,文件上传处理模块将发票信息在文件服务器中的存储位置信息提供给外围财务系统接口模块,外围财务系统接口模块通过以太网模块与外部财务报销系统进行通信,外部财务报销系统通过所述外围财务系统接口模块查找定位发票信息在文件服务器中的位置;外围财务系统接口模块将所述检验状态信息通过以太网接口模块供外部财务报销系统查询;

文件上传处理模块还将发票验证模块检验通过的发票信息提供给条码打印控制模块,条码打印控制模块将所述唯一id编号转化为条形码,并通过以太网接口模块输出给条码打印机进行打印。

所述文件上传处理模块对不能识别的发票图片和所述检验之后的发票信息进行分类处理,具体为:文件上传处理模块将不能识别的发票图片和所述检验之后的发票信息总计分为5个类别,分别是:无法识别的发票图片、验证不通过的发票图片、验证不通过的发票图片上的信息、验证通过发票图片、验证通过的发票图片上的信息。

所述发票验证模块对ocr模块提供的信息进行内控要求检验,具体为:

(4.1)发票验证模块对ocr模块提供的信息进行发票连号检查,如果没有连号出现,则该张发票的检验状态为通过验证,进入步骤(4.2),否则该张发票的检验状态为未通过验证;

(4.2)发票验证模块对ocr模块提供的信息进行发票重号检查,如果没有重号出现,则该张发票的检验状态为通过验证,进入步骤(4.3),否则该张发票的检验状态为未通过验证;

(4.3)发票验证模块对ocr模块提供的信息进行单张发票金额上限检查,如果超过单张金额上限,则该张发票的检验状态为通过验证,进入步骤(4.4),否则该张发票的检验状态为未通过验证;

(4.4)发票验证模块对ocr模块提供的信息进行关键字检查,在预设关键字库中进行比对,如果没有出现关键字库中的字段,则该张发票的检验状态为通过验证,否则该张发票的检验状态为未通过验证。

所述关键字库中为单位财务内控要求指定不可报销的内容信息。

所述检验状态信息包括通过检验和未通过检验。

所述所有发票图片和所述检验之后的发票信息进行唯一id编号,具体为:不能识别的发票图片、能够识别的发票图片以及检验之后的发票信息均进行单独编号,其中,能够识别的发票图片编号以及检验之后的发票信息编号一一对应。

ocr模块对发票图片进行识别和处理,具体为包括如下步骤:

(8.1)对扫描后的发票图片进行色彩预处理,为图片轮廓预处理提供输入数据;

(8.2)对经过色彩预处理的图片进行轮廓检测,排除发票纸张范围外的像素干扰;

(8.3)对经过轮廓检测的图片进行文字预处理,识别发票上的字符,形成字符集并输出;

(8.4)对步骤(8.3)输出的字符集进行图片识别处理,将识别处理结果按发票识别的语义组织为具有语义的结果对象,作为最终识别结果。

所述步骤(8.1)对扫描后的发票图片进行色彩预处理,包括:

(9.1)将扫描后的发票图片进行rgb转换,生成rgb颜色空间数据;

(9.2)对所述rgb颜色空间数据进行白化二值处理,即识别在rgb颜色空间数据中色调为白色的像素,并产生结果掩码位图矩阵,作为图片轮廓预处理的输入数据。

将扫描后的发票图片进行rgb转换,使用png或jpg图片解析算法解析原始文件,产生内存位图i(m*n),其中,m为位图i的行数,n为i的列数,从而转换为rgb颜色空间数据,输出数据为m*n的矩阵,矩阵元素为r3={0-255,0-255,0-255},表示为rgb颜色空间的三元组向量。

所述步骤(8.2)对经过色彩预处理的图片进行轮廓检测,排除发票纸张范围外的像素干扰,具体为:

(11.1)使用canny边缘检测算法对结果掩码位图矩阵进行轮廓检测,即对每个多边形计算环绕矩形,取面积最大者为环绕纸张的矩形,其矩形边缘即为轮廓;

(11.2)根据进行轮廓检测后的数据,对结果掩码位图矩阵计算其长边和水平线的夹角,并对rgb颜色空间数据以该角度作旋转变换,以校正纸张的偏角;

(11.3)对所述旋转变换后的数据进行蓝化二值处理,即识别在rgb颜色空间数据中色调为蓝色的像素,并产生前景矩阵mtext,作为文字预处理的输入数据。

所述步骤(11.2)进行旋转变换具体为:对产生的纸张轮廓包围矩形r取其任意三点p1、p2、p3,求点间距离d12=d(p1,p2),d23=d(p2,p3),取长边,并求其与水平线夹角ap=|atan(x2-x1,y2-y1)|,如果ap小于5度,则变为0;将位图矩阵i,即rgb颜色空间数据旋转ap角度,以纠正其偏角;定义旋转后产生的新位图矩阵为i’。

所述步骤(8.3)对经过轮廓检测的图片进行文字预处理,具体为:

(13.1)对前景矩阵mtext进行逐行扫描,确定行的个数以及每行的起始和终止位置;

(13.2)进行行内纵扫描以确定文字范围,从而得到分离后的文字矩形集合;

(13.3)将分离后的文字矩形集合中的文字矩形按照从上到下,从左到右的顺序排序,形成字符集并输出。

所述步骤(13.1)对前景矩阵mtext进行逐行扫描,确定行的个数以及每行的起始和终止位置,具体为:对掩码矩阵mtext进行间距为1的横向扫描线reduction操作,根据每一行为1的像素数量,得出自变量为行索引的方波曲线,将每一个方波脉冲的范围[x0,x1]作为一行的行索引范围,从而检测到行的位置。

所述步骤(13.2)进行行内纵扫描以确定文字范围,从而得到分离后的文字矩形集合,具体为:对每一行进行列间距为1的纵向扫描线操作,得出列索引为自变量的曲线;将曲线范围正规化至[0,1]区间,并将小于0.05的值设置为0,根据方波脉冲波谷的位置确定文字之间的边界,从而得到分离后的文字矩形集合。

所述步骤(8.4)对输出的字符集进行图片识别处理,将识别处理结果按发票识别的语义组织为具有语义的结果对象,具体为:

(16.1)构建文字识别所用的神经网络模型结构;

(16.2)构建训练模型所用的训练集和验证集,训练集用于更新模型的权重,验证集用于跟踪训练效果;

(16.3)根据所述训练集,使用监督学习方法对构建的神经网络模型进行训练,并使其验证准确率达到预定标准或训练轮数达到预定最大轮数;

(16.4)将训练后的模型权重进行保存;

(16.5)选用权重最大的模型,对所述输出的字符集进行文字识别,得到在标签空间中的概率分布矩阵;

(16.6)按行循环访问概率分布矩阵中的每一行,扫描每一行最大峰值处得到其标签索引,从而转换为相应的字符,即识别结果;

(16.7)将识别结果按发票识别的语义组织为具有语义的结果对象,作为最终识别结果。

所述步骤(16.1)构建文字识别所用的神经网络模型结构,采用深度卷积神经网络。

所述构建训练集具体为:使用绘图指令以制定的字体在32*32位图中绘制标签字符;将前景矩阵mtext转换为32*32的布尔掩码矩阵m’,将所有数据进行序列化。

本发明与现有技术相比的有益效果是:

(1)本发明系统支持各种类型的发票统一扫描录入识别处理,实现了单位报销发票的电子化集中管理;

(2)本发明针对发票识别的特定场景做了一些优化,扩大发票识别类型,能识别所有类型的发票,并且识别更准确、效率更高。与通用ocr相比,特定场景下,本发明可以根据图像特性、文字特性、色彩、清晰度等属性最大化执行效率和准确度;

(3)本发明系统在训练模型上采取10种不同的字体对如下字符绘制训练集:0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,因此每种字符产生10个样本。在训练时随机应用如下变化,以减少过拟合,提高神经网络的测试准确率,准确度可以达到95%以上;

(4)本发明系统在识别模型方面采用深度卷积神经网络,其准确率远超过最近邻分类等传统统计分类模型。模型可以很好的缓冲输入图形的细节差别和移位问题,因此可以很好的解决文字识别中输入多变的问题;

(5)本发明系统基于发票识别的场景进行建模,在这种模型下,文字分割步骤可以采取相对固定的方式,而无需采用监督学习的统计模型,因此无需准备人工标注的训练集,极大的减少了ocr研发的前期时间;

(6)本发明系统可根据各种类型的发票内容自动进行基于语义的文本校正,相对上下文无关的ocr算法,可以利用上下文和语境信息最大程度上避免识别错误,从而提高准确率;

(7)本发明系统支持财务工作人员通过定制化的内控规则,实现验证系统自动对报销发票信息是否符合内控标准进行检查,例如:发票连号、重号的检查,发票关键字的检查,有效提升了财务部门处理财务报销工作效率和准确性。

附图说明

图1为本发明系统架构示意图;

图2为本发明发票验证模块流程示意图;

图3为本发明ocr模块流程示意图;

图4为本发明图片色彩预处理子模块流程示意图;

图5为本发明图片轮廓预处理子模块流程示意图;

图6为本发明图片文字预处理子模块流程示意图;

图7为本发明图片识别处理子模块流程示意图。

具体实施方式

下面结合附图对本发明的具体实施方式进行进一步的详细描述。

如图1所示,本发明提出了一种财务报销全票据智能审核系统,全票据智能审核系统包括ocr模块,通过该ocr模块对扫描为图像的各种类型发票进行识别和处理。

全票据智能审核系统还包括扫描仪接口模块、发票验证模块、文件上传处理模块、外围财务系统接口模块、条码打印控制模块以及以太网接口模块;

扫描仪接口模块实现驱动扫描仪并将扫描仪扫描的发票图片发送给ocr模块,ocr模块将识别出的发票图片上的信息提供给发票验证模块,同时,将能识别和不能识别的发票图片均直接提供给文件上传处理模块;

发票验证模块对ocr模块提供的信息进行内控要求检验,将检验之后的发票信息提供给文件上传处理模块,将检验状态信息提供给外围财务系统接口模块;

文件上传处理模块对所有发票图片和所述检验之后的发票信息进行唯一id编号和分类处理,再通过以太网接口模块存储到文件服务器中,同时,文件上传处理模块将发票信息在文件服务器中的存储位置信息提供给外围财务系统接口模块,外围财务系统接口模块通过以太网模块与外部财务报销系统进行通信,外部财务报销系统通过所述外围财务系统接口模块查找定位发票信息在文件服务器中的位置;外围财务系统接口模块将所述检验状态信息通过以太网接口模块供外部财务报销系统查询;

文件上传处理模块还将发票验证模块检验通过的发票信息提供给条码打印控制模块,条码打印控制模块将所述唯一id编号转化为条形码,并通过以太网接口模块输出给条码打印机进行打印。

所述文件上传处理模块对不能识别的发票图片和所述检验之后的发票信息进行分类处理,具体为:文件上传处理模块将不能识别的发票图片和所述检验之后的发票信息总计分为5个类别,分别是:无法识别的发票图片、验证不通过的发票图片、验证不通过的发票图片上的信息、验证通过发票图片、验证通过的发票图片上的信息。

如图2所示,所述发票验证模块对ocr模块提供的信息进行内控要求检验,具体为:

(a)发票验证模块对ocr模块提供的信息进行发票连号检查,如果没有连号出现,则该张发票的检验状态为通过验证,进入步骤(b),否则该张发票的检验状态为未通过验证;

(b)发票验证模块对ocr模块提供的信息进行发票重号检查,如果没有重号出现,则该张发票的检验状态为通过验证,进入步骤(c),否则该张发票的检验状态为未通过验证;

(c)发票验证模块对ocr模块提供的信息进行单张发票金额上限检查,如果超过单张金额上限,则该张发票的检验状态为通过验证,进入步骤(d),否则该张发票的检验状态为未通过验证;

(d)发票验证模块对ocr模块提供的信息进行关键字检查,在预设关键字库中进行比对,如果没有出现关键字库中的字段,则该张发票的检验状态为通过验证,否则该张发票的检验状态为未通过验证。

关键字库中为单位财务内控要求指定不可报销的内容信息。

检验状态信息包括通过检验和未通过检验。

所有发票图片和所述检验之后的发票信息进行唯一id编号,具体为:不能识别的发票图片、能够识别的发票图片以及检验之后的发票信息均进行单独编号,其中,能够识别的发票图片编号以及检验之后的发票信息编号一一对应。

如图3所示,ocr模块对发票图片进行识别和处理,具体为包括如下步骤:

(1)如图4所示,对扫描后的发票图片进行色彩预处理,为图片轮廓预处理提供输入数据;

所述步骤(1)对扫描后的发票图片进行色彩预处理,包括:

(1.1)将扫描后的发票图片进行rgb转换,生成rgb颜色空间数据;

(1.2)对所述rgb颜色空间数据进行白化二值处理,即识别在rgb颜色空间数据中色调为白色的像素,并产生结果掩码位图矩阵,作为图片轮廓预处理的输入数据。

将扫描后的发票图片进行rgb转换,使用png或jpg图片解析算法解析原始文件,产生内存位图i(m*n),其中,m为位图i的行数,n为i的列数,从而转换为rgb颜色空间数据,输出数据为m*n的矩阵,矩阵元素为r3={0-255,0-255,0-255},表示为rgb颜色空间的三元组向量。

(2)如图5所示,对经过色彩预处理的图片进行轮廓检测,排除发票纸张范围外的像素干扰;

所述步骤(2)对经过色彩预处理的图片进行轮廓检测,排除发票纸张范围外的像素干扰,具体为:

(2.1)使用canny边缘检测算法对结果掩码位图矩阵进行轮廓检测,对点图产生强度为k的高斯模糊拷贝,随后采取dbscan聚类得到离群点。将离群点从原始点图中删除,完成去噪处理过程,对每个多边形计算环绕矩形,取面积最大者为环绕纸张的矩形,其矩形边缘即为轮廓;

(2.2)根据进行轮廓检测后的数据,对结果掩码位图矩阵计算其长边和水平线的夹角,并对rgb颜色空间数据以该角度作旋转变换,以校正纸张的偏角;

(2.3)对所述旋转变换后的数据进行蓝化二值处理,即识别在rgb颜色空间数据中色调为蓝色的像素,并产生前景矩阵mtext,作为文字预处理的输入数据。

所述步骤(2.2)进行旋转变换具体为:对产生的纸张轮廓包围矩形r取其任意三点p1、p2、p3,求点间距离d12=d(p1,p2),d23=d(p2,p3),取长边,并求其与水平线夹角ap=|atan(x2-x1,y2-y1)|,如果ap小于5度,则变为0;将位图矩阵i,即rgb颜色空间数据旋转ap角度,以纠正其偏角;定义旋转后产生的新位图矩阵为i’。

(3)如图6所示,对经过轮廓检测的图片进行文字预处理,识别发票上的字符,形成字符集并输出;

所述步骤(3)对经过轮廓检测的图片进行文字预处理,具体为:

(3.1)对前景矩阵mtext进行逐行扫描,确定行的个数以及每行的起始和终止位置;

所述步骤(3.1)对前景矩阵mtext进行逐行扫描,确定行的个数以及每行的起始和终止位置,具体为:对掩码矩阵mtext进行间距为1的横向扫描线reduction操作,根据每一行为1的像素数量,得出自变量为行索引的方波曲线,将每一个方波脉冲的范围[x0,x1]作为一行的行索引范围,从而检测到行的位置。

(3.2)进行行内纵扫描以确定文字范围,从而得到分离后的文字矩形集合;所述步骤(3.2)进行行内纵扫描以确定文字范围,从而得到分离后的文字矩形集合,具体为:对每一行进行列间距为1的纵向扫描线操作,得出列索引为自变量的曲线;将曲线范围正规化至[0,1]区间,并将小于0.05的值设置为0,根据方波脉冲波谷的位置确定文字之间的边界,从而得到分离后的文字矩形集合。

(3.3)将分离后的文字矩形集合中的文字矩形按照从上到下,从左到右的顺序排序,形成字符集并输出。文本按照原有顺序(即左至右,上至下)进行排序。基本步骤为:

(3.3.1)在矩形集合中选出距离左上角最近的矩形,作为新行的首字符;

(3.3.2)搜索距离行尾字符最近的矩形,要求其x坐标增加,y坐标与行尾矩形相比在某一范围内,将其加入行尾;

(3.3.3)当无法找到满足条件的矩形时,该行结束,进入下一行的识别。

(4)如图7所示,对步骤(3)输出的字符集进行图片识别处理,将识别处理结果按发票识别的语义组织为具有语义的结果对象,作为最终识别结果。

所述步骤(4)对输出的字符集进行图片识别处理,将识别处理结果按发票识别的语义组织为具有语义的结果对象,具体为:

(4.1)构建文字识别所用的神经网络模型结构;采用深度卷积神经网络,其准确率远超过最近邻分类等传统统计分类模型,其效果已得到学术界的普遍认可。模型可以很好的缓冲输入图形的细节差别和移位问题,因此可以很好的解决文字识别中输入多变的问题。;对发票识别的场景做如下建模:

(4.1.1)文字为打印体,因此相对工整、清晰;

(4.1.2)文字大小基本近似;

(4.1.3)可较容易的区分前景文字和背景文字;

在这种模型下,文字分割步骤可以采取相对固定的方式,而无需采用监督学习的统计模型,因此无需准备人工标注的训练集,极大的减少了ocr研发的前期时间。

(4.2)构建训练模型所用的训练集和验证集,训练集用于更新模型的权重,验证集用于跟踪训练效果;

所述构建训练集具体为:使用绘图指令以制定的字体在32*32位图中绘制标签字符;将前景矩阵mtext转换为32*32的布尔掩码矩阵m’,将所有数据进行序列化。在训练模型上采取10种不同的字体对如下字符绘制训练集:

0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,因此每种字符产生10个样本。在训练时随机应用如下变化,以减少过拟合,提高神经网络的测试准确率,准确度可以达到95%以上。

(4.3)根据所述训练集,使用监督学习方法对构建的神经网络模型进行训练,并使其验证准确率达到预定标准或训练轮数达到预定最大轮数;

(4.4)将训练后的模型权重进行保存;

(4.5)选用权重最大的模型,对所述输出的字符集进行文字识别,得到在标签空间中的概率分布矩阵;

(4.6)按行循环访问概率分布矩阵中的每一行,扫描每一行最大峰值处得到其标签索引,从而转换为相应的字符,即识别结果;

(4.7)将识别结果按发票识别的语义组织为具有语义的结果对象,作为最终识别结果。

实施例:

按照本发明智能审核系统搭建实物平台,以十种不同格式的发票为例,通过扫描仪扫描成图片进入系统,扫描成图片的发票经过系统识别处理全部识别成功,在通过系统内控检查后,符合内控要求的发票,自动生成报销单二维码编号。对于比如出租车票连号、重号等问题,都能够精确的进行识别和筛选,对不同格式、纸张大小的发票,全兼容,识别率超过现有ocr技术识别率,取得良好的效果。

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