崔偉清, 黨長春, 張 旺, 王洪洲, 羅勇牙
(華北電力大學(保定), 河北 保定 071000)
目前,應用于字符識別的方法,主要有基于模板匹配方法[1]與基于學習方法[2]。文獻[1]基于模板匹配方法,識別準確率在97%以上。文獻[2]提出了一種基于梯度方向直方圖HOG特征和支持向量機的前向車輛識別方法,識別準確率在96%以上。模板匹配方法對選取的特定模板依賴性比較大,不過針對特定的圖像識別,模板識別方法可以達到更高的識別率。針對銀行卡號識別,本文用HOG算法提取特征向量[3],利用模板匹配方法[1],識別銀行卡號。
針對農(nóng)業(yè)銀行借記卡進行卡號識別。預處理步驟為灰度化、二值化、膨脹、邊緣檢測、輪廓提取、擴展圖像邊緣與歸一化、平滑。下圖1是預處理后的0、5、9 數(shù)字圖像。
圖1 預處理后的0、5、9數(shù)字圖像
本文HOG算法針對預處理后的二值圖像(像素值0和255)進行處理。在求取方向梯度直方圖時,將方向角度考慮為360°,量化為12個直方圖通道,每個通道代表30°。在計算每個像素對直方圖貢獻時,采取線性插值的方法。
文獻[3]在求取block的方向梯度直方圖時,將一個block劃分為4個ceil,每個ceil有6*6個像素點。區(qū)別于文獻[3]的方法,本文將大小為42*62的二值化圖像看做一個block,一個block包含兩個ceil。兩個ceil的大小通過求圖像質心的方法確定。本文采用基于圖像質心劃分ceil的方法,相較于文獻[3]的方法,盡可能保留了數(shù)字信息。具體流程如下:先對預處理后的數(shù)字圖像求出質心(x,y);過質心作一條橫穿數(shù)字圖像的豎直線,將圖像分為左右兩部分ceil,如圖2-1;再過質心作一條水平線,將圖像分為上下兩部分ceil,如圖2-2。
圖2 數(shù)字0的特征向量
針對圖2-2,分別求出左右兩部分ceil的方向梯度直方圖,表示為兩個12維的特征向量。根據(jù)歐氏距離公式,將兩個特征向量分別進行L2范數(shù)歸一化處理。歸一化的目的在于,降低由于特征向量的幅值差異而對匹配造成的影響。將兩個向量合并為一個24維的向量,再次歸一化,即得到一個標準化的24維的特征描述子。針對圖2-2,分別求出上下兩部分ceil的方向梯度直方圖,并按照圖2-1的處理方法,也可得到一個24維的特征描述子。針對圖2-3,求出整幅圖像的方向梯度直方圖,得到一個12維的特征描述子。將以上3個特征描述子按順序連接起來,形成一個60維的描述子,作為數(shù)字0的特征向量。
應用以上算法,求出每幅圖像的特征向量。每個數(shù)字選出10幅圖像,分別求出每幅圖像的特征向量,取平均值作為數(shù)字識別的模板特征向量。求取待識別的每個數(shù)字圖像的特征向量,并分別計算該特征向量與10個模板特征向量的歐式距離。歐式距離最小的模板對應的數(shù)字,即為最佳匹配結果。
本實驗所使用的數(shù)字圖片的尺寸均為42*64,軟件平臺為Microsoft Visual 2017,OpenCV3.2(開源計算機視覺庫)。為了獲得客觀全面的測試結果,選取明暗不均、存在劃痕、數(shù)字模糊等情況的樣本。分別用兩種HOG算法進行測試。第一種是傳統(tǒng)的直方圖HOG算法,特征向量有45維;另一種是本文改進后的HOG算法,特征向量有60維。測試結果見表1。
表1 測試結果
本文改進后的算法識別準確率98.18%,比傳統(tǒng)HOG算法提高3.34%。經(jīng)測試發(fā)現(xiàn),改進后的HOG算法可以識別絕大部分的數(shù)字圖像,充分體現(xiàn)了HOG算法對圖像幾何和光學形變具有良好適應性的優(yōu)勢。
針對銀行卡號識別,本文提出了一種HOG特征模板匹配算法,對傳統(tǒng)HOG算法進行了兩點改進:第一,利用ceil求取方向梯度直方圖時,將方向角度考慮為360°,包含12個通道,每個通道代表30°;第二,在劃分ceil大小時,提出一種基于圖像質心劃分ceil的方法。經(jīng)過測試表明,基于以上兩點改進的HOG算法,相較于傳統(tǒng)HOG算法,使特征向量提取出了盡可能多的數(shù)字信息,有效提高了識別準確率。