手勢(shì)識(shí)別方法、裝置及Leap Motion體感控制系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種手勢(shì)識(shí)別方法及裝置,以及一種Leap?Motion體感控制系統(tǒng)。上述手勢(shì)識(shí)別方法包括:S1:將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù);S2:實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提取;S3:根據(jù)提取出的特征參數(shù)判斷手部的運(yùn)動(dòng)是否屬于平移類型操作,若屬于平移類型操作,進(jìn)入步驟S5,若不屬于平移類型操作,進(jìn)入步驟S4;S4:通過(guò)預(yù)設(shè)算法確定手部的運(yùn)動(dòng)所屬的操作類型;S5:根據(jù)操作類型在手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)特征參數(shù)在相應(yīng)類型的操作中確定目標(biāo)操作。通過(guò)上述技術(shù)方案,可以構(gòu)建適用于Leap?Motion的三維模型操作手勢(shì)庫(kù),以及相應(yīng)的手勢(shì)識(shí)別方法,并提高手勢(shì)識(shí)別的準(zhǔn)確率,保證三維操作中模型變換的連貫性和穩(wěn)定性。
【專利說(shuō)明】手勢(shì)識(shí)別方法、裝置及Leap Motion體感控制系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及手勢(shì)識(shí)別【技術(shù)領(lǐng)域】,具體而言,涉及一種手勢(shì)識(shí)別方法、一種手勢(shì)識(shí)別裝置以及一種Leap Motion體感控制系統(tǒng)。
【背景技術(shù)】
[0002]三維物體操作一般包括對(duì)三維模型六個(gè)自由度(6D0F)的控制:三個(gè)分別沿著X、y、z軸方向的平移和三個(gè)分別繞x、y、z軸的旋轉(zhuǎn),它是三維設(shè)計(jì)和創(chuàng)作類應(yīng)用的基礎(chǔ)功能,如CAD,Maya,模擬制作陶器的移動(dòng)應(yīng)用Pottery等,也是許多游戲中不可缺少的體驗(yàn)要素。在之前很長(zhǎng)一段時(shí)間,人們都是通過(guò)鼠標(biāo)和鍵盤來(lái)操作這些變換,但輸入工具的存在影響了人們創(chuàng)造力的發(fā)揮,人們很容易將注意力集中于工具的使用和數(shù)值的調(diào)整上,而不是創(chuàng)作或體驗(yàn)本身。
[0003]近幾年,智能手機(jī)和平板的普及使觸屏類手勢(shì)交互成為研究熱點(diǎn)。這些對(duì)于圖片、文字等二維內(nèi)容的操作是恨直觀的。但在三維模型的操作上,由于比模型對(duì)象少了一個(gè)維度,操作起來(lái)并不直觀。不少學(xué)者把研究重點(diǎn)放在如何約束三維的變換信息到二維的輸入上,或如何擴(kuò)展二維的輸入使之更好地操作三維變換,但這些都不如用自由手操作自然和直觀。所以用自由手勢(shì)動(dòng)作來(lái)實(shí)現(xiàn)對(duì)三維模型的操作是最符合以用戶為中心的人機(jī)交互理念的。
[0004]手勢(shì)追蹤是手勢(shì)交互不可缺少的關(guān)鍵技術(shù),也是這種交互能否推廣應(yīng)用的瓶頸問(wèn)題之一。特別是對(duì)于三維模型的控制上,需要實(shí)時(shí)反饋,模型跟隨操作而變換,對(duì)實(shí)時(shí)性和穩(wěn)定性要求較高。之前的自由手勢(shì)研究大致分兩種,一種是基于視覺的,一種是基于數(shù)據(jù)手套的,前者容易受光線、膚色、干擾物體影響,對(duì)手部細(xì)節(jié)動(dòng)作的實(shí)時(shí)重建很困難,后者對(duì)于設(shè)備的要求比較高。近兩年,也有人把Kinect體感技術(shù)用于動(dòng)態(tài)手勢(shì)識(shí)別中,但Kinect主要追蹤的是中遠(yuǎn)距(0.5m-4m)的全身動(dòng)作,對(duì)于手部的動(dòng)作,細(xì)節(jié)信息不夠。而LeapMotion的出現(xiàn),彌補(bǔ)了 Kinect的精度問(wèn)題,它是一個(gè)檢測(cè)手勢(shì)運(yùn)動(dòng)的傳感器,動(dòng)作跟蹤精確到0.01mm,精準(zhǔn)度是Kincet的100倍。而且設(shè)備小,成本低,擴(kuò)展性強(qiáng),易于內(nèi)置到筆記本等其他設(shè)備上。
[0005]Leap Motion的手勢(shì)主要是指令類,用于Π輸入等,并未有一個(gè)完整的,包含6D0F以及縮放操作的用于三維模型變換的手勢(shì)庫(kù),以及適用于三維模型操作的自由手勢(shì)識(shí)別方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問(wèn)題是,如何構(gòu)建適用于Leap Motion的三維模型操作手勢(shì)庫(kù),以及相應(yīng)的手勢(shì)識(shí)別方法,并提高手勢(shì)識(shí)別的準(zhǔn)確率,保證三維操作中模型變換的連貫性和穩(wěn)定性。
[0007]為此目的,本發(fā)明提出了一種手勢(shì)識(shí)別方法,包括:S1:將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù);S2:實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提??;S3:根據(jù)提取出的特征參數(shù)判斷所述手部的運(yùn)動(dòng)是否屬于平移類型操作,若屬于平移類型操作,進(jìn)入步驟S5,若不屬于平移類型操作,進(jìn)入步驟S4 ;S4:通過(guò)預(yù)設(shè)算法確定所述手部的運(yùn)動(dòng)所屬的操作類型;S5:根據(jù)所述操作類型,在所述手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)所述特征參數(shù)在所述相應(yīng)類型的操作中確定目標(biāo)操作。
[0008]優(yōu)選地,所述手勢(shì)庫(kù)包含單手和/或雙手手勢(shì)操作,且所述單手和/或雙手手勢(shì)操作包括沿三個(gè)軸中任一軸的平移操作,繞所述三個(gè)軸中任一軸的旋轉(zhuǎn)操作,以及繞所述三個(gè)軸中任一軸的縮放操作,其中,所述三個(gè)軸中的任意兩個(gè)軸互相垂直。
[0009]優(yōu)選地,所述步驟S2還包括:S21,以幀數(shù)據(jù)的形式輸入采集到的數(shù)據(jù)。
[0010]優(yōu)選地,所述步驟S2包括:S22:對(duì)輸入的幀數(shù)據(jù)進(jìn)行特征提取,得到特征參數(shù)STx, STy, STz, Nx、Ny、Nz、Dx、Dy、Dz、DTX、DTy、DTZ、rt、pt,其中,STX、STy、STz 分別為當(dāng)前幀與上一幀間,所述手部沿χ軸、y軸、z軸平移的距離差;Nx、Ny、Nz分別為所述手部在當(dāng)前幀中沿χ軸、y軸、z軸的法向向量;DX、Dy,Dz分別為當(dāng)前幀中所述手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量;DTX、DTy、DTz分別為當(dāng)前幀與上一幀間,所述手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量差,其中,所述手部的所有指尖指向同一方向,所述χ軸、y軸、z軸中的任意兩個(gè)軸互相垂直;rt為當(dāng)前幀與上一幀間歐拉角的橫滾角的差值;pt為當(dāng)前幀與上一幀間歐拉角的俯仰角的差值。
[0011]優(yōu)選地,所述步驟S3包括:判斷Ny〈A且100 (rt2+pt2)〈B是否成立,其中,A和B分別為第一預(yù)設(shè)常數(shù)和第二預(yù)設(shè)常數(shù);若成立,則判定所述手部的運(yùn)動(dòng)屬于平移類型操作,進(jìn)入所述步驟S5,若不成立,則判定所述手部的運(yùn)動(dòng)不屬于平移類型操作,進(jìn)入所述步驟S4。
[0012]優(yōu)選地,所述步驟S4包括:通過(guò)支持向量機(jī)算法,選用高斯核函數(shù)作為內(nèi)積和函數(shù)判斷所述手部的運(yùn)動(dòng)所屬的操作類型。
[0013]優(yōu)選地,在所述步驟S3之前還包括:對(duì)所述特征參數(shù)進(jìn)行幀間平滑處理。
[0014]優(yōu)選地,在所述步驟S3之前還包括:對(duì)所述特征參數(shù)進(jìn)行有效性過(guò)濾。
[0015]優(yōu)選地,還包括:S6,過(guò)濾所述目標(biāo)操作中的重復(fù)執(zhí)行操作,并執(zhí)行過(guò)濾后的操作。
[0016]優(yōu)選地,所述步驟S2包括:通過(guò)Leap Motion體感控制器實(shí)時(shí)采集所述手部的運(yùn)動(dòng)數(shù)據(jù)。
[0017]本發(fā)明還提出了一種手勢(shì)識(shí)別系統(tǒng),包括:存儲(chǔ)單元,用于將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù);采集單元,用于實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提取;判斷單元,用于根據(jù)提取出的特征參數(shù)判斷所述手部的運(yùn)動(dòng)是否屬于平移類型操作;計(jì)算單元,用于在所述判斷單元判定所述手部的運(yùn)動(dòng)不屬于平移類型操作時(shí),通過(guò)預(yù)設(shè)算法確定所述手部的運(yùn)動(dòng)所屬的操作類型;查詢單元,用于根據(jù)所述操作類型,在所述手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)所述特征參數(shù)在所述相應(yīng)類型的操作中確定目標(biāo)操作。
[0018]本發(fā)明還提出了一種Leap Motion體感控制器,包括上述手勢(shì)識(shí)別系統(tǒng)。
[0019]通過(guò)采用本發(fā)明所公開的技術(shù)方案,能夠構(gòu)建適用于Leap Motion的三維模型操作手勢(shì)庫(kù),以及相應(yīng)的手勢(shì)識(shí)別方法,并提高手勢(shì)識(shí)別的準(zhǔn)確率,保證三維操作中模型變換的連貫性和穩(wěn)定性。
【專利附圖】
【附圖說(shuō)明】[0020]通過(guò)參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
[0021]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別方法的流程圖;
[0022]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別裝置的框圖;
[0023]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)庫(kù)中手勢(shì)操作的示意圖;
[0024]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的進(jìn)行手勢(shì)識(shí)別的示意圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)描述。
[0026]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別方法的流程圖。
[0027]如圖1所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別方法包括:
[0028]S1:將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù);
[0029]S2:實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提取;
[0030]S3:根據(jù)提取出的特征參數(shù)判斷手部的運(yùn)動(dòng)是否屬于平移類型操作,若屬于平移類型操作,進(jìn)入步驟S5,若不屬于平移類型操作,進(jìn)入步驟S4 ;
[0031]S4:通過(guò)預(yù)設(shè)算法確定手部的運(yùn)動(dòng)所屬的操作類型;
[0032]S5:根據(jù)操作類型,在手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)特征參數(shù)在相應(yīng)類型的操作中確定目標(biāo)操作。
[0033]通過(guò)對(duì)手部運(yùn)動(dòng)進(jìn)行逐次識(shí)別,可以在手部運(yùn)動(dòng)為較易分析的平移運(yùn)動(dòng)時(shí),直接在手勢(shì)庫(kù)中查詢出其相應(yīng)的操作,而在手部運(yùn)動(dòng)屬于非平移操作時(shí),比如旋轉(zhuǎn)或縮放操作時(shí),能夠?qū)κ植窟\(yùn)動(dòng)的特征參數(shù)進(jìn)行具體運(yùn)算,從而以從簡(jiǎn)單到復(fù)雜的分析方式確定手部運(yùn)動(dòng)在手勢(shì)庫(kù)中所對(duì)應(yīng)的操作,提高了手勢(shì)識(shí)別的準(zhǔn)確率。
[0034]優(yōu)選地,手勢(shì)庫(kù)包含單手和/或雙手手勢(shì)操作,且單手和/或雙手手勢(shì)操作包括沿三個(gè)軸中任一軸的平移操作,繞三個(gè)軸中任一軸的旋轉(zhuǎn)操作,以及繞三個(gè)軸中任一軸的縮放操作,其中,三個(gè)軸中的任意兩個(gè)軸互相垂直。
[0035]三個(gè)軸可以為構(gòu)成空間直角坐標(biāo)系的χ軸、I軸、z軸,該手勢(shì)庫(kù)可以應(yīng)用于LeapMotion,從而為L(zhǎng)eap Motion提供包含六個(gè)自由度的手勢(shì)控制操作以及縮放操作,便于LeapMotion的拓展和開發(fā)使用。
[0036]優(yōu)選地,步驟S2還包括:S21,以幀數(shù)據(jù)的形式輸入采集到的數(shù)據(jù)。
[0037]通過(guò)幀數(shù)據(jù)形式輸入數(shù)據(jù),在分析手部運(yùn)動(dòng)時(shí)即可通過(guò)比對(duì)前后兩幀數(shù)據(jù)中的差異來(lái)實(shí)現(xiàn),便于對(duì)手部運(yùn)動(dòng)數(shù)據(jù)變化進(jìn)行分析。
[0038]優(yōu)選地,步驟S2包括:S22:對(duì)輸入的幀數(shù)據(jù)進(jìn)行特征提取,得到特征參數(shù)STx、STy、STz, Nx、Ny、Nz、Dx、Dy、Dz、DTX、DTy、DTZ、rt、pt,其中,STX、STy、STz 分別為當(dāng)前幀與上一幀間,手部沿χ軸、y軸、z軸平移的距離差;NX、Ny、Nz分別為手部在當(dāng)前幀中沿χ軸、y軸、z軸的法向向量;DX、Dy、Dz分別為當(dāng)前幀中手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量;DTX、DTy, DTz分別為當(dāng)前幀與上一幀間,手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量差,其中,手部的所有指尖指向同一方向,χ軸、y軸、z軸中的任意兩個(gè)軸互相垂直為當(dāng)前幀與上一幀間歐拉角的橫滾角(即將物體繞z軸旋轉(zhuǎn)的角度)的差值;pt為當(dāng)前幀與上一幀間歐拉角的俯仰角(即將物體繞χ軸旋轉(zhuǎn)的角度)的差值。[0039]通過(guò)提取上述特征參數(shù),可以準(zhǔn)確地識(shí)別出手部運(yùn)動(dòng)。
[0040]優(yōu)選地,步驟S3包括:判斷Ny〈A且100 (rt2+pt2)〈B是否成立,其中,A和B分別為第一預(yù)設(shè)常數(shù)和第二預(yù)設(shè)常數(shù),通過(guò)多次實(shí)驗(yàn)和大量數(shù)據(jù)統(tǒng)計(jì)得出的固定數(shù)值;若成立,則判定手部的運(yùn)動(dòng)屬于平移類型操作,進(jìn)入步驟S5,若不成立,則判定手部的運(yùn)動(dòng)不屬于平移類型操作,進(jìn)入步驟S4。
[0041]優(yōu)選地,步驟S4包括:通過(guò)支持向量機(jī)算法,選用高斯核函數(shù)作為內(nèi)積和函數(shù)判斷手部的運(yùn)動(dòng)所屬的操作類型。
[0042]不屬于平移類型操作的手部運(yùn)動(dòng)可以是旋轉(zhuǎn)操作或縮放操作,通過(guò)支持向量機(jī)算法(Support Vector Machine)作為進(jìn)一步判斷手部運(yùn)動(dòng)所述類型的分類器,同時(shí)選用高斯核函數(shù)(Radial Basis Function)作為內(nèi)積核函數(shù),進(jìn)行多類模式識(shí)別。從而在對(duì)旋轉(zhuǎn)和縮放對(duì)應(yīng)的手勢(shì)進(jìn)行識(shí)別時(shí),還能夠?qū)⒏髯詫?duì)應(yīng)的歸位類動(dòng)作列入?yún)^(qū)分范疇,即分類數(shù)是有效手勢(shì)類型的兩倍。
[0043]優(yōu)選地,在步驟S3之前還包括:對(duì)特征參數(shù)進(jìn)行幀間平滑處理。
[0044]通過(guò)幀間平滑處理,可以保證用戶通過(guò)手勢(shì)操作進(jìn)行三維操作過(guò)程中,模型連貫且穩(wěn)定地變化,使用戶能夠更直接和自然地操作三維物體。
[0045]優(yōu)選地,在步驟S3之前還包括:對(duì)特征參數(shù)進(jìn)行有效性過(guò)濾。
[0046]由于用戶手部執(zhí)行的運(yùn)動(dòng)中,可能存在部分錯(cuò)誤操作,這些操作在手勢(shì)庫(kù)并不存在對(duì)應(yīng)的目標(biāo)操作,因此對(duì)于提取出的多個(gè)特征參數(shù),其中存在明顯偏差的特征參數(shù)可以直接過(guò)濾掉,從而避免在判斷手部運(yùn)動(dòng)對(duì)應(yīng)的操作類型時(shí)進(jìn)行不必要的分析。
[0047]優(yōu)選地,還包括:S6,過(guò)濾目標(biāo)操作中的重復(fù)執(zhí)行操作,并執(zhí)行過(guò)濾后的操作。
[0048]在分析出手部運(yùn)動(dòng)對(duì)應(yīng)的操作類型后,對(duì)于旋轉(zhuǎn)和縮放操作,由于通過(guò)支持向量機(jī)算法進(jìn)行多類模式識(shí)別后,得到分類數(shù)是有效手勢(shì)類型的兩倍。比如用戶手部對(duì)操作模型執(zhí)行旋轉(zhuǎn)操作,向左旋轉(zhuǎn)90°,由于用戶執(zhí)行操作后習(xí)慣將手部復(fù)位以進(jìn)行下一步操作,那么在復(fù)位過(guò)程中,還會(huì)檢測(cè)到用戶手部向右旋轉(zhuǎn)90°,即有效手勢(shì)類型為向左旋轉(zhuǎn),同時(shí)還存在與之對(duì)應(yīng)的無(wú)效操作類型向右旋轉(zhuǎn),因此需要對(duì)無(wú)效操作類型進(jìn)行過(guò)濾,使得用戶執(zhí)行的控制操作更加準(zhǔn)確、有效。
[0049]優(yōu)選地,步驟S2包括:通過(guò)Leap Motion體感控制器實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù)。
[0050]可以通過(guò)Leap Motion來(lái)進(jìn)行手部運(yùn)動(dòng)的采集,提高采集精度,也可以將上述操作應(yīng)用于Leap Motion,從而為L(zhǎng)eap Motion提供6各自由度的控制以及縮放操作,便于用戶通過(guò)Leap Motion執(zhí)行更加準(zhǔn)確和靈活地三維控制。
[0051]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別裝置的框圖。
[0052]如圖2所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)識(shí)別裝置10包括:存儲(chǔ)單元11,用于將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù);采集單元12,用于實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提??;判斷單元13,用于根據(jù)提取出的特征參數(shù)判斷手部的運(yùn)動(dòng)是否屬于平移類型操作;計(jì)算單元14,用于在判斷單元判定手部的運(yùn)動(dòng)不屬于平移類型操作時(shí),通過(guò)預(yù)設(shè)算法確定手部的運(yùn)動(dòng)所屬的操作類型;查詢單元15,用于根據(jù)操作類型,在手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)特征參數(shù)在相應(yīng)類型的操作中確定目標(biāo)操作。
[0053]本發(fā)明還提出了一種Leap Motion體感控制系統(tǒng),包括上述手勢(shì)識(shí)別裝置10。[0054]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的手勢(shì)庫(kù)中手勢(shì)操作的示意圖。
[0055]如圖3所示,手勢(shì)庫(kù)中可以包含單手操作和雙手操作,具體分為三類,包括平移操作、旋轉(zhuǎn)操作和縮放操作,其中,平移操作又可以具體分為沿X軸平移,沿Y軸平移和沿Z軸平移,在X軸、Y軸、Z軸構(gòu)成空間直角坐標(biāo)系的情況下,上述操作相當(dāng)于左右移動(dòng)、上下移動(dòng)和前后移動(dòng);旋轉(zhuǎn)操作又可以具體分為繞X軸旋轉(zhuǎn)、繞Y軸旋轉(zhuǎn)、繞Z軸旋轉(zhuǎn),在X軸、Y軸、Z軸構(gòu)成空間直角坐標(biāo)系的情況下,上述操作相當(dāng)于向上/下旋轉(zhuǎn)、向左/右旋轉(zhuǎn)和順/逆時(shí)針旋轉(zhuǎn);縮放操作又可以具體分為放大操作和縮小操作。
[0056]通過(guò)為L(zhǎng)eap Motion提供包含如圖3所示的19種手勢(shì)操作的手勢(shì)庫(kù),使得用戶可以通過(guò)Leap Motion執(zhí)行6個(gè)自由度的控制和縮放操作,便于用戶通過(guò)Leap Motion進(jìn)行更加全面、準(zhǔn)確地控制操作,易于Leap Motion的擴(kuò)展。
[0057]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的進(jìn)行手勢(shì)識(shí)別的示意圖。
[0058]如圖4所示,在通過(guò)支持向量機(jī)算法(圖4中簡(jiǎn)稱SVM)作為進(jìn)一步判斷手部運(yùn)動(dòng)所述類型的分類器之前,需要對(duì)手部的運(yùn)動(dòng)進(jìn)行一定的訓(xùn)練,經(jīng)過(guò)訓(xùn)練后即可采用支持向量機(jī)算法對(duì)非平移類型的操作進(jìn)行進(jìn)一步分析。
[0059]其中第一次分類操作即判斷出用戶手部運(yùn)動(dòng)哪些屬于平移類型,哪些屬于非平移類型,對(duì)于平移類型的手部運(yùn)動(dòng),可知直接進(jìn)行后置處理得到輸出,進(jìn)行具體地控制,而對(duì)于非平移類型的手部運(yùn)動(dòng),則需要通過(guò)支持向量機(jī)算法進(jìn)行進(jìn)一步分類。
[0060]通過(guò)采用本發(fā)明所公開的技術(shù)方案,能夠構(gòu)建適用于Leap Motion的三維模型操作手勢(shì)庫(kù),以及相應(yīng)的手勢(shì)識(shí)別方法,并提高手勢(shì)識(shí)別的準(zhǔn)確率,保證三維操作中模型變換的連貫性和穩(wěn)定性。
[0061]雖然結(jié)合附圖描述了本發(fā)明的實(shí)施方式,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。
【權(quán)利要求】
1.一種手勢(shì)識(shí)別方法,其特征在于,包括: S1:將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù); S2:實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提??; S3:根據(jù)提取出的特征參數(shù)判斷所述手部的運(yùn)動(dòng)是否屬于平移類型操作,若屬于平移類型操作,進(jìn)入步驟S5,若不屬于平移類型操作,進(jìn)入步驟S4 ; S4:通過(guò)預(yù)設(shè)算法確定所述手部的運(yùn)動(dòng)所屬的操作類型; S5:根據(jù)所述操作類型,在所述手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)所述特征參數(shù)在所述相應(yīng)類型的操作中確定目標(biāo)操作。
2.根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于,所述手勢(shì)庫(kù)包含單手和/或雙手手勢(shì)操作,且所述單手和/或雙手手勢(shì)操作包括沿三個(gè)軸中任一軸的平移操作,繞所述三個(gè)軸中任一軸 的旋轉(zhuǎn)操作,以及繞所述三個(gè)軸中任一軸的縮放操作,其中,所述三個(gè)軸中的任意兩個(gè)軸互相垂直。
3.根據(jù)權(quán)利要求1所述手勢(shì)識(shí)別方法,其特征在于,所述步驟S2還包括: S21,以幀數(shù)據(jù)的形式輸入采集到的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述手勢(shì)識(shí)別方法,其特征在于,所述步驟S2包括: S22:對(duì)輸入的幀數(shù)據(jù)進(jìn)行特征提取,得到特征參數(shù)STX、STy, STz, Nx、Ny、Nz、Dx、Dy、Dz、DTx> DTy> DTZ、rt、pt,其中, STX、STy、STz分別為當(dāng)前幀與上一幀間,所述手部沿χ軸、y軸、z軸平移的距離差; Nx、Ny、Nz分別為所述手部在當(dāng)前幀中沿χ軸、y軸、z軸的法向向量; Dx、Dy、Dz分別為當(dāng)前幀中所述手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量;DTx, DTy, DTz分別為當(dāng)前幀與上一幀間,所述手部的掌心到指尖的方向向量沿χ軸、y軸、z軸的向量差,其中,所述手部的所有指尖指向同一方向,所述χ軸、y軸、z軸中的任意兩個(gè)軸互相垂直; rt為當(dāng)前幀與上一幀間歐拉角的橫滾角的差值; Pt為當(dāng)前幀與上一幀間歐拉角的俯仰角的差值。
5.根據(jù)權(quán)利要求4所述手勢(shì)識(shí)別方法,其特征在于,所述步驟S3包括:判斷 Ny<A 且 100 (rt2+pt2)〈B 是否成立,其中,A和B分別為第一預(yù)設(shè)常數(shù)和第二預(yù)設(shè)常數(shù); 若成立,則判定所述手部的運(yùn)動(dòng)屬于平移類型操作,進(jìn)入所述步驟S5,若不成立,則判定所述手部的運(yùn)動(dòng)不屬于平移類型操作,進(jìn)入所述步驟S4。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述手勢(shì)識(shí)別方法,其特征在于,所述步驟S4包括: 通過(guò)支持向量機(jī)算法,選用高斯核函數(shù)作為內(nèi)積和函數(shù)判斷所述手部的運(yùn)動(dòng)所屬的操作類型。
7.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述手勢(shì)識(shí)別方法,其特征在于,在所述步驟S3之前還包括:對(duì)所述特征參數(shù)進(jìn)行幀間平滑處理。
8.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述手勢(shì)識(shí)別方法,其特征在于,在所述步驟S3之前還包括:對(duì)所述特征參數(shù)進(jìn)行有效性過(guò)濾。
9.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述手勢(shì)識(shí)別方法,其特征在于,還包括: S6,過(guò)濾所述目標(biāo)操作中的重復(fù)執(zhí)行操作,并執(zhí)行過(guò)濾后的操作。
10.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述手勢(shì)識(shí)別方法,其特征在于,所述步驟S2包括:通過(guò)Leap Motion體感控制器實(shí)時(shí)采集所述手部的運(yùn)動(dòng)數(shù)據(jù)。
11.一種手勢(shì)識(shí)別裝置,其特征在于,包括: 存儲(chǔ)單元,用于將用于控制三維物體的多個(gè)手勢(shì)操作存儲(chǔ)至手勢(shì)庫(kù); 采集單元,用于實(shí)時(shí)采集手部的運(yùn)動(dòng)數(shù)據(jù),對(duì)采集到的數(shù)據(jù)進(jìn)行特征提取; 判斷單元,用于根據(jù)提取出的特征參數(shù)判斷所述手部的運(yùn)動(dòng)是否屬于平移類型操作;計(jì)算單元,用于在所述判斷單元判定所述手部的運(yùn)動(dòng)不屬于平移類型操作時(shí),通過(guò)預(yù)設(shè)算法確定所述手部的運(yùn)動(dòng)所屬的操作類型; 查詢單元,用于根據(jù)所述操作類型,在所述手勢(shì)庫(kù)中查詢相應(yīng)類型的操作,根據(jù)所述特征參數(shù)在所述相應(yīng)類型的操作中確定目標(biāo)操作。
12.—種Leap Motion體感控制系統(tǒng),其特征在于,包括如權(quán)利要求11所述的手勢(shì)識(shí)別裝直。
【文檔編號(hào)】G06F3/01GK104007819SQ201410188979
【公開日】2014年8月27日 申請(qǐng)日期:2014年5月6日 優(yōu)先權(quán)日:2014年5月6日
【發(fā)明者】徐昆, 潘佳佳 申請(qǐng)人:清華大學(xué)