山東科技大學電氣與自動化工程學院 田振東 王珍珍 林建慧 孫 博 楊瑞東
老師每天要花大量的時間在數(shù)學算式題的批改上,而對于復雜的運算工作耗費巨大的精力,家長每天幫孩子檢查作業(yè)也花費大量的時間。本文研究的算式批改系統(tǒng)可以應用在教育實踐中可以把老師和家長從高度重復、低價值的工作任務中解脫出來,老師和家長可以通過本文設計的系統(tǒng)迅速完成作業(yè)批改,學生也可以獨立完成作業(yè)批改。
本文的基本內容是在VS2013環(huán)境下設計了基于OpenCV函數(shù)庫的算式批改系統(tǒng),介紹了系統(tǒng)每個關鍵步驟的技術實現(xiàn)。主要針對混合字符識別問題進行了介紹,通過字符識別技術對作業(yè)中的印刷體算式題目和手寫體書寫結果進行字符識別。采用支持向量機(SVM)分類器作為字符識別分類器,著重研究設計SVM分類器以及參數(shù)的選取,獲得較高的字符識別準確率。
本文實現(xiàn)設計的算式批改系統(tǒng),是一個基于圖像處理,機器視覺,模式識別等技術的高度智能化的綜合集成系統(tǒng)。首先進行圖像采集,通過攝像頭提取作業(yè)中的算式圖像,對獲取的算式字符圖像進行預處理。再進行特征提取,提取字符圖像的特征向量,為后續(xù)的識別做好準備。最后利用SVM分類器進行字符識別,得到識別結果,通過公式計算器判斷解答的正誤,輸出判斷結果。本文研究基于OpenCV的算式批改系統(tǒng),其系統(tǒng)流程如圖1所示。
圖1 系統(tǒng)流程
在字符識別過程中,首先要對其字符圖像進行預處理,其目的是為了突出字符區(qū)域和信息,為后期的字符識別做準備。圖像預處理一般包括圖像二值化、形態(tài)學處理、字符分割、歸一化等操作。
預處理首先對獲取的圖像進行灰度二值化處理。灰度化處理就是把獲取的彩色圖像轉換成灰度圖像,而二值化處理是對灰度圖像進行閾值操作從而能夠去除噪聲,提高識別效率。本文采取全局閾值法,通過分析圖像的整體灰度空間的分布特征,提取出單一閾值,再用該閾值對圖像進行二值化處理。經(jīng)過灰度二值化處理后的圖像,內部一般還存在一些干擾因素,要對圖像進行形態(tài)學處理,通過閉運算使區(qū)域內的間斷變成連通區(qū)域和消除圖像毛刺、去除噪聲。處理效果如圖2所示:
圖2 形態(tài)學處理后的圖像
一組算式中多個字符的圖像根據(jù)字符間隙,進行字符分割,分割成單個字符進行識別。其基本思想是利用字符間隔的特點,統(tǒng)計圖像中每一行每一列的投影直方圖,然后根據(jù)波形確定間隙的位置,就可以得到單個字符。為了便于對任意字符的特征提取具有可比性,還要對字符進行歸一化處理,采用線性插值法將圖像按比例縮放至分類器統(tǒng)一的尺寸,這樣像素在整個圖像中的分布達到均衡。本系統(tǒng)最終預處理后得到大小為128*128像素的圖片。如圖3所示為預處理后的手寫字符圖像樣本。
圖3 預處理后的字符圖像
為了便于分類,利用基于統(tǒng)計特征的原理采用逐像素提取法。通過圖像進行逐行掃描,從圖像的像素中直接提取特征構成特征向量,這種方法運行速度快,提取信息量大。因此在字符識別中己經(jīng)取得了很好的效果。最終提取的字符特征輸入到SVM分類器中進行字符的訓練及識別過程。
SVM是基于統(tǒng)計學習理論的模式識別方法,主要應用于模式識別領域。在小樣本問題、非線性及高維模式的識別問題中取得了較明顯的優(yōu)勢,在處理其他分類問題有很大幫助。SVM分類器的算法是先把數(shù)據(jù)變換到一個高維空間,在這個高維空間中形成一個區(qū)域標識相應的類,然后在空間中獲取最優(yōu)的線性分類面,在最優(yōu)化問題的求解過程和判別函數(shù)的計算過程并不要對非線性函數(shù)進行計算,只需計算核函數(shù)。由于它可以夠吸收字符的變形,因此在字符識別具有較好的泛化性和準確性。SVM分類器中少量的支持向量就能得到最終的決策函數(shù),所以該方法不需要太多的樣本,在小樣本學習中能夠達到很高的準確率。本文采用支持向量機算法對手寫字符進行識別。
SVM是二分類器,設計中通過循環(huán)將其轉化為一個多分類器。多分類器一般通過構造一系列的兩類分類器組合設計。針對手寫與印刷體字符,采用二叉分類樹設計的分類器首先根據(jù)字符特性分為兩類,接下來采用同樣的方式將子類進一步劃分成兩個次級子類。在此基礎上循環(huán),取得所有類別均成為二叉樹的葉節(jié)為止,這樣就將原有的多類問題變?yōu)榍蠼庖幌盗械膬深惙诸悊栴}。通過在各決策節(jié)點進行訓練支持向量機分類器,對樣本的識別進行分類。由于開始的分類階段已經(jīng)減少參與分類的類別數(shù)量,因此采用二叉分類樹分類的多分類方法性能較優(yōu)。
SVM的各參數(shù)對實驗結果有很大的影響,通過CvSVMParams函數(shù)進行分類器內參數(shù)設計。首先要進行核函數(shù)的選取,再完成對核函數(shù)下參數(shù)的選取。對于核函數(shù)的選取,針對不同的核函數(shù)采用相同的樣本進行訓練測試,根據(jù)得到的實驗數(shù)據(jù)進行對比,結果表明不同的核函數(shù)對SVM性能的影響其實不大,本文選取徑向基核函數(shù)作為核函數(shù)。
徑向基核函數(shù)與其他核函數(shù)相比參數(shù)的選擇,直接關系到最終的分類器的樣本訓練效果和學習能力,其中兩個重要的參數(shù)C與σ2。懲罰因子C的作用是調節(jié)訓練置信范圍和經(jīng)驗風險的比例,以使得訓練分類的效果最好,推廣能力更強。C過大或過小,泛化能力變差,選擇合適的C值,對樣本訓練結果的好壞十分重要。σ2參數(shù)決定了數(shù)據(jù)映射到新的特征空間后的分布,σ2參數(shù)越大,支持向量越少,σ2參數(shù)值越小,支持向量越多。支持向量的個數(shù)影響訓練與預測的速度。選取K折交叉驗證法找到最佳的參數(shù),將原始訓練樣本隨機等分成K個集合,將其中一組每個子集數(shù)據(jù)分別做測試樣本,其余K-1組集合來訓練分類器。每組樣本進行一次測試樣本產生K個結果,取得每次的測試誤差的平均值。根據(jù)檢驗結果來評估分類器的性能,并調整分類器的相關參數(shù)。
本文采用林智仁教授開發(fā)的LibSVM工具箱。首先對處理后的樣本字符進行標記,將貼過標簽的樣本進行訓練,生成支持向量模型。最后通過SVM模型對訓練集之外隨機選取的測試集進行預測分析產生預測標簽,通過預測標簽與實際標簽的誤差統(tǒng)計識別的準確率。
對10個手寫體字符、10個印刷體字符、5個印刷體運算符建立各個字符的樣本庫。通過訓練階段對字符的訓練過程,建立每一類別字符類別的標準樣本庫,樣本數(shù)為20,以便在識別階段使用。測試階段,采用將每一類測試樣本200個樣本進行預測分析,最終得到識別結果。然后對所有的樣本用SVM方法訓練。本文結合K最近鄰(KNN)分類器進行比較,統(tǒng)計識別準確率,得到識別結果如表1所示:
表1 不同分類方法識別率
實驗結果表明SVM在訓練樣本較少時進行字符識別具有較高的準確性,但是增加訓練樣本對識別率沒有太大的提升。相比KNN在特征空間中的K個最相鄰的樣本中的大多數(shù)屬于某一個類別的分類方式,基于SVM的字符識別在在噪聲環(huán)境下影響較小,識別準確率較高,在字符識別有較明顯的優(yōu)勢。相比核函數(shù),參數(shù)C與σ2對分類器的影響更為直接,選取最優(yōu)的參數(shù)組合,對測試結果又較高的改善。
建立MFC框架完成整個系統(tǒng)實現(xiàn)與實驗結果的驗證過程,截取實驗結果如圖4所示。在軟件界面的左側顯示作業(yè)圖像信息;界面的右側顯示字符預處理和分割結果;下框中顯示算式字符識別結果和正確的計算結果,同時根據(jù)公式計算器判斷解答正誤得到輸出結果。對程序進行運行調試驗證了算式批改系統(tǒng)的可行性。
圖4 實驗識別結果
本實驗中采用10組不同書寫,共1000個數(shù)學算式樣本進行實驗測試,其中100道為錯誤解答算式。本實驗所采用的方法對測試樣本的識別率達到86.5%。另外,在圖像包括不同的光照條件,距離和一定的傾斜角度進行測試,都表現(xiàn)出了較為良好的效果。通過對系統(tǒng)的實驗仿真,實現(xiàn)了對數(shù)學算式進行實時、有效的批改。
本文主要介紹了算式批改系統(tǒng)的設計流程,針對手寫字符的識別問題,采用了一種基于OpenCV庫運用SVM分類器進行字符識別的方法。通過OpenCV的圖像處理函數(shù)對圖像進行預處理,再利用支持向量機算法對混合字符進行識別。從測試結果可以看出,本文采用的字符識別方法達到了設計要求的較高識別率,在算式批改實驗過程中系統(tǒng)運行效果令人滿意。本系統(tǒng)能夠可靠的完成算式批改任務,在教育領域將有更好的應用前景。
[1]柳回春,馬樹元,吳平東,等.手寫體數(shù)字識別技術的研究[J].計算機工程,2003,29(4)∶24-25.
[2]劉瑞禎,于仕琪.OPENCV教程基礎篇[M].北京∶北京航空航天大學出版社,2007∶1-276.
[3]鄧乃揚,田英杰.支持向量機∶理論、算法與拓展[M].科學出版社,2009∶1-155.
[4]劉志剛,李德仁,秦前清,等.支持向量機在多類分類問題中的推廣[J].計算機工程與應用,2004,40(7)∶10-13.
[5]張學工.關于統(tǒng)計學習理論與支持向量機[J].自動化學報,2000,26(1)∶32-42.