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

?

利用機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)設(shè)計(jì)研究

2022-10-18 11:44楊承翰
自動(dòng)化儀表 2022年9期
關(guān)鍵詞:數(shù)字圖像手寫正確率

徐 云,楊承翰,高 磊

(浙江理工大學(xué)信息科學(xué)與工程學(xué)院,浙江 杭州 310018)

0 引言

工業(yè)自動(dòng)化極大地便捷了社會(huì)生產(chǎn)和人們生活[1]。自動(dòng)化生產(chǎn)過程中,部分?jǐn)?shù)據(jù)難以直接通過傳感器獲取,因此需要人工監(jiān)測并記錄。這阻礙了自動(dòng)化生產(chǎn)的流程,降低了工業(yè)生產(chǎn)的效率。機(jī)器視覺技術(shù)通過視覺傳感器捕獲圖像,利用辨識(shí)算法實(shí)現(xiàn)自動(dòng)化生產(chǎn)過程中部分?jǐn)?shù)據(jù)的識(shí)別、處理與存儲(chǔ),代替了人工監(jiān)測,提高了生產(chǎn)效能[2-4]。阿拉伯?dāng)?shù)字作為全球通用的符號,廣泛應(yīng)用于金融票據(jù)、郵政編碼、手寫財(cái)務(wù)報(bào)表、試卷批閱等[5-6]。大量手寫數(shù)字亟需自動(dòng)化識(shí)別技術(shù)來完成識(shí)別,從而為提高工作效率奠定基礎(chǔ)。目前,國內(nèi)外研究學(xué)者對手寫數(shù)字識(shí)別的工作開展了廣泛研究。

2015年,SALDANHA對手寫數(shù)字識(shí)別的硬件系統(tǒng)進(jìn)行了改進(jìn)設(shè)計(jì),對基于神經(jīng)網(wǎng)絡(luò)的識(shí)別算法進(jìn)行了正則化處理,極大地減少了浮點(diǎn)運(yùn)算。將該算法布署在現(xiàn)場編程門陣列(field-programmable gate array,FPGA)芯片上,提高了嵌入式處理器的應(yīng)用性能。試驗(yàn)測試表明,改進(jìn)系統(tǒng)能夠?qū)⑹謱憯?shù)字識(shí)別時(shí)間由2.938 s降低到1 s內(nèi)[7]。2020年,KUSETOGULLARI設(shè)計(jì)了專門用于識(shí)別歷史文獻(xiàn)中手寫數(shù)字的深度學(xué)習(xí)體系結(jié)構(gòu)DIGITNET,針對特定的歷史手寫數(shù)字,識(shí)別正確率可達(dá)97.12%[8]。2018年,李怡軒以Matlab2015為開發(fā)平臺(tái)設(shè)計(jì)了基于機(jī)器學(xué)習(xí)的手寫數(shù)字識(shí)別系統(tǒng),通過計(jì)算待識(shí)別圖像和模板矩陣的歐式距離和后驗(yàn)概率實(shí)現(xiàn)了手寫數(shù)字的識(shí)別,識(shí)別精度可達(dá)97.63%[9]。2020年,康磊基于LeNet設(shè)計(jì)了RLeNet加速器,在FPGA上通過軟硬件協(xié)同的方式實(shí)現(xiàn)了手寫數(shù)字的識(shí)別,識(shí)別率約為96.18%[10]。

從現(xiàn)有文獻(xiàn)可以看出,針對手寫數(shù)字識(shí)別的算法研究層出不窮。但由于基于神經(jīng)網(wǎng)絡(luò)的識(shí)別算法具有較多模型參數(shù)以及龐大的計(jì)算量,對于實(shí)際嵌入式硬件系統(tǒng)而言,這將導(dǎo)致手寫數(shù)字識(shí)別的硬件系統(tǒng)造價(jià)昂貴、配置復(fù)雜,難以推廣到實(shí)際應(yīng)用[11-12]。如何在低成本的嵌入式系統(tǒng)中布署基于神經(jīng)網(wǎng)絡(luò)的識(shí)別模型,并兼顧手寫數(shù)字識(shí)別速度和識(shí)別正確率是當(dāng)前國內(nèi)外學(xué)者開展基于機(jī)器視覺手寫數(shù)字識(shí)別研究存在的主要問題。因此,針對低成本的嵌入式硬件系統(tǒng),開展手寫數(shù)字辨識(shí)算法的研究勢在必行。

針對上述問題,本文設(shè)計(jì)了低成本的手寫數(shù)字嵌入式識(shí)別系統(tǒng)。系統(tǒng)采用STM32作為主控芯片,通過視覺傳感器采集手寫數(shù)字,利用改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)對手寫數(shù)字訓(xùn)練集進(jìn)行訓(xùn)練,從而構(gòu)建手寫數(shù)字識(shí)別模型;經(jīng)壓縮加速處理,將該算法模型布署在STM32中實(shí)現(xiàn)手寫數(shù)字的識(shí)別,并將識(shí)別結(jié)果予以實(shí)時(shí)顯示。

1 識(shí)別系統(tǒng)方案設(shè)計(jì)

本文設(shè)計(jì)的手寫數(shù)字識(shí)別系統(tǒng)架構(gòu)如圖1所示。

圖1 手寫數(shù)字識(shí)別系統(tǒng)架構(gòu)Fig.1 Handwritten digit recognition system architecture

手寫數(shù)字識(shí)別系統(tǒng)主要分為硬件和軟件兩部分。其中,硬件部分以STM32作為主控芯片,通過OV7725攝像頭采集手寫數(shù)字圖像,利用軟件算法對其進(jìn)行識(shí)別,從而將識(shí)別結(jié)果輸出至液晶顯示器(liquid crystal display,LCD);軟件部分以Tensorflow為平臺(tái)優(yōu)化卷積神經(jīng)網(wǎng)絡(luò),對MNIST數(shù)據(jù)集中手寫數(shù)字圖像進(jìn)行訓(xùn)練,從而獲得TFlite識(shí)別模型。對該識(shí)別模型進(jìn)行加速處理并將其布署至STM32芯片上,實(shí)現(xiàn)了基于嵌入式系統(tǒng)的手寫數(shù)字在線識(shí)別。

2 手寫數(shù)字識(shí)別算法設(shè)計(jì)

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

卷積神經(jīng)網(wǎng)絡(luò)是1種包含卷積計(jì)算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)[10]。本文以LeNet-5卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)。該模型結(jié)構(gòu)簡單。LeNet-5卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)如圖2所示。

圖2 LeNet-5卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)圖Fig.2 LeNet-5 convolutional neural network architecture

輸入層輸入待辨識(shí)圖片后,以LeNet-5卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取。特征提取可分為6個(gè)步驟。

①卷積。卷積層C1(卷積核5×5)提取圖片中相對全面的特征,生成1個(gè)特征圖像。

②池化。對步驟①中生成的特征圖像進(jìn)行池化處理,去掉一半的多余特征并繼續(xù)生成特征圖像。

③卷積。對步驟②中生成的特征圖像再次進(jìn)行卷積(卷積核5×5),生成特征圖像。

④池化。對步驟③中生成的特征圖像再次進(jìn)行池化處理,生成最終的特征圖像。

不同區(qū)域的地質(zhì)災(zāi)害發(fā)育程度、危險(xiǎn)性等級的劃分也不同,所以要因地制宜,研究人員要進(jìn)行實(shí)地考察,根據(jù)事實(shí)得出結(jié)論,根據(jù)成果劃分區(qū)域,對地質(zhì)災(zāi)害高易發(fā)區(qū)加大資金與科技的投入,建立更多有效的預(yù)警和避難系統(tǒng)。這種因地制宜的方法能夠有效的節(jié)約資金,減少不必要的投入。另外,進(jìn)行區(qū)域的劃分也能讓人們針對地質(zhì)災(zāi)害的情況產(chǎn)生預(yù)警心理,有防災(zāi)的意識(shí),也能有效的降低地質(zhì)災(zāi)害的風(fēng)險(xiǎn)。

⑤展平。對步驟④中的卷積、池化運(yùn)算得到的三維特征數(shù)據(jù)展平為一維特征數(shù)據(jù)。

⑥3層全連接層(D1、D2和輸出層)。對步驟⑤中輸出的一維特征數(shù)據(jù)進(jìn)行多次折疊分類,實(shí)現(xiàn)從圖片特征的線性不可分到線性可分。其中,輸出層可根據(jù)需求調(diào)整分類大小。

2.2 基于優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識(shí)別算法

本文對圖2所示的LeNet-5卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化。優(yōu)化的手寫數(shù)字識(shí)別用卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)如圖3所示。

圖3 手寫數(shù)字識(shí)別用卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)圖Fig.3 Convolutional neural network architecture for handwritten digit recognition

優(yōu)化的LeNet-5卷積神經(jīng)網(wǎng)絡(luò)主要包括2個(gè)方面。①將3層全連接層降低為1層,即刪除了全連接層D1和全連接層D2,將展平層輸出的一維特征數(shù)據(jù)直接送至輸出層進(jìn)行分類輸出。這有效地壓縮了手寫數(shù)字識(shí)別模型,加速了手寫數(shù)字識(shí)別過程,降低了識(shí)別算法的計(jì)算量,減弱了基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)的硬件要求,提高了嵌入式系統(tǒng)的識(shí)別速度。②將卷積層C1和卷積層C2中的卷積核由5×5調(diào)整為3×3。卷積核的減小雖然增加了手寫數(shù)字圖像識(shí)別模型的訓(xùn)練時(shí)間,但提高了識(shí)別模型的精度。對于實(shí)際應(yīng)用而言,這可以提高嵌入式系統(tǒng)的識(shí)別精度。

圖3中,卷積層C1和卷積層C2均采用Relu函數(shù)作為激活函數(shù):

f(x)=max(0,x)

(1)

式中:x為輸入。

手寫數(shù)字進(jìn)行分類時(shí),Relu函數(shù)計(jì)算簡單,并能夠使分類更快收斂。Tensorflow中應(yīng)用Relu函數(shù)的代碼為:

model.add(Conv2D(28,kernel_size=3,activation='relu',kernel_constraint=tf.keras.constraints.MaxNorm(1),padding='same'))

圖3中,池化層P1和池化層P2采用最大值池化法,對每個(gè)2×2的窗口選取窗口中最大的數(shù)作為輸出矩陣的相應(yīng)元素值,實(shí)現(xiàn)手寫數(shù)字圖像的壓縮處理。池化層處理代碼為:

model.add(MaxPooling2D(pool_size=2,strides=2,padding='same'))

手寫數(shù)字經(jīng)卷積層、池化層處理后,進(jìn)入展平層和輸出層。輸出層采用Softmax函數(shù)作為激活函數(shù):

式中:exi為第i個(gè)節(jié)點(diǎn)的輸出;C為分類類別數(shù)。

Softmax函數(shù)用于解決多分類問題,并將分類結(jié)果控制在(0,1)區(qū)域,輸出分類概率總和為1。輸出層中Softmax函數(shù)代碼為:

model.add(Dense(classes,activation='softmax',name='y_pred'))

本文使用MNIST數(shù)據(jù)集中的手寫數(shù)字圖像進(jìn)行訓(xùn)練,隨機(jī)選取32 000張手寫數(shù)字圖像為訓(xùn)練集,剩余8 000張手寫數(shù)字圖像為測試集。在Tensorflow平臺(tái)中利用優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練獲得TFlite識(shí)別模型,對該識(shí)別模型進(jìn)行壓縮加速處理后將其布署在以ARM為架構(gòu)的STM32微控制器中,從而實(shí)現(xiàn)手寫數(shù)字圖像的在線識(shí)別。

3 基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)測試

3.1 手寫數(shù)字識(shí)別模型測試

利用Tensorflow平臺(tái)訓(xùn)練獲得的手寫數(shù)字識(shí)別模型,對MNIST數(shù)據(jù)集中剩余的8 000張手寫數(shù)字圖像進(jìn)行識(shí)別測試。其中,手寫數(shù)字0~9的每個(gè)數(shù)字圖片約800張,記錄各圖片的識(shí)別結(jié)果,并對其進(jìn)行統(tǒng)計(jì)處理。手寫數(shù)字識(shí)別正確率測試統(tǒng)計(jì)結(jié)果如表1所示。

表1 手寫數(shù)字識(shí)別正確率測試統(tǒng)計(jì)結(jié)果Tab.1 Handwritten digit recognition correct rate test statistical results

由表1可知:手寫數(shù)字6的識(shí)別正確率最高,可達(dá)99.2%;數(shù)字8的識(shí)別正確率較低,為97.3%。經(jīng)統(tǒng)計(jì),本文設(shè)計(jì)的基于機(jī)器視覺的手寫數(shù)字識(shí)別模型的平均識(shí)別精度約為98.8%。測試過程中,手寫數(shù)字存在誤識(shí)別。誤識(shí)別率結(jié)果如圖4所示。

圖4 誤識(shí)別率結(jié)果Fig.4 False recognition rate results

由圖4可知,手寫數(shù)字會(huì)發(fā)生誤識(shí)別的情況,如實(shí)際數(shù)字8會(huì)被誤識(shí)別為0、1、2、5和9,但誤識(shí)別率較低。為分析部分手寫數(shù)字發(fā)生誤識(shí)別的原因,對手寫數(shù)字0~9的特征分布進(jìn)行分析。分析結(jié)果表明,手寫數(shù)字0~9的特征分布較分明。因此,優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型基本能夠較好地辨識(shí)出手寫數(shù)字。但是,因部分手寫數(shù)字的特征分布界限不夠明顯,會(huì)導(dǎo)致部分手寫數(shù)字存在誤識(shí)別情況的發(fā)生,因此部分手寫數(shù)字的辨識(shí)精度低。為進(jìn)一步分析上述手寫數(shù)字識(shí)別錯(cuò)誤的原因,將識(shí)別錯(cuò)誤的個(gè)別對象挑選出來。識(shí)別錯(cuò)誤的手寫數(shù)字如圖5所示。

圖5 識(shí)別錯(cuò)誤的手寫數(shù)字Fig.5 Recognition of incorrect handwritten digits

圖5給出的待識(shí)別手寫數(shù)字分別為7、2和4,利用本文設(shè)計(jì)的基于機(jī)器視覺的手寫數(shù)字識(shí)別模型進(jìn)行識(shí)別測試,獲得錯(cuò)誤的結(jié)果分別為2、7和2。經(jīng)分析,上述待識(shí)別的手寫數(shù)字均存在數(shù)字2的特征,因此較容易識(shí)別錯(cuò)誤。在實(shí)際應(yīng)用時(shí),有待對本文設(shè)計(jì)的手寫數(shù)字識(shí)別系統(tǒng)模型作進(jìn)一步的算法優(yōu)化設(shè)計(jì)以提高手寫數(shù)字的識(shí)別精度。

3.2 基于嵌入式系統(tǒng)的手寫數(shù)字識(shí)別模型測試

基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)需消耗較大的隨機(jī)存儲(chǔ)器(ramdom acess memory,RAM),且硬件接口較多。本文選用STM32H743VIT6微控制器作為系統(tǒng)的主控芯片,通過OV7725攝像頭捕獲手寫數(shù)字圖像,經(jīng)主控芯片識(shí)別后將手寫數(shù)字識(shí)別結(jié)果顯示至TFT-LCD顯示屏?;谠撉度胧较到y(tǒng)原理樣機(jī)開展手寫數(shù)字識(shí)別模型精度測試與分析研究。

本文收集50人次的手寫數(shù)字0~9,共計(jì)500個(gè)手寫數(shù)字。

采用設(shè)計(jì)的嵌入式系統(tǒng)原理樣機(jī)分別對手寫數(shù)字進(jìn)行識(shí)別測試,并對測試結(jié)果進(jìn)行統(tǒng)計(jì)。實(shí)際手寫數(shù)字識(shí)別正確率測試統(tǒng)計(jì)結(jié)果如表2所示。

表2 實(shí)際手寫數(shù)字識(shí)別正確率測試統(tǒng)計(jì)結(jié)果Tab.1 Actual handwritten digit recognition correct rate test statistical results

由表2可知,基于嵌入式系統(tǒng)的手寫數(shù)字識(shí)別結(jié)果的平均正確率約為98.4%,平均識(shí)別時(shí)間約為0.3 s。單個(gè)數(shù)字的識(shí)別正確率均高于96%,滿足基于嵌入式系統(tǒng)的手寫數(shù)字識(shí)別應(yīng)用需求。

4 結(jié)論

本文采用STM32H743VIT6作為主控芯片,利用OV7725視覺傳感器構(gòu)建了一款基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)原理樣機(jī),開展了手寫數(shù)字0~9的識(shí)別方法的研究。以Tensorflow為開發(fā)平臺(tái),優(yōu)化了卷積神經(jīng)網(wǎng)絡(luò)算法,并對手寫數(shù)字0~9進(jìn)行特征提取和模型訓(xùn)練,獲得TFlite手寫數(shù)字識(shí)別模型。通過對該手寫數(shù)字識(shí)別模型進(jìn)行壓縮加速處理,從而將其布署在STM32H743VIT6微控制器中進(jìn)行在線檢測。試驗(yàn)測試結(jié)果表明,本文設(shè)計(jì)的基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)原理樣機(jī)的平均識(shí)別精度約為98.4%,識(shí)別速度約為0.3 s。本文設(shè)計(jì)的基于機(jī)器視覺的手寫數(shù)字識(shí)別系統(tǒng)原理樣機(jī)具有較高的識(shí)別精度和識(shí)別效率,可為本領(lǐng)域中手寫數(shù)字識(shí)別系統(tǒng)的設(shè)計(jì)提供新思路。

猜你喜歡
數(shù)字圖像手寫正確率
個(gè)性化護(hù)理干預(yù)對提高住院患者留取痰標(biāo)本正確率的影響
我手寫我心
課程設(shè)置對大學(xué)生近視認(rèn)知的影響
我手寫我意
生意
數(shù)字圖像時(shí)代應(yīng)用型本科院校美術(shù)學(xué)專業(yè)轉(zhuǎn)型研究
生意
6萬字的情書
一種對矢量地圖的理論研究
《數(shù)字圖像處理》課程的驅(qū)動(dòng)教學(xué)實(shí)踐