劉瑜興,王淑俠,徐光耀,蘭望桂,何衛平
基于Leap Motion的三維手勢交互系統研究
劉瑜興,王淑俠,徐光耀,蘭望桂,何衛平
(西北工業大學機電學院,陜西 西安 710072)
手勢識別的快速發展及體感設備的不斷更新為三維手勢交互提供了靈感,基于Leap Motion手勢識別和最鄰近算法,建立了一種三維手勢交互系統。首先對手勢設計理論和交互手勢設計原則進行研究,基于此設計手勢功能和建立手勢庫,并將手勢庫分為8種手勢;其次進行手勢特征提取,建立手指關鍵點模型,獲取手勢特征的角度特征;然后計算KNN算法和SVM算法的手勢識別效率,KNN改進算法取得較好的識別效率;最后,設計三維交互系統,手勢分類為4個模塊,每個模塊有2個手勢任務;20名測試者中提取1 600組手勢數據,并進行總采集樣本關節點均值的數據分析;設計三維交互系統模塊,在Unity3D中創建的三維交互系統中導入1 600組手勢數據,根據自定義的8種手勢驅動虛擬手完成交互設計過程,完成用戶體驗分析和手勢識別效率統計。通過研究發現,基于Leap Motion手勢識別具有較高的識別效率,三維手勢交互系統富有創新性。
手勢識別;最鄰近算法識別;手勢交互設計;Leap Motion
隨著互聯網時代的到來,人機交互也應運而生。交互是指借助一定的載體進行信息交流,人機交互技術(human computer interaction,HCI)[1]指的是人通過一定的設備和計算機進行信息交流,人可以使用輸入設備給計算機輸入文字、語音等來發起請求,而計算機使用輸出設備給用戶顯示出信息來響應請求。目前,應用最為廣泛、技術最為成熟的人機交互方式依然是鍵盤與鼠標,其單一性使得人們對更高層次、更友好的人機交互方式提出需求。現階段人機交互新技術的研究內容主要集中在手勢識別、語音識別、人腦控制等方面。以人的手勢為研究對象,研究手勢交互方式。
手勢識別[2-14]是通過算法來識別人類手勢。手勢建模[15]對手勢識別也是很關鍵的,基于3D模型和基于表觀是常用的手勢建模方法。前者通過建立當前圖像的3D模型輔以相關參數來計算出手勢的狀態信息。
人手的動作分為有意識的和無意識的動作。手勢還可以分為操作型和通訊型手勢。手勢的分類早在40年代,心理學家QUEK[16]、PAVLOVIC等[17]從人機接口角度對手勢進行研究。在自然人機交互的領域里,KARAM和SCHRAEFEL[18]提出了手勢劃分可分為5類,即指示性手勢、示意性手勢、操作性手勢、信號性手勢和手語性手勢。
Leap Motion Controller定位手(hand)、手指(finger)和類似手指的工具(pointable),精確度達到0.01 mm。通過紅外LED對圖像進行光補償,雙高清攝像頭從不同位置拍攝得到高分辨率的立體紅外圖像,模擬人類的雙目立體視覺[19]進行手勢位置判Leap Motion Controller定位手(hand)、手指(finger)和類似手指的工具(pointable),使用的測量方法稱作三角測量法[20]。Leap Motion拆開內部構件如圖1,圖2為Leap Motion的工作范圍,呈倒金字塔狀,圖3為Leap Motion坐標系。

圖2 Leap Motion工作范圍

圖3 Leap Motion坐標系
手勢設計需遵循手語識別設計理論和手勢設計原則。手語識別主要由數據獲取、特征表示和分類識別構成整體流程。常見的特征提取分為軌跡特征和手形特征,軌跡特征主要用來采集手的角度、加速度、位置等信息,進行手勢特征提取,然后進行手勢識別。手勢設計原則主要包括用戶方面、交互過程和交互系統。通過對手勢理論的研究,結合手勢設計原則,從而進行手勢定義。
(1) 手勢設計原則[21]。主要體現在用戶方面、交互過程和交互系統(表1)。①用戶方面,手勢設計的最終目的是為了用戶操作方便,所以,設計符合用戶使用的手勢;以用戶的同理心和用戶行為研究角度出發,符合用戶認知行為,避免過多的學習,應增加對用戶的指導,避免用戶操作失誤;對于用戶來說,操作簡單方便、直觀自然,符合用戶常用習慣;并在手勢操作中體驗快樂。②交互過程,保證手勢設計的交互流暢和降低疲勞。③交互系統,簡化手勢設計和手勢設計的系統性,保證手勢設計風格的統一性和功能交叉少。④及時反饋,在用戶操作的過程中,計算機系統應對用戶的行為及時進行多種反饋提示,這樣方便用戶進行操作。

表1 手勢設計原則
(2) 根據手勢設計原則,進行裸手手勢設計。手勢識別分為靜態和動態2類,手勢識別主要基于三維人機交互的情況下進行手勢識別。本文主要構建了8種手勢(表2):復制、選中、移動、貼圖、放大、旋轉、刪除和完成。

表2 手勢設計類別