手势识别

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

建模方法

根据输入资料的类型,需要利用不同的方法建构手势模型。

三维模型

三维模型是将物体表示为三维多边形,利用大量的点和线条完整地描述物体表面。三维模型目前广泛应用在动画产业与电脑视觉的领域。

此方法建构出的模型精细度较高,但需要大量的计算,因此有一个简化的方法是将人体的重点部位以简单的物件表示,例如用圆柱体表示手臂、用球体表示头部,如此便能用简单的参数描述模型。

骨架模型

由于三维模型需要大量的参数,另一个简化的版本是将实体用骨架来描述。骨架模型利用关节的角度与每个分节的长度做为参数,因此大幅减少了计算量。

骨架模型具有下列优点:

  • 需要的参数量较少,因此计算较快。
  • 可以和骨架的模板数据库做比对,以辨识手势类型。
  • 由于只用关键的点来描述模型,因此可以抽取出手部的重要特征点。

外观模型

如果输入的资料是二维的影像,则必须使用外观模型来描述物体特征。外观模型可以是物体的轮廓、原始的影像,或由影像抽取出的特征。

手部追踪

在动态系统中,需要对手部进行追踪。常用的一种方法是粒子滤波器,借由在每个时间点递回地得到物体状态的后验几率,而估计出物体的位置。

手势辨识

在得到手部模型后,要利用这些资讯辨识出手势。常用的方法是在辨识之前,先取得大量的训练资料,建立各种手势的数据库,利用机器学习,训练出能够辨识手势的模型,实际运用时,再将测试资料输入模型,便能得到辨识结果。手势辨识常用的机器学习方法有:

参见

参考文献

  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.