文/劉振飛
近年來,中國的互聯(lián)網(wǎng)金融發(fā)展迅速,網(wǎng)上資金交易逐漸成為日常生活中的主流消費方式。在進(jìn)行在線基金業(yè)務(wù)時,通常涉及銀行卡的運作。在實際測試中,手動輸入的19 位銀行卡號碼很慢且容易出錯,導(dǎo)致涉及銀行卡綁定的各種產(chǎn)品的用戶體驗不佳。因此,銀行卡號識別系統(tǒng)的開發(fā)也將為人們帶來極大的便利。
由于彩色圖像在處理中需要大的空間并且增加了計算量,因此在對圖像執(zhí)行各種處理之前,彩色圖像通常被轉(zhuǎn)換為灰度圖像。圖像灰度級的方法通常具有最大值方法,平均值方法和加權(quán)方法。通過多次實驗,我們發(fā)現(xiàn)采用加權(quán)法進(jìn)行灰度處理。本文采用雙峰法來確定最佳分割閾值,經(jīng)過多次實驗選取40 閾值,采用固定閾值法進(jìn)行二值化處理。收集的銀行卡號圖像被標(biāo)準(zhǔn)化。
在圖像采集期間,由于諸如照明的環(huán)境影響,由多個采集的圖像通常伴隨有各種噪聲。在本文中,中值濾波用于組合降噪和Canny 邊緣處理。實驗表明,該方法可以最大化去噪并保留更多的邊緣信息。
在我們使用Canny 算子進(jìn)行邊緣檢測之后,為了獲得卡片的特定上下邊界和左右邊界,我們需要水平和垂直投影。對于上下邊緣,通過看其水平投影,會有兩條明顯的分界點,其就是銀行卡號的上下邊界。對于左右邊緣,看其垂直投影,是由很多明顯的豎直線和較短的直線組成,我們通過判斷最左邊字符的左邊緣和最右邊字符的右邊緣,可以得到銀行卡號的左右邊界。
最大的類間方差法是由日本學(xué)者大津在1979年提出的。它是一種自適應(yīng)閾值確定方法,也稱為Otsu 或OTSU。該算法假設(shè)圖像由前景區(qū)域和背景區(qū)域兩部分組成。通過遍歷不同閾值(通常在[0255]的范圍內(nèi))分割結(jié)果中的前景和背景區(qū)域的漸變直方圖,然后比較兩者之間的方差,以使最大化方差的灰色閾值是所需的二值化閾值。背景和目標(biāo)之間的類別之間的差異越大,構(gòu)成圖像的兩個部分之間的差異就越大。當(dāng)目標(biāo)的一部分被劃分為背景或者背景的一部分被劃分為目標(biāo)時,兩個部分之間的差異將減小。因此,最大化類之間方差的分段意味著錯誤分類的概率最小。Otsu 方法通過計算最佳閾值來降低錯誤分類的可能性。
銀行卡卡號名具有比較統(tǒng)一的格式,字的大小及間距比較固定。我們采用垂直投影法進(jìn)行分割。在處理背景圖案之后,我們?nèi)コ吮尘皥D案對垂直投影的干擾并獲得了投影圖。在垂直方向上,投影值的值不是0,并且我們在銀行卡的左下角有字符。從左至右掃描,每到值為0 的區(qū)域記錄其位置,直到掃描結(jié)束。根據(jù)剛才的記錄,我們便可以將字符分割出來。
通過前面的工作,我們已經(jīng)得到的含有單個字符的圖像,接下來就是進(jìn)行識別工作。常用的識別方法包括模板匹配方法,使用支持向量機方法的特征提取,以及基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法。
我們將處理好的卡號字符與模板想對比,在數(shù)字模板庫中找到和待識別卡號字符匹配的字符,從而完成字符的識別。我們采用逐像素點比對。通過將字符圖像與每個模板的每個點進(jìn)行比較,計算相似比,找出具有最高相似比的模板,并獲得字符圖像的數(shù)量。然而,結(jié)果證明該系統(tǒng)可以識別大多數(shù)樣本并且未能實現(xiàn)100%的識別率。
3.2.1 HOG 特征提取
HOG 特征是具有優(yōu)異性能的單個窗口對象檢測特征,其通過梯度方向上的目標(biāo)的梯度強度的直方圖分布來描述目標(biāo)對象的局部外觀形狀特征。由于HOG 特征對目標(biāo)局部區(qū)域內(nèi)的梯度方向的直方圖分布更敏感,因此HOG特征受尺寸和光照變化的影響較小。我們通過圖像灰度和伽馬校正,尺寸歸一化和梯度直方圖的構(gòu)造來執(zhí)行HOG 提取。
3.2.2 支持向量機
我們選擇SVM 作為分類器并選擇SVM模式識別方法。SVM 是由美國的貝爾實驗室提出的一種基于統(tǒng)計學(xué)習(xí)理論的模式識方法,率先應(yīng)用于美國郵政手寫數(shù)字庫識別研究方面并取得了較好的效果,隨后,在文本識別和語音識別等許多領(lǐng)域取得了許多成就?;诰C合實驗結(jié)果,SVM 分類器在訓(xùn)練樣本時可以獲得更高的識別率。
卷積神經(jīng)網(wǎng)絡(luò)是由多個二維平面組成的多層神經(jīng)網(wǎng)絡(luò)模型,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同。卷積審計網(wǎng)絡(luò)添加了用于特征提取的卷積層和唯一的不變下采樣層。重點是卷積梯度計算和下采樣層梯度計算。由于銀行卡字符總數(shù)為0-9,因此很容易使用LeNet-5 模型記憶卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和識別。該方法使用大量數(shù)據(jù)進(jìn)行訓(xùn)練并具有高識別率。
銀行卡號的分割和識別也具有廣闊的前景,仍具有很大的研究價值。接下來應(yīng)繼續(xù)深入深度學(xué)習(xí)領(lǐng)域的學(xué)習(xí),優(yōu)化算法,不斷實驗,優(yōu)化流程進(jìn)而取得良好的實驗效果。