还是为了更好地理解infiniTAM,所以来看看KinectFusion这篇文章,下面就开始吧。
总体思路
kinect Fusion整体由四个模块组成:
1.Surface measurement:这个模块是整个系统的预处理阶段,在这个阶段,根据相机获取的原始深度图像计算带法向量的3D点云;
2.sensor pose estimation传感器位姿估计:将(1)中计算的到的带有法向量的点云,和通过光线投影法从利用上一帧图像位姿从模型投影出来的点云进行ICP配准,从而计算当前帧的位姿,这也是经常提到的(frame-to-model);
3.Surface reconstruction update表面重建更新:依据计算到的当前帧位姿,将当前帧的点云融合到网格模型当中;
4.Surface prediction表面预测:根据当前帧的位姿,利用光线投影法从模型进行投影,得到当前帧相机视角下能够观察到的点云,并计算其法向量,等下一帧图像来临时,在(2)中与其进行配准。
通过这个步骤进行循环,从而不断更新网格模型中的数值,从而实现三维重建的目的。
下面对这四个步骤进行阐述:
1.Surface measurement
记从相机获得的第k帧深度图像为 Rk,记u