第10卷第4期 智能系统学报 Vol.10 No.4 2015年8月 CAAI Transactions on Intelligent Systems Aug.2015 D0:10.3969/j.issn.1673-4785.201503003 网s络出版地址:http:/www.cnki.net/kcms/detail/23.1538.TP.20150630.1625.007.html 单目视觉同步定位与地图创建方法综述 顾照鹏,刘宏12 (1.北京大学深圳研究生院物联网智能感知工程实验室,广东深圳518055:2.北京大学机器感知与智能教育部重 点实验室,北京100871) 摘要:随着计算机视觉技术的发展,基于单目视觉的同步定位与地图创建(monocular SLAM)逐渐成为计算机视觉 领域的热点问题之一。介绍了单目视觉SLAM方法的分类,从视觉特征检测与匹配、数据关联的优化、特征点深度的 获取、地图的尺度控制几个方面阐述了单目视觉SLAM研究的发展现状。最后,介绍了常见的单目视觉与其他传感 器结合的SLAM方法,并探讨了单目视觉SLAM未来的研究方向。 关键词:单目视觉:同步定位与地图创建:扩展卡尔曼滤波器:计算机视觉:特征检测与匹配 中图分类号:TP391文献标志码:A文章编号:1673-4785(2015)04-0499-09 中文引用格式:顾照鹏,刘宏.单目视觉同步定位与地图创建方法综述[J].智能系统学报,2015,10(4):499-507. 英文引用格式:GU Zhaopeng,LIU Hong.A survey of monocular simultaneous localization and mapping[J].CAAI Transactions on Intelligent Systems,2015,10(4):499-507. A survey of monocular simultaneous localization and mapping GU Zhaopeng',LIU Hong'.2 (1.Engineering Lab on Intelligent Perception for Internet of Things (ELIP),Shenzhen Graduate School,Peking University,Shenzhen 518055,China;2.Key Laboratory of Machine Perception,Peking University,Beijing 100871,China) Abstract:With the development of computer vision technology,monocular simultaneous localization and mapping (monocular SLAM)has gradually become one of the hot issues in the field of computer vision.This paper intro- duces the monocular vision SLAM classification that relates to the present status of research in monocular SLAM methods from several aspects,including visual feature detection and matching,optimization of data association, depth acquisition of feature points,and map scale control.Monocular SLAM methods combining with other sensors are reviewed and significant issues needing further study are discussed. Keywords:monocular vision;simultaneous localization and mapping;extended Kalman filter;computer vision; feature detection and matching 随着计算机技术和人工智能的发展,机器人localization and mapping,SLAM)问题是指移动机 的研究得到越来越多的关注和投人,智能自主移 器人在未知环境中,利用自身的传感器创建一个 动机器人成为机器人领域的一个重要研究方向 与环境相一致的地图,并同时确定自身在地图中 和研究热点。同步定位与地图创建(simultaneous 的位置。SLAM问题最先是由Smith Self和Che- eseman)于1987年提出,被认为是实现移动机 收稿日期:2015-03-03.网络出版日期:2015-06-30. 器人真正自主的关键。近年来随着计算机视觉 基金项目:国家863计划资助项目(2006AA04Z247):国家自然科学基 金资助项目(60875050,60675025,61340046):深圳市科技计 技术的发展以及计算机运算能力的增强,出现了 划项目及基础研究计划资助项目(201005280682A, JCY订20120614152234873):教育部高等学校博士学科点专项 大量利用摄像机作为传感器的视觉SLAM方法。 科研基金资助项目(20130001110011) 视觉传感器具有信息量大、灵活性高、成本低等 通信作者:顾照鹏.E-mail:up@pkusz.ed.cn 优点,这是其他传感器所无法比拟的。单目视觉
第 10 卷第 4 期 智 能 系 统 学 报 Vol.10 №.4 2015 年 8 月 CAAI Transactions on Intelligent Systems Aug. 2015 DOI:10.3969 / j.issn.1673⁃4785.201503003 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.TP.20150630.1625.007.html 单目视觉同步定位与地图创建方法综述 顾照鹏1 ,刘宏1,2 (1. 北京大学 深圳研究生院 物联网智能感知工程实验室,广东 深圳 518055; 2. 北京大学 机器感知与智能教育部重 点实验室,北京 100871) 摘 要:随着计算机视觉技术的发展,基于单目视觉的同步定位与地图创建(monocular SLAM)逐渐成为计算机视觉 领域的热点问题之一。 介绍了单目视觉 SLAM 方法的分类,从视觉特征检测与匹配、数据关联的优化、特征点深度的 获取、地图的尺度控制几个方面阐述了单目视觉 SLAM 研究的发展现状。 最后,介绍了常见的单目视觉与其他传感 器结合的 SLAM 方法,并探讨了单目视觉 SLAM 未来的研究方向。 关键词:单目视觉;同步定位与地图创建;扩展卡尔曼滤波器;计算机视觉;特征检测与匹配 中图分类号: TP391 文献标志码:A 文章编号: 1673⁃4785(2015)04⁃0499⁃09 中文引用格式:顾照鹏,刘宏. 单目视觉同步定位与地图创建方法综述[J]. 智能系统学报, 2015, 10(4): 499⁃507. 英文引用格式:GU Zhaopeng, LIU Hong. A survey of monocular simultaneous localization and mapping[J]. CAAI Transactions on Intelligent Systems, 2015, 10(4): 499⁃507. A survey of monocular simultaneous localization and mapping GU Zhaopeng 1 , LIU Hong 1,2 (1.Engineering Lab on Intelligent Perception for Internet of Things (ELIP), Shenzhen Graduate School, Peking University, Shenzhen 518055, China; 2. Key Laboratory of Machine Perception, Peking University, Beijing 100871, China) Abstract:With the development of computer vision technology, monocular simultaneous localization and mapping (monocular SLAM) has gradually become one of the hot issues in the field of computer vision. This paper intro⁃ duces the monocular vision SLAM classification that relates to the present status of research in monocular SLAM methods from several aspects, including visual feature detection and matching, optimization of data association, depth acquisition of feature points, and map scale control. Monocular SLAM methods combining with other sensors are reviewed and significant issues needing further study are discussed. Keywords:monocular vision; simultaneous localization and mapping; extended Kalman filter; computer vision; feature detection and matching 收稿日期:2015⁃03⁃03. 网络出版日期:2015⁃06⁃30. 基金项目:国家 863 计划资助项目(2006AA04Z247);国家自然科学基 金资助项目(60875050,60675025,61340046);深圳市科技计 划项 目 及 基 础 研 究 计 划 资 助 项 目 ( 201005280682A, JCYJ20120614152234873);教育部高等学校博士学科点专项 科研基金资助项目(20130001110011). 通信作者:顾照鹏. E⁃mail:guzp@ pkusz.edu.cn. 随着计算机技术和人工智能的发展,机器人 的研究得到越来越多的关注和投入,智能自主移 动机器人成为机器人领域的一个重要研究方向 和研究热点。 同步定位与地图创建( simultaneous localization and mapping,SLAM) 问题是指移动机 器人在未知环境中,利用自身的传感器创建一个 与环境相一致的地图,并同时确定自身在地图中 的位置。 SLAM 问题最先是由 Smith Self 和 Che⁃ eseman [ 1] 于 1987 年提出,被认为是实现移动机 器人真正自主的关键。 近年来随着计算机视觉 技术的发展以及计算机运算能力的增强,出现了 大量利用摄像机作为传感器的视觉 SLAM 方法。 视觉传感器具有信息量大、灵活性高、成本低等 优点,这是其他传感器所无法比拟的。 单目视觉
.500. 智能系统学报 第10卷 SLAM仅使用一个摄像头作为传感器完成同步定 给定了从初始时刻到当前时刻的控制输入以及 位与地图创建操作,具有系统结构简单、成本低 观测数据的条件下,构建一个联合后验概率密度 且易实现等优点。因此,基于单目视觉SLAM技 函数来描述摄像机姿态和地图特征的空间位置。 术逐渐成为近年来的研究热点,并且在许多领域 通过递归的贝叶斯滤波方法对此概率密度函数 中体现出巨大的应用价值。 加以估计,从而实现摄像机同步定位和地图创 1 单目视觉SLAM方法分类 建。在该类方法中,利用扩展卡尔曼滤波器(ex- tended Kalman filter)I2]实现同步定位与地图创建 根据算法是否采用概率框架,文献中的单目视 是一种常用的解决方案[31o。例如,Davison 觉的SLAM方法主要可以分为两类,即基于概率框 等3]实现了一种基于扩展卡尔曼滤波器的实时 架的单目视觉SLAM方法和非概率框架的单目视觉 单目视觉SLAM系统(MonoSLAM),Lemaire等[] SLAM方法。 利用MATLAB实现了一个基于扩展卡尔曼滤波 1.1基于概率框架的单目视觉SLAM方法 器的单目视觉SLAM仿真实验系统,Roussillon 由于SLAM问题涉及未知的环境描述和传感 等[1]利用高速摄像机实现了基于EKF的实时单 器噪声,因此大部分基于单目视觉的SLAM方法 目视觉SLAM系统RTSLAM。图1给出了典型基 采用概率框架来描述该问题。其总体思路是在 于EKF的单目视觉SLAM的流程图。 惯性传 感器信息 开始/停止 运动模型 EKF更新 特征转换 新建特征点 EKF预测 数据关联 转换6维特征到 测量模型 3维特征 特征点初始化 视频图像 图1基于EKF的单目视觉SLAM流程图 Fig.1 Flowchart of EKF based Monocular SLAM 此外,一些研究人员利用粒子滤波等概率滤 1.2基于非概率框架的单目视觉SLAM方法 波器实现了单目视觉SLAM方法[16。例如, 非概率框架的单目视觉SLAM系统目前主要 Sim等[川提出了一种基于粒子滤波的SLAM方 是基于关键帧和稀疏捆绑调整等优化算法实现。 法,其基本原理是将运动路径与地图的联合后验 例如,Mouragnon等19利用摄像机最近采集的固 分布估计问题分解为用粒子滤波器对运动路径 定数目的图像作为关键帧,进行局部捆绑调整优 的估计问题和在路径已知的条件下的路标估计 化,进而实现单目摄像机的定位与地图创建。 问题。然而,为了保证定位精度,基于粒子滤波 Klein等[20-2]提出了一种基于关键帧的单目视觉 的SLAM方法在复杂场景和运动的情况下需要 SLAM系统PTAM。该系统利用一个线程对摄像 较多的粒子,这大大增加了算法时间复杂度,并 机姿态进行跟踪,同时利用另外一个线程对关键 且其重采样过程中容易导致样本贫化等问题,因 帧数据以及所有特征点的空间位置进行捆绑调 此这种方法没有得到大范围的应用。另外为了 整,进而实现了实时的同步定位与地图创建。 改进系统非线性给EKF带来的影响,无迹卡尔曼 PTAM的双线程系统框图如图2所示。另外,基 滤波器也被引入到单目视觉SLAM算法中8), 于图优化的SLAM方法【22]也逐渐被引入到单 但是先比EKF增加了计算复杂度。 目视觉SLAM中
SLAM 仅使用一个摄像头作为传感器完成同步定 位与地图创建操作,具有系统结构简单、成本低 且易实现等优点。 因此,基于单目视觉 SLAM 技 术逐渐成为近年来的研究热点,并且在许多领域 中体现出巨大的应用价值。 1 单目视觉 SLAM 方法分类 根据算法是否采用概率框架,文献中的单目视 觉的 SLAM 方法主要可以分为两类,即基于概率框 架的单目视觉 SLAM 方法和非概率框架的单目视觉 SLAM 方法。 1.1 基于概率框架的单目视觉 SLAM 方法 由于 SLAM 问题涉及未知的环境描述和传感 器噪声,因此大部分基于单目视觉的 SLAM 方法 采用概率框架来描述该问题。 其总体思路是在 给定了从初始时刻到当前时刻的控制输入以及 观测数据的条件下,构建一个联合后验概率密度 函数来描述摄像机姿态和地图特征的空间位置。 通过递归的贝叶斯滤波方法对此概率密度函数 加以估计,从而实现摄像机同步定 位 和 地 图 创 建。 在该类方法中,利用扩展卡尔曼滤波器( ex⁃ tended Kalman filter) [ 2] 实现同步定位与地图创建 是 一 种 常 用 的 解 决 方 案[ 3⁃10] 。 例 如, Davison 等[ 3⁃8]实现了一种基于扩展卡尔曼滤波器的实时 单目视觉 SLAM 系统( MonoSLAM) ,Lemaire 等[ 9] 利用 MATLAB 实现了一个基于扩展卡尔曼滤波 器的 单 目 视 觉 SLAM 仿 真 实 验 系 统, Roussillon 等[ 10] 利用高速摄像机实现了基于 EKF 的实时单 目视觉 SLAM 系统 RTSLAM。 图 1 给出了典型基 于 EKF 的单目视觉 SLAM 的流程图。 图 1 基于 EKF 的单目视觉 SLAM 流程图 Fig. 1 Flowchart of EKF based Monocular SLAM 此外,一些研究人员利用粒子滤波等概率滤 波器实 现 了 单 目 视 觉 SLAM 方 法[ 11⁃16] 。 例 如, Sim 等[ 11] 提出了一种基于粒子滤波的 SLAM 方 法,其基本原理是将运动路径与地图的联合后验 分布估计问题分解为用粒子滤波器对运动路径 的估计问题和在路径已知的条件下的路标估计 问题。 然而,为了保证定位精度,基于粒子滤波 的 SLAM 方法在复杂场景和运动的情况下需要 较多的粒子,这大大增加了算法时间复杂度,并 且其重采样过程中容易导致样本贫化等问题,因 此这种方法没有得到大范围的应用。 另外为了 改进系统非线性给 EKF 带来的影响,无迹卡尔曼 滤波器也被引入到单目视觉 SLAM 算法中[ 17⁃18] , 但是先比 EKF 增加了计算复杂度。 1.2 基于非概率框架的单目视觉 SLAM 方法 非概率框架的单目视觉 SLAM 系统目前主要 是基于关键帧和稀疏捆绑调整等优化算法实现。 例如,Mouragnon 等[ 19] 利用摄像机最近采集的固 定数目的图像作为关键帧,进行局部捆绑调整优 化,进而 实 现 单 目 摄 像 机 的 定 位 与 地 图 创 建。 Klein 等[ 20⁃21] 提出了一种基于关键帧的单目视觉 SLAM 系统 PTAM。 该系统利用一个线程对摄像 机姿态进行跟踪,同时利用另外一个线程对关键 帧数据以及所有特征点的空间位置进行捆绑调 整,进而 实 现 了 实 时 的 同 步 定 位 与 地 图 创 建。 PTAM 的双线程系统框图如图 2 所示。 另外,基 于图优化的 SLAM 方法[ 22⁃23] 也逐渐被引入到单 目视觉 SLAM 中。 ·500· 智 能 系 统 学 报 第 10 卷
第4期 顾照鹏,等:单目视觉同步定位与地图创建方法综述 ·501 建图线程 跟踪线程 立体视觉初始化 视频图像预处理 等待新关键帧 投影特征点 投影特征点 新建特征点 测量特征点 测量特征点 地图优化 更新极像机姿态 更新摄像机姿态 粗略阶段 精细阶段 地图维护 绘制结果 图2PTAM双线程系统框图 Fig.2 Dual-thread system diagram of PTAM 2单目视觉SLAM中的几个关键问题 s角点对亮度和对比度的变化不敏感,具有旋转不 变性,但不具备尺度不变性。文献[26-29]中单目视 2.1特征的检测与匹配 觉SLAM算法均采用了Harris角点作为特征检测 在典型的SLAM系统中,地图建模以及地图匹 方法。 配都是以环境中的路标点为基础的。因此路标的可 Shi等[0]于1994年采用与Harris完全不同的 靠性尤为重要,可靠的路标能够简化SLAM中的数 角点响应函数来提取图像角点,其方法是如果2个 据关联问题,不可靠的路标容易导致错误的数据关 特征值中较小的一个大于最小阈值,则判定为角点。 联,最终导致整个SLAM系统发散。不同于传统 Si等的角点判定方法比较充分,并且在很多情况 SLAM系统,单目视觉系统无法从单帧图像恢复深 下可以得到比使用Hais算法更好的结果。文献 度。因此,如何利用图像特征的检测与匹配获得高 [3-8,31]等均采用了Shi-Tomasi角点提取方法。 质量的路标,关系到单目视觉SLAM算法的鲁棒性。 FAST(features from accelerated segment test) 一般图像特征可分为点特征、直线特征、以及边 点是Rosten等[2]在20O6年提出的一种简单快速的 缘、轮廓等特征。相比其他特征,点特征具有对遮挡 角点检测算法,该算法检测的角点定义为在像素点 相对鲁棒,识别性好,提取速度快等特点。目前绝大 的周围邻域内有足够多的像素点与该点处于不同的 多数视觉SLAM系统的数据关联都是利用点特征的 区域。应用到灰度图像中,即有足够多的像素点的 检测与匹配来实现。点特征的检测与匹配是SLAM 灰度值大于该点的灰度值或者小于该点的灰度值。 系统中的关键研究问题。 由于FAST算法能在短时间内能生成大量角点,因 2.1.1角点特征 此被广泛用于对实时性要求较高的SLAM系统 角点在保留图像图形重要特征的同时,可以有 中[2021,1。其中文献[20-21,35]为了减少大量非 效地减少信息的数据量,使其信息的含量很高,有效 角点的干扰,对每个检测到的FAST角点分别进行 地提高了计算的速度,有利于图像的可靠匹配,使得 了Shi-Tomasi阈值检测,以确保获得更加鲁棒的特 实时处理成为可能。因此角点是SLAM中应用最广 征角点。 泛的一类特征。 2.1.2SIFT与SURF特征 Harris角点是Harris等2]在1988年提出的一 SIFT(scale invariant feature transform)Lowe 种基于信号的点特征提取算子。其前身是 等[367]在1999年提出的一种特征点提取方法。 Moravec[]角点。Harris角点检测方法使用自相关 SFT特征对图像的尺度变化、图像缩放、旋转甚至 矩阵改进了Moravec的方法。这种方法避免了使用 仿射变换具有不变性,而且对光照的变化和图像变 离散的方向和偏移,它在窗口内使用高斯函数加权 形具有较强的适应性。因此SFT被广泛应用物体 导数,取代了简单的求和。如果自相关矩阵有2个 辨识、机器人定位知与导航、图像拼接、3D重建、手 较大的特征值就表示该点为检测到的特征点。Har 势辨识、视频跟踪等领域
图 2 PTAM 双线程系统框图 Fig. 2 Dual⁃thread system diagram of PTAM 2 单目视觉 SLAM 中的几个关键问题 2.1 特征的检测与匹配 在典型的 SLAM 系统中,地图建模以及地图匹 配都是以环境中的路标点为基础的。 因此路标的可 靠性尤为重要,可靠的路标能够简化 SLAM 中的数 据关联问题,不可靠的路标容易导致错误的数据关 联,最终导致整个 SLAM 系统发散。 不同于传统 SLAM 系统,单目视觉系统无法从单帧图像恢复深 度。 因此,如何利用图像特征的检测与匹配获得高 质量的路标,关系到单目视觉 SLAM 算法的鲁棒性。 一般图像特征可分为点特征、直线特征、以及边 缘、轮廓等特征。 相比其他特征,点特征具有对遮挡 相对鲁棒,识别性好,提取速度快等特点。 目前绝大 多数视觉 SLAM 系统的数据关联都是利用点特征的 检测与匹配来实现。 点特征的检测与匹配是 SLAM 系统中的关键研究问题。 2.1.1 角点特征 角点在保留图像图形重要特征的同时,可以有 效地减少信息的数据量,使其信息的含量很高,有效 地提高了计算的速度,有利于图像的可靠匹配,使得 实时处理成为可能。 因此角点是 SLAM 中应用最广 泛的一类特征。 Harris 角点是 Harris 等[24] 在 1988 年提出的一 种基 于 信 号 的 点 特 征 提 取 算 子。 其 前 身 是 Moravec [25] 角点。 Harris 角点检测方法使用自相关 矩阵改进了 Moravec 的方法。 这种方法避免了使用 离散的方向和偏移,它在窗口内使用高斯函数加权 导数,取代了简单的求和。 如果自相关矩阵有 2 个 较大的特征值就表示该点为检测到的特征点。 Har⁃ ris 角点对亮度和对比度的变化不敏感,具有旋转不 变性,但不具备尺度不变性。 文献[26⁃29]中单目视 觉 SLAM 算法均采用了 Harris 角点作为特征检测 方法。 Shi 等[30]于 1994 年采用与 Harris 完全不同的 角点响应函数来提取图像角点,其方法是如果 2 个 特征值中较小的一个大于最小阈值,则判定为角点。 Shi 等的角点判定方法比较充分,并且在很多情况 下可以得到比使用 Harris 算法更好的结果。 文献 [3⁃8,31]等均采用了 Shi⁃Tomasi 角点提取方法。 FAST( features from accelerated segment test) 角 点是 Rosten 等[32]在 2006 年提出的一种简单快速的 角点检测算法,该算法检测的角点定义为在像素点 的周围邻域内有足够多的像素点与该点处于不同的 区域。 应用到灰度图像中,即有足够多的像素点的 灰度值大于该点的灰度值或者小于该点的灰度值。 由于 FAST 算法能在短时间内能生成大量角点,因 此被广泛用于对实时性要求较高的 SLAM 系统 中[20⁃21,33⁃35] 。 其中文献[20⁃21,35]为了减少大量非 角点的干扰,对每个检测到的 FAST 角点分别进行 了 Shi⁃Tomasi 阈值检测,以确保获得更加鲁棒的特 征角点。 2.1.2 SIFT 与 SURF 特征 SIFT( scale invariant feature transform) 是 Lowe 等[36⁃37] 在 1999 年提出的一种特征点提取方法。 SIFT 特征对图像的尺度变化、图像缩放、旋转甚至 仿射变换具有不变性,而且对光照的变化和图像变 形具有较强的适应性。 因此 SIFT 被广泛应用物体 辨识、机器人定位知与导航、图像拼接、3D 重建、手 势辨识、视频跟踪等领域。 第 4 期 顾照鹏,等:单目视觉同步定位与地图创建方法综述 ·501·
·502· 智能系统学报 第10卷 SFT特征检测方法首先检测由高斯差分 视觉SLAM算法。文献[53]利用了超像素特征解 (difference of Gaussians,DoG)构建的尺度空间上的 决了点特征匹配在弱纹理环境定位失败的情况。 局部极值点,并将其作为候选特征点,经过筛选, 2.2数据关联的优化 排除不太稳定的以及低对比度的候选特征点,从而 如上节所述,基于图像的特征检测与匹配不可 确定关键点,接下来为关键点分配方向,并通过采 避免地带有误差。如果直接使用图像特征匹配的结 样关键点周围图像块图像梯度的幅值和方向来建立 果作为数据关联的结果,往往会带来很大误差,以至 SIFT特征描述子。 于定位系统发散。如何保证选择正确的数据关联, 一些研究人员曾尝试直接将SFT特征引入单 对于SLAM定位系统至关重要,因此需要对图像特 目视觉SLAM系统[34o]。由于SIFT特征的提取和 征匹配的结果进行优化来获得准确的数据关联 匹配存在大量的浮点运算,时间复杂度较高,不能保 结果。 证实时性,因此直接在单目视觉SLAM中应用的不 2.2.1固定区域匹配 多。而利用GPU加速浮点运算在一定程度上克服 这种方法假设特征点在前后两帧图像像素距离 了这一缺点,因此一些单目视觉SLAM系统14采 在一个范围内,超过此范围即认为匹配错误。 用了GPU-SIFT作为特征检测与匹配方法。文献 PTAM22]以及一些改进方法[4s1主要利用这种方 [43]利用PCA主成分分析的方法将SIFT特征向量 法来进行特征匹配的优化,降低特征匹配计算量。 降低至36维,以加速特征匹配速度。 这种方法实现简单,对于深度变化不大、特征点距离 SURF(speeded up robust features)Ia)特征是对 摄像机稍远的场景比较合适。但对于摄像机快速运 SFT算法的改进,其基本结构、步骤与SFT相近, 动或者运动平行于图像平面的情况并不合适。 但具体实现的过程有所不同。SURF算法的优点是 2.2.2 Active Matching 速度远快于SIFT且稳定性好。SURF在单目视觉 Davison等Is6.s8]提出Active Matching。这种方 SLAM系统中也获得比较广泛的应用4s46。 法主要用在基于EKF滤波的视觉SLAM系统[3.1o] 2.1.3 BRIEF与ORB特征 中,利用EKF系统运动模型获得系统状态预测,进 BRIEF(binary robust independent elementary fea- 而估计环境特征点在摄像机估计姿态中的投影图像 tures)特征是Calonder等)在2010年提出的一种 位置,获得特征点的图像分布区域。这种方法能够 可以快速计算且表达方式为二进制编码的描述子。 适应摄像机的绝大部分运动情况,但对于摄像机姿 主要思路是在特征点附近随机选取若干点对,将这 态估计协方差较大的情况,容易产生较大的特征匹 些点对的灰度值的大小,组合成一个长为256的二 配的估计区域,仍然面临着错误匹配的可能。 进制串,并将这个二进制串作为该特征点的特征描 2.2.3 1-Point RANAC 述子。由于其描述子利用二进制编码,因此在特征 为了更好地去除Active Matching中的错误匹 匹配时只需计算2个特征点描述子的Hamming距 配,Civera等[9o]提出了基于EKF-SLAM系统的1- 离。经过大量实验数据测试,不匹配特征点的描述 Point RANSAC算法。不同于传统的RANSAC方法, 子的Hamming距离在128左右,匹配点对描述子的 1-Point RANSAC主要面向基于EKF滤波的SLAM Hamming距离则远小于128。由于BRIEF的匹配速 方法。该方法首先随机选取一个匹配点,用该点的 度远高于SURF和SIFT,因此被很多系统采用。由 匹配信息更新摄像机姿态。然后判断其他匹配点与 于BREF特征不具备旋转不变性,因此很难用于旋 估计图像位置的距离是否小于一定阈值来剔除外 转比较剧烈的环境。为了解决这一问题,Ethan 点。最后利用获得的内点集来更新整体滤波器状 Rublee等[4s]在20Il年提出了ORB(oriented brief) 态。对于可能被别除的卡尔曼增益较大的正确匹配 特征,较好地解决了尺度不变性。在尺度变化不大 点,重新加入内点集并再次更新系统状态。该方法 的环境,ORB特征在SLAM系统中获得了大量应 由于要多次对滤波器进行更新,因此会损耗一定的 用49s0] 运算时间。 除了点特征之外,直线特征、颜色特征、超像素 2.2.4几何约束 特征等也被应用到单目视觉SLAM算法中。文献 另外,对于单目视觉SLAM系统,可以利用视觉 [51]利用直线段作为特征进行匹配,能够有效解决 几何的一些约束条件,例如对极几何[6)、PNP[62) 点特征在运动模糊情况下跟踪失败的问题。文献 (perspective N points)等别除误匹配点。这种方法 [52]利用反深度参数化的直线段特征实现了单目 从几何求解出发,相对于1-Point RANSAC来说,不
SIFT 特 征 检 测 方 法 首 先 检 测 由 高 斯 差 分 (difference of Gaussians,DoG)构建的尺度空间上的 局部极值点, 并将其作为候选特征点, 经过筛选, 排除不太稳定的以及低对比度的候选特征点, 从而 确定关键点, 接下来为关键点分配方向, 并通过采 样关键点周围图像块图像梯度的幅值和方向来建立 SIFT 特征描述子。 一些研究人员曾尝试直接将 SIFT 特征引入单 目视觉 SLAM 系统[38⁃40] 。 由于 SIFT 特征的提取和 匹配存在大量的浮点运算,时间复杂度较高,不能保 证实时性,因此直接在单目视觉 SLAM 中应用的不 多。 而利用 GPU 加速浮点运算在一定程度上克服 了这一缺点,因此一些单目视觉 SLAM 系统[41⁃42] 采 用了 GPU⁃SIFT 作为特征检测与匹配方法。 文献 [43]利用 PCA 主成分分析的方法将 SIFT 特征向量 降低至 36 维,以加速特征匹配速度。 SURF( speeded up robust features) [44] 特征是对 SIFT 算法的改进,其基本结构、步骤与 SIFT 相近, 但具体实现的过程有所不同。 SURF 算法的优点是 速度远快于 SIFT 且稳定性好。 SURF 在单目视觉 SLAM 系统中也获得比较广泛的应用[45⁃46] 。 2.1.3 BRIEF 与 ORB 特征 BRIEF(binary robust independent elementary fea⁃ tures)特征是 Calonder 等[47] 在 2010 年提出的一种 可以快速计算且表达方式为二进制编码的描述子。 主要思路是在特征点附近随机选取若干点对,将这 些点对的灰度值的大小,组合成一个长为 256 的二 进制串,并将这个二进制串作为该特征点的特征描 述子。 由于其描述子利用二进制编码,因此在特征 匹配时只需计算 2 个特征点描述子的 Hamming 距 离。 经过大量实验数据测试,不匹配特征点的描述 子的 Hamming 距离在 128 左右,匹配点对描述子的 Hamming 距离则远小于 128。 由于 BRIEF 的匹配速 度远高于 SURF 和 SIFT,因此被很多系统采用。 由 于 BRIEF 特征不具备旋转不变性,因此很难用于旋 转比较剧烈的 环 境。 为 了 解 决 这 一 问 题, Ethan Rublee 等[48] 在 2011 年提出了 ORB( oriented brief) 特征,较好地解决了尺度不变性。 在尺度变化不大 的环境,ORB 特征在 SLAM 系统中获得了大量应 用[49⁃50] 。 除了点特征之外,直线特征、颜色特征、超像素 特征等也被应用到单目视觉 SLAM 算法中。 文献 [51]利用直线段作为特征进行匹配,能够有效解决 点特征在运动模糊情况下跟踪失败的问题。 文献 [52]利用反深度参数化的直线段特征实现了单目 视觉 SLAM 算法。 文献[53] 利用了超像素特征解 决了点特征匹配在弱纹理环境定位失败的情况。 2.2 数据关联的优化 如上节所述,基于图像的特征检测与匹配不可 避免地带有误差。 如果直接使用图像特征匹配的结 果作为数据关联的结果,往往会带来很大误差,以至 于定位系统发散。 如何保证选择正确的数据关联, 对于 SLAM 定位系统至关重要,因此需要对图像特 征匹配的结果进行优化来获得准确的数据关联 结果。 2.2.1 固定区域匹配 这种方法假设特征点在前后两帧图像像素距离 在一 个 范 围 内, 超 过 此 范 围 即 认 为 匹 配 错 误。 PTAM [20⁃21]以及一些改进方法[54⁃55] 主要利用这种方 法来进行特征匹配的优化,降低特征匹配计算量。 这种方法实现简单,对于深度变化不大、特征点距离 摄像机稍远的场景比较合适。 但对于摄像机快速运 动或者运动平行于图像平面的情况并不合适。 2.2.2 Active Matching Davison 等[56⁃58] 提出 Active Matching。 这种方 法主要用在基于 EKF 滤波的视觉 SLAM 系统[3⁃10] 中,利用 EKF 系统运动模型获得系统状态预测,进 而估计环境特征点在摄像机估计姿态中的投影图像 位置,获得特征点的图像分布区域。 这种方法能够 适应摄像机的绝大部分运动情况,但对于摄像机姿 态估计协方差较大的情况,容易产生较大的特征匹 配的估计区域,仍然面临着错误匹配的可能。 2.2.3 1⁃Point RANAC 为了更好地去除 Active Matching 中的错误匹 配,Civera 等[59⁃60] 提出了基于 EKF⁃SLAM 系统的 1⁃ Point RANSAC 算法。 不同于传统的 RANSAC 方法, 1⁃Point RANSAC 主要面向基于 EKF 滤波的 SLAM 方法。 该方法首先随机选取一个匹配点,用该点的 匹配信息更新摄像机姿态。 然后判断其他匹配点与 估计图像位置的距离是否小于一定阈值来剔除外 点。 最后利用获得的内点集来更新整体滤波器状 态。 对于可能被剔除的卡尔曼增益较大的正确匹配 点,重新加入内点集并再次更新系统状态。 该方法 由于要多次对滤波器进行更新,因此会损耗一定的 运算时间。 2.2.4 几何约束 另外,对于单目视觉 SLAM 系统,可以利用视觉 几何的一些约束条件,例如对极几何[61] 、PNP [62⁃63] (perspective N points) 等剔除误匹配点。 这种方法 从几何求解出发,相对于 1⁃Point RANSAC 来说,不 ·502· 智 能 系 统 学 报 第 10 卷
第4期 顾照鹏,等:单目视觉同步定位与地图创建方法综述 ·503. 需要频繁更新系统状态,因此能获得较好的系统运 行速度。但是这些方法对于不同的情况需要利用不 同的几何约束条件,因此增加了系统的复杂性。 2.3特征点深度的获取 P. d 「X1 「x 1 由于单目摄像机相当于Bearing Only类传感器, y+pm0,) 不能立刻感知深度信息,因此如何获取环境特征点深 Z 加 度直接关系到单目视觉SLAM算法的成败。特征点深 h 度获取方法主要有以下3种方法:几何三角化、反深度 y (inverse depth)以及粒子滤波(particle filter)方法。 2.3.1几何三角化 目前采用关键帧与稀疏捆绑调整(sparse bundle adjustment,SBA)框架的单目视觉SLAM系统[.21,.s] 普遍采用类似运动恢复结构(structure from motion, (rc,gc) SM)中的多关键帧匹配,点三角化,重建特征,点的三维 位置,如图3所示。对于非关键帧则不进行特征点的 图4 inverse Depth特征参数化 初始化和更新,这类方法,在定位精度要求不高的情况 Fig.4 Inverse Depth feature parameterization 下能够取得比较好的运行效率。 2.3.3 Particle Filter ParticleFilter方法最先被Davison等f]采用,当 环境 特征初始化以后,在特征所在深度方向生成多个粒 子。通过粒子的匹配与更新,恢复特征点深度的概 率分布,其深度估计的收敛过程如图5所示。For ster等6)实现的单目测距系统,SV0系统中的 关键帧4 Depth Filter也采用了类似的思想。这种方法将特 特征点匹配 征点的深度从EKF滤波器中分离出来,单独进行估 计,虽然降低了滤波器整体的更新时间,但是容易增 关键帧] 加系统的不一致性,最终导致概率估计的发散。 关键帧2 关键帧3 摄像机运动 4.0 图3多关键帧三角化 3.5 Fig.3 Triangulation of multiple keyframes 3.0 2.3.2 Inverse Depth 2.5 为了减小深度分布非高斯性的影响,Civera 2.0 等[a]提出了Inverse Dept山方法,将深度的倒数在 1.5 EKF系统状态里进行更新,这种方法获得了比较好 .0 的线性效果。Inverse Depth方法利用一个6维向量 0.5 来表示一个特征点的三维位置,包括摄像机的位置 0 0.51.01.52.02.53.03.54.04.55.0 以及特征点方向和深度信息。随着滤波器不断地进 深度m 行更新,当特征估计协方差小于某一阈值的情况下, 图5基于粒子滤波的深度估计收敛过程 将特征点的6维表示转换为3维的欧式坐标(如 Fig.5 Convergence process of depth estimation based 图4)。 on particle filter Inverse Depth方法相比3维欧式坐标增加了系 2.4地图的尺度控制 统状态向量的长度,亦增加了系统时间复杂度。为 单目视觉SLAM中的环境深度是通过多帧图像 了解决这一问题,Pietzsch等[s]提出了各自的解 的匹配信息来恢复的,因此恢复深度的过程中不可 决方案,利用在同一帧图像建立多个特征点,将属于 避免地会出现尺度漂移。对于单目视觉中的尺度控 同一帧特征点的表示形式缩减为一个摄像机姿态加 制主要有以下几种方法。 多个深度的形式,有效地降低了系统状态的长度
需要频繁更新系统状态,因此能获得较好的系统运 行速度。 但是这些方法对于不同的情况需要利用不 同的几何约束条件,因此增加了系统的复杂性。 2.3 特征点深度的获取 由于单目摄像机相当于 Bearing Only 类传感器, 不能立刻感知深度信息, 因此如何获取环境特征点深 度直接关系到单目视觉 SLAM 算法的成败。 特征点深 度获取方法主要有以下 3 种方法:几何三角化、反深度 (inverse depth)以及粒子滤波(particle filter)方法。 2.3.1 几何三角化 目前采用关键帧与稀疏捆绑调整(sparse bundle adjustment,SBA)框架的单目视觉 SLAM 系统[20⁃21,54⁃55] , 普遍采用类似运动恢复结构(structure from motion, SFM)中的多关键帧匹配点三角化,重建特征点的三维 位置,如图 3 所示。 对于非关键帧则不进行特征点的 初始化和更新,这类方法,在定位精度要求不高的情况 下能够取得比较好的运行效率。 图 3 多关键帧三角化 Fig. 3 Triangulation of multiple keyframes 2.3.2 Inverse Depth 为了减小深度分布非高斯性的影响, Civera 等[64]提出了 Inverse Depth 方法,将深度的倒数在 EKF 系统状态里进行更新,这种方法获得了比较好 的线性效果。 Inverse Depth 方法利用一个 6 维向量 来表示一个特征点的三维位置,包括摄像机的位置 以及特征点方向和深度信息。 随着滤波器不断地进 行更新,当特征估计协方差小于某一阈值的情况下, 将特征点的 6 维表示转换为 3 维的欧式坐标(如 图 4)。 Inverse Depth 方法相比 3 维欧式坐标增加了系 统状态向量的长度,亦增加了系统时间复杂度。 为 了解决这一问题,Pietzsch 等[65⁃66] 提出了各自的解 决方案,利用在同一帧图像建立多个特征点,将属于 同一帧特征点的表示形式缩减为一个摄像机姿态加 多个深度的形式,有效地降低了系统状态的长度。 图 4 Inverse Depth 特征参数化 Fig. 4 Inverse Depth feature parameterization 2.3.3 Particle Filter ParticleFilter 方法最先被 Davison 等[3] 采用,当 特征初始化以后,在特征所在深度方向生成多个粒 子。 通过粒子的匹配与更新,恢复特征点深度的概 率分布,其深度估计的收敛过程如图 5 所示。 For⁃ ster 等[67] 实 现 的 单 目 测 距 系 统, SVO 系 统 中 的 Depth Filter 也采用了类似的思想。 这种方法将特 征点的深度从 EKF 滤波器中分离出来,单独进行估 计,虽然降低了滤波器整体的更新时间,但是容易增 加系统的不一致性,最终导致概率估计的发散。 图 5 基于粒子滤波的深度估计收敛过程 Fig. 5 Convergence process of depth estimation based on particle filter 2.4 地图的尺度控制 单目视觉 SLAM 中的环境深度是通过多帧图像 的匹配信息来恢复的,因此恢复深度的过程中不可 避免地会出现尺度漂移。 对于单目视觉中的尺度控 制主要有以下几种方法。 第 4 期 顾照鹏,等:单目视觉同步定位与地图创建方法综述 ·503·