史素霞,常婉秋,宋志英
(1.河北政法職業(yè)學院 建設(shè)工程與法務(wù)系,石家莊 050061;2.中國農(nóng)業(yè)大學 土地科學與技術(shù)學院,北京 100083;3.農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)災(zāi)害遙感重點實驗室,北京 100083)
OCR字符識別是將影像數(shù)據(jù)提取出相應(yīng)的字符信息,并翻譯成計算機語言的過程[1]。實際上對于OCR文字識別的過程,首先是確定字符所在的矩形區(qū)域,通過記錄矩陣區(qū)域的黑色像素數(shù),對字符內(nèi)容進行記錄,通過記錄矩形區(qū)域內(nèi)黑色像素的平均和值,以及和的平均方差等統(tǒng)計信息,使得字符的識別具有唯一性,有利于更加準確地識別字符。計算機的發(fā)展對OCR光學字符的識別產(chǎn)生深遠的影響。
1999—2004年,研究學者主要基于傳統(tǒng)的統(tǒng)計方法對光學字符進行識別[2],隱馬爾柯夫模型(Hidden Markov Model,HMM)和支持向量機(Support Vector Machine,SVM)模型出現(xiàn)跳躍式發(fā)展,研究學者將人臉識別技術(shù)和字符識別技術(shù)進行交叉研究[3]。2005—2012年研究學者有了新的突破,將遺傳算法應(yīng)用于文本檢測等字符識別方向[4]。Xiao等[5]將卷積神經(jīng)網(wǎng)絡(luò)(CNN)的運行成本進行優(yōu)化,基于全局監(jiān)督低秩展開方法(GSLRE)和自適應(yīng)下降權(quán)重(ADW)進行字符識別,將計算成本降低了10%。
本次研究選用開源的UCI光學字符數(shù)據(jù)集,從UCI Machine Learning Repository中下載獲得。UCI數(shù)據(jù)集是根據(jù)機器學習相關(guān)數(shù)據(jù)標準建立的測試性數(shù)據(jù)集,由加利福尼亞大學爾灣分校(University of California,Irvine)提出,用于深度學習和機器學習算法測試的一種數(shù)據(jù)庫。本次實驗選用UCI數(shù)據(jù)集,原因在于其數(shù)據(jù)格式的標準性,統(tǒng)一規(guī)范的數(shù)據(jù)格式有利于對數(shù)據(jù)進行處理和分析,數(shù)據(jù)源質(zhì)量的提高有助于識別精度的提升。
UCI光學字符數(shù)據(jù)集中包含多個字母樣本,每個樣本包括16個變量。其中,將字符所在矩形區(qū)域的水平位置表示為x1、字符所在矩形區(qū)域的豎直位置表示為x2、矩形區(qū)域的寬度表示為x3、矩形區(qū)域的高度表示為x4、矩形區(qū)域的黑色像素數(shù)表示為x5、矩形區(qū)域內(nèi)黑色像素的平均x值表示為x6、矩形區(qū)域內(nèi)黑色像素的平均y值表示為x7、x平均方差表示為x8、y平均方差表示為x9、x和y的平均相關(guān)性表示為x10、x2y均值表示為x11、xy2均值表示為x12、從左到右的邊緣數(shù)目表示為x13、x邊緣與y的相關(guān)性表示為x14、從下到上的邊緣數(shù)目表示為x15及y邊緣與x的相關(guān)性表示為x16。
通過對數(shù)據(jù)的篩選可以發(fā)現(xiàn)UCI數(shù)據(jù)集中存在許多0值點,再結(jié)合對變量含義的理解,將變量x1—x14中的0值視為殘缺值,通過平均值代替。對于變量x15和x16,這2個變量中的0值表示的是一種數(shù)據(jù)統(tǒng)一的理想情況,即這2個變量中可以存在0值,且有意義,因此不將其視為殘缺值,但這2個變量中的最大值表示這組數(shù)據(jù)不穩(wěn)定,通過平均值進行替換。
主成分分析方法通過降維的思想[6],將多個相關(guān)或不相關(guān)的指標化為垂直不相關(guān)的幾個綜合指標,即為模型的多元主成分。對于本次研究而言,此方法就是用主要的影響因素來分析圖像數(shù)據(jù)集,以達到準確判斷和識別每個字符的目的,具體模型建立過程如圖1所示。
圖1 主成分分析流程圖
多元回歸的逐步回歸模型根據(jù)自變量x的顯著程度,從大到小依次引入回歸方程中,當之前引入的變量由于后面新引入的變量而變得不顯著時,就要將之前那個剔除?;诒敬蔚难芯繂栴}而言,這個過程要反復(fù)多次進行,直至沒有顯著的變量可以被引入時為止,模型因子的作用如圖2所示。
圖2 逐步回歸因子圖
在原始下載的UCI數(shù)據(jù)集中存在很多的混雜因子,不利于進行字符識別模型的建立,以及影響字符識別的精度?;祀s因子對暴露因子會產(chǎn)生一定的影響,并且對最后的部分結(jié)局因子會產(chǎn)生直接或間接的作用,而逐步回歸方程可以有效地剔除部分混雜因子,因此選用逐步回歸的方法,逐層剔除混雜因子。
BP神經(jīng)網(wǎng)絡(luò)不需要提前描述輸入—輸出之間的映射關(guān)系,而是建立一種基于誤差分析訓練的多層前饋網(wǎng)絡(luò),通過學習計算各節(jié)點之間傳遞的映射關(guān)系,存儲大量的非線性網(wǎng)絡(luò)模型[7]。
基于誤差反向傳播規(guī)律,將BP神經(jīng)網(wǎng)絡(luò)的特征函數(shù)Sigmoid表示為{f(x)=1/(1+e-bx),b>0},多層前向反饋型神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)圖
本次研究將UCI數(shù)據(jù)集中70%的數(shù)據(jù)用于學習訓練,訓練集從輸入層傳入隱含層進而到達輸出層,神經(jīng)網(wǎng)絡(luò)通過不斷調(diào)整各層之間的函數(shù)關(guān)系,使得訓練結(jié)果最接近真實的輸出值,并記錄這種映射關(guān)系,對剩余30%的字符數(shù)據(jù)集進行識別,從而得到識別的精度。經(jīng)過一系列的處理,使得本次研究的BP神經(jīng)網(wǎng)絡(luò)具有很好的適應(yīng)能力。
本次研究建立的BP神經(jīng)網(wǎng)絡(luò)的總誤差E如公式(1)所示
神經(jīng)網(wǎng)絡(luò)每一層權(quán)值的確定都是基于正向的信息傳遞和誤差的反向傳播,誤差信號δk的計算如公式(2)所示
通過對輸出值Wk的正向傳播與期望值Ek的反向傳播計算,得到隱含層與輸出層之間的權(quán)重wkj如公式(3)所示
誤差信號δk通過反向傳播至輸入層,從而得到輸入層誤差信號δi,計算過程如公式(4)所示
基于反向傳播誤差信號δi,重新設(shè)定輸入層和隱含層之間的權(quán)重閾值wji,計算過程如公式(5)所示
式中:η為控制迭代步長的學習率;α為控制訓練速度的動量項。
通過對神經(jīng)網(wǎng)絡(luò)進行反復(fù)訓練,使得各層之間的權(quán)重閾值達到最好的效果,從而使整個BP神經(jīng)網(wǎng)絡(luò)的識別精度達到最好。
基于UCI數(shù)據(jù)集對數(shù)據(jù)的初步統(tǒng)計,提取每個字符對應(yīng)的所有變量的平均值,并以此作為原始的指標。對原始的指標進行標準化變換,根據(jù)統(tǒng)計學公式得到2個原始變量xi與xj之間的相關(guān)系數(shù)rij,計算過程如公式(6)所示
式中:因為相關(guān)系數(shù)矩陣是對稱矩陣,所以rij=rji。
通過主成分分析法計算原始變量的相關(guān)系數(shù)矩陣R,使累計貢獻率達85%以上,計算結(jié)果見1。
表1 主成分分析總方差解釋
由此得到7個主成分。
在進行逐步回歸計算前,引入主成分分析法得出的具有顯著作用的因子作為自變量,確定顯著性下檢驗的水準,作為引入和剔除變量的標準。針對本次的研究,樣本的觀察數(shù)n=26,自變量個數(shù)m=16,則剩余自由度為9,顯著性水平α=0.05,對7個自變量計算偏回歸平方和Ui,計算過程如公式(7)所示
根據(jù)Ui值的大小作為自變量被引入線性回歸方程后對方差的貢獻。重復(fù)此步驟多次后,回歸方程已無自變量可以剔除,同時也無新變量可以再被引入,此時構(gòu)建出的字符識別模型為
F=-2.549×10-15+3.54x1-0.42x2+2.87x3+0.89x4+2.97x5-1.61x6+1.61x7+1.96x8-0.54x9-1.84x10+2.03x11+0.48x12+1.88x13+1.61x14+0.84x15+0.94x16。
根據(jù)公式(1)至公式(5)建立BP神經(jīng)網(wǎng)絡(luò),對基于主成分分析和逐步回歸算法建立的光學字符識別模型進行優(yōu)化,得到的神經(jīng)網(wǎng)絡(luò)模型為
F=-2.55×10-15+3.52x1-0.41x2+2.64x3+0.89x4+2.91x5-1.63x6+1.61x7+1.96x8-0.51x9-1.87x10+2.02x11+0.41x12+1.83x13+1.62x14+0.81x15+0.91x16。
為了直觀地看出通過字符識別模型預(yù)測出的數(shù)據(jù),選取了前7個字符的預(yù)測結(jié)果顯示,如圖4所示。
圖4 字符識別分布圖
將UCI數(shù)據(jù)集中70%的光學字符信息用于學習,30%的數(shù)據(jù)信息用于驗證,通過離散型方程選取與每個字符均值距離最遠的30%的數(shù)據(jù),計算出每2個字符大致相交處的分界線B,計算過程如公式(8)所示
通過與字符的真實值進行比較,計算出每個字符的精度值,然后總和求均值Z,得到研究建立的字符識別模型精度Z為87.5%,各部分字符識別精度如圖5所示。
圖5 字符識別精度分析圖
通過進行上述的實驗研究,對識別精度的提高做出以下猜想:
本次實驗是將異常數(shù)據(jù)進行替換,將其變成可用數(shù)據(jù)的預(yù)處理方法,是在盡量不更改數(shù)據(jù)集數(shù)量的情況下進行的,如果將異常數(shù)據(jù)直接刪除,數(shù)據(jù)集變小,但精準度可能會提高。
在建立BP神經(jīng)網(wǎng)絡(luò)的過程中,提高學習的數(shù)據(jù)比例,變更成學習UCI數(shù)據(jù)集的80%或者更多,使得到的訓練關(guān)系系數(shù)變得更加準確,進而提高識別的精度。
在今后的實驗研究中將設(shè)計實驗,檢驗以上2個猜想,提高光學字符識別的精度。