劉祖贏 陳庭軒



摘要:手寫體識別現(xiàn)已應用到多個行業(yè)之中,常見的如財務系統(tǒng)、稅務系統(tǒng)、金融系統(tǒng)等領域,手寫體識別的出現(xiàn)大大提高了各行各業(yè)的工作效率及精準性。對于教育行業(yè),手寫體識別主要用于課程作業(yè)的識別,該系統(tǒng)基于該需求,運用JavaEE技術開發(fā)了一個基于Tensorflow框架的手寫體識別算法的公式識別系統(tǒng),使用spring MVC作為應用框架,以tomcat作為服務器進行部署。該系統(tǒng)能對公式進行識別以及計算,對在線教育領域具有優(yōu)良的應用價值。
關鍵詞:JavaEE;手寫體識別;在線教育;spring MVC;公式計算
中圖分類號:TP319? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)06-0074-02
Abstract: Handwriting recognition has been applied to many industries, such as financial system, tax system, financial system and other fields. The emergence of handwriting recognition greatly improves the efficiency and accuracy of all walks of life. For the education industry, handwriting recognition is mainly used for the recognition of course assignments. Based on this demand, the system uses JavaEE technology to develop a formula recognition system based on a tensorflow algorithm, uses spring MVC as the application framework, and Tomcat as the server for deployment. The system can identify and calculate the formula, which has good application value in the field of online education.
Key words: JavaEE; handwriting recognition; online education; spring MVC; formula calculation
1 背景
隨著全球互聯(lián)網(wǎng)技術的飛速發(fā)展[1],線上教育逐漸走進人們的視野。傳統(tǒng)教育以教師和學生的課堂互動和學生課后自主練習為基準,每一個環(huán)節(jié)都需要教師直接或間接進行把控。考試和考試閱卷是學校主要教學工作的一部分,傳統(tǒng)的紙質(zhì)閱卷費時費力,而且閱卷過程煩瑣且易于出現(xiàn)錯評誤評[2],而現(xiàn)如今興起的深度學習技術則緩解了教師的這一大痛點。手寫體識別技術可以幫助教師在閱卷、批改作業(yè)等環(huán)節(jié)脫離紙質(zhì)板書,將老師從重復且枯燥的客觀題批閱中解放出來[3],節(jié)省教師的體力和時間的同時還能避免紙質(zhì)板書出現(xiàn)的謬誤,助其在教學領域取得更好的成就。
數(shù)學公式能包含大量的信息,一位職業(yè)數(shù)學家即使不懂日語,僅僅通過看公式,也能看懂部分日語寫的數(shù)學專著,并且看出這本書是否值得翻譯[4],由此可見數(shù)學公式在學術和教育中的重要性。基于以上問題和方法,本項目實現(xiàn)了一個將手寫體公式板書識別為計算機能識別的公式字符串的智能識別系統(tǒng)。
2 手寫體識別算法
圖像識別問題作為人工智能的一個重要領域,是近年來的研究熱點,并已經(jīng)取得了突破性的進展[5]。手寫體識別算法作為圖像識別的一個大分支,也處于發(fā)展熱潮。手寫體識別可以分為聯(lián)機識別和脫機識別兩大類,聯(lián)機手寫體也就是用戶在觸屏設備或手寫板上書寫的同時,算法就對其進行實時識別,由于待處理數(shù)據(jù)是實時的,聯(lián)機識別的最大的好處就是可以克服原始數(shù)據(jù)中的噪聲,因此識別難度也相對較低;而脫機識別指的是用戶將手寫體數(shù)據(jù)在電子設備或紙質(zhì)媒介上提前書寫好,然后保存為圖片或通過相機拍攝為圖片再交由手寫體算法進行識別,由于處理流程中增加了一次保存操作,因此也不可避免地帶來了更多干擾和噪聲,讓識別也更困難。考慮到廣大師生平時的使用習慣,本系統(tǒng)采用的是脫機識別算法,便于師生們先完成公式或算式再提交給系統(tǒng)進行識別。
本系統(tǒng)的脫機手寫體識別算法為由陳庭軒等人提出的一種基于Adam-SGD融合優(yōu)化CNN集成學習算法[6]。單獨使用Adam優(yōu)化算法后期可能會因震蕩而無法收斂引起錯過最優(yōu)解,而SGD優(yōu)化算法相比Adam優(yōu)化算法收斂速度慢但結果一般較好,該算法在模型訓練時結合Adam優(yōu)化算法和SGD優(yōu)化算法,既能獲得Adam優(yōu)化算法的快速收斂,又能利用SGD優(yōu)化算法獲取最優(yōu)解。
3 系統(tǒng)的總體設計與實現(xiàn)
3.1 系統(tǒng)總體設計
本公式識別系統(tǒng)主要分為三個模塊:手寫體識別、公式重組與計算、前端頁面。手寫體識別算法負責對公式字符的識別,獲取到字符識別結果之后重組為公式并計算與判斷該答案是否正確,最后將識別的結果以及提交答案是否正確展示給用戶。在確定系統(tǒng)的基本架構之后,系統(tǒng)流程設計如圖1所示。
3.2 公式計算
在手寫體識別算法獲得識別結果之后,便需要對公式進行重組和計算。本系統(tǒng)數(shù)學公式的計算采用的是谷歌公司的Aviator開源框架,該框架可用于動態(tài)的公式計算、規(guī)則匹配。相比傳統(tǒng)方式中對數(shù)學表達式直接解析和計算的純解釋執(zhí)行,Aviator框架直接將表達式編譯成JVM字節(jié)碼,交由JVM虛擬機執(zhí)行,這使得Aviator框架更加輕量和高效。
JAVA語言是一門半編譯半解釋型的語言,也就是說在JAVA語言中,既存在直接編譯為計算機能識別的機器語言的熱點代碼,也存在編譯為只有JAVA虛擬機JVM能識別的字節(jié)碼的非熱點代碼,而Aviator框架就是利用JAVA虛擬機規(guī)則來運行。它將自己的運行規(guī)則編譯為JVM能理解的 .class文件,同時用戶代碼也會被編譯為.class文件,最終一同交由虛擬機來執(zhí)行,省去了在JAVA代碼層面的調(diào)用,這種方式帶來的是更加高效和簡潔,Aviator框架基本原理如圖2。
3.3 系統(tǒng)實現(xiàn)
3.3.1 MVC設計模式
本系統(tǒng)基于J2EE技術實現(xiàn),其中視圖界面基于Spring MVC框架。J2EE是SUN公司面向各大企業(yè)環(huán)境為中心而開發(fā)的一種以應用程序為主題的計算機網(wǎng)絡平臺[7],而MVC是一種設計模式,即模型(Model)、視圖(View)、控制器(Controller),其中模型封裝了應用程序所需的數(shù)據(jù),視圖負責呈現(xiàn)用戶請求的頁面,控制器則負責處理用戶發(fā)起的請求。Spring MVC是一種基于java的MVC設計模式的輕量級框架的實現(xiàn),本系統(tǒng)之所以基于Spring MVC,一是因為它的輕量、高效和強大的約定式編程,二是它提供了完善的文件上傳能力。
Spring MVC在收到客戶請求后,會首先將請求發(fā)給控制器,由控制器進行處理和響應之后得到結果,而控制器會將底層對數(shù)據(jù)的處理工作交由模型層進行處理,最后這個結果會交給視圖解析器進行解析,然后便可把視圖展現(xiàn)給用戶,Spring MVC整體請求模式如圖3。由于系統(tǒng)采用了B/S架構,將系統(tǒng)部署在服務器上之后,用戶只需要準備好瀏覽器,即可在PC端和移動端開始使用。
3.3.2 基于MVC模式的系統(tǒng)實現(xiàn)
當在PC端打開本系統(tǒng)時,用戶點擊瀏覽選擇提前書寫好的公式;在移動端打開時,可選擇本地文件,也可以調(diào)用相機進行拍照上傳。在用戶確定選擇的公式圖片之后,圖片會展示給用戶。此時可以點擊開始識別,后端Controller首先會將用戶選擇的圖片上傳至服務器指定位置;待圖片上傳成功后不能立即進行識別,因為原始圖像中還含有各種噪聲,而噪聲就是對識別目的而言無價值的信息,它們?nèi)菀讓罄m(xù)識別過程造成不良影響[8],需要先進行去噪處理以及灰度調(diào)整,然后再將圖片交給手寫體識別算法進行識別。得到識別結果之后系統(tǒng)將會進行公式重組與計算,最后就能將結果交給用戶了。最終結果展示包括原式圖像、經(jīng)過預處理的圖像、公式識別結果和公式計算結果,如果原式帶有計算結果那么還會對原結果是否計算正確進行判斷,系統(tǒng)基本界面如圖4及圖5所示。
4 結束語
文字書寫作為人們?nèi)粘I钪袩o處不在的一部分,隨著通信技術、計算機處理能力和存儲容量的迅速提高,以及各種數(shù)據(jù)信息處理技術的出現(xiàn)[9],使得在線手寫體識別能夠進入實際應用階段且識別精度高。基于對傳統(tǒng)手寫體識別算法的優(yōu)化,本公式識別系統(tǒng)識別準確率高、速度快、精簡易用,對教育、教學領域具有一定的研究價值。
參考文獻:
[1] 王飛,孫錟鋒,蔣興浩.在線簽名認證綜述[J].信息安全與通信保密,2015,13(5):107-111,116.
[2] 李彩虹,尹督榮.自動閱卷系統(tǒng)仿真[J].計算機仿真,2020,37(9):157-161.
[3] 言俐光.閱卷系統(tǒng)中手寫體字符的提取與識別[D].蘇州:蘇州大學,2019.
[4] 程進.基本數(shù)學公式識別技術的研究[D].沈陽:沈陽工業(yè)大學,2005.
[5] 沈榮,黃晨.深度學習在筆跡鑒定中的應用研究[J].電子設計工程,2020,28(21):159-163.
[6] 陳庭軒,陳文敏,王正陽.基于融合優(yōu)化算法和集成學習的數(shù)字識別研究[J].信息通信,2020,33(4):15-17.
[7] 孫媛.討論JAVA語言的現(xiàn)狀及發(fā)展[J].科技傳播,2010,2(13):197,184.
[8] 戶其修.基于OCR開源框架的常用公式識別系統(tǒng)的研究與實現(xiàn)[D].北京:北京郵電大學,2019.
[9] 許澤寧,肖利君,劉志文.基于移動手機的在線簽名技術的應用開發(fā)[J].信息化研究,2020,46(4):62-66.
【通聯(lián)編輯:謝媛媛】