許 凱,王 敏
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211100)
基于手輪廓的深度圖像手勢(shì)識(shí)別方法*
許 凱,王 敏
(河海大學(xué)計(jì)算機(jī)與信息學(xué)院,江蘇 南京 211100)
提出了一種新的手勢(shì)識(shí)別方法,該方法從深度圖像中提取手形輪廓,通過計(jì)算手形輪廓與輪廓形心點(diǎn)的距離,使用離散傅里葉變換獲得手勢(shì)的表觀特征,引入徑向基核的支持向量機(jī)識(shí)別手勢(shì)。建立了一個(gè)常見的10種手勢(shì)的數(shù)據(jù)集,測(cè)試獲得了97.9%的識(shí)別率。
深度圖像;手勢(shì)識(shí)別;支持向量機(jī);離散傅里葉變換
人機(jī)交互HCI(Human-Computer Interaction)是一門研究設(shè)計(jì)、評(píng)估和實(shí)現(xiàn)人與計(jì)算機(jī)之間交互的綜合學(xué)科[1]。手勢(shì)識(shí)別是人機(jī)交互的一個(gè)重要研究領(lǐng)域,它在虛擬現(xiàn)實(shí)、手語識(shí)別、電腦游戲等方面有著廣泛的應(yīng)用[2]。
基于視覺的手勢(shì)識(shí)別是通過獲取圖像信息來得到手勢(shì)的姿態(tài)信息,從而對(duì)不同的手勢(shì)進(jìn)行分類。相比傳統(tǒng)人機(jī)交互的方法,基于視覺的手勢(shì)識(shí)別具有更為自然和非接觸式的特點(diǎn),是當(dāng)前研究熱點(diǎn)[3,4]。通常一個(gè)基于視覺的手勢(shì)識(shí)別過程包括兩個(gè)主要步驟:(1)特征提取,從圖像中提取手勢(shì)的特征向量;(2)分類,依據(jù)特征向量進(jìn)行手勢(shì)識(shí)別。特征向量的選取直接關(guān)系到識(shí)別的準(zhǔn)確率。一個(gè)好的特征向量提取算法必須足夠魯棒,相同的手勢(shì)可以提取獲得相近的特征向量,從而使隨后的識(shí)別過程相對(duì)簡(jiǎn)單。另一方面,Cortes C和Vapnik V[5]提出“只有在特征向量選擇良好時(shí),分類器才會(huì)變得高效、精確”。同樣,由于訓(xùn)練集、自由參數(shù)等因素影響,分類算法的選擇也是一難點(diǎn)。這些分類算法包括神經(jīng)網(wǎng)絡(luò)[6]、隱馬爾可夫模型[7]、決策樹[8]等??傊卣魈崛〖夹g(shù)和分類方法兩者緊密而復(fù)雜地聯(lián)系在一起,構(gòu)成了識(shí)別系統(tǒng)的兩大部分。
手勢(shì)特征提取主要包括手勢(shì)定位和特征向量的選取。手勢(shì)定位常采用膚色分割來定位圖像中手的位置[9,10],但這類方法易受膚色、光照和場(chǎng)景的影響。Mistry P等人[11]使用了彩色指套標(biāo)記來輔助定位手,但該方法需要用戶佩戴額外的裝置,在人機(jī)交互的過程中有一定的侵入性。Shotton J等人[8]使用了深度攝像機(jī)來輔助分割識(shí)別肢體。由于深度攝像機(jī)分辨率只有640×480,該方法只能有效識(shí)別較大目標(biāo),例如肢體。在這個(gè)分辨率的深度圖像下,手在圖像中僅占很小的部分,很難精確定位跟蹤。
本文提出了一種基于輪廓的深度圖像手勢(shì)識(shí)別方法。在手勢(shì)定位階段,區(qū)別于傳統(tǒng)的有標(biāo)記的手勢(shì)定位,使用了深度攝像機(jī)來定位手勢(shì)。這個(gè)方法可以有效地減少膚色、光照和復(fù)雜場(chǎng)景對(duì)檢測(cè)的干擾。在特征提取階段,提出了使用手形形心點(diǎn)和手形的輪廓作為特征點(diǎn),計(jì)算形心點(diǎn)至輪廓的歐氏距離,使用離散傅里葉變換DFT(Discrete Fourier Transform)獲得特征向量。在識(shí)別階段,使用了帶徑向基核函數(shù)的支持向量機(jī)來訓(xùn)練分類器,通過實(shí)驗(yàn)計(jì)算出支持向量機(jī)參數(shù)值(γ,C)。最后在所建立的測(cè)試樣本上獲得了97.9%的識(shí)別率,較同類方法[12]具有更高的識(shí)別率和無需佩戴輔助標(biāo)識(shí)的優(yōu)點(diǎn)。
深度圖像技術(shù)在近年來得到飛速發(fā)展,Prime Sense公司的深度攝像機(jī)可以在640×480的分辨率下達(dá)到30 fps的采樣率。使用深度攝像機(jī),人體跟蹤和人臉跟蹤已經(jīng)獲得了巨大的成功。但是,當(dāng)前深度攝像機(jī)獲得圖像分辨率較低,只能較好地追蹤象人體這樣的大目標(biāo),而人手這樣的小目標(biāo),很難獲得較高的偵測(cè)識(shí)別率。
基于輪廓的深度圖像手勢(shì)識(shí)別方法,可以有效地利用深度攝像機(jī)識(shí)別手勢(shì)。
2.1 手勢(shì)定位
假定手是離攝像機(jī)最近的物體,且在攝像機(jī)有效距離內(nèi)。將所獲得的深度信息值轉(zhuǎn)換到灰度空間,從而獲得的原始深度圖像如圖1所示。圖1中灰度值越小,表明該目標(biāo)距離攝像機(jī)越遠(yuǎn)??梢钥吹?,手是離攝像機(jī)最近的目標(biāo),在深度圖像中灰度值最大(黑色灰度值為0,白色灰度值為255)。
2.1.1 灰度拉伸
深度攝像機(jī)的物理有效距離是0.4至3米[13],如圖1所示,可見所采集的原始深度圖像灰度值均較小,圖像偏暗,不方便觀察、計(jì)算。對(duì)原始深度圖像灰度值作2.5倍的拉伸,獲得如圖2所示的圖像。拉伸后深度圖像中各點(diǎn)灰度值分布較均勻,手形可以更清晰地分辨出來。
Figure 1 Original depth image圖1 原始深度圖像
Figure 2 Stretched depth image圖2 拉伸后深度圖像
2.1.2 高斯濾波
由于深度攝像機(jī)固有屬性、圖像目標(biāo)自遮擋等原因,灰度拉伸后的深度圖像中存在部分噪聲。引入3×3模板的高斯平滑濾波來減少和抑制圖像噪聲,其中sigma取0.85。平滑濾波后,圖像中噪聲得到有效抑制,且圖像細(xì)節(jié)被較好地保留下來。
2.1.3 二值化與形態(tài)學(xué)操作
手被假設(shè)為距離攝像機(jī)最近的目標(biāo)物體,因此在圖像中搜索灰度值最小點(diǎn),獲得手的最近距離為dmin。設(shè)手掌的厚度為dh,取閾值為dmin+dh,對(duì)圖像進(jìn)行手勢(shì)區(qū)域與背景區(qū)域圖像二值化操作,這樣,手形就從深度圖像中分離出來。通過連續(xù)的形態(tài)學(xué)膨脹、腐蝕操作,可以去除手形圖像中的孤立點(diǎn)。最后獲得手形的圖像如圖3所示。
Figure 3 Hand segmentation result圖3 手形分割效果
使用深度信息進(jìn)行手勢(shì)定位受光照、背景的影響較小,且不受膚色影響。
2.2 特征提取
通過提取手勢(shì)的表觀特征,根據(jù)手勢(shì)的形心點(diǎn)至手勢(shì)輪廓的距離,對(duì)不同手勢(shì)進(jìn)行分類,從而實(shí)現(xiàn)手勢(shì)的準(zhǔn)確識(shí)別。相比其他的手勢(shì)特征提取方法,該方法手勢(shì)在圖像中受旋轉(zhuǎn)和縮放的影響較小,定位快速精確。
2.2.1 輪廓查找
對(duì)于分割處理后獲得的圖像(圖 3)查找手形的輪廓。設(shè)vi,j為二值化圖像中一點(diǎn),如圖4所示,若vi,j為白色點(diǎn),且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中有一個(gè)或一個(gè)以上為黑點(diǎn),則vi,j為輪廓點(diǎn)。從而可以獲得整個(gè)手形的輪廓點(diǎn)序列V=array(x,y),其中x、y為輪廓點(diǎn)在圖像中的坐標(biāo)。
Figure 4 Eight neighborhood of the pixel圖4 像素點(diǎn)八鄰域
如圖5所示,曲邊ABCDE為分割獲得的手形輪廓。
Figure 5 Hand contour segmentation result圖5 手形輪廓分割效果
2.2.2 形心點(diǎn)查找
把一個(gè)歸一化的灰度圖像理解為一個(gè)二維隨機(jī)變量的概率密度,則這個(gè)隨機(jī)變量的屬性可以用統(tǒng)計(jì)特征矩來描述。因此,計(jì)算輪廓序列的空間矩mji為:
圖5中點(diǎn)O為輪廓序列點(diǎn)A、B、C、D、E的形心點(diǎn)。
2.2.3 距離變換
對(duì)于輪廓序列array(x,y)上的點(diǎn)(xi,yi),i=1,2,…,n,計(jì)算形心點(diǎn)至輪廓的歐氏距離{dn}:
由圖 5手形輪廓計(jì)算獲得的距離序列如圖6所示,圖6中橫坐標(biāo)表示輪廓序列點(diǎn)的序列號(hào),縱坐標(biāo)為輪廓形心點(diǎn)至輪廓的歐氏距離。
Figure 6 Hand contour distance sequence圖6 手形輪廓距離序列
2.2.4 距離規(guī)格化
使用最大最小數(shù)據(jù)規(guī)格化法,對(duì)距離序列{dn}數(shù)據(jù)進(jìn)行線性轉(zhuǎn)換,獲得序列{an}。設(shè)minsrc和maxsrc為{dn}的最小和最大值,將{dn}的一個(gè)值di映射為ai:
其中ai∈[mindst,maxdst]。如果取ai∈[0,1],則:
圖7為圖6作規(guī)格化后所得的結(jié)果。從圖 7中可以看到,規(guī)格化后的距離序列{an}的波形是對(duì)原有距離序列波形的振幅縮小,保留了原有頻率的全部信息。這樣不同大小的手形輪廓就可以縮放到相同大小的數(shù)值范圍進(jìn)行計(jì)算了。
Figure 7 Normalized hand contour distance sequence圖7 歸一化手形輪廓距離序列
2.2.5 離散傅里葉變換
傅里葉變換可以看作是時(shí)間域上的函數(shù)在頻率域上的表示。傅里葉變換在頻率域中包含的信息和原時(shí)間域函數(shù)所包含的信息是等價(jià)的,不同的是信息的表達(dá)方式。將傅里葉變換離散化得到離散傅里葉變換(DFT)。對(duì)N點(diǎn)序列{xn},0≤n≤N,它的離散傅里葉變換(DFT)為:
其中,e是自然對(duì)數(shù)底數(shù),i是虛數(shù)單位。用符號(hào)F表示這一變換,即:
離散傅里葉變換的逆變換(IDFT)為:
可以記為:
對(duì)計(jì)算所得的距離序列A={an}做離散傅里葉變換B=F·A。對(duì)于序列B,取前N′項(xiàng)值,獲得子序列B′,當(dāng)N′→N時(shí),C=F-1B′→A。
如圖 8所示,圖8a~圖8d分別為當(dāng)N′=1,3,4,8時(shí),離散傅里葉逆變換所恢復(fù)獲得的序列。圖8d中當(dāng)N′=8時(shí),序列C已經(jīng)與原序列A(圖7)比較接近,且有效地濾除了原序列A中部分噪聲。
Figure 8 Inverse Fourier transform result圖8 傅里葉逆變換結(jié)果
支持向量機(jī)SVM(SupportVectorMachine)[5]是在統(tǒng)計(jì)學(xué)習(xí)理論的基礎(chǔ)上發(fā)展起來的新一代機(jī)器學(xué)習(xí)方法,通常用來識(shí)別二分類問題。它在文本分類、手寫識(shí)別、圖像分類等領(lǐng)域獲得了較好的應(yīng)用。
采用適當(dāng)?shù)膬?nèi)積核函數(shù)可以實(shí)現(xiàn)從低維向高維空間的映射,從而實(shí)現(xiàn)某一非線性分類變換后的線性分類,而計(jì)算復(fù)雜度卻沒有增加。常用的核函數(shù)包括線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)RBF(RadialBasisFunction)和Sigmoid核函數(shù)。
作為一種對(duì)應(yīng)于非線性映射的核函數(shù),徑向基核函數(shù)能夠處理非線性可分的情況;通過適當(dāng)?shù)剡x擇參數(shù),徑向基核函數(shù)總可以得到與帶有錯(cuò)誤代價(jià)參數(shù)C的線性核函數(shù)相同的結(jié)果;某些情況下,Sigmoid的行為類似于徑向基核函數(shù),但Sigmoid核函數(shù)參數(shù)不易確定;多項(xiàng)式核函數(shù)需要計(jì)算內(nèi)積,這有可能產(chǎn)生計(jì)算溢出的問題。故引入帶徑向基核函數(shù)的支持向量機(jī)作為分類器,來對(duì)手勢(shì)進(jìn)行識(shí)別。
4.1 實(shí)驗(yàn)數(shù)據(jù)
使用PrimeSense公司深度攝像機(jī),采樣圖片分辨率設(shè)置為640×480,分別采集了10組,每組300個(gè)樣本,總共3 000個(gè)常見手勢(shì)。根據(jù)上文提出的手勢(shì)定位方法,進(jìn)行手勢(shì)定位分割后的圖像如圖9所示。
Figure 9 Ten kinds of common gestures圖9 10種常見手勢(shì)
4.2 參數(shù)選擇
在選擇了RBF核函數(shù)的情況下,總共有兩個(gè)參數(shù)需要確定,即RBF核自身的參數(shù)γ以及錯(cuò)誤代價(jià)系數(shù)C。這是一個(gè)變量γ和C的優(yōu)化問題,目標(biāo)函數(shù)值是SVM對(duì)于測(cè)試集的識(shí)別率。
使用基于交叉驗(yàn)證和網(wǎng)格搜索的方法[15]來選擇參數(shù)(γ,C)。將數(shù)據(jù)集合中3 000個(gè)樣本取2 000個(gè)為訓(xùn)練集(Training),1 000個(gè)為測(cè)試集(Testing)。圖 10顯示對(duì)于訓(xùn)練集使用不同的特征向量長(zhǎng)度,所獲得的訓(xùn)練集上交叉驗(yàn)證的識(shí)別率與測(cè)試集上的識(shí)別率。
Figure 10 Gesture recognition rate with different spatial frequency cycles圖10 不同特征向量長(zhǎng)度的手勢(shì)識(shí)別率
圖 10中當(dāng)空間頻率周期取12時(shí),訓(xùn)練集上交叉驗(yàn)證的識(shí)別率最高,達(dá)到98.6%,此時(shí)參數(shù)γ=8,C=8。由離散傅里葉變換(DFT):
可知,空間頻率周期取12,即N=12,共有23個(gè)參數(shù),即手的輪廓序列使用長(zhǎng)度為23的特征向量。當(dāng)N>12時(shí),隨著N的增長(zhǎng),識(shí)別率趨于穩(wěn)定值。
4.3 實(shí)驗(yàn)結(jié)果與分析
選取長(zhǎng)度為23的特征向量,參數(shù)γ=8,C=8,在Intel?CoreTMi5-2410MCPU@ 2.30GHz,8GBRAM,Windows7 64bit的系統(tǒng)上,識(shí)別1 000張手勢(shì)圖像,平均每張所需時(shí)間為0.15毫秒,測(cè)試集識(shí)別率為97.9%,識(shí)別結(jié)果的混淆矩陣如圖11所示。
Figure 11 Confusion matrix of recognition results圖11 識(shí)別結(jié)果混淆矩陣
由圖11可見,手勢(shì)3受深度圖像分辨率影響,食指與中指處部分圖像易產(chǎn)生粘連,影響識(shí)別率。手勢(shì)9特征提取后的距離波形與手勢(shì)2接近,少數(shù)手勢(shì)9錯(cuò)分為手勢(shì)2。
由圖12可見,基于手形輪廓與輪廓形心點(diǎn)距離的特征提取方法(Contour-Distance),較RenZ等人[12]提出的基于Thresholding分解的FEMD方法(平均90.6%識(shí)別率)和基于near-convex分解的FEMD方法(平均93.9%識(shí)別率)具有更好的識(shí)別效果。RenZ等人[12]的兩種方法都使用了深度攝像機(jī),在特征提取階段均需依賴于“blackbelt”的輔助標(biāo)識(shí),基于手形輪廓與輪廓形心點(diǎn)距離的特征提取方法具有更為自然的優(yōu)點(diǎn)。
Figure 12 Recognition results contrast圖12 識(shí)別結(jié)果對(duì)比
本文針對(duì)復(fù)雜背景條件下的手勢(shì)識(shí)別問題,引入了深度攝像機(jī)來捕捉圖像,提取深度圖像中手形的輪廓與輪廓形心點(diǎn)的距離作為特征點(diǎn),利用離散傅里葉變換獲得特征向量,使用支持向量機(jī)訓(xùn)練分類器、識(shí)別手勢(shì),獲得了較高的識(shí)別率,有效克服了膚色和場(chǎng)景對(duì)手勢(shì)識(shí)別的影響,且該方法無需依賴其他輔助標(biāo)識(shí),較現(xiàn)有的方法具有更為自然的優(yōu)點(diǎn)。
由于在分割手形時(shí)引入閾值,對(duì)圖像進(jìn)行了二值化操作,手勢(shì)的部分三維信息被丟失。若保留手在空間中的三維信息,建立手的三維模型,將可以使手勢(shì)識(shí)別獲得更多的特征信息,進(jìn)一步提高識(shí)別率。
[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.
附中文參考文獻(xiàn)
[4] 曹雛清, 李瑞峰, 趙立軍. 基于深度圖像技術(shù)的手勢(shì)識(shí)別方法[J]. 計(jì)算機(jī)工程, 2012,38(8):16-18.
XUKai,born in 1983,MS candidate,his research interests include computer vision,machine learning,and data mining.
王敏(1978-),女,江蘇鎮(zhèn)江人,博士,副教授,研究方向?yàn)橛?jì)算機(jī)視覺、機(jī)器學(xué)習(xí)、圖像處理與分析。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
教育部新世紀(jì)優(yōu)秀人才支持計(jì)劃(NCET-10-0327);中央高?;究蒲袠I(yè)務(wù)費(fèi)項(xiàng)目(2009B21014);國(guó)家自然科學(xué)基金資助項(xiàng)目(30700183);教育部博士點(diǎn)基金項(xiàng)目(20070294001)
TP391.41
:A
10.3969/j.issn.1007-130X.2014.05.026
許凱(1983-),男,江蘇蘇州人,碩士生,研究方向?yàn)橛?jì)算機(jī)視覺、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘。E-mail:Cauchy_xu@163.com
通信地址:211100 江蘇省南京市河海大學(xué)計(jì)算機(jī)與信息學(xué)院
Address:College of Computer and Information,Hohai University,Nanjing 211100,Jiangsu,P.R.China