CN107195069A - 一种人民币冠字号自动识别方法 - Google Patents
一种人民币冠字号自动识别方法 Download PDFInfo
- Publication number
- CN107195069A CN107195069A CN201710509012.0A CN201710509012A CN107195069A CN 107195069 A CN107195069 A CN 107195069A CN 201710509012 A CN201710509012 A CN 201710509012A CN 107195069 A CN107195069 A CN 107195069A
- Authority
- CN
- China
- Prior art keywords
- character
- rmb
- word number
- crown word
- image
- 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.)
- Pending
Links
Classifications
-
- 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/20—Testing patterns thereon
- G07D7/2008—Testing patterns thereon using pre-processing, e.g. de-blurring, averaging, normalisation or rotation
-
- 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/20—Testing patterns thereon
- G07D7/2016—Testing patterns thereon using feature extraction, e.g. segmentation, edge detection or Hough-transformation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种人民币冠字号自动识别方法,其通过对人民币图像结构布局的深刻认识,设计实现了一套能准确识别人民币边缘、朝向和冠字号区域的算法。本发明通过高效的算法实现和精心设计的处理步骤,借助成熟OCR引擎的功能,大大提升了冠字号识别的速度;通过对OCR引擎识别效果科学的统计分析和对冠字号模式的认识,综合利用多个引擎的优势,成功的将成熟的开源OCR引擎应用于冠字号识别这一特定领域,并且保证了冠字号识别的准确率,提供了极高的识别速度。
Description
技术领域
本发明属于金融OCR(Optical Character Recognition,光学字符识别)技术领域,具体涉及一种人民币冠字号自动识别方法。
背景技术
OCR是利用光学技术对文字和字符进行扫描,获取文字和字符的图像信息,利用各种模式识别算法对文字形态特征进行分析,获取文字及版面特征信息的过程。随着OCR技术的逐渐成熟,OCR技术开始应用于各个领域,如证件识别、车牌识别、票据识别、银行卡识别、文档识别等,在银行、保险、金融、物流、审计、税务、海关、公安、边检等众多行业都已经形成了成熟的OCR产品。OCR技术的应用减少了设备的配置,降低了人力成本,提高了工作效率。
随着中国经济的发展,人民币的监测和管理工作面临越来越大的压力,而人民币的监测和管理关键在于冠字号的管理。冠字号码是用于统计钞票印制数量、标记钞票唯一性的一种符号,由冠字和号码两部分组成,表示钞票的印制数量。人民币一般实行“一票一号”,冠字号码代表着每张钞票独一无二的身份,成了每张人民币的身份证。利用冠字号码的唯一性,在自动柜员机配钞过程中,把这些纸币的冠字号码采集、记录下来,就可以进行查询和统计。因此,在出现***纠纷时,只要在管理平台中核对一下交易时钞票的冠字号码,就可以证明***是否来自自动柜员机。随着光学字符识别技术的广泛应用,人民币冠字号识别和追踪已经成为金融领域一种防止***的重要手段。
根据央行营业管理部要求,银行的ATM和存取款一体机都必须实现人民币冠字号记录功能。目前银行ATM机、存取款循环一体机、金融机构柜台付出的100元面额人民币冠字号码都必须可查询。
在这一背景下,如何实现一种高效、高准确度的人民币冠字号识别方法显得尤为重要。传统的冠字号识别方法虽然准确率尚可,但是识别速度较慢,对于污渍和相似字符的问题也并不能很好解决。
发明内容
鉴于上述,本发明提供了一种人民币冠字号自动识别方法,能够准确、高效的利用验钞机拍摄的人民币图像,实现人民币冠字号的自动识别。
一种人民币冠字号自动识别方法,包括如下步骤:
(1)首先采集人民币的灰度图像,进而对该灰度图像进行纸币边缘识别得到人民币的四边形轮廓;
(2)基于透视变换对人民币的四边形轮廓进行裁剪及矫正,以得到人民币的矩形图像;
(3)基于颜色分布情况对人民币矩形图像的朝向进行识别及矫正,以得到正面朝上的人民币矩形图像,对于反面的人民币矩形图像则直接丢弃;
(4)对正面朝上的人民币矩形图像进行冠字号区域边界探测,以定位得到所要识别的冠字号区域;
(5)对冠字号区域图像进行预处理,依次包括图像二值化、字符切割、直方图拉伸以及连通分量分析,得到冠字号的各个字符图像;
(6)针对人民币冠字号字符利用开源的OCR引擎Tesseract提供的训练工具进行训练,得到用于识别冠字号字符的专有引擎;
(7)利用所述专有引擎以及OCR引擎Tesseract中自带识别拉丁字符的原生引擎对步骤(5)中得到的各个字符图像进行识别,以得到各字符图像所对应的候选字符列表及各候选字符的置信度;
(8)根据冠字号的组合特点以及置信度,从候选字符列表为各字符图像选取一个字符作为其识别结果。
进一步地,所述步骤(1)中对人民币的灰度图像进行纸币边缘识别,具体过程如下:
1.1对人民币的灰度图像进行中值滤波处理;
1.2将滤波后的灰度图像进行膨胀处理;
1.3将膨胀后的灰度图像进行二值化处理;
1.4对二值化图像采用Suzuki85算法[Suzuki,S.and Abe,K.,TopologicalStructural Analysis of Digitized Binary Images by Border Following.CVGIP 301,pp 32-46(1985)]进行轮廓识别,得到图像中面积最大的外部轮廓;
1.5利用道格拉斯-普克算法对该外部轮廓进行四边形近似或检测其最小外接矩形,从而得到人民币的四边形轮廓。
进一步地,所述步骤(4)中对人民币矩形图像进行冠字号区域边界探测,具体过程如下:
4.1按照465×231的尺寸对人民币矩形图像进行重采样得到其缩略图;
4.2选定缩略图中第5列第168行像素点为冠字号区域的左上顶点,以该顶点为基准选定高为33宽为116的区域为ROI(region of interest,感兴趣区域);
4.3对选定的ROI进行直方图拉伸和二值化处理;
4.4基于预设的行列黑白点比例阈值,对二值化后ROI中冠字号的上下左右边界进行两轮探测逼近,去除白色空白边框以最终得到所要识别的冠字号区域。
进一步地,所述步骤(7)的具体实现过程如下:
7.1对于任一字符图像,利用专有引擎对其进行识别得到候选字符列表及各候选字符的置信度;
7.2比较各候选字符的置信度,若置信度最大的候选字符为B、Z、0、4、8或G,则执行步骤7.3;否则,直接将该候选字符列表及各候选字符置信度作为最终输出结果;
7.3利用原生引擎对该字符图像进行识别得到候选字符列表及各候选字符的置信度;
7.4以专有引擎识别得到的候选字符列表作为最终输出结果,关于其中各候选字符的置信度:对于同时出现在两个引擎候选字符列表中的字符,则通过两个引擎所计算出的置信度加权确定后最终输出;对于只在专有引擎候选字符列表中出现的字符,则以专有引擎计算出的置信度为最终输出。
所述步骤7.4中两个引擎对于不同字符置信度的加权系数通过逻辑回归的方法确定。
进一步地,所述步骤(8)的具体实现过程如下:
8.1对于冠字号中的第1位字符图像,从其对应的候选字符列表中选择置信度最高的字母作为识别结果;
8.2对于冠字号中的后6位字符图像,从各自对应的候选字符列表中选择置信度最高的数字作为识别结果;
8.3对于冠字号中的第2~4位字符图像,遍历所有出自各自候选字符列表且包含1个字母2个数字的字符组合,选择字符置信度之和最高的字符组合作为识别结果。
优选地,对于步骤(8)中识别结果为T或J且置信度低于85%的字符图像,截取该字符图像的下70%部分并利用原生引擎对其进行识别:若识别结果为J,则判定该字符图像为J;若识别结果为I或1,则判定该字符图像为T。
本发明的有益技术效果如下:
(1)本发明中引入了基于图像预处理方法组合以及Suzuki85轮廓识别算法,可以从验钞机捕获的纸币图像中提取纸币主体,并纠正图像扭曲。
(2)本发明中引入了基于像素特征规则的冠字号区域边界检测方法,能够高速且有效的从纸币图像中提取冠字号区域;此外本发明还综合利用了一系列高效的图像预处理方法,对冠字号区域进行了清理,最大化的去除污渍、设备漏光等噪声对识别的影响。
(3)本发明利用了开源的成熟OCR引擎,经过训练用于人民币冠字号识别场景,在训练数据质量和数量都存在困难的前提下,能够通过综合利用多引擎加权识别结果,以及合理有效的纠错方案,将识别准确率提升到99%以上。
(4)本发明在保证识别结果准确率的同时,一方面采用高效的算法,优化实现性能,一方面简化图像处理的步骤,利用缩略图和粗定位减少计算量。在树莓派Model 3B(1.2GHz四核ARMv8CPU)环境测试,识别速度可以达到1000张/分以上。
附图说明
图1为本发明方法的***实现示意图。
图2为本发明纸币边缘识别及透视变换的流程示意图。
图3为本发明冠字号区域边界探测及双引擎识别的流程示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
本发明人民币冠字号自动识别方法的具体实现如图1所示,具体包括:
(1)人民币纸币边缘识别。
从验钞机成像模块读取到灰度图片后,首先依次对图像进行中值滤波、膨胀、OTSU二值化的预处理,然后运行轮廓识别算法获得纸币轮廓,并采用四边形近似的方式得到最大轮廓作为最终的纸币轮廓,具体如图2所示:
1.1中值滤波;对读取到的灰度图片进行中值滤波处理,以降低由于成像缺陷引入的噪声对轮廓识别结果的影响。中值滤波是统计排序滤波器的一种,它使用一个像素临域中的灰度级的中值来代替该像素的值,即:
其中,(x,y)为当前像素坐标,S为邻域范围;在本实施方式中,取邻域范围为5×5。
1.2膨胀;对滤波后的图像进行膨胀操作,减少图片中的细节,保留主要特征和纸币轮廓的连贯性。膨胀是一种重要的形态学图像处理方法,对于二维整数空间Z2中的集合A和B,B对A的膨胀定义为:
其中,为集合B的反射,B是一个结构元或核,A是被膨胀的集合。这个公式是以B关于它的原点的映像,并且以z对映像进行平移为基础的。在本实施方式中,B为9×9的矩形核。
1.3二值化;对于膨胀后的图像,使用最大类间方差(OTSU)算法进行最佳全局阈值处理,得到只有黑白色值的二值化图像,作为轮廓检测算法的输入。该算法采用聚类的思想,假定该图像根据双模直方图(前景像素和背景像素)包含两类像素,计算能将两类分开的最佳阈值,使得它们的类内方差最小,或类间方差最大;具体步骤如下:
1.3.1计算输入图像的归一化直方图;
1.3.2遍历所有可能的阈值t=1...255,计算类间方差 其中,ωi为类概率,μi为类均值,都是通过直方图计算的;
1.3.3类间方差最大时的阈值topt为最佳阈值;
1.3.4以topt为全局阈值,将小于topt的灰度值像素点置为灰度极小值0,大于topt的灰度值像素点置为灰度极大值255,实现图像二值化。
1.4边缘检测;对二值化后的纸币图像进行边缘检测,具体步骤如下:
1.4.1基于Suzuki85算法中的提取最外层轮廓的方法,找到二值化图像中的所有最外层轮廓;
1.4.2对于找到的每一个最外层轮廓,采用格林公式计算轮廓内部的面积:设闭区域D由分段光滑的简单曲线L围成,函数P(x,y)及Q(x,y)在D上有一阶连续偏导数,则有:
其中,L是D取正向的边界曲线;
1.4.3取其中内部面积最大的轮廓,使用道格拉斯-普克算法对轮廓进行多边形近似,其中近似系数为轮廓长度的百分之一;
1.4.4若近似后为四边形,直接可以得到纸币的四个顶点;若近似后不是四边形,则计算轮廓的最小外接矩形,取轮廓上距离最小外接矩形顶点距离最近的四个点作为纸币的四个顶点。
在本实施方式中,由于纸币在拍摄中存在倾斜和扭曲,在图片中并不是表示矩形,而是不规则四边形物体;因此获取到的纸币边缘以四边形的四个顶点表示,获取到的四个顶点将作为下一步中透视变换的标定点。
(2)基于透视变换的图像裁剪及矫正。
由于纸币在拍摄中存在倾斜和扭曲,在图片中呈现为不规则四边形,对于冠字号区域的定位和字符识别造成了影响,因此在探测冠字号区域之前,应首先根据纸币边缘的检测结果进行纸币图像的裁剪和矫正。
根据步骤1.4.4中获取的4个纸币顶点,对图像进行透视变换;透视变换是利用透视中心、像点、目标点三点共线的条件,将图片投影到一个新的视平面的过程,其通用变换公式如下:
其中,(u,v)为原始图像坐标,变换后图像坐标(x,y)为:
以四边形上下两边最大值作为新图像的宽,四边形左右两边最大值作为新图像的高,将步骤1.4.4中获取的纸币顶点依次作为新图像的四个顶点,建立变换矩阵;透视变换后得到矫正过的人民币图像,作为后续步骤的输入。
(3)人民币朝向识别和矫正。
在验钞机入钞时,人民币图像可能存在正上、反上、正下、反下四种姿态。冠字号识别需要使用正上位置的图片进行。对于每张纸币,验钞机会采集正反面两张图像,反面图像在本实施方式中被直接丢弃。对于正面图像,根据人民币纸币的颜色特性,纸币正面的左侧为白色区域,左右两侧颜色差异较大,可以采用基于灰度级空间分布统计的方法来识别纸币朝向,具体方法如下:
3.1对矫正后的纸币图像进行直方图拉伸,使图像颜色充满整个灰度级范围内,避免因不同设备或批次成像质量差异导致的色差;具体地,若要将[a,b]区间的灰度变换到[0,255]范围内,变换函数为:
其中,r是变换前的灰度值,T(r)是变换后的灰度值;
3.2对图像进行重采样,得到大小为310×154的缩略图,在缩略图上进行计算可以大大减少计算量,提升处理速度;
3.3以灰度中值127为阈值对缩略图进行二值化;
3.4将缩略图四周各裁剪10像素,去除右侧白色边缘对颜色统计的干扰;
3.5在左右两侧边缘各取1/3宽度区域,计算平均颜色值,平均颜色值较高的一侧为左侧;
3.6根据识别结果,旋转图像,统一纸币朝向为正上。
(4)冠字号区域边界探测。
能否准确匹配到冠字号区域,是能否准确对冠字号进行识别的基础;基于对于人民币图案模式的认知,识别采用的冠字号区域位于图像左下角位置。由于人民币冠字号区域面积小,图像分辨率低,容易受沾染污渍和噪声的干扰,且样本数量较少,特征匹配的方法很难取得较好效果,因此本实施方式中依次采用重采样、粗定位、直方图拉伸、二值化、像素级区间探测和迭代逼近的方法从图像中探测冠字号区域,具体步骤如图3所示:
4.1重采样;类似于步骤3.2对图像进行重采样,为了尽可能的保持图像特征,将缩略图的大小设置为465×231,之后的操作都基于缩略图进行;
4.2粗定位;基于对冠字号位置的经验认知和图像尺寸比例,同时为了保持冠字号区域与其他区域的特征差异,选定缩略图中第5列第168行像素点为冠字号区域的左上顶点,以该顶点为基准选定高为33宽为116的区域为ROI,之后的操作基于此区域进行。粗定位有以下几个主要优势:一能够减少识别区域的面积,降低噪声、污渍和无关内容的干扰,减少计算量;二能够降低规则设置的复杂性,提升算法运行效率。
4.3预处理;依次对图像进行以下几步的预处理:
4.3.1对缩略图图像进行直方图拉伸,增强区域对比度;
4.3.2对直方图拉伸后的图像,使用最大类间方差(OTSU)算法进行最佳全局阈值处理,得到二值化图像;
4.3.3使用一种特异的最小值滤波器对二值化图像进行滤波,滤波器由下式给出:
该滤波器可以去除图像中的“孤立点”,这些点通常是噪声,会对冠字号区域边界的认定造成干扰。
4.4左右边界检测;在预处理结束后,首先对冠字号的左右边界进行检测,具体步骤如下:
4.4.1对二值化图像按列进行投影,得出每一列黑色和白色像素点的数量;
4.4.2从最左侧开始,遇到非纯白色像素列,且黑色像素比例小于50%时,认定为左侧边界(规则1),此规则去除了左侧空白和因裁剪矫正误差带来的黑边;
4.4.3假设冠字号区域宽度最少为85像素,从最右侧开始,遇到连续三列为全部白色或宽度不足时停止,继续向左过滤掉所有纯白色列后,认定为右侧边界(规则2),此规则去除了右侧花纹、噪声和空白。
4.5上下边界检测;根据左右边界的检测结果,对图像进行裁剪,然后进行上下边界的检测,具体步骤如下:
4.5.1对二值化图像按行进行投影,得出每一行黑色和白色像素点的数量;
4.5.2从最上侧开始,遇到白色点数比例低于88%的行时,认定为上侧边界(规则3);
4.5.3假设冠字号区域高度最少为12像素,从上侧边界+12像素开始,遇到白色点数比例多于88%的行时停止,认定为下侧边界(规则4)。
4.6左右边界二次认定;根据上下边界的检测结果,再次对图像进行裁剪,得到初步结果。在此基础上,对左右边界进行二次认定,进一步去除噪声干扰,具体步骤如下:
4.6.1从最左侧开始,遇到存在黑色像素点且黑色像素点不多于3个的列时,认定为可能的噪声列,若该列后三列均为纯白色像素列,则认定为噪声列,相应的右移左侧边界;否则为冠字号区域边缘,停止探测(规则5);
4.6.2从最右侧开始,遇到存在黑色像素点且黑色像素点不多于3个的列时,认定为可能的噪声列,若该列后三列均为纯白色像素列,则认定为噪声列,相应的左移右侧边界;否则为冠字号区域边缘,停止探测(规则6)。
4.7去除白色边框;根据新的左右边界裁剪图像,并去除白色边框,得到最终的冠字号区域位置。
(5)冠字号图像预处理。
在成功探测冠字号区域后,根据原图像与缩略图的比例关系,在原图像上提取出冠字号区域,进行图像二值化、字符切割、直方图拉伸、连通分量分析等图像预处理,得到OCR引擎识别所用的最终输入图像。具体步骤如下:
5.1尺寸归一化;根据人民币尺寸特征,采用155:77的比例,将所有图像都拉伸为2170×1078大小,此时原图与缩略图的比例为7:1;根据这一比例和冠字号区域在缩略图中的位置,在原图的对应位置截取出冠字号区域;为了修正重采样引起的误差,在原图上进行裁剪时四周边界分别向外延伸10像素的宽度。
5.2字符分割;由于人民币图像中冠字号字符的颜色深浅不一,且有机器原因导致的深色线条叠加在图片上,某个局部噪声颜色可能比另一部分的字符更暗;如果对整张冠字号区域图片使用全局的图像处理方法,很容易影响的局部的文字部分,但如果在小范围内使用局部最优阈值进行处理即可处理掉比相近文字颜色淡的噪声和污渍。因此先对冠字号字符进行分割,再对每一个分割后的字符图片进行直方图拉伸,会得到更好的效果,具体步骤如下:
5.2.1对整个冠字号区域灰度图进行OTSU二值化;
5.2.2对二值化图像按列进行投影,统计每一列黑色像素的个数,统计结果会呈现高峰和低谷交替,每个低谷即是字符间的空白部分。
5.2.3按空白部分将冠字号灰度图片划分为多个部分,对每个部分单独进行直方图拉伸。
5.3局部直方图拉伸和联通分量分析;对每个部分的图像单独进行直方图拉伸,根据冠字号所有的字符都是大写字母或数字特性,这代表每一个字符没有断裂的部分,全部连通;因此可以进行连通分量分析,去掉每一个字符图片中离散的部分,降低噪声对识别的影响;对每个字符图片进行连通分量分析,去掉所有离散的连通分量,只留下包含像素最多的一个连通分量,即字符本身。
(6)OCR引擎训练与冠字号字符识别。
本实施方式中的OCR识别基于开源的OCR引擎tesseract的3.x版本进行,利用tesseract提供的训练工具,针对人民币冠字号识别的应用场景,对tesseract引擎进行了重新训练,如图3所示,训练过程主要分为以下几步:
6.1生成训练数据;选择充足数量的人民币图像样本组成训练集,保证冠字号中各字符均出现,且出现的频率尽可能相近;将训练集经步骤(5)中图像预处理的结果作为样本图片;对于所有样本,使用人工标记正确的识别结果。
6.2生成box文件;box文件记录了所有图像中出现的字符及字符的尺寸和位置,tesseract的训练工具会根据现有引擎识别并自动生成box文件,生成后需要借助相关工具,根据人工标记结果编辑文件并更正错误的字符。
6.3进行训练;通过tesseract提供的自动化工具集,根据样本图片和box文件进行自动化训练,生成训练数据文件,用于最终的字符识别。
使用训练好的训练数据,利用tesseract引擎对步骤(5)中预处理后的图片进行字符识别,得到初步识别结果——对于每一个字符,获取所有的候选字符列表和相应的置信度数值,用于后续的智能纠错。
(7)多引擎识别结果加权验证。
由于训练数据质量和数量的因素,以及开源OCR引擎本身的算法缺陷,训练结果在验证数据上并没有达到十分理想的效果;改善数据质量和反复的参数调谐可控性差,且并不能有效的提升识别准确率,针对这一问题,本实施方式采用了多引擎识别结果加权验证的方法,结合专有训练数据(专有引擎)和tesseract自带拉丁字符识别数据(原生引擎),使用两套独立的识别引擎进行识别;根据统计分析结果,两套引擎在针对不同字符的识别上的可靠性有不同表现。
对于两个引擎都列为候选的字符,采用加权方式确定最终置信度;对于只被一个引擎识别出来的字符,直接采用该引擎的置信度作为最终置信度。
为了确定加权系数,本实施方式利用了逻辑回归的方法,计算出对于每个字符的识别结果在两个引擎的可靠性加权系数,具体方法如下:
7.1对于每个字符候选,假设方程为:
hθ(x)=sigmoid(θ1x1+θ2x2+θ3)
其中,x1为专有引擎的置信度,x2为原生引擎的置信度。
7.2对应地,逻辑回归代价方程为:
其中,若该字符候选i为正确识别结果,则y(i)=1,否则,y(i)=0。
7.3使用梯度下降法计算代价方程取全局最小值时的θ,作为最终该候选字符的加权参数。
由于本实施方式对算法性能要求较高,对所有字符都采用两个引擎进行识别会大大降低识别速度,因此根据统计结果,在实践过程中只对在经后续纠错步骤纠错后专有引擎错误率较高的B、Z、0、4、8、G六个字符采用多引擎加权验证的方法;当识别结果为这六个字符时,使用原生引擎进行二次识别;对于两个引擎中共有的候选词,采用加权参数进行加权,得到最终的置信度。
到目前为止,对于图片中的每个字符,都能够得到一个候选字符列表,每个候选字符都有一个对应的置信度。
(8)基于冠字号模式的智能纠错。
人民币冠字号具有特定的格式,字母和数字出现的位置和数量的组合是固定的,利用这一特性,我们可以对识别结果进行纠错,从候选字符列表中剔除不符合冠字号组合模式的候选字符。
人民币纸币的号码都是由“冠字”和“序列号”两部分组成,目前流通的人民币冠字有2字冠、3字冠、4字冠三种,分别对应1、2位是字母,1、3位是字母,1、4位是字母3种情况;总的来说,冠字号首位必是字母,2~4位中有且只有一位字母,其余全部为数字。
按照这一规则,本实施方式采取以下策略选择最终识别结果:
8.1对于第1位字符,选择置信度最高的字母作为识别结果;
8.2对于后6位字符,选择置信度最高的数字作为识别结果;
8.3对于第2~4位字符,遍历所有的1字母2数字的组合,选择置信度最高的组合作为识别结果。
(9)高相似字符的特异化处理。
对于绝大多数字符,截至步骤(8)就能够得到很高的识别率;然而由于引擎本身识别方法的局限性和数据样本数量不足的问题,专有引擎和原生引擎对于T、J两个字母经常混淆,大大影响了最终的识别率;本实施方式通过局部识别的方法解决了这一问题,具体步骤如下:
9.1如果识别结果为T或J,且置信度低于85%,执行步骤9.2;
9.2截取该字符图像的下70%部分,将原生引擎的设置为之识别J、I、1三个字母的模式,进行识别;
9.3若识别结果为J,则判定该字符为J;
9.4若识别结果为I或1,则判定该字符为T。
至此,完成全部对冠字号的识别过程。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (7)
1.一种人民币冠字号自动识别方法,包括如下步骤:
(1)首先采集人民币的灰度图像,进而对该灰度图像进行纸币边缘识别得到人民币的四边形轮廓;
(2)基于透视变换对人民币的四边形轮廓进行裁剪及矫正,以得到人民币的矩形图像;
(3)基于颜色分布情况对人民币矩形图像的朝向进行识别及矫正,以得到正面朝上的人民币矩形图像,对于反面的人民币矩形图像则直接丢弃;
(4)对正面朝上的人民币矩形图像进行冠字号区域边界探测,以定位得到所要识别的冠字号区域;
(5)对冠字号区域图像进行预处理,依次包括图像二值化、字符切割、直方图拉伸以及连通分量分析,得到冠字号的各个字符图像;
(6)针对人民币冠字号字符利用开源的OCR引擎Tesseract提供的训练工具进行训练,得到用于识别冠字号字符的专有引擎;
(7)利用所述专有引擎以及OCR引擎Tesseract中自带识别拉丁字符的原生引擎对步骤(5)中得到的各个字符图像进行识别,以得到各字符图像所对应的候选字符列表及各候选字符的置信度;
(8)根据冠字号的组合特点以及置信度,从候选字符列表为各字符图像选取一个字符作为其识别结果。
2.根据权利要求1所述的人民币冠字号自动识别方法,其特征在于:所述步骤(1)中对人民币的灰度图像进行纸币边缘识别,具体过程如下:
1.1对人民币的灰度图像进行中值滤波处理;
1.2将滤波后的灰度图像进行膨胀处理;
1.3将膨胀后的灰度图像进行二值化处理;
1.4对二值化图像采用Suzuki85算法进行轮廓识别,得到图像中面积最大的外部轮廓;
1.5利用道格拉斯-普克算法对该外部轮廓进行四边形近似或检测其最小外接矩形,从而得到人民币的四边形轮廓。
3.根据权利要求1所述的人民币冠字号自动识别方法,其特征在于:所述步骤(4)中对人民币矩形图像进行冠字号区域边界探测,具体过程如下:
4.1按照465×231的尺寸对人民币矩形图像进行重采样得到其缩略图;
4.2选定缩略图中第5列第168行像素点为冠字号区域的左上顶点,以该顶点为基准选定高为33宽为116的区域为ROI;
4.3对选定的ROI进行直方图拉伸和二值化处理;
4.4基于预设的行列黑白点比例阈值,对二值化后ROI中冠字号的上下左右边界进行两轮探测逼近,去除白色空白边框以最终得到所要识别的冠字号区域。
4.根据权利要求1所述的人民币冠字号自动识别方法,其特征在于:所述步骤(7)的具体实现过程如下:
7.1对于任一字符图像,利用专有引擎对其进行识别得到候选字符列表及各候选字符的置信度;
7.2比较各候选字符的置信度,若置信度最大的候选字符为B、Z、0、4、8或G,则执行步骤7.3;否则,直接将该候选字符列表及各候选字符置信度作为最终输出结果;
7.3利用原生引擎对该字符图像进行识别得到候选字符列表及各候选字符的置信度;
7.4以专有引擎识别得到的候选字符列表作为最终输出结果,关于其中各候选字符的置信度:对于同时出现在两个引擎候选字符列表中的字符,则通过两个引擎所计算出的置信度加权确定后最终输出;对于只在专有引擎候选字符列表中出现的字符,则以专有引擎计算出的置信度为最终输出。
5.根据权利要求4所述的人民币冠字号自动识别方法,其特征在于:所述步骤7.4中两个引擎对于不同字符置信度的加权系数通过逻辑回归的方法确定。
6.根据权利要求1所述的人民币冠字号自动识别方法,其特征在于:所述步骤(8)的具体实现过程如下:
8.1对于冠字号中的第1位字符图像,从其对应的候选字符列表中选择置信度最高的字母作为识别结果;
8.2对于冠字号中的后6位字符图像,从各自对应的候选字符列表中选择置信度最高的数字作为识别结果;
8.3对于冠字号中的第2~4位字符图像,遍历所有出自各自候选字符列表且包含1个字母2个数字的字符组合,选择字符置信度之和最高的字符组合作为识别结果。
7.根据权利要求1所述的人民币冠字号自动识别方法,其特征在于:对于步骤(8)中识别结果为T或J且置信度低于85%的字符图像,截取该字符图像的下70%部分并利用原生引擎对其进行识别:若识别结果为J,则判定该字符图像为J;若识别结果为I或1,则判定该字符图像为T。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710509012.0A CN107195069A (zh) | 2017-06-28 | 2017-06-28 | 一种人民币冠字号自动识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710509012.0A CN107195069A (zh) | 2017-06-28 | 2017-06-28 | 一种人民币冠字号自动识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107195069A true CN107195069A (zh) | 2017-09-22 |
Family
ID=59881536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710509012.0A Pending CN107195069A (zh) | 2017-06-28 | 2017-06-28 | 一种人民币冠字号自动识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107195069A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392260A (zh) * | 2017-06-08 | 2017-11-24 | 中国民生银行股份有限公司 | 一种字符识别结果的错误标定方法和装置 |
CN108091033A (zh) * | 2017-12-26 | 2018-05-29 | 深圳怡化电脑股份有限公司 | 一种纸币的识别方法、装置、终端设备和存储介质 |
CN108830862A (zh) * | 2018-06-08 | 2018-11-16 | 江南大学 | 基于图像分割的螃蟹朝向识别方法 |
CN108875746A (zh) * | 2018-05-17 | 2018-11-23 | 北京旷视科技有限公司 | 一种车牌识别方法、装置、***及存储介质 |
CN110348361A (zh) * | 2019-07-04 | 2019-10-18 | 杭州景联文科技有限公司 | 皮肤纹理图像验证方法、电子设备及记录介质 |
CN110610575A (zh) * | 2019-09-20 | 2019-12-24 | 北京百度网讯科技有限公司 | 硬币识别方法及装置、收银机 |
CN110634222A (zh) * | 2019-08-27 | 2019-12-31 | 河海大学 | 一种银行票据信息识别方法 |
CN116486418A (zh) * | 2023-06-19 | 2023-07-25 | 恒银金融科技股份有限公司 | 钞票冠字号图像的生成方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090128659A (ko) * | 2008-06-11 | 2009-12-16 | (주)캡소프트 | 금융 자동화기기의 거래명세표에 고밀도 바코드 인쇄 장치및 그 방법 |
JP2010055544A (ja) * | 2008-08-29 | 2010-03-11 | Fujitsu Frontech Ltd | カード挿入案内方法、及びカード処理装置 |
CN101894266A (zh) * | 2010-06-30 | 2010-11-24 | 北京捷通华声语音技术有限公司 | 一种手写识别方法及*** |
CN103136845A (zh) * | 2013-01-23 | 2013-06-05 | 浙江大学 | 一种基于冠字号图像特征的人民币鉴伪方法 |
CN104408814A (zh) * | 2014-12-13 | 2015-03-11 | 天津远目科技有限公司 | 一种人民币冠字号识别方法 |
-
2017
- 2017-06-28 CN CN201710509012.0A patent/CN107195069A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090128659A (ko) * | 2008-06-11 | 2009-12-16 | (주)캡소프트 | 금융 자동화기기의 거래명세표에 고밀도 바코드 인쇄 장치및 그 방법 |
JP2010055544A (ja) * | 2008-08-29 | 2010-03-11 | Fujitsu Frontech Ltd | カード挿入案内方法、及びカード処理装置 |
CN101894266A (zh) * | 2010-06-30 | 2010-11-24 | 北京捷通华声语音技术有限公司 | 一种手写识别方法及*** |
CN103136845A (zh) * | 2013-01-23 | 2013-06-05 | 浙江大学 | 一种基于冠字号图像特征的人民币鉴伪方法 |
CN103136845B (zh) * | 2013-01-23 | 2015-09-16 | 浙江大学 | 一种基于冠字号图像特征的人民币鉴伪方法 |
CN104408814A (zh) * | 2014-12-13 | 2015-03-11 | 天津远目科技有限公司 | 一种人民币冠字号识别方法 |
Non-Patent Citations (1)
Title |
---|
冯博远 等: ""人民币冠字号码识别预处理算法研究"", 《计算机工程与科学》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392260B (zh) * | 2017-06-08 | 2020-03-17 | 中国民生银行股份有限公司 | 一种字符识别结果的错误标定方法和装置 |
CN107392260A (zh) * | 2017-06-08 | 2017-11-24 | 中国民生银行股份有限公司 | 一种字符识别结果的错误标定方法和装置 |
CN108091033A (zh) * | 2017-12-26 | 2018-05-29 | 深圳怡化电脑股份有限公司 | 一种纸币的识别方法、装置、终端设备和存储介质 |
CN108875746B (zh) * | 2018-05-17 | 2023-02-17 | 北京旷视科技有限公司 | 一种车牌识别方法、装置、***及存储介质 |
CN108875746A (zh) * | 2018-05-17 | 2018-11-23 | 北京旷视科技有限公司 | 一种车牌识别方法、装置、***及存储介质 |
CN108830862B (zh) * | 2018-06-08 | 2021-11-30 | 江南大学 | 基于图像分割的螃蟹朝向识别方法 |
CN108830862A (zh) * | 2018-06-08 | 2018-11-16 | 江南大学 | 基于图像分割的螃蟹朝向识别方法 |
CN110348361A (zh) * | 2019-07-04 | 2019-10-18 | 杭州景联文科技有限公司 | 皮肤纹理图像验证方法、电子设备及记录介质 |
CN110348361B (zh) * | 2019-07-04 | 2022-05-03 | 杭州景联文科技有限公司 | 皮肤纹理图像验证方法、电子设备及记录介质 |
CN110634222A (zh) * | 2019-08-27 | 2019-12-31 | 河海大学 | 一种银行票据信息识别方法 |
CN110634222B (zh) * | 2019-08-27 | 2021-07-09 | 河海大学 | 一种银行票据信息识别方法 |
CN110610575A (zh) * | 2019-09-20 | 2019-12-24 | 北京百度网讯科技有限公司 | 硬币识别方法及装置、收银机 |
US11354887B2 (en) | 2019-09-20 | 2022-06-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Coin identification method, device, and cash register |
CN116486418A (zh) * | 2023-06-19 | 2023-07-25 | 恒银金融科技股份有限公司 | 钞票冠字号图像的生成方法和装置 |
CN116486418B (zh) * | 2023-06-19 | 2023-10-03 | 恒银金融科技股份有限公司 | 钞票冠字号图像的生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107195069A (zh) | 一种人民币冠字号自动识别方法 | |
CN110598699B (zh) | 一种基于多光谱图像的防伪票据鉴伪***和方法 | |
CN107491730A (zh) | 一种基于图像处理的化验单识别方法 | |
Saxena | Niblack’s binarization method and its modifications to real-time applications: a review | |
CN104463195B (zh) | 基于模板匹配的印刷体数字识别方法 | |
US7590275B2 (en) | Method and system for recognizing a candidate character in a captured image | |
Shidore et al. | Number plate recognition for indian vehicles | |
CN108596166A (zh) | 一种基于卷积神经网络分类的集装箱箱号识别方法 | |
CN107944452A (zh) | 一种圆形***文字识别方法 | |
Shen et al. | Improving OCR performance with background image elimination | |
US20080310721A1 (en) | Method And Apparatus For Recognizing Characters In A Document Image | |
CN101599125A (zh) | 复杂背景下图像处理的二值化方法 | |
CN104680130A (zh) | 一种身份证汉字识别方法 | |
Zhang et al. | A combined algorithm for video text extraction | |
Sharan et al. | Detection of counterfeit Indian currency note using image processing | |
CN116071763A (zh) | 基于文字识别的教辅图书智能校编*** | |
CN110689003A (zh) | 低照度成像车牌识别方法、***、计算机设备及存储介质 | |
Sawant et al. | Currency recognition using image processing and minimum distance classifier technique | |
Suresh et al. | Indian currency recognition and verification using image processing | |
Yindumathi et al. | Analysis of image classification for text extraction from bills and invoices | |
CN113537211A (zh) | 一种基于非对称iou的深度学习车牌框定位方法 | |
CN115082776A (zh) | 一种基于图像识别的电能表自动检测***及方法 | |
CN107742357A (zh) | 一种纸币冠字号的识别方法及装置 | |
Hollaus et al. | CNN based binarization of multispectral document images | |
Khan et al. | Car Number Plate Recognition (CNPR) system using multiple template matching |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170922 |
|
RJ01 | Rejection of invention patent application after publication |