本文作者张静是前微软上海Xbox ATG软件工程师,微信公众号“ 黑客与画家 ” (HackerAndPainter),知乎专栏地址。欢迎各位童鞋与他交流探讨。
这篇文章中我整理了市面上常见的深度摄像头、优缺点及使用场景。
Microsoft Kinect
Kinect 一代的问世是具有历史意义,自此深度摄像头进入了普通消费者的视野。它本是微软 Xbox 360 游戏机的一个外设,微软并没有提供 PC 上的驱动和开发环境。怎想到,销售没多久便遭到(褒义的)黑客破解,它不仅在 Windows 上运行,还可以在 OS X 和 Linux 上运行。微软没有禁止破解的行为,反而顺势而为推出了官方的 Kinect SDK,一时传为佳话。
优点:
可以获取深度数据(320*240)、rgb 数据(640*480)、声音、骨骼节点(20 个)
- 拥有三套 SDK:微软 SDK、OpenNI、libfreenect
- 后两个 SDK 是跨平台,支持各种开发语言
- 价格便宜
- 社区成熟,开发资源丰富
缺点:
- 传感器分辨率不够,看不清手指
- 由于使用结构光技术,深度传感器的可视范围无法重叠
- OpenNI 和 libfreenect 虽然跨平台,但是功能远不如微软 SDK
- 设备尺寸大,需要一坨电源线
致命缺点:
- 微软已宣布停止生产 Kinect 一代
使用场景:
- Windows 及以外操作系统
- 人离设备三米左右
- 对精度要求不高
Microsoft Kinect One
二代是随着 Xbox One 出现的,二代又叫做 Kinect One,最初和游戏主机是捆绑销售的。相比一代,增强了不少功能,因为苛刻的软硬件需求,也引起一些不便。
优点:
- 分辨率更大、可以看到更广阔的场景
- 可以检测到的人体关节点更多(25个),能看清手指
- 拥有两套 SDK:微软 SDK、libfreenect2
- 可以开发 Windows Store 应用
缺点:
- libfreenect2 基本不能检测骨骼,功能缺太多,同时 OpenNI 也不支持它,因此局限于 Windows 平台
- 设备尺寸比一代更大
- 需要一坨电源线
- 比一代贵一些
致命缺点:
- 只能运行在 64 位 Windows 8 系统上
- 必须使用 USB 3.0 端口
使用场景:
- 对精度要求高
- 能满足致命缺点里的三项,部分软件在 Windows 8 上不稳定
Intel / Creative / SoftKinetic
Intel 2013 年搞了个感知计算大赛,Intel 提供了 Perceptual Computing 体感开发包 配上 Creative Senz3D 传感器。这个 Senz3D 设备表面上看是 Creative 制造的,其实从里到外都是 Soft Kinetic 的。很多人可能没听说过 Soft Kinetic,这是一家比利时的深度传感器技术公司,它的产品有三种:
- 深度感应芯片,授权给德州仪器等半导体公司
- 深度传感器设备,以成品的形式卖给普通消费者
- 体感中间件 iisu,授权给索尼在 PlayStation 4 的摄像头上实现了体感
优点:
- 小巧,普通 USB 摄像头的尺寸
- 不需要外界电源线
- 近距离使用,可实现表情分析和手势识别
缺点:
- 不适合远距离交互,也无法检测完整的身体
- 只能在中高端的 Intel CPU 上才能运行
致命缺点:
无
使用场景:
- 依附在屏幕上,让坐在电脑桌前的人使用
Leap Motion
优点:
- 小巧,一根 usb 线就可以使用
- 跨平台
- 支持的开发语言比较多,甚至通过 WebSocket 实现了浏览器中的 JavaScript API
- 跟踪手指和手掌,精度较高
缺点:
- 检测范围小,手臂酸疼(见上图)
- 不能检测身体和脸部
- 作为生产力工具,完全无法替代鼠标键盘
致命缺点:
- 找不到合适的使用场景 -___-
//DUO
DUO 属于剑走偏分,并不面向终端消费者,而是研究人员。产品名字也比较另类,甚至于你搜索 duo 是搜不到它滴,需要搜 duo3d。
优点:
- 小巧
- 高速摄像头(120 fps)
- 跨平台
- 可用于嵌入式设备
缺点:
- 价格贵
- 社区不成熟
- 没有成功的商业案例
- SDK 的功能有限,没有任何体感功能
使用场景:
- 需要自定义的硬件功能,并且有体感算法研发能力的公司
PrimeSense / Apple / 华硕(ASUS)
PrimeSense 是 Kinect 一代的芯片供应商,位于以色列,也是开源体感开发包 OpenNI 的维护者。自从被 Apple 收购后,销声匿迹,OpenNI 也停止更新。预计 Apple 不久的将来会举动,有可能与电视或游戏主机相结合,再一次改变世界。
华硕的 xtion 用的是 PrimeSense 芯片的授权,在不久的未来 PrimeSense 会停止供应芯片,到时候市场上就买不到 xtion 了。除此以外和 Kinect 一代的优缺点类似,不再重复了。
结论
服不服,先来跑个分:
- Kinect:功能 4 分,价格 5 分,小张打分 5 分
- Kinect One:功能 5 分,价格 4 分,小张打分 4 分
- xtion:功能 4 分,价格 4 分,小张打分 4 分
- SoftKinetic:功能 3 分,价格 4 分,小张打分 3 分
- DUO:功能 3 分,价格 3 分,小张打分 3 分
- Leap Motion:功能 2 分,价格 3 分,小张打分 2 分
如果按照开发需求,也可以这么推荐:
- 低精度的远距离体感开发,用 Kinect 一代或 xtion,在不久的将来它们都将停产,所以囤货吧
- 高精度的远距离体感开发,用 Kinect 二代
- 近距离基于人脸或手势的互动,用 SoftKinetic
- 自己有硬件团队和算法团队,且前三项都无法满足需求,用 DUO
- 人傻钱多,用 Leap Motion
或者,我们再等等苹果?
[本文来自读者的投稿,不代表36氪立场]