ElasticFusion: Dense SLAM Without A Pose Graph

ElasticFusion: Dense SLAM Without A Pose Graph

一、主要贡献

  1. surfel-based稠密建图。

  2. 将surfel分为激活区域和非激活区域,一段时间内未观测到的归入非激活区域。

  3. 每一帧,尝试把激活模型中当前相机估测位姿部分,登记至非激活模型在当前帧的部分,若登记成功,则检测到闭环,进行非刚体变换。发生闭环的非激活部分再次激活,放入登记的区域。(每一帧把同视角下的激活部分和未观测到的非激活部分匹配,来检测闭环)。

  4. 对于全局闭环,向随机encoding database里添加预测视角,每一帧匹配这个视角,如果匹配到,就登记这个视角并检测是否全局一致。如果是,对地图进行非刚体变换,消除闭环。

二、算法流程
在这里插入图片描述

  1. ElasticFusion通过RGB-D图像配准计算位姿,根据输入点云利用ICP算法配准计算位姿。

  2. 计算相机位姿如果误差大于设定阈值,表示跟踪失败,启动重定位算法;如果误差小于设定阈值,则进入下一部分。

  3. 利用Random Ferns进行全局的回环检测算法,检测是否存在全局的回环,如果存在全局的回环,假设当前帧为Icur 检测到和第i帧存在回环;再利用第一部中的跟踪算法计算当前帧和第i帧之间的位姿,计算得到位姿变换后,在图像中均匀抽取一些点,建立约束,优化node参数。

  4. 在3中如果不存在全局的回环,则检测是否存在局部的回环,如果存在局部的回环,则同第3步,进行位姿估计,并且建立约束,优化node参数。

  5. 计算得到相机位姿后,将当前帧的点云和重建好的做融合,融合使用openGL 的shading language,如果在存在局部的或者全局的回环,在使用openGL进行点的融合时候,将优化之后的节点变量,作用于全部的点。

  6. 融合到全局模型中后,再用openGL投影得到当前视角下可以看到的点,用来对下一帧图像配准。

三、Surfel表示模型
在这里插入图片描述

    对于每个点,存储了:

    点的位置信息:(x, y, z)

    面片的半径: r

    法向量: n

    颜色信息:(R, G, B )

    点的获取时间信息:t

    在进行点的融合更新时:点的位置信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值