CN112949455A - 一种增值税发票识别系统及方法 - Google Patents
一种增值税发票识别系统及方法 Download PDFInfo
- Publication number
- CN112949455A CN112949455A CN202110216933.4A CN202110216933A CN112949455A CN 112949455 A CN112949455 A CN 112949455A CN 202110216933 A CN202110216933 A CN 202110216933A CN 112949455 A CN112949455 A CN 112949455A
- Authority
- CN
- China
- Prior art keywords
- value
- added tax
- character
- picture
- tax invoice
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 22
- 230000011218 segmentation Effects 0.000 claims description 20
- 102100032202 Cornulin Human genes 0.000 claims description 18
- 101000920981 Homo sapiens Cornulin Proteins 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000013527 convolutional neural network Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种增值税发票识别系统及方法,涉及票据识别领域,该系统包括PDF识别模块和图片识别模块,PDF识别模块用于对PDF形式增值税发票进行识别,以及当对PDF形式增值税发票识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票;图片识别模块用于对于图片形式增值税发票以及PDF识别模块转化得到的图片形式增值税发票进行识别。本发明无需进行增值税发票文件类型的指定,便可实现增值税发票的自动识别。
Description
技术领域
本发明涉及票据识别领域,具体涉及一种增值税发票识别系统及方法。
背景技术
增值税发票作为企业间交易的凭证,是核实业务往来以及报税的重要依据,此外,增值税发票对于企业的财务管理也极为重要。
随着信息化进程的不断推进,当前增值税发票存在纸质发票和电子发票两种,其中,纸质发票(或打印出来的电子发票)一般通过拍照、扫描等方式电子化后以图像文件的形式进行存储,即形成图片形式增值税发票进行存储,而电子发票则一般以PDF文件格式存储,即形成PDF形式增值税发票进行存储。
在实际的工作中,企业财务需要录入的发票,一般都是图片形式增值税发票和PDF形式增值税发票两种类型混合的。现有的增值税发票识别系统,很少具有对PDF形式增值税发票识别的功能,即便是有,也与图片形式增值税发票识别的功能分离,且与发票图像识别数据格式不统一,需要用户自主选择,并处理不同的数据格式,无法实现自动化区分识别
同时,现有的对于图片形式增值税发票的识别一般以OCR(Optical CharacterRecognition,光学字符识别)技术为基础,主要过程包括预处理、文字检测、文字识别和后处理,但其存在以下缺陷:
(1)预处理一般为基于传统图像处理方法,但是对真实条件下复杂多变的拍照场景,如光照、旋转、模糊、扭曲、发票区域占整个图片区域小、发票区域与背景相似等情况,其处理效果差,且对高分辨率的图片处理速度慢。
(2)文字检测一般为传统图像处理或基于深度学习的文字行检测方法,但只能检测水平或有轻微倾斜的文字行,无法处理大角度旋转甚至垂直的文字行。
(3)文字识别一般为传统图像处理或基于深度学习的识别方法,但由于中文汉字具有以形辨字、字符数量多的特殊性,导致经常出现错识别为形似字的情况,且对模糊文字识别精度低、识别速度慢。
(4)后处理一般为基于预设规则或模板的匹配方法,此类方法无法处理文字检测或文字识别出现的漏识别、错识别等情况,且对于图片上出现字段被部分遮挡、字段打印不规整、字段错行等情形,亦无法成功匹配。因此现有的图片形式增值税发票识别方法,易出现结果输出字段不全情况,输出结果只包含诸如发票代码、发票号码等较为容易匹配的字段。
由上可知,现有的增值税发票识别方法对于扫描或高质量的增值税发票图片有较好的效果,但对真实场景复杂多变的拍照环境和纸质发票打印出来的各种不规整情形,识别效果较差,无法实现对于图片形式增值税发票和PDF形式增值税发票两种形式发票的有效识别。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种增值税发票识别系统及方法,无需进行增值税发票文件类型的指定,便可实现增值税发票的自动识别。
为达到以上目的,本发明提供的一种增值税发票识别系统,包括:
PDF识别模块,其用于对PDF形式增值税发票进行识别,以及当对PDF形式增值税发票识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票;
图片识别模块,其用于对于图片形式增值税发票以及PDF识别模块转化得到的图片形式增值税发票进行识别。
在上述技术方案的基础上,
所述PDF识别模块包括信息提取模块和字段提取模块;
所述信息提取模块用于解析PDF形式增值税发票的PDF文件数据,得到PDF文件数据中每个字符的文字内容和位置坐标;
所述字段提取模块用于基于预设规则,将信息提取模块得到的每个字符的文字内容和位置坐标,组合为key-value形式的字段,并得到每个字段对应文字内容的位置坐标。
在上述技术方案的基础上,所述预设规则为基于增值税电子发票的版式规则,得到的各个字符的空间位置关系和各个字符的文字内容的正则关系。
在上述技术方案的基础上,
所述图片识别模块包括区域分割模块、文字检测模块、模型连接模块、文字识别模块、版面分析模块、字段提取模块和结果校验模块;
所述区域分割模块用于将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片;
所述文字检测模块用于检测增值税发票图片上文字行所在的位置,得到文字行的边界框坐标,所述文字行为多个,且每个文字行对应一边界框坐标;
所述模型连接模块用于将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片;
所述文字识别模块用于对文字行图片上的文字内容进行识别;
所述版面分析模块用于基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别;
所述字段提取模块用于基于文字行所属的字段类别,将文字行的文字内容组合成key-value形式的字段,并得到每个字段对应文字内容的位置坐标,输出识别结果;
所述结果校验模块用于对识别结果进行校验。
在上述技术方案的基础上,所述区域分割模块将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片,具体过程为:
基于Fast SCNN,得到图片形式增值税发票所在图片的方向,以及图片形式增值税发票所在图片中的发票区域掩膜;
对得到的发票区域掩膜进行轮廓检测,并基于透视变换技术将图片形式增值税发票所在图片中的发票区域进行裁剪;
根据得到的图片形式增值税发票所在图片的方向,对裁剪得到的发票区域进行对应旋转,得到方向为正,且发票区域占满整张图片的增值税发票图片。
在上述技术方案的基础上,所述模型连接模块将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片,具体过程为:
基于透视变换技术,并根据文字行的边界框坐标,对增值税发票图片中的文字行进行裁剪,得到文字行图片,且每张文字行图片仅包括一行文字,且文字行图片的方向为正。
在上述技术方案的基础上,
所述文字识别模块对文字行图片上的文字内容进行识别,具体的,文字识别模块基于CRNN+CTC模型对文字行图片上的文字内容进行识别;
所述CRNN+CTC模型在对文字行图片进行识别时,将宽高比相近的文字行图片合并成一个批次,输入CRNN+CTC模型以进行文字内容识别;
所述CRNN+CTC模型有提取图像特征的卷积神经网络backbone、提取语义特征的循环神经网络language model和计算损失的CTC Loss串联组成;
所述卷积神经网络backbone和循环神经网络language model之间设有可插拔的超分辨率模块,所述超分辨率模块用于在卷积神经网络backbone的输出之后添加一个与循环神经网络language model平行的分支,利用上采样结构将输入恢复到与输入相同的尺寸;
所述CRNN+CTC模型还用于根据语料统计字符出现的频率,并采用Huffman树的形式对字符进行编码。
在上述技术方案的基础上,
所述版面分析模块基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别,具体的,基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,并结合带注意力机制的sequenceto sequence模型,得到每个文字行所属的字段类别;
所述sequence to sequence模型的输入为按空间位置顺序排列的特征序列,输出为与特征序列长度相同的序列;
所述特征序列的长度与文字行的数量相同;
所述特征序列的顺序排列为依据文字行边界框坐标,按从上到下,从左到右的排列顺序;
所述特征序列每个位置的特征表现为一个向量。
在上述技术方案的基础上,所述结果校验模块对识别结果进行校验,具体的,结果校验模块基于增值税发票各个字段应满足的固定规则对识别结果进行校验。
本发明提供的一种增值税发票识别方法,包括以下步骤:
获取待识别增值税发票,并基于待识别增值税发票的类型:
当待识别增值税发票的类型为PDF形式增值税发票时,通过PDF识别模块对PDF形式增值税发票进行识别,并当识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票后,通过图片识别模块进行识别;
当待识别增值税发票的类型为图片形式增值税发票时,直接使用图片识别模块进行识别。
与现有技术相比,本发明的优点在于:能够自动处理不同文件类型的增值税发票,支持PDF形式增值税发票和图片形式增值税发票的识别,无需进行增值税发票文件类型的指定,便可实现自动识别,且还支持输出统一数据格式的识别结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种增值税发票识别系统的结构示意图。
具体实施方式
本发明实施例提供的一种增值税发票识别系统,能够自动处理不同文件类型的增值税发票,支持PDF形式增值税发票和图片形式增值税发票的识别,无需进行增值税发票文件类型的指定,便可实现自动识别,且还支持输出统一数据格式的识别结果。本发明实施例相应地还提供了一种增值税发票识别方法。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本发明实施例提供的一种增值税发票识别系统,包括PDF识别模块和图片识别模块。PDF识别模块用于对PDF形式增值税发票进行识别,以及当对PDF形式增值税发票识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票;图片识别模块用于对于图片形式增值税发票以及PDF识别模块转化得到的图片形式增值税发票进行识别。
本发明实施例中,PDF形式增值税发票为可解析的PDF文件格式的增值税电子发票。可解析PDF文件格式,是指包含未加密的文字内容、位置等数据的文件,在用PDF阅读器中打开后出现的文字是由这些数据渲染而成的矢量文字,其表现为文字内容可由鼠标框选,且文字清晰度不会随着放大而降低。与之相对的不可解析的PDF文件,是指文件中包含的是图片数据,表现为文字内容不可由鼠标框选。图片形式增值税发票的文件格式为图片。
本发明实施例中,PDF识别模块包括信息提取模块和字段提取模块;信息提取模块用于解析PDF形式增值税发票的PDF文件数据,得到PDF文件数据中每个字符的文字内容和位置坐标;字段提取模块用于基于预设规则,将信息提取模块得到的每个字符的文字内容和位置坐标,组合为key-value(键值对)形式的字段,并得到每个字段对应文字内容的位置坐标。预设规则为基于增值税电子发票的版式规则,得到的各个字符的空间位置关系和各个字符的文字内容的正则关系。即根据增值税电子发票的版式规则,得到每个字段处的文字内容,以及该文字内容的位置坐标,例如,对于发票名称字段,得到发票名称字段的文字内容,以及该文字内容的位置坐标。
本发明实施例中,图片识别模块包括区域分割模块、文字检测模块、模型连接模块、文字识别模块、版面分析模块、字段提取模块和结果校验模块。区域分割模块用于将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片。区域分割模块将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片,具体过程为:
A:基于Fast SCNN,得到图片形式增值税发票所在图片的方向,以及图片形式增值税发票所在图片中的发票区域掩膜;
B:对得到的发票区域掩膜进行轮廓检测,并基于透视变换技术将图片形式增值税发票所在图片中的发票区域进行裁剪;
C:根据得到的图片形式增值税发票所在图片的方向,对裁剪得到的发票区域进行对应旋转,得到方向为正,且发票区域占满整张图片的增值税发票图片。
将图片形式增值税发票所在图片中的发票区域进行分割,为一个语义分割任务,该任务使用Fast SCNN进行。Fast SCNN是一个用于语义分割任务的深度卷积神经网络模型,其输入为归一化后的三通道图片张量,输出与输入长宽相同的二元掩膜,每个位置的值代表该位置的对应像素是否为增值税发票区域的一部分。Fast SCNN拥有速度快,计算开销低,且有不错精度的特点。
为了适应不同方向的增值税发票图片,对Fast SCNN的网络结构进行改进,在其Global Feature Extractor模块的下采样之后,添加了一个分类的输出分支,来判定输入图片的方向。在得到Fast SCNN输出的发票区域掩膜和图片方向后,先对发票区域掩膜做轮廓检测,然后用透视变换将发票区域从原图中剪裁出来,最后根据Fast SCNN输出的图片方向,对切割出来的图片做相应的旋转,得到正的、发票区域占满整张图片的增值税发票图片。区域分割模块的输入为原始增值税发票图片,输出为正方向,且发票区域占满整张图片的增值税发票图片。
本发明实施例中,文字检测模块用于检测增值税发票图片上文字行所在的位置,得到文字行的边界框坐标,文字行为多个,且每个文字行对应一边界框坐标。
检测增值税发票图片上文字行所在的位置,得到文字行的边界框坐标,具体为使用DB(Differentiable Binarization,可微分二值化)模型进行。DB模型是一种基于分割方法的深度卷积神经网络模型,专用于场景文字检测任务,得益于分割方法像素级别的预测结果,基于分割的场景文字检测方法可以描述不同形状的文字。大多数基于分割的方法需要复杂的后处理,把像素级别的预测结果分类为已检测的文字实例,导致推理的时间成本相当高,一般方法的pipeline使用固定的阈值对于分割后的热力图进行二值化处理,而DB的pipeline会将二值化操作嵌入到分割网络中进行组合优化,生成与热力图对应的阈值图,通过二者的结合生成最终的二值化操作。
DB模型的优势在于精度高、速度快、可检测任意方向的文字。基于这种特性,在训练的时候将样本图片做随机的旋转,来让模型不仅能检测到水平的文字行,也可以检测到大角度倾斜甚至是垂直的文字行,从而可以很好的处理增值税发票打印时出现的倾斜情况,并且能检测到发票联次字段所在的垂直文字行,不会漏掉这一字段。文字检测模块的输入为区域分割模块的输出,即方向为正,且发票区域占满整张图片的增值税发票图片,输出为输入图片上所有文字行的边界框,每个边界框是一个四边形,由四点共八个坐标表示。
本发明实施例中,模型连接模块用于将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片。模型连接模块将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片,具体过程为:
基于透视变换技术,并根据文字行的边界框坐标,对增值税发票图片中的文字行进行裁剪,得到文字行图片,且每张文字行图片仅包括一行文字,且文字行图片的方向为正。即用透视变换,将文字行从图片中剪裁出来,变为一个个单独的文字行图片,每个文字行图片仅包含一行文字,并根据宽高比,将垂直的文字行小图片,旋转至水平。模型连接模块的输入为区域分割模块和文字检测模块的输出,即方向为正,且发票区域占满整张图片的增值税发票图片,以及所有文字行的边界框;输出为与文字行数量相同的、每张仅包含单独文字行的图片。
本发明实施例中,文字识别模块用于对文字行图片上的文字内容进行识别。文字识别模块对文字行图片上的文字内容进行识别,具体的,文字识别模块基于CRNN+CTC模型对文字行图片上的文字内容进行识别;CRNN+CTC模型在对文字行图片进行识别时,将宽高比相近的文字行图片合并成一个批次,输入CRNN+CTC模型以进行文字内容识别;CRNN+CTC模型有提取图像特征的卷积神经网络backbone、提取语义特征的循环神经网络languagemodel和计算损失的CTC Loss串联组成;卷积神经网络backbone和循环神经网络languagemodel之间设有可插拔的超分辨率模块,所述超分辨率模块用于在卷积神经网络backbone的输出之后添加一个与循环神经网络language model平行的分支,利用上采样结构将输入恢复到与输入相同的尺寸;CRNN+CTC模型还用于根据语料统计字符出现的频率,并采用Huffman树的形式对字符进行编码。
CRNN+CTC模型一种常用的基于深度神经网络的识别模型,其结构由提取图像特征的卷积神经网络backbone、提取语义特征的循环神经网络language model、和计算损失的CTC Loss串联组成,并支持不固定宽度的输入图片,输出则为文本内容和文字行识别置信度。针对增值税发票图片的文字识别,对CRNN+CTC模型进行了以下两点改进:
一是针对打印或拍照造成模糊的文字,在卷积神经网络和循环神经网络之间,加入可插拔的超分辨率模块。超分辨率模块只在训练中生效。在训练时,输入为经过模糊处理的低分辨率文字行图片。超分辨率模块在backbone的输出后,添加一个与language model平行的分支,利用反卷积等上采样结构将输入恢复到与输入相同的尺寸,与输入图片模糊前的高分辨率图片做像素级的L1 Loss,来约束backbone,使其更好的处理模糊的低分辨率输入。而在推理预测时,是不需要该超分辨模块的,因此不会增加额外的计算量。
二是针对中文字符数量多,形近字容易混淆的特点,根据语料统计字符出现的频率,将字符用Huffman树的形式编码。这样的层次结构能大幅降低模型参数,减少计算量;并且会为常见字符提供更高的先验概率,以此来降低形近字混淆的错误率。
此外,为了充分利用GPU(Graphics Processing Unit,图形处理器)计算能力,在推理预测阶段,会将所有的文字行图片按宽高比排序,将宽高比相近的文字行小图片合并成一个批次,作为模型的输入。这样的方式不仅利用了并行计算方式速度快的优点,且尽可能的降低了额外增加的计算量。文字识别模块的输入为模型连接模块的输出,即文字行图片;输出为每个文字行的文本内容。
本发明实施例中,版面分析模块用于基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别。版面分析模块基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别,具体的,基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,并结合带注意力机制的sequence to sequence模型(序列到序列模型),得到每个文字行所属的字段类别;sequence to sequence模型的输入为按空间位置顺序排列的特征序列,输出为与特征序列长度相同的序列;特征序列的长度与文字行的数量相同;特征序列的顺序排列为依据文字行边界框坐标,按从上到下,从左到右的排列顺序;特征序列每个位置的特征表现为一个向量。
具体的,特征序列每个位置的特征表现为一个339维的向量,其组成包括边界框四点坐标(8维)、文字内容每个字符做word2vec后平均(300维)和文字内容依据预设的正则表达式规则判断等人工设计的特征(31维)。其中word2vec是预先由语料数据训练的字符级别的词向量模型,它将每个字符转化为300维的向量表示。
输出的字段类别序列同样与文字行的数量相同。序列的每个位置表示该文字行所属的字段类别,共33类,包括表示文字行不属于任何字段的其它类、增值税发票基本信息24类和增值税发票物品明细信息8类。使用带注意力机制的sequence to sequence模型优势在于分利用了文字行间的关联关系,能更准确的判断文字行的类别。版面分析模块的相对于一般增值税发票识别的后处理,优势在于能准确的判断因打印倾斜、多行错行、部分遮盖等各种复杂情况下文字行所属的字段类别,鲁棒性高,泛化能力强。版面分析模块的输入为文字检测模块和文字识别模块的输出,即文字行的边界框坐标和文本内容;输出为文字行所属的字段类别。
本发明实施例中,字段提取模块用于基于文字行所属的字段类别,将文字行的文字内容组合成key-value形式的字段,并得到每个字段对应文字内容的位置坐标,输出识别结果。主要是依据预设的正则表达式等人工设计的规则,将属于同字段类别的(可能有)多个文字行按空间位置关系组合起来,并将字段的key与value区分开来。这里的空间位置关系判断的依据是文字行边界框的坐标。字段提取模块的输入为文字检测模块、文字识别模块、版面分析模块的输出,即每个文字行的边界框坐标、文本内容和所属的字段类别;输出为结构化的key-value形式的的增值税发票字段,以及字段相关文字所在的位置坐标。
本发明实施例中,结果校验模块用于对识别结果进行校验。结果校验模块对识别结果进行校验,具体的,结果校验模块基于增值税发票各个字段应满足的固定规则对识别结果进行校验。
因为识别不可能做到100%完全正确,故通过结果校验模块,依据文字识别的置信度和增值税发票各个字段的应满足的固定规则(如“发票代码”、“发票号码”一定存在且为固定位数的数字、“纳税人识别号”最后一位应满足相应的校验规则等),给出每个字段识别结果的置信度,帮助快速判断哪些字段的识别结果是可信的,而哪些识别错误概率较大,从而极大地提高了人工复核的效率。结果校验模块不会修改识别结果,只给出每个字段识别的置信度,以提醒重点关注置信度低的字段。结果校验模块的输入为字段提取模块的输出,即识别得到的结构化的增值税发票字段信息;输出为每个字段识别的置信度。
本发明实施例的增值税发票识别系统,作为云端服务,系统由Docker构建的基于Flask/Gunicorn的微服务框架部署。系统主体与区域分割、文字检测、文字识别模块的深度学习模型部署相分离,在主体内部的对应模块由RPC方式调用模型计算。主体与深度学习模型分离部署,可以做到多主体、单模型,能够大大节约计算资源,在相同的计算资源下提高并发量。作为SDK(Software Development Kit,软件开发工具包),本发明的增值税发票识别系统由c++实现识别流程,输入待识别的增值税发票图片或PDF文件,输出统一格式的结构化识别结果,可支持本地私有化部署或端侧部署。
本发明实施例的增值税发票识别系统,能够自动处理不同文件类型的增值税发票,支持PDF形式增值税发票和图片形式增值税发票的识别,无需进行增值税发票文件类型的指定,便可实现自动识别,且还支持输出统一数据格式的识别结果。
同时,本发明实施例的增值税发票识别系统还支持全字段识别,可以识别增值税发票的全部32个字段,包括24个发票信息字段和8个项目明细字段;24个发票信息字段包括发票名称、发票代码、发票号码、开票日期、校验码、机器编号、密码区、购买方名称、购买方识别号、购买方地址电话、购买方开户行及账号、合计金额、合计税额、价税合计大写、价税合计小写、联次、销售方名称、销售方识别号、销售方地址电话、销售方开户行及账号、收款人、复核、开票人和备注,8个项目明细字段包括名称、规格型号、单位、数量、单价、金额、税率、税额。
且识别精度高,适用复杂多变的真实自然场景下的增值税发票图片识别,可以在(包括但不限于)发票区域占图片区域较小、背景复杂、任意旋转角度、打印或拍摄模糊、打印多行错行、字段部分遮盖等情况下保证高识别准确率;且识别速度快、利用GPU计算、并行加速、模型结构优化等方法,相对于一般的增值税发票识别,极大地提高识别速度;且能够辅助人工核验,返回字段置信度,帮助快速定位识别出错可能性大的字段,极大地提高人工复核的效率。
本发明实施例的增值税发票识别系统,主要创新点在于:(1)加入区域分割模块,使用深度学习方法提取发票区域;(2)文字检测模块可检测任意角度的文字,包括垂直的文字行;(3)文字识别模块模型训练时使用可插拔超分辨模块增强对模糊文字的识别,Huffman树字符编码降低计算量且增强对形近字的区分;(4)版面分析模块使用自然语言处理机器翻译的思想方法,用模型预测文字行所属的字段类别,有很高的分类精度和强鲁棒性;(5)加入结果校验模块,提升人工核验效率;(6)系统主体与深度学习模型分离部署,节约计算资源,增强并发能力。
本发明实施例提供的一种增值税发票识别方法,基于上述所述的增值税发票识别系统实现,其特征在于:
获取待识别增值税发票,并基于待识别增值税发票的类型:
当待识别增值税发票的类型为PDF形式增值税发票时,通过PDF识别模块对PDF形式增值税发票进行识别,并当识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票后,通过图片识别模块进行识别;
当待识别增值税发票的类型为图片形式增值税发票时,直接使用图片识别模块进行识别。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (10)
1.一种增值税发票识别系统,其特征在于,包括:
PDF识别模块,其用于对PDF形式增值税发票进行识别,以及当对PDF形式增值税发票识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票;
图片识别模块,其用于对于图片形式增值税发票以及PDF识别模块转化得到的图片形式增值税发票进行识别。
2.如权利要求1所述的一种增值税发票识别系统,其特征在于:
所述PDF识别模块包括信息提取模块和字段提取模块;
所述信息提取模块用于解析PDF形式增值税发票的PDF文件数据,得到PDF文件数据中每个字符的文字内容和位置坐标;
所述字段提取模块用于基于预设规则,将信息提取模块得到的每个字符的文字内容和位置坐标,组合为key-value形式的字段,并得到每个字段对应文字内容的位置坐标。
3.如权利要求2所述的一种增值税发票识别系统,其特征在于:所述预设规则为基于增值税电子发票的版式规则,得到的各个字符的空间位置关系和各个字符的文字内容的正则关系。
4.如权利要求1所述的一种增值税发票识别系统,其特征在于:
所述图片识别模块包括区域分割模块、文字检测模块、模型连接模块、文字识别模块、版面分析模块、字段提取模块和结果校验模块;
所述区域分割模块用于将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片;
所述文字检测模块用于检测增值税发票图片上文字行所在的位置,得到文字行的边界框坐标,所述文字行为多个,且每个文字行对应一边界框坐标;
所述模型连接模块用于将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片;
所述文字识别模块用于对文字行图片上的文字内容进行识别;
所述版面分析模块用于基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别;
所述字段提取模块用于基于文字行所属的字段类别,将文字行的文字内容组合成key-value形式的字段,并得到每个字段对应文字内容的位置坐标,输出识别结果;
所述结果校验模块用于对识别结果进行校验。
5.如权利要求4所述的一种增值税发票识别系统,其特征在于,所述区域分割模块将图片形式增值税发票所在图片中的发票区域进行分割,得到增值税发票图片,具体过程为:
基于Fast SCNN,得到图片形式增值税发票所在图片的方向,以及图片形式增值税发票所在图片中的发票区域掩膜;
对得到的发票区域掩膜进行轮廓检测,并基于透视变换技术将图片形式增值税发票所在图片中的发票区域进行裁剪;
根据得到的图片形式增值税发票所在图片的方向,对裁剪得到的发票区域进行对应旋转,得到方向为正,且发票区域占满整张图片的增值税发票图片。
6.如权利要求4所述的一种增值税发票识别系统,其特征在于,所述模型连接模块将文字检测模块检测得到的文字行的边界框坐标所在区域转化为图片,得到文字行图片,具体过程为:
基于透视变换技术,并根据文字行的边界框坐标,对增值税发票图片中的文字行进行裁剪,得到文字行图片,且每张文字行图片仅包括一行文字,且文字行图片的方向为正。
7.如权利要求4所述的一种增值税发票识别系统,其特征在于:
所述文字识别模块对文字行图片上的文字内容进行识别,具体的,文字识别模块基于CRNN+CTC模型对文字行图片上的文字内容进行识别;
所述CRNN+CTC模型在对文字行图片进行识别时,将宽高比相近的文字行图片合并成一个批次,输入CRNN+CTC模型以进行文字内容识别;
所述CRNN+CTC模型有提取图像特征的卷积神经网络backbone、提取语义特征的循环神经网络language model和计算损失的CTC Loss串联组成;
所述卷积神经网络backbone和循环神经网络language model之间设有可插拔的超分辨率模块,所述超分辨率模块用于在卷积神经网络backbone的输出之后添加一个与循环神经网络language model平行的分支,利用上采样结构将输入恢复到与输入相同的尺寸;
所述CRNN+CTC模型还用于根据语料统计字符出现的频率,并采用Huffman树的形式对字符进行编码。
8.如权利要求4所述的一种增值税发票识别系统,其特征在于:
所述版面分析模块基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,得到每个文字行所属的字段类别,具体的,基于文字行的边界框坐标、文字行间的相对位置和识别得到的文字行的文字内容,并结合带注意力机制的sequence tosequence模型,得到每个文字行所属的字段类别;
所述sequence to sequence模型的输入为按空间位置顺序排列的特征序列,输出为与特征序列长度相同的序列;
所述特征序列的长度与文字行的数量相同;
所述特征序列的顺序排列为依据文字行边界框坐标,按从上到下,从左到右的排列顺序;
所述特征序列每个位置的特征表现为一个向量。
9.如权利要求4所述的一种增值税发票识别系统,其特征在于:所述结果校验模块对识别结果进行校验,具体的,结果校验模块基于增值税发票各个字段应满足的固定规则对识别结果进行校验。
10.一种增值税发票识别方法,基于权利要求1所述增值税发票识别系统实现,其特征在于,包括以下步骤:
获取待识别增值税发票,并基于待识别增值税发票的类型:
当待识别增值税发票的类型为PDF形式增值税发票时,通过PDF识别模块对PDF形式增值税发票进行识别,并当识别失败时,基于PDF格式和图片格式间的转化,将PDF形式增值税发票转化为图片形式增值税发票后,通过图片识别模块进行识别;
当待识别增值税发票的类型为图片形式增值税发票时,直接使用图片识别模块进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110216933.4A CN112949455B (zh) | 2021-02-26 | 2021-02-26 | 一种增值税发票识别系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110216933.4A CN112949455B (zh) | 2021-02-26 | 2021-02-26 | 一种增值税发票识别系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949455A true CN112949455A (zh) | 2021-06-11 |
CN112949455B CN112949455B (zh) | 2024-04-05 |
Family
ID=76246453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110216933.4A Active CN112949455B (zh) | 2021-02-26 | 2021-02-26 | 一种增值税发票识别系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949455B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688834A (zh) * | 2021-07-27 | 2021-11-23 | 深圳中兴网信科技有限公司 | 车票识别方法、车票识别系统及计算机可读存储介质 |
CN113705733A (zh) * | 2021-09-29 | 2021-11-26 | 平安医疗健康管理股份有限公司 | 医疗票据图像处理方法及装置、电子设备、存储介质 |
CN114266751A (zh) * | 2021-12-23 | 2022-04-01 | 福州大学 | 基于ai技术的产品包装袋打码缺陷检测方法及系统 |
CN114495147A (zh) * | 2022-01-25 | 2022-05-13 | 北京百度网讯科技有限公司 | 识别方法、装置、设备以及存储介质 |
CN114529929A (zh) * | 2022-01-07 | 2022-05-24 | 珠海奔图电子有限公司 | 电子发票版式文件处理方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992597A (zh) * | 2017-12-13 | 2018-05-04 | 国网山东省电力公司电力科学研究院 | 一种面向电网故障案例的文本结构化方法 |
CN109214382A (zh) * | 2018-07-16 | 2019-01-15 | 顺丰科技有限公司 | 一种基于crnn的票据信息识别算法、设备及存储介质 |
CN109344838A (zh) * | 2018-11-02 | 2019-02-15 | 长江大学 | 发票信息自动快速识别方法、系统以及装置 |
CN109657665A (zh) * | 2018-10-31 | 2019-04-19 | 广东工业大学 | 一种基于深度学习的发票批量自动识别系统 |
CN109741517A (zh) * | 2018-12-26 | 2019-05-10 | 大象慧云信息技术有限公司 | 一种发票查验方法、装置和系统 |
CN110110585A (zh) * | 2019-03-15 | 2019-08-09 | 西安电子科技大学 | 基于深度学习的智能阅卷实现方法及系统、计算机程序 |
CN110516015A (zh) * | 2019-07-24 | 2019-11-29 | 中国人民解放军61540部队 | 基于地图图形数据和dlg制作地理pdf地图的方法 |
CN110751143A (zh) * | 2019-09-26 | 2020-02-04 | 中电万维信息技术有限责任公司 | 一种电子发票信息的提取方法及电子设备 |
CN110956022A (zh) * | 2019-12-04 | 2020-04-03 | 青岛盈智科技有限公司 | 一种单据文档的处理方法及其系统 |
CN111414906A (zh) * | 2020-03-05 | 2020-07-14 | 北京交通大学 | 纸质票据图片的数据合成与文本识别方法 |
CN111461105A (zh) * | 2019-01-18 | 2020-07-28 | 顺丰科技有限公司 | 一种文本识别方法和装置 |
CN111553334A (zh) * | 2020-04-21 | 2020-08-18 | 招商局金融科技有限公司 | 问卷图像识别方法、电子装置及存储介质 |
CN111966640A (zh) * | 2020-09-03 | 2020-11-20 | 深圳市小满科技有限公司 | 一种单据文件识别方法及其系统 |
CN112069991A (zh) * | 2020-09-04 | 2020-12-11 | 税友软件集团股份有限公司 | 一种pdf的表格信息提取方法及相关装置 |
-
2021
- 2021-02-26 CN CN202110216933.4A patent/CN112949455B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992597A (zh) * | 2017-12-13 | 2018-05-04 | 国网山东省电力公司电力科学研究院 | 一种面向电网故障案例的文本结构化方法 |
CN109214382A (zh) * | 2018-07-16 | 2019-01-15 | 顺丰科技有限公司 | 一种基于crnn的票据信息识别算法、设备及存储介质 |
CN109657665A (zh) * | 2018-10-31 | 2019-04-19 | 广东工业大学 | 一种基于深度学习的发票批量自动识别系统 |
CN109344838A (zh) * | 2018-11-02 | 2019-02-15 | 长江大学 | 发票信息自动快速识别方法、系统以及装置 |
CN109741517A (zh) * | 2018-12-26 | 2019-05-10 | 大象慧云信息技术有限公司 | 一种发票查验方法、装置和系统 |
CN111461105A (zh) * | 2019-01-18 | 2020-07-28 | 顺丰科技有限公司 | 一种文本识别方法和装置 |
CN110110585A (zh) * | 2019-03-15 | 2019-08-09 | 西安电子科技大学 | 基于深度学习的智能阅卷实现方法及系统、计算机程序 |
CN110516015A (zh) * | 2019-07-24 | 2019-11-29 | 中国人民解放军61540部队 | 基于地图图形数据和dlg制作地理pdf地图的方法 |
CN110751143A (zh) * | 2019-09-26 | 2020-02-04 | 中电万维信息技术有限责任公司 | 一种电子发票信息的提取方法及电子设备 |
CN110956022A (zh) * | 2019-12-04 | 2020-04-03 | 青岛盈智科技有限公司 | 一种单据文档的处理方法及其系统 |
CN111414906A (zh) * | 2020-03-05 | 2020-07-14 | 北京交通大学 | 纸质票据图片的数据合成与文本识别方法 |
CN111553334A (zh) * | 2020-04-21 | 2020-08-18 | 招商局金融科技有限公司 | 问卷图像识别方法、电子装置及存储介质 |
CN111966640A (zh) * | 2020-09-03 | 2020-11-20 | 深圳市小满科技有限公司 | 一种单据文件识别方法及其系统 |
CN112069991A (zh) * | 2020-09-04 | 2020-12-11 | 税友软件集团股份有限公司 | 一种pdf的表格信息提取方法及相关装置 |
Non-Patent Citations (2)
Title |
---|
和文杰: "基于深度神经网络的自然场景文本检测与识别算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 01, pages 138 - 1275 * |
姜典转: "基于深度学习的票据文本定位与识别研究", 中国优秀硕士学位论文全文数据库 信息科技辑》, no. 01, pages 138 - 1480 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688834A (zh) * | 2021-07-27 | 2021-11-23 | 深圳中兴网信科技有限公司 | 车票识别方法、车票识别系统及计算机可读存储介质 |
CN113705733A (zh) * | 2021-09-29 | 2021-11-26 | 平安医疗健康管理股份有限公司 | 医疗票据图像处理方法及装置、电子设备、存储介质 |
CN114266751A (zh) * | 2021-12-23 | 2022-04-01 | 福州大学 | 基于ai技术的产品包装袋打码缺陷检测方法及系统 |
CN114529929A (zh) * | 2022-01-07 | 2022-05-24 | 珠海奔图电子有限公司 | 电子发票版式文件处理方法、装置、电子设备及存储介质 |
CN114495147A (zh) * | 2022-01-25 | 2022-05-13 | 北京百度网讯科技有限公司 | 识别方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112949455B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943105B2 (en) | Document field detection and parsing | |
CN109948510B (zh) | 一种文档图像实例分割方法及装置 | |
CN109933756B (zh) | 基于ocr的图像转档方法、装置、设备及可读存储介质 | |
CN109241894B (zh) | 一种基于表格定位和深度学习的票据内容识别系统和方法 | |
CN112949455B (zh) | 一种增值税发票识别系统及方法 | |
US9542752B2 (en) | Document image compression method and its application in document authentication | |
WO2020233611A1 (zh) | 图像化信息承载介质的识别方法、识别装置、计算机设备和介质 | |
CN112395996A (zh) | 财务票据ocr识别及影像处理方法、系统及可读存储介质 | |
US11436852B2 (en) | Document information extraction for computer manipulation | |
CN113780087A (zh) | 一种基于深度学习的邮政包裹文本检测方法及设备 | |
Den Hartog et al. | Knowledge-based interpretation of utility maps | |
US20220237397A1 (en) | Identifying handwritten signatures in digital images using ocr residues | |
CN113963147A (zh) | 一种基于语义分割的关键信息提取方法及系统 | |
CN113158895A (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN112861865A (zh) | 一种基于ocr技术的辅助审计方法 | |
CN103455816B (zh) | 一种笔画宽度提取方法、装置及一种文字识别方法、系统 | |
JP7364639B2 (ja) | デジタル化された筆記の処理 | |
CN115311666A (zh) | 图文识别方法、装置、计算机设备及存储介质 | |
CN113673528B (zh) | 文本处理方法、装置、电子设备和可读存储介质 | |
CN114581928A (zh) | 一种表格识别方法及系统 | |
CN118135584A (zh) | 一种基于深度学习的手写表单自动识别方法和系统 | |
CN111414889B (zh) | 基于文字识别的财务报表识别方法及装置 | |
CN113112567A (zh) | 生成可编辑流程图的方法、装置、电子设备和存储介质 | |
CN114627457A (zh) | 一种票面信息识别方法及装置 | |
CN117095423B (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 |