论文笔记_SLAM_Visual SLAM for Driverless Cars: A Brief Survey
目录
6.2 visual cues acquisition (视觉线索获取)
6.3 current parameters initialization (当前参数初始化)
6.4 information management (信息管理)
6.5 loop-closure detection (闭环检测)
1 论文基本信息
- 出处:Proceedings of the 2012 IEEE Intelligent Vehicles Symposium Workshops
- 年份:2012
- 作者:German Ros∗, Angel D. Sappa†, Daniel Ponsa∗ and Antonio M. Lopez∗
- Computer Vision Center and Computer Science Dpt. UAB, Bellaterra, Spain
- UAB:2015西班牙排名第一,巴塞罗那自治大学
- 被应用次数(Goggle Scholar):42
2 看本论文目的
- 了解vSLAM在无人驾驶上,能发挥什么样的作用。
3 问题场景
- 城市地面车辆(urban ground vehicles)环境下的,视觉SLAM方法综述;
- 为读者提供了一组有用的工具,如免费提供的代码和数据集。
- 可以帮助开发和测试新的VSLAM系统。
- VSLAM-DC:将应用于无人驾驶的视觉SLAM系统(VSLAM for driverless cars),称之为此简称。
- 研究意义:
- 最初SLAM的定义,已经得到了扩展;
- active sensors的缺点:
- expensive + high energy consumption
-
Visual SLAM (VSLAM)可以:
- 使得精确的自主系统的开发。成为可能;
- 同时降低了成本和整体的能源消耗。
- 背景:国际比赛,将自动驾驶从实验室,带入到了真实的环境中。
- international competitions:
- DARPA Grand Challenge 美国国防部高级研究计划局挑战赛
- European Land Robot Trials 欧洲大陆机器人选拔赛
- international competitions:
- 本文侧重点:
- 讨论设计决策(the design decisions),
- 和这种解剖结构的特征(the characteristics of such anatomy);
- 旨在定义一组标准的构建块。
4 解决方案及创新点
- 总结出一种将视觉SLAM系统应用于无人驾驶的,新的系统架构。
- 将问题分为5部分:
- (i) visual cues acquisition,
- (ii) current parameters initialization,
- (iii) information management,
- (iv) loop-closure detection,
- (v) optimization.
- 详情见下面的图示。
- 将问题分为5部分:
5 主要内容
5.1 自动驾驶主要任务
- 环境模型的建立,首先应该考虑的是,主要任务是干什么用的。
5.1.1 任务分类
- 全局规划(Global planning):
- 目标选择、路径计算(最短路径、最安全路径等)。
-
局部运动规划 (Local motion planning):
- 转向控制、速度控制、横向可操作性等。
-
避障 (Obstacle avoidance):
- 地形标记,道路检测,目标检测。
-
交通执法 (Traffic laws enforcement):
- 交通标志/信号检测和识别。
5.2 地图的表示形式
- topological maps[8]:
- 为计算与一组已知区域相关的当前车辆位置,使用的地图形式。
- metric maps:
- 为解决局部运动规划、避障、交通执法,合适的地图表示方式。
- 总结:
- 因此,表示世界的最适当方式,似乎是局部度量和全局拓扑的混合模型[5], [6], [9]。
- JOCOMMENT: SLAM在无人驾驶上的应用方式,可能影响到将来HAD地图的设计和发展。
- SLAM系统的输出:应包含准确的局部信息,这些信息不得不被编码在3D dense map中
- 目的:提供良好的细节,以执行有效的操控,和避碍。
- 缺点:计算复杂度高。
- 解决方法:紧凑的表示方法 (compact representations)
- 例如[12], 提出一种用长方形的条状柱子(rectangular sticks),近似地图的垂直表面的技术。
- 目的:以区分自由空间和物体。
- 例如[12], 提出一种用长方形的条状柱子(rectangular sticks),近似地图的垂直表面的技术。
- 因此,表示世界的最适当方式,似乎是局部度量和全局拓扑的混合模型[5], [6], [9]。
- 目前的一个挑战:
- 开发能够,构建长寿命可视化地图(long-life visual maps)的拓扑表示方法,该方法应考虑:
- 车辆之间共享地图;
- 长期内重用以前构建的地图。
- 开发能够,构建长寿命可视化地图(long-life visual maps)的拓扑表示方法,该方法应考虑:
6 通用的 VSLAM-DC 方法的不同阶段
6.1 整体结构
6.2 visual cues acquisition (视觉线索获取)
6.2.1目标
- 评估车辆姿态之间的关系
- 创建最终的地图
6.2.2 相机个数选择
- 单个:计算量可能较少
- 多个:
- 缺点:增加处理时间
- 优点:相机价格低,成本没增加太多;同时可能获取更多的约束,从而简化算法[6]。
- 多个相机的两种选择:
- 多个单目相机 (monocular cameras);
- 便宜
- 或者立体相机或者相机阵列(stereo cameras and arrays of cameras)。
- 贵
- 直接测量深度
- 多个单目相机 (monocular cameras);
6.2.3 特征选择
- 根据性质,特征分类有
- corners
- edges
- blobs
- higher level structures (e.g., planes, curves, etc.)
- 不同的特征,信息量不同,越复杂的特征,消耗的计算资源越大,如 planes vs corner。
-
角点(corner)
- 被认为是最具有拓展性的特征,成功应用在很多案例中,如[16], [17], [6], [5]。
- 不同的方法,使用的角度检测器和描述器不同,但主要是以下几个:
- Fast-BRIEF [18]
- Fast-SIFT [6]
- Fast-SURF[19]
- pure SIFT [20]
- 基于 edges 和 planes 的方法,也有人研究,额外的计算资源是重要影响因素。
6.2.4 现存挑战
- VSLAM系统性能,会随信息的数量和质量的增加,而更好;
- 计算能力的限制,我们可以处理的信息量是有限的;
- 关联信息的能力并不完美,它依赖于一致性的方法[5].
6.3 current parameters initialization (当前参数初始化)
6.3.1 目标
- 创建当前参数的初始近似值(pose和map)
-
pose:通常包括车辆的位置和方向( location and orientation )
- 是三维地标(3D landmarks)初始化的重要参考。
-
pose:通常包括车辆的位置和方向( location and orientation )
6.3.2 常用方法
- structure from motion (SfM)
- 通过几帧来跟踪一组稀疏特征,并使用它们来估计相机的姿态;
- 使用统计的方法:如RANSAC,以及后验非线性优化。
- 特点:应用较广泛。
- optical flow
- 用于图像场估计,但也可以通过一些额外的计算,来进行相机位姿初始化;
- JOEXTEND: https://www.bilibili.com/video/av36620728?p=16
- 光流估计:
- 在恒定亮度的假设下(BCM),估计一张图像中像素点,运动到了另一张图像中的是什么位置;
- 既可以应用在静止背景下面,又可以用在运动背景下。
- 矩阵的求逆最消耗时间,因此避免求矩阵的逆。
- 如果一个矩阵的特征值有一个或者都非常小(因为这导致行列式的值接近0),那么这个矩阵是接近不可逆的;即使能算逆,算你的结果也是不可信的。
- 光流估计:
- 通过全局能量最小化过程,产生稠密表示。
- 优点:精度高一些
- 代表文章:
- [19] H. Strasdat, J. M. M. Montiel, and A. Davison, “Scale drift-aware large scale monocular slam,” in Proc. Robot.: Science and Sys., Zaragoza, Spain, Jun 2010 ;谷歌学术被引用次数:481
- 随着新方法的出现,光流方法与SfM方法之间的界限,越来越模糊[26]。
- 我们认为,SfM和光流方法,在机器人和计算机视觉领域,都已经达到了很高的成熟水平,并且能被很好地理解。
6.4 information management (信息管理)
6.4.1 目标
- 将所有信息统一在一个一致的框架中:arrange all the information in a consistent framework
- 有不同的策略,但由于其一致性和简单性,所有这些策略,都使用约束图(a graph of constraints),来表示SLAM中的概念。
6.4.2 约束图模型
- 位姿(pose)和地标(landmarks)(地图的基本单元)表示为节点。
- 它们可观察性,关系联系起来,比如:从给定的pose对特定地标的观察能力。
-
两种不同的角度
- 贝叶斯网络:Bayesian networks(BN)
- [27] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics (Intelligent Robotics and Autonomous Agents). The MIT Press, 2005 谷歌学被引用次数:9844
- 代数约束图:graphs of algebraic constraints
- 更加通用
- [28] B. Triggs, P. F. McLauchlan, R. I. Hartley, and A. W. Fitzgibbon, “Bundle adjustment - a modern synthesis,” in Proc. Int. Conf. Comput. Vision, Workshops. London, UK: Springer-Verlag, 2000. 谷歌学术被引用次数:4233
- 贝叶斯网络:Bayesian networks(BN)
-
标准估计技术(根据它们使用图中信息的方式来定义)
- Filtering Techniques
- 来自过去状态的信息,用于约束当前状态;
- Global Estimation (GE)
- 基于使用图中所有可用的信息,来估计整个问题,即从t0到tn的完整轨迹和地图。
- 评价:
- 优点:产生最好的结果;
- 缺点:但计算复杂性很高。
- 与landmarks的数量成三次方关系,与pose数目成二次方关系
- 在实际应用中,可能不实用。
- 针对缺点的两个改进:
- 子图方式:“Subgraphpreconditioned conjugate gradients for large scale slam,” in Proc. IEEE Int. Conf. Intell. Robots and Sys., Oct 2010.
- QR因式分解:“isam: Incrementalsmoothing and mapping,” IEEE Trans. Robot., vol. 24, Dec 2008.
- Sliding Window Filters (SWF)
- 一个介于过滤和全局估计技术之间的中间解决方案。
- 选择一个图节点子集(滑动窗口),该子集通常接近当前位姿;因此,只使用了部分可用信息,从而降低了计算复杂度。
- 特点:有利于实时性能,但会牺牲部分系统精度。
- Filtering Techniques
6.4.3 评价
- 滑动窗口滤波器,和位图策略(pose-graph strategies),成为解决这些问题的更合适的选择
- 考虑到:这些技术使用完整的原始信息,而不应用边缘化过程,可以产生更好的结果。
- 然而,这种趋势伴随着高昂的计算成本,使得真正的城市问题难以解决。
6.5 loop-closure detection (闭环检测)
6.5.1 目标
- 将以前看到的区域或特性,与当前的区域或特性,相关联的操作。
6.5.2 原理描述
- 要执行环闭包检测,首先初始化一个新位姿 pose,然后将其添加为图的一个节点。从该节点可见的地标 landmark 也被添加到图中,并与该姿态相关联。
- 之后,如果我们的环闭合方法,检测到这些标志和一组之前看到的标志(与一个位姿节点相关联)之间的匹配,它可以得出结论:这两个节点表示相同的位姿,必须合并在一个节点中。
- 如果没有,则将添加的节点及其相关地标保存在图中。
- 当需要合并两个节点时,需要重新调整之前对某些姿态和特征的估计(drift correction,漂移修正)。如果在这个过程中涉及到大量的节点(例如,在一个由位姿节点组成的长环链中思考),它们中的大多数可能需要调整。
6.5.3 现存挑战
- 在 local level 工作的环路闭合方法足够健壮,可以完成它们的任务;
- 但是,对于全局级的方法来说,情况并非如此;
- 当环境条件发生变化时,仍然需要找到提高其可重复性的方法。
- 如处理照明、遮挡的剧烈变化。
6.6 optimization (优化)
- Extended Kalman Filter (EKF)
- 在过滤体系的背景中,最常用的技术;
- 经典卡尔曼过滤器(KF)的改进版;
- 通过线性化过程,来建模非线性系统的尝试。
- bundle adjustment (BA)
- 特点:
- 在全局评估框架内解决问题;
- 基于最小二乘优化方案,利用稀疏模式,以加快过程;
- 被广泛应用于摄影测量领域;
- 为涉及成千上万个变量的复杂系统,提供解决方案。
- 现状:
- 在实时VSLAM系统中,BA用于解决整个问题的子部分[25]。
- 特点:
7 VSLAM中的可用资源
- 作者维护的一个资源集合(软件及数据集):
- www.cvc.uab.es/adas/projects/slam
- 一个例子:
8 经典论文
- VSLAM在无人驾驶上的应用:
- [5] G. Sibley, C. Mei, I. Reid, and P. Newman, “Vast-scale outdoor navigation using adaptive relative bundle adjustment,” Int. J. Robot. Res., vol. 29, Jul 2010.
- [6] C. Mei, G. Sibley, M. Cummins, P. Newman, and I. Reid, “Rslam: A system for large-scale mapping in constant-time using stereo,” Int. J.Comput. Vision, vol. 94, Sep 2011.
- 使用 stereo camera ,加速(speed-up)特征提取。
- [7] B. Kitt, A. Geiger, and H. Lategahn, “Visual odometry based on stereo image sequences with ransac-based outlier rejection scheme,” in Proc. IEEE Intell. Veh. Symp., Jun 2010.
- 利用了过滤和RANSAC-based的离群值拒绝方案,来产生可靠的城市定位和地图。
- SFM经典论文:
- E. Mouragnon, M. Lhuillier, D. M., F. Dekeyser, and P. Sayd, “Generic and real-time structure from motion using local bundle adjustment,” Image and Vision Comput., vol. 27, Jul 2009.