• 沒有找到結果。

3-4-2 Poses 動作姿勢辨識

在文檔中 中 華 大 學 碩 士 論 文 (頁 36-42)

由於身體的姿勢及所坐落的位置點會使得身體呈現一個姿勢 ; 更具體的說,這 個姿勢也會使得身體各個關節點產生相對的位置與角度。當然,姿勢類型與複雜度决 定了識别算法的複雜性。本論文手勢動作姿勢辨識是藉由手勢是否通過或碰觸到命中 測試區、是否符合相關關節點的角度及通過一定的程序測試來進行姿勢辨。

本論文參考 Begin Kinect Programming with the Microsoft Kinect SDK 文獻[22]

實作四種程序加上角度進行手勢比對與辨識及命中區命中測試。

(1)角度計算的依據原理:

骨架追踪引擎能夠識別 20 個關節點數據。而任何三個關節點就可以組成一個三 角形。使用三角幾何就可以計算出他們之間的角度。

實際上我們只需要根據兩個關節點即可繪製一個三角形,第三個點有時候可以這兩個 關節點來決定的。知道每個節點的坐標就可以計算每個邊長的值。然後使用餘弦定理 就可以計算出角度了。公式如下圖:

圖 3-6 角度計算的依據原理

為了使用關節點三角形方法來識別姿勢及簡化計算; 當測試者站得很直的時候,可以 發現,測試者肩部和肘是在一條線上並且和地面平行,手腕與肘部與胳膊垂直。這樣 的姿勢,很容易就形成一個直角或者銳角三角形。並進而可以使用上面所說的方法計 算三角形的每一個角度。

26

圖 3-7 論文中程式角度計算實作部分

當我取得了每個手部的關節座標時,我就利用這些座標以及圖 3-7 的程式來計算我所 想要的角度。

27 (2) 動作姿勢辨識程序庫

動作姿勢辨識程序庫建於系統中的內容範例:

圖 3-8 姿勢辨識程序庫

(3) 藉由骨架資訊擷取讓虛擬角色呈現示範姿勢

以下是藉由程式透過Microsoft Kinect SDK 能追蹤人體20個點的特性,將其骨架 關節距離深度感應器的XYZ的距離擷取出來,並為了計算方便,將其轉換為螢幕上的 XY平面座標,下圖即為了建立示範姿勢擷取骨架資訊螢幕上的XY平面座標的操作畫 面:

28

圖 3-9 擷取虛擬角色所需的骨架資訊

隨後將取得的螢幕關節座標資訊存起來做為建構摹擬示範姿勢的根據,如下所示 :

圖 3-10 Excel 中顯示的虛擬角色骨架資訊

29

並在程式中內建此資訊,作為示範姿勢展示之用。

圖 3-11 程式中植入虛擬角色骨架資訊 再透過程式中所建立的 Storyboard, 於操作互動中展現出來 : 如下圖的左邊下面部分:

30

圖 3-12 遊戲執行時顯現虛擬角色資訊

(4) 比對成功判定原則

比對成功判定原則是測試者的手勢相關關節點的角度需符合系統要求的四個條 件, 才會進行下一個 Level 的姿勢比對。 若比對一直不成功,則因系統內建有 Timer,

當設限時間終了,系統就會回到 Game Ove。操作者可以重新選是否要繼續進行測 試。

31

在文檔中 中 華 大 學 碩 士 論 文 (頁 36-42)

相關文件