KinectFusion 论文阅读笔记

参考:
https://zhuanlan.zhihu.com/p/35894630

目标

实时输入RGBD视频流(用Kinect扫描仪获得)
实时获得重建3D场景。(用TSDF形式表达,可通过marching cube生成mesh)

一些参数

相机内参:相机坐标系中一点到像素平面的转换方程
位姿估计pose estimation:相机坐标系到师姐坐标系的转换矩阵

流程

始终在更新全局的:
点云,法向 (是为了求相机位姿)
相机位姿(是为了求TSDF)
TSDF (终极目标,3D场景的表达形式)

在这里插入图片描述

Measurement (单帧求点云和法向)

输入:一帧Kinect的RGBD图像,(相机内参已知)
输出:vertex map(也就是点云图)V、normal map(法向量图)N
方法:根据相机内参一番运算

Pose Estimation (新帧的ICP点云配准位姿估计)

输入:之前的点云图V及位姿估计T,当前帧的点云图V
输出:(用ICP算法进行配准)二者的变换矩阵
方法:ICP(Iterative Closest Point)是根据前后两帧图像中匹配好的特征点在相机坐标系下的三维坐标,求解相机帧间运动的一种算法。
具体来说,点云刚性配准中,有对应点关系和转换矩阵。
首先初始化,假设对应点就是最邻近点,求一个最优的转换矩阵。
用此转换矩阵转换后得到新的点集。
重复上面的步骤,直到误差小于目标。
在这里插入图片描述

Update Reconstruction (融合多帧TSDF)

这里将本帧的TSDF融合到之前的全局TSDF中,得到最新的全局TSDF。
有必要介绍如何求单帧的TSDF,所以下面也放上了。

每个体素有一个TSDF值(F)和一个权重(W),F和W合起来存放在S中。

单帧TSDF的计算:
输入:voxel网格划分,深度图D,参数mu(假设传感器的深度信息存在mu的不确定度)
输出:每个voxel的TSDF值S。
在这里插入图片描述
TSDF值:
到表面的距离,加上符号(前正后负),加上截断(绝对值大于mu的全部设为mu)

多帧TSDF的融合:
目的:将本帧的TSDF融合到之前的全局TSDF中,得到最新的全局TSDF
输入:以前多帧融合后的TSDF和权重,当前帧的TSDF和权重
输出:当前帧融合到之前的之后,的TSDF(F)和权重(W)。
融合方法:加权平均耳
在这里插入图片描述

Surface Prediction (求融合后的点云V和N)

用ray casting方法
输入:TSDF值F,权重W和位姿估计T,
输出:物体表面的点云和法向V,N
就是沿摄像机观察的方向,从每个像素发出射线,直到遇到TSDF从正变负的那个voxel的边界,就加入vertex map中。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值