您的位置:首页 > 其它

通过深度图实时鲁棒地识别手势 - Realtime and Robust Hand Tracking from Depth

2015-09-04 19:18 399 查看

通过深度图实时鲁棒地识别手势 - Realtime and Robust Hand Tracking from Depth

通过深度图实时鲁棒地识别手势 - Realtime and Robust Hand Tracking from Depth
Preface

摘要

正文
介绍

模型和成本函数

ICP-PSO 局部最优算法

通过hand initialization发现手指

实验证明

Conclusion

图例

Preface:

因为之前并没有明确的方向,所以看关于人工智能的paper和书籍总是没有焦点,精力也很分散,虽然每篇看完后都很有程序猿内心深处
改变世界然后让所有甜点都免费!
的冲动( = = 好像暴露了什么不过不要在意细节啦~~~),但是因为要开始准备手势识别方向的论文了,所以在一位活宝老师的推荐下读到了这篇paper,想翻译的原因主要是为了纪念终于
开始要进入研读paper的时代了么?!
这样的心情吧~

原文中有很多引用论文的链接,但是因为我比较懒,这里就不在文中显示了

原文链接:Realtime and Robust Hand Tracking from Depth

摘要

使用工具为笔记本上25帧每秒(FPS)的摄像头(深度传感器),没有使用GPU,系统误差在10mm以内。
在本系统中,除了达到了对真实数据的精确识别和快速的成本函数(cost function)之外,为了使结果更好,我们的系统使用了原创的一些思想和算法。


正文

1. 介绍

虽然手势识别已经发展了很多年,不过因为手部运动很快而且一般的识别非常复杂,所以现实应用中的识别效果并不理想。

以下是一些现有的成果:

网格识别:识别花销很大,而且结果只能保证局部最优

实时全局搜索最优:因为设定很麻烦(需要带上彩色手套),而且需要过多个摄像头同时工作

其他的识别方法设定太死,或者只能在一个固定视角下进行识别,所以也有局限性

之后作者将他们的系统定义为”state-of-the-art”(当世最好的…果然有程序猿大牛的风范)

2. 模型和成本函数

Hand Model.
为了表示动态的手部姿势,我们借鉴了通用的26自由度(DOF)的模型:整体手部6个、每个手指4个,可见于 Figure 1 (a).。这26个自由变量整体表示为Θ.

鉴于简单几何模型对于表示动态物体的有效性,我们使用球形结构来组成手.我们借鉴了多边形网格模型,使用48个球来表示手部,见于图Figure 1 (b) 和 (c).各对象表示如下:



cost function 表示及各部分含义如下:









由实验证明该成本函数处理速度很快,可以适应实时处理的要求

3. ICP-PSO 局部最优算法

原文先解释了什么是ICP还有PSO,以及他们的优缺点,个人理解是这样的:pso适合飞过整个取值区间,icp适合在pso找到区域最佳的大概位置的时候进行精确查找,然后文中说这两个算法适合天生搅基就放一起了:



给出的算法伪代码:



之后用实验例证了这一想法。(见于Figure 3)

4. 通过hand initialization发现手指

已经证明了如果只通过最后一帧图像进行tracking是不robust的,因为这样每一帧都要re-initialization,我们使用了一种简单直观的几何视角来进行 hand initialization而非通过学习。

Finger Detection:
我们通过X-Y平面以及Z轴来观察,而非通过3D模型,Z轴的极值点一般来讲就是手指指尖,而与X-Y平面平行延伸的手指我们成为X-Y手指。我们通过先找到的第一个极值点作为mask center,在distence map上不断增加极值点,确定连续的segment,如论文[A.Baak, M.Muller, G.Bharaj, H.P.Seidel, and C.Theobalt. A datadriven approach for real-time full body pose reconstruction from a

depth camera. In ICCV, 2011.]。之后判断这些segment的长宽是否和符合手的尺度,共寻找六次,包括手指和手腕。

在进行Z轴方向的手指的识别时,先通过极值点判断指尖位置,在3倍该ring的范围内,density最大的60度的范围内是手指的延伸方向,见于Figure 3.确认的方法是,在这个大的ring当中,有>90%的desity。

Hand Initialization:
通过PCA的方法,使用观测到的几个节点来确定手部动作,通过文中的理论,可以得到5f +3 constraints(f代表X-Y手指个数),然后可以解决未知数为2f + 6的问题。(f<=5)

5. 实验证明:

因为无关原理,所以我就直接贴原文出来了,大家看看后边的结果图也可以大概明白.











6. Conclusion:



图例



















内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息