OpenCV、PCL;Xtion、kinect;OpenNI、kinect for windows SDK比較


一.對比介紹:

1. OpenCV:開源跨平台,OpenCV於1999年由Intel建立,如今由Willow Garage提供支持。

2. OpenNI:OpenNI組織創建於2010年11月。主要成員之一是PrimeSense公司(以色列一家公司,被蘋果收購(2013年11月25)Kinect1核心芯片,華    碩Xtion)。其他成員還有開發ROS的機器人公司Willow Garage,以及游戲公司Side-Kick。(因此OpenNI完全支持華碩,而不完全支持kinect2)

3. PCL:構成現在PCL算法基礎的第一個算法,是由Dr. Radu Bogdan Rusu在德國慕尼黑工業大學讀博士期間開發的,后來在2009年底由Willow Garage公司進一步開發完成。

二. 華碩Xtion和微軟kinect比較:原文網址:http://blog.sina.com.cn/s/blog_7e6503990100utgx.html

華碩Xtion PRO(For Developers Only)體感設備使用評測(與Kinect對比),2011-05-23

1.     產品外觀

華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

2.     參數規格

以下參數摘自華碩Xtion Pro外包裝盒:

l  有效距離:3.5米~0.8米

l  有效角度:70

l  電源/接口:USB 2.0

l  傳感器:深度探測

l  支持平台:Intel X86 & AMD

l  操作系統:Win 32/64:XP,Vista,Win7

Linux Unubtu 10.10:X86,32/64 bit

l  程序語言:C++/C#(Windows), C/C++

以下參數為實際測量參數(實際測量參數有部分誤差):

l  設備長:18cm

l  設備寬:3.6cm

l  設備高(連底座):5cm

l  鏡頭部分高:2.6cm

3.     驅動支持

安裝測試在Windows 7 32位系統下進行。

設備包裝中包含的驅動就是Prime Sense的驅動,安裝過程中,觀察了下,發現光盤中程序的版本如下:

l  OpenNI版本為 1.0.0.1

l  Sensor版本為 5.0.0

l  NITE版本為 1.3.0

安裝完成后,在設備管理器里面的PrimeSense目錄下,出現“PrimeSense PS1080”

安裝后能夠正常使用,打開NiViewer.exe,能夠正常采集深度圖像

華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

 

3.1 NiViewer采集的深度圖

然后嘗試使用OpenNI發布的新版本驅動,使用了如下版本:

l  OpenNI版本 1.1.0.41

l  Sensor版本 5.0.0.1.32

l  NITE版本 1.3.1.5

安裝完成后,在設備管理器,同樣看到了該設備,但是在運行NiViewer.exe的時候,出現如下錯誤:

One or more of the following nodes could not be enumerated:

 

Device: PrimeSense/SensorKinect/5.0.1.32: The device is not connected!

據錯誤信息推斷應該是Sensor驅動的問題,因此目前使用Xtion的話就還是使用老版本的驅動。

4.     開發

使用老版本的驅動,運行之前開發的程序(沒有使用RGB圖像),能夠正常運行。

華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

 

4.1 之前開發的程序能正常運行

使用SetMapOutputMode函數調整不同的分辨率和FPS,發現只有分辨率為640*480,FPS為30時能夠正常運行,其他參數下,要么就是黑屏,要么就是程序停止響應,要么就是如下圖所示狀態:


華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

 

4.2 調整參數帶來的問題

參數設置帶來的問題,還需要進一步研究下。深度圖的使用和原來的使用差別不大。

 

5.     華碩Xtion Pro與微軟Kinect對比

華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

5.1 華碩Xtion與手對比圖

 


華碩Xtion <wbr>PRO(For <wbr>Developers <wbr>Only)體感設備使用評測(與Kinect對比)

5.2 Xtion與Kinect對比圖

 

下表整理了兩個設備之間的差別:

屬性

華碩Xtion Pro

微軟 Kinect

18cm

28cm

3.6cm

6cm

高(帶底座)

5cm

7.5cm

鏡頭部分高

2.6cm

4cm

景深攝像頭感應距離

0.8m~3.5m

1.2m~3.5m

有效視角

70

水平:57◦ 垂直:43◦

電源/ 接口

USB2.0

外接電源+ USB2.0

傳感器

深度攝像頭

深度攝像頭+RGB攝像頭

能否控制馬達

機動底座,傾斜范圍:±27度

音頻系統

語音麥克風陣列

 

6.     使用感受

從購買上來看,華碩Xtion目前價格為1399,目前大陸地區只能從華碩銷售部門進行訂購;而Kinect目前看到的價格已經降到一千元以下了,實體店和網上都能訂購比較方便。

從功能上來看,華碩Xtion只有深度攝像頭;而Kinect深度攝像頭和RGB攝像頭都有,RGB攝像頭雖然像素不高,也能用其在游戲中照相什么的,還有一些用處。目前測試發現華碩的深度攝像頭采集的數據並不比Kinect高,深度圖像都會抖動。

總體來說,感覺華碩Xtion的價格有點貴,不提供RGB攝像頭,沒有音頻系統,沒有控制馬達。目前,其他方面的性能還沒有測試出有比Kinect提高和改進的。華碩Xtion比Kinect好用的一點是,Xtion只需要USB口就能驅動了,不像Kinect還需要外接電源;Xtion耗熱較小,Kinect用一會兒就開始發燙了;Xtion的外觀比較小巧,比較容易安置。

 

三、Microsoft Kinect SDK 和 PrimeSense OpenNI 的區別(2011年07月),原文地址:http://blog.csdn.net/leowangzi/article/details/6604512

After playing with both the Microsoft Kinect SDK and the PrimeSense OpenNI SDK here are some of my thoughts,Note that the Microsoft’s SDK version is the Beta version, so things may change when the final one is released)


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/NITEpro: 優點

  • 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 不支持音頻 (現在華碩xtion支持音頻?http://www.asus.com.cn/Multimedia/Xtion_PRO_LIVE/)
  • 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是最好的,然而你必須自己編寫你自己的手勢識別代碼。

 

平台上比較:
Kinect for Windows SDK 僅支持Windows 7/Windows 8 操作系統(PC平台為主,電視機,機頂盒等嵌入式平台為0)
OpenNI 支持大多數操作系統 

OpenNI各版本之間的比較:
OpenNI 1.X 版本  支持大多數操作系統,支持Kinect/Xtion獨立驅動
OpenNI 2.X 版本  支持大多數操作系統,支持Xtion獨立驅動,Kinect則要靠Kinect for Windows SDK自帶的驅動做橋接。


簡單的說:
Kinect for Winows SDK 不允許非Kinect的攝像頭使用。
OpenNI 2.X 不允許Kinect在非Windows操作系統上運行,其他體感攝像頭支持良好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM