洪銘浩
摘 要:本設(shè)計(jì)的主要研究?jī)?nèi)容是在獲取人民幣的基礎(chǔ)上通過(guò)FPGA、CIS傳感器進(jìn)行紙幣圖像采集,并對(duì)采集到的紙幣圖像進(jìn)行預(yù)處理,包括去噪、邊緣檢測(cè)和傾斜校正。邊緣檢測(cè)過(guò)程中,利用離散點(diǎn)進(jìn)行直線擬合,不僅可以得到紙幣的邊緣,還可以計(jì)算出紙幣的中心點(diǎn)和傾斜角度,然后將紙幣圖像旋轉(zhuǎn)校正,使圖像位置歸一化。預(yù)處理完成之后,利用尺寸識(shí)別算法完成對(duì)紙幣尺寸的測(cè)量,從而確定紙幣的面額。在面額得到識(shí)別的基礎(chǔ)上,根據(jù)提取得到的紙幣特征與模板匹配來(lái)對(duì)紙幣面向進(jìn)行識(shí)別。
關(guān)鍵詞:圖像采集;FPGA;模板匹配
1 引言
1.1 背景與國(guó)內(nèi)外研究現(xiàn)狀
當(dāng)前,在美、英、德等西方發(fā)達(dá)國(guó)家,紙幣識(shí)別技術(shù)早已廣泛的應(yīng)用在生活當(dāng)中。我國(guó)這些年來(lái)也加強(qiáng)教育,不斷增加科研投資,使我國(guó)的科研水平節(jié)節(jié)升高,但與國(guó)外相比仍有一定的差距。近年來(lái),由于部分著名院校的合作研發(fā),我國(guó)在自動(dòng)化方面的水準(zhǔn)有了顯著的提升。不過(guò)紙幣識(shí)別在我國(guó)幾乎從零開(kāi)始研究,應(yīng)著手于圖像識(shí)別相關(guān)的理論,勇于實(shí)踐,造出屬于我國(guó)獨(dú)立自主研發(fā)的自動(dòng)識(shí)別設(shè)備。
1.2 研究的主要內(nèi)容
1)對(duì)圖像采集系統(tǒng)的研究。
2)對(duì)采集到的圖像預(yù)處理。
3)紙幣面額面向的識(shí)別及程序的研究。
2 紙幣圖像采集系統(tǒng)
2.1 圖像采集系統(tǒng)描述
獲取圖像,是圖像處理等一切操作的前提基礎(chǔ),當(dāng)前各種圖像都是用釆集設(shè)備獲得。本文設(shè)計(jì)是應(yīng)用FPGA(Field-Programmable Gate Array)、CIS(Contact Image Sensor)圖像傳感器為核心器件的圖像的采集系統(tǒng)。
2.2 系統(tǒng)的選型
CIS是最新型線性圖像傳感器,最大特點(diǎn)小巧輕便,當(dāng)它工作時(shí),LED光源發(fā)出光,照到待采集的物體表面,反射光線之后,經(jīng)聚焦成像于光電傳感器的陣列上,被轉(zhuǎn)成電荷儲(chǔ)存起來(lái)。達(dá)到積蓄的時(shí)間后,以模擬信號(hào)的形式將像素電信號(hào)依次輸出,從而得到了紙幣模擬圖像的信號(hào)。本設(shè)計(jì)選型為MC06H-Z04。
本課題研究必須進(jìn)行多圖像數(shù)據(jù)相關(guān)傳輸處理,因此FPGA型號(hào)的選擇必須擁有快速I(mǎi)/O轉(zhuǎn)移的能力,選擇的型號(hào)是XC2S100E。外加二片SDRAM芯片來(lái)輔助FPGA進(jìn)行信號(hào)相關(guān)的采集處理。該芯片容量為512Mb。用的是雙電源供電,應(yīng)用芯片是TPS70451。FPGA芯片I/O口電平是3.3V,有源晶振在選型時(shí)要用3.3V來(lái)供電。50MHz的全局時(shí)鐘發(fā)生電路。
本文采用的是CIS為MC06H-Z04,有效頻率是15MHz,數(shù)據(jù)信息是三通道輸出。A/D轉(zhuǎn)換器實(shí)現(xiàn)選型時(shí),為了匹配傳感器,采樣頻率必須要大于45MHz,并且為三通道的輸入模式,因此選用的A/D轉(zhuǎn)換器為T(mén)LC5540。傳感器型號(hào)為MC06H-Z04,是一種電壓輸出型傳感器,所以運(yùn)算放大器則應(yīng)當(dāng)是電壓反饋型的,因此放大器選擇型號(hào)為AD8054。選擇USB接口作為傳輸數(shù)據(jù)的計(jì)算機(jī)接口。
3 紙幣圖像預(yù)處理
3.1 圖像的去噪
紙幣圖像中產(chǎn)生噪聲,方式多樣,類(lèi)型繁多。由于噪聲影響,圖像信號(hào)的幅值和相位的影響十分繁瑣。若果要剔除圖像噪聲,應(yīng)針對(duì)種類(lèi)不同,具體分析,實(shí)施不同措施,讓效果事半功倍。否則問(wèn)題復(fù)雜化會(huì)加劇,難以實(shí)現(xiàn)目標(biāo)。
3.2 紙幣圖像的邊緣檢測(cè)
Sobel邊緣算子所利用的算法是對(duì)圖像原始像素點(diǎn)加權(quán)平均后進(jìn)行微分處理,所以我們可以利用差分取代一階偏導(dǎo),算子的數(shù)學(xué)表達(dá)如式(1)所示。
Sobel算子主要用兩個(gè)三維矩陣,它們分別進(jìn)行水平方向和垂直方向的檢測(cè)。
算法矩陣如下:
3.3 紙幣圖像的傾斜校正
處理紙幣圖像后識(shí)別過(guò)程中,因?yàn)檩斎朐O(shè)備精度欠佳,和操作過(guò)程中肯定存在著相應(yīng)誤差,采集到的圖像會(huì)出現(xiàn)一定程度傾斜,這將會(huì)影響之后的紙幣認(rèn)別。因此,把采集到的圖像進(jìn)行邊緣檢測(cè)和傾斜校正就很有必要。
進(jìn)行傾斜校正普遍應(yīng)用的方法是Hough變換。
設(shè)原圖像 空間中直線的方程為y=kx+b,將其轉(zhuǎn)換成極坐標(biāo) 空間中對(duì)應(yīng)的極坐標(biāo)方程如式(2)所示。
4 紙幣面額識(shí)別
4.1 特征塊識(shí)別法
因?yàn)椴煌骖~的紙幣有明顯差異的區(qū)域,這些區(qū)域?yàn)樘卣鲏K識(shí)別法提供了基礎(chǔ), 這些區(qū)域涵蓋紙幣里的盲文和數(shù)字等,泛用的就是通過(guò)紙幣表面能表達(dá)紙幣面額的數(shù)字來(lái)識(shí)別。特征塊識(shí)別法就是通過(guò)識(shí)別紙幣自身帶有的不同特征進(jìn)行面額識(shí)別的。特征塊識(shí)別法的原理是在兩圖像的相同位置提取兩個(gè)大小不一的區(qū)域,其中模板圖像略小些,這樣有利于更好的識(shí)別。之后將這兩個(gè)圖像進(jìn)行內(nèi)容比對(duì),檢測(cè)兩個(gè)模板是否匹配一致,即可以識(shí)別出紙幣面額。
4.2 尺寸識(shí)別法
本文紙幣面額識(shí)別的重點(diǎn)應(yīng)用對(duì)象是第五版人民幣。所以進(jìn)行對(duì)比人民幣的長(zhǎng)寬來(lái)識(shí)別人民幣的面額大小。通過(guò)測(cè)量獲得第五版人民幣的各面值尺寸,如表1所示。
紙幣面額的尺寸識(shí)別法是根據(jù)不同紙幣的長(zhǎng)寬不等、差異明顯的特點(diǎn)進(jìn)行面額識(shí)別,不同面額的紙幣且面額差距越大紙幣大小相差也就越顯著。因此只要我們通過(guò)手段確定出掃描紙幣圖像的長(zhǎng)寬,即可識(shí)別出紙幣的面額。
5 紙幣面向識(shí)別
5.1 基于模板匹配的面向識(shí)別算法
本文利用模板匹配進(jìn)行面向的識(shí)別。圖像的匹配算法分為幾何特征匹配和灰度特征匹配兩類(lèi)。圖像的幾何特征包括投影特征、方向碼、圖像邊緣輪廓及紋理等,這些特征對(duì)于圖像的放縮、旋轉(zhuǎn)及灰度變化能保持很好的穩(wěn)定性。
待識(shí)別圖像輸入、預(yù)處理、灰度特征提取、匹配計(jì)算、結(jié)果輸出是模板匹配的一般流程。這幾個(gè)步驟間又有很大關(guān)系,預(yù)處理的結(jié)果將會(huì)影響特征提取的方法和質(zhì)量,根據(jù)不同的提取特征,我們會(huì)采用不同的匹配算法,最后得到的輸出結(jié)果可能不盡相同。
5.2 100元面向識(shí)別的程序代碼
clear%清內(nèi)存
%***將彩色圖像轉(zhuǎn)換為灰度圖像,讀取模板圖像****
I=imread(‘C:\Users\DELL\Desktop\人民幣識(shí)別\面向識(shí)別\模板與測(cè)試圖像和說(shuō)明\001.jpg);%該路徑為模板圖片文件夾位置,下同
x01=rgb2gray(I); x1=double(x01);
I=imread(‘C:\Users\DELL\Desktop\人民幣識(shí)別\面向識(shí)別\模板與測(cè)試圖像和說(shuō)明\002.jpg);
x02=rgb2gray(I);x2=double(x02);
I=imread(‘C:\Users\DELL\Desktop\人民幣識(shí)別\面向識(shí)別\模板與測(cè)試圖像和說(shuō)明\003.jpg);
x03=rgb2gray(I);x3=double(x03);
I=imread(‘C:\Users\DELL\Desktop\人民幣識(shí)別\面向識(shí)別\模板與測(cè)試圖像和說(shuō)明\004.jpg);
x04=rgb2gray(I);x4=double(x04);
%***將彩色圖像轉(zhuǎn)換為灰度圖像,讀取測(cè)試圖像
%手動(dòng)更改t01-t04對(duì)應(yīng)測(cè)試圖像的正反面與正倒像
I=imread(‘C:\Users\DELL\Desktop\人民幣識(shí)別\面向識(shí)別\模板與測(cè)試圖像和說(shuō)明\t04.jpg);
y01=rgb2gray(I);y1=double(y01);figure;imshow(I)
%調(diào)用函數(shù)ppmm求取誤差最小值進(jìn)行比較,其中裁剪參數(shù)c001需要根據(jù)實(shí)際情況手動(dòng)輸入
%調(diào)用的函數(shù)ppmm需要與主程序在一個(gè)文件夾內(nèi)
z1=ppmin(x1,y1)
z2=ppmin(x2,y1)
z3=ppmin(x3,y1)
z4=ppmin(x4,y1)
z5=min([z1,z2,z3,z4])
if z5==z1
disp(‘100元正面正像)
elseif z5==z2
disp(‘100元正面倒像)
elseif z5==z3
disp(‘100元反面正像)
else
disp(‘100元反面倒像)
End
6 軟件仿真
6.1 面額仿真
目前MATLAB軟件是功能最為強(qiáng)大的,應(yīng)用的方向非常廣泛。本設(shè)計(jì)主要是應(yīng)用MATLAB軟件強(qiáng)大的圖像處理功能,對(duì)CIS圖像傳感器采集到的紙幣圖像進(jìn)行去噪、增強(qiáng)、邊緣檢測(cè)及傾斜校正,從而可以達(dá)到面額識(shí)別的相關(guān)目的。仿真圖如4所示。
6.2 面向仿真
下面對(duì)面向識(shí)別進(jìn)行仿真,模板圖像4個(gè)面向,每個(gè)圖像總像素?cái)?shù)1590。隨機(jī)選取紙面有污跡的100元鈔票做為測(cè)試樣本,在不同光照條件下采集圖像的4個(gè)面向。分別將測(cè)試的4幅圖像輸入程序進(jìn)行測(cè)試,每一幅圖像分別與模板的4個(gè)樣本進(jìn)行匹配計(jì)算找出誤差最小的對(duì)應(yīng)模板即為匹配成功,直接輸出結(jié)果,仿真情況如圖5所示。
從仿真結(jié)果來(lái)看本文算法面額面向識(shí)別是有效的,可以正確的實(shí)現(xiàn)預(yù)定的功能,至此設(shè)計(jì)完成。
7 結(jié)論
本設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)一款紙幣識(shí)別系統(tǒng),彌補(bǔ)目前市場(chǎng)上應(yīng)用產(chǎn)品的不足。整個(gè)系統(tǒng)工作的主要流程是應(yīng)用采集系統(tǒng)對(duì)紙幣進(jìn)行采集,通過(guò)高速圖像傳感器CIS將圖像信息傳達(dá)給FPGA處理,之后通過(guò)USB上傳到PC機(jī),應(yīng)用MATLAB中帶有的各種算法,做進(jìn)一步處理。
本設(shè)計(jì)的主要?jiǎng)?chuàng)新之處在于應(yīng)用了獨(dú)特的面額面向識(shí)別法對(duì)紙幣進(jìn)行識(shí)別,目前為止尺寸識(shí)別法從未應(yīng)用于實(shí)踐。雖然改善了設(shè)計(jì)環(huán)節(jié),降低了生產(chǎn)成本,但這不是最完美的設(shè)計(jì)。在精度和準(zhǔn)確性上還需更加的完善,細(xì)節(jié)方面還需更多地考慮。在今后的學(xué)習(xí)中一定要更加努力,希望能在紙幣鑒偽以及外幣識(shí)別方面多作研究。
參考文獻(xiàn)
[1]蔡勐.紙幣清分機(jī)控制系統(tǒng)的分析與設(shè)計(jì)[D].北京郵電大學(xué).2012:23-30
[2]張俊蘭,艾瑞波.數(shù)字圖像處理技術(shù)的解析[J].延安大學(xué)報(bào).2009,8(24):22-26