CN108717543B - 一种发票识别方法及装置、计算机存储介质 - Google Patents
一种发票识别方法及装置、计算机存储介质 Download PDFInfo
- Publication number
- CN108717543B CN108717543B CN201810457155.6A CN201810457155A CN108717543B CN 108717543 B CN108717543 B CN 108717543B CN 201810457155 A CN201810457155 A CN 201810457155A CN 108717543 B CN108717543 B CN 108717543B
- Authority
- CN
- China
- Prior art keywords
- text
- entry
- line
- recognition result
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06V20/63—Scene text, e.g. street names
-
- 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
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D7/00—Testing specially adapted to determine the identity or genuineness of valuable papers or for segregating those which are unacceptable, e.g. banknotes that are alien to a currency
- G07D7/005—Testing security markings invisible to the naked eye, e.g. verifying thickened lines or unobtrusive markings or alterations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Character Input (AREA)
Abstract
本公开公开了一种发票识别方法、装置及存储介质,其中,所述的方法包括:对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;对所述发票图像的文本识别结果进行分行,得到至少一个文本行;基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
Description
技术领域
本公开涉及计算机视觉领域中的发票识别技术,具体涉及一种发票识别方法、装置及计算机存储介质。
背景技术
增值税发票的文字检测识别是非常具有挑战性的。通常在检测某一类固定场景的文字检测识别时,例如身份证,驾驶证,这些证件的模板是固定的,文字印刷也比较工整,不会出现串行的情况。而在对发票如增值税发票进行检测识别时,往往需要面临增值税发票有多种板式、条目数量不确定等等各种问题。因此,如何提高增值税发票的识别准确度,是亟待解决的技术问题。
发明内容
有鉴于此,本公开提供一种发票识别方法及装置、计算机存储介质,能提高发票识别的准确率。
第一方面,本公开实施例提供了一种发票识别方法,所述方法包括:
对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
上述方案中,可选地,所述基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息,包括:
通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息。
上述方案中,可选地,所述通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息,包括:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
上述方案中,可选地,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,包括:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
上述方案中,可选地,所述基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析,包括:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
上述方案中,可选地,所述基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析,还包括:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
上述方案中,可选地,确定所述发票图像中的条目对应的条目信息之后,还包括:
基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
上述方案中,可选地,对所述多个条目对应的条目信息进行验证,包括:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
上述方案中,可选地,所述对所述多个条目对应的条目信息进行验证之后,还包括:
在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
上述方案中,可选地,对发票图像进行文本识别处理之前,所述方法还包括:
判断所述发票图像是否符合识别图像要求;
在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像;
所述对发票图像进行文本识别处理,包括:
对所述预处理后的发票图像进行文本识别处理。
第二方面,本公开实施例提供了一种发票识别装置,所述装置包括:
识别模块,用于对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
分行模块,用于对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
确定模块,用于基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
上述方案中,可选地,所述确定模块,还用于:
通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息。
上述方案中,可选地,所述确定模块,还用于:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
上述方案中,可选地,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述确定模块,还用于:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
上述方案中,可选地,所述确定模块,还用于:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
上述方案中,可选地,所述确定模块,还用于:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
上述方案中,可选地,所述装置还包括:
验证模块,用于在所述确定模块确定所述发票图像中的条目对应的条目信息之后,基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
上述方案中,可选地,所述验证模块,还用于:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
上述方案中,可选地,所述验证模块,还用于:对所述多个条目对应的条目信息进行验证之后,在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
上述方案中,可选地,所述识别模块,还用于:对发票图像进行文本识别处理之前,判断所述发票图像是否符合识别图像要求;在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像,以对所述预处理后的发票图像进行文本识别处理。
第三方面,本公开实施例提供了一种发票识别装置,所述装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本公开实施例所述的发票识别方法的步骤。
第四方面,本公开实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本公开实施例所述的发票识别方法的步骤。
本公开实施例提供的技术方案,对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;对所述发票图像的文本识别结果进行分行,得到至少一个文本行;基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息,这样,通过逐行对每个文本行中的各个文本识别结果进行分析来确定发票图像中的条目对应的条目信息,有利于提高发票的识别准确度。
附图说明
图1为本公开实施例提供的一种发票识别方法的实现流程示意图;
图2为本公开实施例提供的一种发票识别装置的组成结构示意图一;
图3为本公开实施例提供的一种发票识别装置的组成结构示意图二。
具体实施方式
目前在针对特殊场景如增值税发票的文字识别检测方法中,通常使用通用文字检测识别模型对目标场景进行反训,调参。而在增值税发票的文字检测识别中,由于增值税发票的类型会根据年份,地区不同而有多种模板,且增值税发票在打印过程中经常有文字串行的情况,所以使用通用模型反训,调参存在的主要问题在于:
1、该方法会因为增值税发票的版式问题而难以通过反训调参使模型能够覆盖发票的各种类型。
2、由于发票存在打印串行情况,会在检测识别过程中导致条目与条目信息对应不上的情况。
基于此,本公开实施例提出了一种发票识别方法及装置,采用对文本框进行分行的方法处理检测识别出的文字,可以处理不同版式的增值税发票,支持增值税发票条目数量不确定以及增值税发票印刷串行等使用场景,提高了发票识别的准确度。
下面结合附图和具体实施例对本公开的技术方案进一步详细阐述。
本公开实施例提供一种发票识别方法,如图1所示,所述方法主要包括:
步骤101、对发票图像进行文本识别处理,得到所述发票图像的文本识别结果。
这里,所述的发票可以是增值税发票,也可以是其他类型的发票,本公开实施例可以适用于版式多样、条目数量不确定等各种类型的发票。
这里,所述发票图像可以是通过扫描器扫描得到的,还可以是通过图像采集器如摄像头或相机等采集得到的,还可以是通过通信器接收的发票图像。本公开实施例对获取方式不作限定。
在本公开实施例中,可以通过多种方式获取发票图像,例如,可以接收图像采集器采集到的发票图像,或者,可以利用神经网络对纸质发票进行图像处理,得到发票图像。
在一些可选实施例中,对发票图像进行文本识别处理之前,所述方法还包括:
判断所述发票图像是否符合识别图像要求;
在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理操作,得到预处理后的发票图像;
所述对发票图像进行文本识别处理,包括:
对所述预处理后的发票图像进行文本识别处理。
在一些可选的实施方式中,根据发票图像的状态信息判断所述发票图像是否符合识别图像要求。
可选地,所述状态信息包括图像的类型、大小等属性信息。
可选地,所述预处理操作包括下列中的一种或任意组合:切边、裁剪、类型转换、转正、位置调整,等等。
可选地,如果该方法由神经网络实现,则所述识别图像要求可以依赖于训练好的发票识别网络。比如,训练好的发票识别网络模型仅支持预设类型如.jpg格式的发票图像的识别,那么,若当前接收到的发票图像格式为非预设类型,则需要对该发票图像进行类型转换处理,以将发票图像转换为预设类型,但本公开实施例对该识别图像要求和预处理的具体实现不作限定。
在一些可选实施例中,发票图像的文本识别结果可以包括发票图像中的多个文本框(或称为文本框)中每个文本框的文本识别结果。例如,在步骤101中,可以对发票图像进行文本检测,得到多个文本框,并对该多个文本框进行文本识别,得到该多个文本框中每个文本框的文本识别结果。
可选地,可以对发票图像进行特征提取处理,得到发票图像的特征数据,并基于该特征数据,得到发票图像的至少一个文本框。例如,可以基于发票图像的特征数据,确定多个提议框中每个提议框的预测概率,并基于多个提议框中每个提议框的预测概率,从多个提议框中确定至少一个目标提议框,然后,对至少一个目标提议框进行合并处理,得到至少一个候选文本框。
在一些可选实施例中,可以采用发票识别网络中的第一子网络对发票图像进行文本识别处理,得到所述发票图像的文本识别结果。
进一步地,在一些可选实施例中,还可以采用第一子网络对发票图像进行预处理,得到经预处理后的发票图像。比如,第一子网络在获得发票图像后,对旋转扭曲的发票图像进行转正处理。
其中,所述第一子网络可以为文本识别网络。可选地,可以将发票图像作为第一网络的输入,由第一网络输出发票图像的文本识别结果。这样,通过第一子网络能输出发票图像的文本识别结果,能为后续进行验证发票图像中的条目对应的条目信息提供文字识别支撑。
在一个具体例子中,所述第一子网络可以包括连接文本提议网络(ConnectionistText Proposal Network,CTPN),其中,CTPN可以主要包括以下三部分:深度网络(VGG)部分、锚点(Anchor)部分、长短期记忆网络(LongShort-Term Memory,LSTM)部分。
具体地,VGG部分用于提取特征图,即对发票图像进行特征提取处理,得到发票图像的特征数据,可选地,该特征数据可以具体表现为特征图、特征向量或其他形式,本公开实施例对此不做限定。
Anchor部分用于利用宽度固定、高度不同的多个锚点(Anchor),对VGG提取的特征图(feature map)进行预测。
具体地,针对所述特征图中的每一个特征点,可以提取宽度固定(例如为16)、高度不同的多个候选框(即锚点),并确定该多个候选框中每个候选框的预测概率,然后,可以基于该多个候选框的预测概率,从该多个候选框中选择目标候选框。这样,可以得到特征图对应的多个目标候选框,其中,可选地,该目标候选框可以为长条形。
LSTM部分,用于对特征图对应的多个目标候选框进行合并处理,得到多个文本框。
在本公开实施例中,在得到多个文本框之后,可以对该多个文本框进行文本识别处理,得到该多个文本框中每个文本框的文本内容。例如,可以通过卷积神经网络(Convolutional Neural Network,CNN)对文本框(可选地,可以具有预设大小或高度,例如高度32、宽度大于等于32)进行特征提取处理,得到多个特征图(例如高度为1),并将该多个特征图进行全连接,得到多维度特征(例如可以用向量1*n来表示,n表示某一列);最后,可以将每一行的特征输送至联接时间分类(Connectionist Temporal Classification,CTC),得到文字识别结果。
步骤102、对所述发票图像的文本识别结果进行分行,得到至少一个文本行。
在一些可选实施例中,所述对所述发票图像的文本识别结果进行分行,得到至少一个文本行,包括:
对所述发票图像中的多个文本框进行分行,得到至少一个文本行,其中,每个文本行包含所述多个文本框中的至少一个文本框。
如此,采用对文本框进行分行的方法,进而便于后续基于文本行分析文本框中的文本识别结果,能有效应对发票串行以及条目数量不固定等问题。
步骤103、基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
本实施例中,所述条目可以理解为针对某一版本的发票来说,该版发票上的信息名称。如发票名称、代码、票号(NO)、日期、购方名称、购方纳税人识别号、销方名称、销方纳税人识别号、金额、税额、加税合计等。
本实施例中,所述条目信息可以理解为针对某一版本的发票来说,信息名称对应的信息具体内容,相对而言,同一类型的不同发票中的条目是固定不变的,而同一类型的不同发票中的条目信息是可变更的。比如,2018年1月1日,属于条目信息,该条目信息与条目“日期”相对应。
在一些可选实施例中,所述基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息,包括:
通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息。
如此,通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,能够对存在串行的发票进行准确识别,避免出现因发票串行而导致识别结果中的条目与条目信息不对的问题。
可选地,可以按照预设顺序对文本识别结果进行逐行分析,例如由上而下、由下而上,等等,本公开实施例对此不做限定。
在一些可选实施例中,所述通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息,包括:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
该第一文本行可以为至少一个文本行中的任意文本行,并且在一些实施例中,第一文本行的文本识别结果具体为第一文本行包含的至少一个文本框中每个文本框的识别结果,但本公开实施例不限于此。
具体地,可以基于发票图像的格式信息,对第一文本行的文本识别结果进行分析。在一些可选实施例中,可以基于预设格式信息或先验信息,从第一文本行的识别结果中查找一个或多个预设条目,并且在找到某个预设条目的情况下,在与该预设条目所在文本框相邻的至少一个文本框中查找该预设条目对应的条目信息,例如,在某个文本框的文本识别结果中找到了“购方名称”,则可以在与该文本框相邻的一个或多个文本框中查找单位名称或个人信息,并将查找到的单位名称或个人信息确定为该“购方名称”的条目信息。再例如,如果在与“购方名称”所在文本框相邻的至少一个文本框中未找到单位名称或个人信息,则可以在该第一文本行的其他文本框中查找单位名称或个人信息,并将查找到的单位名称或个人信息确定为该“购方名称”的条目信息。通过这种分析方式,可以在发票存在打印串列或错误等情况下仍实现对发票文本的识别。
在一些可选实施例中,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,包括:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
在一些可选实施例中,在完成对第一文本行的文本识别结果的分析之后,可以进行对下一文本行的文本识别结果的分析。例如,如果对第一文本行的文本识别结果的分析表明,不存在打印串行或错误的问题,也就是说,在第一文本行的文本识别结果中找到的每个条目都在同一文本行中有对应的条目信息,并且在第一文本行的文本识别结果中找到的每个条目信息都在该行中具有对应的条目,则可以按照类似的步骤进行对下一文本行的文本识别结果的分析。再例如,如果对第一文本行的文本识别结果的分析表明,可能存在打印串行或错误的问题,也就是说,在第一文本行的文本识别结果中找到的某个条目未找到对应的条目信息,或者在第一文本行的文本识别结果中找到的某个条目信息未找到对应的条目,则可以在下一文本行的文本识别结果中查找未得到匹配的条目对应的条目信息或未得到匹配的条目信息对应的条目。
在一些可选实施例中,所述基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析,包括:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
可选地,如果在下一文本行中找到了第一条目对应的条目信息或者第一条目信息对应的条目,则表明该发票存在打印串行问题,可以按照第一条目与其对应的条目信息之间的位置关系或者第一目标信息与其对应的条目之间的位置关系,对下一文本行的文本识别结果进行分析,以确定下一文本行中包含的条目对应的条目信息;或者,也可以先按照正常分析步骤对下一文本行的文本识别结果进行分析,并且在发现下一文本行中存在未得到匹配的条目或条目信息的情况下,按照第一条目与其对应的条目信息之间的位置关系或者第一目标信息与其对应的条目之间的位置关系,或者按照与第一文本行类似的方式,查找该未得到匹配的条目对应的条目信息或未得到匹配的条目信息对应的条目,等等,本公开实施例对此不做限定。
在一些可选实施例中,所述方法还包括:
基于查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目对应的条目信息。
在本公开实施例中,通过步骤102对文本框进行分行处理,将整张增值税发票分成若干行,然后通过步骤103基于文本行分析文本框里的信息。
可选地,在步骤103中进行提取信息的过程中,根据先验知识对文本框中的内容进行判断,将文字内容和文字的条目对应起来。这里所述的先验知识,可以采用正则表达式表示,比如,与票号对应的信息应由8~12数字或字母构成的,再比如,与日期对应的信息是由数字以及汉字年月日构成的,等等,在此不再赘述。
如此,逐行扫描,利用一系列规则从每一行中抽取信息,如果在当前行中没有抽取到所需信息则在相邻的上下行中寻找相应的信息,以解决增值税发票的印刷串行的问题。
上述方案中,可选地,确定所述发票图像中的条目对应的条目信息之后,还包括:
步骤104(图1中未示出):基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
具体地,可以基于多个条目的先验信息,对该多个条目对应的条目信息进行校验。例如,发票中的各项金额与总金额之间的数学逻辑关系,或者单价、数量与对应金额之间的关系,等等,本公开实施例对此不做限定。
在一些可选实施例中,对所述多个条目对应的条目信息进行验证,包括:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息。
实际应用中,对于一张发票来说,如果单价有N个,那么,对应的,金额应该有N个,且在发票中每个金额均应与相应单价处于同一行,其中,N为大于或等于1的正整数。
在一些可选实施例中,对所述多个条目对应的条目信息进行验证,还包括:
在所述多个条目包括不同文本行中处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息相加是否等于合计条目对应的合计值信息。
实际应用中,对于一张发票来说,如果金额有M个,那么,合计值应等于这M个金额的和,其中,M为大于或等于1的正整数。
在一些可选实施例中,所述对所述多个条目对应的条目信息进行验证,包括:
从各个所述条目中选择待验证的第一类条目;
对所述第一类条目对应的条目信息进行验证。
这里,所述第一类条目是能够辅助验证条目与条目信息是否对应的条目。如单价、数量、金额、税率、税额、加税合计等。
例如,所述第一类条目包括单价、数量、金额、加税合计。
这样,根据对发票中内在逻辑关系进行条目对应的条目信息的验证,比如根据发票中价格,税率,总金额合计等信息,能确保发票识别结果的准确性。
如此,通过对所述多个条目对应的条目信息进行验证,具体地,对增值税发票中“货物或应税劳务、服务名称”中的所有条目进行双重验证,即分别验证单个条目中单价乘以数量是否等于总价以及所有条目的金额之和是否等于合计的值;这样能够快速对所述多个条目对应的条目信息进行验证。
在一些可选实施例中,所述对所述多个条目对应的条目信息进行验证之后,还包括:
在验证结果不满足验证标准的情况下,调整各个所述条目对应的条目信息,直至调整后所得的验证结果满足验证标准。
在一些可选实施例中,这里所述验证标准可以包括:单个条目中单价乘以数量等于与所述单个条目所在行对应的金额;和/或,所有条目对应的金额之和等于合计值。
举例来说,若对某一发票进行识别验证时,若单个条目中单价乘以数量不等于与所述单个条目所在行对应的金额,则判定该发票的识别结果存在错误,可能存在某些条目与条目信息不匹配的情况,通过调整相应地条目信息,当再次验证结果为单个条目中单价乘以数量等于与所述单个条目所在行对应的金额时,可判定发票识别正确。例如,可以将处于同一列的条目对应的条目信息与其相邻列的条目对应的条目信息交换,再进行上述验证。可选地,如果进行了一次或多次调整之后仍未通过上述验证,则可以判定该部分信息检测失败。
如此,能够对存在串行的发票进行准确识别,不会出现因发票串行而导致识别结果中的条目与条目信息不对的问题。
若发票出现串行,将导致条目名称与条目信息不对应。实际检测过程中,发票中每一个连起来的字段,都算是一个文本框,例如,NO是一个文本框,00845548是一个文本框。
本公开实施例中,可选地,先获取所处位置为Hi,j的文本框1的文本识别结果1,再获取所处位置为Hi,j+x的文本框2中的文本识别结果2,判断该文本框2中的文本识别结果2是否与预设的参考内容(即与文本框1的文本识别结果1相匹配的先验知识)相匹配,如果匹配,则建立文本框1中的文本识别结果1与文本框2中的文本识别结果2的对应关系;如果不匹配,则获取所处位置为Hi+y,j的文本框3中的文本识别结果3,判断该文本框3中的文本识别结果3是否与预设的参考内容(即与文本框1的文本识别结果1相匹配的先验知识)相匹配,如果匹配,则建立文本框1中的文本识别结果1与文本框3中的文本识别结果3的对应关系。
也就是说,先考虑信息是否属于左右串,查找与文本框1处于一行的文本框2中的信息,判断文本框1中的信息是否与文本框2中的信息相匹配;再考虑信息是否属于上下串,查找与文本框1处于一行的文本框3中的信息,判断文本框1中的信息是否与文本框3中的信息相匹配。
当然,还可以先检查信息是否属于上下串,如果没有上下串,再检查信息是否属于左右串。
其中,i表示行,i大于或等于1;j表示列,j大于或等于1;x为大于0的正整数或小于0的负整数;y为大于0的正整数或小于0的负整数。
举例来说,先获取的第一行中的文本框1的文本识别结果1是“NO”,若查找到的与文本框1处于同一行的文本框2中的文本识别结果2是“00845548”,由于“00845548”符合与文本框1对应内容相匹配的参考内容,则建立文本框1中的文本识别结果1与文本框2中的文本识别结果2的对应关系,即建立NO与00845548的对应关系。若查找到的与文本框1处于同一行的文本框2中的文本识别结果2“是2018年01月01日”,由于“2018年01月01日”不符合与文本框1对应内容相匹配的参考内容,则判定不匹配,继续从本行查找其他列对应的文本框3的内容,或从上下行查找文本框4的内容,直至找到符合与文本框1对应内容相匹配的参考内容,并建立相对应的对应关系为止,才算是对文本框1识别结束。
进一步地,对增值税发票的信息进行验证,还包括判断行列信息是否对应正确。例如多个条目的单价乘以数量就是总价,各个条目的总价相加应该等于“合计”金额。也就是说,通过这些发票上自身含有的关系来验证发票信息抽取是否正确。
如此,由于确定出的发票中的条目与条目信息的对应关系是经过验证的,因此得到的发票识别结果的准确度也随之增高。
在一些可选实施例中,确定所述发票图像中的条目对应的条目信息之后,即确定所述发票图像中的条目与条目信息的对应关系之后,所述方法包括:
以预设存储文件格式存储所述对应关系。
比如,所述预设存储文件格式为文本文件。
如此,相对于通过纸质发票核对账目来说,由于通过发票识别得到了对应关系,通过所述对应关系识别账目,能够利用计算机进行账目自动识别,既方便又快速,有利于核对大量账目。
应理解,本文以发票识别网络为例描述发票识别方法,但发票识别方法也可以利用神经网络以外的其他方式实现,本公开实施例对此不做限定。
本公开实施例提出的发票识别方法,可以高效率地提取增值税发票中的信息,避免浪费大量重复的人力资源;正常电子发票是图像,我们通过对获取的发票图片进行分析,还可以得到增值税发票的数字化信息,如将发票以文本形式存在电脑中,便于与官方信息进行对比,快速验证发票真伪。另外,还可以快速对发票进行验证,比如价格,税率,总金额合计等信息,确保发票的准确性。采用对文本框进行分行的方法处理检测识别出的文字,可以处理不同版式的增值税发票,支持增值税发票条目数量不确定以及增值税发票印刷串行等使用场景,提高了发票识别的准确度。
我们对通用模型进行反训时,向所述通用模型输入的训练集仅需包括2个或3个城市的发票,如输入北京、上海、深圳的发票;训练好的通用模型,只要其能保证信息检不漏,然后通过本实施例中后处理就能实现所有板式发票的检测。本申请对增值税发票图像进行文字检测识别的方法,针对增值税发票的版式多样、发票信息数量不固定、发票印刷串行等问题进行了更加细致的处理,鲁棒性更强,识别准确率更高。采用本公开实施例所述的发票识别方法,对各种版式的发票都能够输出正确的结果,且不会受发票条目不固定的问题以及发票印刷等问题的影响。
本公开实施例还提供了一种发票识别装置,如图2所示,所述装置包括:
识别模块10,用于对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
分行模块20,用于对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
确定模块30,用于基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
作为一种实施方式,所述确定模块30,还用于:
通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息。
作为一种实施方式,所述确定模块30,还用于:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
作为一种实施方式,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述确定模块30,还用于:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
作为一种实施方式,所述确定模块30,还用于:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
作为一种实施方式,所述确定模块30,还用于:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
作为一种实施方式,所述装置还包括:
验证模块40,用于在所述确定模块确定所述发票图像中的条目对应的条目信息之后,基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
作为一种实施方式,所述验证模块40,还用于:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
作为一种实施方式,所述验证模块40,还用于:对所述多个条目对应的条目信息进行验证之后,在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
作为一种实施方式,所述识别模块10,还用于:对发票图像进行文本识别处理之前,判断所述发票图像是否符合识别图像要求;在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像,以对所述预处理后的发票图像进行文本识别处理。
本领域技术人员应当理解,在一些可选实施例中,图2中所示的发票识别装置中的各处理模块的实现功能可参照前述发票识别方法的相关描述而理解。
本领域技术人员应当理解,在一些可选实施例中,图2所示的发票识别装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
实际应用中,上述的识别模块10、分行模块20、确定模块30、验证模块40的具体结构均可对应于处理器。所述处理器具体的结构可以为中央处理器(CPU,CentralProcessing Unit)、微处理器(MCU,Micro Controller Unit)、数字信号处理器(DSP,Digital Signal Processing)或可编程逻辑器件(PLC,Programmable Logic Controller)等具有处理功能的电子元器件或电子元器件的集合。其中,所述处理器包括可执行代码,所述可执行代码存储在存储介质中,所述处理器可以通过总线等通信接口与所述存储介质中相连,在执行具体的各单元的对应功能时,从所述存储介质中读取并运行所述可执行代码。所述存储介质用于存储所述可执行代码的部分优选为非瞬间存储介质。
所述识别模块10、分行模块20、确定模块30、验证模块40可以集成对应于同一处理器,或分别对应不同的处理器;当集成对应于同一处理器时,所述处理器采用时分处理所述识别模块10、分行模块20、确定模块30、验证模块40对应的功能。
本公开实施例提供的发票识别装置,可以处理不同版式的增值税发票,支持增值税发票条目数量不确定以及增值税发票印刷串行等使用场景,提高了发票识别的准确度。
本公开实施例还记载了一种发票识别装置,如图3所示,所述装置包括:存储器31、处理器32及存储在存储器31上并可在处理器32上运行的计算机程序,所述处理器32执行所述程序时实现前述任意一个技术方案提供的发票识别方法。
本公开实施例中,所述处理器32执行所述程序时实现:
对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息。
作为一种实施方式,所述处理器32执行所述程序时实现:
通过对所述至少一个文本行中每行包含的文本识别结果进行逐行分析,确定所述发票图像中的条目对应的条目信息。
作为一种实施方式,所述处理器32执行所述程序时实现:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
作为一种实施方式,所述处理器32执行所述程序时实现:
所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
作为一种实施方式,所述处理器32执行所述程序时实现:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
作为一种实施方式,所述处理器32执行所述程序时实现:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
作为一种实施方式,所述处理器32执行所述程序时实现:
确定所述发票图像中的条目对应的条目信息之后,基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
作为一种实施方式,所述处理器32执行所述程序时实现:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
作为一种实施方式,所述处理器32执行所述程序时实现:
对所述多个条目对应的条目信息进行验证之后,在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
作为一种实施方式,所述处理器32执行所述程序时实现:
对发票图像进行文本识别处理之前,判断所述发票图像是否符合识别图像要求;在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像。
本公开实施例提供的发票识别装置,可以处理不同版式的增值税发票,支持增值税发票条目数量不确定以及增值税发票印刷串行等使用场景,提高了发票识别的准确度。
本公开实施例还记载了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述各个实施例所述的发票识别方法。也就是说,所述计算机可执行指令被处理器执行之后,能够实现前述任意一个技术方案提供的发票识别方法。
本领域技术人员应当理解,本实施例的计算机存储介质中各程序的功能,可参照前述各实施例所述的发票识别方法的相关描述而理解。
基于上述各实施例所述的发票识别方法和装置,下面给出具体应用在发票识别领域的应用场景。实际应用中,通过上述发票识别方法及装置提取发票中的信息,可以得到发票的数字化信息,将其与官方信息进行对比,能快速验证发票真伪。
还应理解,本文中列举的各个可选实施例仅仅是示例性的,用于帮助本领域技术人员更好地理解本公开实施例的技术方案,而不应理解成对本公开实施例的限定,本领域普通技术人员可以在本文所记载的各个可选实施例的基础上进行各种改变和替换,也应理解为本公开实施例的一部分。
此外,本文对技术方案的描述着重于强调各个实施例的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种发票识别方法,其特征在于,所述方法包括:
对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息;
其中,所述基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息,包括:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
2.根据权利要求1所述的方法,其特征在于,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,包括:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析,包括:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析,还包括:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
5.根据权利要求1至4中任一项所述的方法,其特征在于,确定所述发票图像中的条目对应的条目信息之后,还包括:
基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
6.根据权利要求5所述的方法,其特征在于,对所述多个条目对应的条目信息进行验证,包括:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
7.根据权利要求5所述的方法,其特征在于,所述对所述多个条目对应的条目信息进行验证之后,还包括:
在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
8.根据权利要求1至4中任一项所述的方法,其特征在于,对发票图像进行文本识别处理之前,所述方法还包括:
判断所述发票图像是否符合识别图像要求;
在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像;
所述对发票图像进行文本识别处理,包括:
对所述预处理后的发票图像进行文本识别处理。
9.一种发票识别装置,其特征在于,所述装置包括:
识别模块,用于对发票图像进行文本识别处理,得到所述发票图像的文本识别结果;
分行模块,用于对所述发票图像的文本识别结果进行分行,得到至少一个文本行;
确定模块,用于基于所述至少一个文本行中每行包含的文本识别结果,确定所述发票图像中的条目对应的条目信息;
其中,所述确定模块,还用于:
对所述至少一个文本行中第一文本行包含的文本识别结果进行分析,确定所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系;
基于所述第一文本行包含的至少一个条目和至少一个条目信息之间的对应关系,对所述第一文本行的下一文本行包含的文本识别结果进行分析。
10.根据权利要求9所述的装置,其特征在于,所述第一文本行的文本识别结果包括所述第一文本行中至少一个文本框的文本识别结果;
所述确定模块,还用于:
确定所述至少一个文本框中第一文本框的文本识别结果中包含第一条目,所述至少一个条目包括所述第一条目;
确定在所述至少一个文本框中与所述第一文本框相邻的至少一个第二文本框的文本识别结果中是否包含所述第一条目的条目信息;
在所述至少一个第二文本框的文本识别结果中不存在所述第一条目的条目信息的情况下,在至少一个第三文本框的文本识别结果中查找所述第一条目的条目信息,其中,所述第三文本框为所述至少一个文本框中除所述第一文本框和所述至少一个第二文本框之外的候选框。
11.根据权利要求9所述的装置,其特征在于,所述确定模块,还用于:
若所述第一文本行的文本识别结果中不存在第一条目对应的条目信息,在所述下一文本行的文本识别结果中查找所述第一条目对应的条目信息;和/或
若所述第一文本行的文本识别结果中不存在第一条目信息对应的条目,在所述下一文本行的文本识别结果中查找所述第一条目信息对应的条目。
12.根据权利要求11所述的装置,其特征在于,所述确定模块,还用于:
基于所述查找的结果,对所述下一文本行的文本识别结果进行分析,以确定所述下一文本行包含的条目与条目信息之间的对应关系。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述装置还包括:
验证模块,用于在所述确定模块确定所述发票图像中的条目对应的条目信息之后,基于所述发票图像的多个条目之间的内在逻辑关系,对所述多个条目对应的条目信息进行验证。
14.根据权利要求13所述的装置,其特征在于,所述验证模块,还用于:
在所述多个条目包括处于同一文本行的单价条目、数量条目和总金额条目的情况下,验证处于同一文本行中的单价条目对应的单价信息乘以数量条目对应的数量信息,是否等于总金额条目对应的金额信息;
和/或
在所述多个条目包括处于同一列的至少一个金额条目和合计条目的情况下,验证处于同一列的所有金额条目对应的金额信息的相加结果是否等于合计条目对应的合计值信息。
15.根据权利要求13所述的装置,其特征在于,所述验证模块,还用于:对所述多个条目对应的条目信息进行验证之后,在所述验证的结果表明所述内在逻辑关系得不到满足的情况下,调整所述多个条目对应的条目信息,直至调整结果使得所述内在逻辑关系得到满足。
16.根据权利要求9所述的装置,其特征在于,所述识别模块,还用于:对发票图像进行文本识别处理之前,判断所述发票图像是否符合识别图像要求;在判断出所述发票图像不符合所述识别图像要求的情况下,对所述发票图像进行预处理,得到预处理后的发票图像。
17.一种发票识别装置,所述装置包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述的发票识别方法。
18.一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8任一项所述的发票识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457155.6A CN108717543B (zh) | 2018-05-14 | 2018-05-14 | 一种发票识别方法及装置、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457155.6A CN108717543B (zh) | 2018-05-14 | 2018-05-14 | 一种发票识别方法及装置、计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717543A CN108717543A (zh) | 2018-10-30 |
CN108717543B true CN108717543B (zh) | 2022-01-14 |
Family
ID=63899896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810457155.6A Active CN108717543B (zh) | 2018-05-14 | 2018-05-14 | 一种发票识别方法及装置、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717543B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144400B (zh) * | 2018-11-06 | 2024-03-29 | 北京金山云网络技术有限公司 | 身份证信息的识别方法、装置、终端设备及存储介质 |
CN109740642A (zh) * | 2018-12-19 | 2019-05-10 | 北京邮电大学 | 发票类别识别方法、装置、电子设备及可读存储介质 |
CN109858420A (zh) * | 2019-01-24 | 2019-06-07 | 国信电子票据平台信息服务有限公司 | 一种票据处理系统和处理方法 |
CN109918416A (zh) * | 2019-02-28 | 2019-06-21 | 生活空间(沈阳)数据技术服务有限公司 | 一种单据录入的方法、装置及设备 |
CN110189141A (zh) * | 2019-04-17 | 2019-08-30 | 深圳壹账通智能科技有限公司 | 发票的验证方法、装置和计算机设备 |
CN110956739A (zh) * | 2019-05-09 | 2020-04-03 | 杭州睿琪软件有限公司 | 一种票据识别方法及装置 |
CN111008635A (zh) * | 2019-11-28 | 2020-04-14 | 的卢技术有限公司 | 一种基于ocr的多票据自动识别方法及识别系统 |
CN111046886B (zh) * | 2019-12-12 | 2023-05-12 | 吉林大学 | 号码牌自动识别方法、装置、设备及计算机可读存储介质 |
CN112329814B (zh) * | 2020-09-29 | 2022-10-11 | 浪潮通用软件有限公司 | 一种发票数据处理方法及设备 |
CN114120322B (zh) * | 2022-01-26 | 2022-05-10 | 深圳爱莫科技有限公司 | 订单商品数量识别结果校正方法及处理设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005793A (zh) * | 2015-07-15 | 2015-10-28 | 广州敦和信息技术有限公司 | 一种发票字条自动识别录入的方法及装置 |
CN107798299A (zh) * | 2017-10-09 | 2018-03-13 | 平安科技(深圳)有限公司 | 票据信息识别方法、电子装置及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7416131B2 (en) * | 2006-12-13 | 2008-08-26 | Bottom Line Technologies (De), Inc. | Electronic transaction processing server with automated transaction evaluation |
CN103295001A (zh) * | 2013-06-03 | 2013-09-11 | 哈尔滨理工大学 | 应用于手持设备的发票信息识别设备及发票信息识别方法 |
CN105045780B (zh) * | 2015-07-15 | 2017-12-26 | 广州敦和信息技术有限公司 | 一种发票字条语义信息的识别方法及装置 |
CN105528604B (zh) * | 2016-01-31 | 2018-12-11 | 华南理工大学 | 一种基于ocr的票据自动识别与处理系统 |
CN107368826B (zh) * | 2016-05-13 | 2022-05-31 | 佳能株式会社 | 用于文本检测的方法和装置 |
CN107977665A (zh) * | 2017-12-15 | 2018-05-01 | 北京科摩仕捷科技有限公司 | 一种发票中关键信息的识别方法及计算设备 |
-
2018
- 2018-05-14 CN CN201810457155.6A patent/CN108717543B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005793A (zh) * | 2015-07-15 | 2015-10-28 | 广州敦和信息技术有限公司 | 一种发票字条自动识别录入的方法及装置 |
CN107798299A (zh) * | 2017-10-09 | 2018-03-13 | 平安科技(深圳)有限公司 | 票据信息识别方法、电子装置及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Detecting Text in Natural Image with Connectionist Text Proposal Network;Zhi Tian, et al.;《European Conference on Computer Vision》;20160912;第1-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108717543A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717543B (zh) | 一种发票识别方法及装置、计算机存储介质 | |
US10943105B2 (en) | Document field detection and parsing | |
CN105528604B (zh) | 一种基于ocr的票据自动识别与处理系统 | |
US20230021040A1 (en) | Methods and systems for automated table detection within documents | |
CN104217203B (zh) | 复杂背景卡面信息识别方法及系统 | |
CA3154393A1 (en) | System and methods for authentication of documents | |
CN110766014A (zh) | 票据信息定位方法、系统及计算机可读存储介质 | |
CN109657673B (zh) | 图像识别方法和终端 | |
CA2917256C (en) | Screenshot-based e-commerce | |
CN103617415A (zh) | 一种自动识别发票的装置和方法 | |
CN110490190B (zh) | 一种结构化图像文字识别方法及系统 | |
CN106650718A (zh) | 凭证图像识别方法及装置 | |
CN108734159B (zh) | 一种图像中敏感信息的检测方法及系统 | |
CN112580707A (zh) | 图像识别方法、装置、设备及存储介质 | |
US9047533B2 (en) | Parsing tables by probabilistic modeling of perceptual cues | |
CN110288755A (zh) | 基于文本识别的发票检验方法、服务器及存储介质 | |
CN113158895A (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN114463767A (zh) | 信用证识别方法、装置、计算机设备和存储介质 | |
CN111858977B (zh) | 票据信息采集方法、装置、计算机设备和存储介质 | |
CN112988557A (zh) | 一种搜索框定位方法、数据采集方法、装置及介质 | |
CN111462388A (zh) | 一种票据检验方法、装置、终端设备及存储介质 | |
US10824854B2 (en) | Systems and methods for extracting data from an image | |
CN107992872B (zh) | 一种对图片进行文本识别的方法及移动终端 | |
CN113469005A (zh) | 一种银行回单的识别方法、相关装置及存储介质 | |
CN112308057A (zh) | 一种基于文字位置信息的ocr优化方法及系统 |
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 |