The Documentatiion of Kinect Fusion

来源:互联网 发布:php基础知识:blog 编辑:程序博客网 时间:2024/06/05 11:18
Kinect Fusion
What is Kinect Fusion
       KinectFusion通过使用Kinect for Windows设备能够实现对实物的3D模型重建功能。在使用GPU加速技术的情况下能够实现实时的交互级别的3D模型重建。下图展示了使用KinectFusion 实现的3D重建效果图。
从这张图中可以看出从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的处理过程分为很多步,我们用以下图示进行说明:



  • 第一步:深度信息转化。这一步将原始的从Kinect获取的原始的深度信息转化为以米为单位的浮点型深度信息,并且转化的时候要按照相机中的坐标系统。
  • 第二步:计算相机的pose(位置和角度)并且在相机移动过程中不断的更新自身的pose,因此我们就可以知道当前帧相对第一帧的位置。实现这个功能,Kinect Fusion中有两个算法:第一个是NuiFusionAlignPointClouds,这个算法能够很好的完成新捕获的数据和已经重构的3D模型数据的对齐或者完成对孤立点的判定(如:场景中两个没有粘连的物体);第二个是AlignDepthToReconstruction,这个算法提供重建过程中的加速跟踪,但是对于场景中移动的物体跟踪less robust.
  • 第三步:通过前两部获取的信息,将可用的信息点完成向3D模型上的融合。在这个过程中对一些噪声和场景中的动态改变进行处理(如:物体的添加和移除)。在不断改变Kinect相机的角度的时候,重建出来的3D model会变的越来越真实。
next blog to continue Tracking......













0 0