手势识别

计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。手势识别可以来自人的身体各部位的运动,但一般是指脸部的运动。目前面部表情识别及手势识别成为研究热点。大多数方法采用相机基于计算机视觉算法解释手語。然而,识别人的姿势,步态,行为也是手势识别的一个分支。手势识别可以认为是让计算机理解人体肢体语言的一种手段,因此,人机交互不仅仅是文字接口或者用鼠标键盘控制的用户图像界面,会有更多丰富的途径。

建模方法

根據輸入資料的類型,需要利用不同的方法建構手勢模型。

三維模型

三維模型是將物體表示為三維多邊形,利用大量的點和線條完整地描述物體表面。三維模型目前廣泛應用在動畫產業與電腦視覺的領域。

此方法建構出的模型精細度較高,但需要大量的計算,因此有一個簡化的方法是將人體的重點部位以簡單的物件表示,例如用圓柱體表示手臂、用球體表示頭部,如此便能用簡單的參數描述模型。

骨架模型

由於三維模型需要大量的參數,另一個簡化的版本是將實體用骨架來描述。骨架模型利用關節的角度與每個分節的長度做為參數,因此大幅減少了計算量。

骨架模型具有下列優點:

  • 需要的參數量較少,因此計算較快。
  • 可以和骨架的模板資料庫做比對,以辨識手勢類型。
  • 由於只用關鍵的點來描述模型,因此可以抽取出手部的重要特徵點。

外觀模型

如果輸入的資料是二維的影像,則必須使用外觀模型來描述物體特徵。外觀模型可以是物體的輪廓、原始的影像,或由影像抽取出的特徵。

手部追蹤

在動態系統中,需要對手部進行追蹤。常用的一種方法是粒子濾波器,藉由在每個時間點遞迴地得到物體狀態的後驗機率,而估計出物體的位置。

手勢辨識

在得到手部模型後,要利用這些資訊辨識出手勢。常用的方法是在辨識之前,先取得大量的訓練資料,建立各種手勢的資料庫,利用機器學習,訓練出能夠辨識手勢的模型,實際運用時,再將測試資料輸入模型,便能得到辨識結果。手勢辨識常用的機器學習方法有:

参见

參考文獻

  1. Ivan Laptev and Tony Lindeberg, "Tracking of Multi-state Hand Models Using Particle Filtering and a Hierarchy of Multi-scale Image Features", Proceedings Scale-Space and Morphology in Computer Vision, Volume 2106 of Springer Lecture Notes in Computer Science, pages 63-74, Vancouver, BC, 1999.
  2. L. Bretzner, I. Laptev and T. Lindeberg, "Hand gesture recognition using multi-scale colour features, hierarchical models and particle filtering." Proceedings of Fifth IEEE International Conference on Automatic Face Gesture Recognition, Washington, DC, USA, 2002, pp. 423-428.
  3. B. Stenger, A. Thayananthan, P.H. Torr, R. Cipolla, "Model-based hand tracking using a hierarchical Bayesian filter." IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(9):1372-84, Sep 2006.
  4. Gillian, Nicholas Edward, and Joseph A. Paradiso, "The gesture recognition toolkit." Journal of Machine Learning Research 15.1 (2014): 3483-3487.