纸质发票数字识别算法比较研究与实现毕业论文
2021-03-13 22:34:42
摘 要
随着我国的经济和科技的飞速发展,银行的发票业务量也与日俱增,以往都是人工进行对发票上重要信息的录入,费时费力,极大的降低了银行工作人员的工作效率。若是实现了发票的自动分割、自动识别与录入,无疑将节约大量的时间,让工作人员能从繁重且重复性的劳动中解脱出来,从而为公司带来无形的效益。本文研究内容主要分为发票数字分割与识别两部分,首先是检测发票上需要识别的重要区域,然后依次将区域内的重要数字分割保存,接着使用训练集训练分类器对分割好的数字进行分类识别,最后按照一定顺序保存在excel中。本文运用的主要方法有霍夫变换、投影法、BP神经网络、支持向量机等方法。研究结果表明:本文的分割与识别算法在一定限度内是可行的,且两种机器学习算法的准确率都达到了95%以上,但BP神经网络训练用时较久。
关键词:发票;数字识别;霍夫变换;BP神经网络;SVM
Abstract
With the rapid development of China's economy and science, the bank's invoice business is also increasing.In the past, the staff manually entered important information on the invoice into the computer, time-consuming and laborious, greatly reducing the efficiency of bank staff. If the automatic division, automatic identification and entry of the invoice can be achieved, which will undoubtedly saves a lot of time, so that staff can be freed from the heavy and repetitive labor. The main contents of this paper are divided into two parts: invoice digital segmentation and recognition. First, detecting the important area on the invoice. Then, splitting and saving the important numbers on the area, and then used the classifier trained by the training set to classify the divided numbers. Finally, saving them in a certain order into excel. The main methods used in this paper are Hough transform, projection method, BP neural network, SVM and so on. The results show that the segmentation and recognition algorithm is feasible in a certain limit, and the recognition accuracy of the Arabic numerals by these two algorithm can reach more than 95%,but the training time of SVM is a little longer.
Key Words:invoice;digital recognition;hough transform;BP neural network;SVM
目录
第1章 绪论 1
1.1背景 1
1.2国内外研究现状 1
1.3整体思路 2
1.4本文章节及内容安排 2
第2章 图像分割与边缘识别概述 3
2.1阈值分割 3
2.1.1灰度阈值分割 3
2.1.2直方图阈值分割 4
2.2边缘检测 5
2.3霍夫变换 6
2.4本章小结 6
第3章 机器学习与模式识别的发展概述 7
3.1简介 7
3.2数字和文本识别 9
3.3神经网络 9
3.3.1神经网络概述 9
3.3.2 BP神经网络 10
3.4神经网络常用函数 13
3.4.1激励函数 13
3.4.2训练函数 15
3.5支持向量机 15
3.6本章小结 16
第4章 实现过程 17
4.1纸质发票区域分割 17
4.1.1霍夫变换的MATLAB函数 17
4.1.2霍夫变换检测直线 17
4.2区域内字符分割 18
4.3 BP神经网络字符识别 23
4.3.1训练过程 24
4.3.2应用过程 28
4.4 SVM字符识别 29
4.4.1训练过程 29
4.4.2应用过程 29
4.5 excel储存 30
4.6本章小结 30
第5章 总结与展望 31
5.1总结 31
5.2展望 31
参考文献 32
致 谢 33
第1章 绪论
1.1背景
20世纪早期由于信息处理过程需要大量的计算,而那个时期没有快速强大的计算工具,因而极大的约束了信息处理技术初期的发展。随着科技的日新月异,特别是计算机领域的飞速发展,计算机的计算能力呈几何速率提升,信息处理技术有了极为巨大的发展,需要大量劳动力来进行重复性劳动的工作大为减少。比如财务领域里机打发票的归类汇总、学校师生的个人信息管理、随处可见的代替现金支付的支付宝等。
信息处理技术的发展过程也伴随着机器学习和模式识别领域的发展。由于人工神经网络等新技术的引进,从上世纪七十年代以来,光学字符识别技术开始逐步趋向成熟化。进入九十年代后,人工神经网络、支持向量机技术发展非常迅速,它们的诸多所长如能够对信息进行分布处理和自我学习能力都引发了人们极大的兴味。
本篇论文主要研究和实现纸质发票上的数字自动分割与识别,以实现纸质发票的自动输入和电子化处理。在全人工环境下,发票由工作人员一张一张识别并手动输入电脑,在发票单据数量过大时,处理时间会变得极其紧迫,易导致工作人员陷入大量重复性、机械化的处理工作。整个处理过程变得繁重、效率低下、费时费力。本文的研究旨在利用计算机处理纸质发票的自动输入问题,不仅解放了生产力,效率更是有了质的提升。纸质发票的识别处理过程可分为数字分割和数字识别两个主要部分,数字分割涉及到了图像处理的霍夫变换、投影法等经典算法;数字识别涉及到了机器学习和模式识别的许多算法和技术,如BP神经网络、支持向量机、决策树等。
1.2国内外研究现状
字符识别可以分为许多类别,按字符处理的实时性可分为脱机和联机两种方式,按字符的字体可分为印刷体和手写处理,按字符的类型可分为文本和数字识别,其中脱机印刷体的数字字符识别是最简单且发展最快的。印刷体数字识别最早被一些国外研究人员应用在各种体育赛事中,对运动员球服上的数字进行识别,进而自动识别球员记录其各种信息,但如今主要还是多应用在票据上。国内的数字识别在上个世纪80年代才起步,较之国外晚了不少,但在国家的大力支持下,国内研究人员刻苦钻研,国内的数字识别技术也得到了飞速的发展,许多研究机构包括清华大学电子系、中国科学院等都研究出了十分实用与高效的处理系统。数字字符识别发展到现在,在国内外都进行了大量的研究,使用各种算法大幅提高识别的精度、速度、鲁棒性,取得了大量的成果,在很多领域得到了成功的应用。但是,由于模式识别还有很多领域的研究还不够深入,许多理论问题还未研究透彻,需要各国研究人员继续加以研究,让数字识别的技术更加成熟。数字字符识别技术在国民经济发展的各个领域中都占有着极其重要的地位。到目前为止,小规模的光学字符识别系统应用已经非常的广泛,有着巨大的商业前景,如汽车车牌识别、产品编码识别、邮政编码识别等。国内目前研究水平较高的公司包括云脉OCR,汉王OCR等。
1.3整体思路
研究的目标及步骤:实现对纸质发票上所需数字字符的自动识别并按顺序依次录入指定电子表格或数据库中,具体步骤如下:1. 实现对单一规格的发票的区域划分,然后对每个区域进行标记,使用数字图像处理的相关技术如边缘检测与分割、Hough变换、边缘加细等提取出每个区域的内容。在边缘检测时,由于图像边缘的区域相似性和不连续性,可以使用Roberts边缘检测算子、Prewitt算子、Sobel算子等进行分割,它们各有自己的优点和缺点,视具体情况选择适合的算法。2. 因为研究的主要是数字识别,当遇到汉字和字母时即丢弃。取出所需数字字符后,使用决策树、支持向量机、BP神经网络等算法对训练样本进行训练,根据情况调整参数,最终生成分类器。用训练好的分类器对相同规格的发票进行测试,比较不同算法的优劣。3. 识别完数字字符后送回标记的区域,完成识别结果整合,最后自动生成电子发票或者输入到指定数据库中。
发票字符识别的大致流程如图1.1所示。