許 凱,王 敏
(河海大學計算機與信息學院,江蘇 南京 211100)
基于手輪廓的深度圖像手勢識別方法*
許 凱,王 敏
(河海大學計算機與信息學院,江蘇 南京 211100)
提出了一種新的手勢識別方法,該方法從深度圖像中提取手形輪廓,通過計算手形輪廓與輪廓形心點的距離,使用離散傅里葉變換獲得手勢的表觀特征,引入徑向基核的支持向量機識別手勢。建立了一個常見的10種手勢的數據集,測試獲得了97.9%的識別率。
深度圖像;手勢識別;支持向量機;離散傅里葉變換
人機交互HCI(Human-Computer Interaction)是一門研究設計、評估和實現人與計算機之間交互的綜合學科[1]。手勢識別是人機交互的一個重要研究領域,它在虛擬現實、手語識別、電腦游戲等方面有著廣泛的應用[2]。
基于視覺的手勢識別是通過獲取圖像信息來得到手勢的姿態信息,從而對不同的手勢進行分類。相比傳統人機交互的方法,基于視覺的手勢識別具有更為自然和非接觸式的特點,是當前研究熱點[3,4]。通常一個基于視覺的手勢識別過程包括兩個主要步驟:(1)特征提取,從圖像中提取手勢的特征向量;(2)分類,依據特征向量進行手勢識別。特征向量的選取直接關系到識別的準確率。一個好的特征向量提取算法必須足夠魯棒,相同的手勢可以提取獲得相近的特征向量,從而使隨后的識別過程相對簡單。另一方面,Cortes C和Vapnik V[5]提出“只有在特征向量選擇良好時,分類器才會變得高效、精確”。同樣,由于訓練集、自由參數等因素影響,分類算法的選擇也是一難點。這些分類算法包括神經網絡[6]、隱馬爾可夫模型[7]、決策樹[8]等。總之,特征提取技術和分類方法兩者緊密而復雜地聯系在一起,構成了識別系統的兩大部分。
手勢特征提取主要包括手勢定位和特征向量的選取。手勢定位常采用膚色分割來定位圖像中手的位置[9,10],但這類方法易受膚色、光照和場景的影響。Mistry P等人[11]使用了彩色指套標記來輔助定位手,但該方法需要用戶佩戴額外的裝置,在人機交互的過程中有一定的侵入性。Shotton J等人[8]使用了深度攝像機來輔助分割識別肢體。由于深度攝像機分辨率只有640×480,該方法只能有效識別較大目標,例如肢體。在這個分辨率的深度圖像下,手在圖像中僅占很小的部分,很難精確定位跟蹤。
本文提出了一種基于輪廓的深度圖像手勢識別方法。在手勢定位階段,區別于傳統的有標記的手勢定位,使用了深度攝像機來定位手勢。這個方法可以有效地減少膚色、光照和復雜場景對檢測的干擾。在特征提取階段,提出了使用手形形心點和手形的輪廓作為特征點,計算形心點至輪廓的歐氏距離,使用離散傅里葉變換DFT(Discrete Fourier Transform)獲得特征向量。在識別階段,使用了帶徑向基核函數的支持向量機來訓練分類器,通過實驗計算出支持向量機參數值(γ,C)。最后在所建立的測試樣本上獲得了97.9%的識別率,較同類方法[12]具有更高的識別率和無需佩戴輔助標識的優點。
深度圖像技術在近年來得到飛速發展,Prime Sense公司的深度攝像機可以在640×480的分辨率下達到30 fps的采樣率。使用深度攝像機,人體跟蹤和人臉跟蹤已經獲得了巨大的成功。但是,當前深度攝像機獲得圖像分辨率較低,只能較好地追蹤象人體這樣的大目標,而人手這樣的小目標,很難獲得較高的偵測識別率。
基于輪廓的深度圖像手勢識別方法,可以有效地利用深度攝像機識別手勢。
2.1 手勢定位
假定手是離攝像機最近的物體,且在攝像機有效距離內。將所獲得的深度信息值轉換到灰度空間,從而獲得的原始深度圖像如圖1所示。圖1中灰度值越小,表明該目標距離攝像機越遠。可以看到,手是離攝像機最近的目標,在深度圖像中灰度值最大(黑色灰度值為0,白色灰度值為255)。
2.1.1 灰度拉伸
深度攝像機的物理有效距離是0.4至3米[13],如圖1所示,可見所采集的原始深度圖像灰度值均較小,圖像偏暗,不方便觀察、計算。對原始深度圖像灰度值作2.5倍的拉伸,獲得如圖2所示的圖像。拉伸后深度圖像中各點灰度值分布較均勻,手形可以更清晰地分辨出來。

Figure 1 Original depth image圖1 原始深度圖像

Figure 2 Stretched depth image圖2 拉伸后深度圖像
2.1.2 高斯濾波
由于深度攝像機固有屬性、圖像目標自遮擋等原因,灰度拉伸后的深度圖像中存在部分噪聲。引入3×3模板的高斯平滑濾波來減少和抑制圖像噪聲,其中sigma取0.85。平滑濾波后,圖像中噪聲得到有效抑制,且圖像細節被較好地保留下來。
2.1.3 二值化與形態學操作
手被假設為距離攝像機最近的目標物體,因此在圖像中搜索灰度值最小點,獲得手的最近距離為dmin。設手掌的厚度為dh,取閾值為dmin+dh,對圖像進行手勢區域與背景區域圖像二值化操作,這樣,手形就從深度圖像中分離出來。通過連續的形態學膨脹、腐蝕操作,可以去除手形圖像中的孤立點。最后獲得手形的圖像如圖3所示。

Figure 3 Hand segmentation result圖3 手形分割效果
使用深度信息進行手勢定位受光照、背景的影響較小,且不受膚色影響。
2.2 特征提取
通過提取手勢的表觀特征,根據手勢的形心點至手勢輪廓的距離,對不同手勢進行分類,從而實現手勢的準確識別。相比其他的手勢特征提取方法,該方法手勢在圖像中受旋轉和縮放的影響較小,定位快速精確。
2.2.1 輪廓查找
對于分割處理后獲得的圖像(圖 3)查找手形的輪廓。設vi,j為二值化圖像中一點,如圖4所示,若vi,j為白色點,且vi,j的八鄰域vi-1,j-1,vi-1,j,vi-1,j+1,vi,j-1,vi+1,j+1,vi+1,j-1,vi+1,j,vi+1,j+1中有一個或一個以上為黑點,則vi,j為輪廓點。從而可以獲得整個手形的輪廓點序列V=array(x,y),其中x、y為輪廓點在圖像中的坐標。

Figure 4 Eight neighborhood of the pixel圖4 像素點八鄰域
如圖5所示,曲邊ABCDE為分割獲得的手形輪廓。

Figure 5 Hand contour segmentation result圖5 手形輪廓分割效果
2.2.2 形心點查找
把一個歸一化的灰度圖像理解為一個二維隨機變量的概率密度,則這個隨機變量的屬性可以用統計特征矩來描述。因此,計算輪廓序列的空間矩mji為:

圖5中點O為輪廓序列點A、B、C、D、E的形心點。
2.2.3 距離變換
對于輪廓序列array(x,y)上的點(xi,yi),i=1,2,…,n,計算形心點至輪廓的歐氏距離{dn}:
由圖 5手形輪廓計算獲得的距離序列如圖6所示,圖6中橫坐標表示輪廓序列點的序列號,縱坐標為輪廓形心點至輪廓的歐氏距離。

Figure 6 Hand contour distance sequence圖6 手形輪廓距離序列
2.2.4 距離規格化
使用最大最小數據規格化法,對距離序列{dn}數據進行線性轉換,獲得序列{an}。設minsrc和maxsrc為{dn}的最小和最大值,將{dn}的一個值di映射為ai:
其中ai∈[mindst,maxdst]。如果取ai∈[0,1],則:
圖7為圖6作規格化后所得的結果。從圖 7中可以看到,規格化后的距離序列{an}的波形是對原有距離序列波形的振幅縮小,保留了原有頻率的全部信息。這樣不同大小的手形輪廓就可以縮放到相同大小的數值范圍進行計算了。

Figure 7 Normalized hand contour distance sequence圖7 歸一化手形輪廓距離序列
2.2.5 離散傅里葉變換
傅里葉變換可以看作是時間域上的函數在頻率域上的表示。傅里葉變換在頻率域中包含的信息和原時間域函數所包含的信息是等價的,不同的是信息的表達方式。將傅里葉變換離散化得到離散傅里葉變換(DFT)。對N點序列{xn},0≤n≤N,它的離散傅里葉變換(DFT)為:
其中,e是自然對數底數,i是虛數單位。用符號F表示這一變換,即:

離散傅里葉變換的逆變換(IDFT)為:
可以記為:
對計算所得的距離序列A={an}做離散傅里葉變換B=F·A。對于序列B,取前N′項值,獲得子序列B′,當N′→N時,C=F-1B′→A。
如圖 8所示,圖8a~圖8d分別為當N′=1,3,4,8時,離散傅里葉逆變換所恢復獲得的序列。圖8d中當N′=8時,序列C已經與原序列A(圖7)比較接近,且有效地濾除了原序列A中部分噪聲。

Figure 8 Inverse Fourier transform result圖8 傅里葉逆變換結果
支持向量機SVM(SupportVectorMachine)[5]是在統計學習理論的基礎上發展起來的新一代機器學習方法,通常用來識別二分類問題。它在文本分類、手寫識別、圖像分類等領域獲得了較好的應用。
采用適當的內積核函數可以實現從低維向高維空間的映射,從而實現某一非線性分類變換后的線性分類,而計算復雜度卻沒有增加。常用的核函數包括線性核函數、多項式核函數、徑向基核函數RBF(RadialBasisFunction)和Sigmoid核函數。
作為一種對應于非線性映射的核函數,徑向基核函數能夠處理非線性可分的情況;通過適當地選擇參數,徑向基核函數總可以得到與帶有錯誤代價參數C的線性核函數相同的結果;某些情況下,Sigmoid的行為類似于徑向基核函數,但Sigmoid核函數參數不易確定;多項式核函數需要計算內積,這有可能產生計算溢出的問題。故引入帶徑向基核函數的支持向量機作為分類器,來對手勢進行識別。

4.1 實驗數據
使用PrimeSense公司深度攝像機,采樣圖片分辨率設置為640×480,分別采集了10組,每組300個樣本,總共3 000個常見手勢。根據上文提出的手勢定位方法,進行手勢定位分割后的圖像如圖9所示。

Figure 9 Ten kinds of common gestures圖9 10種常見手勢
4.2 參數選擇
在選擇了RBF核函數的情況下,總共有兩個參數需要確定,即RBF核自身的參數γ以及錯誤代價系數C。這是一個變量γ和C的優化問題,目標函數值是SVM對于測試集的識別率。
使用基于交叉驗證和網格搜索的方法[15]來選擇參數(γ,C)。將數據集合中3 000個樣本取2 000個為訓練集(Training),1 000個為測試集(Testing)。圖 10顯示對于訓練集使用不同的特征向量長度,所獲得的訓練集上交叉驗證的識別率與測試集上的識別率。

Figure 10 Gesture recognition rate with different spatial frequency cycles圖10 不同特征向量長度的手勢識別率
圖 10中當空間頻率周期取12時,訓練集上交叉驗證的識別率最高,達到98.6%,此時參數γ=8,C=8。由離散傅里葉變換(DFT):
可知,空間頻率周期取12,即N=12,共有23個參數,即手的輪廓序列使用長度為23的特征向量。當N>12時,隨著N的增長,識別率趨于穩定值。
4.3 實驗結果與分析
選取長度為23的特征向量,參數γ=8,C=8,在Intel?CoreTMi5-2410MCPU@ 2.30GHz,8GBRAM,Windows7 64bit的系統上,識別1 000張手勢圖像,平均每張所需時間為0.15毫秒,測試集識別率為97.9%,識別結果的混淆矩陣如圖11所示。

Figure 11 Confusion matrix of recognition results圖11 識別結果混淆矩陣
由圖11可見,手勢3受深度圖像分辨率影響,食指與中指處部分圖像易產生粘連,影響識別率。手勢9特征提取后的距離波形與手勢2接近,少數手勢9錯分為手勢2。
由圖12可見,基于手形輪廓與輪廓形心點距離的特征提取方法(Contour-Distance),較RenZ等人[12]提出的基于Thresholding分解的FEMD方法(平均90.6%識別率)和基于near-convex分解的FEMD方法(平均93.9%識別率)具有更好的識別效果。RenZ等人[12]的兩種方法都使用了深度攝像機,在特征提取階段均需依賴于“blackbelt”的輔助標識,基于手形輪廓與輪廓形心點距離的特征提取方法具有更為自然的優點。

Figure 12 Recognition results contrast圖12 識別結果對比
本文針對復雜背景條件下的手勢識別問題,引入了深度攝像機來捕捉圖像,提取深度圖像中手形的輪廓與輪廓形心點的距離作為特征點,利用離散傅里葉變換獲得特征向量,使用支持向量機訓練分類器、識別手勢,獲得了較高的識別率,有效克服了膚色和場景對手勢識別的影響,且該方法無需依賴其他輔助標識,較現有的方法具有更為自然的優點。
由于在分割手形時引入閾值,對圖像進行了二值化操作,手勢的部分三維信息被丟失。若保留手在空間中的三維信息,建立手的三維模型,將可以使手勢識別獲得更多的特征信息,進一步提高識別率。
[1]ACMSIGCHICurriculaforHuman-ComputerInteraction[EB/OL]. [2012-08-14].http://old.sigchi.org/cdg/cdg2.html#2_1.
[2]WachsJP,K?lschM,SternH,etal.Vision-basedhand-gestureapplications[J].CommunicationsoftheACM, 2011,54(2):60-71.
[3]MurthyG,JadonRS.Areviewofvisionbasedhandgesturesrecognition[J].InternationalJournalofInformationTechnologyandKnowledgeManagement, 2009,2(2):405-410.
[4]CaoChu-qing,LiRui-feng,ZhaoLi-jun.Handposturerecognitionmethodbasedondepthimagetechnoloyy[J].ComputerEngineering, 2012,38(8):16-18. (inChinese)
[5]CortesC,VapnikV.Support-vectornetworks[J].MachineLearning, 1995,20(3):273-297.
[6]BourdevL,MalikJ.Poselets:Bodypartdetectorstrainedusing3dhumanposeannotations[C]∥Procofthe12thIEEEInternationalConferenceonComputerVision, 2009:1365-1372.
[7]RajkoS,QianC.AhybridHMM/DPAadaptivegesturerecognitionmethod[C]∥ProcofISVC’05, 2005:227-234.
[8]ShottonJ,FitzgibbonA,CookM,etal.Real-timehumanposerecognitioninpartsfromsingledepthimages[C]∥ProcofIEEEComputerSocietyConferenceonComputerVisionandPatternRecognition, 2011:3.
[9]MoZ,LewisJP,NeumannU.SmartCanvas:Agesture-drivenintelligentdrawingdesksystem[C]∥Procofthe10thACM
InternationalConferenceonIntelligentUserInterfaces, 2005:239-243.
[10]vandenBerghM,Koller-MeierE,BoscheF,etal.Haarlet-basedhandgesturerecognitionfor3Dinteraction[C]∥ProcofIEEEComputerSocietyonWACV, 2009:1-8.
[11]MistryP,MaesP,ChangL.WUW-wearUrworld:Awearablegesturalinterface[C]∥ProcofCHIEA’09, 2009:4111-4116.
[12]RenZ,YuanJ,ZhangZ.Robusthandgesturerecognitionbasedonfinger-earthmover′sdistancewithacommoditydepthcamera[C]∥Procofthe19thACMInternationalConferenceonMultimedia, 2011:1093-1096.
[13]PrimeSenseNaturalInteraction[EB/OL]. [2012-08-14].http://www.primesense.com/.
[14]HsuCW,ChangCC,LinCJ.Apracticalguidetosupportvectorclassification[Z]. 2003.
[15]ChangCC,LinCJ.LIBSVM:Alibraryforsupportvectormachines[J].ACMTransactionsonIntelligentSystemsandTechnology(TIST), 2011,2(3):27.
附中文參考文獻
[4] 曹雛清, 李瑞峰, 趙立軍. 基于深度圖像技術的手勢識別方法[J]. 計算機工程, 2012,38(8):16-18.
XUKai,born in 1983,MS candidate,his research interests include computer vision,machine learning,and data mining.

王敏(1978-),女,江蘇鎮江人,博士,副教授,研究方向為計算機視覺、機器學習、圖像處理與分析。E-mail:mwang@hhu.edu.cn
WANGMin,born in 1978,PhD,associate professor,her research interests include computer vision,machine learning,image processing and analysis.
Handgesturerecognitioninadepthimagebasedonhandcontour
XU Kai,WANG Min
(College of Computer and Information,Hohai University,Nanjing 211100,China)
A new hand gesture recognition method is proposed,which extracts hand contour from a depth image.The distance between hand contour and the center of contour is calculated, the representation feature of the hand gesture is obtained by using Discrete Fourier Transform (DFT),and the hand gesture is identified by using Support Vector Machine (SVM) with Radial Basis Function (RBF).A dataset with 10 common hand gestures are established in order to demonstrate the effectiveness of the proposed method and achieve about 97.9% recognition rate.
depth image;hand gesture recognition;support vector machine;discrete Fourier transform (DFT)
1007-130X(2014)05-0941-06
2012-11-30;
:2013-01-21
教育部新世紀優秀人才支持計劃(NCET-10-0327);中央高校基本科研業務費項目(2009B21014);國家自然科學基金資助項目(30700183);教育部博士點基金項目(20070294001)
TP391.41
:A
10.3969/j.issn.1007-130X.2014.05.026

許凱(1983-),男,江蘇蘇州人,碩士生,研究方向為計算機視覺、機器學習和數據挖掘。E-mail:Cauchy_xu@163.com
通信地址:211100 江蘇省南京市河海大學計算機與信息學院
Address:College of Computer and Information,Hohai University,Nanjing 211100,Jiangsu,P.R.China