2019/02/09 对于KinectFusion 的理解


网上有很多关于Kinect Fusion 的详细介绍,包括各个部分的算法,思路,以及应用上的限制和优化。 在此就不多介绍了。

KinectFusion 提供了非常基础的用RGB-D 相机实现的 Dense mapping algorithm. 在实验初期我也阅读了很多次。 最近由于实验上遇到了非常棘手的问题, 又把之前的资料拿出来再次仔细的阅读,希望能有新的发现。

1。 pcl::kinfu 和 pcl::kinfuLS.

找了相关的Libs 和 网上资料,但是并没有找到合适的代码资料和 demo code。

2。 ICP in KinFu

KinFu 使用point-to-plane ICP。

无论是Point-to-point 还是 Point-to-plane, 它都包括2个主要的步骤。

  1。 find the corresponding points in adjacent frames.

  2. establish and optimize the error func iteratively.

由于需要确定 corresponding points pair, KinFu 使用了另外两个约束方程:

  1. 两帧图像上相关点的 T < transformation threshold.

  2. 两帧图像上相关点的 Normal difference < Normal corresponding threshold.

正是由于这种找corresponding points 的算法, Kinfu 的ICP 只能用于运动距离比较小的tracking 应用。

所以,它提供的思路和算法并不能用于我的实验。

3。 TSDF Voxel model

由于我一直在用PCL::PointCloud, 所以在计算上我只用了CPU。 并且由于深度图像并不精确,每一帧深度点云存在很多误差。

所以我在思考能否用TSDF model 来优化我得到的3D 点云,并用RAYCAST 来计算摄像机的位移。

需要注意的是, 如果使用RAYCAST 投影点云, pcl::gpu::raycaster 提供的算法是应用于 3D voxel volume上的。

所以还是需要depth / 3d PCD -> 3D TSDF Voxel Volume -> Raycasted current View.

4。 点云边缘

PCL 提供的点云边缘是否能用于我的实验, 来优化追踪效果。

优质内容筛选与推荐>>
1、Python-Unittest
2、大并发下TCP内存消耗优化小记(86万并发业务正常服务)
3、System.out.println()的详解
4、关于网络连接与系统安装
5、SQL常见的可优化点


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号