语义slam_SLAM的动态地图和语义问题 (上)

语义slam_SLAM的动态地图和语义问题 (上)_第1张图片

不小心删了,先补上。内容比较旧了,也没时间再审查。不对之处,请多包涵。


近年来动态地图和语义地图好像在SLAM领域比较热,动态物体一直是个敏感的问题。当年计算机视觉唯一的工业落地场景“视觉监控”也在这个问题费了脑筋,比如我搬个凳子到新位置,然后就走了,系统是不是要自动更新背景呢?

以前说过SFM和SLAM的称呼,计算机视觉的同行多半说SFM,而机器人的行业流行说SLAM,到底区别在哪里?有说SFM是假设背景不动,那么outlier是什么?当年做IBR(image-based rendering)的时候,以panorama view为例,也是假设场景物体不动,可总是有不静止的物体,比如水,比如树叶,甚至不配合的人们走动,会产生鬼影吗?结果也提出了一堆的解决方法。SFM和MVG(multiple view geometry)紧密相关吧,都面临计算机视觉的共同问题,动态环境是回避不了的。

景物动态部分不一定是object,或者不一定能得到object,所以不一定是语义的。语义地图不一定就是动态的,所以语义地图和动态地图是有重叠的,不过最近深度学习的发展比如语义分割,目标检测和跟踪等等的确使二者渐渐走在了一起。在人的眼中,一切都是语义的存在,尽管对某些部分认识不够。

这里我还是把SLAM动态地图和语义SLAM分开,主要是文章太多。

先列个题目,动态地图放在上部分,而语义地图放下部分。


先推荐一篇ACM Computing Survey发表于2018年2月的综述文章“Visual SLAM and Structure from Motion in Dynamic Environments: A Survey“,它对动态环境的分析可以参考一下。

讨论的方法基本分三大类:一定位和重建为主,二动态目标分割和跟踪为主,三运动分割与重建联合估计的方法。

语义slam_SLAM的动态地图和语义问题 (上)_第2张图片

下图给出了各种方法之间的联系:

语义slam_SLAM的动态地图和语义问题 (上)_第3张图片

第一类 “A)Robust Visual SLAM”,下图给出框图结构:

语义slam_SLAM的动态地图和语义问题 (上)_第4张图片

第二类 “B)Dynamic Object Segmentation and 3D Tracking“ ,同样的,其框架图如下:

语义slam_SLAM的动态地图和语义问题 (上)_第5张图片

第三类 “C)Joint Motion Segmentation and Reconstruction“,其特性见下图:

语义slam_SLAM的动态地图和语义问题 (上)_第6张图片

在这三类方法中都有深度学习的部分。

下面选一些论文作为参考(注:次序没有按时间排列)。


1.Simultaneous Localization and Mapping with Detection and Tracking of Moving Objects

语义slam_SLAM的动态地图和语义问题 (上)_第7张图片

看上面的系统流程图,典型的方法:运动分割,运动目标检测和跟踪,静态目标和静态地图。

2.Simultaneous Localization and Mapping with Moving Object Tracking in 3D Range Data

语义slam_SLAM的动态地图和语义问题 (上)_第8张图片

如上面框图所示,特点:采用occupancy grid maps,因为传感器是激光雷达,可以采用ICP算法定位,地面估计去除在先,Mean Shift做聚类得到目标检测,Probability Hypothesis Density (PHD) 做多目标跟踪。

3.Online Localization and Mapping with Moving Object Tracking in Dynamic Outdoor Environments

语义slam_SLAM的动态地图和语义问题 (上)_第9张图片

采用激光雷达数据,基于incremental scan matching方法定位,不受环境小运动的影响。

语义slam_SLAM的动态地图和语义问题 (上)_第10张图片

跟上一个文章一样采用occupancy map,环境地图步进更新,基于此检测运动目标,而目标跟踪基于Global NN算法。

4.SLAM method: reconstruction and modeling of environ. with moving objects using an RGBD camera

语义slam_SLAM的动态地图和语义问题 (上)_第11张图片

采用Kinect深度传感器,见上图,和一般SLAM比较,比较容易检测出运动目标(室内深度层次少)。

5.Generic NDT mapping in dynamic environments and its application for lifelong SLAM

语义slam_SLAM的动态地图和语义问题 (上)_第12张图片

首先,采用Hybrid Normal Distribution Transform (NDT) occupancy maps,如上图。

语义slam_SLAM的动态地图和语义问题 (上)_第13张图片

其次,系统可以检测跟踪运动目标,而graph-based SLAM能够实现lifelong SLAM。


6 RGB-D SLAM in Dynamic Environments using Static Point Weighting

语义slam_SLAM的动态地图和语义问题 (上)_第14张图片

如图介绍,其特点:还是RGB image加深度数据,提出depth edge 做visual odometry, 而static weighting 是为了对付运动物体。Intensity Assisted ICP (IAICP) 是改进ICP做定位的算法。

7.EVO: A Geometric Approach to Event-Based 6-DOF Parallel Tracking and Mapping in Real-time

语义slam_SLAM的动态地图和语义问题 (上)_第15张图片

上图为算法流程图。EVO = Event-based Visual Odometry,就是用event cameras (类似Dynamic Vision Sensor)做运动跟踪,上图框架像PTAM。下面两个图是介绍Mapping方法EMVS:

语义slam_SLAM的动态地图和语义问题 (上)_第16张图片

注:参考方法 EMVS = Event-based Multi-View Stereo,DSI = Disparity Space Image。

语义slam_SLAM的动态地图和语义问题 (上)_第17张图片

8.SLAM in a Dynamic Large Outdoor Environment using a Laser Scanner

语义slam_SLAM的动态地图和语义问题 (上)_第18张图片

上图SLAM,其中模块A的细节在红色圆圈里。其特点:还是运动目标检测和跟踪;采用GPS诊断pose误差,实现全局精准。

9.Realtime Multibody Visual SLAM with a Smoothly Moving Monocular Camera

语义slam_SLAM的动态地图和语义问题 (上)_第19张图片

简单示意图如上,其特点:Bearing only Tracking (BOT) 基于particle filter,运动相机做motion segmentation保证静态景物3-D重建。

10.Localization in highly dynamic environments using dual-timescale NDT-MCL

· Normal Distributions Transform (NDT)

· Monte Carlo Localization (MCL)

MCL是基于particle filter的方法,地图采用Occupancy maps模式,这样NDT做定位。

MCL分三步:

· 1. prediction

32f54074590beab2e460d170d2e652d3.png

· 2. update

· 3. resampling.

下面是整个算法的伪代码:

语义slam_SLAM的动态地图和语义问题 (上)_第20张图片

11.SLAM With Dynamic Targets via Single-Cluster PHD Filtering

算法核心是particle/Gaussian mixture,single- cluster process是指feature-based SLAM,其中车辆运动是主,而特征运动为附。下面是四个算法的概略:

语义slam_SLAM的动态地图和语义问题 (上)_第21张图片

语义slam_SLAM的动态地图和语义问题 (上)_第22张图片

语义slam_SLAM的动态地图和语义问题 (上)_第23张图片

语义slam_SLAM的动态地图和语义问题 (上)_第24张图片

12.Exploiting Rigid Body Motion for SLAM in Dynamic Environments

基于factor graph处理SLAM的动态物体的运动干扰。下面三个图都是SLAM的factor graph。

语义slam_SLAM的动态地图和语义问题 (上)_第25张图片

语义slam_SLAM的动态地图和语义问题 (上)_第26张图片

语义slam_SLAM的动态地图和语义问题 (上)_第27张图片

下图是特征提取和跟踪的结果例子:

语义slam_SLAM的动态地图和语义问题 (上)_第28张图片

13.Histogram of Oriented Cameras - A New Descriptor for Visual SLAM in Dynamic Environments

提出一个3-D描述子Histogram of Oriented Cameras (HOC) ,如下图:

语义slam_SLAM的动态地图和语义问题 (上)_第29张图片

下图是SLAM框架:双目视觉,关键在地图更新环部分。

语义slam_SLAM的动态地图和语义问题 (上)_第30张图片

14.Event-based 3D SLAM with a depth-augmented dynamic vision sensor

采用event camera,即DVS(dynamic vision sensor)处理动态环境。系统展示图如下:

语义slam_SLAM的动态地图和语义问题 (上)_第31张图片

这里DVS和RGB-D深度传感器进行融合做定位。

15.Simultaneous Localisation and Mapping in Dynamic Environments (SLAMIDE) with Reversible Data Association

采用广义EM(expectation maximisation)算法处理动态环境下的SLAM,求解的问题定义在一个Bayesian Network框架,如下图:采用sliding window SLAM而不是EKF方法。

语义slam_SLAM的动态地图和语义问题 (上)_第32张图片

加了Reversible Data Association处理动态目标,如下图:实现Data Association可以通过NN或者joint compatibility branch and bound (JCBB) 算法。

语义slam_SLAM的动态地图和语义问题 (上)_第33张图片

其中的Bayesian Network就是HMM实现,如下图SLAMIDE:

语义slam_SLAM的动态地图和语义问题 (上)_第34张图片

16.CoSLAM: Collaborative Visual SLAM in Dynamic Environments

采用多个独立摄像头协同工作的SLAM系统,如下图:

语义slam_SLAM的动态地图和语义问题 (上)_第35张图片

关于地图中的point classification,分类类型即‘static’, ‘dynamic’, ‘false’ 或者 ‘uncertain‘,判别流程见下图:

语义slam_SLAM的动态地图和语义问题 (上)_第36张图片

这里显示各个camera如何协同估计自身的pose:

语义slam_SLAM的动态地图和语义问题 (上)_第37张图片

17.IMU-Assisted 2D SLAM Method for Low-Texture and Dynamic Environments

前端部分,在卡尔曼滤波extended Kalman Filter (EKF)下融合IMU传感器和2D LiDAR的2-DSLAM处理低纹理动态环境,scan matching通过LM(Levenberg–Marquardt )算法优化。在后端,做sparse pose adjustment (SPA) 。如下图:

语义slam_SLAM的动态地图和语义问题 (上)_第38张图片

18.Dynamic pose graph SLAM: Long-term mapping in low dynamic environments

讨论如何维护室内激光雷达扫描的地图,其中Dynamic Pose Graph SLAM (DPG-SLAM)做这种动态环境下的定位。DPG定义如下:

语义slam_SLAM的动态地图和语义问题 (上)_第39张图片

DPG的例子:

语义slam_SLAM的动态地图和语义问题 (上)_第40张图片

DPG的一个节点:

语义slam_SLAM的动态地图和语义问题 (上)_第41张图片

采用的SLAM方法是iSAM。所谓Low-dynamic objects就是那些容易加上/移动/去除的物体。 关键是如何检测变化和更新地图。下面是三个相关算法图:

语义slam_SLAM的动态地图和语义问题 (上)_第42张图片

语义slam_SLAM的动态地图和语义问题 (上)_第43张图片

语义slam_SLAM的动态地图和语义问题 (上)_第44张图片

19. Semantic Monocular SLAM for Highly Dynamic Environments

扩展了ORB-SLAM,特征提取和匹配可以直接用于姿态估计,采用一个outlier概率模型处理地图的变化,系统概略如下图:

语义slam_SLAM的动态地图和语义问题 (上)_第45张图片

下面的结果来自一个demo视频截图:

语义slam_SLAM的动态地图和语义问题 (上)_第46张图片

20. Robust Monocular SLAM in Dynamic Environments

该Monocular SLAM可以处理缓慢变化的动态环境,是一种在线keyframe方法,能够检测变化并及时更新地图。另外,提出一个prior-based adaptive RANSAC (PARSAC) 算法去除outlier。系统框架如下图:

语义slam_SLAM的动态地图和语义问题 (上)_第47张图片

特别的,处理遮挡问题,及时检测,下图有它的算法框架,其中appearance变化测度如下:

c2124133220619dbaf95a32f3c84f942.png

语义slam_SLAM的动态地图和语义问题 (上)_第48张图片

------------结束-------------

你可能感兴趣的:(语义slam)