实时三维重建介绍

  实时三维重建与SLAM技术有很大的关联性,不同之处在于三维重建更加关注建图的完整性和精度,适用场景一般很小,而SLAM技术更加关注定位精度,可用于室外大场景环境。除此之外二者计算位姿的方法也不相同,SLAM一般采用特征点法和直接法,三维重建以点云ICP算法为基础(此处的ICP算法没有特征点的匹配),有时会融合光度、语义等信息。
  最为经典开源的实时三维重建系统是KinectFusion(2011年)、ElasticFusion(2015年)和DynamicFusion(2015年)。KinectFusion是第一个使用RGBD相机进行实时稠密三维重建的系统,其奠定了经典的系统框架,基于点云ICP算法的frame-to-model位姿计算方法得到了后人的广泛采用。ElasticFusion在KinectFusion的基础之上引入了回环检测和重定位功能,使得系统更加完善和合理。之前的系统都是假定场景是精致的,对于非刚体物体的重建工作仍存在很大挑战,DynamicFusion第一个能够实时重建非刚性变形场景的密集SLAM系统,其计算每一帧深度图相对于参考帧的体翘曲场,通过逆变换不断对参考帧进行修补和完善,从而重建参考帧的表面。
  相关链接:
  KinectFusion介绍:https://www.guyuehome.com/34453
  动态SLAM技术介绍:https://www.guyuehome.com/34296
  动态SLAM经典开源论文:https://www.guyuehome.com/34287

动态环境下三维重建论文汇总

  近几年动态环境下的SLAM问题得到了广泛的研究,17年开始涌现了很多经典论文与系统,以ORB-SLAM2为基础、基于特征点法的SLAM系统(例如DS-SLAM、Dyna-SLAM)定位实时性号精度高,但是由于现有技术手段的限制,发展到了瓶颈期;与之形成鲜明对比的是,动态实时三维重建方向呈现出了蓬勃发展的态势,每年都有高水平的论文发表在ICRA、IROS上(例如Co-Fusion、StaticFusion),其应用场景较为简单,定位精度亟待提升,有着广阔的发展研究空间。下面汇总下近几年的论文:
 
1. DynamicFusion: Reconstruction and Tracking of Non-rigid Scenes in Real-Time
来源:CVPR2015,最佳论文(开源
地位:第一个能够实时重建非刚性变形场景的密集SLAM系统
主要内容:
通过计算场景流之类的东西,逆变换后对非刚体物体进行重建
1.建立一个关键帧下的模型,之后场景通过几何变换对应到这个模型上
2.计算每一帧深度图的体翘曲场,通过几何变换之后再融合到模型当中
3.这里变换的过程相当于取消了场景的变换;就这样场景逐渐的变得真实丰满



 

2. Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects
来源:ICRA2017(开源
思想:学习和维护每个动态物体的三维模型,并通过随时间的融合提高模型结果
主要内容:
1.运动分割(条件随机场)+语义分割,对场景中的物体进行分割
2.对每个物体单独进行重建(ICP+语义信息计算每个物体的位姿),此时已经没有了相机位姿的概念
3.surfel 模型对每个物体进行融合



 

3. Fast Odometry and Scene Flow from RGB-D Cameras based on Geometric Clustering
来源:ICRA2017(开源
主要内容:
1.在点云中进行K-means聚类
2.假设每一个聚类都是一个刚体,对每一个聚类计算位姿,相对于像素级别的场景流,该方法速度更快精度更高
3.计算初始位姿,并区分静态背景,静态背景用于计算位姿,场景流用于估计运动物体
4.背景传播模型



 

4. StaticFusion: Background Reconstruction for Dense RGB-D SLAM in Dynamic Environments开源
来源:ICRA2018
主要内容:
1.在ElasticFusion基础上创作的,K-means聚类+静态背景分割
2.目标函数同时优化相机位姿(光度,几何)与静态分割结果(包含残差、类内统一、深度三方面)
3.背景重建,这里应该没啥创新点



 

5. ReFusion: 3D Reconstruction in Dynamic Environments for RGB-D Cameras Exploiting Residuals
来源:IROS2019(开源
主要内容:
1.由重投影的残差分离动态目标
2.用投影后的点,所在的TSDF地图中的值(也就是距离表面的距离作为残差,与边缘SLAM类似)以及光度误差加权得到最终的误差
3.用连续帧来判断深度图无效的点是否没有测量到还是过远,对没有测量到的点进行补充(没看懂)



 

6. FlowFusion Dynamic Dense RGB-D SLAM Based on Optical Flow
来源:ICRA2020(开源
主要内容:
深度神经网络在SLAM技术中的应用
1.PWC网络进行稠密光流计算
2.2D场景流表示动态区域
3.由位姿以及光流,计算场景流(仅由物体运动产生的流场):2D scene flow = optical fow - ego flow
4.场景流区域即为动态物体,仅将静态区域融合进地图中
5.通过不断迭代进行三维背景重建



 

7. RigidFusion: Robot Localisation and Mapping in Environments with Large Dynamic Rigid Objects
来源:ICRA2021
针对问题:1.动态区域过大时动态系统容易崩跟丢 2.有些物体的状态在动态与静态之间转换
主要内容:把动态物体看做刚体进行跟踪,创新点并不是很足,但是研究现状总结的很好



 

8. PoseFusion: Dense RGB-D SLAM in Dynamic Human Environments
来源:Proceedings of the 2018 International Symposium on Experimental Robotics
主要内容:
针对人类的生活场景,将人体区域作为动态区域进行剔除
1.OpenPose网络识别人体的关节
2.以人体的关节为先验知识,在点云数据中进行最小割,得到人体区域并剔除
3.以ElasticFusion为基础,搭建动态稠密slam系统



 

其他待读论文

1.StaticFusion Background Reconstruction for Dense RGB-D SLAM in Dynamic Enviroment(ICRA 2017)
2.Learning Rigidity in Dynamic Scenes with a
Moving Camera for 3D Motion Field Estimation(ECCV 2018)
3.Improving RGB-D SLAM in dynamic environments: A motion removal approach (Robotics and Autonomous Systems 2017)
4.Motion removal for reliable RGB-D SLAM in dynamic environments (Robotics and Autonomous Systems 2018)