黃國范,李英
(南陽師范學院軟件學院,河南南陽473061)
基于改進Hu矩的字母手勢識別
黃國范,李英
(南陽師范學院軟件學院,河南南陽473061)
本文提出了一種字母手勢識別方法,首先對字母手勢圖像進行預處理,然后用模板匹配的方法進行識別,并用改進的Hu矩作為特征向量進行測試樣本與模板之間的相似性度量,以降低噪聲的干擾.實驗結果表明,我們的方法顯著地提高了識別準確率.
字母手勢;模板匹配;Hu矩;特征提取
隨著人機交互技術的發展,手語識別逐漸成為人們研究的熱點.手語識別可以分為基于視覺的識別系統和基于數據手套的識別系統[1],基于視覺的手語識別方法交互方便自然,更能反映機器模擬人類視覺的功能,是目前手語識別的研究重點.
目前手語識別的方法主要有模板匹配法、隱馬爾可夫模型法以及神經網絡法等[2],其中模板匹配的方法多用于靜態手語的識別中.模板匹配的方法是首先進行手勢訓練建立模板庫,然后提取出特征向量與模板之間進行相似度計算來進行匹配[3].模板匹配方法的優點是實現起來比較簡單,計算復雜度較低,但對噪聲非常敏感.
本文提出了一種改進H u矩的方法對字母手勢識別進行研究,采用模板匹配的方法進行識別,選取經典H u矩作為特征向量,并對其進行改進,通過增加一個位置加權函數來提高質心附近區域所占比重,以降低噪聲的干擾.實驗結果表明,我們的方法可顯著地提高識別準確率.
在字母手勢圖像的預處理中,主要是進行灰度變換、平滑、二值化等處理,為下一步的識別作好準備工作.
2.1 圖像的灰度化
我們通過數碼相機采集到的圖像,是24位真彩色的J P E G圖像.該格式的圖像數據量很大,直接進行識別會大大影響識別的速度.為此,必須首先進行處理,將其轉換為灰度圖像.我們的做法是將彩色圖像的R G B三個顏色分量分別提取出來,然后再根據下式進行灰度轉換:

將圖像中的每一像素點都用上式進行計算,然后再寫回圖像就可以完成圖像的灰度化.
2.2 圖像的平滑
圖像的平滑主要是減少圖像的噪聲.圖像平滑的方法主要有兩類:一種是全局處理,另一種是局部處理.全局處理是對噪聲圖像的整體或大的塊進行校正平滑處理,計算量相當大.而局部處理是使用局部算子,對某一像素的局部小鄰域的像素加以運算,其優點是計算效率比較高,可以多個像素并行處理[4].我們所采用的圖像平滑方法是局部平均法.局部平均法的算法思想是將圖像中某個像素的灰度值和它周圍相鄰的八個像素的灰度值相加,然后再求取平均值,以此來作為新圖中該像素的灰度值.
2.3 圖像的二值化
圖像的二值化是將灰度圖像轉換為只有兩個灰度值即黑白圖像的過程.最簡單的圖像二值化方法可以通過設定閾值來完成,即當該點的像素值大于設定的閾值時,以“0”標志;否則以“1”標志.這樣二值化后,圖像變換為:

由此可見,二值化的關鍵取決于設定的閾值T.
在我們的字母手勢圖像識別系統中,采用的圖像背景為黑色,比較單一,與手的灰度相差較大.因此,我們所采用的閾值的設定方法是:先拍攝一張背景圖片,然后取背景圖像的平均灰度值,再乘以一個系數,便可得到二值化的閾值T:T=B*2.5
其中,B為背景圖像的平均灰度值.
3.1 模板匹配
模板匹配的常用方法有兩種:全局匹配和特征匹配.全局匹配是把待測圖像中的每一像素點和模板圖像中的每一像素點都進行匹配,以對待測圖像進行分類識別.而特征匹配則是提取出圖像的某些特征,如直方圖、點、線等幾何特征進行匹配[3].為了降低計算復雜度,我們的字母手勢識別系統選用特征匹配的方法,從待測手勢圖像和模板手勢圖像中分別提取出具有代表性的特征向量進行描述,然后對二者的特征向量進行相似度計算即可進行字母手勢圖像的識別.但是,提取的特征向量一定要具有代表性,要具有較小的信息冗余度,而且還要保證對旋轉、位移、縮放等保持不變性.在我們的識別系統中,選用了比較經典的不變矩即H u矩的特征提取方法,并對其進行了改進,來降低圖像噪聲的干擾.
3.2 特征向量的提取
基于H u矩的特征提取方法是一種比較經典的方法,滿足圖像對于平移、旋轉、尺度等的不變性,在手勢識別中已得到了廣泛的應用.
對于一幅二維數字圖像f(x,y),設定其分辨率為M×N,其p+q階原點矩mpq定義如下:

其p+q階中心矩μpq定義為:

其中(x,y)表示物體圖像上的點,(x,y)是物體的質心,其中=m10/m00y=m01/m00.
用原點矩或中心矩直接作為圖像的特征向量進行識別,不能保證同時具有平移、旋轉和尺度不變性.為此,M.K. H u在1961年提出了不變矩的概念,并給出了具有平移、旋轉和比例不變性的七個H u不變矩的表達式,七個H u不變矩是由二階和三階中心矩的線性組合構成的[5].
由上述中心矩的定義可以看出,在求和過程中,由于質心附近區域的信息占據的比重很小,遠離質心的噪聲會嚴重地干擾質心附近區域的重要信息,影響到識別的效果.盡管零階矩不存在這種現象,但七個H u不變矩中高階矩是決定性因素,所以,用七個H u不變矩作為特征向量來進行識別,僅靠零階矩提供的微小的信息量來降低噪聲的干擾,來保證較高的識別準確率還是遠遠不夠的.為此,提出了一個位置加權函數來提高質心附近區域所占的比重.該函數定義如下:

其中,α是一個可調整參數,可以通過在訓練階段采用自動優化算法找出其最佳取值.
通過位置加權函數對物體的p+q階矩m'pq改進如下:

中心矩μ'pq改進為:

p+q階規范化中心矩定義為:

其中γ=(p+q)/2+1且p+q≥2
利用二階和三階規范化中心矩可以導出改進后的7個H u不變矩組:

在我們的識別系統中,使用改進后的7個H u不變矩作為圖像的特征向量,形成特征空間(M1,M2,M3,M4,M5,M6,M7)來進行字母手勢圖像的識別.
3.3 字母手勢的識別
我們的字母手勢識別系統分為兩個階段:訓練階段和識別階段.在進行字母手勢識別之前,首先要進行手勢訓練以得到手勢的原型模板,建立手勢模板庫,以用于測試集上的手勢識別.在訓練階段,我們采用k_m e a n s聚類算法進行手勢訓練,得到字母手勢模板;在識別階段,對待識別的字母手勢樣本,用改進的H u矩作為特征向量來進行測試樣本與模板之間的相似性度量,從而識別各種待測手勢.k-m e a n s算法是基于劃分的聚類方法,應用非常廣泛,具有算法簡單且收斂速度快的特點.k-m e a n s算法以K為參數,把N個對象分為K個簇,以使簇內對象具有較高的相似度,而簇間對象的相似度較低[6].
在我們的字母手勢識別系統中,使用了高清數碼相機進行字母手勢圖像的采集,對30個字母手勢,我們分別對不同演示者進行取照,每個字母手勢取照10張,共形成300張圖片庫,其中選擇前5套作為訓練樣本進行訓練產生手勢模板,其余的5套作為測試樣本來進行識別.
實驗結果顯示,在這5組測試集上,平均識別準確率為91.34%.文獻[7]中,基于H u矩的平均識別率僅為87.5%.由此可見,我們的方法顯著地提高了字母手勢識別的準確率.

表3.1 測試集上的字母手勢識別結果
在我們的中國手指語字母手勢識別算法中,采用了模板匹配的方法,選取經典Hu矩作為特征向量來進行測試樣本與模板之間的相似性度量,并對其進行改進,來降低噪聲的干擾,實驗結果表明,我們的方法較好地實現了字母手勢的識別.
〔1〕Pavlovic V,Sharma R,Huang T.Visual Interpretation of Hand Gestures for Human-computer Interaction:AReview[J].IEEEPAMI,1997,19(7):156.
〔2〕張良國,吳江琴,高文,等.基于Hausdorff距離的手勢識別[J].中國圖象圖形學報,2002,7(11):2.
〔3〕何斌,馬天予,等.VisualC++數字圖像處理(第二版)[M].北京:人民郵電出版社,2002.146-148.
〔4〕李俊山,等.數字圖像處理[M].北京:清華大學出版社, 2006.125-128.
〔5〕M.Hu.Visual Pattern Recognition By Moment Invariants[J].IEEE Transaction on Information Theory,1962.8 (2):179-187.
〔6〕Treshansky A,Mc Graw R.An overview of clustering algorithms[C]//Proceedings of SPIE,The International Society for Optical Engineering,2001,4367:41-51.
〔7〕殷濤,葛元,王林泉.基于幾何矩的字母手勢識別算法[J].計算機工程,2004,30(18):129.
TP391
A
1673-260X(2013)03-0023-02