BundleFusion论文解析


参考链接: BundleFusion解析

一.创新点

  1. 采用space-then-dense的全局优化策略:
    1.1 首先基于SIFT特征点进行位姿粗优化(主要用于对dense位姿优化提供初始位姿并且基于SIFT特征点进行回环检测与重定位);
    1.2 然后基于dense photometric 与 geometric consistency进行位姿精确优化;
  2. 采用local-to-global的位姿优化策略:
    2.1 首先每n个frame组成为一个chunk(子地图),chunk内采用local优化;
    2.2 然后对所有的chunks之间采用golbal优化;(由于chunk内frame之间遵从时间先后关系,chunk之间不需要保证时间的先后关系,因此回环检测/重定位是建立在chunk间的)

二.框架处理流程

在这里插入图片描述

三.各模块详解

1. 特征一致性策略

1.1 稀疏一致性:

1.1.1 SIFT特征检测与匹配;
1.1.2 Filter:
<1>Key point correspondence filter(寻找稳定的匹配点);
<2>Surface area filter(检测匹配的特征点的分布范围是否足够—>将3D特征点集合投影到两帧的主轴方向组成的平面上,如果投影区域的bounding box的面积不足够大,则放弃两帧之间的匹配关系);

1.2 稠密一致性(根据稀疏一致性得到的位姿关系,通过以下方式进行特征优化与检测):

1.2.1 空间距离误差约束;
在这里插入图片描述

1.2.2 空间法向量误差约束;
在这里插入图片描述

1.2.3 彩色图光度误差约束;

在这里插入图片描述

2. 分层优化策略

2.1 local Intra-Chunk Pose Optimization

每11个frame组成一个chunk,chunk间有一帧的重叠,以便于chunk间的位姿的优化;

2.2 per-Chunk keyframes

1.根据local pose优化的位姿,将chunk内所有frame内的特征点转换到同一个坐标系下进行表示(chunk内第一帧的位姿)
2.把空间位置和描述子相似的特征合并为一个特征(特征的位置用所有特征的的位置的最小二乘拟合得到)
3.舍弃intra-chunk(chunkn内的特征描述子和匹配关系)–>(意味着chunk内的稀疏特征匹配关系固定,后期不在进行chunk内的位姿优化);
4.保留chunk内下采样后的每帧的图像信息–>(意味着后期进行global优化时,通过对keyframe更新的位姿然后更新得到chunk内每个frame的位姿,通过此frame新的位姿对TSDF模型进行去融合和再融合的更新)
5.注:本论文中采用每N chunk(eg=11)个frame为一个chunk,同时记keyframe为chunk内的第一帧(代表融合后的chunk)global inter-Chunk Pose Optimization

3. 建立局部/全局优化目标函数

优化目标函数:Ealign(X)= WsparseEsparse(X) + WdenseEdense(X);

此处需要注意权重值Wdense随着迭代次出线性增加。具体解释为:迭代刚开始以稀疏特征点计算的位姿为主,随着迭代次数的进行,稠密计算的位姿相对于稀疏匹配的位姿更加可以提现高精度的特性,因此Wdense随着迭代次出线性增加。

4. 优化目标函数求解策略

假设求解目标函数为:
在这里插入图片描述
在这里插入图片描述

注意此处的参数:在这里插入图片描述
,接下来会对此参数进行解释:
|E|:代表存在关系的frame对数量;
|Ii|:60x80个匹配点的像素误差值;
|Di|:60*80个匹配点的点到平面的距离误差值;
Ncoor:代表所有存在关系的特征对数量;
3Ncoor:代表每个特征对存在三个误差量(4.1.1空间/点面距离/颜色差异);
N:代表3d空间,6个维度;

此时目标函数改写为向量形式为(F代表当前X下,所有量的误差函数):
在这里插入图片描述

注意此时:F函数代表N维到R维度的映射:
在这里插入图片描述
在这里插入图片描述

因此对于所有待优化的pose,变量个数很大;

四.算法不足及改进意见

  1. 检测的方法来确定初始位姿以及进行回环检测与重定位,所以此算法受特征点提取的质量以及应用场景的限制.(eg 弱纹理区域、重复纹理区域)参考kinectFusion的方法引入3D-3D的基于ICP的方式,来增加鲁棒性;
  2. 由于model中采用Integration and De-integration的方式,所以需要保存每一帧的深度图信息,因此随着时间的推移,会导致内存开销持续增长,速度因此也会越来越慢;建议可以将chunk内的n个frame转为只保存n个key-frame的方式,延缓增长;
  3. 采用点贴图的方式,后期可以更改为面贴图方式,以增加纹理细节;
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
BundleFusion算法虽然在实时重建和场景重建方面有一定的优势,但也存在一些不足之处: 1. 对大规模场景的处理能力有限:BundleFusion算法在处理大规模场景时可能会面临内存和计算资源限制的挑战。由于需要存储和处理大量的点云数据,算法的实时性能可能会受到限制。 2. 对运动快速或动态场景的鲁棒性较差:BundleFusion算法在处理运动快速或动态场景时可能会出现模糊或伪影等问题,导致重建结果的不准确性。算法对于相机姿态变化和场景动态性的鲁棒性有待改进。 3. 对纹理缺乏鲁棒性:由于BundleFusion算法主要依赖于特征点的提取和匹配,对于纹理缺乏或低纹理区域的处理可能会存在困难。这可能导致在低纹理区域的重建结果较差。 4. 对平面结构和非平面结构的处理不平衡:BundleFusion算法在处理平面结构和非平面结构时可能存在处理不平衡的问题。对于非平面结构,算法可能需要更复杂的建模和优化策略来捕捉其几何形状和细节。 5. 受限于输入传感器:BundleFusion算法对输入传感器的要求较高,需要精确的相机姿态和深度图像信息。这可能限制了算法在一些设备或传感器上的适用性。 综上所述,BundleFusion算法在实时重建和场景重建方面具有一定的局限性。然而,随着技术的不断发展和改进,这些问题有望得到进一步解决,并提高算法的稳定性和鲁棒性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值