手勢識別的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于人機交互技術(shù)領(lǐng)域,尤其涉及一種手勢識別的方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著信息技術(shù)的發(fā)展,人機交互活動逐漸成為人們?nèi)粘I钪械囊粋€重要組成部 分。鼠標(biāo)、鍵盤、遙控器等傳統(tǒng)的人機交互設(shè)備在使用的自然性和友好性方面都存在一定的 缺陷,因此用戶迫切希望能通過一種自然而直觀的人機交互模式來取代傳統(tǒng)設(shè)備單一的基 于按鍵的輸入和控制方式。
[0003] 現(xiàn)有基于手勢識別的人機交互模式由于其自然性、直觀性、簡潔性等特點,被應(yīng)用 的越來越廣泛。然而,雖然現(xiàn)有基于手勢識別的人機交互模式對特定的靜態(tài)手勢具有較高 的識別率,但是該手勢識別只能在手勢結(jié)束之后進(jìn)行識別,影響了手勢識別的實時性。
【發(fā)明內(nèi)容】
[0004] 鑒于此,本發(fā)明實施例提供一種手勢識別的方法及系統(tǒng),以實現(xiàn)手勢的實時識別, 并提尚手勢識別的正確率。
[0005] 第一方面,本發(fā)明實施例提供了一種手勢識別的方法,所述方法包括:
[0006] 當(dāng)檢測到手勢起始坐標(biāo)時,記錄從所述手勢起始坐標(biāo)開始的運動軌跡信息;
[0007] 從所述運動軌跡信息中提取固定特征信息;
[0008] 通過預(yù)設(shè)的手勢識別模型對所述固定特征信息進(jìn)行識別,并輸出識別結(jié)果;
[0009] 判斷所述識別結(jié)果中是否存在錯誤識別的樣本;
[0010] 若存在,從所述錯誤識別的樣本中提取特定特征信息;
[0011] 通過所述預(yù)設(shè)的手勢識別模型對所述特定特征信息進(jìn)行識別,并輸出識別結(jié)果。
[0012] 第二方面,本發(fā)明實施例提供了一種手勢識別的系統(tǒng),所述系統(tǒng)包括:
[0013] 手勢數(shù)據(jù)采集模塊,用于當(dāng)檢測到手勢起始坐標(biāo)時,記錄從所述手勢起始坐標(biāo)開 始的運動軌跡信息;
[0014] 固定特征提取模塊,用于從所述運動軌跡信息中提取固定特征信息;
[0015] 第一識別模塊,用于通過預(yù)設(shè)的手勢識別模型對所述固定特征信息進(jìn)行識別,并 輸出識別結(jié)果;
[0016] 判斷模塊,用于判斷所述識別結(jié)果中是否存在錯誤識別的樣本;
[0017] 特定特征提取模塊,用于在所述判斷模塊判斷結(jié)果為是時,從所述錯誤識別的樣 本中提取特定特征信息;
[0018] 第二識別模塊,用于通過所述預(yù)設(shè)的手勢識別模型對所述特定特征信息進(jìn)行識 另IJ,并輸出識別結(jié)果。
[0019] 本發(fā)明實施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實施例通過采集手勢數(shù) 據(jù),提取固定特征信息以及特定特征信息,通過手勢識別模型對所述固定特征信息以及特 定特征信息進(jìn)行識別,獲得識別結(jié)果。由于所述手勢識別模型可根據(jù)所述固定特征信息以 及特定特征信息識別手勢,從而不需要手勢完成后再進(jìn)行識別,實現(xiàn)了手勢識別的實時性。 另外,在第一次識別后,通過檢測錯誤樣本,提取錯誤樣本中的特定特征信息以及對所述特 定特征信息進(jìn)行二次識別,可有效改進(jìn)現(xiàn)有手勢誤識別的問題,極大的提高手勢識別的正 確率,具有較強的易用性和實用性。
【附圖說明】
[0020] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。
[0021] 圖1是本發(fā)明實施例提供的手勢識別方法的實現(xiàn)流程示意圖;
[0022] 圖2是本發(fā)明實施例提供的建立三維坐標(biāo)系的示意圖;
[0023] 圖3是本發(fā)明實施例提供的計算方向角的示意圖;
[0024] 圖4是本發(fā)明實施例提供的手勢區(qū)域劃分的示例圖;
[0025] 圖5是本發(fā)明實施例提供的手勢識別系統(tǒng)的組成結(jié)構(gòu)示意圖。
【具體實施方式】
[0026] 以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結(jié)構(gòu)、技術(shù)之類的具 體細(xì)節(jié),以便透切理解本發(fā)明實施例。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,在沒有這些具體 細(xì)節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電 路以及方法的詳細(xì)說明,以免不必要的細(xì)節(jié)妨礙本發(fā)明的描述。
[0027] 為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進(jìn)行說明。
[0028] 請參閱圖1,為本發(fā)明實施例提供的手勢識別方法的實現(xiàn)流程,該手勢識別方法可 適用于各類終端設(shè)備,如個人計算機、平板電腦、手機等。該手勢識別方法主要包括以下步 驟:
[0029] 步驟S101,當(dāng)檢測到手勢起始坐標(biāo)時,記錄從所述手勢起始坐標(biāo)開始的運動軌跡 信息。
[0030] 在本發(fā)明實施例中,檢測手勢起始坐標(biāo)之前,需要建立與圖像輸入設(shè)備平行的三 維坐標(biāo)系。如圖2所示,以圖像輸入設(shè)備的中心為原點,圖像輸入設(shè)備所在的平面為XY(即 Z = 0)平面。其中,X軸平行于圖像輸入設(shè)備的長邊且指向屏幕正方向的右方,Y軸平行于 圖像輸入設(shè)備短邊且指向屏幕正方向的上方,Z軸垂直于XY平面且指向遠(yuǎn)離屏幕的方向。 通過建立好的三維坐標(biāo)系記錄手勢的運動軌跡信息。所述運動軌跡信息包括運動方向、運 動速度、運動軌跡坐標(biāo)等。
[0031] 進(jìn)一步的,本發(fā)明實施例還包括:
[0032] 設(shè)置采樣頻率(如每秒鐘采集15次),當(dāng)檢測到手勢的X、Y、Z坐標(biāo)低于某特定值 (在圖像輸入設(shè)備的檢測范圍內(nèi))且手勢的運動速度從零連續(xù)變化到某一閾值時,將運動 速度為零或者所述某一閾值時的運動軌跡坐標(biāo)作為所述起始坐標(biāo)。當(dāng)手勢的運動速度由另 一閾值連續(xù)變化到零時,將該運動速度為零時的運動軌跡坐標(biāo)作為所述終止坐標(biāo),即手勢 結(jié)束,停止數(shù)據(jù)采集,由此分割出一次完整的手勢。
[0033] 另外,需要說明的是,本發(fā)明實施例中完成手勢的媒介可以是人身體的一部分 (例如,手),也可以特定形狀的工具,例如制成手掌形狀的引導(dǎo)棒或者帶有傳感器的手套 等,在此不做限制。
[0034] 在步驟S102中,從所述運動軌跡信息中提取固定特征信息。
[0035] 具體的可以是,根據(jù)第一預(yù)設(shè)時間間隔,計算所述運動軌跡信息中相鄰運動軌跡 坐標(biāo)之間的方向角;
[0036] 按照預(yù)設(shè)的方向角范圍與編碼值的對應(yīng)關(guān)系,對計算獲得的所述方向角進(jìn)行編碼 獲得編碼值;
[0037] 將獲得的所述編碼值進(jìn)行組合后獲得所述固定特征信息。
[0038] 在本發(fā)明實施例中,所述方向角由相鄰兩時刻的坐標(biāo)向量與X正軸按逆時針方向 所組成的角表示,如圖3所示。由于每個手勢都有一個主要的運動平面,這里默認(rèn)為X0Y平 面,為了表達(dá)方便,將所有手勢的運動軌跡信息投影到X0Y平面,則相鄰兩時刻的采樣點位 置分別為Pt (Xt,Yt,0)和Pt+1 (Xt+1,Yt+1,0),設(shè)方向角為0 t,則0亦計算過程如下:
[0040] 由計算過程可知,9 tG [0, 360),然后對方向角進(jìn)行量化編碼,將[0, 360)均分為 8份,即[0, 45)編碼為1,[45, 90)編碼為2, [90, 135)編碼為3,以此類推,[315, 360)編碼 為8。因此每個手勢都可以用1至8的數(shù)字編碼構(gòu)成,并將所述數(shù)字編碼按順序組合后作為 手勢的固定特征信息輸入到手勢識別模型中進(jìn)行訓(xùn)練。
[0041] 在步驟S103中,通過預(yù)設(shè)的手勢識別模型對所述固定特征信息進(jìn)行識別,并輸出 識別結(jié)果。
[0042] 在本發(fā)明實施例中,所述預(yù)設(shè)的手勢識別模型可以為隱馬爾科夫模型,所述隱馬 爾可夫模型由模型的隱狀態(tài)數(shù)、觀測值數(shù)、狀態(tài)轉(zhuǎn)移概率矩陣、觀測概率矩陣、初始狀態(tài)概 率矩陣和持續(xù)時間六個參數(shù)確定。
[0043] 示例性的,可以將采集的0~9的數(shù)字手勢和A~Z的字母手勢作為樣本集,每個 手勢取其中60%的數(shù)據(jù)用于模型訓(xùn)練(即取60%的數(shù)據(jù)