王穎??王玉蘋(píng)
摘要:實(shí)現(xiàn)基于序列圖像的手勢(shì)軌跡識(shí)別,提出一種基于位置關(guān)系的手勢(shì)軌跡識(shí)別方法,利用Kinect體感設(shè)備傳感器提取軌跡序列,分析坐標(biāo)序列的軌跡樣本,通過(guò)黃金分割實(shí)現(xiàn)軌跡的匹配與識(shí)別。實(shí)驗(yàn)結(jié)果證明,該方法能有效識(shí)別手勢(shì)軌跡。
關(guān)鍵詞關(guān)鍵詞:Kinect;手勢(shì)識(shí)別;黃金分割搜索;樣本軌跡;算法
DOIDOI:10.11907/rjdk.143891
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)002005402
基金項(xiàng)目基金項(xiàng)目:北京服裝學(xué)院2014年青年創(chuàng)新基金項(xiàng)目(2014AL-34 )
作者簡(jiǎn)介作者簡(jiǎn)介:王穎(1975- ),女,河北保定人,碩士,北京服裝學(xué)院計(jì)算機(jī)信息中心講師,研究方向?yàn)槿藱C(jī)交互技術(shù)。
0引言
在人機(jī)交互中,手勢(shì)具有直觀性、自然性的特點(diǎn),其已成為人機(jī)交互的一種重要手段[1,2]。手勢(shì)軌跡是按照某種規(guī)則識(shí)別出揮動(dòng)手臂所要表達(dá)的含義,手勢(shì)軌跡信息應(yīng)用有很強(qiáng)的可移植性和可擴(kuò)展性。然而,基于視覺(jué)的手勢(shì)軌跡識(shí)別的前期分割易受光照、背景、攝像頭特性等因素影響,識(shí)別率不高。微軟的Kinect體感設(shè)備通過(guò)傳感器識(shí)別人體關(guān)節(jié)的位置坐標(biāo),獲取有關(guān)數(shù)據(jù),為手勢(shì)軌跡識(shí)別提供了良好的基礎(chǔ)[3,4]。利用Kinect坐標(biāo)信息軌跡對(duì)深度圖像進(jìn)行手勢(shì)分割和識(shí)別,不受光照、背景等因素的影響,從而提高了手勢(shì)軌跡識(shí)別的穩(wěn)定性和魯棒性。
1基于樣本的動(dòng)作檢測(cè)
假設(shè)動(dòng)作可以被記錄并序列化,如果當(dāng)前動(dòng)作是已發(fā)生動(dòng)作中的一個(gè),那么其就可以被檢測(cè)出來(lái)。主要方式是快速比較兩個(gè)動(dòng)作的數(shù)據(jù)是否匹配[5,6]。動(dòng)作是一系列坐標(biāo)序列,通過(guò)坐標(biāo)記錄其到傳感器的距離,因此需要研究數(shù)據(jù)比較算法,將規(guī)格化數(shù)據(jù)變換到一個(gè)統(tǒng)一的參考空間下。
假設(shè):當(dāng)前坐標(biāo)序列為:
P={p0,p1,…,pn-1}
(1)生成具有特定數(shù)量的坐標(biāo)點(diǎn)的動(dòng)作。
假設(shè)樣本數(shù)量為M,定義采樣間距Lavg=(n-1)/(M-1),pi-1與pi之間的距離為L(zhǎng)i,i-1。在根據(jù)樣本數(shù)量對(duì)坐標(biāo)序列進(jìn)行采樣的過(guò)程中,需要重新計(jì)算采樣點(diǎn)的新坐標(biāo)。做法是遍歷坐標(biāo)序列的點(diǎn),如當(dāng)前點(diǎn)與前一個(gè)采樣點(diǎn)的距離達(dá)不到采樣間距,繼續(xù)往前遍歷,當(dāng)達(dá)到或者超過(guò)采樣間距時(shí),則計(jì)算新的坐標(biāo)點(diǎn)。定義遍歷時(shí)累計(jì)的距離變量Lcur,當(dāng)Lcur+LI,i-1>=Lavgcur時(shí),計(jì)算新的坐標(biāo)點(diǎn):
p′i=pi-1+(Lavg-Lcur/Li,i-1)*(pi-pi-1)(1)
得到新的坐標(biāo)序列:
P′={p′0,p′1,…,p′n-1}
(2)旋轉(zhuǎn)坐標(biāo)點(diǎn),使得第一個(gè)點(diǎn)的方向角度為0。
為使匹配的兩個(gè)序列有統(tǒng)一的起點(diǎn),將坐標(biāo)序列旋轉(zhuǎn),從而使第一個(gè)坐標(biāo)點(diǎn)的方向角度為0。計(jì)算坐標(biāo)序列的中心坐標(biāo),并得到第一個(gè)坐標(biāo)點(diǎn)相對(duì)于中心坐標(biāo)的方向角。以此方向角為旋轉(zhuǎn)角度,利用二維空間旋轉(zhuǎn)矩陣得到新的坐標(biāo)序列。
(3)將坐標(biāo)值映射到[0,1]區(qū)間。
如得到的坐標(biāo)序列的數(shù)值范圍不統(tǒng)一,將帶來(lái)匹配的不準(zhǔn)確性。為此,需要將坐標(biāo)范圍統(tǒng)一到[0,1]區(qū)間內(nèi)。
(4)規(guī)格化動(dòng)作序列點(diǎn)的原點(diǎn)。
經(jīng)過(guò)上述處理,動(dòng)作軌跡的序列點(diǎn)具備了統(tǒng)一的方向和坐標(biāo),還需對(duì)原點(diǎn)進(jìn)行處理,以便具有與樣本相同的參考點(diǎn)。規(guī)格化步驟如圖1所示。
經(jīng)過(guò)規(guī)格化操作,即可進(jìn)行匹配。將長(zhǎng)度一樣的坐標(biāo)點(diǎn)序列規(guī)格化為統(tǒng)一的尺度、方向和中心。
黃金分割搜索(Golden Section Search)[7]是一種通過(guò)不斷縮小單調(diào)連續(xù)函數(shù)極值的范圍,找到極值的方法。利用黃金分割搜索方法不需使用導(dǎo)數(shù)求取函數(shù)的極值,具有很強(qiáng)的實(shí)時(shí)性和便捷性。
假設(shè)函數(shù)f(x)在[a, b]上連續(xù),并且是單調(diào)函數(shù),即f(x)在[a, b]間只有一個(gè)極小值,或者只有一個(gè)極大值。使用對(duì)分方法,通過(guò)比較函數(shù)值將包含極值的區(qū)間變小。所設(shè)計(jì)的算法需滿足兩個(gè)目標(biāo):一是在區(qū)間檢索中能夠找到最優(yōu)的區(qū)間減小因子;二是減少函數(shù)調(diào)用的次數(shù)。
圖1軌跡序列規(guī)格化
計(jì)算中間點(diǎn)m=(a+b)/2,求x1和x2,定義x1=m-δ/2,x2=m+δ/2,使得f(x1)≠f(x2)。如果f(x1) 圖2為找出最小值的步驟。F(x)的函數(shù)值位于垂直坐標(biāo)軸上,參數(shù)x位于水平坐標(biāo)軸。可以看出,有3個(gè)位于函數(shù)f(x)上的值被計(jì)算出來(lái):x1,x2和x3。可見(jiàn)f(x2)小于f(x1)和f(x3), 所以很明顯的,最小值處于x1和x3之間。 圖2最小值求解 接下來(lái)的步驟是計(jì)算函數(shù)位于另一個(gè)點(diǎn)x4的值。從圖2可以看出,如果函數(shù)值落在f4a,最小值則在x1和x4之間新的點(diǎn)將是x1,x2或x4;如果函數(shù)值為f4a,新的點(diǎn)將是x2,x4或x3。因此,無(wú)論是哪種情況,都可以建立一個(gè)新的更狹窄的區(qū)間,用于搜索函數(shù)的最小值。 為提高算法效率,只在每個(gè)步驟中只求一次函數(shù)值。相對(duì)于當(dāng)前檢索區(qū)間,需要設(shè)立一個(gè)常數(shù)因子,稱為c。在區(qū)間[a,b]中的為x1和x2,有以下兩種情況: (1)如f(x1) x2-a=c(b-a)x2=a+cb-cax2=(1-c)a+cb(2) (2)如果f(x1)>f(x2),為使[a,b]=[x1,b],區(qū)間作如下調(diào)整: b-x1=c(b-a)-x1=cb-ca-bx1=ca+(1-c)b(3) 這樣,只要求出C,就可以得到位置x1和x2。不失一般性,考慮f(x1) 如果f(x1) (1)假設(shè)在x1=1-c的左邊得到新的函數(shù)值,那么x1是區(qū)間[0,c]右邊界,由式(2)得 1-c=(1-c)0+ccc2+c-1=0(4) c=(-1+5)/2≈0.6180。 (2)假設(shè)在x1=1-c的右邊得到新的函數(shù)值,那么x1是區(qū)間[0,c]的左邊界。 1-c=c0+(1-c)c(1-c)2=0(5) 由式(5)得c=1, 這樣區(qū)間就沒(méi)有減小,排除這種可能性,有規(guī)則如下:如果f(x1) 2實(shí)驗(yàn)結(jié)果 利用本文算法進(jìn)行測(cè)試實(shí)驗(yàn),完成兩種手勢(shì):一個(gè)是左右揮動(dòng),一個(gè)是圓形手勢(shì)。分別采集了5個(gè)人的手勢(shì)軌跡,每個(gè)手勢(shì)每個(gè)人做10次。如圖3所示,左圖手向左運(yùn)動(dòng)代表向左揮動(dòng),右圖代表圓形手勢(shì), 圖中的虛線為手運(yùn)動(dòng)軌跡。 圖3手勢(shì)識(shí)別結(jié)果 表1給出了5個(gè)實(shí)驗(yàn)者和2種手勢(shì)的識(shí)別率,可以看出,本文算法具有很高的識(shí)別率,滿足應(yīng)用需求。 表1二種手勢(shì)的識(shí)別數(shù)據(jù)分析 手勢(shì)[]向左揮動(dòng)[]向右揮動(dòng)[]圓形揮動(dòng) 實(shí)驗(yàn)次數(shù)[]50[]50[]50 識(shí)別次數(shù)[]50[]49[]46 識(shí)別率(%)[]100[]98[]92 3結(jié)語(yǔ) 手勢(shì)具有直觀性、自然性的特點(diǎn),其已成為人機(jī)交互的一種重要手段。手勢(shì)軌跡則是按照某種規(guī)則識(shí)別出手勢(shì)表達(dá)的含義,手勢(shì)軌跡信息的應(yīng)用有很強(qiáng)的可移植性和可擴(kuò)展性。本文采用微軟Kinect傳感器獲取相關(guān)數(shù)據(jù),對(duì)圖像進(jìn)行手勢(shì)分割和識(shí)別,不受光照、背景等因素的影響,提高了手勢(shì)軌跡識(shí)別的穩(wěn)定性和魯棒性。