CN111062262A - 发票识别方法以及发票识别装置 - Google Patents
发票识别方法以及发票识别装置 Download PDFInfo
- Publication number
- CN111062262A CN111062262A CN201911176527.9A CN201911176527A CN111062262A CN 111062262 A CN111062262 A CN 111062262A CN 201911176527 A CN201911176527 A CN 201911176527A CN 111062262 A CN111062262 A CN 111062262A
- Authority
- CN
- China
- Prior art keywords
- invoice
- graph model
- image
- corner points
- graph
- 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 53
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 22
- 238000013527 convolutional neural network Methods 0.000 claims description 21
- 238000010606 normalization Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 27
- 238000003860 storage Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 102100032202 Cornulin Human genes 0.000 description 4
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Character Input (AREA)
Abstract
本申请实施例提供了一种发票识别方法以及发票识别装置,发票识别方法包括:根据从发票图像上检测到的角点,建立所述角点的图模型;根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;根据所述文字区域,对所述文字区域进行行文本检测;根据检测到的所述行文本,对所述发票图像上的发票要素进行识别,从而可以实现从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,最终使财务人员从繁琐的票据审核工作解脱出来。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种发票识别方法以及发票识别装置。
背景技术
财务管理面临的难题是大量的数据采集和信息处理工作,需要投入大量的人力物力,这中间最大的一个压力是原始票据的采集和信息录入工作,繁重的票据录入和管理工作,既耗费人力,又耗费时间。为此,推出了发票自动识别解决方案,通过利用发票识别技术,批量采集增值税发票等票据上的信息,并输出结构化的数据,与传统的人工录入数据相比,大大的减少了财务人员的工作量,提升了其工作效率。
现有的发票识别技术中,主要有如下两种解决方案:
第一种解决方案:传统的OCR识别算法
其基本步骤是图像预处理后,首先对发票的文字区域进行分割,分割后,发票中的文字为单独的待识别个体,接下来,再用模板匹配等强字符分类器的方式,识别分割好的单个汉字/字符,最后将单字识别结果连接起来,构成词语或者句子作为结果,该结果作为识别出的发票元素。
第二种解决方案:深度学习算法
用卷积神经网络提取发票图像上的汉字/字符的特征,再识别发票图像上的单个或整体文本内容。
上述第一种解决方案的缺点是:由于汉字数量巨大、字体种类众多、图像变形、形近字,生僻字等众多影响,分类器对单个汉字的识别能力较弱;发票图像质量对图像中汉字/字符的分割和定位的影响较大,无法从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,且识别的准确度较低。
第二种解决方案的缺点是:在处理行文本的同时,没有考虑表格等结构信息,使得获得的文字信息意义不明显,各个发票要素的信息掺杂在一起,无法从发票图像中提取更多的有用信息,达到快速且准确的识别发票字符的目的,且识别的准确度较低。
鉴于现有技术中的上述缺陷或不足,亟待提供一种发票识别方案,以从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,最终使财务人员从繁琐的票据审核工作解脱出来。
发明内容
有鉴于此,本申请实施例所解决的技术问题之一在于提供一种发票识别方法以及发票识别装置,用以克服或者缓解现有技术中上述缺陷。
第一方面,本申请实施例提供了一种发票识别方法,其包括:
根据从发票图像上检测到的角点,建立所述角点的图模型;
根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;
根据所述文字区域,对所述文字区域进行行文本检测;
根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
可选地,在本申请的任一发票识别方法实施例中,所述发票图像为通过移动端拍照、PC端摄像头拍照、高拍仪拍照、相册上传或者图库上传方式中至少其一方式获得。
可选地,在本申请的任一发票识别方法实施例中,所述根据从发票图像上检测到的角点,建立所述角点的图模型,之前还包括:通过角点检测算法检测所述发票图像上的角点。
可选地,在本申请的任一发票识别方法实施例中,所述根据从发票图像上检测到的角点,建立所述角点的图模型,包括:根据从发票图像上检测到的角点,建立有向无环图,所述有向无环图作为所述角点的图模型,所述有向无环图的顶点与所述角点一一对应,所述有向无环图的边为所述角点之间的约束关系,所述有向无环图的边的权值为相邻所述角点之间的像素距离。
可选地,在本申请的任一发票识别方法实施例中,所述根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,之前还包括:根据标准发票图像上的标准角点,生成有向无环图模板,所述有向无环图模板作为所述图模型模板,所述有向无环图模板的顶点与所述标准角点一一对应,所述有向无环图模板的边为所述标准角点之间的约束关系,所述有向无环图模板的边的权值为相邻所述标准角点之间的像素距离。
可选地,在本申请的任一发票识别方法实施例中,根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,包括:
对所述角点的图模型中边的权重进行归一化处理;
对归一化处理后的所述角点的图模型与预先建立的图模型模板取子图并做子图相似性度量;
将所述相似性最大且子图的顶点最多的所述角点的图模型作为所述角点的有效图模型;
根据所述角点的有效图模型,检测所述发票图像中的文字区域。
可选地,在本申请的任一发票识别方法实施例中,根据从发票图像上检测到的角点,建立所述角点的图模型,还包括:根据所述角点的图模型以及预先建立的图模型模板,补齐所述角点的图模型中缺失的顶点,和/或,移除所述角点的图模型中冗余的顶点。
可选地,在本申请的任一发票识别方法实施例中,所述根据所述文字区域,对所述文字区域进行行文本检测具体为:使用卷积神经网络YOLO模型并根据所述文字区域,对所述文字区域进行行文本检测。
可选地,在本申请的任一发票识别方法实施例中,所述根据检测到的所述行文本,对所述发票图像上的发票要素进行识别具体为:将所述行文本作为卷积神经网络的输入,所述卷积神经网络的输出为所述发票图像上的发票要素。
第二方面,本申请实施例提供一种发票识别装置,其包括:
图模型建立单元,用于根据从发票图像上检测到的角点,建立所述角点的图模型;
文字区域检测单元,用于根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;
发票要素识别单元,用于根据检测到的所述行文本,对所述发票图像上的发票要素进行识别,并根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
本申请实施例提供的技术方案中,根据从发票图像上检测到的角点,建立所述角点的图模型;根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;根据检测到的所述行文本,对所述发票图像上的发票要素进行识别,可以实现从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,且提高发票元素识别的准确度。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为本申请实施例一提供的一种图像识别装置结构示意图;
图2A为本申请实施例二提供的一种角点类别示意图;
图2B为图2A实施例中不同类角点在增值税发票上的位置示意图;
图2C为图2A实施例中所有角点在增值税发票上的位置示意图;
图2D为依据上述图2B、2C的角点建立的有向无环图示意图;
图2E为针对图2B-2D提供的角点得到的文字区域;
图3为本申请三提供的一种卷积神经网络YOLO模型结构示意图;
图4A为本申请实施例四提供的一种卷积神经网络结构示意图;
图4B为对图2E所示文字区域所在的行文本进行发票要素识别示意图;
图4C为经过CRNN卷积神经网络处理后得到的发票要素示意图,
图5为本申请实施例五提供的一种发票识别方法流程示意图;
图6是可实施本申请上述技术方案的电子设备的硬件结构示意图。
具体实施方式
实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
本申请如下实施例提供的技术方案,可以适用于增值税专用发票、增值税普通发票、电子发票图像版、电子发票打印版等任意格式或者形式的发票。
本申请实施例提供了一种发票识别方法,其核心思想在于,其包括:根据从发票图像上检测到的角点,建立所述角点的图模型;根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;根据所述文字区域,对所述文字区域进行行文本检测;根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
对应于本申请实施例提供的发票识别方法,提供了一种发票识别装置,其核心思想在于,其包括:图模型建立单元,用于根据从发票图像上检测到的角点,建立所述角点的图模型;文字区域检测单元,根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;发票要素识别单元,根据所述文字区域,对所述文字区域进行行文本检测;以及根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
以下实施例详细从具体实施的角度提供示例性解释,但是,需要说明的是,除了上述本申请实施例核心思想中包括的必要步骤或者必要单元外,在能解决或者缓解现有技术中存在的前提下,其他步骤或者单元均为可选或者优选。
图1为本申请实施例一提供的一种图像识别装置结构示意图;如图1所示,其包括:发票图像采集模块、图像处理模块、文字识别模块、输出模块,对各个模块简要说明如下:
所述发票图像采集模块可以为移动端、PC端摄像头、高拍仪。可替代地,在其他实施例中,也可以略去发票图像采集模块,通过相册上传或者图库上传的方式得到发票图像。
本实施例中,采集到的发票图像优选为高清数码图像,图像颜色通道为彩色或者灰度图像,只要发票图像中文字和表格信息清晰可见,且发票区域占所发票图像的主要区域且方向为正方向向上即可,即字体正立即可。
所述图像处理模块至少用于图像预处理、角点检测、文本区域检测等。
所述文字识别模块至少用于从文本区域中检测出行文本,以及对检测到的行文本进行识别得到发票要素。
所述输出模块至少用于对发票要素进行分析并输出分析结果,包括发票要素,和/或,在发票上的位置。
进一步地,上述图模型建立单元、文字区域检测单元可以配置在所述图像处理模块上,而发票要素识别单元也可以配置在所述文字识别模块上。
进一步地,本实施例中,还可以在所述图像处理模块上配置角点检测单元,所述角点检测单元用于通过角点检测算法检测所述发票图像上的角点。
图2A为本申请实施例二提供的一种角点类别示意图;如图2A所示,以增值税发票为例进行说明,若发票图像为标准的发票图像的话,不会存在角点缺失或冗余的话,对所采集到的增值税发票图像执行角点检测算法,会有9类角点(类型编号分别为1-9),角点的类型按照在发票上角点的形状定义。
图2B为图2A实施例中不同类角点在增值税发票上的位置示意图;图2C 为图2A实施例中所有角点在增值税发票上的位置示意图;如图2B、2C所示,再参照上述图2A,对于增值税发票来说,9类角点共计包含共37个角点,其编号详细如图2B所示,按照水平方向区分共计5行,按照垂直方向共计12列,详细如下:
水平方向第1行包含5个角点:角点编号分别为11,12,13,14,15;
水平方向第2行包含12个角点:角点编号分别为21,22,…,212;
水平方向第3行包含9个角点:角点编号分别为31,32,…,39,
水平方向第4行包含9个角点:角点编号分别为41,42,…,49:
水平方向第5行包含5个角点:角点编号分别为51,52,53,54,55。
垂直方向的12列,编号可详细参照水平方向的角点标号得知,此处不再详细列出。
此处需要说明的是,上述图2A-图2C仅仅以从发票图像上检测到所有角点为例进行说明,但实际中,从待验证发票图像上检测到的角点可能有缺失或者冗余。即对于增值税发票图像来说,可能多于37个,也有可能少于37个。
进一步,本实施例中,所述图模型建立单元在根据从发票图像上检测到的角点,建立所述角点的图模型时,具体可以根据从发票图像上检测到的角点,建立有向无环图,所述有向无环图作为所述角点的图模型,所述有向无环图的顶点与所述角点一一对应,所述有向无环图的边为所述角点之间的约束关系,所述有向无环图的边的权值为相邻所述角点之间的像素距离。
结合上述图2B-2C来说,在建立有向无环图时,原则为:相邻的角点间存在边,不相邻的角点间不存在边;所述有向无环图的顶点与所述角点一一对应,所述有向无环图的边为所述角点之间的约束关系,所述有向无环图的边的权值为相邻所述角点之间的像素距离。
图2D为依据上述图2B、2C的角点建立的有向无环图示意图;如图2D所示,图2D上只示例性地标出了部分角点,图上的序号记为角点的类型号。
进一步地,本实施例中,如前所述,由于可能会存在角点的缺失或者角点的冗余,因此,上述角点检测单元还可以用于根据所述角点的图模型以及预先建立的图模型模板,补齐所述角点的图模型中缺失的顶点,和/或,移除所述角点的图模型中冗余的顶点,对角点的冗余和缺失并不敏感,可以很好的确定发票图像中表格各角点的位置,藉此获得发票图像中各个要素的文字区域,从而最大程度的还原发票图像中表格的布局,以实现从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,且提高发票元素识别的准确度。
进一步地,所述图模型建立单元还进一步用于与预先建立图模型模板;若采用有向无环图模型的话,其实际上相当于参照图2B-2C提供的发票图像以及对应角点,即依据从标准发票图像上检测到的标准角点建立有向无环图模型,即所述图模型建立单元根据标准发票图像上的标准角点,生成有向无环图模板,所述有向无环图模板作为所述图模型模板,所述有向无环图模板的顶点与所述标准角点一一对应,所述有向无环图模板的边为所述标准角点之间的约束关系,所述有向无环图模板的边的权值为相邻所述标准角点之间的像素距离。
另外,对于其他类型的发票,标准角点的数量可能多于37个或者37个,具体根据应用场景确定。
进一步地,本实施例中,所述文字区域检测单元在根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域时,具体可以包括如下过程:对所述角点的图模型中边的权重进行归一化处理;对归一化处理后的所述角点的图模型与预先建立的图模型模板取子图并做子图相似性度量;将所述相似性最大且子图的顶点最多的所述角点的图模型作为所述角点的有效图模型;根据所述角点的有效图模型,检测所述发票图像中的文字区域,从而实现根据所述角点的图模型与预先建立的图模型模板进行相似性度量找到的子图,从而最大程度的还原发票图像中表格的布局,以实现从发票图像中提取更多的有用信息,达到快速且准确的识别票据字符的目的,且提高发票元素识别的准确度。
图2E为针对图2B-2D提供的角点得到的文字区域;如图2E所示,框线所示只是示例性地标出了一个文字区域,所述文字区域对应有4个角点,其他文字区域未示出。
本实施中,所述文字识别模块上配置的发票要素识别单元用于使用卷积神经网络YOLO模型并根据所述发票图像的文字区域,检测发票图像包含的行文本。
具体地,图3为本申请三提供的一种卷积神经网络YOLO模型结构示意图;如图3所示,卷积神经网络YOLO模型的参数是由文字和非文字图片训练集通过反向传播算法训练获得。输入图像的大小是416*416像素。如图3所示,YOLO 神经网络模型包括53个卷积层(convolutional)DBL,23个残差层(residual),一个平均池化层(Mean Pooling layers)。每个卷积层DBL包含一个标准2维卷积层(Cond layer)、一个批量归一化(BN:BatchNormalization)层和一个正则化激励层(LeakyRELU)。神经网络的输出是矩形框的位置信息x,y,w,h(即矩形框的xy坐标位置、宽度和高度),边框置信度以及两个类别标签(文本和非文本) 共7个参数。丢弃非文本区域,保留文本区域即是行文本检测单元的输出。最后对文本矩形区域进行归一化处理,使该区域高度为32个像素,宽度进行同比例调整。
进一步地,所述发票要素识别单元在根据检测到的所述行文本,对所述发票图像上的发票要素进行识别时,可以将所述行文本作为卷积神经网络的输入,所述卷积神经网络的输出为所述发票图像上的发票要素。
具体地,图4A为本申请实施例四提供的一种卷积神经网络结构示意图;如图4A所示,以CRNN卷积神经网络为例,其网络架构包括卷积网络层、循环网络层和序列识别层三个部分。卷积网络层包含7层标准卷积(convolution) 层、4个最大池化(Max pooling)层和2个批量归一化(BN:Batch Normalization) 层、1个转录(transcription)层、2个批量归一化(Batch normalization)层。接下来的循环网络层,使用特征图按列切分(Map-to-Sequence),每一列的512 维特征,输入到两层各256单元的双向LSTM(BidirectionalLSTM)进行分类,得到一个识别结果特征序列。序列识别层将前层预测的特征序列的结果进行整合,输出最后的行文本识别结果,即发票要素。
图4B为对图2E所示文字区域所在的行文本进行发票要素识别示意图;图 4C为经过CRNN卷积神经网络处理后得到的发票要素示意图,如图4B所示,每个行文本输入到图4A提供的CRNN卷积神经网络中进行识别,得到如图4C 所示的发票要素示意图,其包括购买方的名称、纳税人识别号等等。
图5为本申请实施例五提供的一种发票识别方法流程示意图;对应于上述图1-图4C,所述发票识别方法包括:
S501、发票图像采集模块采集发票图像;
S502、图像处理模块对所述发票图像进行预处理,使发票图像中文字和表格信息清晰可见;
S503、角点检测单元检测预处理后的发票图像的角点;
S504、图模型建立单元根据从发票图像上检测到的角点,建立所述角点的图模型;
本实施例中,所述根据从发票图像上检测到的角点,建立所述角点的图模型,可以包括:根据从发票图像上检测到的角点,建立有向无环图,所述有向无环图作为所述角点的图模型,所述有向无环图的顶点与所述角点一一对应,所述有向无环图的边为所述角点之间的约束关系,所述有向无环图的边的权值为相邻所述角点之间的像素距离。
可选地,在本实施例中,根据从发票图像上检测到的角点,建立所述角点的图模型,还可以包括:根据所述角点的图模型以及预先建立的图模型模板,补齐所述角点的图模型中缺失的顶点,和/或,移除所述角点的图模型中冗余的顶点。
S505、文字区域检测单元根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;
本实施例中,根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,可以具体包括:对所述角点的图模型中边的权重进行归一化处理;对归一化处理后的所述角点的图模型与预先建立的图模型模板取子图并做子图相似性度量;将所述相似性最大且子图的顶点最多的所述角点的图模型作为所述角点的有效图模型;根据所述角点的有效图模型,检测所述发票图像中的文字区域。
可选地,在实施例中,所述根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,之前还包括:根据标准发票图像上的标准角点,生成有向无环图模板,所述有向无环图模板作为所述图模型模板,所述有向无环图模板的顶点与所述标准角点一一对应,所述有向无环图模板的边为所述标准角点之间的约束关系,所述有向无环图模板的边的权值为相邻所述标准角点之间的像素距离。
此处,生成有向无环图模板的处理步骤只要可以在步骤S505之前执行即可。
S506、发票要素识别单元根据所述发票图像的文字区域,检测发票图像包含的行文本,以及根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
本实施例中,所述根据检测到的所述行文本,对所述发票图像上的发票要素进行识别具体为:将所述行文本作为卷积神经网络的输入,所述卷积神经网络的输出为所述发票图像上的发票要素。
本实施例中,所述根据所述文字区域,对所述文字区域进行行文本检测具体为:使用卷积神经网络YOLO模型并根据所述文字区域,对所述文字区域进行行文本检测。
S507、输出对所述发票要素的分析结果;
图6是可实施本申请上述技术方案的电子设备的硬件结构示意图。根据图 6所示,该设备包括:
一个或多个处理器610以及存储器620,图6中以一个处理器610为例。
该设备还可以包括:输入装置630和输出装置660。
处理器610、存储器620、输入装置630和输出装置660可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储所创建的数据等。此外,存储器620可以包括高速随机存取存储器620,还可以包括非易失性存储器620,例如至少一个磁盘存储器620件、闪存器件、或其他非易失性固态存储器620件。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输入装置630可包括按压模组等设备。所述一个或者多个模块存储在所述存储器620中。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括: 音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器810、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种发票识别方法,其特征在于,包括:
根据从发票图像上检测到的角点,建立所述角点的图模型;
根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;
根据所述文字区域,对所述文字区域进行行文本检测;
根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
2.根据权利要求1所述的发票识别方法,其特征在于,所述发票图像为通过移动端拍照、PC端摄像头拍照、高拍仪拍照、相册上传或者图库上传方式中至少其一方式获得。
3.根据权利要求1所述的发票识别方法,其特征在于,所述根据从发票图像上检测到的角点,建立所述角点的图模型,之前还包括:通过角点检测算法检测所述发票图像上的角点。
4.根据权利要求1所述的发票识别方法,其特征在于,所述根据从发票图像上检测到的角点,建立所述角点的图模型,包括:根据从发票图像上检测到的角点,建立有向无环图,所述有向无环图作为所述角点的图模型,所述有向无环图的顶点与所述角点一一对应,所述有向无环图的边为所述角点之间的约束关系,所述有向无环图的边的权值为相邻所述角点之间的像素距离。
5.根据权利要求1的发票识别方法,其特征在于,所述根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,之前还包括:根据标准发票图像上的标准角点,生成有向无环图模板,所述有向无环图模板作为所述图模型模板,所述有向无环图模板的顶点与所述标准角点一一对应,所述有向无环图模板的边为所述标准角点之间的约束关系,所述有向无环图模板的边的权值为相邻所述标准角点之间的像素距离。
6.根据权利要求1所述的发票识别方法,其特征在于,根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域,包括:
对所述角点的图模型中边的权重进行归一化处理;
对归一化处理后的所述角点的图模型与预先建立的图模型模板取子图并做子图相似性度量;
将所述相似性最大且子图的顶点最多的所述角点的图模型作为所述角点的有效图模型;
根据所述角点的有效图模型,检测所述发票图像中的文字区域。
7.根据权利要求1所述的发票识别方法,其特征在于,根据从发票图像上检测到的角点,建立所述角点的图模型,还包括:根据所述角点的图模型以及预先建立的图模型模板,补齐所述角点的图模型中缺失的顶点,和/或,移除所述角点的图模型中冗余的顶点。
8.根据权利要求1所述的发票识别方法,其特征在于,所述根据所述文字区域,对所述文字区域进行行文本检测具体为:使用卷积神经网络YOLO模型并根据所述文字区域,对所述文字区域进行行文本检测。
9.根据权利要求1所述的发票识别方法,其特征在于,所述根据检测到的所述行文本,对所述发票图像上的发票要素进行识别具体为:将所述行文本作为卷积神经网络的输入,所述卷积神经网络的输出为所述发票图像上的发票要素。
10.一种发票识别装置,其特征在于,包括:
图模型建立单元,用于根据从发票图像上检测到的角点,建立所述角点的图模型;
文字区域检测单元,用于根据所述角点的图模型以及预先建立的图模型模板,检测所述发票图像中的文字区域;
发票要素识别单元,用于根据所述发票图像的文字区域,检测发票图像包含的行文本,并根据检测到的所述行文本,对所述发票图像上的发票要素进行识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911176527.9A CN111062262B (zh) | 2019-11-26 | 2019-11-26 | 发票识别方法以及发票识别装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911176527.9A CN111062262B (zh) | 2019-11-26 | 2019-11-26 | 发票识别方法以及发票识别装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062262A true CN111062262A (zh) | 2020-04-24 |
CN111062262B CN111062262B (zh) | 2024-02-09 |
Family
ID=70299004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911176527.9A Active CN111062262B (zh) | 2019-11-26 | 2019-11-26 | 发票识别方法以及发票识别装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062262B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582115A (zh) * | 2020-04-29 | 2020-08-25 | 广东电力信息科技有限公司 | 一种财务票据处理方法、装置、设备和可读存储介质 |
CN111768546A (zh) * | 2020-06-30 | 2020-10-13 | 新奥(中国)燃气投资有限公司 | 对异常企业发票自动预警的方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140003717A1 (en) * | 2012-07-02 | 2014-01-02 | Palo Alto Research Center Incorporated | System and method for forms classification by line-art alignment |
CN109241894A (zh) * | 2018-08-28 | 2019-01-18 | 南京安链数据科技有限公司 | 一种基于表格定位和深度学习的针对性票据内容识别系统和方法 |
CN109344838A (zh) * | 2018-11-02 | 2019-02-15 | 长江大学 | 发票信息自动快速识别方法、系统以及装置 |
CN110210409A (zh) * | 2019-06-04 | 2019-09-06 | 南昌市微轲联信息技术有限公司 | 表格单据中表格框线检测方法及系统 |
-
2019
- 2019-11-26 CN CN201911176527.9A patent/CN111062262B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140003717A1 (en) * | 2012-07-02 | 2014-01-02 | Palo Alto Research Center Incorporated | System and method for forms classification by line-art alignment |
CN109241894A (zh) * | 2018-08-28 | 2019-01-18 | 南京安链数据科技有限公司 | 一种基于表格定位和深度学习的针对性票据内容识别系统和方法 |
CN109344838A (zh) * | 2018-11-02 | 2019-02-15 | 长江大学 | 发票信息自动快速识别方法、系统以及装置 |
CN110210409A (zh) * | 2019-06-04 | 2019-09-06 | 南昌市微轲联信息技术有限公司 | 表格单据中表格框线检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
张艳: "表格型文档自动识别系统及其应用" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582115A (zh) * | 2020-04-29 | 2020-08-25 | 广东电力信息科技有限公司 | 一种财务票据处理方法、装置、设备和可读存储介质 |
CN111582115B (zh) * | 2020-04-29 | 2024-02-02 | 广东电力信息科技有限公司 | 一种财务票据处理方法、装置、设备和可读存储介质 |
CN111768546A (zh) * | 2020-06-30 | 2020-10-13 | 新奥(中国)燃气投资有限公司 | 对异常企业发票自动预警的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111062262B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943105B2 (en) | Document field detection and parsing | |
CN110766014B (zh) | 票据信息定位方法、系统及计算机可读存储介质 | |
US10140511B2 (en) | Building classification and extraction models based on electronic forms | |
CN110866495A (zh) | 票据图像识别方法及装置和设备、训练方法和存储介质 | |
KR20160132842A (ko) | 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법 | |
CN109740515B (zh) | 一种评阅方法及装置 | |
CN112883926B (zh) | 表格类医疗影像的识别方法及装置 | |
CN114429637B (zh) | 一种文档分类方法、装置、设备及存储介质 | |
CN112949455B (zh) | 一种增值税发票识别系统及方法 | |
CN112434690A (zh) | 动态解析文本图像特征现象的元素自动捕获理解方法、系统及存储介质 | |
US9047533B2 (en) | Parsing tables by probabilistic modeling of perceptual cues | |
CN111062262A (zh) | 发票识别方法以及发票识别装置 | |
CN110728193B (zh) | 一种脸部图像丰富度特征的检测方法及设备 | |
CN111738252B (zh) | 图像中的文本行检测方法、装置及计算机系统 | |
CN112560855B (zh) | 图像信息提取方法、装置、电子设备及存储介质 | |
CN114463767A (zh) | 信用证识别方法、装置、计算机设备和存储介质 | |
CN113780116A (zh) | 发票分类方法、装置、计算机设备和存储介质 | |
CN112801099B (zh) | 一种图像处理方法、装置、终端设备及介质 | |
Baek et al. | TRACE: Table Reconstruction Aligned to Corner and Edges | |
Li et al. | Comic image understanding based on polygon detection | |
CN115205881A (zh) | 一种表格识别方法、设备及介质 | |
CN114399626A (zh) | 图像处理方法、装置、计算机设备、存储介质及程序产品 | |
CN114092684A (zh) | 一种文本校准方法、装置、设备及存储介质 | |
CN114627457A (zh) | 一种票面信息识别方法及装置 | |
CN111950354A (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 |