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

基于SVM的智能統分自學習系統設計與實現

2019-10-15 02:21:53趙晟然伍常亮
軟件導刊 2019年8期

趙晟然 伍常亮

摘 要:為了解決傳統紙質試卷人工統分過程存在工作量大、錯誤率高、統分效率低等問題,設計開發一款基于SVM的智能統分自學習系統。該系統由前端用戶界面、后臺手寫分數識別子系統和自學習子系統構成。系統采用C#編程語言和Microsoft Visual Studio軟件設計前端用戶界面;使用Matlab作為系統運算后臺,并構建SVM多分類器識別手寫分數;使用C#編程語言設置定時器,在系統空閑時間定時啟動Matlab執行自學習程序。經過MNIST數據集的訓練和測試,SVM多分類器的測試精度達到97.74%。完成系統設計開發后,使用試卷統分欄圖片測試系統。測試結果表明,該系統可以有效實現智能識別、統分欄內手寫分數匯總以及自學習功能,并將運行結果清晰準確地顯示在前端用戶界面上。

關鍵詞:SVM;手寫數字識別;自學習系統;統分系統

DOI:10. 11907/rjdk. 191927 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2019)008-0127-04

Design and Implementation of Intelligent Unified Self-learning System

Based on SVM

ZHAO Sheng-ran, WU Chang-liang

(College of Mechanical and Electrical Engineering,Kunming University of Science and Technology, Kunming 650500,China)

Abstract: In order to solve the problems of traditional paper test papers in the manual integration process, such as large workload, high error rate and low efficiency, this paper designs and develops an intelligent unified self-learning system based on SVM. The system consists of a front-end user interface, a background handwritten score recognition subsystem, and a self-learning subsystem. The system uses C# programming language and Microsoft Visual Studio software to design the front-end user interface, uses Matlab as the system operation background, and builds SVM multi-classifier to recognize the handwritten score, C# programming language is used to set the timer and Matlab to perform self-learning in the system idle time is started. After training and testing of the MNIST dataset, the SVM multi-classifier has a test accuracy of 97.74%. After completing the system design and development, use the test paper system to test the system. The test results show that the system can effectively realize the functions of intelligent recognition, handwritten scores in the presidential column and self-learning, and display the running results clearly and accurately in the front-end user interface.

Key Words: SVM; handwritten digit recognition; self-learning system; unified system

作者簡介:趙晟然(1993-),男,昆明理工大學機電工程學院碩士研究生,研究方向為企業集成及信息化、機器學習;伍常亮(1995-),男,昆明理工大學機電工程學院碩士研究生,研究方向為企業集成及信息化、機器學習。

0 引言

傳統紙質試卷以其使用方便、成本低廉等優點,在教育領域得到了廣泛應用。同時,試卷的人工批改、手動統分等工作貫穿其整個使用過程。試卷卷頭的統分欄常由分項得分欄和總分欄構成,最常見的統分方法是將試卷題目的分項得分登記到對應的分項得分表中,再依靠人工匯總統分欄內的分項分數,最終得到試卷總分并將其手動填入總分欄。此種方法在實施過程中需要大量依靠人工,人的影響因素較為明顯,在工作量大時容易出現效率低、錯漏多等問題。

分析試卷人工統分過程,其本質就是一個識別手寫數字并將識別結果匯總的過程。隨著人工智能技術的不斷發展,使用手寫識別技術代替人工已經不是難題。手寫數字識別屬于光學字符識別技術(OCR)的分支,本質是圖片分類問題,其原理是將阿拉伯數字0~9分為相對應的10個類別,進而對圖片進行分類,最終選取與標準樣本數字具有最大相似度的數字作為匹配結果。手寫數字識別相關研究一直是領域熱點問題。2011年,吳忠[1]等提出一種基于圖像識別技術的手寫數字識別方法,提高了數字識別率和實時性;2012年,焦微微[2]等提出了一種用BP神經網絡識別手寫數字的方法,識別效果較好。支持向量機(Support Vector Machine,SVM)作為一種以統計學理論為基礎的機器學習算法,可以有效解決非線性、高維數等問題。經過不斷改進和發展,SVM在人像識別、手寫字符識別等模式識別領域得到了廣泛應用。多年來有關SVM的研究從未間斷,1995年Cortes[3]等首次提出SVM,數據訓練結果表明SVM在解決非線性及高維數問題中表現出許多特有優勢,具有優秀的泛化能力;2017年Vapnik[4]等對SVM和神經網絡中的知識轉移進行了前瞻性研究。此間許多學者展開了對SVM的相關研究并將其靈活運用于手寫字符識別領域。2005年,蒙庚祥[5]等闡述了支持向量機技術和手寫數字識別技術發展現狀,基于SVM進行手寫體數字識別系統設計;2006年,吳琳琳[6]將支持向量機應用于手寫數字識別,嘗試開發了SVM. HDR軟件系統,有效提高了手寫數字識別精度;2010年,李文趨[7]以手寫數字樣本圖像的像素點作為輸入對SVM進行訓練,獲得了最佳參數并取得了較高識別率;2013年,石會芳[8]通過研究SVM 核函數的參數優化方法,提出基于改進的 PSO-LSSVM 的手寫數字識別方法,有效提高了數字識別準確度。

隨著人工智能技術的不斷發展,近幾年將SVM應用于手寫數字識別技術的研究逐漸深入。2017年,李陽陽等[9]發明了一種基于卷積神經網絡和支持向量機的手寫數字識別方法,將卷積神經網絡與支持向量機相結合提高手寫數字識別準確率;2018年,Sharma等[10]設計了基于SVM的字符識別系統,同年郭偉林等[11]進行了多分類支持向量機應用的研究與探索,并將其與手寫數字識別相結合;2019年,胡霖[12]提出了一種基于改進的C-支持向量機的手寫體數字高識別率方法,并通過實驗證明了該方法有效可行。

雖然SVM在手寫數字識別領域得到了廣泛應用,但鮮少將其應用于試卷統分欄手寫分數的識別。為了解決傳統紙質試卷統分過程存在依賴人工識別和匯總分數所導致的效率低、易出錯等問題,本文設計并實現了一款基于SVM進行試卷智能統分的自學習系統。

1 系統需求分析

該系統應具備識別準確、響應迅速、自學習等功能,可實現對統分欄圖片內的手寫分數進行正確識別和智能統分;對于用戶反饋的識誤數據文件,系統后臺可在設置的空閑時間內進行自學習,使系統在自學習過程中不斷自我完善和提高;同時要求系統運行穩定,魯棒性強,能夠有效滿足使用需求。

2 系統結構設計

基于SVM的智能統分自學習系統由前端用戶界面、后臺手寫分數識別子系統和自學習子系統構成。系統前端用戶界面需要有圖片導入鍵、清除鍵、保存鍵、識別鍵并能顯示后臺分數識別系統識別結果;后臺分數識別系統需具備圖片預處理、手寫數字準確識別和智能統分功能;自學習系統要能將用戶反饋的識錯數字保存下來,有批次地在服務器空閑時間加入新樣本重新訓練分類器。

經過需求分析確定該系統體系結構如圖1所示。

圖1 系統體系結構

3 前端設計與實現

C#作為一門現代、通用、面向對象的編程語言,可以產生高效率的程序[13];Microsoft Visual Studio軟件可以幫助開發者在系統設計和開發過程中兼顧美感與功能[14]。本文使用C#編程語言,結合Microsoft Visual Studio軟件設計系統前端用戶界面。

前端用戶界面包含了選擇顏色、畫筆精度、設置圖片大小、導入圖片以及對圖片進行清除、保存、識別的功能鍵。用戶可以點擊“導入”鍵導入需要識別的試卷卷頭統分欄圖片,點擊“識別”鍵識別統分欄中各分項得分。若用戶發現導入錯誤,可以點擊“清除”鍵清除當前圖片,便于重新選擇圖片。同時在顯示框下方設置統分欄顯示區域,清晰、直觀、有序地向用戶展示系統所識別的分項得分及智能統分結果。界面整體設計簡潔大方,可以幫助用戶方便地進行相關操作,快速獲取有效信息。

4 后臺設計與實現

本文采用Matlab作為系統運算后臺。Matlab作為一款功能強大的數學軟件,被廣泛應用于圖像處理等領域[15]。通過Matlab對圖片進行處理和分割,有效提取圖片特征,利用其強大的計算能力完成對試卷卷頭統分欄圖片的預處理,并且以欄為單位對試卷卷頭統分欄圖片進行分割。在此基礎上對分割得到的每個分數欄內分數的小圖片進行識別,最終實現正確識別分項得分和智能統分的功能,并將結果傳送至系統前端界面進行顯示。

4.1 試卷統分欄圖像處理過程

系統中主要涉及對試卷卷頭統分欄內的分數圖片進行圖像分割。首先對前端輸入的圖片進行預處理,此過程中首先對圖片進行適當縮放,然后根據顏色配比從圖片中提取出分數,最后進行形態學閉運算和膨脹運算并使用自動閾值法對圖片進行二值化處理。圖片預處理的作用是利用圖像分割技術將試卷統分欄中的分數整體分割出來,用形態學方法將分割得到的圖像進行去噪、膨脹、腐蝕等操作,最終得到清晰、無噪聲、只存在手寫分數的圖片[16]。

在得到清晰無噪的手寫分數圖片后,開始對分項得分圖片進行分割。本系統采用當前主流文本識別技術實現對試卷頭手寫分數的識別功能,即對單個文本進行逐步識別后再加以組合[17]。首先對預處理后的圖片提取包絡矩形,然后判斷并糾正圖片方向并對圖片進行適度增廣,最后利用密度聚類法對圖片進行聚類,根據密度聚類結果單獨提取出單個數字的像素點,并分別取最小包絡進行保存。

4.2 SVM多分類器構建

SVM算法最初是為二值分類問題而設計,當處理多類問題時,就需要構造合適的多類分類器。目前,構造SVM多類分類器的方法主要有直接法和間接法。間接法又包括“一對多”法和“一對一”法。其中“一對一”法在處理過程中無需重新訓練所有的支持向量機,只需重新訓練與增加樣本相關的分類器即可。因此,在單個模型訓練過程中具有較快速度。

本文結合系統實際需要,確定采用“一對一”方法構建多分類支持向量機。具體做法是在任意兩類樣本之間設計一個支持向量機,對于k個類別的樣本,就需要設計k(k-1)/2個支持向量機。由于該系統需要識別0~9共10種類別的數字,即k=10,因此需要構建45個SVM分類器。SVM分類器在分類過程中的工作原理是:將45個二分類器分別應用于單個數字的判別,同時記錄數字被判別的次數[18]。某一個標準樣本數字被判別的次數越多,意味著被識別數字與標準樣本數字間的相似度越大。選取與標準樣本數字具有最大相似度的數字作為最終識別結果,在完成手寫數字的識別過程后,將識別結果輸送至前端用戶界面。

4.3 SVM多分類器訓練與測試

本文選取MNIST數據集作為初始SVM多分類器的訓練集和測試集。MNIST包含7萬張黑底白字手寫數字圖片,其中55 000張為訓練集,5 000張為驗證集,10 000張為測試集。其中,訓練數據集包含60 000個樣本,測試數據集包含10 000樣本。在 MNIST 數據集中的每張圖片由28×28個像素點構成,每個像素點用一個灰度值表示。MNIST數據集示例圖片如圖2所示。由于樣本量較大,此處選用像素點的分布特征作為支持向量機的訓練數據,并對所有樣本進行最小包絡處理以期提高訓練效果。測試結果表明,用此方法得到的SVM多分類器的測試精度達到97.74%,說明該SVM多分類器的可信度較高。

圖2 MNIST數據集示例圖片

4.4 截圖報錯功能實現

截圖報錯功能是通過使用C#編程語言[19],借助Microsoft Visual Studio軟件這一載體,結合系統的前端用戶界面實現。當系統的手寫數字識別結果出現錯誤時,用戶可以根據識別出錯的具體內容,將識錯部分的圖像進行截取、保存,并反饋到系統后臺。同時系統中包含的臨時文件會將用戶輸入的新圖像數據樣本與之前的圖像數據樣本進行融合,為系統后續自學習過程奠定基礎。

4.5 自學習功能實現

作為人工智能領域的關鍵技術,自學習功能可以幫助基于SVM的智能統分系統隨著時間的推移和學習循環過程的進行不斷完善和提高,進而具備更精確的識別率和更強大的處理能力[20]。考慮到系統在應用初期,可能會由于數據量不足而產生手寫分數識別錯誤的問題,該系統采取如下對策:通過使用C#編程語言中的Timer類語句,即設置一個定時器,定時啟動Matlab軟件,開始執行自學習程序。定時器啟動后,系統將自動建立一個新的線程,執行用戶指定的函數(用戶反饋的識錯內容),實現系統在夜間(0點以后)空閑時間自動開啟Matlab軟件,對白天用戶的使用情況進行重新學習[21]。

系統能夠根據前端用戶對識別結果的反饋,將識別錯誤的手寫數字圖像保存到一個臨時文檔中,在服務器空閑時間,后臺可以將這些識錯圖像作為新樣本加入到樣本集中重新對SVM分類器進行訓練,最終實現優化系統功能、提高識別精度和學習效率的目的。

隨著自學習功能的不斷進行,系統將會“記住”越來越多不同手寫風格的樣本,從而不斷增強和完善系統識別功能,保證系統良性循環,真正意義上實現“機器學習”。

選取樣本圖片對系統自學習功能進行測試過程如下:樣本圖片如圖3所示,前端用戶對系統識別錯誤的內容進行截圖并對其正確命名,然后將其反饋到系統后臺。系統首先將命名為9的樣本圖片進行識別,識別結果顯示為5,與圖片實際內容(正確命名)不符,此時系統發現識別錯誤,將在設置好的空閑時間內開啟自學習功能。自學習功能實現過程如圖4所示。

圖3 樣本圖片? ? ? ? ? ? ? ? ? ? ? ? ? 圖4 自學習過程

5 系統運行結果

在前端用戶界面顯示框中點擊“導入圖片”鍵,導入試卷卷頭統分欄圖片,然后選擇合適的顏色、畫筆粗度和圖片大小,確認無誤后點擊“識別”鍵,系統開始對圖片進行識別,如圖5所示。

圖5 圖片選擇及導入

系統運行完畢后,會將運行結果顯示在前端用戶界面顯示框下端的分數表中,如圖6所示。

圖6 識別結果

該系統在Matlab運行環境下的運行結果與運行時間如圖7所示。

圖7 Matlab運行結果與運行時間

系統運行結果表明,該系統后臺預期功能基本實現,能夠實現對試卷卷頭統分欄中的分數進行正確識別和統分。該系統在運行條件為Matlab2016a、計算機系統處理器1.80GHz、運行內存(RAM)為3.89GB時,總運行時間為7.22s,其中加載支持向量機分類器結構體耗時5.57s。

6 結語

本文針對傳統紙質試卷統分方法存在工作效率低、容易出錯等問題,使用C#編程語言,結合Matlab與Microsoft Visual Studio軟件,設計并實現了基于SVM的智能統分自學習系統。系統通過構建SVM多分類器并使用MNIST數據集對其進行訓練和測試,取得了97.74%的測試精度。通過前端用戶界面導入統分欄圖像,采用Matlab作為運算后臺,首先對圖片進行預處理,對分項得分圖片進行分割,然后使用SVM多分類器識別手寫分數。系統利用Matlab的強大計算能力完成對試卷卷頭統分欄手寫分數的識別,智能計算總分并將識別結果傳送到前端用戶界面。在服務器空閑時間對識錯數字圖像進行自學習,最終完成試卷卷頭統分欄內手寫分數的智能識別、統分和自學習過程。驗證結果表明,該系統可以顯著降低試卷統分工作強度,提高工作效率和統分正確率,具有一定的應用價值。

隨著系統自學習過程的不斷循環,系統功能將得到進一步完善和提高,預測SVM多分類器的識別精度可以超過97.74%。但是該系統仍然存在不足:當前系統運行時間較長,如何有效縮短系統運行時間,實現對試卷統分表欄圖片內手寫數字的快速識別、匯總和結果輸出,將是下一步的主要研究方向。

參考文獻:

[1] 吳忠,朱國龍,黃葛峰,等. 基于圖像識別技術的手寫數字識別方法[J]. 計算機技術與發展, 2011, 21(12):48-51.

[2] 焦微微,巴力登,閆斌. 手寫數字識別方法研究[J]. 軟件導刊, 2012,11(12):172-174.

[3] CORTES C, VAPNIK V. Support-vector networks[J]. Machine Learning,1995,20(3):273-297.

[4] VAPNIK V, IZMAILOV R.Knowledge transfer in SVM and neural networks[J]. Annals of Mathematics and Artificial Intelligence,2017.

[5] 蒙庚祥,方景龍. 基于支持向量機的手寫體數字識別系統設計[J]. 計算機工程與設計,2005,26(6):1592-1594.

[6] 吳琳琳. 基于SVM技術的手寫數字識別的研究[D]. 濟南:山東師范大學,2006.

[7] 李文趨.? SVM在手寫數字識別中的應用[J]. 泉州師范學院學報, 2010,28(4):18-21.

[8] 石會芳. 支持向量機及其在手寫數字識別中的應用[D]. 重慶:重慶大學, 2013.

[9] 李陽陽,周林浩,焦李成,等. 基于卷積神經網絡與支持向量機的手寫數字識別方法[P]. 中國,CN201611136985.6,2017-04-26.

[10] SHARMA S,SASI A, CHEERAN A N.A SVM based character recognition system[C]. 2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT),2018.

[11] 郭偉林,鄧洪敏,石雨鑫. 基于局部二進制和支持向量機的手寫體數字識別[J]. 計算機應用,2018,38(S2):287-290,294.

[12] 胡霖. 基于改進的C-支持向量機的手寫體數字高識別率方法研究[J]. 數字通信世界,2019,169(1):252-272.

[13] Derek Beyer. C# COM+編程指南[M]. 龔小平,史艷輝,杜大鵬,譯. 北京:中國水利水電出版社,2002.

[14] SNELL M,POWERS L.Microsoft visual studio 2015 unleashed[M]. Indianapolis :Sams Publishing,2010.

[15] 李根強.? MATLAB及Mathematica軟件應用[M]. 北京:人民郵電出版社, 2016.

[16] 江明,劉輝,黃歡. 圖像二值化技術的研究[J]. 軟件導刊,2009(4):175-177.

[17] 邊肇祺,張學工. 模式識別[M]. 第2版. 北京:清華大學出版社,2000.

[18] 陳永義,熊秋芬. 支持向量機方法應用教程[M]. 北京:氣象出版社,2011.

[19] 莫勇騰. 深入淺出設計模式(C#/JAVA版)[M]. 北京:清華大學出版社,2006.

[20] 周志華. 機器學習[M]. 北京:清華大學出版社,2016.

[21] 趙海濱.? MATLAB應用大全[M]. 北京:清華大學出版社,2012.

(責任編輯:孫 娟)

主站蜘蛛池模板: 国产色偷丝袜婷婷无码麻豆制服| 国产精品女人呻吟在线观看| 久青草网站| 欧美www在线观看| 精品国产一区91在线| 在线人成精品免费视频| 在线免费亚洲无码视频| 福利在线一区| 亚洲高清日韩heyzo| 国产黄色视频综合| 亚洲AⅤ永久无码精品毛片| 波多野结衣一区二区三区四区视频 | 久久久久久高潮白浆| 国产成人精品视频一区二区电影 | 欧美一级在线播放| 99re经典视频在线| 亚洲永久免费网站| a毛片免费在线观看| 亚洲欧美色中文字幕| 国产农村妇女精品一二区| 国产精品亚洲αv天堂无码| 91www在线观看| 久久成人国产精品免费软件| 欧美日韩另类在线| AV网站中文| 成人无码一区二区三区视频在线观看 | 91黄色在线观看| 欧洲一区二区三区无码| 91香蕉国产亚洲一二三区 | 色偷偷一区| 欧美午夜一区| 国产亚洲欧美在线视频| 91精品福利自产拍在线观看| 99久久成人国产精品免费| 国产免费怡红院视频| 一本大道东京热无码av| 高清码无在线看| jijzzizz老师出水喷水喷出| 91毛片网| 国产h视频免费观看| 欧美不卡在线视频| 欧美午夜在线观看| 制服丝袜无码每日更新| 综合色天天| 香蕉视频在线观看www| 国产在线自在拍91精品黑人| 久久婷婷色综合老司机| 亚洲二三区| 美女视频黄又黄又免费高清| 免费日韩在线视频| 亚洲综合婷婷激情| 一区二区日韩国产精久久| 青青操国产| 亚洲AV无码乱码在线观看裸奔| 欧美亚洲第一页| 久久香蕉欧美精品| 欧美日韩一区二区三| a级高清毛片| 国产视频你懂得| 中文无码毛片又爽又刺激| 无码中文字幕乱码免费2| 国产理论精品| 直接黄91麻豆网站| 亚洲av日韩综合一区尤物| 亚洲精品国产精品乱码不卞| 日韩精品久久久久久久电影蜜臀| 丁香婷婷激情综合激情| 国禁国产you女视频网站| 国产乱子伦手机在线| 国产成人精品三级| 国产噜噜噜视频在线观看| 老司国产精品视频91| 国模沟沟一区二区三区| 欧美一级高清视频在线播放| 色精品视频| 久久免费精品琪琪| 久久人与动人物A级毛片| 91av成人日本不卡三区| 福利视频久久| 国产精品99在线观看| 欧美成人免费一区在线播放| 免费国产在线精品一区|