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

基于卷積神經網絡CNN的手寫數字識別算法研究

2024-01-26 22:06:37張文王意劉天宇
電腦知識與技術 2023年35期

張文 王意 劉天宇

摘要:手寫數字識別是圖像分類的常見應用方向,可廣泛應用于快遞編碼識別、簡歷電話號碼識別、電腦自動判卷等方面。為了解決BP神經網絡在手寫數字識別中全連接模型參數過多、網絡計算數據量大、識別準確率低等問題,采用卷積神經網絡CNN進行手寫數字識別。采用PyTorch搭建了網絡模型,對MNIST數據集進行訓練,手寫數字識別;采用交叉熵損失函數和Adam優化算法,并設置學習率為0.001;經過100個Epoch后,識別準確率達到了99%,通過GUI界面可以識別自制的手寫數字,具有很強的魯棒性。

關鍵詞:卷積神經網絡;PyQt5;MNIST數據集;手寫數字識別

中圖分類號:TP391? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2023)35-0027-03

開放科學(資源服務)標識碼(OSID)

0 引言

目前在國內外,針對手寫體數字識別技術已經比較成熟,相較于傳統光學字符識別(OCR)圖像識別技術,基于深度學習的卷積神經網絡算法可以在復雜場景下快速、準確、有效地獲取并識別場景中文字[1-2]。本文引用的文獻中關于手寫數字識別研究測試時采用的是與MNIST數據集同樣類型的黑色背景白色字體圖像均沒有涉及測試白色背景黑色字體類型的圖像,為了解決這個問題,本文基于卷積神經網絡CNN對MNIST數據集進行訓練,采用PyTorch搭建自制網絡模型,使用PyQt5設計GUI界面,并最終實現CNN與GUI界面結合,從而在GUI界面可以測試手寫數字,實現識別自制的黑色背景白色字體和白色背景黑色字體的手寫數字準確率均達到預期。

1 卷積神經網絡

卷積神經網絡CNN流程主要是先傳入圖像,然后進行卷積、池化操作,特征圖展平后進行全連接,最后返回類別結果,其中輸入層傳入的灰色圖像則是單通道,如圖1所示。

卷積層與池化層涉及的參數如表1所示。

卷積層之后的特征圖尺寸邊長遵循式(1)計算規則:

[H2=H1-2p+fs+1]? ? ? (1)

池化層之后的特征圖尺寸邊長遵循式(2)計算規則:

[H2=H12]? ? ? ? ? (2)

2 PyTorch與MNIST

本文的網絡模型采用PyTorch框架進行搭建,用到的MNIST數據集可以在PyTorch框架中直接下載,數據集包含55 000個訓練集樣本、5 000個驗證集樣本以及10 000個測試集樣本,每個樣本都為二值化圖像數據,像素為28×28[3-4],MNIST數據集的每張圖片都是0~9這10個數字類別的黑色背景白色字體手寫數字圖像,樣本實例如圖2所示。

3 PyQt5概述

PyQt5是專門用于開發GUI應用程序的Python第三方庫,其特點是信號Signal與槽slot機制,使得用戶可以迅速、便捷地實現GUI程序的設計。

Qt設計師(designer.exe) 是PyQt5中的一個非常便捷的控件可視化工具,它可以通過拖拽控件方便地進行GUI界面的設計和布局,同時Qt設計師可以實現預覽GUI界面。通過Qt界面生成器(designer.exe) ,可以將所需要的控件進行可視化的拖拽放置,大大提高了界面設計效率[5-6]。PyQt5能夠實現界面與邏輯分離,避免因修改算法邏輯而影響到界面的布局,也可以避免界面布局的更改而影響到代碼邏輯的運行。

4 算法設計與實現

4.1 算法實現流程

算法總體設計流程如圖3所示,先通過卷積神經網絡CNN對MNIST數據集進行訓練,依次經過輸入層、卷積層、池化層、全連接層、輸出層,網絡模型訓練結束后通過torch.save(model.state_dict(),path)保存模型參數;GUI界面啟動后先實例化卷積神經網絡,再調用并恢復網絡模型參數,從而可以選擇圖像進行識別圖像并顯示識別結果。

4.2 網絡模型

在本文中,使用的自制卷積神經網絡模型CNN-Six每一個卷積層采用卷積核尺寸邊長[f=3]、滑動窗口步長[s=1]、邊緣填充層數[p=0],因此每次卷積之后,新特征圖的邊長[H2=H1-2],為了彌補卷積操作過程中帶來的網絡模型參數損失,每次卷積后特征圖的通道數值翻倍,開始輸入時的通道是1,結束時的通道數是8。

4.2.1 網絡流程

CNN-Six是一個6層神經網絡,網絡執行兩次“卷積+卷積+池化”流程;并且每次卷積操作結束都將結果傳給了Relu激活函數,從而能夠更好地映射特征,增強卷積神經網絡的表達能力;最后執行兩次全連接對圖像進行數字的10分類。

首先,傳入圖片像素尺寸為28×28的黑白單通道圖像,對圖像進行歸一化操作;卷積操作:特征圖邊長由[28-2=26]轉變為26,通道數變為2;再次卷積操作:特征圖邊長由[26-2=24]轉變為24,通道數變為4;池化操作:特征圖邊長由[242=12]轉變為12,通道數保持不變;卷積操作:特征圖邊長由[12-2=10]轉變為10,通道數變為8;再次卷積操作:特征圖邊長由[10-2=8]轉變為8,通道數變為16;池化操作:特征圖邊長由[82=4]轉變為4,通道數保持不變;展平操作:特征圖展平為16×4×4節點;全連接操作:映射成80個節點;全連接操作:80個節點映射成10個節點;輸出10分類結果。CNN-Six網絡模型流程如4所示。

4.2.2 網絡訓練

卷積神經網絡在PyTorch框架中定義網絡模型類時包含了前向傳播的階段,即基礎的輸入層、輸出層以及卷積層、池化層和全連接層,但是沒有定義反向傳播。

反向傳播是計算卷積神經網絡中參數梯度的階段,其可以通過鏈式法則將損失函數的梯度值即導數值從輸出層向輸入層進行相反操作的流程,進而可以計算出卷積神經網絡模型中每個參數對損失函數的貢獻。梯度更新可以根據梯度的方向和大小,通過減去學習率乘以梯度來更新網絡模型中對應的參數數值;更新之后的網絡模型參數將會被用于下一個迭代epoch。

迭代次數epoch設置為100,CNN-Six網絡模型執行epoch。訓練結束后,模型的誤差值和正確率結果如圖5所示。

通過損失值曲線和正確率曲線可以看出,CNN-Six網絡模型訓練集的識別正確率略優于測試集,同時訓練集和測試集的數字識別正確率都可以實現在99%左右,訓練效果達到預期。

其中0~9這10個數字類別各自的預測正確率如圖6所示。

從各類別的測試正確率來看,CNN-Six網絡模型對于MNIST數據集圖像的預測較為準確。

4.2.3 底色判定

由于MNIST數據集的每張圖像都是黑色背景白色字體類型圖像,所以如果測試識別手寫數字圖像傳入的是黑色背景白色字體類型圖像可以正確識別,但是如果傳入的是白色背景黑色字體類型圖像則可能不會正確識別。

為了在傳入手寫數字圖像后,系統可以自動分辨圖像是黑色背景白色字體類型圖像還是白色背景黑色字體類型圖像,在傳入圖像操作語句后添加一個底色判定語句塊。

設[Nw]、[Nb]數值均為0;Pic是待預測的圖像,其長度與寬度分別為[TL]、[TW];prediction是預測圖像操作,底色判定具體流程如下:

FOR L=0 TO [TL]:

FOR W=0 TO [TW]:

IF Pic[L][W]>=100 THEN [Nw]=[Nw]+1

ELSE [Nb]=[Nb]+1

END IF

IF [Nw<Nb] THEN prediction

ELSE

FOR L=0 TO [TL]:

FOR W=0 TO [TW]:

Pic[L][W]=255-Pic[L][W]

prediction

END IF

4.2.4 模型對比

將CNN-Six網絡模型分別與ResNet-18、VGG-16網絡測試結果進行對比,結果如表2所示。由表2可知,從識別正確率看,CNN-Six網絡模型在手寫數字識別正確率相對較高。

以上結果可以表明,CNN-Six網絡模型可以快速精確地識別手寫數字。

4.3 識別測試

GUI界面顯示的同時傳入CNN-Six網絡模型訓練好后保存的網絡模型參數文件路徑,實例化一個新的CNN-Six網絡模型并加載網絡參數,選擇手寫數字圖像即可進行識別,GUI界面就會顯示識別結果。以數字6為例,打開手寫數字6的圖像,并進行圖像分類識別,加載網絡模型參數的GUI界面程序可以正確識別出圖像中的數字是6,結果如圖7所示:

自制多張手寫數字圖像,包括黑色背景白色字體樣式圖像和白色背景黑色字體兩種類型圖像,實例化CNN-Six網絡模型加載訓練好的參數進行識別圖像,實驗證明,CNN-Six網絡模型可以正確地識別出圖像中的手寫數字。選取部分自制0~9這10個類別圖像黑色背景白色字體樣式和白色背景黑色字體樣式如圖8所示,對應的識別結果如表3所示。

從表3可以看出,系統識別的手寫數字圖像大多都識別成功了,但是在測試的20張圖像中仍有一張手寫數字圖像識別錯誤,數字“2”被識別成了數字“3”,正確率為95%,實現了較理想的識別效果。

5 結束語

本文利用卷積神經網絡在圖像分類中的優勢對MNIST數據集采用了自制的卷積神經網絡模型CNN-Six進行手寫數字識別,可以實現正確地識別黑色背景白色字體以及白色背景黑色字體2種類型的數字圖像,識別正確率達到預期,可以應用于快遞編碼識別、簡歷電話號碼識別、電腦自動判卷等領域。

參考文獻:

[1] 楊之杰,林雪剛,阮杰.基于CNN網絡的手寫體數字識別系統的實現[J].智能計算機與應用,2023,13(4):158-162.

[2] YOVAN FELIX A,SHRIRAM S,MOHAN KUMAR D.The classification and segmentation of plant disease using convolutional neural network (CNN)[C]//DASH SS,PANIGRAHI BK,DAS S.Sixth International Conference on Intelligent Computing and Applications.Singapore:Springer,2021:475-482.

[3] 唐鑒波,李維軍,趙波,等.基于卷積神經網絡的手寫數字識別方法研究[J].電子設計工程,2022,30(21):189-193.

[4] 祝永志,張彩廷.基于TensorFlow深度學習的Minist手寫數字識別技術[J].通信技術,2020,53(1):46-51.

[5] 桑曉丹,郭銳.基于PyQt5的數字圖像處理實驗平臺設計[J].電子技術與軟件工程,2021(18):129-130.

[6] 盧玲,漆為民.基于PyQt5的求解線性方程組軟件的設計與實現[J].江漢大學學報(自然科學版),2023,51(1):18-27.

【通聯編輯:唐一東】

主站蜘蛛池模板: 色综合激情网| 青青青视频免费一区二区| 午夜精品久久久久久久99热下载| AV网站中文| 久久这里只有精品国产99| 在线观看精品自拍视频| 亚洲一区二区三区麻豆| 亚洲AV无码一区二区三区牲色| 国产精品亚欧美一区二区| 欧洲极品无码一区二区三区| 97视频免费在线观看| 91久久偷偷做嫩草影院电| 欧美在线视频不卡| julia中文字幕久久亚洲| 国产精品免费露脸视频| 中文字幕久久精品波多野结| 日韩av高清无码一区二区三区| 亚洲国产亚洲综合在线尤物| 无套av在线| 91在线中文| 国产人成乱码视频免费观看| 99re在线视频观看| 亚洲欧美成人综合| 亚洲色成人www在线观看| 中文字幕日韩欧美| 天堂成人在线| 亚洲美女AV免费一区| 一本大道香蕉久中文在线播放| 国产国拍精品视频免费看| 久久精品娱乐亚洲领先| 国产精品亚洲精品爽爽 | 国产在线日本| 一级毛片高清| 国产在线精品99一区不卡| 啊嗯不日本网站| 在线亚洲天堂| 日韩人妻精品一区| 99国产精品国产高清一区二区| 日本在线免费网站| 日韩国产欧美精品在线| 2021精品国产自在现线看| 欧美亚洲另类在线观看| 免费无码又爽又黄又刺激网站| 免费jjzz在在线播放国产| 日韩精品无码免费专网站| 粉嫩国产白浆在线观看| 日本午夜影院| 国产成人综合亚洲网址| 国产白浆在线| 少妇被粗大的猛烈进出免费视频| 视频二区国产精品职场同事| 日韩 欧美 国产 精品 综合| 99精品一区二区免费视频| 欧美综合区自拍亚洲综合天堂| 日韩不卡高清视频| 成人字幕网视频在线观看| 亚洲色图另类| 国产福利免费在线观看| 国内毛片视频| 国产成人AV综合久久| 国产AV无码专区亚洲精品网站| 热九九精品| 日韩在线视频网站| 久久综合色天堂av| 亚洲欧美另类中文字幕| 国产大全韩国亚洲一区二区三区| 国产精品亚欧美一区二区| 天天做天天爱天天爽综合区| 国产自在线播放| 国内精品久久人妻无码大片高| 久久99国产综合精品1| 免费人成视网站在线不卡| 国产好痛疼轻点好爽的视频| 精品小视频在线观看| 精品伊人久久久大香线蕉欧美| 免费看av在线网站网址| 亚洲一区色| 一级成人欧美一区在线观看| 99热6这里只有精品| 亚洲,国产,日韩,综合一区| 久久午夜影院| 91高清在线视频|