人民币倾斜校正与面值识别方法的研究

2020-10-29 05:45张明举李声锋
赤峰学院学报·自然科学版 2020年8期
关键词:BP神经网络

张明举 李声锋

摘 要:在获得人民币纸币图像的基础上,本文先对图像预处理,然后提取特征参数,最后进行面值识别.在图像预处理中,比较重要的一个环节就是图像的倾斜校正处理,它的处理效果直接影响到提取的特征参数值的准确性.在面值识别中,用BP神经网络进行面值识别,这种方法具有很强的鲁棒性,能较好地实现人民币面值的识别.

关键词:倾斜校正;Radon变换;BP神经网络;面值识别

中图分类号:TP391.4  文献标识码:A  文章编号:1673-260X(2020)08-0039-04

众所周知,随着现代社会的科学技术进步,为了更好地节约人力成本,人们已在很多无人收费系统中采用了人民币纸币面值识别技术.人民币纸币面值识别是手机营业厅的自动交费机、银行的自动存取款机以及自动售货售票机等设备中一个不可或缺的的功能模块,应用前景广阔.本文就我国人民币纸币自身的参数特征,设计了基于人民币面值特征参数提取以及面值识别技术的人民币面值识别方法,并给出了实验结果.

1 预处理纸币图像

在人民币纸币图像识别时,我们约定获取的纸币图像必须是无失真的和无变形的.但在实际操作时,获取的纸币图像有可能受到外界因素的干扰和影响,常见的影响有以下三个方面:一是采集到的纸币图像上有一些无关面值识别的图像信息(如人为的手写字图像等),二是采集到的纸币图像一般含有噪声,三是常见的采集到的图像会是倾斜的.因此,为了达到正确识别人民币纸币图像,我们首先需要先对采集到的人民币纸币图像进行预处理,具体包括图像读入、去燥、边缘检测、倾斜校正等基本操作,图1为纸币图像预处理流程图.

2 倾斜校正纸币图像

通常,在人民币纸币图像采集中,获得的纸币图像或多或少都会出现某种程度的倾斜.这时要把纸币图像进行校正,否则会影响接下来的图像识别工作.在纸币图像校正时,我们首先定位纸币图像,然后利用图像的定位信息对倾斜图像进行校正.在本文中,研究人民币图像主要是矩形图像,拍摄纸币时也都是正向拍摄,因此出现的纸币图像倾斜一般也是属于水平倾斜,如图2所示.本文采用Radon变换的方法来计算出倾斜纸币图像与x轴的倾斜角.

2.1 Radon变换

在数字图像处理中,我们常常用到一些积分变换,如Radon变换、Hough变换等.在本文中,纸币图像的处理需要用到Radon变换.Radon变换的本质是一种积分变换,从数学的角度看,给定一个定义在二维平面上的二元函数f(x,y),Radon变换将此二元函数f(x,y)沿着平面上的任意一条直线做线积分,亦即将此二元函数f(x,y)沿着平面上确定方向做的投影.比如,二元函数f(x,y)在水平方向上的线积分就是f(x,y)在y轴上的投影,对应地,二元函数 在垂直方向上的二维线积分就是f(x,y)在x轴上的投影.图3直观地说明了一个简单二维函数的水平和垂直投影.事实上,我们可以沿任意角度θ方向上计算函數的投影,即在任意角度上都存在函数的Radon变换.在任意角度上Radon变换的几何原理,如图4.

2.2 水平倾斜角度的计算以及校正

给定一幅纸币图像,我们分四步进行水平倾斜角度的计算并完成校正.具体步骤如下:

Step 1:为了能用Radon变换检测图像中的直线,首先利用边缘检测将原始纸币图像转化为二值图像,如图6所示.

Step 2:计算二值图像的Radon变换.在图7中,图中最亮的点是纸币图像中的边缘直线部分经Radon变换后的曲线相交的点,这些交点和图中直线部分是一一对应的关系.

Step 3:Radon变换矩阵中峰值的计算.在进行Radon变换后,原二值纸币图像中的直线段对应Radon空间中的点,而且线段上点越多(即线段越长),Radon空间中的点亮度越大,因此容易计算出Radon空间中图像的峰值点.我们将倾斜角记为?茁,那么水平方向调整角度为?琢=90°-?茁.

Step 4:在水平方向对纸币图像进行旋转无损校正.将纸币图像旋转?琢度,我们约定当?琢<0时顺时针旋转,当?琢>0时逆时针旋转.在图7中,颜色越亮的表示系数越大,对本例的纸币图像来说,我们可以计算Radon变换系数最大值近似为角86°,于是将元图像逆时针旋转4°进行校正.

在本文中,具体应用结果如图8和图9所示,程序流程图如图10所示.

3 纸币图像特征参数提取

3.1 判定正反面向

纸币面向大致分为四种:(1)正面正向;(2)正面倒向;(3)反面正向;(4)反面倒向.在纸币面向的判定中,我们采用经典的灰度值法[3],该方法是一个识别速度快、准确率比较高的方法.在本文的纸币面向判定中,我们做了稍微的改进,具体操作方法是将纸币图像分割成6块方形区域,如图11所示,然后我们选取这六块图像区域中的左右两边的四块图像区域,仅针对所选取的左右两边的四个区域进行灰度值比较,从而能够快速得出纸币的面向.

3.2 面值区域图像提取

在纸币图像经过一系列预处理后,我们可以判断出纸币的上下和左右边界,亦即基本上可以标定人民币在整幅图像中的准确位置,从而得到目标图像(币值区域),这为下一步提取图像特征值做好了准备.针对不同摆放时的固定区域的纸币图像,为了能够准确地提取该纸币面值,我们采用的方法是在纸币中设固定区域.以正面正放100元面值的纸币为例,本文提取的固定区域如图12所示:

3.3 提取特征参数

前面我们已经获得了目标图像,但直接对其进行分类还有些困难.因为纸币图像所包含的像素是很丰富的,这就意味着所含有的的数据量也是很大的,我们如果直接对其计算处理,这是很不现实的;而且,这些丰富的信息当中,只有一部分对我们的识别是有用的,其它的大量的信息是与识别无关的.因此我们必须对纸币进行特征的分析与提取.

3.3.1 面值区域颜色特征参数

颜色特征提取算法包括:一般直方图法,全局累加直方图法和局部累加直方图法.但是上诉直方图法在颜色的表达中没有考虑到人眼的视觉感受,比较单一,忽略了颜色参量的含义和颜色参量对图像像素间的关系,为了弥补上述直方图法的不足,对颜色特征进行提取,再对颜色参量进行一系列的分析、统计和处理,这在应用中表现出比较好的效果.RGB和HIS颜色空间在颜色参量的统计特征中起着重要的作用.在实际的图像处理中,RGB颜色系统的r,g,b值计算公式如下[5]:

r=R(R+G+B)   (1)

g=G(R+G+B)  (2)

b=B(R+G+B)  (3)

从公式(1)(2)(3)中可以得到RGB颜色系统的r,g,b只是比值,与光照强度的变化无关.

本文是通过上式对不同面值,不同面向时提取的面值区域求解RGB颜色系统的r,g,b值作为特征参数,研究时以100元纸币为例来提取r,g,b值.如表1所示:

3.3.2 面值区域二值化后的灰度值(n)

在本文中,不但用了颜色特征,还增加了面值区域二值化后的灰度值,因为颜色参数比较容易受到外界的影响,比如,纸币的新旧的影响.增加面值区域二值化后的灰度值(n)这个参数,可以有效的增加识别的能力.为了能在BP神经网络中使用,用的是面值区域图像二值化图像中1的像素值与面值区域图像像素值之比.仍然以100元为例,灰度值如表2所示.

4 面值识别

4.1 基于BP神经网络的纸币面值识别

众所周知,BP神经网络有很多优点.首先,BP神经网络具有很强的非线性映射能力.对于不管是三层还是三层以上的BP神经网络,如果我们有中间层神经元存在,那么就可以去逼近任意一个非线性函数.其次,BP神经网络由于采用了并行的信息处理方式,所以有对外界的激励和输入的信息进行联想记忆的能力.再次,BP神经网络由于具有强大的非线性处理能力,因此对外界输入样本,它有很强的识别与分类能力.最后,BP神经网络具有优化计算的能力.因为BP神经网络的本质就是用来解决非线性优化问题的.所以本文选择基于BP神经网络对纸币进行面值识别.

4.1.1 网络训练样本集的设计

对网络的性能起着至关重要的作用的是网络训练样本集,它不仅要较高的质量,还需要一定规模的大小.

本文研究的是人民币纸币的币值识别.实验中,我们只对100元和50元两种面值的纸币的进行识别,显然,本方法可以应用到其它纸币图像的面值识别.本文取100元、50元纸币各10张,每张有4种摆放方向,所以有80个样本,每个样本有4个特征值,共有320个特征值.

本文建立一个三层的BP神经网络,由于每个样本特征值有4个,所以输入层神经元数设计为4个,根据实验中间层神经元数设计为15个,而本文只判断100元和50元两种纸币,所以用一个二进制数便可以表达,用“0”表示50元,“1”表示100元.网络传输函数选用常用的Sigmoid函数和purelin函数[6].在实验中,最大训练次数取为5000次,在训练要求精度不大于10-6时,网络被认为是收敛的.

4.1.2 训练网絡与实验测试

经过前面的步骤,网络已经设计完成.下一步我们将对其进行训练.从样本集中随机抽取样本,正向运行一次,然后修正其权值,便完成了一次训练.一个成熟的网络往往需要上万次训练.

网络的泛化能力是判断一个网络好坏的一个重要标准.对于泛化能力的测试,我们需要使用不同于训练样本的数据.因此,我们可以将样本集分成两部分.一部分用于训练,另外的一部分用作测试样本.判断泛化能力好坏的标准是训练样本集的误差与测试样本集的误差的大小.如果前者很小,后者很大,那么网络的泛化能力较差[7].

在本文中,用80个训练样本来训练网络.这个样本集首先要进行测试,判断网络对训练样本的识别如何,以此来判断是否达到了训练的预期效果;其次.我们利用训练已经完成后得到的神经网络对预先选取的测试样本进行测试,以判断网络的泛化能力.训练测试结果如图13所示.

4.2 分析试验结果

通过实验,我们看到,上文所设计出的识别系统可以正确的识别出纸币的面额,也不产生噪声.更为重要的是,对于那些在流通过程中感染了一些噪声或者有些许磨损的纸币,本系统也能够比较准确的识别出来.但是不得不承认,我们所设计出的识别系统有些时候不能达到完全识别,这是由于无法识别纸币的类型,以及不能正确的识别出摆放位置所引起的.通过分析,出现这种不能识别的情况,其可能的原因有:(1)图像受污染比较严重,也就是说图像中含有的噪声太大;(2)纸币残缺,导致其图像分布比较复杂,从而使系统无法识别纸币图像.解决这一问题的有效办法可以使用较大的训练样本集,即训练样本集包含各种类型的纸币;(3)纸币图像的预处理不到位,如图像倾斜没有正确的校正.

5 结论

本文设计BP网络结构层数为三层,各层节点数如下:输入层4个神经元,中间层15个神经元,输出层1个神经元.输出模式有两种,即50元和100元.为了提高识别准确度,特征值提取了RGB和灰度值,这两类参数同时使用,避免了单独使用时的局限性.训练完成以后,本系统能够正确的识别出2种纸币的面额.

参考文献:

〔1〕秦洁,张明举.人民币面值特征参数提取及面值识别方法的研究[J].长春师范大学学报,2019,38(02):50-53.

〔2〕巩玉滨,杨红娟,张运楚,等.一种数显仪表数字字符识别方法研究[J].山东建筑大学学报,2011, 26(02):134-137+177.

〔3〕韩贺磊.人民币纸币面额的机器视觉识别方法研究[D].大连理工大学硕士学位论文,2007.

〔4〕燕鲲鹏.基于DWT变换的分块数字图像水印算法研究[D].西北大学硕士学位论文,2017.

〔5〕王栖榕,黄樟灿.基于颜色特征的画家艺术风格提取方法[J].计算机应用,2019,35(12):1-8.

〔6〕Mark Hudson Beale, Martin T. Hagan, Howard B. Demuth. Neural Network Toolbox7 [EB/OL]. www.mathworks.com,2019-12-1.

〔7〕杨晓燕.纸币卡把计数与面值识别的算法改进及程序实现[D].东北大学硕士学位论文,2012.

猜你喜欢
BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 