好几个月前挖的坑自己填上……当时需要做一个Gesture Recognition的项目,所以提了这个问题。现在项目的原型算是出来了,选择了LeapMotion,可以稍微说一下原因。
首先说一下项目需求。我们希望提供一个用户友好的手势识别接口,可以
让剧场演员通过在舞台上的手势控制四旋翼直升飞机为演出提供特殊效果从而提供更美妙的沉浸式体验(脑洞超大对不对……)。这要求
- 识别必须精确到手指
- 必须能够让做手势的人有随便移动的自由。
第二点要求非常重要。如果不能直接在舞台四周都放一堆摄像头的话,那就只能做成可穿戴式设备让演员带着走了。
接下来是正文。我们调研的对象分别是LeapMotion, Kinect和Intel RealSense 3D。直接一个个分析:
LeapMotionPros:
- 在识别范围之内的准确度和精度都很高,能够直接提供手指的位置、速度等非常精细的信息
- 面世时间较长,相关资源相当成熟(文档、社区、stackoverflow),在很多不同系统上都有驱动(我主要指非主流操作系统,比如树莓派)
- 足够小巧,可以被打造成wearable device
Cons:
- 识别范围太小……只能在感应器上方大概半米多的范围内移动手。
- 如果把手背朝下就基本无法识别(LeapMotion永远假设手心朝向感应器)
KinectPros
- 提供整个人体的tracking,也能比较好地支持多人tracking。追踪范围较广,一两米的距离完全没有问题。
- 提供完善的配套软件,可以用于自己定制手势/姿势。
Cons
- 最细粒度只能支持整个手掌的追踪。想追踪手指必须使用第三方库……没有试验不知道靠不靠谱
- 对机器有特别的要求……必须用USB 3.0接口。可想而知,如果想做成可穿戴设备的话只能背着一个笔记本周围走了
Intel RealSensePros
- 识别精度可以和Kinect媲美,而且貌似官方SDK能直接给出手指的追踪
Cons
- 相对比较新,文档可能不是很全
- 独立的摄像头貌似在市面上不存在,都是和笔记本绑定卖的……现在Amazon上有卖的是上一代产品,买了试用后发现被坑了……
- 对机器要求也很挑剔……
综上所述,为了满足前面的的要求,我们就选择了LeapMotion。具体设备的选择和需要场景密切相关。我们项目组都觉得LeapMotion是老一代产品了可能命不久矣,并不代表未来方向,但它就是比较契合我们的需求,所以就选了。
其实,感觉Hololen才是王道呢……可惜还没出……