《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA和DSP的人民币图像鉴别平台设计
基于FPGA和DSP的人民币图像鉴别平台设计
来源:电子技术应用2012年第12期
康 宁,王元庆
南京大学 电子科学与工程学院,江苏 南京210093
摘要: 实现了一种高速采集、实时处理、适用于新国标A类机的人民币图像鉴别处理平台。该平台采用ADC量化CIS的输出作为系统输入,FPGA、DSP作为处理核心,得到的人民币信息被发送到鉴别仪的主控模块作为真假币的判别依据。该系统可以以子系统形式整合到鉴别仪中,具有很好的应用前景、良好的可升级性和鲁棒性。
中图分类号: TP391.41
文献标识码: A
文章编号: 0258-7998(2012)12-0020-03
Design of bank note image identification platform based on FPGA and DSP
Kang Ning,Wang Yuanqing
School of Electronic Science and Engineering, Nanjing University, Nanjing 210093,China
Abstract: This paper proposes an A-class platform of bank note image identification based on FPGA and DSP, featured high-speed acquisition, real-time processing with the background of a practical project. The platform uses the outputs from CIS, quantized by ADC, as system inputs, FPGA and DSP as system processor, then transmits the bank note information to main controller of bank note discriminating device as hints of counterfeit currency. It can be integrated into the bank note discriminating device as a sub-module and has a bright prospect in application, as well as good scalability and stability.
Key words : FPGA;DSP;bank note image identification;platform

    随着纸币防伪技术和假币制造技术的日益发展,原有的鉴伪手段越来越不能满足市场需求。国家质量监督检验检疫总局和国家标准化管理委员会于2011年5月批准代号为GB16999-2010的新《人民币鉴别仪通用技术条件》,明确提出将图像分析鉴别技术列入点验钞机鉴别技术,新一代的点验钞机必须配备可靠的图像分析鉴别装置。

    采集和处理是识别纸币图像的两个关键步骤。采集可以用CPLD、CPLD+SRAM、FPGA解决方案,处理可以采用ARM或者DSP。要达到实时高速的人民币图像鉴别能力,快速稳定的软件算法和高性能可靠的处理平台是必要的。
    本文在实际项目的支撑下,提出并实现了一种高速采集、实时处理的人民币图像鉴别系统平台。经实际测试验证,本系统在1 000张/min的采集和处理速度时能够稳定地工作;可以检测正反、朝向、面额、版别、冠字符、真伪等纸币特征信息,能够给出伪币的出错特征,并保存图像到上位机;整个系统可以作为一个完备的、符合GB16999-2010要求的纸币图像特征检测模块,可方便地以子系统形式整合到机具中,具有很好的应用前景、良好的可升级性和鲁棒性。
1 技术背景与系统总体结构
    目前,有一些纸币鉴别仪使用了纸币图像的特征进行伪币鉴别。基于CPLD和ARM平台的方法[1]主要缺点在于CPLD的片上存储资源很少,导致特征的细节采集不够;同时ARM属于通用处理控制平台,数据处理能力有限,不适于CIS升级后带来的大量数据处理的要求。采用CPLD+SRAM+DSP的方法[2-3]解决了上述问题,但是SRAM和CPLD之间要使用外部引线,高速采集时可能有信号完整性、电磁兼容等问题,并且CPLD的非时序应用特征不适合控制用。而使用DSP作为控制、CPLD只作为纯逻辑接口[4],可以用在传送带速度为2 m/s的宽度识别仪中,但是作为过钞速度很快的鉴别仪的图像识别模组则不合适。使用基于FPGA的图像采集方法[5-6]对于采集流程的控制和乒乓存储的实现都比较容易,适合于大数据量的图像采集,并且输出格式易于高度自定义,可以传到上位机处理,也能送到嵌入式处理单元。而DSP是通用的数据处理芯片,并且集成了许多现成的模块,对实时算法处理的支持性较好[7]。
    本系统使用接触式图像传感器CIS(Contact Image Sensor)作为纸币图像传感器,使用CIS自带光源和外部光源作为纸币的照明光源,用高速ADC将纸币图像数字化;FPGA控制CIS、ADC和照明光源的工作状态,对纸币图像数据进行数字采样、整理、倾斜检测和视频制式化。DSP接收FPGA的输出视频,采用已验证的软件算法检测出纸币特征,然后通过串行接口RS-232发送纸币检测结果到鉴别仪主控模块。在调试模式下,DSP通过JTAG接口与PC通信,把采集到的纸币图像保存到上位机。系统的硬件组成如图1所示。

2 系统设计
2.1 数据吞吐量

    本文采用的算法可以对每英尺的像素个数(100 dpi)的纸币图像进行良好的检测,所以采集的纸币横向和纵向分辨率均要≥100 dpi。100元纸币大小为156 mm×77 mm,以采集100 dpi的图像为例,纸币所占像素个数为614 pixel×300 pixel。考虑到纸币上下和左右的偏移量,设置采集的纸币图像大小为720×425。检测纸币需要4幅图像,则完成一次检测需要的数据量为9.8 Mb。
    人民币鉴别仪的过钞速度可达1 000张/min(即每秒要完成17张纸币的检测工作),则系统有效数据吞吐量为163.2 Mb/s。
2.2 图像采集与发送的设计
    CIS采集的频率由FPGA来控制,最简单的方法是FPGA控制CIS以一定常数的频率采集图像,但是由于鉴别仪码盘的机械转动速度会在一定的范围内变化,这种方法会导致采集窗口的偏移和纸币图像的纵向分辨率的不一致,为后续的图像处理工作带来困难。因此,本系统中,FPGA通过监视机具的转速来动态调节CIS的采集频率。
    采集和处理模块分开,数据传输采用通用微型坚固接口来保证信号的完整性。DSP内部拥有视频处理子系统VPSS(Video Processing Subsystem),VPSS提供一个视频处理前端VPFE(Video Processing Front End)与图像传感器、视频解码器等连接、而视频处理后端VPBE(Video Processing Back End)与显示设备连接。VPFE使用硬件实现图像接收,以确保设计中更专注于算法层面的问题和传输的快速正确实现。VPFE支持16 bit的视频输入,从而不必频繁地占用数据总线,加快算法的检测速度。
    以码盘额定周期为110 ?滋s为例,设CIS采集的周期是该周期的一半,一幅图像的横向像素个数为720个,则每个像素的读出时间为76.4 ns。CIS在输出像素前通常需要一段时间来完成信号处理,会占一行有效像素输出时间的20%,则每个像素的读出时间约为63.6 ns。所以CIS的工作时钟频率至少为20 MHz。要在一个采集周期内将两面的图像全部发送完毕,发送模块的数据时钟频率应是CIS工作时钟的两倍,再加上行、场同步信号,则时钟频率还应该再适当高一些,可以采用50 MHz。
    数据采集和发送要保证实时性,这可能会发生读写冲突的情况。两面图像采用两路CIS,设定每路CIS输出为20 MHz等效频率的数据,量化为8 bit位宽的数字信号;FPGA输出一路50 MHz、16 bit的图像。若串行处理,则采集和发送的时间比为5:2,考虑到输出帧同步、行同步等指示信号,则在预留的发送时间大于实际采集时间的1/2的情况下,读写冲突不会发生。若使用乒乓操作,则不需要考虑以上问题。为保证今后的稳定性,系统最终采用乒乓操作解决采集和发送的时间冲突。
    为了减少电路板体积、节省资源,使用FPGA内部SRAM进行数据缓存。为保证数据传输的实时性,每接收一行数据后,就将其发送给DSP。一行图像大小为11.52 Kbit,在乒乓操作时,缓存的数据量也不会超过240 Kbit的内部SRAM。
2.3 图像接收与处理的协调机制
    按照1 000张/min的检测要求,每张纸币的过钞时间平均为60 ms。采用流水线的方式进行图像的接收和处理。当一张纸币进入过钞通道时,开始进行采集,每采集一行,就将该行发送给DSP。如果FPGA检测到图像的信息已经足够DSP进行图像处理,则FPGA会给出一个数据无效的标志,DSP转入图像处理阶段。得到纸币的检测结果后,DSP将结果发送至鉴别仪的主控模块。
    如图2所示,定义图像的鉴别周期包括图像的接收、处理、发送和显示,一般情况下这4个步骤在一个鉴别周期中即可全部完成。但是采集模块捕获的图像可多可少,比如在“图像鉴别周期#1”中,采集模块输出的图像就大于预计的图像尺寸,需要更长的时间来接收,从而使处理的时间变长,可能出现当下一帧图像已到达、而当前帧图像还没有处理完的情况。由于采用流水线机制,构建图像处理缓冲区,只要在此时间窗口中,都可保证在图像接收的过程中处理有序进行。为了更进一步地预防接收和处理的冲突,定义接收为第一优先级,图像处理和结果发送为第二优先级,图像显示为最低优先级。

 

 

    正常工作测试下,系统把处理得到的人民币信息按照预定义格式发送到后端主控模块。测试数据通过串口线实时上传到主机,主机中使用自己编写的串口数据记录程序来接收人民币信息。基于此平台,可通过4种鉴伪技术(红外图像鉴伪、水印头像鉴伪、冠字符鉴伪、多光谱鉴伪)和3种检测能力(面额检测、版别检测、冠字符检测)实现对人民币的识别,所需时间约为14 ms。全部识别功能开启时,每分钟可采集图像1 000张。测试700张真币时的误检率为0%,测试普通假币141张,漏检1张,普通假币漏检率为0.71%。变造币126张,漏检6张,变造币漏检率为4.76%。漏检率较高的原因是变造币识别难度大,这方面的性能提高需要从软件算法上来实现。
    本文设计的处理平台采用高品质接触式图像传感器、低成本采集芯片和高性能处理芯片构成,系统配置满足图像识别的硬件要求,包含了方便的调试环境,能够稳定可靠地工作。今后的研究重点是处理算法的一致性和精准性。升级该平台仅需更换相应模块,拥有良好的应用前景。
参考文献
[1] 钱刚,丁万山.基于ARM及CPLD的纸币图像采集系统的设计[J].计算机测量与控制,2007,15(5):683-685.
[2] 贺科学,李鸿.用DSP和CPLD实现的纸币图像采集系统[J].电子技术,2006,33(2):64-67.
[3] 贺科学,李鸿.基于CPLD和接触式图像传感器的图像采集系统[J].单片机与嵌入式系统应用,2006(4):48-50.
[4] 冯涛,曹丹华,吴裕斌.基于DSP的CIS信号采集与处理技术[J].测控技术,2003,22(8):26-28.
[5] 魏建英,叶玉堂,吴云峰,等.基于FPGA的超长CIS 图像采集系统[J].通信技术,2009,42(2):298-300.
[6] 王旭东,叶玉堂,陈东明,等.基于FPGA与CIS的高速高精度图像采集系统[J].电子测量技术,2010,33(9):63-69.
[7] Yan Lei,Zhao Gang,Ryu Si Heon,et al.The platform of image acquisition and processing system based on DSP and FPGA[C].Proceedings of the International Conference on Smart Manufacturing Application,2008:470-473.

此内容为AET网站原创,未经授权禁止转载。