天天看點

The Documentatiion of Kinect Fusion

Kinect Fusion What is Kinect Fusion        KinectFusion 通過 使用Kinect for Windows裝置能夠實作對實物的3D模型重建功能。在使用GPU加速技術的情況下能夠實作實時的互動級别的3D模型重建。下圖展示了使用KinectFusion 實作的3D重建效果圖。

The Documentatiion of Kinect Fusion

從這張圖中可以看出從Kinect中直接捕獲的深度資訊會存在許多空洞現象,這是因為深度資訊丢失造成的,通過不斷的讓Kinect相機繞着被重建物體運動,在幾秒鐘之後就會形成現實性非常好的3D重模組化型。

Hardware and software Requirements(硬體和軟體要求)

  • DirectX11 compatible GPU with C++ AMP
  • Desktop PC with 3GHZ 
  • 2GB memory

Kinect Fusion work(Kinect Fusiong的工作原理)        kinect fusion通過将Kinect相機在不同的視角捕獲的深度資料進行融合以後形成光滑的3D模型。在Kinect相機自身移動的過程中,相機自身的pose是會被不斷的計算的,這樣我們就能知道相機擷取的每一幀深度圖像的pose,并且能夠推算出目前幀和之前幀的關系,這樣就可以講捕獲的深度資訊進行一個很好的融合。

Processing Pipeline(處理過程)       Kinect Fusion的處理過程分為很多步,我們用以下圖示進行說明:

The Documentatiion of Kinect Fusion
  • 第一步:深度資訊轉化。這一步将原始的從Kinect擷取的原始的深度資訊轉化為以米為機關的浮點型深度資訊,并且轉化的時候要按照相機中的坐标系統。
  • 第二步:計算相機的pose(位置和角度)并且在相機移動過程中不斷的更新自身的pose,是以我們就可以知道目前幀相對第一幀的位置。實作這個功能,Kinect Fusion中有兩個算法:第一個是NuiFusionAlignPointClouds,這個算法能夠很好的完成新捕獲的資料和已經重構的3D模型資料的對齊或者完成對孤立點的判定(如:場景中兩個沒有粘連的物體);第二個是AlignDepthToReconstruction,這個算法提供重建過程中的加速跟蹤,但是對于場景中移動的物體跟蹤less robust.
  • 第三步:通過前兩部擷取的資訊,将可用的資訊點完成向3D模型上的融合。在這個過程中對一些噪聲和場景中的動态改變進行處理(如:物體的添加和移除)。在不斷改變Kinect相機的角度的時候,重建出來的3D model會變的越來越真實。

next blog to continue Tracking......

繼續閱讀