基于FPGA和DSP的人民币图像鉴别平台设计

来源:本站
导读:目前正在解读《基于FPGA和DSP的人民币图像鉴别平台设计》的相关信息,《基于FPGA和DSP的人民币图像鉴别平台设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于FPGA和DSP的人民币图像鉴别平台设计》的详细说明。
简介:本文在实际项目的支撑下,提出并实现了一种高速采集、实时处理的人民币图像鉴别系统平台。

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

采集和处理是识别纸币图像的两个关键步骤。采集可以用CPLD、CPLD+SRAM、FPGA解决方案,处理可以采用ARM或者DSP。要达到实时高速的人民币图像鉴别能力,快速稳定的软件算法和高性能可靠的处理平台是必要的。

经实际测试验证,本系统在1000张/min的采集和处理速度时能够稳定地工作;可以检测正反、朝向、面额、版别、冠字符、真伪等纸币特征信息,能够给出伪币的出错特征,并保存图像到上位机;整个系统可以作为一个完备的、符合GB16999-2010要求的纸币图像特征检测模块,可方便地以子系统形式整合到机具中,具有很好的应用前景、良好的可升级性和鲁棒性。

1技术背景与系统总体结构

目前,有一些纸币鉴别仪使用了纸币图像的特征进行伪币鉴别。基于CPLD和ARM平台的方法[1]主要缺点在于CPLD的片上存储资源很少,导致特征的细节采集不够;同时ARM属于通用处理控制平台,数据处理能力有限,不适于CIS升级后带来的大量数据处理的要求。采用CPLD+SRAM+DSP的方法[2-3]解决了上述问题,但是SRAM和CPLD之间要使用外部引线,高速采集时可能有信号完整性、电磁兼容等问题,并且CPLD的非时序应用特征不适合控制用。而使用DSP作为控制、CPLD只作为纯逻辑接口[4],可以用在传送带速度为2m/s的宽度识别仪中,但是作为过钞速度很快的鉴别仪的图像识别模组则不合适。使用基于FPGA的图像采集方法[5-6]对于采集流程的控制和乒乓存储的实现都比较容易,适合于大数据量的图像采集,并且输出格式易于高度自定义,可以传到上位机处理,也能送到嵌入式处理单元。而DSP是通用的数据处理芯片,并且集成了许多现成的模块,对实时算法处理的支持性较好[7]。

本系统使用接触式图像传感器CIS(ContactImageSensor)作为纸币图像传感器,使用CIS自带光源和外部光源作为纸币的照明光源,用高速ADC将纸币图像数字化;FPGA控制CIS、ADC和照明光源的工作状态,对纸币图像数据进行数字采样、整理、倾斜检测和视频制式化。DSP接收FPGA的输出视频,采用已验证的软件算法检测出纸币特征,然后通过串行接口RS-232发送纸币检测结果到鉴别仪主控模块。在调试模式下,DSP通过JTAG接口与PC通信,把采集到的纸币图像保存到上位机。

2系统设计

2.1数据吞吐量

本文采用的算法可以对每英尺的像素个数(100dpi)的纸币图像进行良好的检测,所以采集的纸币横向和纵向分辨率均要≥100dpi。100元纸币大小为156mm×77mm,以采集100dpi的图像为例,纸币所占像素个数为614pixel×300pixel。考虑到纸币上下和左右的偏移量,设置采集的纸币图像大小为720×425。检测纸币需要4幅图像,则完成一次检测需要的数据量为9.8Mb。

人民币鉴别仪的过钞速度可达1000张/min(即每秒要完成17张纸币的检测工作),则系统有效数据吞吐量为163.2Mb/s。

2.2图像采集与发送的设计

CIS采集的频率由FPGA来控制,最简单的方法是FPGA控制CIS以一定常数的频率采集图像,但是由于鉴别仪码盘的机械转动速度会在一定的范围内变化,这种方法会导致采集窗口的偏移和纸币图像的纵向分辨率的不一致,为后续的图像处理工作带来困难。因此,本系统中,FPGA通过监视机具的转速来动态调节CIS的采集频率。

采集和处理模块分开,数据传输采用通用微型坚固接口来保证信号的完整性。DSP内部拥有视频处理子系统VPSS(VideoProcessingSubsystem),VPSS提供一个视频处理前端VPFE(VideoProcessingFrontEnd)与图像传感器、视频解码器等连接、而视频处理后端VPBE(VideoProcessingBackEnd)与显示设备连接。VPFE使用硬件实现图像接收,以确保设计中更专注于算法层面的问题和传输的快速正确实现。VPFE支持16bit的视频输入,从而不必频繁地占用数据总线,加快算法的检测速度。

以码盘额定周期为110Hz/s为例,设CIS采集的周期是该周期的一半,一幅图像的横向像素个数为720个,则每个像素的读出时间为76.4ns。CIS在输出像素前通常需要一段时间来完成信号处理,会占一行有效像素输出时间的20%,则每个像素的读出时间约为63.6ns。所以CIS的工作时钟频率至少为20MHz。要在一个采集周期内将两面的图像全部发送完毕,发送模块的数据时钟频率应是CIS工作时钟的两倍,再加上行、场同步信号,则时钟频率还应该再适当高一些,可以采用50MHz。

数据采集和发送要保证实时性,这可能会发生读写冲突的情况。两面图像采用两路CIS,设定每路CIS输出为20MHz等效频率的数据,量化为8bit位宽的数字信号;FPGA输出一路50MHz、16bit的图像。若串行处理,则采集和发送的时间比为5:2,考虑到输出帧同步、行同步等指示信号,则在预留的发送时间大于实际采集时间的1/2的情况下,读写冲突不会发生。若使用乒乓操作,则不需要考虑以上问题。为保证今后的稳定性,系统最终采用乒乓操作解决采集和发送的时间冲突。

为了减少电路板体积、节省资源,使用FPGA内部SRAM进行数据缓存。为保证数据传输的实时性,每接收一行数据后,就将其发送给DSP。一行图像大小为11.52Kbit,在乒乓操作时,缓存的数据量也不会超过240Kbit的内部SRAM。

2.3图像接收与处理的协调机制

按照1000张/min的检测要求,每张纸币的过钞时间平均为60ms。采用流水线的方式进行图像的接收和处理。当一张纸币进入过钞通道时,开始进行采集,每采集一行,就将该行发送给DSP。如果FPGA检测到图像的信息已经足够DSP进行图像处理,则FPGA会给出一个数据无效的标志,DSP转入图像处理阶段。得到纸币的检测结果后,DSP将结果发送至鉴别仪的主控模块。

定义图像的鉴别周期包括图像的接收、处理、发送和显示,一般情况下这4个步骤在一个鉴别周期中即可全部完成。但是采集模块捕获的图像可多可少,比如在“图像鉴别周期#1”中,采集模块输出的图像就大于预计的图像尺寸,需要更长的时间来接收,从而使处理的时间变长,可能出现当下一帧图像已到达、而当前帧图像还没有处理完的情况。由于采用流水线机制,构建图像处理缓冲区,只要在此时间窗口中,都可保证在图像接收的过程中处理有序进行。为了更进一步地预防接收和处理的冲突,定义接收为第一优先级,图像处理和结果发送为第二优先级,图像显示为最低优先级。

正常工作测试下,系统把处理得到的人民币信息按照预定义格式发送到后端主控模块。测试数据通过串口线实时上传到主机,主机中使用自己编写的串口数据记录程序来接收人民币信息。基于此平台,可通过4种鉴伪技术(红外图像鉴伪、水印头像鉴伪、冠字符鉴伪、多光谱鉴伪)和3种检测能力(面额检测、版别检测、冠字符检测)实现对人民币的识别,所需时间约为14ms。全部识别功能开启时,每分钟可采集图像1000张。测试700张真币时的误检率为0%,测试普通假币141张,漏检1张,普通假币漏检率为0.71%。变造币126张,漏检6张,变造币漏检率为4.76%。漏检率较高的原因是变造币识别难度大,这方面的性能提高需要从软件算法上来实现。

本文设计的处理平台采用高品质接触式图像传感器、低成本采集芯片和高性能处理芯片构成,系统配置满足图像识别的硬件要求,包含了方便的调试环境,能够稳定可靠地工作。今后的研究重点是处理算法的一致性和精准性。升级该平台仅需更换相应模块,拥有良好的应用前景。

提醒:《基于FPGA和DSP的人民币图像鉴别平台设计》最后刷新时间 2024-03-14 01:06:03,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于FPGA和DSP的人民币图像鉴别平台设计》该内容的真实性请自行鉴别。