手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(二)

论文细节

手势识别或者说手的跟踪在人机交互中非常重要,已经有几十年的研究。但是它存在的难点还是很多的:手的动作是由很多的复杂的手指的活动构成的,同时,在可变的大视角下面的快速移动。

目前做出来比较好的效果的做法有几种,一种使用了非常复杂的网格模型(mesh model,具体不知道是怎么做的),但局限性在于它的局部最优的方法速度也很差;另一种则是采用多边形模型(polygonal model),可以达到实时的效果,但是需要GPU来处理。

以上提到的方法局部最优的方法,也就说一旦找到一个局部最优值的话就不能从跟踪的错误当中恢复过来了。

于是也有一些全局的方法,在整个参数空间里面搜索。但是这样明显速度是相当的慢的。同时也是经常得到比较差的结果。有的方案采用了全局的参数搜索加上局部最优的方式。但是采用了一些的辅助设备,比如说,彩色手套,多摄像头等等!还有一些方法只能解决自由度(DOFs)比较低的情况。或者需要在固定的视角下面。

但是这篇文章在复杂的情况下也能够得到很高的准确率。可以说是目前最好的方法。

核心:

采用的基本的框架是:Local Optimization + Initialization by Part Detection 的框架;采用的手的模型是:利用一组的球状体来近似手的模型;采用一个非常快的代价函数(Cost Function)来衡量模型和稀疏的点云之间的距离。

所以需要重点理解的几个方面是:Hand Model, Hybird Optimization(这里作者综合了几种优化的方法的好处),Part Detection and Part_based Initialization,这里的Cost Function。

如上图所示,是手的Model。

上图(a)中所示,表示是手的运动模型(Hand Motion Model)。作者构建了一个26个维度(DOF ,degrees of freedom)的手的运动模型。其中:6个维度表示全局的手的姿势;其余的20个维度中,每个手指有4个维度。(其实我不太明白这个维度指的是什么)这26个运动参数用 θ 表示。

上图(b, c)中所示:表示的是手的几何模型,(b)是其他论文中用到的一个模板,(c) 则是用球形体对(b) 的一种估计。其中使用到了48个球形体:每个手指6个,但是大拇指有8个(图中我只看到7个),其余的16个表示手掌。同时再加上先验的球的Size以及他们的中心。就构成了手的几何模型。

这个几何模型这样的来表示:,对于每一个球体:;其中,c(θ)表示的是是它的中心(有的时候为了简洁,不写θ)【这里有点不能理解,中心和上面的26个维度上面关系】,r表示的是半径,是固定的。

文中的Data这部分没怎么看懂,大概是说用Intel的那个摄像头得到了深度的信息。同时还是用了黑色的带子裹住了手腕,以便于能够准确的找到手的区域,然后在对于这个手的区域进行中值滤波,和形态学的开运算(先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。)然后得到得到一个深度Map D,然后将它转换到3D的点云上面,表示为P)

Hybird Optimization

我们首先要初始化一个手势(不管是从上一帧还是当前帧),然后就可以通过对方程(1)的局部优化的方法对手势进行跟踪。对于这种点模型的优化问题,一般采用的是:ICP(Iterated Closest Point)的方法。

手的初始化:

这里他们提出了一种简单的,鲁棒的方法来初始化。f表示检测到的手指,假设检测到的手指就是直的(自由度为2),没有检测到的手指就是弯的(自由度为0).这样一个手势的参数就是:2f + 6 DOFs。表示为θ’ 。

随机的初始化一些手势,从里面获得最优的参数。

同时 作者也说了对于复杂的手势来说,这种方法效果还是不是很好。但是这已经是现在最好的方法了。

总结:

这篇文章通过Intel的Gesture Camera获得深度图像,然后将其转化3D Point cloud。引入Cost Function。 然后检测手指的位置(使用了2D+ 1D的表示方法),通过检测到的手指的位置给手势的初始化形成约束,由此通过ICP-PSO的算法来优化Cost Function方程得到最优解作为得到的手势的结果,由自己定义的48球模型进行实时的匹配。

接下来将会详细的分析里面的Cost Function还有里面的算法。

本小节完。

时间: 2025-01-15 03:09:40

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(二)的相关文章

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth

本文介绍的方法主要是用到了深度信息.提出了一种新的手指检测以及手型初始化的方法.具有很好的鲁棒性.在不使用GPU的情况下,速度就可以达到25FPS.准确率还相当的高.可以说是现在手势识别中最好的方法了. 当前的很多方法要不就是很慢,要不就是使用了GPU,再或者就是需要非常复杂的初始化.而本文提出的方法重新定义了手势的模型,结合了现在通用的两种方法的优势,并且加上一个约束方程,得到了很好的效果. 1.模型的重新定义 每一只手,定义了一个自由度(DOF)为26 的手的模型,其中的6个自由度代表全局的

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(三)Cost Function

iker原创.转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/39050619 Realtime and Robust Hand Tracking from Depth中的Cost Function 学习 首先,我们应该知道,输入的数据是什么:3D 点云数据. 3D点云给我的感觉应该是这种 输出的是:拟合好的手模型(48球体模型). 而这里的的3D 点云数据用p表示,每个球体用Sx 表示. Ci 第i个球体的中心:D表示深度图( 区分还

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(四)Hand Initialization

论文阅读原创,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/39251373 在多次的阅读这篇论文以后才明白文章的结构为什么这样安排:将Hand Initialization这部分放在文章的所有的优化算法的最后,说明整个算法即便是不要这一部分的优化也是可以的.我们从文章中的Table 2可以看到,不使用Hand Initialization得到的结果比使用到Initialization的结果差2mm.若是你对于最终的结果要求不是很高的

手势跟踪论文学习:Realtime and Robust Hand Tracking from Depth(五)Hand Initialization 2

论文阅读原创,转载标明出处: 回顾: 上一节我们说到了,作者通过自己定义的X-Y Finger和 Z-Finger来进行手指的检测,然后来初始化Hand Pose.其实勒,手指经常都会死斜着的.也就是说不会是标准的X-Y Finger和或者Z-Finger.那作者是如何的处理的勒? 手指的检测: 对于手指的检测,先进行X-Y Finger的检测.然后分割出去:再进行Z-Finger的检测.但是如果再进行Z-Finger的检测的时候,触及到X-Y Finger的分割区域以后就停止,不再检测了. 为

【论文学习记录】PTAM:Parallel Tracking and Mapping for Small AR Workspaces

论文地址:链接: http://pan.baidu.com/s/1kTAcP8r 密码: djm4 这是一篇可手持单目相机进行定位与制图方法的文章.它与传统slam的方法不一致的地方在于将定位跟踪与制图分离出了两个单独过程. 双线程机制: 一个线程用于鲁棒跟踪手持相机运动,另一个线程用于从之前观测到的视频帧中产生三维地图点特征 .  系统允许batch techniques复杂的计算,但不在实时操作下.. 这篇文章的研究目的是:  不需要任何模板与初始目标,跟踪校正的手持相机,并且绘制环境地图.

学习OpenCV——hand tracking手势跟踪

这几日,岛上风云突变,我这个倒霉孩子终究木有躲过感冒的魔掌,中枪鸟~~~ 这几天只写了个简单的手势跟踪的代码. 原理是:背景差分+肤色检测. 背景差分:取前30帧图像取平均值,计算前30帧之差的和,再求均值.在背景平均值上下浮动的阈值之外的被检测出来. 肤色检测:利用YCrCb空间. 两个结果相与操作. 这种方式的优点:1.有效解决了肤色检测结果中总是检测到人脸的情况: 2.解决背景差分检测结果杂乱的情况: 缺点:背景要求相对稳定,反差越大越好,鲁棒性差. 注意事项:差分法由于涉及到累加图像,编

【 论文学习记录】A flexible and scalable slam system with full 3d motion estimation 一种灵活可扩展带有3D运动估计的slam系统

A flexible and scalable slam system with full 3d motion estimation   论文学习记录 这篇论文系统框架,栅格多阈值,更新同步与伪数据,扫描匹配起始点,协方差交叉融合的思想还是值得借鉴的. 摘要 关注于搜救机器人建图定位与导航的框架性文章. 低计算资源的在线快速获取栅格地图: 结合鲁棒的激光扫描匹配方法和惯性传感器姿态估计系统. 快速地图梯度近似与多分辨率(类似图像金字塔)栅格地图,精确而不需要闭环检测. 介绍 2D slam 子系

基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)

转自网络:http://blog.csdn.net/zouxy09/article/details/17913745 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统) [email protected] http://blog.csdn.net/zouxy09 一年多前开始接触计算机视觉这个领域的时候,年幼无知,倍感吃力.当年惶恐,从而盲从.挣扎了不少时日,感觉自己好像还是处于领域的门外汉一样,在理论与实践的鸿沟中无法挣脱,心里空落落的.在这种挥之不去的烦忧中,某个时候豁然开朗,觉

Bootstrap快速学习笔记(1)排版系列之二

欢迎收看大奥编写的Bootstrap快速学习笔记(1)排版系列之二 本学习笔记根据[慕课网]教程修改而来,用它学习Bootstrap,将会带来全新的体验哦: 表格 表格行的类 详细介绍 表格表格是Bootstrap的基础组件之一,有一个基础样式和四个附加样式以及一个响应式样式,全部通过class类来实 现,.table:基础表格,这是无论哪种类型的表格都必不可少的类:.table-striped:斑马线表格,更具可读性:.table- bordered:带边框的表格:.table-hover:鼠