0 前言 隨著智能手機和平板電腦等無輸入鍵盤電子設備的流行,聯機手寫識別的研究吸引了越來越多的關注。而手寫簽名驗證和基于3D加速度傳感器的姿態識別、手寫識別等新應用形式的出現,也為聯機手寫識別的研究注入了新的活力。 支持向量機(Support Vector Machine,SVM)是在統計學習理論的基礎上發展起來的新一代分類識別算法,使用核函數方法將非線性可分的特征向量映射到高維空間,計算最大化分類間隔的最優分類超平面。在文本分類、語音識別、手寫識別、曲線擬合等領域,SVM已經有比較成熟的應用。但是,一般的核函數要求不同樣本的特征向量的維數相同,限制了SVM在語音識別和聯機手寫識別領域的進一步發展。為此,Bahlmann等人使用彈性距離計算算法--DTW算法--構造了GDTW核函數,進而提出GDTW-SVM算法。GDTW-SVM的聯機手寫識別實驗結果表明,GDT W-SVM取得了可媲美隱馬爾科夫模型、神經網絡等分類算法的識別率,并且與使用后來提出的基于其它彈性距離計算構造的核函數的SVM相比,性能不相伯仲。 本文結合GDTW核函數和聯機手寫識別樣本的特征向量的特點,引入新的控制參數優化GDTW核函數的計算。實驗結果表明,本文提出的優化方法不僅減少了支持向量的數目,而且提高了GDTW-SVM運行效率。 1 聯機手寫識別過程 1.1 聯機手寫識別流程介紹 聯機手寫識別的過程與通用模式識別的過程基本相同,由數據采集和預處理、特征提取、分類識別、后處理四個步驟組成。 在數據采集和預處理階段,首先使用傳感器采集原始物理信息,比較常見的是加速度、速度、位移、起筆和落筆;然后,對原始信息進行傳感器矯正、去噪等預處理。 特征提取是手寫識別的重要步驟之一,對分類器的設計和分類結果有著重要的影響,選擇合適的特征不僅可以提高識別率,也可以節省計算存儲空間、運算時間、特征提取費用。聯機手寫識別中比較常見特征提取方法有加速度、位移、DCT變換等。 分類識別是手寫識別的核心階段,大多數分類器在實際分類應用之前,需要使用訓練樣本對分類器進行訓練,不斷地修正特征提取方法和方案、分類器的判決規則和參數。目前,分類識別的訓練階段需要人工干預以達到最佳的識別率。 一些識別系統在分類識別之后使用后處理進一步提高識別率。例如,數字“1”和小寫字母“1”在很多情況下難以分辨,但是在后處理階段結合上下文信息,決定當前字符是數字“1”還是小寫字母“1”。 1.2 聯機手寫識別實驗 本文聯機手寫識別實驗采用了Bahlmann等人和Bothe等人使用的方法。所使用的樣本數據庫是免費的聯機手寫數據庫UJIpenchars2。它采用Toshiba M400 Tablet PC收集,包含60個書寫者的共11640個手寫樣本。這些樣本包含ASCII字符、拉丁字符和西班牙字符,而每個字符包含80個訓練樣本和140個測試樣本。每個樣本由一劃或多劃組成,數據庫提供每個筆劃的坐標序列。 坐標序列由等時間間隔采集的筆尖的水平坐標xi和垂直坐標yi組成。而在本文實驗中,樣本的坐標序列不經過任何去噪等預處理,直接對每個坐標點,使用字符的重心(μx,μy)和垂直坐標的方差σy計算列向量 式(1)中,ang是求虛數相角的函數。每個字符樣本的特征向量是T=(t1,…,tNT),其中,NT是采集的坐標點數目,即特征向量的維數,每個字符樣本的NT可以不相同。 本文的聯機手寫識別實驗假設每個字符不需要分析其上下文即可完成識別,所以,特征提取之后使用本文所述的分類算法進行分類識別,并且將其輸出結果作為最終識別結果,不經過任何后處理。 2 GDTW-SVM算法 2.1 支持向量機 假設線性分類器對輸入的特征向量x={x1,x2,…xn}(n是樣本數目),輸出Y={y1,y2,…,yn}其中,xi,I RN,N是特征向量的維數:yi∈{-1,1}, yi=-1表示樣本(xi,yi)屬于第一類,yi=1表示樣本(xi,yi)屬于另一類。該線性分類器的分類決策為 y(+b)≥1 (2) 式(2)中(w,b)確定分類超平面+b=0。 SVM以最小化結構風險為目標,計算使得訓練樣本集到分類超平面的距離最大化的最優分類超平面。其等價于對式(2)求解凸二次規劃問題。 即尋找使平均距離最小的最優對齊路徑。DTW距離越小,T和R所代表的樣本越相似。可以使用動態規劃(Dynamic Programming)算法計算最優對齊路徑和DTW距離。 圖1給出了最優對齊路徑和DTW距離的示例,其中,上半部分是字符樣本的繪圖,順次是“oocae”;下半部分是各個字符樣本與第一個字符樣本的最優對齊路徑和DTW距離。 Bahlmann等人使用DTW距離代替高斯核函數(6)中的歐幾里德距離‖X-Z‖p的計算(取p=2),構造了GDTW核函數 KGRBF(X,Z)=exp(-y·DTW(X,Z)) (8) 他們的聯機手寫識別實驗的結果和Bothe等人的實驗結果表明,GDTW-SVM取得了比GDTW-SVM和k近鄰算法(k-Nearest Neighbor,kNN)更高的識別率,而且在不同聯機手寫識別數據庫子集的識別實驗中,與基于其它彈性距離計算的核函數的SVM相比,各有優劣且識別率的差值在0.3%以內。 3 優化GDTW-SVM算法 盡管GDTW-SVM獲得了較高的識別率,但是其計算復雜度高。DTW算法的計算復雜度是O(NT,NR),而SVM算法在訓練和識別過程中需要反復使用GDTW核函數,對于嵌入式設備的計算能力要求較高。因此,需要對GDTW核函數進行優化。 分析圖1中的最優對齊路徑,當兩個樣本完全相同時,最優對齊路徑和對角線重合;當兩個樣本有所差別時,最優對齊路徑偏離對角線,且差別(DTW距離)越大最優路徑越偏離對角線。下面以字母m和n為例,進一步分析以上結論。 (1)依次從字母n的所有訓練樣本中選擇一個樣本,計算其到字母n的所有訓練樣本最優對齊路徑,并規整到80’80矩陣; (2)將所有計算結果疊加后得到n-n最優對齊路徑疊加圖; (3)繪制疊加圖,即圖2的第一幅圖,圖中像素點灰度越高,代表越多最優對齊路徑經過此點。同理,繪制n-m最優對齊路徑疊加圖和m-m最優對齊路徑疊加圖,分別為圖2的第二和第三幅圖所示。 從圖2可以看到,兩個相同或相似字符的最優對齊路徑集中在對角區域:由于n的不同樣本、m的不同樣本的起筆寫法比收筆寫法隨意,第一和第三幅圖的對角區域的左下角比較寬;n和m的最優對齊路徑在對角區域中分布較均勻,且第二幅圖顯示對角區域的中部有明顯的低灰度區域。 假設訓練樣本可以代表聯機手寫字符的特征,則可以通過僅計算對角區域中的最優對齊路徑來優化GDTW核函數。計算兩個樣本T=(t1,…,tNT)和R=(r1,…,rNR)的GDTW核函數時,假定二者屬于相同的字符類,那么二者的差別不大,因此,在GDTW核函數計算中引入參數k和τ 式(9)中lbottom,ltop,lleft,lright如圖3所示。引入參數k和τ之后,不在NT×NR的矩陣中求解式(8),而是在k和τ約束的區域(即圖3中兩條虛線所夾的對角區域)中求解,計算最優對齊路徑。 從直觀的角度看,參數k和τ減少了最優對齊路徑的計算空間,因此,修改后的GDTW核函數的計算時間減少。而另外一方面,如果參數τ保持不變(如τ=0.6),參數k越小,最優對齊路徑的前端的計算被約束在越小的空間,迫使其“最優”對齊路徑的計算選擇非最優對齊路徑,即參數k是兩個字符樣本頭部的相識程度的權重;類似地,參數τ是兩個字符樣本尾部的相識程度的權重。參數k和τ的權重作用對于如數字“0”和“6”等相似字符的分類有重要意義。 4 實驗結果與分析 本文主要針對阿拉伯數字樣本集和英文字母樣本集進行識別實驗,阿拉伯數字樣本集、英文小寫字母樣本集和英文大寫字母樣本集分開識別。實驗環境是Matlab R2010a,所使用的SVM工具包是Matlab SVM Toolbox。 分類實驗采用Leave-One-Out的交叉驗證策略:依次從樣本集中取出一個字符的訓練樣本標記為第一類,將剩余字符的訓練樣本標記為第二類,用標記后的訓練樣本訓練GDTW-SVM;使用樣本集中的所有測試樣本測試GDTW-SVM的識別率。 使用未優化GDTW-SVM重復分類識別10次,取10次實驗結果的平均值作為未優化GDTW-SVM的識別結果;其次,優化GDTW-SVM的參數(K,τ)分別取(0.2,0.5)、(0.2,0.2)和(0.5,0.5),分別重復分類識別10次且取10次識別結果的平均值作為使用該組參數的優化GDTW-SVM的識別結果,最終取三組識別結果中的最優識別結果作為優化GDTW-SVM的識別結果;以上實驗中,γ=1.9。 表1是阿拉伯數字和英文字母的識別結果對比。其中,英文字母數目較多,因此,僅給出平均識別結果。優化后的GDTW-SVM和未優化的GDTW-SVM的實驗結果對比顯示:參數k和τ的引入不僅使字符識別的錯誤率基本保持不變,同時,訓練時間減少13~25%、測試時間減少29~39%、支持向量的數目也減少3.0~7.6%。 5 結論 本文提出了在GDTW核函數中引入參數k和τ,約束GDTW最優對齊路徑的計算空間,然后構造GDTW-SVM分類器。實驗結果表明,優化后的GDTW-SVM分類器的識別率與未優化的分類器的識別率基本相同;同時,支持向量數目減少,計算時間有13%~39%的減少,有利于GDTW-SVM分類器的聯機手寫識別的應用和推廣。 |