APP下载

人民币面值特征参数提取及面值识别方法的研究

2019-02-27张明举

长春师范大学学报 2019年2期
关键词:单色面值特征参数

秦 洁,张明举

(1.安徽农业大学经济技术学院,安徽合肥 230011;2.安徽大学出版社,安徽合肥 230039)

现代人类科技的进步,使得基于人民币纸币面值识别技术的自动化、智能化无人收费系统在各个行业都得到应用,节省了大量的人力资源。在自动售货售票机、银行的自动存取款机或手机营业厅的自动缴费机等设备上,人民币纸币面值识别技术得到了更好的应用,具有很好的应用前景。本文从人民币面值特征参数提取及面值识别两方面着手,提出了切实有效的识别方法。

1 纸币图像预处理

在研究纸币图像识别时有个基本的要求,就是图像必须是无变形和无失真的。在本文中,图像的获取是由数码相机得到的,图像无几何变形现象,所以本文的图像满足图像识别的要求。但是在图像获取的过程中,图像会或多或少地受到其它因素的影响,比如:(1)获取到的图像除了含有纸币图像外,还会有一部分对面值识别没有用的背景信息;(2)噪声会存在于采集到的纸币图像中;(3)直接获取到的纸币图像可能是倾斜的,所以不能直接对获取的图像进行图像识别,在进行识别之前必须对图像进行倾斜校正。总之,为了能正确地对纸币面值进行识别,在识别前要先对图像进行预处理,包括滤波、二值化等基本操作。纸币图像预处理流程如图1所示。

图1 纸币图像预处理流程图

2 面值特征参数提取

2.1 纸币正反面判别

确定人民币纸币的面向是进行人民币纸币面值识别的首要任务。只有确定出面向,才能准确定位纸币要识别的目标区域。面向可分为:正面正放(A)、正面倒放(B)、反面正放(C)和反面倒放(D)四种情况(下文统一用A、B、C、D分别表示正面正放、正面倒放、反面正放和反面倒放)。在进行识别前应先对人民币图像进行预处理,如倾斜校正、滤波、二值化等处理,在面向识别中,采用目前常用的方法,即根据灰度来确定面向。这种方法识别速度快,准确率高[1]。本文稍做改进,将纸币图像分割成6块区域,对纸币左右两边的两个区域进行比较,也就是说6块区域中只有4块(S1,S2,S3,S4)对本方法是有用的,如图2所示,4块区域面积相同,比较前对图像进行二值化处理并反色,这时只要比较每个区域中“1”的和的大小就可以判断出面向。因为相同区域在不同面向时“1”的和的大小是不一样的。

S1S3S2S4

图2纸币比较区域示意图

具体比较方法如表1所示。sum1、sum2、sum3、sum4分别是所对应区域S1、S2、S3、S4二值化后反色过后“1”的和。

表1 纸币正反面比较方法

2.2 面值区域图像提取

经过上节识别出纸币面向后,根据定位出的纸币的上、下、左、右边界,在指定的区域提取出纸币中目标图像(面值区域),为以后提取特征值做准备。本文采用的方法是在纸币中设固定区域,来提取纸币不同摆放时的固定区域的面值图像。

2.3 基于小波变换的图像纹理特征和颜色特征的提取

对于一个图像来说纹理和颜色是比较重要的特征,也是能代表自己特点的重要特征,为了能更好地提取特征的细节,本文对比几种方法,选择小波变换的方法提取图像纹理和颜色特征参数。具体实施如下:

(1)本文对目标区域图像选用了二维离散小波变换进行四次分解。在变换前对原彩色图像在R、G、B三色上先进行分解,然后对每个单色都利用二维离散小波变换进行四次分解,使用haar小波基。例如在R单色上主要代码如下:

[ca1,ch1,cv1,cd1]=dwt2(r,’haar’);

[ca2,ch2,cv2,cd2]=dwt2(ca1,’haar’);

[ca3,ch3,cv3,cd3]=dwt2(ca2,’haar’);

[ca4,ch4,cv4,cd4]=dwt2(ca3,’haar’);

对100元面值区域的红色单色的一次、二次分解的结果如图3所示,本文做了四次分解。

(a)原图 (b)一次分解 (c)二次分解图3 一次、二次小波变换分解近似图

(2)在每次分解上都有水平、垂直和对角三个方向的分量,而本文提取的纹理特征参数就是每个单色在每次小波变换分解上的三个方向上的分量值。每个单色上有12个参数值,总共有36个。流程示意图如图4所示。

图4 纹理特征提取流程图

以R单色图像为例,进行四次小波变换,每次都有三个分量值,也就是每单色上取12个参数值,共提取纹理特征参数36个。

(3)提取颜色特征参数是在R、G、B每个单色上及RG、RB、GB两色差异上提取的灰度值和总的灰度值的比值。在提取前把灰度区间分为6个小区间来求灰度值,这样颜色特征参数也有36(6×6)个值。

(4)所以对于一个面值区域图像提取了36个纹理特征参数,36个颜色特征参数,总共有72个参数值,这与用R、G、B三个参数值作为特征参数比起来,识别率更高,也增加了其鲁棒性[2]。

3 面值识别

3.1 面值识别系统设计

3.1.1 网络层数确定

任何的非线性识别问题都可以用三层的BP神经网络来解决,为了降低误差,可以增加神经网络的层数,但是这样同时也增加了网络的训练时间,还有另一种方法来降低误差,就是增加神经元数,本文中的神经网络设计为三层:输入层、中间层、输出层。

3.1.2 输入层和输出层神经元数的确定

根据神经网络理论知识,神经网络中的输入节点与样本的特征是一一对应的关系。本文研究中提取了72个特征参数,所以本文的BP神经网络系统中输入节点有72个。

本文只研究新版100元、50元、20元、10元四种面值的纸币,其它面值的纸币可以根据本文的设计思路进行补充扩展。由于BP神经网络的输出节点个数是由所识别对象的类别数确定的。而本文中要识别的对象的类别有4个,用1个输出端可以表示,所以本文所设计的BP神经网络的输出节点数为1[3]。

每种纸币有A、B、C、D四种方向的情况,本文把它们作了不同的输入样本来处理。比如说,对于100元的纸币,取10张不同的100元纸币,每一张的A、B、C、D四种情况都分别提取72个参数作为输入节点的输入值,每一组所对应的期望输出值都一样,设为1。这样也就减少了输出节点数,增加了运算速度。

3.1.3 中间层神经元数的确定

3.1.4 网络的初始权值和训练函数的选取

权值和闭值的初始值通常设为-1到+1之间的随机数。传输函数的选取对网络的收敛性具有很重要的作用,在网络结构和数据全都确定的情况下,网络的误差就完全由传输函数决定。总误差函数E完全由神经元的激励函数f(x)决定。本文选用的传输函数为Sigmoid函数和purelin函数,其中purelin函数在网络的最后一层使用,训练函数要根据不同的系统进行选择。

本文建立一个三层的BP神经网络,其输入层神经元数为72,中间层神经元数为15,输出层神经元数为1,网络传输函数用Sigmoid函数和purelin函数,最大训练次数设定为5000次,训练要求精度小于10-6时,认为网络收敛,学习率为0.05[6]。

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

因为网络训练用的样本与网络性能有着密切关系,所以样本集的选择是至关重要的。

由于本文篇幅有限,只对新版100元、50元、20元、10元四种面值的纸币进行研究,其它面值可以以此推广。实验中BP网络的学习样本选取每一种面值的纸币不同摆放形式各10幅,每幅图像中提取72个特征参数值用于网络训练,共计160幅纸币图像、11520个特征值。将这些特征值作为样本中的输入值对网络进行训练。

本文识别的只有四种面值的纸币,所以用不同的输出值来表达四种面值,用“1”表示100元,“0”表示50元,“3”表示20元,“2”表示10元。测试结果的表示方式如图5所示。

图5 测试结果的表示方式

4 结论

综上所述,本文对纸币面值区域提取72个特征参数进行BP神经网络训练,这72个特征参数分别是36个纹理特征参数和36个颜色特征参数。这两类参数同时使用,避免了单独使用时的局限性,在识别时起到很好的效果。

猜你喜欢

单色面值特征参数
第一套人民币共有12种面值
百万“大”钞
冕洞特征参数与地磁暴强度及发生时间统计
基于交通特征参数预测的高速公路新型车检器布设方案研究
10元钱有多少种面值组合
单色不单调·灯具篇
基于PSO-VMD的齿轮特征参数提取方法研究
基于视频的车辆特征参数算法研究
掉钱
彩妆去寻找春天