Leap Motion颠覆操控体验的超精致手势追踪技术【转】

简介: 转自:http://www.cnblogs.com/emouse/archive/2013/02/28/2936689.html 先来看两段简介视频: 看了介绍视频后,对如此次超高精度的手势追踪非常好奇,下面为整理的一些相关资料。

转自:http://www.cnblogs.com/emouse/archive/2013/02/28/2936689.html

先来看两段简介视频:

看了介绍视频后,对如此次超高精度的手势追踪非常好奇,下面为整理的一些相关资料。


以下为来自Engadget的新闻介绍:

自微软推出 Kinect 以来就掀起了一股手势控制的旋风,同样作为科技巨头的三星苹果自然也不甘落于人后,纷纷拿出了自己的产品或专利。而最近一家名为 Leap Motion 的公司横空出世,推出了一款名为 Leap 的新产品,据称它比现有技术精准 200 倍,能为手势控制技术带来巨大的发展(看来不是只有大公司才能有大作为哦)。

leap-motion-3d-motion-control---videos---viddler-1
这款设备只有一包口香糖大小,在通过 USB 连接电脑后,它会创造出一个 4 立方英尺的工作空间。在这个空间里你 10 个手指的动作都会被即时追踪,误差在 1 / 100 毫米以内。这样的精准程度就能保证用户顺利完成像 pinch-to-zoom 或控制 3D 渲染物体等操作。关于这项技术所采用的原理 Leap Motion 并没有透露(不意外),不过他们表示任何有运算能力的设备,大到冰箱小到电话,都可以加入他们的软件。用户也可以根据自己的需要来设定手势及灵敏度,而且通过连接几台 Leap 设备还能造出一个更大的工作区域。另外,Leap Motion 也为开发者们准备了 SDK,希望他们能开发出 Leap 适用的应用,同时建立起一个应用搜索平台以便用户查找。这样的话未来的 Leap 就会有更多的可能性,无论是简单的电脑控制,还是游戏、设计等复杂一些的操作。而最令人兴奋的一点是部份用户现在就可以开始预购,售价仅有 69.99 美元(约合人民币 440 元),到冬季时将会向所有消费者发售。


摘自知乎的来自于 @大华电子 的原理分析:

从API的角度大概说一下。Leap Motion传感器的结构:大体上,Leap传感器根据内置的两个摄像头从不同角度捕捉的画面,重建出手掌在真实世界三维空间的运动信息。

image

检测的范围大体在传感器上方25毫米到600毫米之间,检测的空间大体是一个倒四棱锥体。首先,Leap Motion传感器会建立一个直角座标系,座标的原点是传感器的中心,座标的X轴平行于传感器,指向屏幕右方。Y轴指向上方。Z轴指向背离屏幕的方向。单位为真实世界的毫米。如图:在使用过程中, Leap Motion传感器会定期的发送关于手的运动信息,每份这样的信息称为「帧」( frame )。每一个这样的帧包含检测到的:

image

  1. 所有手掌的列表及信息;
  2. 所有手指的列表及信息;
  3. 手持工具(细的、笔直的、比手指长的东西,例如一枝笔)的列表及信息;
  4. 所有可指向对象(Pointable Object),即所有手指和工具的列表及信息;

Leap传感器会给所有这些分配一个唯一标识(ID),在手掌、手指、工具保持在视野范围内时,是不会改变的。根据这些ID,可以通过Frame::hand( ) , Frame::finger( )等函数来查询每个运动对象的信息。Leap可以根据每帧和前帧检测到的数据,生成运动信息。例如,若检测到两只手,并且两只手都超一个方向移动,就认为是平移;若是像握着球一样转动,则记为旋转。若两只手靠近或分开,则记为缩放。所生成的数据包含:

  1. 旋转的轴向向量;
  2. 旋转的角度(顺时针为正);
  3. 描述旋转的矩阵;
  4. 缩放因子;
  5. 平移向量;

对于每只手,可以检测到如下信息:

  1. 手掌中心的位置(三维向量,相对于传感器座标原点,毫米为单位);
  2. 手掌移动的速度(毫米每秒);
  3. 手掌的法向量(垂直于手掌平面,从手心指向外);
  4. 手掌朝向的方向;
  5. 根据手掌弯曲的弧度确定的虚拟球体的中心;
  6. 根据手掌弯曲的弧度确定的虚拟球体的半径;


其中,手掌的法向量和方向如下图所示:「手掌球」的圆心和半径:对于每个手掌,亦可检测出平移、旋转(如转动手腕带动手掌转动)、缩放(如手指分开、聚合)的信息。检测的数据如全局变换一样,包括:

  1. 旋转的轴向向量;
  2. 旋转的角度(顺时针为正);
  3. 描述旋转的矩阵;
  4. 缩放因子;
  5. 平移向量;

image

 

Leap除了可以检测手指外,也可以检测手持的工具。像上文所说的,就是细的、笔直的、比手指长的物件:对于手指和工具,会统一地称为可指向对象(Pointable Object,抱歉不太会翻译),每个Pointable Object包含了这些信息:

  1. 长度;
  2. 宽度;
  3. 方向;
  4. 指尖位置;
  5. 指尖速度;

image

方向和指尖位置如下图:根据全局的信息、运动变换,手掌、手指和工具的信息和变换,开发者就可以靠这些来制作游戏、程序了。大概就是这样了~ 参考:Leap Motion的开发者文档  Leap Motion | Developers

最后的好消息就是,这货3月份在国内就可以出货了,淘宝上已经有多家可以预定了,国内价格应该在600元左右,用来做二次开发还是非常不错的,比Kinect便宜的价格,小巧的造型,超高的精确度,还是非常值得尝试的。

 

image

emouse 思·睿博客文章 原创文章转载请注明:http://emouse.cnblogs.com
【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
8月前
|
人工智能 测试技术
「化腐朽为神奇」:Stability AI又出新工具,草图瞬间精致,不同风格随心选
「化腐朽为神奇」:Stability AI又出新工具,草图瞬间精致,不同风格随心选
|
算法 机器人 程序员
|
算法 图形学
还在被电影中吧爆炸的画面震撼?那你一定不要错过这款Unity的爆炸插件
Exploder是一个Unity3D插件,可以爆炸任何有网格的游戏对象。在游戏对象上tag设置为“Exploder”,就可以看到爆炸了!