本發(fā)明屬于圖像分類
技術領域:
,是一種通過數(shù)據(jù)集擴展且基于卷積神經(jīng)網(wǎng)絡模型的漢字分類方法。
背景技術:
:脫機手寫漢字的識別問題一直是模式識別研究領域的難點之一。盡管近幾十年來開展了很多相關的研究,但脫機手寫漢字識別問題仍然有很多困難需要克服。這些困難主要來自以下幾個方面:大規(guī)模的漢字類別(僅是GB2312-80的一級字庫就有3755種漢字)、錯綜復雜的漢字結構、大量相似的漢字以及由于不同書寫習慣導致的漢字旋轉或形變。一些非限定性手寫漢字之間的區(qū)別很小,例如“士”、“土”和“干”,“大”、“火”和“太”,“已”、“己”和“巳”等,這使得脫機手寫漢字識別任務更具有挑戰(zhàn)性。脫機手寫漢字的識別問題,至今沒有很好的解決方案。為了解決這些問題,許多識別模型和方法已被提出,包括特征提取、分類、識別以及后續(xù)處理等。其中,最具潛力的方法是深度學習和卷積神經(jīng)網(wǎng)絡模型,它可以將優(yōu)化特征提取和分類相結合,且能獲得比傳統(tǒng)的模式識別方法更優(yōu)異的性能。卷積神經(jīng)網(wǎng)絡就被YanLecun等提出并進行實驗驗證,最早應用在手寫數(shù)字識別上,在MINST上取得了0.9%的錯誤率。卷積神經(jīng)網(wǎng)絡在手寫漢字識別問題上也能取得比傳統(tǒng)的機器學習方法更優(yōu)異的表現(xiàn)。多尺度梯度(Multi-scalegradient)和深度神經(jīng)網(wǎng)絡(deepneuralnetwork)在2015年時由WeishenPan等人提出,其可以有效地識別脫機漢字字符。XinLiu等人提出的結合漢字字符傳統(tǒng)的八方向特征(eight-directionfeatures)來訓練CNNs能有效識別聯(lián)機漢字字符。然而,CNNs模型依賴于大量的訓練樣本來學習有效的特征,沒有足夠多的訓練樣本常常無法獲得令人滿意的識別性能。為了解決訓練樣本稀缺導致CNNs模型識別性能不佳的問題,本發(fā)明提出了一種基于樣本集擴展和CNNs的手寫漢字識別方法,其基本思想是通過增加有效訓練樣本的數(shù)量來擴大訓練樣本的規(guī)模,從而提高模型的識別性能。一些產(chǎn)生新的訓練樣本的方法已被研究,且它們當中大多數(shù)是針對手寫數(shù)字識別問題的。例如,PatriceY.Simard等人探索了使用彈性形變的方法來擴展訓練樣本集從而提高了對數(shù)字字符的識別準確率。高學等人使用隨機彈性形變的方法擴展訓練樣本集從而提高了對漢字字符的識別準確率。以上方法對數(shù)據(jù)集樣本數(shù)量級要求高,需要大量的數(shù)據(jù)來訓練網(wǎng)絡模型,對于小數(shù)量級樣本并沒有很好地效果。而且方法復雜,對于不同數(shù)據(jù)集,模型效果有一定差別,沒有很好地普適性。因此,對于小樣本脫機手寫漢字的分類,目前還沒有較為識別能力很強的方法。技術實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術存著的上述不足,提供一種基于卷積神經(jīng)網(wǎng)絡模型的脫機手寫漢字識別方法。本發(fā)明的目的通過如下技術方案實現(xiàn)。一種基于形變方法進行數(shù)據(jù)擴展的脫機手寫漢字識別方法,其包括按順序進行的下列步驟:1)在linux系統(tǒng)上搭建卷積神經(jīng)網(wǎng)絡的caffe深度學習框架平臺;2)準備數(shù)據(jù)集(HCL2000數(shù)據(jù)集下的一級漢字):通過彈性形變,錯切,小角度范圍旋轉等方法擴展后訓練數(shù)據(jù)集,并準備帶有標簽的測試數(shù)據(jù)集。測試集為帶有標簽的脫機手寫漢字。3)利用上述數(shù)據(jù)集在caffe平臺上訓練卷積神經(jīng)網(wǎng)絡模型,得到測試結果,實現(xiàn)對漢字的更好性能的識別;進一步地,在步驟2)中,訓練數(shù)據(jù)集從HCL2000一級手寫漢字數(shù)據(jù)集中處理后所得,處理方法為分類通過彈性形變,錯切,小角度范圍旋轉獲得一定數(shù)量的樣本,將樣本輸入到模型中,在訓練過程中,通過彈性形變模型可以學習到更多的字體筆畫、骨架等特征;通過錯切,小角度范圍旋轉可以模仿出人寫字偏斜的情況,從而學習到一些歪斜,旋轉的漢字特征;測試集為隨機從HCL2000數(shù)據(jù)集中取出的未使用過的樣本,并帶有標簽;卷積神經(jīng)網(wǎng)絡模型采用本發(fā)明發(fā)明人自創(chuàng)的網(wǎng)絡模型。與現(xiàn)有技術相比,本發(fā)明提供的基于卷積神經(jīng)網(wǎng)絡模型的脫機手寫漢字分類方法具有的優(yōu)點和積極效果是:(1)采用目前分類效果出色的卷積神經(jīng)網(wǎng)絡模型,分類性能高;(2)通過彈性形變,錯切,小角度范圍旋轉來擴展訓練數(shù)據(jù)集;通過彈性形變模型可以學習到更多的字體筆畫、骨架等特征;通過錯切,小角度范圍旋轉可以模仿出人寫字偏斜的情況,從而學習到一些歪斜,旋轉的漢字特征;以提高卷積神經(jīng)網(wǎng)絡模型對旋轉字體識別的魯棒性;(3)實驗基于GPU的并行計算,訓練和測試速度遠遠高于CPU的運算速度。附圖說明圖1為卷積神經(jīng)網(wǎng)絡拓撲結構。圖2為不同強度的高斯白噪聲處理圖片效果圖。圖3a為實例中的初始圖像;圖3b施加形變后的效果圖;圖3c對圖3b實施濾波后的形變效果圖。圖4為使用不同標準偏差α的高斯核和不同的縮放因子α的彈性變形結果圖。圖5為旋轉變換幾何關系圖。圖6為小范圍旋轉角度下的旋轉圖像。圖7為初始圖、對應的水平錯切圖像和對應的垂直錯變圖像。圖8為一些未經(jīng)過處理的相似手寫漢字圖。圖9為通過標準差σ=4,σ=20分別處理后的彈性形變效果圖。圖10為對樣本進行范圍內(nèi)的隨機旋轉的效果圖。圖11為通過錯切處理后的漢字圖。具體實施方式以下結合附圖和實例對本發(fā)明的具體實施作進一步說明,但本發(fā)明的實施和保護不限于此,需指出的,以下若有未特別詳細說明之處,均是本領域技術人員可參照現(xiàn)有技術實現(xiàn)的。卷積神經(jīng)網(wǎng)絡由輸入層、隱含層和輸出層組成,隱含層則主要包括卷積層、最大化池采樣層和全連接層組成。(1)卷積層。卷積層用于視覺接受域中提取基本視覺特征,也被稱為特征映射,操作單元也被稱作神經(jīng)元。(2)最大采樣層。因為圖像具有一種“靜態(tài)性”的屬性,這也就意味著在一個圖像區(qū)域有用的特征極有可能在另一個區(qū)域同樣適用。因此,為了描述大的圖像,可以從不同位置的特征進行聚合統(tǒng)計,統(tǒng)計特征不僅可以降低維度,同時還會改善結果,不容易過擬合。這里采用最大池化,取池化區(qū)域的最大值作為下一層的輸入。(3)全連接層。經(jīng)過卷積層和池化層之后,將提取出來的特征再進行組合,最后得到了每個字所具有的獨一無二的特征。在權重參數(shù)初始化的選擇上,采用Xavier策略,這是由Xavier等人在2010年提出的一種歸一化初始化策略,該策略使網(wǎng)絡在訓練過程中可以保持激活差異和背向梯度方差,使網(wǎng)絡收斂得非???。該策略由式給出:這里的U指的是均勻分布,分別為當前層和下一層的神經(jīng)元的數(shù)量。此外,在網(wǎng)絡訓練參數(shù)調整上,為提高網(wǎng)絡的魯棒性和加快網(wǎng)絡收斂,設定以下網(wǎng)絡參數(shù):(1)學習率。學習率將隨著迭代次數(shù)的增加逐漸減小。采用以下更新策略:其中,為基礎學習速率,、為設定的參數(shù),iter為迭代次數(shù),實驗中取,,。(2)神經(jīng)網(wǎng)絡激活函數(shù)。采用RELU非線性激勵函數(shù)代替以往的sigmoid函數(shù)。(3)誤差函數(shù)增加了動量項和規(guī)則化項。動量項是基于物理學中的牛頓定律,當誤差曲面進入了“平坦區(qū)”后,網(wǎng)絡可以更快地收斂。正則項則是為了避免網(wǎng)絡過擬合而引進的一個正則化系數(shù),也稱為權重衰減系數(shù)。網(wǎng)絡的最后一層,即全連接層,其設計是與網(wǎng)絡的分類任務相關聯(lián)的。輸出層的神經(jīng)元數(shù)量被設為所需分類的類別數(shù)目。在本實例中,采用了softmax分類器,交叉熵誤差由式給出。對于個類別的分類任務,令為第個樣本的交叉熵誤差值,而分類判別規(guī)則由式給出,其中是一個獨立于類別的常數(shù)。對于,若有,則為最小值,那么即被分為第類。在搭建完網(wǎng)絡之后,接下來對樣本進行彈性形變處理。卷積神經(jīng)網(wǎng)絡能夠對局部視野的進行卷積。因此對脫機手寫漢字訓練樣本進行彈性形變可以獲得更多的局部特征信息。圖像的形變實際上是通過坐標變換域、作用到原圖像上的每個像素點來實現(xiàn)的,這種作用可用式來表達:其中表示形變后的圖像像素點的灰度值,表示原圖像像素點的灰度值(一般地,由于、均有可能為負數(shù)使得像素的新坐標的值超出給定的圖像范圍,因此假定超出原圖像的像素點的灰度值均為255),、分別表示原圖像像素點在水平方向和豎直方向上的偏移量。一般地,和均為非整數(shù),因此在計算灰度值時插值操作是必須的,最簡單有效的插值方法是雙線性插值。假設坐標變換域是隨機的,即,,這里的指的是由均勻分布產(chǎn)生的一個隨機數(shù),其大小在到之間,是一個控制圖像的形變強度的因子,稱為形變強度因子,那么根據(jù)式將此隨機變換域作用到原樣本(圖3a)上。該形變結果顯示,樣本的筆畫信息將被嚴重破壞。因此,為了能夠保留一定的樣本筆畫信息,對隨機變換域作平滑處理是必須的;而最簡單有效的處理辦法是對隨機變換域進行高斯低通濾波,即把隨機變換域、分別與大小為、均值為0、標準差為σ的高斯核進行卷積。將經(jīng)過高斯低通濾波后得到新的變換域根據(jù)式作用到原樣本(圖3a)上,得到的結果如圖3c所示。本實例中,隨機變換域/();高斯低通濾波采用空域中大小為、均值為0、標準差的高斯低通濾波核。圖4給出了幾種不同形變強度因子α和不同標準差σ的高斯濾波器下的樣本形變效果。由圖2可以看出,當高斯濾波器標準差σ越小時,形變后樣本的筆畫信息丟失越嚴重,像給樣本加了隨機噪聲一樣;當高斯低通濾波器的標準差σ越大時,得到的變換域就越平滑,形變后樣本的筆畫信息被保留得越多。接下來通過仿射變換處理樣本。由于人們的書寫習慣各異,在現(xiàn)實生活中的手寫漢字會存在一定的傾斜情況。因此,對原始樣本圖像進行小角度的旋轉和錯切變換,這樣可以仿真這種傾斜書寫的情況。在幾何上,兩個向量空間之間的一個仿射變換可以由一個線性變換和一個平移組成。對于二維空間,仿射變換可以用矩陣的形式表示:其中大小為的矩陣和列向量都是仿射變換的系數(shù),和分別表示原二維線性空間的基向量和經(jīng)仿射變換后的二維線性空間的基向量。對樣本作仿射變換得到新的樣本可以通過式將轉換系數(shù)作用到圖像上的每一個像素點來實現(xiàn)。這種作用關系由式給出。其中表示變換后圖像坐標為的像素點的灰度值,表示原圖像坐標為的像素值(由于和的值都有可能超出給定圖像且為非整數(shù),因此假定超出給定圖像大小的像素點的灰度值均為255并在專利中應用雙線性插值的方法)。常見的仿射變換有平移、縮放、旋轉、錯切變換(水平方向上和豎直方向上)等。本實例采用了對樣本作旋轉和錯切變換(水平方向上和豎直方向上)的方法來擴展樣本集。對樣本進行小范圍角度旋轉處理,如圖5所示,以點為軸心逆時針旋轉,假定點在原二維空間中的坐標為,則由幾何關系可以得到點在新的二維空間中的坐標的取值分別為:因此,旋轉變換系數(shù)分別為:,對圖像中的每一個像素都通過和來計算新的坐標取值,然后根據(jù)式計算每一個像素點的新的灰度值,即可得到旋轉圖像。改變中的參數(shù)可以改變以圖像中心為軸心圖像逆時針旋轉的角度。圖6中展示了幾種隨機旋轉角度下的旋轉圖像,上方是五個原圖像,下方是對應的隨機角度旋轉圖像。接下來,分別對樣本圖像作水平方向上和豎直方向上的錯切變換。水平方向上和豎直方向上的錯切變換轉換系數(shù)分別由式和給出:,;,.對于水平錯切變換,保持方向上的值不變,根據(jù)式來計算方向上的坐標值。同理豎直錯切變換的實現(xiàn)根據(jù)式來得到。改變中的參數(shù)的大小可以改變錯切變換的強度。圖7展示了一些錯切的手寫漢字樣本圖像。,,。本實例采用了HCL2000的手寫漢字樣本數(shù)據(jù)庫,HCL2000是北京郵電大學發(fā)布的一個大規(guī)模的脫機手寫體漢字識別樣本庫。數(shù)據(jù)庫中包含3755個常用的簡化漢字,分別由1000個不同的人書寫。通過隨機選取,選取了十組相似漢字,每組漢字包括十個相似字,每個漢字總共300個,對于每個字,選取其中225個字作為訓練集,75個作為測試集。為了減少網(wǎng)絡的層數(shù),采用最近鄰內(nèi)插的算法將64×64的圖片大小調整為28×28,除此之外,為了避免由于字體處于邊緣而導致網(wǎng)絡提取特征的可能會丟失部分特征,在調整大小后的圖片四周添加2個像素的空白,變成32×32的大小。實驗一:原始訓練樣本集在CNN模型上的識別能力研究在實驗一中,用未經(jīng)任何形變處理的十組相似漢字樣本作為訓練集來測試提出的卷積神經(jīng)網(wǎng)絡訓練模型,調整網(wǎng)絡參數(shù),最終得到如表1所示的結果:Table.1ResultsoftheRecognitionAbilitytoInitialSamples組別01020304050607080910平均值正確率0.9420.9450.8620.9520.8630.9420.9470.9230.9100.9400.9226實驗結果表明,十組的漢字的識別準確率都比較高,平均正確率達到92.26%,說明了該卷積神經(jīng)網(wǎng)絡模型的有效性和可靠性;但存在部分樣本的識別準確率不高的情況,觀察這十組相似漢字樣本發(fā)現(xiàn),漢字識別的準確率受到漢字本身的相似性的影響。實驗二:添加經(jīng)彈性形變和小幅度旋轉處理的訓練樣本集在CNN模型上的泛化能力研究實驗二中,對訓練樣本進行彈性變換處理、內(nèi)的旋轉處理后添加到訓練樣本集中,其中經(jīng)彈性形變處理和旋轉處理的樣本數(shù)量都是原始樣本數(shù)量的5倍。重新訓練網(wǎng)絡模型,最終得到的實驗結果如表2所示:表2對訓練集添加旋轉和彈性形變之后,識別未知漢字的結果與實驗一的結果相比較,十組相似手寫漢字的識別正確率有所提高,平均識別正確率達到94.05%,比沒有添加處理過的樣本訓練得到的模型的平均正確率提高了1.8%。但仍存在部分樣本的識別準確率改善不大的情況。實驗三:添加經(jīng)彈性形變、小幅度旋轉和錯切變換處理的訓練樣本集在CNN模型上的泛化能力研究在實驗二的基礎上,給訓練樣本集添加錯切變換(包括水平方向上的和豎直方向上的)后的訓練樣本后(其中彈性形變處理、小幅度旋轉處理、錯切變換處理的訓練樣本數(shù)量均為未處理的訓練樣本數(shù)量的5倍,即擴展后的訓練樣本集規(guī)模是原來的15倍),然后對網(wǎng)絡進行重新訓練與測試,得到的實驗結果如表3所示:Table.3經(jīng)彈性形變、小幅度旋轉和錯切變換處理的訓練樣本集訓練模型測試未知漢字的結果組別01020304050607080910平均值正確率0.9620.9800.9150.9700.9150.9650.9620.9480.9100.9700.9497與實驗二的結果相比較,十組相似手寫漢字的識別正確率都有相應的提高,平均識別正確率達到了94.97%,比沒有添加處理過的樣本訓練得到的模型的平均正確率提高了2.71%,錯誤率下降了35.01%,這證明了本發(fā)明提出的方法的有效性。通過對實驗結果的分析比較,可以得出結論:通過彈性形變、小幅度旋轉和錯切變換處理訓練樣本來擴展原訓練樣本集的方法能有效提高識別模型的泛化能力,使模型的識別正確率達到95%??梢哉J為,本發(fā)明提出的通過添加經(jīng)線性變換(旋轉和錯切變換)和非線性變換(彈性形變)處理的訓練樣本能更有效地識別相似手寫漢字,極大地提高了模型的識別泛化能力。證明了本發(fā)明的方法行之有效。當前第1頁1 2 3