CN105046252B - 一种人民币冠字码识别方法 - Google Patents
一种人民币冠字码识别方法 Download PDFInfo
- Publication number
- CN105046252B CN105046252B CN201410677020.2A CN201410677020A CN105046252B CN 105046252 B CN105046252 B CN 105046252B CN 201410677020 A CN201410677020 A CN 201410677020A CN 105046252 B CN105046252 B CN 105046252B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- prefix code
- obtains
- gray level
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种人民币冠字码识别方法,属于模式识别技术领域,可用于多种应用背景下印刷体字符识别。本发明包括:首先获取人民币图像的倾斜角和朝向、版本、角点位置等信息,剔除背面图像;其次在校正归一化人民币图像的同时进行冠字码区域的初定位,三个过程同时完成,节约了时间和空间成本,剔除大量冗余信息;然后使用基于穿越度特征算法对初定位的冠字码进行精确定位,并采用基于滑动窗口评价函数法将字符串分割为单个字符;最后对字符进行无形变处理,归一化大小位置,提取特征进入分类器模型完成识别工作。本发明提供了一种快速、准确率高的人民币冠字码识别方法,大大地提高了冠字码的识别准确率和速度。
Description
技术领域
本发明属于模式识别技术领域,更具体地,涉及一种人民币冠字码识别方法。
背景技术
随着模式识别与人工智能科学技术的发展,用机器代替人类进行更多劳动一步一步变成现实。近年来,字符识别技术(OCR技术)日益成熟,人民币冠字码识别是字符识别技术的一个重要的应用场合。人民币冠字码识别技术已作为下一代ATM机国标中重要的一项指标。
我国OCR技术起步相对较晚,从上世纪70年代才逐渐开始。目前,我国OCR技术不断成熟,特别是汉字识别技术,现已处于世界领先地位。但是目前国内很少有对于特定人民币ATM机采集图像场景下的冠字码识别,人民币的冠字码有其自身的特点,要求的精度相对更高。我国已经将人民币冠字码识别纳入下一代ATM国标中一项重要的指标,ATM行业面临新的技术改革,人民币冠字码识别技术已成为各大ATM厂商占据市场基本必备技术。
人民币冠字码识别系统要求在全程全自动的情况下,自动进行图像的采集、数字图像处理、冠字码的定位分割以及识别。冠字码的定位和精确分割是该系统的主要难点,直接影响到分割后字符的图像效果,从而决定了识别的成败。而且冠字码的识别要求识别率要高达99.9%,几乎不允许识别的错误,目前国内很少有专门针对人民币冠字码方面的研究成果。
发明内容
为解决上述技术问题,本发明提供一种人民币冠字码识别技术,根据人民币冠字码的自身特点,实现对人民币冠字码的准确识别。
本发明提供一种人民币冠字码识别方法,通过对光学通道图像的拒识、朝向检测、倾斜校正、字符定位、字符分割、滤波、字符二值化、字符特征提取和BP神经网络字符识别等步骤完成了冠字码的识别过程。
本发明提供一种人民币冠字码识别方法,包括以下步骤:
(1)获取人民币图像,并将其转化为灰度图像,获取所述灰度图像的倾斜角以及角点位置,根据所述倾斜角以及所述角点位置拒识不符合要求的灰度图像;
(2)对所述灰度图像进行校正,并进行图像大小归一化,切割出感兴趣的特征区域,提取所述特征区域的特征向量,得到所述灰度图像的币值和朝向信息;
(3)使用机械定位法初定位冠字码所在区域,从经所述步骤(2)处理的图像中提取校正后的冠字码图像;
(4)所述冠字码图像经宽线检测二值化后,对其进行冠字码区域高度精确细化,确定精确的冠字码高度,得到精确高度的二值化冠字码;
(5)根据所述步骤(4)获得的所述二值化冠字码,对其进行字符分割,获取每个字符的单个字符图像;
(6)对所述步骤(5)中获取的每个字符进行归一化及无形变处理获得统一字符;
(7)对所述步骤(6)中的每个字符进行粗网格特征提取;
(8)在所述步骤(6)获得所述统一字符后进行学习样本挑选,并对所述学习样本进行所述步骤(7)提取特征作为训练样本,对所述训练样本进行神经网络训练,生成神经网络的权值阈值模型;
(9)使用所述权值阈值模型对所述步骤(7)中的每个字符特征进行识别,完成分类识别并输出。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于针对性强,场景特定,而且本发明的定位分割方法摒弃了原有的投影方法,算法的稳定性很高,鲁棒性好,在实验中能够应对多种噪声和实际情况干扰。本发明能够将人民币冠字码的识别由人工登记转化为机器操作,既节约了经济成本,又避免了登记过程中容易出错,效率低下等问题,实现了高效快捷准确的冠字码编码识别。
附图说明
图1为本发明人民币冠字码识别方法的流程图;
图2为本发明灰度化后的待校正图像;
图3为本发明不同币值和朝向的特征区域示意图;
图4为本发明特征区域分割的结果示意图;
图5为本发明冠字码初定位后图像;
图6为本发明宽线检测示意图;
图7为本发明基于宽线检测的二值化算法的效果图;
图8为本发明基于穿越度特征的字符精确定位后效果图;
图9为本发明冠字码精确定位并二值化后的效果图;
图10为本发明字符分割算法滑动窗口示意图;
图11为本发明自适应滑动窗口评价函数法切分效果图;
图12为本发明自适应滑动窗口评价函数法解决字符断裂和粘连效果图;
图13为本发明字符归一化及无形变处理后的效果图;
图14为本发明三层BP神经网络示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1所示为本发明人民币冠字码识别方法的流程图,包括以下步骤:
步骤1预处理与获取基本信息:获取接触式图像传感器(Contact Image Sensor,CIS)的光学通道人民币图像,利用RGB(图像的红绿蓝三个通道信息)图像将其转化为灰度图像,获取灰度图像的倾斜角以及钞票四个角的角点位置信息,对灰度图像大小、新旧、缺角等指标进行评估,拒识不符合要求的钞票,步骤1具体包括以下子步骤:
(1-1)将人民币图像转化为灰度图像,称为图像I1,图2所示为本发明灰度化后的待校正图像I1,注意该图像I1的背景有黑色的边缘干扰信息,不属于钞票,将钞票图像称为图像I2。在本发明实施例中,采用R、G、B三个通道的值取平均数得到灰度值;
(1-2)从图像I1的宽度(在本发明实施例中为1200像素左右)的三分之一处(距离图像左边缘的三分之一处,图像宽度指的是水平方向)起,从图像I1底边垂直向上扫描,当连续FIT_STHRESH(在本发明实施例中取5)个像素的灰度值大于FIT_VALUE(在本发明实施例中取50)时,标记该点作为人民币底部边缘取样点,停止扫描;取样位置回到底边并向右移动FIT_STEP_X(在本发明实施例中取10)个像素,继续向上扫描。如此依次获得FITTING__NUM(在本发明实施例中取70)个取样点,即得到底部边缘从左到右的70个取样点,横坐标存入EdgeX[FITTING__NUM]、纵坐标存入EdgeY[FITTING__NUM]中;
(1-3)利用最小二乘法,针对步骤(1-3)得到的所有取样点,进行直线拟合,获 取图像I1底边边缘的近似直线的斜率k,该斜率k的计算公式为:
(1-4)根据斜率k计算得到图像I1底边的倾斜角度θdown=arctan(k),同理,从图像高的三分之一处开始进行水平扫描,应用步骤(1-2)的方法记录左侧边缘的取样点(在本发明实施例中每隔3个像素采集,一共采集70个),根据公式(1)计算得到图像I1左侧边的斜率kleft,倾斜角度θleft(θleft=arctan(kleft))(该步骤和获取θdown的方法相同,θdown是获得底边缘近似点,θleft是获取左边缘近似点)。在本发明实施例中,底边的倾斜角度θdown超过15°则拒识图像,左侧边的倾斜角度θleft超过10°则拒识图像;
(1-5)以左下角为例,设定扫描直线x+y=d(w≥x≥0,h≥y≥0,d≥0),初始d=0;
(1-6)沿直线法线方向扫描直线上每个像素点(x,y),当连续FIT_STHRESH个像素的灰度值大于FIT_VALUE时,则该点即为人民币的角点;
(1-7)如果该扫描直线上所有像素点均不是角点,重新设定d=d+1,获得新的扫描直线,重复步骤(1-6)继续扫描;
(1-8)扫描到角点,角点检测结束,停止扫描,重复步骤(1-5)~(1-7)依次检测到图像I1的四个角点,左下角记为(xLB,yLB),右下角记为(xRB,yRB),左上角记为(xLT,yLT),右上角记为(xRT,yRT)。在本发明实施例中,左上角设定扫描直线为y-x-h=d(w≥x≥0,h≥y≥0,d≥0),右上角设定扫描直线为w+h-(x+y)=d(w≥x≥0,h≥y≥0,d≥0),右下角设定扫描直线为w-x+y=d(w≥x≥0,h≥y≥0,d≥0),其中,w为图像I1的宽度;h为图像I1的高度;
(1-10)用步骤(1-9)得到的两对向量的模代替钞票图像面积的估计,计算的办 法为取两对向量的模的和,初步判断出币值,在本发明实施例中,100元钞票取得的值属于区间[3250,3400],50元钞票则为[2850,3200]。
步骤2确定币值朝向:对钞票灰度图像进行校正,并进行图像大小归一化;切割出感兴趣的特征区域,进行降噪处理;将特征区域划分成多个小区域,采用局部二值模式(Local Binary Pattern,以下简称LBP)算法进行特征提取得到LBP直方图结果,将所有的小区域的结果按从左到右、从上到下的顺序,连接成高维的特征向量;与预先存储好的不同币值朝向的图像的特征向量进行模板匹配,得到钞票的币值和朝向信息,步骤2具体包括以下子步骤:
(2-1)确定一个标准的钞票尺寸(记为图像I3,该图像I3是处理过程中的中间变量,本发明中由于只涉及到对钞票图像中某些特定区域的处理,很多步骤中并不需要对整个钞票操作,所以这是一个虚拟的图像,仅仅为了方便说明问题,这也是本发明在实际项目操作中为追求减少空间时间资源所做的处理),在本发明实施例中,标准钞票尺寸的宽、高(统一归一化为这个尺寸,因为此时并不知道钞票的具体面值,而是通过将图像的特征区域进行特征提取并分类,才能得到钞票的面值)分别取定为STAD_WIDTH=1165、STAD_HEIGHT=600,根据步骤(1-9)中检测到的四个角点,得到钞票即图像I2的中心点(centX,centY),并根据步骤(1-5)中的倾斜角计算校正后人民币图像的宽rotWd,高rotHt。
钞票中心(centX,centY)计算公式如下:
centX=(xLT+xLB+xRT+xRB)/4
centY=(yLT+yLB+yRT+yRB)/4
其中,xLT、xLB、xRT、xRB、yLT、yLB、yRT、yRB分别(1-9)中得到的四个角点的对应坐标。
以钞票中心(centX,centY)为旋转中心,将四个角点顺时针旋转θdown,使用下列公式计算得到钞票校正后四个角点的新坐标左下角记为(xLBN,yLBN)、右下角记为(xRBN,yRBN)、左上角记为(xLTN,yLTN)、右上角记为(xRTN,yRTN):
左下角:
左上角:
右上角:
右下角:
其中,表示向下取整。
校正后钞票的宽高rotWd和rotHt计算公式如下:
rotWd=0.5×(xRBN+xRTN)-0.5×(xLBN+xLTN)
rotHt=0.5×(yLTN+yRTN)-0.5×(yLBN+yRBN)
根据宽高rotWd和rotHt和标准尺寸的宽高,即STAD_HEIGHT和STAD_WIDE,利用下列公式计算得到旋转后图像和标准尺寸的宽度以及高度的比值:
wRat=rotWd/STAD_WIDTH
hRat=rotHt/STAD_HEIGHT
图3所示为本发明不同币值和朝向的特征区域示意图(记特征区域图像为I4),在本发明实施例中,具体位置参数如下:
上边缘为:saTop=STAD_HEIGHT×0.974
下边缘为:saBottom=STAD_HEIGHT×0.184
左边缘为:saLeft=STAD_WIDTH×0.258
右边缘为:saRight=STAD_WIDTH×0.743
若(x,y)∈I4,sizedY、sizedX分别表示特征区域图像I4中坐标点(x,y)在图像I1旋转θdown角度后的图像中的对应位置;
sizedY=(y+saBottom)×hRat-rotHt/2)
sizedX=(x+saLeft)×wRat-rotWd/2+sizedY×tan(θleft)
则有(x0,y0)和(x,y)的过渡关系为:
fx(x)=cos(θdown)×sizedX-sin(θdown)×sizedY+centX
fy(y)=sin(θdown)×sizedX+cos(θdown)×sizedY+centY
其中,centX、centY分别为钞票即图像I2的中心的坐标;θleft为灰度图像I1左侧边的倾斜角度,θdown为灰度图像I1底边的倾斜角度;
(2-2)采用高斯滤波对步骤(2-1)得到的特征区域进行降噪处理;
(2-3)图4所示为本发明特征区域分割的结果示意图,将上述特征区域划分为n×n块大小相同的区域,n可以根据算法允许空间和时间进行相应的调整,本发明实施例在项目实践过程中取n=4比较合适,既满足特征对细节有足够的描述,又不至于导致特征向量维数太高而使计算量太大。划分好的16个小格子,作为初始分割图像;统计获得的初始分割图像中每个区域内的LBP(局部二值模式)直方图,LBP是一种在灰度范围内有效的用来描述图像纹理特征的算子,可以归类到统计分析方法中。在本发明实施例中,原始LBP算子定义在3×3(即处理像素点的八邻域)窗口中,以窗口中心像素为阈值,将相邻的8个像素的灰度值分别与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0,并将得到的8位二进制数转化为十进制数,得到该窗口内中心像素点的LBP值(在0~255)。计算得到初始分割图像内的每一像素点的LBP值后,对划分好的每个小格子统计得到相应的LBP直方图(直方图的获得,是图像处理中的基本方法,简单快速,此处并非统计灰度直方图,而是统计LBP值的直方图,即某一个LBP值出现的次数),来表示该区域的纹理分布特征;
(2-4)合并所有的16个小格子的LBP直方图,按从左到右、从上到下的顺序,组成为一个高维的特征向量,这个特征向量用于识别币值和朝向;
(2-5)使用标准的钞票作为模板,输入不同币值不同朝向的钞票图像的特征向量;
(2-6)根据得到的待识别钞票灰度图像的特征向量,和模板中的各特征向量进行模板匹配,得到匹配结果最高的币值和朝向结果,并和上述步骤(1-11)预估的币值进行比较,如果结果符合则执行步骤(2-7),否则在此处进行拒识处理;
(2-7)根据步骤(2-6)中得到的结果,对不符合要求的图像,例如背面图像进行拒识处理。
步骤3校正与初定位:使用机械定位法初定位感兴趣区域(即冠字码所在区域),配合步骤(2)中的钞票位置倾斜信息,直接从钞票图像中提取校正后冠字码图像如图5所示为冠字码图像(记为图像I5),步骤3具体包括以下子步骤:
(3-1)在标准钞票图像I3中使用固定位置即可找到冠字码区域,得到图像I5,在本发明实施例中,分别表示冠字码区域在标准钞票中的上下位置和左右位置的具体参数为:
上边缘:ROI_TOP=STAD_HEIGHT/3
下边缘:ROI_BTM=STAD_HEIGHT×0.15
左边缘:ROI_LFT=0
右边缘:ROI_RGT=STAD_WIDTH×0.25
(3-2)若点(x,y)∈I5,其在图像I1中对应点坐标为(x0,y0),则可以得到他们的过渡关系x0=fx(x),y0=fy(y);
由于BMP图像在Windows系统中的存储以左下角为图像原点,为提高校正的精度,选择以图像的中心为不动点进行旋转,所以在过渡关系中需要进行不动点转换:
sizedX=(x+ROI_LFT)×wRat-rotWd/2+sizedY×tan(θleft)
sizedY=(y+ROI_BTM)×hRat-rotHt/2)
则有(x0,y0)和(x,y)的过渡关系为:
fx(x)=cos(θdown)×sizedX-sin(θdown)×sizedY+centX
fy(y)=sin(θdown)×sizedX+cos(θdown)×sizedY+centY
其中,sizedX、sizedY分别表示图像I5中坐标点(x,y)在图像I1旋转θdown角度后的图像中的对应位置;centX、centY分别为图像I2的中心的坐标;θleft为灰度图像I1左侧边的倾斜角度,θdown为灰度图像I1底边的倾斜角度;
(3-3)由于在步骤(3-2)中得到的对应点(x0,y0)的坐标并不一定是正整数,即冠字码区域中的像素点并不一定对应在原图在像素点上,所以采用双线性插值方法得到点(x,y)∈I5的灰度值,从而得到清晰的的冠字码图像。图5所示为本发明冠字码初定位后图像,其中(a)为插值图像以及其定位二值化后放大后效果,(b)为未插值图像以及其定位二值化后放大后效果,由此可以清晰的看出插值图像比未插值图像更为平滑。对于钞票倒立的情况同理,不再赘述。
步骤4冠字码精确定位:冠字码图像经宽线检测二值化后,采用基于穿越度特征的方法进行区域高度精确细化,确定精确的冠字码高度,得到精确高度的二值化冠字码。由于需要处理字符,所以使用宽线检测二值化方法非常必要,直接关系到识别效果,这是在多次实际项目实验后选择的最合适的二值化方法。步骤4具体包括以下子步骤:
(4-1)对步骤(3)得到的冠字码图像使用宽线检测方法进行二值化。不难发现,冠字码的笔画呈现出线条形状,所以可以利用线条的宽线信息进行二值化处理。图6所示为本发明宽线检测示意图,圆形模板的半径大于线条的宽度,通过该宽线模板遍历整幅图像的每个像素,继而检测出图像中的各个线条,从而构成相应字符,下面简单介绍。
首先,对于待二值化图像I,定义给定像素的模板贡献值,如下公式2所示:
其中,(x0c,y0c)为模板的中心点;(x,y)为以(x0c,y0c)为中心的模板内的点;I(x0c,y0c)为(x0c,y0c)灰度值;I(x,y)为(x,y)的灰度值;t为阈值,通常采用如下公式获得:
t=round(std(I))
其中,std(I)指图像I的标准差,阈值t选择应接近标准差,在本发明实施例中,设置灰度对比阈值t比该标准差std(I)稍小1或2。
通过像素的模板贡献值,可以定义带权模板亮度相似度(Weighted Mask havingSimilar Brightness,以下简称WMSB),如下公式所示:
如图6所示,不同像素点的WMSB的值不同,具体如下:
(1)像素点位于图6中a处时,WMSB值达到最大;
(2)像素点位于图6中a处向下移动至b处时,WMSB值逐渐减少;
(3)像素点位于图6中b处向下移动至c、d处时,WMSB值保持基本不变;
不难发现,某一点(x,y)的WMSB值越小,则该点在图像线条上的可能性越大,称之为特征响应越大,直线上像素点的WMSB值比任何线外(背景)像素点的WMSB值要小。
为了更好地提取图形的线条特征,可以定义圆形模板权值核函数,来刻画图像的各向同性。在本发明实施例中,圆形模板权值核函数可以采用如下方式:
其一,常系数权值的模板形式:
采用下述公式对上述权值进行归一化:
定义模板内每个点的输出值,如下公式所示:
c(x,y,x0,y0)=ω0(x,y,x0,y0,r)×s(x,y,x0,y0,t)
于是,通过以下公式计算中心点的WMSB值:
定义中心点的线响应函数,如下公式所示:
其中,g=mmax/2,mmax=πr2。
图7所示为本发明基于宽线检测的二值化算法的效果图。图中(a)、(b)、(c)图像分别为不同的钞票的冠字码图像的二值化效果。不难看出,使用该算法进行处理后,不仅有效地抑制了图像模糊、光照不均匀对字符的影响,而且获得的字符宽度较为一致,为后续的字符集的训练和识别进一步创造了良好的条件;
(4-2)使用基于穿越度特征的算法进行冠字码精确定位。通常的采用行定位和列定位的方法最大的问题是阈值的选择问题。阈值的选择是强图像相关的,不具有通用性,尤其对于污染的图像更是如此;其次,初步定位后的图像存在币值区域,会极大地影响下边界的定位,实践中也是如此。本发明提出了一种基于穿越度特征的精确定位,该方法可以动态获得最佳阈值,也很好地克服了币值区域对下边界提取的影响。
首先,定义行穿越度di,如下公式所示:
其中,I(i,j)表示二值图像或者灰度图像的灰度值;L是图像宽度。
冠字区域初步定位后,获得的图像已经是标准化图像,所以冠字码的高度是一定的。冠字区域一个特点就是中间区域的字符较高,两边偏低,不难理解,字符的最大高度即为冠字区域的高度。通过统计可取得冠字区域的高度,在本发明实施例中,冠字区域的高度hc=30。
定义区域穿越度ai,如下公式所示:
其中,dj表示第j行的穿越度;ai表示下界为第i行高为hc的区域穿越度。
下式揭示了ai+1和ai的关系:
利用区域穿越度这个概念,可以使用如下的在线算法实现冠字区域的精确定位:
(1)从下至上对图像进行行扫描。计算出a1,标记amax=a1,max=1。
(2)继续扫描,计算aj。如果aj>amax,更新amax=aj,max=j。
(3)反复执行以上操作,直至扫描结束。max即为冠字区域的下边界,max+hc为冠字区域的上边界。
图8所示为本发明基于穿越度特征的字符精确定位后效果图,其中(a)为初定位的图像,而(b)为精确定位后冠字码图像;
(4-3)图9所示为本发明冠字码精确定位并二值化后的效果图,记为图像I6。根据实际实验经验,当使用固定的标准钞票大小的宽高分别为STAD_HEIGHT=1165、STAD_WIDE=600时,字符的高度稳定在30个像素左右,所以将冠字码图像中连续的30行穿越度相加,则得到一个行数为30的子区域的穿越度,穿越度最大的子区域即为需要精确定位的字符区域,从而截取相应的精确区域,即是精确定位并二值化后冠字码序列的图像。
步骤5字符分割:
(5-1)根据步骤(4-3)获得的结果,采用基于滑动窗口评价函数的方法进行字符分割,获取十个字符的单个字符图像,由于现有由于投影算法的分隔效果不稳定,容易受到噪声、字符粘连、缺损等因素的影响,本发明提出了一种自适应滑动窗口评价函数法,该算法充分利用了冠字码串具有“字符宽度+字符间距基本固定”、不同图像的字符串之间的相对位置基本相同的整体特点。该算法具体描述如下:
(1)统计经步骤(4-3)宽线检测后二值图像I6中每列像素中的黑色像素数量,保存在vproj数组中;
(2)图10所示为本发明字符分割算法滑动窗口示意图。设定字符高度h、字符宽度w和字符间距d,其中w+d=定值。设置10个连续的高为h、宽度为w的字符窗口,中间均间隔9个高为h、宽度为d的间隔窗口,称为滑动窗口。在本发明实施例中,移 动窗口的初始放置在冠字图像的0处。使用下述公式计算滑动窗口的当前评价值H:
其中,pi为第i个字符窗口内黑像素数;qi为第i个间隔窗口内白像素数;
(3)将滑动窗口在冠字图像上从左至右移动,计算滑动窗口的评价值。记录滑动窗口的评价值达到最大值时的位置,作为最佳分割位置。
(5-2)图11所示为本发明自适应滑动窗口评价函数法切分效果图。此时由于选取的字符框的宽度基本刚刚达到字符宽度,并不能直接切分字符,而冠字码中第4、5、6个字符比两侧的字符平均要宽1~3个像素点(在大量的项目实践中,通过统计得到的规律)。根据上述自适应滑动窗口评价函数法得到的最佳分割位置可以得到字符的中轴线,从中轴线分别向左右方向搜索,在本发明实施例中,因为字符的宽度在23左右,所以最大搜索距离设定为15,当连续三列没有黑色像素时认定为字符边缘,停止搜索,得到单个字符图像。
图12所示为本发明自适应滑动窗口法解决字符断裂和粘连效果图。为了显示本算法良好的切分效果,故意将冠字图像进行改造,使其出现大量的字符笔画断裂和字符粘连的问题。由图可见,针对部分字符破裂和粘连的情况,本发明所提出的自适应滑动窗口评价函数法能够进行有效切割。
自适应滑动窗口评价函数法的优点主要为:
(1)一次性将字符切分出来,效率高;
(2)无需如投影法那样纠结于最优阈值的选择,直接利用最大评价值获得窗口的最优位置;
(3)稳定性极强,可以解决字符断裂和字符粘连的问题,充分满足工程要求。
步骤6归一化和无形变处理:由于在步骤(5)中得到的单个字符图像的宽度并非相同的,所以需要进行归一化及无形变处理,步骤6具体包括以下子步骤:
(6-1)获得字符包围盒,即为字符的最小包围矩形,左右(上下)进行竖直(水平)投影,统计列(行)的黑色像素数,当其小于阈值,即认为是不属于字符的背景像素点,将其删除。经过字符包围盒处理后,获得就是完整字符图像I7;
(6-2)为了保证字符图像不发生形变,并不是直接将图像归一化为一定大小的图像,在本发明实施例中,取字符22×30的尺寸。设目标图像I8(指归一化及无形变处理后字符图像)g(x′,y′)的长w1,高h1;原图像I7(即步骤(6-1)中得到的字符图像)f(x,y)的长w2,高h2。在本发明实施例中,固定h1=30,则w1的值通过如下公式计算得出:
再采用以下公式进行转换,得到目标图像I8中的像素点和原图像I7中像素点的位置对应关系:
(6-3)图13所示为本发明字符归一化及无形变处理后的效果图。目标图像I8中的像素点(x',y')对应到原图像I7中像素点(x,y),(x',y')为整数像素点,则(x,y)一般情况下不是整数像素点,若用I(x,y)表示(x,y)点的像素值,I(x',y')表示(x',y')的像素值,则需要对I(x',y')的值进行双线性插值,得到图像g(x′,y′)也即I8(此时图像I8的高度为h1=30,而宽度是根据(6-2)公式计算得到),对I8进行水平平移,将图像g(x′,y′)平移至22×30的图像的正中央,即为无形变图像。
步骤7特征提取:对步骤6中的字符进行粗网格特征提取,由于经上述步骤6得到的字符效果较好,所以选择灵敏度较高、但是鲁棒性相对较差的网格特征进行提取。所谓网格特征,即将字符图像分割成一系列的网格,统计每个网格中的黑像素占该网格的比例。在本发明实施例中,将字符窗口分为11×15=165个大小为2×2的窗口,所以网格特征共有165维。
步骤8生成分类模型:将采集的图像分为样本钞票库和待识别钞票库两部分,对样本钞票库中的图像在经过上述步骤1-6获得统一字符后进行学习样本挑选,并进行步骤7提取特征作为训练样本,将训练样本输入神经网络模型进行学习训练,生成神经网络的权值阈值模型,在本发明实施例中,BP神经网络的学习因子为0.1,批训练允许误差为0.01,具体包括以下子步骤:
(8-1)在单个字符中挑选样本,在本发明实施例中,每个字符挑选20个样本,则 26个字母的样本组成字母训练样本,10个数字的样本组成数字训练样本,26个字母加10个数字共720个训练样本;
(8-2)将上述两个样本集进行BP神经网络训练,分别得到两个神经网络权值阈值模型M1和M2,其中M1为字母识别模型,在本发明实施例中,具体参数设定为输入层165、隐含层50、输出层36;M2为数字识别模型,在本发明实施例中,具体参数设定为输入层165、隐含层25、输出层10。
图14所示为本发明三层BP神经网络示意图。BP神经网络是一种前馈型神经网络,在本发明实施例中,采用三层BP神经网络,其由输入层、输出层和隐含层三层组成。
不难得出,每个隐含层单元yk的输出值为:
每个输出层单元om的输出值为:
其中,本发明采用的激励函数f(·)为Sigmod函数。
步骤9字符识别:对于待识别钞票库中的图像进行上述步骤1-7后获得10个字符的特征,依次使用步骤8中得到的BP神经网络模型对获得的10个字符特征进行识别处理,对前四个字符使用M1模型进行识别,对后面六个字符使用M2模型进行识别,得到冠字码所有字符的识别结果,完成分类识别工作并输出。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种人民币冠字码识别方法,其特征在于,包括以下步骤:
(1)获取人民币图像,并将其转化为灰度图像,获取所述灰度图像的倾斜角以及角点位置,根据所述倾斜角以及所述角点位置拒识不符合要求的灰度图像;
(2)对所述灰度图像进行校正,并进行图像大小归一化,切割出感兴趣的特征区域,提取所述特征区域的特征向量,得到所述灰度图像的币值和朝向信息;
(3)使用机械定位法初定位冠字码所在区域,从经所述步骤(2)处理的图像中提取校正后的冠字码图像;
(4)所述冠字码图像经宽线检测二值化后,对其进行冠字码区域高度精确细化,确定精确的冠字码高度,得到精确高度的二值化冠字码;
(5)根据所述步骤(4)获得的所述二值化冠字码,对其进行字符分割,获取每个字符的单个字符图像;
(6)对所述步骤(5)中获取的每个字符进行归一化及无形变处理获得统一字符;
(7)对所述步骤(6)中的每个字符进行粗网格特征提取;
(8)在所述步骤(6)获得所述统一字符后进行学习样本挑选,并对所述学习样本进行所述步骤(7)提取特征作为训练样本,对所述训练样本进行神经网络训练,生成神经网络的权值阈值模型;
(9)使用所述权值阈值模型对所述步骤(7)中的每个字符特征进行识别,完成分类识别并输出。
2.如权利要求1所述的方法,其特征在于,所述步骤(1)具体包括以下子步骤:
(1-1)将人民币图像转化为灰度图像;
(1-2)从所述灰度图像底边垂直向上扫描,当连续FIT_STHRESH个像素的灰度值大于预先设定的阈值FIT_VALUE时,标记此像素点作为所述灰度图像底部边缘取样点,取样位置回到底边并向右移动FIT_STEP_X个像素,继续向上扫描,如此依次获得FITTING__NUM个取样点,其中,参数FIT_STHRESH、FIT_STEP_X和FITTING__NUM为预先设定的值;
(1-3)利用最小二乘法,针对获得的所述FITTING__NUM个取样点,进行直线拟合,获取所述灰度图像底部边缘的近似直线的斜率k,所述斜率k的计算公式为:
其中,EdgeX[i]、EdgeY[i]分别为所述灰度图像底部边缘取样点的横、纵坐标,n=FITTING__NUM;
(1-4)根据所述斜率k计算得到所述灰度图像底边的倾斜角度θdown=arctan(k),同理得到左侧边的倾斜角度θleft,其中,所述倾斜角度θdown超过预先设定的度数则拒识图像,所述倾斜角度θleft超过预先设定的度数则拒识图像;
(1-5)设定左下角扫描直线x+y=d,w≥x≥0,h≥y≥0,d≥0,初始d=0,其中,w为所述灰度图像的宽度;h为所述灰度图像的高度;
(1-6)沿直线法线方向扫描所述扫描直线上每个像素点,当连续FIT_STHRESH个像素的灰度值大于FIT_VALUE,则此像素点即为所述角点,角点检测结束,停止扫描;
(1-7)如果所述扫描直线上所有像素点均不是角点,则重新设定d=d+1,获得新的扫描直线,重复所述步骤(1-6)继续扫描;
(1-8)重复所述步骤(1-5)~(1-7)依次检测到所述灰度图像的四个角点,其中左上角设定扫描直线为y-x-h=d,w≥x≥0,h≥y≥0,d≥0,右上角设定扫描直线为w+h-(x+y)=d,w≥x≥0,h≥y≥0,d≥0,右下角设定扫描直线为w+h-(x+y)=d,w≥x≥0,h≥y≥0,d≥0;
(1-9)根据所述四个角点得到所述灰度图像的左右两端的一对向量和上下两边的一对向量,判断这两对向量的倾斜角是否相差不超过预先设定的度数,是则执行步骤(1-10),否则进行拒识;
(1-10)对所述步骤(1-9)获得的两对向量的模求和,初步判断出币值。
3.如权利要求2所述的方法,其特征在于,所述步骤(2)具体包括以下子步骤:
(2-1)确定一个标准的钞票尺寸宽高分别为STAD_WIDTH和STAD_HEIGHT,根据得到的钞票原图的大小和倾斜形变信息和标准钞票信息,得到标准钞票到所述钞票原图的过渡关系f,根据所述过渡关系f确定所述特征区域为:
上边缘为:saTop=STAD_HEIGHT×0.974
下边缘为:saBottom=STAD_HEIGHT×0.184
左边缘为:saLeft=STAD_WIDTH×0.258
右边缘为:saRight=STAD_WIDTH×0.743
(2-2)采用高斯滤波对所述特征区域进行降噪处理;
(2-3)将所述特征区域分为n×n的小格子作为初始分割图像,统计所示初始分割图像中每个小格子内的局部二值模式直方图,其中n为正整数;
(2-4)合并所有的n×n个小格子的所述局部二值模式直方图,按从左到右、从上到下的顺序,组成为一个高维的特征向量;
(2-5)使用标准的钞票作为模板,输入不同币值不同朝向的钞票图像的特征向量;
(2-6)根据得到的所述灰度图像的特征向量,和所述模板中的特征向量进行模板匹配,得到匹配结果最高的币值和朝向结果,并和所述步骤(1-11)预估的币值进行比较,如果结果符合则执行步骤(2-7),否则进行拒识处理;
(2-7)根据所述步骤(2-6)中得到的所述币值和朝向结果,对不符合要求图像进行拒识处理。
4.如权利要求3所述的方法,其特征在于,所述步骤(4)具体包括以下子步骤:
(4-1)对所述冠字码图像进行二值化处理;
(4-2)使用基于穿越度特征的算法进行冠字码精确定位,包括以下子步骤:
(4-2-1)定义行穿越度
其中,I(i,j)表示所述灰度图像的灰度值;L表示所述灰度图像的宽度;
(4-2-2)定义区域穿越度
其中,dj表示第j行的穿越度;ai表示下界为第i行高为hc的区域穿越度;hc表示冠字区域的高度;
(4-2-3)从下至上对图像进行行扫描,计算出a1,标记amax=a1,max=1,其中
(4-2-4)继续扫描,计算aj,如果aj>amax,更新amax=aj,max=j;
(4-2-5)反复执行步骤(4-2-3)和(4-2-4),直至扫描结束,max即为冠字区域的下边界,max+hc为冠字区域的上边界;
(4-3)将所述冠字码图像中连续的多行穿越度相加,则得到一个子区域的穿越度,穿越度最大的子区域即为需要精确定位的字符区域,得到精确高度的所述二值化冠字码。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述步骤(5)具体包括以下子步骤:
(5-1)根据所述步骤(4)获得的所述二值化冠字码,采用基于滑动窗口评价函数的方法进行字符分割,包括以下子步骤:
(5-1-1)统计经所述步骤(4)处理后的二值图像中每列像素中的黑色像素数量,保存在数组中;
(5-1-2)设定字符高度h、字符宽度w和字符间距d,其中w+d=定值,设置10个连续的高为h、宽度为w的字符窗口,中间均间隔9个高为h、宽度为d的间隔窗口,称为滑动窗口,使用下述公式计算滑动窗口的当前评价值H:
其中,pi为第i个字符窗口内黑像素数;qi为第i个间隔窗口内白像素数;
(5-1-3)将所述滑动窗口在所述冠字码图像上从左至右移动,计算滑动窗口的评价值,记录所述滑动窗口的所述评价值达到最大值时的位置,作为最佳分割位置;
(5-2)根据所述最佳分割位置得到字符的中轴线,从所述中轴线分别向左右方向搜索,当连续多列没有黑色像素时认定为字符边缘,停止搜索,得到单个字符图像。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述步骤(6)具体包括以下子步骤:
(6-1)获得所述字符的最小包围矩形,左右进行竖直投影,上下进行水平投影,统计列或行的黑色像素数,获得完整字符图像,当其小于阈值,将其删除;
(6-2)设目标图像g(x′,y′)的长w1、高h1,所述完整字符图像f(x,y)的长w2、高h2,固定h1,则w1的值通过如下公式计算得出:
再采用以下公式进行转换,得到所述目标图像中的像素点和所述完整字符图像中像素点的位置对应关系:
(6-3)对所述目标图像中的像素点的像素值进行双线性插值,将所述双线性插值后的图像g(x′,y′)进行水平平移,将所述图像g(x′,y′)平移至正中央,即为无形变图像。
7.如权利要求1-4中任一项所述的方法,其特征在于,所述步骤(8)具体包括以下子步骤:
(8-1)在所述步骤(6)获得所述统一字符后进行学习样本挑选,26个字母的样本组成字母训练样本,10个数字的样本组成数字训练样本;
(8-2)将上述两个样本集进行BP神经网络训练,分别得到两个神经网络权值阈值模型,字母识别模型和数字识别模型。
8.如权利要求7所述的方法,其特征在于,所述步骤(9)具体包括:依次使用所述步骤(8)中得到的两个神经网络权值阈值模型对获得的字符特征进行识别处理,对前四个字符使用所述字母识别模型进行识别,对后面六个字符使用所述数字识别模型进行识别,得到所述冠字码所有字符的识别结果并输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410677020.2A CN105046252B (zh) | 2014-11-21 | 2014-11-21 | 一种人民币冠字码识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410677020.2A CN105046252B (zh) | 2014-11-21 | 2014-11-21 | 一种人民币冠字码识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105046252A CN105046252A (zh) | 2015-11-11 |
CN105046252B true CN105046252B (zh) | 2018-09-07 |
Family
ID=54452781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410677020.2A Expired - Fee Related CN105046252B (zh) | 2014-11-21 | 2014-11-21 | 一种人民币冠字码识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105046252B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989659B (zh) * | 2016-04-15 | 2019-03-22 | 新达通科技股份有限公司 | 一种相似字符识别方法及纸币冠字码识别方法 |
CN106204894A (zh) * | 2016-06-27 | 2016-12-07 | 深圳怡化电脑股份有限公司 | 一种介质分类方法及装置 |
CN106203417A (zh) * | 2016-07-12 | 2016-12-07 | 北京科技大学 | 一种粘连字符可分割的人民币冠字号识别方法 |
CN108154596B (zh) * | 2016-12-04 | 2020-11-10 | 湖南丰汇银佳科技股份有限公司 | 一种基于图像匹配的双冠号纸币鉴伪方法 |
CN106683257A (zh) * | 2016-12-30 | 2017-05-17 | 深圳怡化电脑股份有限公司 | 冠字号定位方法及装置 |
CN108734845B (zh) * | 2017-04-20 | 2021-01-01 | 深圳怡化电脑股份有限公司 | 检测纸币冠字号的方法及装置 |
CN107437294B (zh) * | 2017-08-01 | 2020-05-01 | 深圳怡化电脑股份有限公司 | 一种字符分割方法、装置、设备及存储介质 |
CN110135426B (zh) * | 2018-02-09 | 2021-04-30 | 北京世纪好未来教育科技有限公司 | 样本标注方法及计算机存储介质 |
CN108734167B (zh) * | 2018-05-08 | 2022-05-17 | 湖南开启时代电子信息技术有限公司 | 一种被污染的胶片文字识别方法 |
CN108805131B (zh) * | 2018-05-22 | 2021-08-10 | 北京旷视科技有限公司 | 文本行检测方法、装置及系统 |
CN108986038A (zh) * | 2018-06-01 | 2018-12-11 | 浙江大学 | 一种基于改进Hough变换的轮毂轮廓检测方法 |
CN110718137B (zh) * | 2018-07-13 | 2022-05-10 | 广州极飞科技股份有限公司 | 目标物密度分布地图的构建方法及装置、终端、移动装置 |
CN109447070B (zh) * | 2018-10-31 | 2020-08-28 | 新华三信息安全技术有限公司 | 一种信息确定方法及装置 |
CN111435559A (zh) * | 2019-01-10 | 2020-07-21 | 深圳怡化电脑股份有限公司 | 金融终端、纸币水印图像的检测方法及存储器 |
CN109871938B (zh) * | 2019-01-21 | 2023-04-25 | 重庆大学 | 一种基于卷积神经网络的零部件喷码检测方法 |
CN110738602B (zh) * | 2019-09-12 | 2021-01-01 | 北京三快在线科技有限公司 | 图像处理方法、装置、电子设备及可读存储介质 |
CN111401142A (zh) * | 2020-02-25 | 2020-07-10 | 杭州测质成科技有限公司 | 基于深度学习的航空发动机叶片金属表面蚀刻字符识别方法 |
CN115169335B (zh) * | 2022-09-07 | 2023-01-13 | 深圳高灯计算机科技有限公司 | 发票数据校准方法、装置、计算机设备和存储介质 |
CN116862910B (zh) * | 2023-09-04 | 2023-11-21 | 山东经典印务有限责任公司 | 基于自动化裁切生产的视觉检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750773A (zh) * | 2012-06-15 | 2012-10-24 | 杭州九聚科技有限公司 | 纸币冠字号图像区域的定位方法 |
CN103679918A (zh) * | 2014-01-06 | 2014-03-26 | 成都术有科技有限公司 | 一种基于dsp的高速纸币冠字号码提取及识别方法 |
CN104036271A (zh) * | 2014-06-11 | 2014-09-10 | 新达通科技股份有限公司 | 一种字符和纸币冠字号码的识别方法及装置和atm机 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602004000494T2 (de) * | 2003-01-08 | 2006-09-07 | Glory Ltd. | Vorrichtung und Verfahren zum Lesen der Seriennummern von Banknoten |
US9563811B2 (en) * | 2012-07-31 | 2017-02-07 | Lg Cns Co., Ltd. | Character recognition method, character recognition apparatus and financial apparatus |
-
2014
- 2014-11-21 CN CN201410677020.2A patent/CN105046252B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750773A (zh) * | 2012-06-15 | 2012-10-24 | 杭州九聚科技有限公司 | 纸币冠字号图像区域的定位方法 |
CN103679918A (zh) * | 2014-01-06 | 2014-03-26 | 成都术有科技有限公司 | 一种基于dsp的高速纸币冠字号码提取及识别方法 |
CN104036271A (zh) * | 2014-06-11 | 2014-09-10 | 新达通科技股份有限公司 | 一种字符和纸币冠字号码的识别方法及装置和atm机 |
Non-Patent Citations (1)
Title |
---|
人民币纸币号码识别算法研究;王焱等;《计算机工程与科学》;20130815;第103页-第108页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105046252A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105046252B (zh) | 一种人民币冠字码识别方法 | |
CN109344838B (zh) | 发票信息自动快速识别方法、系统以及装置 | |
CN104794491B (zh) | 基于预分类的模糊聚类钢板表面缺陷检测方法 | |
CN106056751B (zh) | 冠字号码的识别方法及系统 | |
CN107103317A (zh) | 基于图像融合和盲反卷积的模糊车牌图像识别算法 | |
CN103310211B (zh) | 一种基于图像处理的填注标记识别方法 | |
CN102629322B (zh) | 一种基于边界点笔画形状的字符特征提取方法及应用 | |
CN107389701A (zh) | 一种基于图像的pcb表观缺陷自动检测系统及方法 | |
CN106909941A (zh) | 基于机器视觉的多表字符识别系统及方法 | |
CN106934386B (zh) | 一种基于自启发式策略的自然场景文字检测方法及系统 | |
CN106529532A (zh) | 一种基于积分特征通道与灰度投影的车牌识别系统 | |
CN108491788A (zh) | 一种用于财务报表单元格的智能提取方法及装置 | |
CN109543688A (zh) | 一种新型的基于多层卷积神经网络的水表读数检测与识别的方法 | |
CN105574063A (zh) | 基于视觉显著性的图像检索方法 | |
CN103279752B (zh) | 一种基于改进Adaboost算法和人脸几何特征的眼睛定位方法 | |
CN107239792A (zh) | 一种基于二进制描述子的工件识别方法及装置 | |
CN105574531A (zh) | 一种基于交点特征提取的数字识别方法 | |
CN108664939A (zh) | 一种基于hog特征与深度学习的遥感图像飞机识别方法 | |
CN103295013A (zh) | 一种基于成对区域的单幅图像阴影检测方法 | |
CN108509950B (zh) | 基于概率特征加权融合的铁路接触网支柱号牌检测识别法 | |
CN108647706A (zh) | 基于机器视觉的物品识别分类与瑕疵检测方法 | |
CN105335760A (zh) | 一种图像数字字符识别方法 | |
CN110443295A (zh) | 改进的图像匹配与误匹配剔除算法 | |
CN113256580A (zh) | 一种目标菌落特征自动识别方法 | |
CN109726660A (zh) | 一种遥感图像船舶识别方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180907 Termination date: 20191121 |