KinectFusion:RGBD深度相机在高精度三维重建中的经典应用

本文结合原始论文[1][2]和笔者实际项目经验,对KinectFusion[1]算法做一个介绍。如有错误,欢迎评论指正。

一.简介

KinecFusion算法核心在于维护一个场景的TSDF volume(如图1所示,volume可以想象为一个空间包围盒,由多个voxel(体素)组成,其中包含了我们想要重建的场景),通过把当前视角下拍摄的局部场景的点云和颜色不断融合进该volume内,完成对场景的各视角覆盖和补全,最后从中提取网格及颜色即完成了三维重建。

图1.示意

图1.tsdf volume示意

二.具体步骤

图2.算法流程

图2.KinectFusion算法流程

1.Measurement

Measurement模块用于对彩色图和深度图进行预处理,并进一步将深度图转化为点云、计算点云法线。

  • 去畸变、彩色图和深度图配准
    有些相机彩色图和深度图需要自己对齐,或者处于算法速度考虑需要自己手写对齐

  • 对输入的深度图像计算图像金字塔
    不计算金字塔也可以,直接在原始图像上就行

  • 对金字塔的每一层图像进行双边滤波

  • 对金字塔的每一层深度图计算顶点图

式1.深度转点云

式1中,为相机内参,为像素点,为在处的深度,为在处计算的三维点坐标。

  • 对金字塔的每一层顶点图计算法向图:领域点算叉乘,当然要保证法线朝外

式2.点云法线计算

式2.点云法线计算

式2中,表示对向量做归一化,即向量除以向量的模,为在处计算的三维点法线。

注:

  • 1)笔者实际项目中一般是通过直接由像素点构建三角面片信息,然后用叉乘计算法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值