系統要求
操作系統: Windows 8系統及以上。
硬件要求:
- 64位(x64)處理器,物理雙核心3.1 GHz(2個邏輯核心/物理)或更快的處理器;
- 4 GB的內存(或更多);
- USB3.0接口(Intel 或 Renesas 晶片);
- 支持DirectX 11的顯卡(圖形處理器)。
開發環境: Visual Studio 2012及以上。
實際上,微軟有推出「Verify system compatibility」的工具(軟件下載(若失效,點這裏)),可以讓使用者先行確認該電腦是否可以正常使用Kinect V2。
和上一代的簡單對比
和上一代相比,這一代的深度圖像不僅分辨率提高了,而且深度圖像的質量要好很多,深度信息的缺失情況比上一代要好。彩色圖像的分辨率明顯提高,而且畫面效果也更好。可視區域角度也大幅增加。這一代最多支持6個人,而上一代只能識別兩個人。人體關節也由上一代的20個提升到25個。上一代可以設定分辨率,設置近景模式(near mode),而這一代取消了。Kinect V2屬於TOF(Time Of Flight,飛行時間)深度攝像頭,直觀上理解就是測量光的飛行時間以獲得距離;而前一代使用的是一種基於結構光思想的光編碼(light coding)技術。
PS: Kinect v2的Depth傳感器的分辨率也提高到512×424,而Kinect v1是可以取640×480分辨率的Depth數據,乍一看規格好像下降了,其實Kinect v1的Depth傳感器的物理分辨率是320x240,Up Sacling到640x480而已(注:猜測是Runtime處理的),同樣Kinect v1也可以取1280×960分辨率的Color數據。
基本信息
- 深度圖像分辨率是 512 * 424(寬*高);
- 彩色圖像分辨率是 1920 * 1080(寬*高);
- FOV(Field of View、可視區域角度)爲70 x 60(水平*垂直);
- Kinect V2使用距離建議爲0.5 ~ 4.5m;
- Kinect V2提供的彩色圖像的原生格式是YUY2,若要用OpenCV顯示需要將它轉換成BGRA格式。
Kinect V2座標空間
Kinect V2有三個座標空間:
1. 彩色空間座標系統(Color Space);
2. 深度空間座標系統(Depth Space);
3. 攝像機空間座標系統(Camera Space)。
其中,彩色圖像當然是彩色空間座標系統;而使用深度空間座標系統的,除了深度圖像外,還包含紅外圖像和操作者標識(body index)的圖像。深度空間座標系統和彩色空間座標系統這兩個系統都是2D的,也就是一般的圖像座標系統:以左上角爲原點、往右是X軸正向,往下是Y軸正向,單位是像素,沒有對應到真正的長度單位。
攝像機空間座標系統則是以傳感器爲原點的3D空間座標系統,是現實的座標系統,使用的單位是米(m),主要是給真正的3D環境使用的。比如說需要進行人體骨架追蹤、或是3D重建,就需要這個座標系統。
人體關節
Kinect V2人體骨架追蹤中的人體關節點是以攝像機空間座標系統來記錄關節點在三維空間中的位置。所以若要在OpenCV中繪製人體骨架需要先將3D座標(攝像機座標系)映射到2D座標(彩色座標系 或 深度座標系)中。
Kinect V2可識別的人體關節共有25個,大概就是上圖的樣子。
參考資料
[1] Kinect for Windows v2 C++ 程式開發(https://kheresy.wordpress.com/?s=Kinect)
[2] 【翻譯】Kinect v1和Kinect v2的徹底比較(http://www.cnblogs.com/TracePlus/category/633784.html)
[3] kinect 2.0 噪點問題?(http://brightguo.com/category/technique/kinect/)