动态SLAM引入
经典SLAM系统需要处理的问题
在连续图像序列中对特征的提取与匹配
利用特征估计相机位姿并同时构建未知环境的连续三维结构
经典SLAM基于静态假设,传统SLAM不能很好的处理动态特征,高动态环境下会失效
基于高级特征的动态SLAM研究
概述
与低级特征相比具有更强的判别性
高级特征检测器
支持向量机SVMs
随机条件场CRFs
神经网络NN
对于物体级SLAM,关键是数据关联,其本质是多目标跟踪问题
数据关联方法分类
生成式
判别式:基于检测的跟踪
目标跟踪
外观建模
度量学习
数据关联
基于低级特征的数据关联
相关工作:提出一种新的约束,在至少两帧的边界框中观测到点,并且他们应该足够靠近 3D 边界盒的中心
【14】
相关工作:建立了一个概率模型用于处理快速移动的物体
【47】
基于学习的数据关联
相关工作:为自动驾驶提供了一个3D目标检测方法,利用NN直接检测一对双目图像中对应的物体
【89】
相关工作:将【89】中的概念应用于临近帧,用于处理缓慢移动物体
【90】
鲁棒SLAM
使用高级特征作为基于低级特征SLAM的语义先验
存在的问题
单独使用语义信息没法定义潜在的移动物体,比如人手里拿着的书
边界框里可能包含背景特征
相关工作
单独利用语义信息,为动态特征建立一个概率模型,利用多个观测来判断特征是否是动态的
【34】
使用考虑深度的K-means聚类算法来区分边界框中的前景特征和背景特征
【41】
使用CNN对潜在的动态物体进行像素级的分解,被标记为潜在动态对象的特征不用于自身的运动估计和地图构建
【26】
构建的地图更可靠,可以长期重复使用
在通过语义信息剔除掉静态物体(停着的车)后,让SLAM系统更加脆弱
结合语义和几何信息,利用CNN对检测到的物体进行分类,将静态物体用于自身运动估计
【49】
相较于【26】可以使用更多的静态点,更鲁棒
构建的地图不能长期使用
讨论
利用两组TUM数据集测试基于RGB-D相机的部分系统相比于ORB SLAM2的性能提升
数据集
低动态:两个坐着的人
高动态:几个行走的人
结果
在基于点的SLAM系统里使用高级特征可以提高轨迹的准确性,但是提升有限
高级特征的提取是耗时的,并且依赖于GPU
物体级SLAM
可以在图像空间中识别到高级特征后,重建出他们对应的三维物体,并用于估计相机自身的运动
现有SLAM系统中物体的表示方式
参数方法
使用规则的三维形状:长方体、对偶二次曲面
收到边界框的严格限制
需要的算力少
非参数方法
使用几个小结构的几何表示重建的对象:surfels、voluments
需要的算力更多,且不便于用于机器人任务
参数方法中的长方体法
三维盒状信息
9个参数(3位置、3姿态、3维度)
1个语义标签
相关工作
通过计算目标的最大、最小、平均深度来获得目标的顶点和质心的深度信息,但是不能处理最大深度点看不到的情况
【97】
利用多个角度的观测点云信息重建完整的目标表面信息,然后估计其质心位置
【44】
基于深度学习的方法
可以生成一个三维点云,并基于点云匹配去检测物体
【98】
需要两个甚至多个子网络
在图像空间中检测物体,并恢复物体的三维结构
严重依赖于2D检测,不能充分利用三维信息
相关工作:建立了一个端到端的方法,用来联合估计并检测三维物体
【99】
讨论
高级特征可以利用先验信息指导运动分割
将物体作为地图中的元素可以为相机的位姿估计提供一个几何尺度约束
多目标跟踪SLAM
高级特征可以在一次拍摄中检测出动态物体
存在的问题
对于边界框表示
两个边界框存在交集时,会引入歧义性
相关工作:利用深度几何、轨迹、深度信息来识别实际位于物体上的特征
【47】
对于像素级掩码表示
边界点的划分,需要进一步检查或剔除掉这些边界上的点
讨论
因为现实世界中很多物体没有标签信息,所以他们对于大多数实际环境还是不够鲁棒
对于非刚性物体的处理也是难点
仍然时一个新颖且具有挑战性的研究方向
结论
对于鲁棒SLAM
高级特征可以为基于低级特征的SLAM提供先验
静态的高级特征也可以使用低级特征进行检测和匹配
在重建和相机自身运动估计的准确性方面:单独使用高级特征往往不如基于低级特征的SLAM
二者共同使用效果更好
对于多目标跟踪SLAM
基于描述子的方法在动态物体快速移动时不能很好的处理
大多数方法利用光流法解决,单对光照敏感限制了其应用
基于学习的方法很有前景
适当的采用概率化的处理对于动态场景的鲁棒跟踪和建图是有效的方法
虽然高级特征更符合人类都对世界的理解,单低级特征对于精确位姿估计发挥着更重要的作用,建议二者结合