999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于卷積神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識(shí)別方法研究

2022-11-05 08:31:04唐鑒波李維軍趙波習(xí)立坡
電子設(shè)計(jì)工程 2022年21期
關(guān)鍵詞:模型

唐鑒波,李維軍,趙波,習(xí)立坡

(1.陸軍工程大學(xué)通信士官學(xué)校,重慶 400035;2.78118 部隊(duì),四川 成都 610000;3.32178 部隊(duì),北京 100012)

近年來,機(jī)器學(xué)習(xí)相關(guān)理論得到了長足發(fā)展,其研究成果可廣泛應(yīng)用于計(jì)算機(jī)視覺等多個(gè)方面,手寫數(shù)字識(shí)別作為計(jì)算機(jī)視覺的重要分支,可廣泛應(yīng)用于數(shù)據(jù)統(tǒng)計(jì)、財(cái)務(wù)金融以及成績判定等領(lǐng)域。人們?nèi)粘5臅鴮懥?xí)慣以及不同的書寫速度都會(huì)導(dǎo)致書寫形式出現(xiàn)多種變化,這成為手寫數(shù)字識(shí)別需要克服的一大難點(diǎn)。

當(dāng)前,國內(nèi)外出現(xiàn)了較多手寫數(shù)字識(shí)別的研究成果,主流的方法主要是根據(jù)圖像中數(shù)字的結(jié)構(gòu)特征進(jìn)行特征提取和聚類分析,其代表算法有卷積神經(jīng)網(wǎng)絡(luò)、KNN 最鄰近算法、決策樹算法、向量機(jī)算法以及多種人工神經(jīng)網(wǎng)絡(luò)算法[1-5],其中卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為一種典型的神經(jīng)網(wǎng)絡(luò),被廣泛應(yīng)用于圖像識(shí)別和分類等領(lǐng)域,它能夠較好地識(shí)別人臉、物體和交通標(biāo)志[6],是機(jī)器學(xué)習(xí)的重要工具。

文中分析了卷積神經(jīng)網(wǎng)絡(luò)相關(guān)原理,通過Tensorflow搭建CNN 結(jié)構(gòu),采用Minist 數(shù)據(jù)集[7]對(duì)CNN 的典型模型LeNet-5 進(jìn)行訓(xùn)練,在對(duì)圖像進(jìn)行預(yù)處理和數(shù)字分割的基礎(chǔ)上,實(shí)現(xiàn)了準(zhǔn)確率較高的手寫數(shù)字識(shí)別,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了簡要分析,文中方法對(duì)于手寫數(shù)字識(shí)別的模型搭建和實(shí)現(xiàn)具有參考意義。

1 卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)是一類典型的深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)最早于1984 年由日本學(xué)者K.Fukushima 發(fā)現(xiàn)并驗(yàn)證,它具有局部感知、權(quán)值共享等特性[8],該網(wǎng)絡(luò)在計(jì)算機(jī)視覺研究領(lǐng)域發(fā)揮了重要作用[9]。

1998 年,Y.Lecun 等人將卷積層與降采樣層相結(jié)合,建立了卷積神經(jīng)網(wǎng)絡(luò)的現(xiàn)代原型LeNet,該模型后來被廣泛應(yīng)用于手寫字符的識(shí)別。隨后各種基于該模型的手寫數(shù)字識(shí)別改進(jìn)算法相繼出現(xiàn),文獻(xiàn)[10]將卷積神經(jīng)網(wǎng)絡(luò)與自動(dòng)編碼器結(jié)合,形成了深度卷積自編碼神經(jīng)網(wǎng)絡(luò),得到了較好的識(shí)別效果;文獻(xiàn)[11]對(duì)比了三類數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,闡明了訓(xùn)練數(shù)據(jù)集對(duì)識(shí)別結(jié)果的重要影響;文獻(xiàn)[12]在卷積神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,基于PCA 特征提取方法,實(shí)現(xiàn)了多層卷積核參數(shù)初始化的手寫數(shù)字識(shí)別,在提升訓(xùn)練收斂速度的同時(shí)獲得了較高的識(shí)別率。

1.1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò)[13],它由一個(gè)輸入層、一個(gè)輸出層以及多個(gè)處在輸入層、輸出層之間的隱藏層組成。網(wǎng)絡(luò)的隱藏層主要包括卷積層、池化層和全連接層[14],其中卷積層和池化層相結(jié)合,主要起到提取圖像特征的作用。在獲得圖像典型特征圖的同時(shí),減少輸入層到全連接層中的數(shù)據(jù)量,全連接層則根據(jù)輸入的特征圖,利用多層感知元模型對(duì)特征圖進(jìn)行分類識(shí)別。圖1 所示為卷積神經(jīng)網(wǎng)絡(luò)的典型結(jié)構(gòu),圖中省略號(hào)表示卷積層和池化層可根據(jù)建模需要多次交替出現(xiàn)。

圖1 卷積神經(jīng)網(wǎng)絡(luò)典型結(jié)構(gòu)

1.2 卷積神經(jīng)網(wǎng)絡(luò)關(guān)鍵層功能

卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練通常涉及到模型中各個(gè)層級(jí),每一層在網(wǎng)絡(luò)中發(fā)揮不同的作用,下面對(duì)各層的功能和原理進(jìn)行進(jìn)一步闡釋。

1)卷積層:作為CNN 的核心,卷積層主要用于從輸入圖像中提取相關(guān)特征。它主要由卷積核實(shí)現(xiàn)卷積功能,這些卷積核本質(zhì)上是小尺寸的二維矩陣,它以一定的步長沿原圖像自左向右、從上至下“滑動(dòng)”,每滑動(dòng)一次即做一次卷積運(yùn)算,通過上述過程最終得到圖像對(duì)應(yīng)的特征圖。圖2 所示為圖像某像素塊與卷積核進(jìn)行卷積的示意圖。

圖2 卷積過程示意圖

卷積的本質(zhì)為兩個(gè)矩陣對(duì)應(yīng)位置上的數(shù)據(jù)相乘之后再將所有結(jié)果相加求和的過程。每一個(gè)卷積核與原圖像進(jìn)行卷積后得到相應(yīng)的卷積結(jié)果,即對(duì)應(yīng)的特征圖,根據(jù)不同的卷積核元素可以獲得圖像不同方面的特征。在模型訓(xùn)練開始前,通常需要指定卷積核的數(shù)量、尺寸、滑動(dòng)步長以及卷積層的數(shù)量等參數(shù)。卷積核數(shù)量越多,提取的圖像特征就越多,神經(jīng)網(wǎng)絡(luò)識(shí)別能力通常也越強(qiáng)。

整個(gè)卷積層的數(shù)學(xué)表達(dá)式如式(1)所示:

其中,*代表卷積運(yùn)算,Mj代表神經(jīng)元輸入特征圖的集合,表示第l-1 層第i個(gè)神經(jīng)元的輸入,為第l層卷積核,為第l層第j個(gè)神經(jīng)元的偏置,f(·)為非線性函數(shù)則為第l層卷積后第j個(gè)神經(jīng)元輸出。卷積結(jié)束后,針對(duì)每一幅特征圖都需要通過某種激活函數(shù)來引入非線性特性,式(1)中的f(·)即起到該作用。引入非線性特性的函數(shù)通常包括tanh 或sigmoid,對(duì)于手寫數(shù)字識(shí)別,用的更多方法的是ReLU,其操作較為簡單,且效果較好,實(shí)現(xiàn)的思路是將特征圖中所有負(fù)值調(diào)整為0,而正值保持不變,對(duì)應(yīng)的公式如式(2)所示:

式中,為第l層第j個(gè)神經(jīng)元的卷積輸出,代表第l層卷積后第j個(gè)神經(jīng)元對(duì)應(yīng)的非線性處理輸出。經(jīng)過非線性處理后的結(jié)果進(jìn)入池化層進(jìn)行后續(xù)的處理。

2)池化層:空間池化也稱為子采樣或降采樣,池化層主要用于減小每個(gè)特征圖的尺寸,并保留最重要的特征信息。其實(shí)現(xiàn)思路:將卷積層輸出的特征圖劃分為多個(gè)小塊區(qū)域,每個(gè)區(qū)域中用一個(gè)值代表該區(qū)域內(nèi)的多個(gè)值,獲得各個(gè)區(qū)域代表值的方法可以有多種,如選取區(qū)域的最大值、計(jì)算區(qū)域平均值、計(jì)算區(qū)域所有值的總和等,計(jì)算區(qū)域平均值的降采樣過程可表示為:

式中,n表示劃分的降采樣區(qū)域中元素的個(gè)數(shù),表示第j個(gè)神經(jīng)元的輸出,是上一個(gè)卷積層中第i個(gè)神經(jīng)元的輸入。降采樣層每個(gè)區(qū)域通常取2×2 大小的窗口,即有4 個(gè)元素。經(jīng)過池化處理后只保留該區(qū)域的平均值,因此特征圖的尺寸會(huì)縮小為原來的四分之一。在建模過程中通常可根據(jù)需要設(shè)置多對(duì)卷積層和池化層。

3)全連接層:全連接層是一個(gè)傳統(tǒng)的多層神經(jīng)元感知器,該層中的每一個(gè)神經(jīng)元都與上一層的所有神經(jīng)元相連,并且每個(gè)神經(jīng)元都有一組對(duì)應(yīng)的權(quán)重與上一層神經(jīng)元的輸出結(jié)果結(jié)合,可計(jì)算得到當(dāng)前層神經(jīng)元的輸出,其計(jì)算表達(dá)式為:

式中,表示全連接層中第j個(gè)神經(jīng)元的權(quán)重系數(shù),xl-1表示上一層中神經(jīng)元對(duì)應(yīng)的輸出值,表示全連接層中第j個(gè)神經(jīng)元的偏置量。

為了保證全連接層面向輸出層的所有分類結(jié)果概率之和為1,可使用Softmax[15]作為全連接層、輸出層的激活函數(shù),該函數(shù)能接受任意實(shí)值分?jǐn)?shù),并將其壓縮為0 到1 之間的值。Softmax 函數(shù)得到的結(jié)果即為每個(gè)樣本的分類概率,模型將按照概率值的大小來預(yù)測其所屬類別。

1.3 卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練

在卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練之初,其分類誤差較大,為了降低誤差,通常使用反向傳播算法[16]反向調(diào)整卷積層中所有卷積核的值以及全連接層中各神經(jīng)元的權(quán)重值,調(diào)整的比例與權(quán)重值對(duì)誤差的貢獻(xiàn)大小正相關(guān),經(jīng)過反向調(diào)整后的值可使下一次前向傳播的分類誤差變得更小。

通過前向傳播與反向傳播算法的多次迭代,可以逐漸將神經(jīng)網(wǎng)絡(luò)中各項(xiàng)權(quán)值調(diào)整至某種狀態(tài),使分類結(jié)果誤差不斷減小并趨于穩(wěn)定狀態(tài),訓(xùn)練迭代的次數(shù)通常與模型的設(shè)計(jì)以及準(zhǔn)確率的收斂速度有關(guān)[17]。可以使用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對(duì)未訓(xùn)練過的新圖像進(jìn)行識(shí)別及分類,其分類過程就是對(duì)輸入的新圖像進(jìn)行前向傳播處理,并最終輸出對(duì)應(yīng)的分類概率。

2 算法實(shí)現(xiàn)

2.1 模型訓(xùn)練

文中采用LeNet-5 模型進(jìn)行訓(xùn)練,它是一種典型的卷積神經(jīng)網(wǎng)絡(luò)模型,主要用于手寫體漢字和印刷體漢字的識(shí)別。該模型共有7 層(不包含輸入層),其中包含2 個(gè)卷積層、2 個(gè)池化層以及3 個(gè)全連接層,每層都包含有不同數(shù)量的參數(shù)。模型輸入層圖片大小為32×32 像素。第一個(gè)和第二個(gè)卷積層分別有32 個(gè)、64 個(gè)5×5 的卷積核,相應(yīng)的卷積核滑動(dòng)步長為1。池化層降采樣區(qū)域大小為2×2,全連接層中包含256 個(gè)神經(jīng)元節(jié)點(diǎn),激活函數(shù)為ReLU 函數(shù),在輸出分類結(jié)果前通過Softmax 將維度降到10維,分別對(duì)應(yīng)10 個(gè)分類結(jié)果。

采用Minist 數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練,該數(shù)據(jù)集包含55 000 個(gè)訓(xùn)練集樣本、5 000 個(gè)驗(yàn)證集樣本以及10 000個(gè)測試集樣本,每個(gè)樣本都為二值化圖像數(shù)據(jù),像素為28×28,而LeNet-5 網(wǎng)絡(luò)輸入圖像的像素為32×32,因此訓(xùn)練前需要將Minist數(shù)據(jù)集中的各個(gè)實(shí)例填充為32×32。數(shù)據(jù)集中的樣本實(shí)例如圖3所示。

圖3 Minist數(shù)據(jù)集樣本實(shí)例

在實(shí)驗(yàn)中,利用Tensorflow 搭建上述模型進(jìn)行訓(xùn)練,迭代次數(shù)為50 次。為防止訓(xùn)練過程中出現(xiàn)過擬合,還需要設(shè)置dropout 概率為0.25,用Softmax 作為分類器,以交叉熵函數(shù)作為誤差函數(shù)訓(xùn)練網(wǎng)絡(luò)模型,訓(xùn)練的同時(shí)通過驗(yàn)證集數(shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證,得到對(duì)應(yīng)的訓(xùn)練集與驗(yàn)證集的誤差對(duì)比曲線和識(shí)別率對(duì)比曲線,分別如圖4 和圖5 所示。

圖4 訓(xùn)練集與測試集的誤差曲線

圖5 訓(xùn)練集與測試集的識(shí)別率曲線

由兩組曲線圖可以看出,整個(gè)模型訓(xùn)練過程收斂速度較快,雖然測試集的識(shí)別率曲線略低于訓(xùn)練集,但最終識(shí)別率均在98%以上,達(dá)到了預(yù)期的訓(xùn)練效果。

2.2 字符分割

在對(duì)手寫字體進(jìn)行識(shí)別前,還需要將一幅圖中所有手寫數(shù)字進(jìn)行閾值和字符分割,使圖像中的文字與背景具有足夠的區(qū)分度,以便后期對(duì)每個(gè)數(shù)字進(jìn)行獨(dú)立識(shí)別。文中采用自適應(yīng)二值化方法實(shí)現(xiàn)閾值分割,分割前后圖像對(duì)比如圖6 所示。

圖6 閾值分割對(duì)比圖

閾值分割完成后,還需要對(duì)單個(gè)字符進(jìn)行提取,文中采用基于方向投影的改進(jìn)算法對(duì)單個(gè)字符進(jìn)行分割,分割后用框線標(biāo)記出每個(gè)字符所在區(qū)域。分割結(jié)果及樣例如圖7 所示。

圖7 單個(gè)字符分割結(jié)果及樣例

由于前期采用LeNet-5 網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,因此還要使分割得到的圖像與模型訓(xùn)練輸入的圖像格式保持一致,把每個(gè)分割出的數(shù)字圖像像素調(diào)整為32×32,同時(shí)使手寫數(shù)字處于圖像中間位置,對(duì)應(yīng)的結(jié)果示例如圖8 所示。

圖8 樣例字符分割結(jié)果

2.3 數(shù)字識(shí)別

在模型訓(xùn)練和字符分割完成后,可將分割好的字符輸入到網(wǎng)絡(luò)模型中進(jìn)行分類處理,并根據(jù)模型輸出層各分類項(xiàng)的概率大小確定最終的識(shí)別結(jié)果。在實(shí)驗(yàn)中將識(shí)別結(jié)果輸出在手寫字符的左上方,最終的識(shí)別結(jié)果如圖9 所示。從該圖中可以看出,雖然3、4、6 等手寫數(shù)字有不同的書寫風(fēng)格,但是訓(xùn)練后的模型依然實(shí)現(xiàn)了圖中數(shù)字的正確識(shí)別,達(dá)到較好的識(shí)別效果。

圖9 手寫數(shù)字識(shí)別結(jié)果

3 實(shí)驗(yàn)結(jié)果與分析

實(shí)驗(yàn)環(huán)境操作系統(tǒng)為Windows10,CPU 為intel(R)Core(TM)i7-10750H,內(nèi)存為16 GB,配置NVIDA RTX 2080ti GPU,在Pycharm 編譯器上完成模型訓(xùn)練。啟用GPU 并行計(jì)算加速后,訓(xùn)練時(shí)間為969 s,訓(xùn)練模型對(duì)驗(yàn)證集的識(shí)別準(zhǔn)確率約為98%,但是在后期的模型測試中,依然存在誤識(shí)別的情況,這種現(xiàn)象在手寫數(shù)字出現(xiàn)連寫或者單個(gè)數(shù)字手寫筆畫不連貫時(shí)尤其明顯。

從后期模型驗(yàn)證的情況可以看出,對(duì)于結(jié)構(gòu)較為簡單的數(shù)字,如0、1 等識(shí)別正確率較高;而對(duì)于相似度較高的數(shù)字,如1、7、9,在書寫不規(guī)范的情況下依然會(huì)出現(xiàn)錯(cuò)誤識(shí)別。此外,對(duì)于連寫數(shù)字,由于在預(yù)處理過程中,文中方法無法將其分割開,因此相關(guān)識(shí)別結(jié)果都出現(xiàn)了錯(cuò)誤。對(duì)于該類情況,下一步要重點(diǎn)研究連寫數(shù)字的分割方法,并擴(kuò)大連寫數(shù)字的訓(xùn)練數(shù)據(jù)集,以此提升模型的適用范圍和多種情況下的識(shí)別率。在實(shí)驗(yàn)的最后,選取了不同人員書寫的0-9 數(shù)字各100 個(gè)對(duì)模型的識(shí)別率進(jìn)行了測試,相關(guān)識(shí)別結(jié)果統(tǒng)計(jì)如表1 所示。

表1 識(shí)別結(jié)果統(tǒng)計(jì)

4 結(jié)論

文中基于卷積神經(jīng)網(wǎng)絡(luò)基本原理,通過Tensorflow搭建手寫數(shù)字識(shí)別訓(xùn)練模型,較好地實(shí)現(xiàn)了單幅圖像多個(gè)數(shù)字的正確識(shí)別,為理解CNN 的相關(guān)原理和實(shí)現(xiàn)過程提供了參考。通過多個(gè)實(shí)驗(yàn)測試發(fā)現(xiàn),對(duì)于單幅圖內(nèi)多個(gè)手寫數(shù)字的識(shí)別,除了搭建穩(wěn)定的訓(xùn)練模型外,還需要對(duì)輸入圖像進(jìn)行較好的預(yù)處理和預(yù)分割,在此基礎(chǔ)上進(jìn)一步擴(kuò)大CNN 模型訓(xùn)練集的范圍,采集不同行業(yè)以及不同年齡段的手寫數(shù)字樣本對(duì)模型進(jìn)行訓(xùn)練,以使訓(xùn)練模型具備更高的識(shí)別率和實(shí)用性。

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 欧美性色综合网| 成人亚洲视频| 国产精品成人免费视频99| 国产玖玖玖精品视频| 国产特级毛片aaaaaa| …亚洲 欧洲 另类 春色| 国产自在线拍| 国产成年女人特黄特色大片免费| 国产在线观看成人91| 国产另类乱子伦精品免费女| 午夜不卡视频| 无码人妻热线精品视频| 国产熟女一级毛片| 少妇精品在线| 国产在线自乱拍播放| 无码又爽又刺激的高潮视频| 久久性妇女精品免费| 国产福利在线免费观看| 东京热av无码电影一区二区| 日韩性网站| 亚洲午夜综合网| 91精品视频播放| 国产精品福利尤物youwu| 尤物国产在线| 国产SUV精品一区二区| 中文字幕无码电影| 久久久久国色AV免费观看性色| 免费福利视频网站| 亚洲中文字幕精品| 乱码国产乱码精品精在线播放| 精品久久久久久久久久久| 无码精油按摩潮喷在线播放| 亚洲日本韩在线观看| 欧美三级自拍| 亚洲AV无码一区二区三区牲色| jizz在线免费播放| 九九久久精品免费观看| 中文字幕第1页在线播| 日韩欧美国产成人| 亚洲一级毛片免费看| 亚洲天堂网站在线| 91伊人国产| 亚洲系列无码专区偷窥无码| 日本三级欧美三级| 国产成人精品视频一区二区电影| 911亚洲精品| 亚洲综合经典在线一区二区| 国产在线无码一区二区三区| 亚洲国产高清精品线久久| 91网址在线播放| 国产永久免费视频m3u8| 亚洲日本www| 日韩精品一区二区深田咏美| 无码啪啪精品天堂浪潮av| 狠狠色狠狠综合久久| 国产精品吹潮在线观看中文| 99ri精品视频在线观看播放| 日韩a在线观看免费观看| 久久久久国产精品嫩草影院| 亚洲男女在线| 露脸一二三区国语对白| 2022国产91精品久久久久久| 久久精品亚洲中文字幕乱码| 国产精品福利尤物youwu | 国产网站免费看| 久久综合五月| 欧美激情首页| 亚洲午夜18| 亚洲精品黄| 在线无码私拍| 欧美精品二区| 亚洲一区二区三区在线视频| 国产免费看久久久| jizz在线免费播放| 97se亚洲综合在线| 免费人成网站在线观看欧美| 韩日免费小视频| 国产簧片免费在线播放| 日韩无码真实干出血视频| 2020国产免费久久精品99| 午夜毛片福利| 婷婷综合缴情亚洲五月伊|