如何以DSP為核心設(shè)計(jì)紙幣識(shí)別系統(tǒng)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
紙幣清分是銀行的一項(xiàng)重要業(yè)務(wù)。 目前,國(guó)內(nèi)很多銀行使用的紙幣清分機(jī)都是由國(guó)外進(jìn)口的,價(jià)格昂貴。國(guó)產(chǎn)紙幣清分機(jī)很少,而且功能都很有限,很難滿足高速實(shí)時(shí)性的要求,尤其是能夠用圖像處理的方法來(lái)識(shí)別紙幣的紙幣清分機(jī)還剛剛起步。
為此,設(shè)計(jì)了一種紙幣識(shí)別系統(tǒng)。該系統(tǒng)以DSP為核心處理器,結(jié)合圖像傳感器CCD和復(fù)雜可編程邏輯器件CPLD,并輔以高性能的模/數(shù)轉(zhuǎn)換器AD9200,進(jìn)行紙幣圖像的采集、處理。該系統(tǒng)主要針對(duì)人民幣第四版和第五版的5元、10元、20元、50元、100元九種紙幣進(jìn)行識(shí)別,利用數(shù)字圖像處理技術(shù)和改進(jìn)的自組織映射神經(jīng)網(wǎng)絡(luò)(SOFM)提取紙幣圖像的長(zhǎng)度、寬度、方向塊特征,區(qū)分紙幣的面值、正反面與正反向。最終完成的系統(tǒng)能達(dá)到較高的識(shí)別速度和識(shí)別率。
1 硬件設(shè)計(jì)
識(shí)別系統(tǒng)的總體硬件結(jié)構(gòu)如圖1所示。人民幣的圖像首先通過(guò)傳感器CCD掃描后得到光電轉(zhuǎn)換信號(hào),并經(jīng)過(guò)AMP的三倍放大;然后將放大的模擬信號(hào)經(jīng)過(guò)模數(shù)轉(zhuǎn)換器AD9200轉(zhuǎn)換成為標(biāo)準(zhǔn)的數(shù)字信號(hào),送入到CPLD緩存;最后通過(guò)EDMA通道輸入到DSP的RAM中,在DSP中進(jìn)行圖像的處理和識(shí)別。整個(gè)系統(tǒng)的信號(hào)邏輯時(shí)序由CPLD來(lái)控制。 另外,還有一些輔助環(huán)節(jié),如紙幣輸入輸出裝置、用戶檢測(cè)裝置、復(fù)位裝置等。
圖1 識(shí)別系統(tǒng)的總體硬件結(jié)構(gòu)框圖
紙幣圖像的采集由CCD與A/D轉(zhuǎn)換器組成。本系統(tǒng)采用線陣型CCD[1],它的采樣速度較快、電路設(shè)計(jì)比較簡(jiǎn)單、體積小、時(shí)序也易于實(shí)現(xiàn)。根據(jù)系統(tǒng)對(duì)采集速度的要求,設(shè)置橫向分辨率為4像素/毫米,共采集800個(gè)像素點(diǎn);縱向的分辨率為1像素 /毫米。每張圖像的高度不超過(guò)76毫米,兩張紙幣之間還有一定的間隔,實(shí)際采集100列。這樣,每張圖像的像素為800&TImes;100。紙幣的進(jìn)入與離開(kāi)的判斷使用紅外線光電管檢測(cè)。
人民幣的圖像經(jīng)過(guò)采集和A/D轉(zhuǎn)換后,暫存入CPLD芯片XC95144中,然后由DSP通過(guò)EDMA通道直接傳輸。整個(gè)采集和存儲(chǔ)過(guò)程的時(shí)序信號(hào)是由XC95144產(chǎn)生的。CPLD需要編程實(shí)現(xiàn)的內(nèi)部結(jié)構(gòu)如圖2所示。其中,ADCLK信號(hào)是發(fā)送給AD9200的時(shí)鐘信號(hào),SP、CP信號(hào)傳送給CCD的移位寄存器作為啟動(dòng)脈沖和采樣時(shí)鐘脈沖。
圖像的識(shí)別部分由數(shù)字信號(hào)處理器DSP[2]及相應(yīng)的外圍電路構(gòu)成,其結(jié)構(gòu)如圖3所示。數(shù)字信號(hào)處理器DSP選用TI公司生產(chǎn)的TMS320C6711GFN150芯片,主頻為150MHz。掃描采集到的紙幣圖像數(shù)據(jù)Data經(jīng)EDMA存入靜態(tài)存儲(chǔ)器SRAM中,DSP對(duì)已存入SRAM的數(shù)據(jù)作一系列的識(shí)別算法運(yùn)算,并將最終結(jié)果通過(guò)DSP的McBSP1口輸出。
圖2 CPLD的內(nèi)部結(jié)構(gòu)圖
圖3 DSP及相應(yīng)的外圍電路的結(jié)構(gòu)圖
2識(shí)別方法
2.1圖像的定位與面值的識(shí)別
定位圖像包括兩個(gè)方面:圖像邊界及中心點(diǎn)的確定和圖像傾斜度的校正。求取圖像邊界中心點(diǎn)的方法,采用自整個(gè)掃描的圖像邊界向內(nèi)選取,確定紙幣圖像邊界上的少數(shù)點(diǎn),再對(duì)這些點(diǎn)進(jìn)行直線擬合,從而確定紙幣的四個(gè)邊界。四個(gè)邊界中心點(diǎn)的連線的交點(diǎn)即為圖像的中心點(diǎn)。紙幣圖像的邊界與掃描采集的圖像的邊界的夾角就是傾斜角。規(guī)定傾斜角超過(guò)17°地紙幣,作為不可識(shí)別類。
確定了紙幣圖像的邊界、中心點(diǎn)和傾斜角后,紙幣的長(zhǎng)度和寬度就能準(zhǔn)確地計(jì)算出來(lái)。對(duì)于長(zhǎng)寬差異小的人民幣(比如4版5元與5版50元),則提取圖像的區(qū)域特征加以區(qū)分比較,判別面值。
2.2 圖像面向的識(shí)別
紙幣正反面與正反向的識(shí)別在以往的紙幣清分機(jī)系統(tǒng)中采用人工提取特征的識(shí)別方法,試驗(yàn)周期長(zhǎng),不具有適應(yīng)性與系統(tǒng)性。本文采用自組織特征映射神經(jīng)網(wǎng)絡(luò)的方法,自動(dòng)尋找紙幣圖像的特征分布,加以識(shí)別。
本系統(tǒng)的SOFM網(wǎng)絡(luò)輸入層為72個(gè)節(jié)點(diǎn),輸出層為4個(gè)節(jié)點(diǎn)。輸入的是紙幣圖像的72維方向塊特征數(shù)據(jù)向量,計(jì)算輸出的是正面正向、正面倒向、反面正向、反面倒向四種面向標(biāo)志。其中,獲得方向塊特征向量數(shù)據(jù)的方法是將紙幣圖像劃分為72個(gè)塊,對(duì)每個(gè)塊按步長(zhǎng)為4個(gè)像素取值作灰度平均,將灰度均值作為方向塊的特征數(shù)據(jù)。本系統(tǒng)SOFM網(wǎng)絡(luò)具體算法如下:
a. 對(duì)所有輸入節(jié)點(diǎn)到輸出節(jié)點(diǎn)的連接權(quán)值賦以初始化值,初始化學(xué)習(xí)系數(shù)α=0.5。
b. 對(duì)第m類幣種網(wǎng)絡(luò)輸入樣本數(shù)據(jù)Xm=[x1,x2,…,x72],m=1,2,…,9。
c. 計(jì)算輸入Xm與所有輸出節(jié)點(diǎn)連接權(quán)值Wj的距離:
d. 選擇具有最小距離的節(jié)點(diǎn)j*作為獲勝節(jié)點(diǎn):dj*=min{dj}。
e. 調(diào)整輸出節(jié)點(diǎn)j*與輸入節(jié)點(diǎn)的連接權(quán)值和學(xué)習(xí)系數(shù)α:
以DSP為核心的紙幣識(shí)別系統(tǒng)設(shè)計(jì)
式中,n為第m類幣種樣本數(shù)據(jù)個(gè)數(shù)。
f. 若第m類幣種還有訓(xùn)練樣本數(shù)據(jù),轉(zhuǎn)到 b;否則,轉(zhuǎn)到g。
g. 若m≥9,訓(xùn)練結(jié)束;否則,轉(zhuǎn)入第m+1類幣種訓(xùn)練。
本系統(tǒng)是將需要識(shí)別的第四版與第五版人民幣共九種主幣分為九類處理的,所以對(duì)于每一類幣種網(wǎng)絡(luò)輸出只存在四種面向標(biāo)志相互競(jìng)爭(zhēng)。根據(jù)這一點(diǎn),可以改進(jìn)算法:先將四個(gè)輸出節(jié)點(diǎn)對(duì)應(yīng)好四種面向標(biāo)志,然后從同一個(gè)類紙幣樣本中選擇每個(gè)面向的特征數(shù)據(jù)作為該面向的對(duì)應(yīng)輸出節(jié)點(diǎn)到輸入節(jié)點(diǎn)的連接權(quán)值的初始值。
3 實(shí)驗(yàn)與總結(jié)
在實(shí)驗(yàn)中,共使用1800張人民幣訓(xùn)練識(shí)別網(wǎng)絡(luò),每一類人民幣200張,算上每張人民幣的四個(gè)面向,可認(rèn)為每一類紙幣的訓(xùn)練樣本為800個(gè)。另外,每一類人民幣取400張做測(cè)試,共3600張,可認(rèn)為測(cè)試樣本是14400個(gè)。其中,表1為實(shí)驗(yàn)測(cè)試數(shù)據(jù)(未含不識(shí)別類處理)。不識(shí)別類主要是由傾斜角超過(guò)引起的,在實(shí)驗(yàn)中將它重新測(cè)試,直至識(shí)別出。
表1 實(shí)驗(yàn)測(cè)試數(shù)據(jù)
實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)對(duì)紙幣面值的識(shí)別率達(dá)100%,對(duì)面向的識(shí)別率達(dá)99.82%。紙幣識(shí)別的速率達(dá)650張/分,滿足了高速實(shí)時(shí)性。對(duì)0.18%的誤差率作了研究,發(fā)現(xiàn)主要是由紙幣的殘缺引起的,它使紙幣的長(zhǎng)寬檢測(cè)不準(zhǔn),或者破壞了圖像的特征方向塊分布。今后的工作將著重研究紙幣殘缺的識(shí)別。