• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      徐 云,楊承翰,高 磊

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

      0 引言

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

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

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

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

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

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

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

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

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

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

      卷積神經(jīng)網(wǎng)絡(luò)是1種包含卷積計算且具有深度結(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

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

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

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

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

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

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

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

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

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

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

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

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

      f(x)=max(0,x)

      (1)

      式中:x為輸入。

      手寫數(shù)字進行分類時,Relu函數(shù)計算簡單,并能夠使分類更快收斂。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采用最大值池化法,對每個2×2的窗口選取窗口中最大的數(shù)作為輸出矩陣的相應(yīng)元素值,實現(xiàn)手寫數(shù)字圖像的壓縮處理。池化層處理代碼為:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      4 結(jié)論

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

      猜你喜歡
      數(shù)字圖像手寫正確率
      手寫比敲鍵盤更有助于學習和記憶
      我手寫我心
      門診分診服務(wù)態(tài)度與正確率對護患關(guān)系的影響
      抓住身邊事吾手寫吾心
      基于集成學習的MINIST手寫數(shù)字識別
      電子制作(2018年18期)2018-11-14 01:48:08
      ARGUS-100 藝術(shù)品鑒證數(shù)字圖像比對系統(tǒng)
      生意
      品管圈活動在提高介入手術(shù)安全核查正確率中的應(yīng)用
      天津護理(2016年3期)2016-12-01 05:40:01
      生意
      故事會(2016年15期)2016-08-23 13:48:41
      基于塊效應(yīng)測度的JPEG數(shù)字圖像盲取證
      邯郸县| 城固县| 镇赉县| 河东区| 治多县| 新民市| 平利县| 绥宁县| 酒泉市| 阿城市| 腾冲县| 登封市| 宁武县| 大新县| 集安市| 延津县| 秦安县| 鄂托克旗| 武宣县| 隆化县| 辉县市| 大庆市| 扎兰屯市| 茌平县| 东兴市| 澄江县| 沿河| 太仆寺旗| 密山市| 攀枝花市| 泾阳县| 南郑县| 宝鸡市| 定日县| 延庆县| 海安县| 安徽省| 区。| 雅安市| 常德市| 泰州市|