一种基于卷积神经网络的纸币脏污识别方法

2020-07-13 04:33孙伟忠尹震宇徐福龙
小型微型计算机系统 2020年7期
关键词:红外光绿光蓝光

孙伟忠,马 跃,尹震宇,谷 艾,徐福龙

1(中国科学院大学,北京 100049) 2(辽宁科技大学 计算机与软件工程学院,辽宁 鞍山 114051) 3(中国科学院 沈阳计算技术研究所,沈阳 110168)

1 概 述

随着我国国民经济的突飞猛进,纸币作为商品流通的一种媒介流通量与日俱增.缺损与脏污纸币的比例也随着流通时间的增长变得越来越大,这使人民生活的便利以及商品交易都会受到不同程度的影响.因此,当纸币达到一定程度的污损时,银行往往会对其进行回收并且集中销毁.银行等金融机构往往采用纸币清分机等金融设备通过图像处理、模式识别等技术对纸币进行面值、真伪、冠字号码等识别[1].

国内外学者也针对纸币特征的识别进行了一定程度的研究.张玉欣等人[2]提出一种基于D-S证据理论和支持向量机相结合的多特征融合纸币真伪识别方法,解决了单一特征纸币真伪识别存在的低正确率和低稳定性问题.张航[3]利用卷积神经网络针对纸币序列号学习进行了研究.Khashman等人[4]基于神经网络研究开发出了识别纸币发行国家的系统.基于使用单个或多个传感器获取纸币图像的方法,这些方法可以分为两类:使用整个钞票图像的方法和在钞票图像上使用特定感兴趣区域(ROI)的方法,用于钞票适合度的分类.在Sun和Li[14]提出的方法中,他们认为不同等级的新旧纸币具有不同的灰色直方图.因此,他们使用纸币图像直方图的特征作为特征,使用直方图对齐的动态时间扭曲(DTW),以及用于对纸币新旧进行分类的支持向量机(SVM).

然而,无论是国内还是国外,却鲜有学者进行纸币脏污识别的研究[5],具体原因如下:

首先,纸币的脏污是一个相对主观的概念,不同的人对脏污程度的理解不同,而纸币的脏污特征也是一个相对复杂的指标,金融行业内缺少共同认可的评价标准.

其次,金融设备对纸币的清点速度相对较快,因此对数据的采集速度、机器运算的速度以及图像识别算法都有很高的要求.

最后,想要统一纸币识别结果的稳定性和一致性,以及要符合人眼的视觉规律及人类的主观认同是非常困难的事情.如何合理的解决上述问题,成为了相关人员研究的重点.

纸币的脏污特征,可以通过光学特征、硬度、重量、粗糙度等方面表现出来.在上述特征中,光学特征能够最直观的反应出纸币的脏污特征[6],因此,纸币清分机等金融设备通常使用光学图像传感器采集纸币的光学特性来完成纸币的识别.荷兰央行在纸币的脏污识别方面进行了大量的研究[7,8].他们的研究表明纸币的脏污主要来源于人的手指接触后的污渍残留,这种污渍主要体现为黄色或褐色,在深蓝色或靛蓝色光谱下不同脏污等级的纸币区别最大.Kwon[9]使用了可见光反射图像和红外光透射图像进行了纸币脏污识别,他认为可见光反射图像和红外光透射图像对于纸币的脏污分类有很大的影响.

综上,本文使用接触式线性传感器(CIS)[15]采集纸币在红光、绿光、蓝光、红外光下的双面反射图像,同时也采集了纸币在绿光透射和红外光透射下的纸币图像.

2 关键技术

2.1 整体设计

整体设计方案的流程图如图1所示,纸币被投入后,它的图像被捕获并且进行预处理.通过CIS采集纸币在红光、绿光、蓝光、红外光下的双面反射图像,同时也采集了纸币在绿光透射和红外光透射下的纸币图像.采集到的图像从背景中分割并且调整大小以实现相同尺寸的像素,因为输入到CNN的图像尺寸应该是一样大小.将纸币的尺寸标准化图像送入到与训练的CNN中,最后输出缺失曲线.

图1 基于卷积神经网络的纸币脏污识别处理方法

2.2 纸币图像的预处理

图2为本文采集到的纸币在每种光源下的纸币图像:(a)红光反射正面图像;(b)红光反射反面图像;(c)绿光反射正面图像;(d)绿光反射反面图像;(e)蓝光反射正面图像;(f)蓝光反射反面图像;(g)红外光反射正面图像;(h)红外光反射反面图像;(i)绿光透射图像;(j)红外光透射图像.其中,每幅图像的分辨率为768×448像素.在采集图像之前需要准备纸币,并且通过人工方式对纸币进行分类.本文把纸币分为五类,分别是:很新、干净、正常、较脏、脏污严重,然后通过CIS图像传感器分别对这五类纸币进行图像采集,形成每张纸币的图像样本作为我们后续研究的基础数据.

图2 不同光照下的十幅纸币图像

通过CIS获得每张纸币在不同光照条件下的10幅原始图像,如图2所示.原始图像采集完成后,如何提取纸币的数据是一个关键问题.首先,需要把原始图像中的纸币图像与背景分离.提取纸币图像通常可以使用Huogh直线检测算法[10]或角点检测算法[11].本文采用的方法是先从上向下等间隔的通过直线扫描的方式对图像进行检测.当检测到图像梯度发生较大变化时,记录该点的位置.从上向下扫描结束后,会得到所有上边界检测点的位置.为了避免纸币边缘存在缺失会对纸币的轮廓提取产生影响,需要去除掉差异较大的像素点,同时还需要去除掉未检测到纸币边界的点.最后对剩余的点进行最小二乘法直线拟合,这样就会得到纸币图像的上边缘直线方程.使用相同的方法,我们也可以得到纸币图像的下边缘直线方程.把上下边缘的两条直线方程相加,就会得到经过纸币中心点并且平行于纸币上下边缘的直线方程.再等间隔的取平行于这条直线的一些直线,分别对图像的左右方向进行检测,就会得到左右直线的检测点.同样经过滤波和最小二乘法直线拟合就会得到纸币图像的左右直线方程.把左右边缘的两条直线方程相加,就会得到经过纸币中心并且平行于纸币左右边缘的直线方程.

表1 我们采用的CNN结构(单位:像素)

Table 1 Structure of CNN used in our proposed method(unit:pixel)

图层类型内核大小过滤器数量特征图大小输入层图片56×32×6卷积层C1卷积层5×5×63252×28×32Sigmoid层均值池化2×2×32126×14×32C2卷积层3×3×324824×12×48Sigmoid层均值池化2×2×48112×6×48C3卷积层3×3×484810×4×48Sigmoid层均值池化2×2×4815×2×48全连接层F1全连接层256Sigmoid层F2全连接层256Sigmoid层F3全连接层5Softmax层

2.3 基于卷积神经网络的纸币脏污识别

图3为我们采用的卷积神经网络结构.其中,输入层是上面提到绿光反射正面图像、绿光反射反面图像、蓝光反射正面图像、蓝光反射反面图像、绿光透射图像和红外光透射图像这6幅图像.输入层之后采用的是一个具有三层结构的卷积层,分别是C1、C2和C3.每个结构包括一个卷积层、一个激活函数和一个池化层.

图3 本文采用的卷积神经网络架构

在训练模型时,在卷积层和全连接层选用Sigmod激活函数和Relu激活函数进行对比.从缺失曲线能够看出Sigmod激活函数在训练达到一定量时,确实存在饱和现象并导致收敛速度慢.当改用Relu激活函数训练网络时,发现模型不能收敛,怀疑是神经元都死掉了.在训练模式时并没有使用改进得Relu激活函数,因此最终选择Sigmod作为卷积层和全连接层的激活函数.卷积层的激活函数我们采用的是经典的Sigmoid函数,公式(1)是Sigmoid函数的表达式.池化层我们采用的是均值池化,它的作用是去掉图像中不用的特征从而达到降维的目的.卷积层之后使用的是一个具有三层结构的全连接层,分别是F1、F2和F3.每个结构包括一个全连接层和一个激活函数.其中F1和F2使用的激活函数还是Sigmoid函数,而F3使用的激活函数是指数归一化函数Softmax,公式(2)是softmax函数的表达式,它的作用是增强网络输出的最大值,抑制网络输出较小的值.表一是我们采用的卷积神经网络结构的详细信息.

(1)

(2)

3 实验结果

以红光反射图像为例,图4是使用本文的方法对纸币的边缘检测示意图和检测到的结果示意图,其中:(a)正面检测方法示意图;(b)反面检测方法示意图;(c)正面检测结果示意图;(d)反面检测结果示意图.

图4 纸币边缘检测图像

检测到纸币图像的边缘后,要对纸币进行旋转和归一化处理.我们采用旋转矩阵的方法[12]对图像进行旋转.为了避免纸币边缘对纸币脏污识别结果的影响,去除旋转后纸币图像的四个边缘部分.然后用线性归一化的方法对图像进行归一化[13],把图像归一化到每副图像的分辨率为56×32像素.图5是对图一所示的图像经过边缘检测、图像旋转和归一化后得到的纸币图像结果.通过这种方法,我们可以得到任意一张纸币图像归一化后的10幅图像.

图5 图1中10幅纸币图像经过旋转和归一化后的结果

在把图像输入到卷积神经网络之前,需要对10幅图像进行筛选,选择纸币在哪种光源照射下所采集的纸币图像对纸币的脏污等级影响较大,哪种影响小.剔除影响小的纸币图像,既可以减少卷积神经网络输入层的维数,也可以避免其对输出结果产生不稳定的影响.本文方法是把训练样本中的每一张纸币的10幅图像进行旋转和归一化处理,然后分别对5类纸币图像进行计算.以很新这一类为例,我们把很新这一类里的所有红光反射正面图像的取平均,会得到一幅红光反射正面图像的平均值图像.其它9幅图像按照相同的方法同样可以得到相应的平均值图像.这样在很新这个类里,可以得到10幅平均值图像.使用相同的方法依次对其它四类进行计算,最终我们可以获得50副平均值图像.然后对这50副图像分别进行垂直投影,就会得到相应的垂直投影曲线.图6是把5类中相同方向、相同光源的曲线进行对比.从图4中可以看出(a)正面红光反射、(b)反面红光反射、(c)正面红外光反射、(d)反面红外光反射,这4种曲线图中五类脏污纸币的曲线相互掺杂在一起,根本无法区分这五类.而(e)正面绿光反射、(f)反面绿光反射、(g)正面蓝光反射、(h)反面蓝光反射这几幅图像能够明显的区分出五类脏污纸币,同时也会发现蓝光反射区分会更容易一些.(i)绿光透射和(j)红外光透射不能很好地区分旧和很旧,但是对于区分其它几类,效果也非常明显.因此我们最终选择绿光反射正面图像、绿光反射反面图像、蓝光反射正面图像、蓝光反射反面图像、绿光透射图像和红外光透射图像作为卷积神经网络的输入.

图6 五类平均值对比

本文采用MSE最小平方误差作为损失函数,训练后的缺失度曲线如图7所示.

4 结束语

本文针对如何精准的识别纸币的脏污设计了一种基于卷积神经网络的识别方法,使用接触式图像传感器采集纸币在红光、绿光、蓝光、红外光下的双面反射图像,同时也采集纸币在绿光透射和红外光透射下的图像.通过使用图像处理的方法把纸币图像提取出来,然后分析不同脏污等级的纸币在各种光源照射下所形成的图像,最终决定把哪种光源的纸币图像输入到卷积神经网络.我们把已经分类好的训练样本和测试样本通过上述方式处理,会得到纸币图像的训练样本和测试样本.使用训练样本对我们设计的卷积神经网络进行训练,就会得到我们所需要的纸币脏污识别分类器.然后使用测试样本在这个分类器上进行测试,会得到我们训练的分类器的识别效果.测试结果表明我们所设计的卷积神经网络分类器对于识别纸币脏污的准确性非常高.然而,由于采用的算法比较复杂,在实际生产中,实时性无法保障.因此,在作者日后的工作中,将重点放在提升算法的准确率和实时性方面.

图7 训练后的缺失曲线

猜你喜欢
红外光绿光蓝光
防蓝光对眼睛来说有必要吗
甲硝唑配合红外光治疗慢性宫颈炎的有效性及对复发率的影响
更纯粹的“影院级”4K蓝光机 杰科BDP-G5700
红外光电子物理的相关研究
机器 人
渴望
红外光波段的三叶星云
蓝光TOP推荐
太阳绿光
福尔摩斯探案