Microsoft Kinect SDK和PrimeSense OpenNI的區別

原文地址:http://blog.pleasev.org/?p=227

Microsoft’s Kinect SDK (Beta)

pro: 優點
  • support for audio 支持音頻
  • support for motor/tilt 支持馬達
  • full body tracking: 全身追蹤
    • does not need a calibration pose 不需要標定姿勢(投降姿勢)
    • includes head, hands, feet, clavicles 包括頭,手,腳和鎖骨
    • seems to deal better with occluded joints 看起來處理關節閉塞更好些
  • supports multiple sensors 支持多傳感器(多臺Kinect)
  • single no-fuss installer 簡化安裝(安裝更容易)
  • SDK has events for when a new Video or new Depth frame is available 當新的視頻或深度圖有效時,SDK會有可用事件
con: 缺點
  • licensed for non-commercial use only 非商用(商業需要付費)
  • only tracks full body (no mode for hand only tracking)  只能追蹤全身(不包含特定的追蹤模式:例如只追蹤手)
  • does not offer alignment of the color&depth image streams to one another yet
    • although there are features to align individual coordinates
    • and there are hints that support may come later
  • full body tracking:  全身追蹤
    • only calculates positions for the joints, not rotations 關節只有座標數據,沒有旋轉數據
    • only tracks the full body, no upperbody or hands only mode 只能追蹤全身,不包含特定的追蹤模式:例如只追蹤手或上半身
    • seems to consume more CPU power than OpenNI/NITE (not properly benchmarked)  和OpenNI/NITE相比,看起來更消耗CPU(沒有采用適當的基準)
  • no gesture recognition system  不包含手勢識別系統
  • no support for the PrimeSense and the ASUS WAVI Xtion sensors? (can anyone confirm this?)  不支持PrimeSense和華碩的WAVI Xtion硬件平臺
  • only supports Win7 (x86 & x64)   只支持Win7(32位和64位)
  • no support for Unity3D game engine  不支持Unity3D遊戲引擎
  • no built in support for record/playback to disk  不支持數據記錄或回放到硬盤
  • no support to stream the raw InfraRed video data  不支持紅外線視頻數據流
  • SDK does not have events for when new user enters frame, leaves frame etc  SDK沒有此類發生事件,例如當一個用戶被偵測到或用戶丟失等等。

PrimeSense OpenNI/NITE

pro: 優點
  • license includes commercial use 可以商用(不需要付費)
  • includes a framework for hand tracking 包含手部追蹤框架
  • includes a framework for hand gesture recognition 包含手勢識別框架
  • can automatically align the depth image stream to the color image  可以自動對齊深度圖數據到彩色圖數據
  • full body tracking:  全身追蹤
    • also calculates rotations for the joints 包含座標數據和旋轉數據
    • support for hands only mode 支持特殊跟蹤模式:例如:只追蹤手和頭或上半身
    • seems to consume less CPU power than Microsoft Kinect SDK’s tracker (not properly benchmarked) 和微軟的SDK相比消耗的CPU更少
  • also supports the Primesense and the ASUS WAVI Xtion sensors 支持Primesense和華碩的WAVI Xtion硬件平臺
  • supports multiple sensors although setup and enumeration is a bit quirky 支持多傳感器但是需要安裝和枚舉,這一點有點古怪。
  • supports Windows (including Vista&XP), Linux and Mac OSX 支持Windows(包括Vista&XP&WIN7),Linux系統和蘋果操作系統(翻者:也支持Android)
  • comes with code for full support in Unity3D game engine  自帶的代碼全面支持Unity3D遊戲引擎(翻者:也支持Ogre)
  • support for record/playback to/from disk 支持數據記錄到硬盤或從硬盤迴放數據
  • support to stream the raw InfraRed video data 支持紅外數據流
  • SDK has events for when new User enters frame, leaves frame etc SDK有此類發生事件,例如:當一個用戶被偵測到或者用戶丟失。(提供回調函數供開發者使用)
con: 缺點
  • no support for audio 不支持音頻
  • no support for motor/tilt (although you can simultaneously use the CL-NUI motor drivers) 不支持馬達(翻者:馬達是微軟的專利,所以primesense公司不想惹微軟)
  • full body tracking:  全身追蹤
    • lacks rotations for the head, hands, feet, clavicles 缺乏以下關節:頭,手,腳,和鎖骨
    • needs a calibration pose to start tracking (although it can be saved/loaded to/from disk for reuse) 需要一個標定姿勢(投降姿勢)才能開始追蹤骨骼(注意:標定數據是可以存儲和提取的方便重用)
    • occluded joints are not estimated 關節閉塞沒有被估算
  • supports multiple sensors although setup and enumeration is a bit quirky 支持多感應器但是需要安裝和枚舉,這一點有點古怪。
  • three separate installers and a NITE license string (although the process can be automated with my auto driver installer)  需要單獨安裝NITE
  • SDK does not have events for when new Video or new Depth frames is available SDK沒有此類發生事件,例如:當新的視頻或者深度圖數據有效時。(翻者:OpenNI提供了類似功能的函數可使用,雖然不是回調函數,但是也很好用)

(Personal) conclusion:

Microsoft seems to have the edge when working with skeletons and/or audio.
微軟在骨骼識別和音頻方面有優勢。(翻者:本人非常認同,微軟的音頻識別將會在未來的體感遊戲裏發揮重要的作用!)
OpenNI seems to be best suited when working on colored pointclouds, on non-Win7 platforms and/or for commercial projects.
OpenNI似乎更適合做一些帶顏色的點雲的工作,和在非Win7平臺來開發商業項目。

When working with gestures in specific: 手勢識別

  • If your sensor only sees the upperbody/hands and/or you want an existing framework to start with use OpenNI/NITE.
    如果你想開發基於上半身或手識別的項目,可以使用OpenNI和NITE
  • When your sensor can see the full body the more stable Microsoft skeleton may be the best to use, however you’ll have to code your own gesture recognitions. (You’d also have to extend OpenNI/NITE for fullbody gestures btw)
    全身識別毋庸置疑微軟的SDK是最好的,然而你必須自己編寫你自己的手勢識別代碼。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章