文献综述: |
||
本文主要讨论了发票识别技术的研究历史,结合相关文献的叙述分析比较了发票面额区域的定位与识别的算法原理与实现,发票识别技术的应用前景,并且总结了发票识别技术的优越性和当下研究的总体情况和存在的困难。 首先,是目前发票识别的国内外现状。先看国内,目前我国的发票识别管理程度还停留在纸质阶段,大部分地区在处理发票的过程中都是手工开票,人工查询。相比较利用发票识别技术来进行同样的查询就需要额外耗费劳动力,并且还容易出错,造成效率和服务质量变低。反观国外的相关部门,早在上世纪80年代,就已经将发票识别的相关研究提上了日程,并致力于发票识别的研究多年,已经取得了初步的成效。其中,美国、加拿大、意大利、法国的有些公司就已经在使用或研究出了关于发票识别的完备的系统。如美国AcuForm、法国A2iA等公司旗下的发票自动识别处理系统等,主要应用于银行及企业的各种发票票据识别处理业务流程。而我国的发票识别研究始于1988年,总的来说,我国的发票识别技术起步比国外稍晚,但发展速度与外国相比已经完全不落下风,由于起步较晚的原因,甚至可以说我国的发票识别技术的发展速度是优于国外的。[2][3]
图1:发票识别中常见的问题 在实际的发票识别过程中,有很多的重点难点需要进行研究解决。下面列举两种常见的难题: 1.如图1所示,图中的发票并不是水平的,而是逆时针方向旋转了一定的度数,这就会为后续的字符定位和分割带来一定的干扰,因此需要对这一类发票图像进行倾斜校正。一种常见的倾斜校正方法如下:以发票外框的左上角点(非图像的左上角点)为基准,遍历新图像的每一个点,通过图2所示的坐标变换的逆变换,找到变换之前点的位置,以它的灰度值作为变换后的点的灰度值,遍历所有点后就可以得到倾斜校正后的水平放置的发票图像。[3]
图2.倾斜校正的旋转示意图以及坐标变换式 2.图1中的发票在具体的面额识别时存在另一个问题:花纹纹路过于复杂以至于挡住了面额区域,影响了识别的准确性,这种情况在图3中更加明显,图中的印章盖在了数字金额上,在转换成二值图像后,就连人用肉眼都基本分辨不出发票的具体金额,如果不做任何处理,机器也是无法进行识别的。
图3.被印章挡住的发票金额 解决这个问题比较通用的算法是:分离通道 阈值分割。在openCV上,先用split函数分离三通道图像,在红色通道的图上再做阈值分割,就基本上可以移除印章的痕迹了[7]。(图4)尽管这个问题看上去比倾斜校正要复杂,但实际上无论是从算法的实现还是复杂度来看,倾斜校正都要比印章去除难度大,需要得到更多的关注。
图4.经过印章去除处理后的发票图像 图像二值化是图像预处理的重要组成部分,不仅仅在发票识别,在几乎所有有关图像处理的领域中,图像二值化都是很关键的一步。图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。这个看似简单的问题,在过去的四十年里受到国内外学者的广泛关注,产生了数以百计的阈值选取方法,但如同其他图像分割算法一样,没有一个现有方法对各种各样的图像都能得到令人满意的结果。在这些庞大的分类方法中,基于直方图的全局二值算法占有了绝对的市场份额优势,这些算法都从不同的科学层次提出了各自的实施方案,并且这类方法都有着一些共同的特点:1、简单; 2、算法容易实现;3、执行速度快。下面介绍几种相关的算法。图像二值化常用的算法有固定阈值二值化、双阈值二值化、大津法、局部自适应阈值修正法、递归阈值法、直方图阈值法等等。每种方法都有各自的特点,在二值化时,一般通过选用最适合的方法来尽可能多的保留住原图像的纹理以及边缘特征信息。如局部自适应阈值修正法,可以在全局二值化的效果不是很理想的时候使用,其基本原理是:对于每一个像素,以当前像素为中心,求周边a*b矩形中所有像素的灰度和S,阈值为S/(a*b) d,d为修正值,根据实际情况自由调整。在全局二值化方面,这里介绍一维最大熵算法。这种算法把信息论中熵的概念引入到了图像中,通过计算阈值分割后两部分图像的熵值得大小来判断阈值是否合适。这种算法对很多图像都可以得到令人满意的效果,但是在双峰的图像识别效果上还是存在某些关键信息不能保存下来的缺陷。为了缓解这个缺陷,出现了一种基于模糊集理论的阈值的图像二值化方法,此方法也引用了熵的概念。与一维最大熵不同的是,由于引用了模糊集来进行分割,一般来说无论是对双峰还是单峰的图像,基于模糊集理论的阈值的图像二值化都可以取得较为理想的效果[16]。 发票图像在通过二值化算法处理后,需要进行文字定位。因为课题要求对发票的面额进行检测,因此可以定位出每张发票上都有的大写数字书写的面额区域来进行识别。一种有效的算法过程是使用Canny算法进行多轮边缘查找[4],再将其查找结果(阈化图像)进行像素邻域计算以得到分布在图像内大大小小多个像素连通区域,然后将这些以矩形标识的分散区域根据识别对象字符横向等距分布的特性进行多次区域兼并运算,之后将多轮处理后得到的多个兼并对象作整体布局上的比较分析,从而淘汰不良结果。最后根据最优兼并结果内字符单元区域集合提取图像内待识别文字。另一种先定位出所有文字区域在进行筛选的跳变检测算法,其算法原理是利用字体与纸面像素点的跳变信息,先设定出一个合理的阈值,然后将同一行中两个相邻的跳变点之间距离小于阈值的点连接起来,重复这个过程,这样发票图像上原来写字的区域就会变成一些白色的连着的区域,从而被我们定位出来,如图5所示。由于这种算法直接进行了图像分割而没有进行边缘处理等步骤,所以它的算法复杂度比前面的基于Canny算法的边缘查找要低,运行速度一般也较快。[1] 将定位到的文字区域取出灰度图,用大津法进行二值化,为之后的进一步处理做准备,如图6所示。
图5.发票二位图经跳变检测处理后 图6.图5经大津法进行二次二值化处理后 定位之后进行面额识别:采用水平投影和垂直投影的方法切分,最后再根据字符宽度和相对位置进行修正,从而可以得出需要识别的具体字符。对于字符切割,有一种比较常用的方法,在二值化处理过得图像去掉直线之后,一般会递归使用最大方差阈值法来进行阈值分割,每一次去除图像中比较亮的点,经过多次递归后,就会在图像中得到颜色较深的点(各种字符)[5][6]。关于字符识别,有各种各样的识别方法,例如:对字符拓扑结构进行分析的识别方法、根据字符图像的统计特征匹配、模板匹配等方法。上述几种算法各有优缺点,比如说:模板匹配[9]实现起来比较简单,当字符比较规则时,这种方法对字符图像的缺损、污渍抗干扰能力较强且识别率高,但它的缺点也相对明显,它对字符的旋转缩放变形的容忍度较低。 上面介绍的用图像方法检测和识别发票内容的算法只是目前广泛应用的常见发票识别具体方法,还有相当一部分算法还没有讨论到。 最后是发票识别技术的应用前景。目前来说国内对发票识别的重点主要放在计数与面额的累加这一方面。因为众所周知增值税的发票是可以用来抵扣税款的,这就造成了大量的公司商家虚开增值税发票。这一问题在国内目前是比较泛滥并且没有什么有效的方法去很好的抑制的,这就急需一种精确的发票面额数值核查系统。这是发票识别技术的一个很好的机遇,在发票识别的技术基础上再额外加上识别出面额后累加检测的功能,将会对缓解这一社会问题有不小的帮助。再者,我们在工作生活中,会产生大量的发票,传统的人工录入识别,用户需要投入大量的人力成本和时间成本,不仅抬高了运营成本,而且识别的准确率难以提升,错误率难以降低,对提高业务处理时效、提升企业服务品质带来很多负面影响。为了实现将这些数量巨大、种类繁多的纸质发票实施更好的统一分类识别管理,需要对发票进行扫描、识别录入、面额计算 等工作,在这其中,发票识别技术就发挥了巨大的作用。相对于传统的人工识别方式来看,发票图像输入智能识别技术具有强大的优势,明显可以看出发票识别的速度远快于人工分辨,节省了大量人力资源,优化资源配置,使人员可以有效率地分配于更加有意义的工作。发票识别技术可以为用户提供高效率、低成本的数据识别与统计采集工作,从而为业务快速发展提供有力的支撑。发票识别技术目前的应用场景普遍集中在银行、公司财务部门等需要大量识别票据的部门,该技术的出现,使他们不再忙于整天手工录入发票的面额信息,不再花费大量的时间去检查发票信息的正确性,发票识别技术解放了键盘上的双手,使人们有更充分的时去研究,使发票识别技术得以更进一步。由此可见,发票识别技术的发展前景是非常可观的。所以,在目前社会经济的持续发展大背景下,每天流通的发票的数量只会越来越庞大,由此可见,发票识别技术的发展,对于有关部门的工作效率起着极其重要的作用,关于发票识别技术的研究意义重大。[2] 总的来说,针对发票识别过程中存在的各种问题,如各种噪声干扰,印章遮挡等等,目前已经研究出了相当多行之有效的算法来进行解决[3][9][10][11],但是现阶段这个领域还存在着难以解决的难题,发票识别的速度就是一直在进行改进但是发展潜力还很大的一个方面,在快速的基础上如何获得尽可能高的识别准确率也一直是研究的重点。但是近几年国内关于发票识别的论文的数量相较于之前却呈现出了下降的趋势,目前上网查阅到的发票识别的论文大多是2010-2016年发表的。相信目前的现状只是一个厚积薄发的过程,在经过一定时间的沉淀积累后,发票识别技术的研究一定会更上一个台阶。 主要参考文献: [1]邬满, 基于跳变检测和Tesseract的机打发票识别算法, 信息与电脑, 2015(18),43-45. [2]曾东, ORC发票识别应用浅述, 福建质量管理, 2017(1). [3]余小宝,增值税发票抵扣联字符识别中的图像倾斜校正方法,编程语言,2004(3). [4]郭桂芳,洪留荣,葛方振,基于形态学的多方向文本定位方法, 《宿州学院学报》, 2015,30 (9) :103-105. [5] 董立娟, 练秋生. 基于视觉显著性和视觉信息处理模型的特征提取方法. 电子测量技术, 2007, 1, pp130-132. [6]翁木云,何明一, 图像综合特征及其在图像检测与匹配中的应用, 中国图象图形学报, 2007, 12(1). [7] 左飞。Visual C 数字图像处理开发入门与编程实践。电子工业出版社,2008. [8](美)冈萨雷斯。数字图像处理(第二版)。电子工业出版社,2007. [9] 宫义山, 王鹏. 基于模板匹配的发票号码识别算法[J]. 沈阳工业大学学报, 2015, 37(6):673-678. [10] 虞飞, 皮佑国. 通用机打商业发票识别系统研究与实现[J]. 信息技术, 2013(6):36-40. [11] 尤权锋. 饮食业地方税收发票识别算法研究与实现[D]. 华南理工大学, 2014. [12] 谢志钢. 面向增值税发票的图像自动处理技术研究[D]. 上海交通大学, 2015. [13] 金海燕, 夏婷, 王彬. 自适应字符切分及提取算法研究[J]. 西安理工大学学报, 2016, 32(4):399-402. [14] N. Dalal and B. Triggs, Histograms of oriented gradients for human detection, IEEE Conference on Computer Vision and Pattern Recognition, vol. 1, pp. 886–893, 2005. [15] 杨淑莹. 模式识别与智能计算:Matlab技术实现(第二版). 北京电子工业出版社, 2011.8 [16]黄良凯,基于模糊集理论的一种图像二值化算法的原理、实现效果及代码,清华大学 |
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。