国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)域加權LeNet-5 網絡的漢字識別研究?

2020-12-23 11:50:24張珊珊
計算機與數字工程 2020年11期
關鍵詞:池化字符卷積

周 有 張珊珊

(西安郵電大學自動化學院 西安 710121)

1 引言

漢字識別是一種使用計算機運行用戶的預設算法來提取漢字的特征,并與機器內預存特征進行匹配識別,將漢字圖像自動轉換成某種代碼的一種技術。字符識別的大致流程可以分為讀取原始圖片、圖像預處理、字符圖像特征提取與識別、結果輸出。其中預處理一般包括圖片的去燥、傾斜矯正、二值化、圖像歸一化、字符切分等,預處理的目的在于為后面的特征提取工作提供質量更好的漢字圖像,以便提取出更準確的字符特征。

漢字的特征提取識別工作是漢字識別的關鍵點,目前常用的漢字識別方法主要分為五大類:基于統(tǒng)計的漢字識別方法、基于結構的漢字識別方法、基于結構和統(tǒng)計相結合的漢字識別方法、基于支持向量機的漢字識別方法和基于神經網絡的漢字識別方法。

基于統(tǒng)計的特征提取方法主要是通過特征提取方法對漢字樣本的一組特征組成特征向量,根據決策函數對特征向量分類來達到漢字識別的目的[2]?;诮Y構的特征提取方法主要提取漢字的筆畫、輪廓等漢字的骨架特征?;诮Y構和統(tǒng)計相結合的方法是將以上兩種方法相結合,結合的方式有兩種,第一種是在特征提取過程中同時提取漢字的結構和統(tǒng)計特征。第二種是在識別的過程中先使用統(tǒng)計的方法對漢字進行粗分類,然后通過結構方法對漢字進行細分類。

基于支持向量機的漢字識別方法是建立一個分類超平面作為決策平面,使得正反之間的間隔邊緣被最大化。李志能等[4]提出了一種利用二值字符圖像投影的特征參數構造字符的特征矢量的方法,采用支持向量機和多層感知器網絡對字符的特征矢量進行訓練,構造出分類器,但是由于攝像頭抓拍到的圖像模糊不清,致使在預處理階段丟失了一些特征,給分類造成很大困難。

基于卷積神經網絡的方法是現在主要研究的方法。王蕾等[17]提出一個用于特征提取的分塊獲勝序列模型,采用按行分塊原則進行分塊,多個獲勝神經元有序組合的方式表征特征,模型的輸出層為二維方形結構,增加了輸出層神經元可以表示的類別數。代賀等[6]改進了卷積神經網絡結構刪減了部分全連接等并推導了前向和反向傳播算法,與傳統(tǒng)的神經網絡相比,改進后的網絡結構簡單,處理速度快,識別準確率高,具有良好的魯棒性和泛化性。但是由于書寫風格的不同,會導致識別錯誤的情況。

傳統(tǒng)的字符識別方法和現有的卷積神經網絡方法,在漢字字符識別的過程中對漢字圖像的不同區(qū)域均采用了均等對待的方法提取特征,但因漢字的結構特點,漢字圖像的不同區(qū)域的特征數量是不同的,因此對漢字圖像的不同區(qū)域做不均等的對待是很有必要的。

武子毅等[16]提出了基于集成注意力層的模型,將注意力放在圖像的某個部位,對目標區(qū)域賦予更高的權重,注意力圖與圖像進行濾波處理,將注意力圖融合到AlexNet 網絡中,提高漢字圖像八個區(qū)域的權重,有效彌補了普通卷積網絡丟失漢字微小特征的缺點。

但是該注意力網絡在八個區(qū)域上的權重是相同的,并沒有達到區(qū)分不同區(qū)域的目的,無法體現漢字的結構特點。因此本文提出了基于區(qū)域加權的網絡模型,是在經典的LeNet-5 卷積神經網絡的基礎上,引入了區(qū)域加權的思想,合理改變了卷積核的大小和數目,在第一層卷積層特征提取過程中,網絡能夠不均等的對待字符圖像的不同區(qū)域,經過模型訓練區(qū)域加權參數不斷更新達到最優(yōu),使得網絡能夠以更高的識別率識別大字符集圖像的目的。

2 LeNet-5卷積神經網絡模型

經典的LeNet-5 網絡模型最早用來識別手寫數字,當然LeNet-5 網絡不僅僅是可以在字符識別領域應用,張力超等提出一種基于LeNet-5 改進的神經網絡模型對蘋果品種進行自動分類識別,該模型的測試時間和測試精度均優(yōu)于SVM 方法;林哲聰[9]等設計一種全局中間值池化網絡,該網絡能有效抑制過擬合現象,并具有較快的識別速度和較高的魯棒性。

如圖1 是LeNet-5 卷積神經網絡的基本結構,使用漢字字符圖像作為輸入,通過卷積、池化、全連接對字符圖像進行分類。

圖1 LeNet-5卷網絡的基本結構

LeNet-5 網絡模型一共七層,C1,C3 層是卷積層,卷積層通過卷積核提取該局部的特征,卷積核在處理圖像時,是以一定尺寸、一定步長在圖像上進行滑動,每一次的滑動都是一次卷積運算,全部滑動結束后,就生成了一張?zhí)卣鲌D,每個輸出特征圖通過權值共享來共享其所對應的卷積核。在特征平面中,每個神經元連接到前一個特征平面的特定區(qū)域中的神經元。C1 層卷積核大小為5×5,卷積核數目為6,輸出6 個28×28 的特征圖;C3 層的卷積核大小為5×5,卷積核數目為16,輸出16個10×10的特征圖。卷積層的關系可以用式(1)表示:

pj是與L 層中的神經元j相連的輸入特征平面的局部感受野,為一矩形區(qū)域。每個卷積核僅是對輸入局部感受野區(qū)域進行卷積運算,不改變像素之間的空間相關性。是第L 層特征平面上的第j個神經元的值,是第L-1 層特征平面上的第i 個神經元的值,是L 層卷積核的權重,bl是L層的卷積偏移量,f(·)是激活函數。

S2、S4 是池化層,即進行降采樣工作,該層的主要作用是降維,對輸入的特征圖像進行壓縮,使得特征圖的尺寸變小,簡化網絡計算復雜度。池化有最大池化和平均池化。平均池化的缺點是會模糊圖片中的特征,所以現在大多使用最大池化。S2輸出6 個14×14 的特征圖;S4 輸出16 個5×5 的特征圖。平均池化和最大池化算法由式(2)、(3)表示:

第五、六、七層是全連接層,全連接層完整的連接當前層和前一層的所有特征平面神經元,全連接層輸出是一維類別向量,所以網絡中首個全連接層需要將二維特征平面轉化為一維向量形式。圖中各層節(jié)點數目分別為120,84,10,F7 的節(jié)點數目也是minist手寫數字集的類別數。全連接層使用Sigmoid激活函數如式(4)所示:

3 基于區(qū)域加權LeNet-5 網絡的漢字識別研究

傳統(tǒng)的LeNet-5 網絡在進行卷積操作時,對字符圖像的不同區(qū)域采用均等對待的方式,無法區(qū)別對待字符的不同區(qū)域,因此不能體現漢字圖像的結構特點。針對這樣的問題,本文在第一層卷積層引入了區(qū)域加權系數,解決了網絡在特征提取過程中均等對待字符不同區(qū)域的問題,更加突出體現了漢字的結構特征。

3.1 基于區(qū)域加權的卷積操作

在對字符圖像進行研究觀察后可以發(fā)現,每個漢字都有自己的結構特點。如圖2 所示,漢字“個”四個對角區(qū)域沒有字符特征,漢字“由”的左上角和右上角沒有字符特征,漢字“圓”的各個區(qū)域的特征基本均等分布。根據漢字的結構特點,提出了區(qū)域加權這一概念。區(qū)域加權是在圖像卷積每個區(qū)域的同時,對每個區(qū)域賦予不同的權值系數,旨在區(qū)別對待漢字圖像的不同區(qū)域,權值系數是通過卷積神經網絡不斷的迭代更新優(yōu)化出來。

如圖3 是以漢字“卓”字為示例,表示漢字字符的區(qū)域加權系數K 示意圖,每個K 值都是不同的,i,j 取決于卷積核的大小和步長,例如,圖像大小是64×64,卷積核大小是3×3,步長是1,那么i,j的值是62(64-3+1)。這樣就可以計算出區(qū)域加權系數K 的個數。如“卓”字,字符的四個對角的特征很少甚至沒有,則四個對角部分的K 值較小甚至為零,字符圖像的中間區(qū)域的K 值較大,于是網絡重點關注中間區(qū)域的字符特征,根據K 值的不同,網絡對字符圖像的不同區(qū)域關注度也會不同。

圖2 部分漢字結構特點

圖3 區(qū)域加權K值示意圖

如圖4 所示,輸入為一張字符圖像,當卷積時,給字符的不同區(qū)域賦予了不同的權值系數K,權值系數越大則這一區(qū)域的特征得到了更多的關注,權值系數越小則說明這一區(qū)域的特征較少,甚至這一區(qū)域沒有特征,則這一區(qū)域可以較少的甚至不去提取特征。將權值系數K 作為網絡的訓練參數,通過網絡不斷的參數優(yōu)化,得到識別率最大的網絡結構模型。

圖4 區(qū)域加權操作示意圖

在區(qū)域加權公式中,Input 表示輸入的字符圖像,K 表示權值系數,W 表示卷積核中的元素,m,n表示卷積核的大小,b 表示偏置,f(。)表示ReLU 激活函數,Output表示輸出的特征圖。區(qū)域加權卷積操作計算公式如式(5)表示:

ReLU 激活函數是分段線性函數,將所有的負值均變?yōu)?,而正值保持不變,被稱為單側抑制。通過ReLU實現稀疏后的模型能夠更好地挖掘相關特征,擬合訓練數據。ReLU 激活函數的式(6)如下:

相比于其他的激活函數,ReLU 激活函數的收斂速度更快,在反向傳播過程中也減輕了梯度彌散問題,神經網絡前幾層的參數也可以很快的更新。

3.2 基于區(qū)域加權LeNet-5網絡的漢字識別模型

基于區(qū)域加權的網絡結構如圖5所示。

圖5 基于區(qū)域加權的LeNet-5網絡結構圖

基于區(qū)域加權LeNet-5 網絡包含五個卷積層、三個池化層和兩個全連接層。輸入層是尺寸為64×64 的字符圖像。C1 層是卷積層,卷積核大小為3×3,卷積核數目為64,經過C1 卷積層可以得到64個尺寸為62×62 的特征圖;S2層是最大池化層,池化尺寸為2×2,步長為2;C3 層是卷積層,卷積核大小為3×3,卷積核數目為128;S4 層是最大池化層,池化尺寸為2×2,步長為2;C5 層是卷積層,卷積核大小為3×3,卷積核數目為256;S6 層是最大池化層,池化尺寸為2×2,步長為2;C7 層是卷積層,卷積核大小為3×3,卷積核數目為512;C8層是卷積層,卷積核大小為3×3,卷積核數目為512;F9 是全連接層,輸出的數據與8192 個節(jié)點進行全連接;F10 全連接層的神經元是3755 個,相當于一級字符3755 個字符類別,組成特征向量輸入到Softmax層。Softmax的函數如式(7)表示。

假設包含m 個訓練樣本的訓練集為{(x(1),y(1)),…,(x(m),y(m))},其中,訓練樣本x(i)∈Rn+1,為n 維,訓練類別為K 類,即y(i)∈{1,2,…,k}。Softmax 用來估計訓練樣本x(i)的每一種分類結果出現的概率。因此,假設函數將要輸出一個K 維的向量用來表示K 個估計的概率值,其中向量元素的和為1。假設回歸函數hθ(x)形式如式(7)所示。

其中:p( y(i)=j|x(i);θ )表示樣本x(i)屬于第j 個的概率;Rn+1表示模型的參數。

基于區(qū)域加權LeNet-5 網絡的參數如表1 所示。

表1 基于區(qū)域加權LeNet-5網絡模型參數

4 實驗結果與分析

4.1 實驗設置

漢字字符的數據集和手寫字符的數據集不同,手寫數據集有研究人員或實驗室提供,網絡搜索下載需要的手寫數據集即可,印刷體的數據集是通過代碼生成的。PIL(Python Image Libary)是Python平臺處理圖片的事實標準,它有漢字生成函數,用這個函數結合提供的字體文件,即可生成我們需要的漢字數據集。

本文對3755 類一級字符進行數據集的生成,在生成的數據集文件夾下有兩個文件夾,分別是訓練和測試文件夾,訓練和測試文件夾下分別有3755 個字符文件夾,每個字符文件夾下又生成793個字符圖像,每個字符文件夾的命名是根據自身對應的ID 決定的。其中80%用于訓練,20%用于測試。這樣龐大的數據集對于漢字識別的精度是一個較好的前提條件。如圖6 所示是生成的大字符集的漢字圖像。

圖6 字符集

在對漢字數據集的生成過程中,對字符集也做了相應的增強處理,以擴大數據集的規(guī)模,提高模型的魯棒性。圖像增強工作包括對字符圖像進行傾斜處理、加燥處理、細化處理等,如圖7(a)、(b)、(c)、(d)是對數據集進行了傾斜、加噪、變粗和細化等操作。

圖7 數據集增強

本文使用TensorFlow庫來實現LeNet-5卷積神經網絡模型。使用的GPU 為NVIDIA GeForce GTX 1050 Ti 圖像處理器。在模型訓練過程中,神經網絡模型不斷更新,按照本文的方法進行訓練,結束后保存訓練模型。如圖8、9 所示,是本文網絡的訓練結果圖,在訓練過程中,隨著訓練的次數增加,字符的錯誤率越來越低,字符的準確度越來越高。

圖8 網絡訓練LOSS走勢圖

4.2 實驗結果

本文將常見的幾種字符識別方法與本文方法進行了比較,這三種方法都是在3755 類字符數據集中進行的識別分類效果,從表中可以看出,本文的方法在相同的條件下識別率高于其他方法。

圖9 網絡訓練精確度走勢圖

表2 神經網絡改進前后字符識別率比較

5 結語

本文使用的基于區(qū)域加權LeNet-5 卷積神經網絡,通過對3755 類一級字符大數據集進行了實驗。研究結果表明,區(qū)域加權的引入可以突出漢字的結構特點,與其他卷積神經網絡方法和傳統(tǒng)方法相比,基于區(qū)域加權LeNet-5 卷積神經網絡的識別率均優(yōu)于其他方法。

猜你喜歡
池化字符卷積
基于緊湊型雙線性網絡的野生茵識別方法研究
無線電工程(2024年8期)2024-09-16 00:00:00
基于Sobel算子的池化算法設計
尋找更強的字符映射管理器
卷積神經網絡中的自適應加權池化
軟件導刊(2022年3期)2022-03-25 04:45:04
基于3D-Winograd的快速卷積算法設計及FPGA實現
字符代表幾
一種USB接口字符液晶控制器設計
電子制作(2019年19期)2019-11-23 08:41:50
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于卷積神經網絡和池化算法的表情識別研究
消失的殖民村莊和神秘字符
枣强县| 绥化市| 哈密市| 泾川县| 连平县| 无棣县| 杂多县| 武义县| 法库县| 遂溪县| 甘泉县| 莫力| 诸暨市| 城口县| 武功县| 潞西市| 苗栗县| 大名县| 朔州市| 肃宁县| 陵川县| 黎平县| 赤壁市| 台前县| 阿克苏市| 洛川县| 兖州市| 休宁县| 玛沁县| 池州市| 卓尼县| 平原县| 陆川县| 彭泽县| 余庆县| 招远市| 红河县| 景谷| 日喀则市| 赤水市| 察雅县|