您的位置:首页 > 运维架构

Microsoft Kinect SDK与PrimeSense OpenNI SDK对比

2011-11-11 03:54 323 查看
翻译自:Microsoft Kinect SDK vs PrimeSense OpenNI
http://www.brekel.com/?page_id=671

在试用了微软Kinect SDK和PrimeSense OpenNI SDK后,总结整理了一些我的想法。

注意:目前微软的SDK是Beta版本,最终的正式发布版可能会有所变化。

Microsoft’s Kinect SDK(Beta)

优点:

支持音频
支持马达
全身跟踪:

不需要标定姿势,进入就能识别
包含头、手、脚和锁骨
对封闭关节处理更好

支持多台Kinect设备
安装简单,一个程序安装完即可
当新的视频帧或者深度信息帧可用时,SDK能产生对应事件

缺点:

许可证不包含商业用途
只有全身跟踪,没有单独对手的跟踪模式
不支持彩色图和深度图的坐标对齐
目前有个别的坐标对齐功能
有迹象显示未来将有该功能
全身跟踪:

只有关节位置数据,没有旋转角度数据
只有全身跟踪模式,没有上半身或者只有手模式
CPU资源消耗似乎超过OpenNI/NITE(没有采用适当的基准,即没有进行严格的比对测试)

没有手势识别系统
不支持PrimeSense和华硕WAVI Xtion?(不太确定)
只支持Win7(x86 & x64)
不支持Unity3D游戏引擎
没有内建的录制/播放功能
不支持获取红外视频流的原始数据
SDK对新用户的进入和离开没有对应事件

PrimeSense OpenNI/NITE

优点:

许可证包含商业用途
包含一个手部跟踪框架
包含一个手势识别框架
能够进行深度图到彩色图像的自动对齐
全身跟踪:

计算了骨骼的旋转角度
支持只识别手模式
CPU消耗似乎比微软SDK小(没有进行严格测试)

支持Primesense的设备和华硕WAVI Xtion
支持多设备,但是设置和枚举的方法比较奇怪
支持Windows(包括Win 7, Vista和XP),Linux和Mac OSX
代码代码完全支持Unity3D游戏引擎
支持获取红外视频流原始数据
SDK对新用户的进入和离开有对应事件

缺点:

不支持音频
不支持马达(虽然可以用CL-NUI的马达驱动)
全身跟踪:

缺少头部、手、脚和锁骨的旋转角
需要一个标定姿势才能开始跟踪谷歌(标定数据可以存储起来,方便重用)
闭塞关节点没有估算

支持多设备,但是设置和枚举的方法比较奇怪
l 安装需要三个独立的安装包和一个NITE的序列号
SDK没有提供新视频或者深度图数据可用时的事件。

个人总结:

微软在骨骼识别和音频方面很有优势。

OpenNI可能更适合做带颜色点云的工作,在非Win7平台开发和进行商业项目开发。

手势识别工作中:

如果你想开发上半身或手的项目,或者想使用一个现有的框架,可以使用OpenNI和NITE
如果是全身识别,则使用微软的SDK更稳定,当然你也就必须要自己编写手势识别算法(OpenNI/NITE全身识别的也是如此)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: