作为一名科幻电影死忠粉!好莱坞大片里各种高科技特效我早已司空见惯。但真正意义上在工作中接触“手势控制”还要是追溯到2015年我们专案的一次例会,期间一位酷爱科幻,电玩的美籍帅Boss提出设想:我们的系统或许也可以像科幻电影里一样实现手势控制,用手来控制眼前的15宫格和各大系统(我们的战情中心--15面47寸电视组合墙)。。。
或许真的是因为这个原因,很快我们的专案项目里就kick off 了一项手势控制缓慢跟进,但当时我正在“语音识别”解决方案调研中,并未参与其中,只是偶尔去留意手势识别相关信息罢了。
直到2016年5.26的贵阳大数据博览会筹备工作紧张展开,展场互动区展示内容确定涵盖手势控制,我这才临危受命开始兼职跟进”手势控制”事宜(之所以是兼职,因为此时我还同时跟进着展会另一个互动区展示内容--VR)
下面来简单分享一下我做手势控制的一些知识和经验积累。我们选用的手势识别设备—Leap Motion,使用JS脚本语言嵌入Web实现手势控制Web系统。
手势识别设备及相关原理:
Leap Motion是基于双目视觉的手势识别设备。顾名思义,双目视觉就是有两个摄像头,利用双目立体视觉成像原理,通过两个摄像机来提取包括三维位置在内的信息进行手势的综合分析判断,建立的是手部的立体模型。
Leap 传感器根据内置的两个摄像头从不同角度捕捉的画面,重建出手掌在真实世界三维空间的运动信息。检测的范围大体在传感器上方25 毫米到600 毫米之间,检测的空间大体是一个倒四棱锥体。
首先,Leap Motion 传感器会建立一个直角座标系,座标的原点是传感器的中心,座标的X 轴平行于传感器,指向屏幕右方。 Y 轴指向上方。 Z 轴指向背离屏幕的方向。单位为真实世界的毫米。
具体的手势识别过程:
首先从双目摄像头采集操作者手势动作的左右视觉图像,通过立体视觉算法生成深度图像。然后对左(或右)视觉图像使用手势分割算法处理,分割出的人手所在的初始位置信息,并将该位置作为手势跟踪算法的起始位置。再使用手势跟踪算法对人手运动进行跟踪。再根据跟踪得到的结果进行手势的识别。需要说明的是,如果跟踪目标消失,则重新进行手势分割,再重复上述步骤。
说人话!!OK, 具体的概念我不打算多讲,但鉴于手势识别技术尚未成熟,网络资源也太少,所以就将自己在探索过程中积累的一些入门级资源做个简单分享,帮助各位感兴趣的盆友快速入门:拿走不谢!
【1】《Leap Motion手势识别大揭秘》:
http://tech.163.com/16/0503/10/BM4QI1OF00094P0U.html
【2】《Leap Motion体感原理》:
http://www.narkii.com/college/college_103473.shtml
较详细的介绍了Leap Motion相关原理,不敢讲权威但比百度百科专业些。
【3】《极客基地》-Leap Motion论坛专区:
http://www.jikejidi.com/forum-70-1.html
Leap Motion专区提供一些入门级的操作指南以及个别应用实例演示,但暂未发现大牛
【4】开源中国社区-Leap Motion专区:http://www.oschina.net/search?scope=blog&q=leap+motion
程序猿的都知道的学习网站!Leap Motion专区提供API类库, SDK源码供各位练手
【5】GitHub Leap Motion开源专区:
https://github.com/search?utf8=✓&q=LEAPMOTION
国外开源网站,搜索Leap Motion可以找到相应源码资源,包括JS JAVA C# C++…..
【6】Leap Motion官网:
https://www.leapmotion.com/
好的总是要留到最后!_--在资源优先的限制下,Leap Motion官网无疑是一块宝藏,官网提供Leap Motion 相关API, SDK;应用商城提供许多桌面exe应用,插件,游戏,Demo视频等等;此外当然少不了付费服务,总之蛮多,感兴趣的可以尝试一下。
今天分享的上述资源仅供各位参考以便快速入门,但具体在操作中遇到的问题,那就需要各位耐心去解决了,鉴于专案应用场景是手势控制各大系统网页界面,所以我们采用的是将JS脚本语言嵌入网页作为活动内容来辅助实现手势控制代替鼠标实现操作页面效果,当然更多场景下的应用开发也会在后续展开,稍候再做更新,完善…