一种发票关键信息识别方法及系统与流程

文档序号:17833848发布日期:2019-06-05 23:18阅读:305来源:国知局
本发明实施例涉及图像处理
技术领域
:,更具体地,涉及一种发票关键信息识别方法及系统。
背景技术
::在财务管理系统中,发票常作为报销凭证,对发票关键信息的识别关系到财务管理系统的准确性,一个典型的财务报销流程如下:首先每月结算出各个社会渠道网点的酬金金额,社会渠道网点根据酬金金额开发票。然后,发票提供给渠道经理收集,收集后手工在excel中录入发票代码、发票号码、发票金额、开票渠道等信息,再发邮件给酬金管理员进行汇总。然后,酬金管理员根据录入的发票信息与渠道网点的酬金金额进行比对,如是多个月合并报账的则要与多个月酬金金额核对,如是多个子渠道合并报账的则要多个子渠道汇总酬金金额核对,如发票金额超过酬金金额则退回。最后,账务管理员进行稽核,稽核后再提交给财务部进行报账。可见,上述报账流程涉及到多项手工环节,目前的技术解决方案主要是通过开发一个报账辅助功能,提供发票的表单录入、表单流转流程、报账流程审批等功能,这样会存在以下问题:调用通用的文字识别接口对发票中的信息进行识别时,由于各种环境的光线明暗不同、发票摆放位置不一以及拍照相机分辨率不同等原因,导致对发票信息识别准确率有很大的影响。技术实现要素:本发明实施例提供了一种克服上述问题或者至少部分地解决上述问题的发票关键信息识别方法及系统。一方面本发明实施例提供了一种发票关键信息识别方法,所述方法包括:s1,利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框;s2,利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框;s3,对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行;s4,从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。进一步地,在步骤s1之前还包括:获取所述待识别发票的原始图像,并对所述原始图像依次进行轮廓检测、矩形框计算和仿射变换得到所述待识别发票的图像。进一步地,在步骤s3之前还包括:根据待识别发票中关键信息的分布,对所述图像进行比例截取得到包含有关键信息的所述多个预设区域。进一步地,步骤s3具体包括:在所述每个预设区域的图像坐标系中,将最大纵坐标值处于多个第一预设范围中任一第一预设范围内的检测框归入同一逻辑行,在所述每个预设区域内得到至少一个逻辑行。进一步地,所述方法还包括:若判断获知所述每个预设区域内的各逻辑行中的同一逻辑行存在多个关键信息时,则对所述同一逻辑行中的检测框进行逻辑列归并。进一步地,所述对所述同一逻辑行中的检测框进行逻辑列归并,具体包括:在所述每个预设区域的图像坐标系中,将最大横坐标值处于多个第二预设范围中任一第二预设范围内的检测框归入同一逻辑列,得到多个逻辑列。进一步地,步骤s4具体包括:采用开源的ocr识别工具从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。另一方面本发明实施例提供了一种发票关键信息识别系统,所述系统包括:mser算法处理模块,用于利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框;nms算法处理模块,用于利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框;行归并模块,用于对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行;信息识别模块,用于从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。第三方面发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述方法。第四方面发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法。本发明实施例提供的一种发票关键信息识别方法及系统,利用图像处理技术,在信息检测阶段利用mser算法和nms算法对待识别发票的图片中的文字进行一一标注,再将各关键信息对应的文字的检测框进行逻辑行规并,最终识别的预设区域内处于同一逻辑行的检测框内的文字即为对应的关键信息,从而实现了发票关键信息的高精度自动化识别。附图说明图1为本发明实施例提供的一种发票关键信息识别方法的流程图;图2为本发明实施例中某一发票的图像依次经mesr算法处理、nms算法处理及逻辑行归并操作后各关键信息所在区域的图像;其中,图2a为发票号码所在区域的图像,图2b为纳税人识别号所在区域的图像,图2c为发票代码所在区域的图像,图2d为开票日期所在区域的图像;图3为本发明实施例中某一发票的图像依次经mesr算法处理、nms算法处理、逻辑行归并操作以及逻辑列归并操作后的图像;图4为本发明实施例的实例中所述报账系统的示意图;图5为本发明实施例的实例中所述报账系统运行的流程图;图6为本发明实施例提供的一种发票关键信息识别系统的结构框图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。利用本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的一种发票关键信息识别方法的流程图,如图1所示,所述方法包括:s1,利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框;s2,利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框;s3,对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行;s4,从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。在步骤s1中所做操作是尽可能多的标注所述待识别发票的图像中的文字信息,其中所用到的最大稳定极值区域(maximallystableextremalregions,mser)算法是基于分水岭的概念,对图像进行二值化,二值化阈值取[0,255],这样二值化图像就经历一个从全黑到全白的过程(就像水位不断上升的俯瞰图)。在这个过程中,有些连通区域面积随阈值上升的变化很小,将这连通种区域就叫mser。连通区域可通过如下公式确定:其中,qi表示第i个连通区域的面积,δ表示微小的阈值变化(注水),当v(i)小于给定阈值时认为该区域为mser。同时,在具体操作时将图像中确定出的mser用候选框标注出来,以供后续处理。在步骤s2中,由于在步骤s1中用mser算法标注出来的文字信息并不准确,具体体现在有些候选框并不是标注一个完整的文字,有些文字被重复标注,在步骤s2中利用非极大值抑制(nonmaximumsuppression,nms)算法对步骤s1中得到的多个候选框进行过滤以得到与图像中文字一一对应的检测框。其中所用到的nms算法本质是搜索局部极大值,抑制非极大值元素。它首先基于物体检测分数产生检测框,分数最高的检测框被选中(在本发明实施例中,假设面积越大的候选框分数越高),其他与被选中检测框有明显重叠的检测框被抑制。该过程被不断递归的应用于其余检测框。在步骤s3中,经过s1-s2的处理后,待识别发票的图片上的所有文字都被多个检测框一一标注出来,为了得到有效的关键信息,结合书写和阅读形式,需要将同一关键信息对应的文字归并到同一逻辑行以供后续识别,那么就需要将标注同一关键信息对应的文字的检测框归并到同一逻辑行中。例如,某一增值税发票的一个关键信息发票号码,其对应的文字为一串数字“4400161130”,通过步骤s1-s2中的处理,已将“4400161130”中的单个数字通过10个检测框标注出来,则在步骤s3中需将该10个检测框归并到同一逻辑行,以便于后续识别这一串数字。其中所述预设区域的选择需根据待识别发票中关键信息布置位置进行确定。本发明实施例提供了一种发票关键信息识别方法,利用图像处理技术,在信息检测阶段利用mser算法和nms算法对待识别发票的图片中的文字进行一一标注,再将各关键信息对应的文字的检测框进行逻辑行规并,最终识别的预设区域内处于同一逻辑行的检测框内的文字即为对应的关键信息,从而实现了发票关键信息的高精度自动化识别。基于上述实施例,在步骤s1之前还包括:获取所述待识别发票的原始图像,并对所述原始图像依次进行轮廓检测、矩形框计算和仿射变换得到所述待识别发票的图像。具体地,所述待识别发票的原始图像通过各种图像采集装置获取,可以是智能手机等设备。原始图像一般都会有不同程度倾斜,而且图像中发票所占区域大小不一,不利于进行识别。通过对图片中的轮廓检测和矩形框计算可以有效解决上述问题,最后经过图片仿射变换可以得到大小统一的图片样本,为信息检测提供有利条件。基于上述实施例,在步骤s3之前还包括:根据待识别发票中关键信息的分布,对所述图像进行比例截取得到包含有关键信息的所述多个预设区域。具体地,为了降低识别难度和工作量,根据待识别发票中关键信息的在发票中的分布情况,对所述图像进行比例截取得到包含有关键信息的所述多个预设区域。例如,如图2a、2b、2c及2d,分别对应着某一增值税发票的关键信息发票号码、纳税人识别号、发票代码及开票日期经过比例截取得到的区域,依次经mesr算法处理、nms算法处理及逻辑行归并操作后的图像。基于上述实施例,步骤s3具体包括:在所述每个预设区域的图像坐标系中,将最大纵坐标值处于多个第一预设范围中任一第一预设范围内的检测框归入同一逻辑行,在所述每个预设区域内得到至少一个逻辑行。具体地,逻辑行规并操作是通过对预设图像区域内的信息进行分析,设一个定门限值,在门限值以内的检测框分别经过y,x坐标轴的排序后被归并为在同一逻辑行。基于上述实施例,所述方法还包括:若判断获知所述每个预设区域内的各逻辑行中的同一逻辑行存在多个关键信息时,则对所述同一逻辑行中的检测框进行逻辑列归并。具体地,例如,如图3所示,某一增值税发票的发票金额、税率、税额等关键信同时存在于小范围区域内,无法通过常规比例截取进行分割(和发票的打印效果相关,会产生一定程度的位移波动),经过行归并算法后会集中在同一逻辑行,不利于识别。此时可以通过列归并算法进行区分。基于上述实施例,所述对所述同一逻辑行中的检测框进行逻辑列归并,具体包括:在所述每个预设区域的图像坐标系中,将最大横坐标值处于多个第二预设范围中任一第二预设范围内的检测框归入同一逻辑列,得到多个逻辑列。具体地,逻辑列归并操作的本质思想和逻辑行规并操作相同,仅仅在排序的过程中对x,y轴坐标排序的顺序不同,在此不再赘述。在进行逻辑列归并操作时,根据要区分的关键信息的位置,设置对应的预设范围,也就是说需要设置多个预设范围。基于上述实施例,步骤s4具体包括:采用开源的光学字符识别(opticalcharacterrecognition,ocr)识别工具从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。具体地,本发明实施例中所识别的关键信息包括发票号码、发票代码、开票日期、纳税人识别号、金额、税率、税额等。在具体实施时,采用谷歌公司维护的tesseract开源ocr识别工具进行识别,同时根据实际需求对其进行优化,具体优化措施阐述如下:(1)数字模型优化:发票代码字体特殊,tesseract无法识别,需要重新训练新的数字模型进行识别。利用jtessboxeditor工具对样本数据进行特征提取,构建了针对发票代码字体的数字模型。植入tesseract后识别正确率有了大幅度提升。(2)参数优化:tesseract提供了多种命令行参数,特别的,提供了区块识别模式,可以针对同一行信息进行整体识别。例如,通过这一模式对位于同一逻辑行的税率、税前金额和税额三项信息进行识别。下面通过一个实例对本发明实施例进行进一步说明,可以理解地,以下仅为本发明实施例的一个具体实例,本发明实施例并不以此为限。图4为一个采用了本发明实施例提供的发票关键信息识别方法的一个报账系统的示意图,如图4所示,该系统运行的步骤如下:(1)、社会渠道网点登录计酬系统前端,并选择发票录入功能;(2)、计酬系统后台获取渠道类型、历史报账信息、当月酬金金额;(3)、用户使用智能手机对发票进行拍照,上传发票照片;(4)、ocr识别解析发票关键信息;(5)、判断发票金额、税率、抬头等信息是否有效;(6)、自动将发票信息上传到计酬系统后台,并发起报账流程。如图5所示,利用该系统进行报账的具体流程如下:1、社会渠道网点输入手机号码、动态随机短信码进行鉴权登录,这里会先判断输入的手机号码是否是渠道注册登记的手机号码,如果不是注册登记的手机号码则返回;2、用户进入计酬系统前端,并选择进入发票录入功能;3、后台与计酬系统联动,查询获取该渠道的渠道类型、历史报账信息、当月酬金数据,以判断该渠道是否是连锁渠道合并报账,是否已报过账,是否有酬金可报账;4、判断是否有可以报账的酬金,如果已报过账或可报账的金额为零,则返回提醒;5、用户使用智能手机对发票拍照,然后上传图片;6、解析识别发票照片,如果拍照的发票不完整或不清晰,则返回重新拍照,否则识别发票的关键信息(包括发票编码、发票号码、发票抬头、开票金额、税率等信息);7、回传并与计酬系统判断,确认发票抬头、金额、税率等信息是否有效;8、如发票信息有效,则后台进行记录,并发起报账流程。在图5所示流程中,步骤6决定了整个报账系统工作的效率高低和准确性的高低。通过该系统用户可直接使用手机对增值税发票拍照上传,在不同场景下自动识别发票中的关键信息,并与计酬系统回传确认,有效地缩短了渠道网点的报账时长。可实现批量的增值税发票识别与自动录入,有效地节省人力成本的投入。图6为本发明实施例提供的一种发票关键信息识别系统的结构框图,如图6所示,所述系统包括:mser算法处理模块1、nms算法处理模块2、行归并模块3以及信息识别模块4。其中,mser算法处理模块1用于利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框。nms算法处理模块2用于利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框。行归并模块3用于对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行。信息识别模块4用于从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框;利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框;对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行;从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:利用最大稳定极值区域mser算法对待识别发票的图像中的文字进行检测,得到用于标注所述图像中的文字的多个候选框;利用非极大值抑制nms算法对所述多个候选框进行筛选,得到与所述图像中的文字一一对应的多个检测框;对所述图像中多个预设区域内的检测框进行逻辑行归并,在每个预设区域内得到至少一个逻辑行;从所述每个预设区域内的各逻辑行中识别所述待识别发票的关键信息。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1