一种纸币识别系统的设计

[复制链接]
查看1951 | 回复2 | 2011-9-7 22:54:51 | 显示全部楼层 |阅读模式
<





摘 要:介绍了一种纸币识别系统的硬件设计和对应的识别方法。在硬件设计上,将高速数字信号处理(DSP)技术与复杂可编程逻辑器件(CPLD)和线阵型图像传感器(CCD)相结合;在识别方法上,应用图像处理技术与改进的SOFM神经网络方法识别纸币。实验证明,此系统达到了高速、实时、识别率高的要求。
纸币清分是银行的一项重要业务。 目前,国内很多银行使用的纸币清分机都是由国外进口的,价格昂贵。国产纸币清分机很少,而且功能都很有限,很难满足高速实时性的要求,尤其是能够用图像处理的方法来识别纸币的纸币清分机还刚刚起步。
  为此,设计了一种纸币识别系统。该系统以DSP为核心处理器,结合图像传感器CCD和复杂可编程逻辑器件CPLD,并辅以高性能的模/数转换器AD9200,进行纸币图像的采集、处理。该系统主要针对人民币第四版和第五版的5元、10元、20元、50元、100元九种纸币进行识别,利用数字图像处理技术和改进的自组织映射神经网络(SOFM)提取纸币图像的长度、宽度、方向块特征,区分纸币的面值、正反面与正反向。最终完成的系统能达到较高的识别速度和识别率。
1 硬件设计
  识别系统的总体硬件结构如图1所示。人民币的图像首先通过传感器CCD扫描后得到光电转换信号,并经过AMP的三倍放大;然后将放大的模拟信号经过模数转换器AD9200转换成为标准的数字信号,送入到CPLD缓存;最后通过EDMA通道输入到DSP的RAM中,在DSP中进行图像的处理和识别。整个系统的信号逻辑时序由CPLD来控制。 另外,还有一些辅助环节,如纸币淙胧涑鲎爸谩⒂没Ъ觳庾爸谩⒏次蛔爸玫取?

图1 识别系统的总体硬件结构框图

  纸币图像的采集由CCD与A/D转换器组成。本系统采用线阵型CCD[1],它的采样速度较快、电路设计比较简单、体积小、时序也易于实现。根据系统对采集速度的要求,设置横向分辨率为4像素/毫米,共采集800个像素点;纵向的分辨率为1像素 /毫米。每张图像的高度不超过76毫米,两张纸币之间还有一定的间隔,实际采集100列。这样,每张图像的像素为800×100。纸币的进入与离开的判断使用红外线光电管检测。
  人民币的图像经过采集和A/D转换后,暂存入CPLD芯片XC95144中,然后由DSP通过EDMA通道直接传输。整个采集和存储过程的时序信号是由XC95144产生的。CPLD需要编程实现的内部结构如图2所示。其中,ADCLK信号是发送给AD9200的时钟信号,SP、CP信号传送给CCD的移位寄存器作为启动脉冲和采样时钟脉冲。
  图像的识别部分由数字信号处理器DSP[2]及相应的外围电路构成,其结构如图3所示。数字信号处理器DSP选用TI公司生产的TMS320C6711GFN150芯片,主频为150MHz。扫描采集到的纸币图像数据Data经EDMA存入静态存储器SRAM中,DSP对已存入SRAM的数据作一系列的识别算法运算,并将最终结果通过DSP的McBSP1口输出。

图2 CPLD的内部结构图

图3 DSP及相应的外围电路的结构图

2识别方法
2.1图像的定位与面值的识别
  定位图像包括两个方面:图像边界及中心点的确定和图像倾斜度的校正。求取图像边界中心点的方法,采用自整个扫描的图像边界向内选取,确定纸币图像边界上的少数点,再对这些点进行直线拟合,从而确定纸币的四个边界。四个边界中心点的连线的交点即为图像的中心点。纸币图像的边界与扫描采集的图像的边界的夹角就是倾斜角。规定倾斜角超过17°地纸币,作为不可识别类。
  确定了纸币图像的边界、中心点和倾斜角后,纸币的长度和宽度就能准确地计算出来。对于长宽差异小的人民币(比如4版5元与5版50元),则提取图像的区域特征加以区分比较,判别面值。
2.2 图像面向的识别
  纸币正反面与正反向的识别在以往的纸币清分机系统中采用人工提取特征的识别方法,试验周期长,不具有适应性与系统性。本文采用自组织特征映射神经网络的方法,自动寻找纸币图像的特征分布,加以识别。
  本系统的SOFM网络输入层为72个节点,输出层为4个节点。输入的是纸币图像的72维方向块特征数据向量,计算输出的是正面正向、正面倒向、反面正向、反面倒向四种面向标志。其中,获得方向块特征向量数据的方法是将纸币图像划分为72个块,对每个块按步长为4个像素取值作灰度平均,将灰度均值作为方向块的特征数据。本系统SOFM网络具体算法如下:


热帖推荐
pmr68 | 2014-2-15 11:04:24 | 显示全部楼层
学习学习
abb | 2011-9-7 22:54:52 | 显示全部楼层
  a. 对所有输入节点到输出节点的连接权值赋以初始化值,初始化学习系数α=0.5。
  b. 对第m类币种网络输入样本数据Xm=[x1,x2,…,x72],m=1,2,…,9。
  c. 计算输入Xm与所有输出节点连接权值Wj的距离:
  
  d. 选择具有最小距离的节点j*作为获胜节点:dj*=min{dj}。
  e. 调整输出节点j*与输入节点的连接权值和学习系数α:
  
式中,n为第m类币种样本数据个数。
  f. 若第m类币种还有训练样本数据,转到 b;否则,转到g。
  g. 若m≥9,训练结束;否则,转入第m 1类币种训练。
  本系统是将需要识别的第四版与第五版人民币共九种主币分为九类处理的,所以对于每一类币种网络输出只存在四种面向标志相互竞争。根据这一点,可以改进算法:先将四个输出节点对应好四种面向标志,然后从同一个类纸币样本中选择每个面向的特征数据作为该面向的对应输出节点到输入节点的连接权值的初始值。
本新闻共2页,当前在第1页 [1] [2]




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则