文獻標識碼: A
文章編號: 0258-7998(2012)12-0020-03
隨著紙幣防偽技術和假幣制造技術的日益發展,原有的鑒偽手段越來越不能滿足市場需求。國家質量監督檢驗檢疫總局和國家標準化管理委員會于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.