CN105005793B - 一种发票字条自动识别录入的方法及装置 - Google Patents

一种发票字条自动识别录入的方法及装置 Download PDF

Info

Publication number
CN105005793B
CN105005793B CN201510416688.6A CN201510416688A CN105005793B CN 105005793 B CN105005793 B CN 105005793B CN 201510416688 A CN201510416688 A CN 201510416688A CN 105005793 B CN105005793 B CN 105005793B
Authority
CN
China
Prior art keywords
invoice
picture
brief note
invoice picture
identify
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
Application number
CN201510416688.6A
Other languages
English (en)
Other versions
CN105005793A (zh
Inventor
陈健庆
李锦鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Dunhe Information Technology Co Ltd
Original Assignee
Guangzhou Dunhe Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Dunhe Information Technology Co Ltd filed Critical Guangzhou Dunhe Information Technology Co Ltd
Priority to CN201510416688.6A priority Critical patent/CN105005793B/zh
Publication of CN105005793A publication Critical patent/CN105005793A/zh
Application granted granted Critical
Publication of CN105005793B publication Critical patent/CN105005793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Character Input (AREA)

Abstract

本发明提出了一种发票字条自动识别录入的方法及装置,方法包括:对每种格式的发票图片中的字条标记包围盒及所属类别后存到训练数据库中;检测需要识别的发票图片的位置;将每张发票图片中的包围盒套用到需要识别的发票图片上,对被包围盒套用的字条进行识别;将需要识别的发票图片与每种格式的发票图片进行匹配,将格式最匹配的发票图片的格式作为需要识别的发票图片的格式;对需要识别的发票图片中被格式最匹配的发票图片的包围盒套用的字条进行图片分层;识别图层,将识别分数最高的图层作为滤除公章后的字条。实施本发明的发票字条自动识别录入的方法及装置,具有以下有益效果:能识别发票中手写潦草字体、发票录入效率较高、识别效果较好。

Description

一种发票字条自动识别录入的方法及装置
技术领域
本发明涉及发票识别领域,特别涉及一种发票字条自动识别录入的方法及装置。
背景技术
传统的发票录入方法需要人工打字录入发票各种信息,包括抬头、金额、地址和消费项目等等。这些信息的录入需要大量时间。对于单位内部结帐,给财务管理都会造成大量不便。随着智能手机的普及,OCR(光学字符识别)技术可以大大减轻发票录入时间,做到实时报销等。识别后的结果还可以进行大数据分析,对员工或者客户的消费习惯进行分析和预测。由于OCR是一种具有挑战性的算法设计,目前只能做到对印刷体的识别,对其他的手写潦草等字体无法识别,手写潦草等字体还需要人工打字录入,造成发票录入效率较低,另外,OCR对光学摄像头也有依赖性,光学摄像头的运动模糊和背景光不足都会对识别结果造成不利的影响,造成识别效果较差。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述无法识别发票中手写潦草字体、发票录入效率较低、识别效果较差的缺陷,提供一种能识别发票中手写潦草字体、发票录入效率较高、识别效果较好的发票字条自动识别录入的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种发票字条自动识别录入的方法,包括如下步骤:
A)建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到所述训练数据库中;
B)接收需要识别的发票图片,并自动检测其位置;所述需要识别的发票图片包括多个字条;
C)将所述训练数据库中的每种格式的发票图片中的包围盒套用到所述需要识别的发票图片上面,并采用开源OCR引擎对被所述包围盒套用的所述需要识别的发票图片中的字条进行识别;
D)将所述需要识别的发票图片与所述训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将所述格式最匹配的发票图片的格式作为所述需要识别的发票图片的格式;
E)对所述需要识别的发票图片中被所述格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层;
F)采用所述开源OCR引擎对每个所述图层进行识别,计算每个所述图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条。
在本发明所述的发票字条自动识别录入的方法中,所述步骤B)进一步包括:
B1)接收所述需要识别的发票图片,并将其转换为图像矩阵;
B2)利用滑动窗口遍历所述图像矩阵,找出所述滑动窗口中最大的点乘值模板作为所述需要识别的发票图片的位置。
在本发明所述的发票字条自动识别录入的方法中,所述步骤D)进一步包括:
D1)统计所述训练数据库中每个字条的字符的出现概率;
D2)分别计算所述需要识别的发票图片上被所述包围盒套用的每个字条中字符的出现次数;
D3)分别计算所述每个字条的字符的出现概率和出现次数的乘积,并对每个所述乘积求和后除以所述需要识别的发票图片中被所述包围盒套用的字条的数量,分别得到所述需要识别的发票图片与所述训练数据库中每种格式的发票图片的相似度;
D4)找出所述训练数据库中相似度最大的发票图片,并将其作为所述需要识别的发票图片的格式。
在本发明所述的发票字条自动识别录入的方法中,所述步骤E)中采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层。
在本发明所述的发票字条自动识别录入的方法中,所述步骤F)进一步包括:
F1)采用所述开源OCR引擎对每个所述图层进行识别;
F2)计算每个所述图层中每个字符的出现概率及出现次数;
F3)分别将每个所述图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数;
F4)找出识别分数最高的图层,并将其作为滤除公章后的字条。
本发明还涉及一种实现上述发票字条自动识别录入的方法的装置,包括:
训练数据库建立单元:用于建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到所述训练数据库中;
发票图片位置检测单元:接收需要识别的发票图片,并自动检测其位置;所述需要识别的发票图片包括多个字条;
套用识别单元:用于将所述训练数据库中的每种格式的发票图片中的包围盒套用到所述需要识别的发票图片上面,并采用开源OCR引擎对被所述包围盒套用的所述需要识别的发票图片中的字条进行识别;
格式匹配单元:用于将所述需要识别的发票图片与所述训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将所述格式最匹配的发票图片的格式作为所述需要识别的发票图片的格式;
图片分层单元:用于对所述需要识别的发票图片中被所述格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层;
公章过滤单元:用于采用所述开源OCR引擎对每个所述图层进行识别,计算每个所述图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条。
在本发明所述的装置中,所述发票图片位置检测单元进一步包括:
图像矩阵转换模块:用于接收所述需要识别的发票图片,并将其转换为图像矩阵;
遍历位置查找模块:用于利用滑动窗口遍历所述图像矩阵,找出所述滑动窗口中最大的点乘值模板作为所述需要识别的发票图片的位置。
在本发明所述的装置中,所述格式匹配单元进一步包括:
出现概率统计模块:用于统计所述训练数据库中每个字条的字符的出现概率;
出现次数计算模块:用于分别计算所述需要识别的发票图片上被所述包围盒套用的每个字条中字符的出现次数;
相似度获取模块:用于分别计算所述每个字条的字符的出现概率和出现次数的乘积,并对每个所述乘积求和后除以所述需要识别的发票图片中被所述包围盒套用的字条的数量,分别得到所述需要识别的发票图片与所述训练数据库中每种格式的发票图片的相似度;
最大相似度获取模块:用于找出所述训练数据库中相似度最大的发票图片,并将其作为所述需要识别的发票图片的格式。
在本发明所述的装置中,所述图片分层单元中采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层。
在本发明所述的装置中,所述公章过滤单元进一步包括:
图层识别模块:用于采用所述开源OCR引擎对每个所述图层进行识别;
出现概率及次数计算模块:用于计算每个所述图层中每个字符的出现概率及出现次数;
图层识别分数获取模块:用于分别将每个所述图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数;
识别分数最高图层获取模块:用于找出识别分数最高的图层,并将其作为滤除公章后的字条。
实施本发明的发票字条自动识别录入的方法及装置,具有以下有益效果:由于将训练数据库中每种格式的发票图片中的字条标记包围盒及所属类别;将训练数据库中的每种格式的发票图片中的包围盒套用到需要识别的发票图片上面,并采用开源OCR引擎对被包围盒套用的所述需要识别的发票图片中的字条进行识别;从训练数据库中找出格式最匹配的发票图片,将其作为需要识别的发票图片的格式;然后对需要识别的发票图片中被格式最匹配的发票图片的包围盒套用的字条进行图片分层,采用开源OCR引擎对每个图层进行识别,将识别分数最高的图层作为滤除公章后的字条,滤除公章后的字条即为要录入的字条,这样,对于手写潦草等字体,就不需要人工录入,所以其能识别发票中手写潦草字体、发票录入效率较高、识别效果较好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明发票字条自动识别录入的方法及装置一个实施例中方法的流程图;
图2为所述实施例中接收需要识别的发票图片,并自动检测其位置的具体流程图;
图3为所述实施例中将需要识别的发票图片与训练数据库中每种格式的发票图片进行格式匹配的具体流程图;
图4为所述实施例中采用开源OCR引擎对每个所述图层进行识别,计算每个图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条的具体流程图;
图5为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明发票字条自动识别录入的方法及装置实施例中,其发票字条自动识别录入的方法的流程图如图1所示。图1中,该发票字条自动识别录入的方法包括如下步骤:
步骤S01建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到训练数据库中:本步骤中,在进行识别之前,需要建立训练数据库,采集各种不同格式的发票图片,采集人员对训练数据库中的每张发票图片中的字条标记包围盒及所属类别,并保存到训练数据库中。值得一提的是,每张发票图片的格式都不同。所谓发票图片个格式不同指的是每张发票图片中字条的分布位置不同。在标记包围盒时,对每个字条画一个外框,这个外框就是包围盒,字条的内容位于外框的内部,在外框的外部标记字条所属类别(发票代码、发票金额小写、发票金额大写、发票号码、开票人、开票日期或顾客名称等等)。
步骤S02接收需要识别的发票图片,并自动检测其位置:本步骤中,接收需要识别的发票图片,并自动检测其位置,值得一提的是,该需要识别的发票图片包括多个字条。关于如何检测需要识别的发票图片的位置,稍后会进行详细描述。
步骤S03将训练数据库中的每种格式的发票图片中的包围盒套用到需要识别的发票图片上面,并采用开源OCR引擎对被包围盒套用的需要识别的发票图片中的字条进行识别:本步骤中,将训练数据库中的每种格式的发票图片中的包围盒套用到需要识别的发票图片上面,并采用开源OCR引擎对被包围盒套用的需要识别的发票图片中的字条进行识别。
步骤S04将需要识别的发票图片与训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将格式最匹配的发票图片的格式作为需要识别的发票图片的格式:本步骤中,将需要识别的发票图片与训练数据库中每种格式的发票图片进行格式相似度匹配,在训练数据库中找出最相似的发票图片,也就是格式最匹配的发票图片,然后将该格式最匹配的发票图片的格式作为需要识别的发票图片的格式。这样就可以知道需要识别的发票图片中每个字条的所属类别。
步骤S05对需要识别的发票图片中被格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层:一旦需要识别的发票图片的格式定下来之后,由于需要识别的发票图片上公章会对识别结果产生影响,本步骤中,本步骤中,采用聚类技术对需要识别的发票图片中被格式最匹配的发票图片的包围盒所套用的字条进行图片分层,这样就可以得到多个图层。具体是采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层。
步骤S06采用开源OCR引擎对每个图层进行识别,计算每个图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条:本步骤中,采用开源OCR引擎对每个图层(也就是每个图层的图片)进行识别,计算每个图层的识别分数,根据需要识别的发票图片中字条里面的字符分布选取最好的结果,也即将识别分数最高的图层作为滤除公章后的字条,从而达到去除公章的效果。这也就是说将需要识别的发票图片转换成了文字内容,并对文字内容进行了分类(识也就是别出文字内容的所属类别)。这样,对于手写潦草等字体,就不需要人工录入,所以其能识别发票中手写潦草字体、发票录入效率较高、识别效果较好。
对于本实施例而言,上述步骤S02还可进一步细化,其细化后的流程图如图2所示。图2中,上述步骤S02进一步包括:
步骤S21接收需要识别的发票图片,并将其转换为图像矩阵:本步骤中,接收需要识别的发票图片,并将该需要识别的发票图片转换为图像矩阵。该图像矩阵为RGB(红绿蓝)图像矩阵。
步骤S22利用滑动窗口遍历图像矩阵,找出滑动窗口中最大的点乘值模板作为需要识别的发票图片的位置:本步骤中,利用滑动窗口遍历图像矩阵,找出滑动窗口中最大的点乘值模板作为需要识别的发票图片的位置,也就是寻找滑动窗口中最大的矩形图像作为需要识别的发票图片的位置。例如:假设需要识别的发票图片纸张的图像矩阵为:
可以利用滑动窗口遍历产生矩阵,找出最大的点乘值模板:
将上述最大的点乘值模板作为需要识别的发票图片纸张的位置,这样就可以定位出需要识别的发票图片的纸张的位置。这样便于后续的识别。
对于本实施例而言,上述步骤S04还可进一步细化,其细化后的流程图如图3所示。图3中,上述步骤S04进一步包括:
步骤S41统计训练数据库中每个字条的字符的出现概率:本步骤中,统计训练数据库中每个字条的字符(可以是汉字,数字,拉丁字母)的出现概率。该出现概率是对整个训练数据库的统计,而不是对单一发票图片的统计。例如:发票代码中字符的出现概率如下:prob(‘0’)=0.1、prob(‘1’)=0.1、prob(‘2’)=0.1、prob(‘3’)=0.1、prob(‘4’)=0.1、prob(‘5’)=0.1、prob(‘6’)=0.1、prob(‘7’)=0.1、prob(‘8’)=0.1和prob(‘9’)=0.1;发票号码中字符的出现概率如下:prob(‘0’)=0.1、prob(‘1’)=0.1、prob(‘2’)=0.1、prob(‘3’)=0.1、prob(‘4’)=0.1、prob(‘5’)=0.1、prob(‘6’)=0.1、prob(‘7’)=0.1、prob(‘8’)=0.1和prob(‘9’)=0.1。
步骤S42分别计算需要识别的发票图片上被包围盒套用的每个字条中字符的出现次数:本步骤中,分别计算需要识别的发票图片上被包围盒套用的每个字条中字符的出现次数。
步骤S43分别计算每个字条的字符的出现概率和出现次数的乘积,并对每个乘积求和后除以需要识别的发票图片中被包围盒套用的字条的数量,分别得到需要识别的发票图片与训练数据库中每种格式的发票图片的相似度:本步骤中,分别计算每个字条的字符的出现概率和出现次数的乘积,并对每个乘积求和后除以需要识别的发票图片中被包围盒套用的字条的数量,分别得到需要识别的发票图片与训练数据库中每种格式的发票图片的相似度。也就是Σ(prob(char)*num(char))/字条数量,其中,char为字符,prob(char)为字符的出现概率,num(char)为字符的出现次数。假设去匹配训练数据库中的一张发票图片,在需要识别的发票图片中使用开源OCR引擎获取到:发票代码为000123,发票号码为12555555,那么需要识别的发票图片和训练数据库中的发票图片的相似度为0.1*3+0.1*2+0.1*2+0.1*1+0.1*6=1.4/2=0.7。传统的识别技术,需要通过特征提取或使用识别器来识别字符。而本实施例采用字条的分布过滤结果,这样可以提高识别结果的精度,譬如发票金额小写只允许数字和小数点出现。本实施例还可自动对识别内容进行分类。
步骤S44找出训练数据库中相似度最大的发票图片,并将其作为需要识别的发票图片的格式:本步骤中,找出训练数据库中相似度最大的发票图片,并将其作为需要识别的发票图片的格式。
对于本实施例而言,上述步骤S06还可进一步细化,其细化后的流程图如图4所示。图4中,上述步骤S06进一步包括:
步骤S61采用开源OCR引擎对每个图层进行识别:本步骤中,采用开源OCR引擎对每个图层进行识别。
步骤S62计算每个图层中每个字符的出现概率及出现次数:本步骤中,计算每个图层中每个字符的出现概率及出现次数。
步骤S63分别将每个图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数:本步骤中,分别将每个图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数。
步骤S64找出识别分数最高的图层,并将其作为滤除公章后的字条:本步骤中,将每个图层的识别分数进行比较,找出识别分数最高的图层,并将其作为滤除公章后的字条。例如:去除公章后的字条如下:
fapiaodaima(发票代码)144011420721
fapiaojinexiaoxie(发票金额小写)108.90
fapiaojinedaxie(发票金额大写)壹佰零捌证欠角
fapiaohaoma(发票号码)49773974
kaipiaoren(开票人)金明贞
kaipiaoriqi(开票日期)2015年3月2日
fapiaotaitou(顾客名称)广州市丰成网络科技有限公司。
本实施例还涉及一种实现上述发票字条自动识别录入的方法的装置,其结构示意图如图5所示。图5中,该装置包括训练数据库建立单元1、发票图片位置检测单元2、套用识别单元3、格式匹配单元4、图片分层单元5和公章过滤单元6;其中,训练数据库建立单元1用于建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到训练数据库中;发票图片位置检测单元2接收需要识别的发票图片,并自动检测其位置;该需要识别的发票图片包括多个字条;套用识别单元3用于将训练数据库中的每种格式的发票图片中的包围盒套用到所述需要识别的发票图片上面,并采用开源OCR引擎对被包围盒套用的需要识别的发票图片中的字条进行识别;格式匹配单元4用于将需要识别的发票图片与训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将格式最匹配的发票图片的格式作为需要识别的发票图片的格式;图片分层单元5用于对需要识别的发票图片中被格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层;值得一提的是,图片分层单元5中采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层;公章过滤单元6用于采用开源OCR引擎对每个图层进行识别,计算每个图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条。这样,对于手写潦草等字体,就不需要人工录入,所以其能识别发票中手写潦草字体、发票录入效率较高、识别效果较好。
本实施例中,发票图片位置检测单元2进一步包括图像矩阵转换模块21和遍历位置查找模块22;其中,图像矩阵转换模块21用于接收需要识别的发票图片,并将其转换为图像矩阵;遍历位置查找模块22用于利用滑动窗口遍历图像矩阵,找出滑动窗口中最大的点乘值模板作为需要识别的发票图片的位置。
本实施例中,格式匹配单元4进一步包括出现概率统计模块41、出现次数计算模块42、相似度获取模块43和最大相似度获取模块44;其中,出现概率统计模块41用于统计所述训练数据库中每个字条的字符的出现概率;出现次数计算模块42用于分别计算需要识别的发票图片上被包围盒套用的每个字条中字符的出现次数;相似度获取模块43用于分别计算每个字条的字符的出现概率和出现次数的乘积,并对每个乘积求和后除以需要识别的发票图片中被包围盒套用的字条的数量,分别得到需要识别的发票图片与训练数据库中每种格式的发票图片的相似度;最大相似度获取模块44用于找出训练数据库中相似度最大的发票图片,并将其作为需要识别的发票图片的格式。
本实施例中,公章过滤单元6进一步包括图层识别模块61、出现概率及次数计算模块62、图层识别分数获取模块63和识别分数最高图层获取模块64;其中,图层识别模块61用于采用开源OCR引擎对每个图层进行识别;出现概率及次数计算模块62用于计算每个图层中每个字符的出现概率及出现次数;图层识别分数获取模块63用于分别将每个图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数;识别分数最高图层获取模块64用于找出识别分数最高的图层,并将其作为滤除公章后的字条。
总之,在本实施例中,训练数据库中发票图片的格式比较多,收集了市面上出现的所有发票格式,从训练数据库中找出格式最匹配的发票图片,将其作为需要识别的发票图片的格式;将识别分数最高的图层作为滤除公章后的字条,滤除公章后的字条即为要录入的字条,这样,对于手写潦草等字体,就不需要人工录入,大大降低发票的录入时间,所以其能识别发票中手写潦草字体、发票录入效率较高、识别效果较好,实现了对发票各个字条的自动化识别录入。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种发票字条自动识别录入的方法,其特征在于,包括如下步骤:
A)建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到所述训练数据库中;
B)接收需要识别的发票图片,并自动检测其位置;所述需要识别的发票图片包括多个字条;
C)将所述训练数据库中的每种格式的发票图片中的包围盒套用到所述需要识别的发票图片上面,并采用开源OCR引擎对被所述包围盒套用的所述需要识别的发票图片中的字条进行识别;
D)将所述需要识别的发票图片与所述训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将所述格式最匹配的发票图片的格式作为所述需要识别的发票图片的格式;
E)对所述需要识别的发票图片中被所述格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层;
F)采用所述开源OCR引擎对每个所述图层进行识别,计算每个所述图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条。
2.根据权利要求1所述的发票字条自动识别录入的方法,其特征在于,所述步骤B)进一步包括:
B1)接收所述需要识别的发票图片,并将其转换为图像矩阵;
B2)利用滑动窗口遍历所述图像矩阵,找出所述滑动窗口中最大的点乘值模板作为所述需要识别的发票图片的位置。
3.根据权利要求1或2所述的发票字条自动识别录入的方法,其特征在于,所述步骤D)进一步包括:
D1)统计所述训练数据库中每个字条的字符的出现概率;
D2)分别计算所述需要识别的发票图片上被所述包围盒套用的每个字条中字符的出现次数;
D3)分别计算所述每个字条的字符的出现概率和出现次数的乘积,并对每个所述乘积求和后除以所述需要识别的发票图片中被所述包围盒套用的字条的数量,分别得到所述需要识别的发票图片与所述训练数据库中每种格式的发票图片的相似度;
D4)找出所述训练数据库中相似度最大的发票图片,并将其作为所述需要识别的发票图片的格式。
4.根据权利要求1或2所述的发票字条自动识别录入的方法,其特征在于,所述步骤E)中采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层。
5.根据权利要求1或2所述的发票字条自动识别录入的方法,其特征在于,所述步骤F)进一步包括:
F1)采用所述开源OCR引擎对每个所述图层进行识别;
F2)计算每个所述图层中每个字符的出现概率及出现次数;
F3)分别将每个所述图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数;
F4)找出识别分数最高的图层,并将其作为滤除公章后的字条。
6.一种实现如权利要求1所述的发票字条自动识别录入的方法的装置,其特征在于,包括:
训练数据库建立单元:用于建立训练数据库,采集各种不同格式的发票图片,并对每种格式的发票图片中的字条标记包围盒及所属类别后保存到所述训练数据库中;
发票图片位置检测单元:接收需要识别的发票图片,并自动检测其位置;所述需要识别的发票图片包括多个字条;
套用识别单元:用于将所述训练数据库中的每种格式的发票图片中的包围盒套用到所述需要识别的发票图片上面,并采用开源OCR引擎对被所述包围盒套用的所述需要识别的发票图片中的字条进行识别;
格式匹配单元:用于将所述需要识别的发票图片与所述训练数据库中每种格式的发票图片进行格式匹配,并找出格式最匹配的发票图片,将所述格式最匹配的发票图片的格式作为所述需要识别的发票图片的格式;
图片分层单元:用于对所述需要识别的发票图片中被所述格式最匹配的发票图片的包围盒套用的字条进行图片分层,得到多个图层;
公章过滤单元:用于采用所述开源OCR引擎对每个所述图层进行识别,计算每个所述图层的识别分数,并将识别分数最高的图层作为滤除公章后的字条。
7.根据权利要求6所述的装置,其特征在于,所述发票图片位置检测单元进一步包括:
图像矩阵转换模块:用于接收所述需要识别的发票图片,并将其转换为图像矩阵;
遍历位置查找模块:用于利用滑动窗口遍历所述图像矩阵,找出所述滑动窗口中最大的点乘值模板作为所述需要识别的发票图片的位置。
8.根据权利要求6或7所述的装置,其特征在于,所述格式匹配单元进一步包括:
出现概率统计模块:用于统计所述训练数据库中每个字条的字符的出现概率;
出现次数计算模块:用于分别计算所述需要识别的发票图片上被所述包围盒套用的每个字条中字符的出现次数;
相似度获取模块:用于分别计算所述每个字条的字符的出现概率和出现次数的乘积,并对每个所述乘积求和后除以所述需要识别的发票图片中被所述包围盒套用的字条的数量,分别得到所述需要识别的发票图片与所述训练数据库中每种格式的发票图片的相似度;
最大相似度获取模块:用于找出所述训练数据库中相似度最大的发票图片,并将其作为所述需要识别的发票图片的格式。
9.根据权利要求6或7所述的装置,其特征在于,所述图片分层单元中采用K-均值聚类算法、层次聚类算法和自组织映射图聚类算法进行图片分层。
10.根据权利要求6或7所述的装置,其特征在于,所述公章过滤单元进一步包括:
图层识别模块:用于采用所述开源OCR引擎对每个所述图层进行识别;
出现概率及次数计算模块:用于计算每个所述图层中每个字符的出现概率及出现次数;
图层识别分数获取模块:用于分别将每个所述图层中每个字符的出现概率及出现次数进行相乘,并将乘积求和后分别得到每个图层的识别分数;
识别分数最高图层获取模块:用于找出识别分数最高的图层,并将其作为滤除公章后的字条。
CN201510416688.6A 2015-07-15 2015-07-15 一种发票字条自动识别录入的方法及装置 Active CN105005793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510416688.6A CN105005793B (zh) 2015-07-15 2015-07-15 一种发票字条自动识别录入的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510416688.6A CN105005793B (zh) 2015-07-15 2015-07-15 一种发票字条自动识别录入的方法及装置

Publications (2)

Publication Number Publication Date
CN105005793A CN105005793A (zh) 2015-10-28
CN105005793B true CN105005793B (zh) 2018-02-27

Family

ID=54378458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510416688.6A Active CN105005793B (zh) 2015-07-15 2015-07-15 一种发票字条自动识别录入的方法及装置

Country Status (1)

Country Link
CN (1) CN105005793B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557747B (zh) * 2016-11-15 2018-06-22 平安科技(深圳)有限公司 识别保险单号码的方法及装置
CN107679442A (zh) * 2017-06-23 2018-02-09 平安科技(深圳)有限公司 单证信息录入的方法、装置、计算机设备及存储介质
CN108009537B (zh) * 2017-12-14 2022-04-15 北京慧辰资道资讯股份有限公司 一种识别问卷批改得分的方法
CN108319641A (zh) * 2017-12-21 2018-07-24 无锡雅座在线科技股份有限公司 菜品信息录入方法及装置
CN108427959A (zh) * 2018-02-07 2018-08-21 北京工业大数据创新中心有限公司 基于图像识别的机台状态采集方法及系统
CN108416895A (zh) * 2018-03-16 2018-08-17 四川长虹电器股份有限公司 一种基于图像识别技术的企业发票录入系统及方法
CN108717543B (zh) * 2018-05-14 2022-01-14 北京市商汤科技开发有限公司 一种发票识别方法及装置、计算机存储介质
CN109711396A (zh) * 2018-11-12 2019-05-03 平安科技(深圳)有限公司 Ocr训练样本的生成方法、装置、设备及可读存储介质
CN109948549B (zh) * 2019-03-20 2022-11-29 深圳市华付信息技术有限公司 Ocr数据生成方法、装置、计算机设备及存储介质
CN110322206A (zh) * 2019-07-26 2019-10-11 苏州创腾软件有限公司 一种基于ocr识别的试剂信息录入方法及装置
CN110705382A (zh) * 2019-09-12 2020-01-17 武汉儒松科技有限公司 基于发票类别的电子发票管理方法、装置、设备及介质
CN110991265B (zh) * 2019-11-13 2022-03-04 四川大学 一种火车票图像的版面提取方法
CN112784751A (zh) * 2021-01-22 2021-05-11 北京百度网讯科技有限公司 图像识别模型的训练方法、装置、设备以及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438628A (en) * 1993-04-19 1995-08-01 Xerox Corporation Method for matching text images and documents using character shape codes
US7103199B2 (en) * 2002-02-20 2006-09-05 Fujitsu Limited Character recognition method and apparatus
CN1916940A (zh) * 2005-08-18 2007-02-21 北大方正集团有限公司 模板优化的字符识别方法和系统
CN101075316A (zh) * 2007-06-25 2007-11-21 陆航程 一种电子票证交易认证管理方法、载体结构、系统、终端
CN102509115A (zh) * 2011-11-22 2012-06-20 北京京北方信息技术有限公司 一种分层带回溯查找机制的票据类型识别方法
CN102737242A (zh) * 2012-06-12 2012-10-17 丰豪盈彩(北京)科技有限公司 应用于移动终端的票据自动识别方法和系统
CN103617415A (zh) * 2013-11-19 2014-03-05 北京京东尚科信息技术有限公司 一种自动识别发票的装置和方法
CN103927352A (zh) * 2014-04-10 2014-07-16 江苏唯实科技有限公司 利用知识库海量关联信息的中文名片ocr数据修正系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438628A (en) * 1993-04-19 1995-08-01 Xerox Corporation Method for matching text images and documents using character shape codes
US7103199B2 (en) * 2002-02-20 2006-09-05 Fujitsu Limited Character recognition method and apparatus
CN1916940A (zh) * 2005-08-18 2007-02-21 北大方正集团有限公司 模板优化的字符识别方法和系统
CN101075316A (zh) * 2007-06-25 2007-11-21 陆航程 一种电子票证交易认证管理方法、载体结构、系统、终端
CN102509115A (zh) * 2011-11-22 2012-06-20 北京京北方信息技术有限公司 一种分层带回溯查找机制的票据类型识别方法
CN102737242A (zh) * 2012-06-12 2012-10-17 丰豪盈彩(北京)科技有限公司 应用于移动终端的票据自动识别方法和系统
CN103617415A (zh) * 2013-11-19 2014-03-05 北京京东尚科信息技术有限公司 一种自动识别发票的装置和方法
CN103927352A (zh) * 2014-04-10 2014-07-16 江苏唯实科技有限公司 利用知识库海量关联信息的中文名片ocr数据修正系统

Also Published As

Publication number Publication date
CN105005793A (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN105005793B (zh) 一种发票字条自动识别录入的方法及装置
CN105045780B (zh) 一种发票字条语义信息的识别方法及装置
JP6303594B2 (ja) 単一セル中の画像データ及びシンボルデータによるテーブルのソート及びフィルタリング
CN110135411A (zh) 名片识别方法和装置
Cha et al. Writer identification: statistical analysis and dichotomizer
CN101881999B (zh) 甲骨文视频输入系统及实现方法
CN109117885B (zh) 一种基于深度学习的邮票识别方法
CN101140617A (zh) 电子设备及其文本录入的方法
CN103995904A (zh) 一种影像档案电子资料的识别系统
Ahmad et al. Kpti: Katib's pashto text imagebase and deep learning benchmark
CN112819004B (zh) 一种用于医疗票据ocr识别的图像预处理方法及系统
CN104361096B (zh) 一种基于特征富集区域集合的图像检索方法
CN102324038A (zh) 一种基于数字图像的植物种类识别方法
CN108038504A (zh) 一种解析房产证照片内容的方法
Awaida et al. Writer identification of arabic text using statistical and structural features
US20140245119A1 (en) Automatic Creation of Multiple Rows in a Table
CN105740857A (zh) 一种基于ocr的快速纸笔投票结果自动采集与识别系统
CN105808757A (zh) 基于多特征融合的bow模型的中草药植物图片检索方法
CN106886578A (zh) 一种数据列映射方法及系统
CN104978577B (zh) 信息处理方法、装置及电子设备
CN105069455B (zh) 一种发票公章过滤的方法及装置
Chherawala et al. Arabic word descriptor for handwritten word indexing and lexicon reduction
CN109815809A (zh) 一种基于cnn的英文笔迹鉴别方法
CN106126523A (zh) 一种假币犯罪信息分析系统及分析方法
CN116259062A (zh) 基于多通道及注意力机制的cnn笔迹鉴别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant