摘要
传统视觉同步定位和地图构建(Simultaneous localization and mapping, SLAM)算法建立在静态环境假设的基础之上,当场景中出现动态物体时,会影响系统稳定性,造成位姿估计精度下降。现有方法大多基于概率统计和几何约束来减轻少量动态物体对视觉SLAM系统的影响,但是当场景中动态物体较多时,这些方法失效。针对这一问题,本文提出了一种将动态视觉SLAM算法与多目标跟踪算法相结合的方法。首先采用实例语义分割网络,结合几何约束,在有效地分离静态特征点和动态特征点的同时,进一步实现多目标跟踪,改善跟踪结果,并能够获得运动物体的轨迹和速度矢量信息,从而能够更好地为机器人自主导航提供决策信息。在KITTI数据集上的实验表明,该算法在动态场景中相较ORB⁃SLAM2算法精度提高了28%。
同步定位和地图构建(Simultaneous localization and mapping,SLAM)的目标是使机器人能够在未知环境的移动过程中,完成自身定位和增量式地图构
现有的视觉SLAM算法大多基于环境静态假设,即场景是静态的,不存在相对运动的物体。但是在实际室外场景中大量存在行人、车辆等动态物体,从而限制了基于上述假设的SLAM系统在实际场景中运用。针对动态环境下视觉SLAM算法的定位精度和稳定性下降的问题,有学者提出了一些基于概率统计或者几何约束的算法,减少动态物体对视觉SLAM算法精度和稳定性的影响。例如当场景中存在少量动态物体时,可以使用RANSA
传统静态环境视觉SLAM算法主要分为两类:一类是基于特征点的算法;另一类则是基于直接法的算法。特征点法从图像中提取具有代表性的特征点,通过帧间特征点的匹配,完成相机位姿估计和地图构建。Davison
直接法不需要提取特征点,直接采用图像中像素的灰度信息,通过最小化光度误差估计相机运动。LSD‑SLAM(Large scale direct monocular SLAM)是Engel
(1)概率统计法
在静态场景中,连续图像之间的特征点的转换可以由同一个运动模型来描述。在动态场景中,连续图像之间的特征点可能来自多个运动模型,每个运动模型都是独立且不相同的。基于概率统计的动态分离算法对数据的一个子集进行采样,并采用RANSA
(2)子空间聚类法
子空间聚类是基于高维数据可以低维的子空间联合表示的原理。数据点的子空间可以用基向量来进行数据的低维表示。在子空间聚类框架下的三维运动分割问题是找到与每个运动物体相对应的子空间,并将数据拟合到子空间中,例如文献[
(3)几何法
几何法将多视几何从静态场景扩展到包含独立移动对象的动态场景。在静态场景中,1个基本矩阵描述了相机相对于静态场景的运动,但在动态环境中,将有n个基本矩阵来描述n个物体的运动,其中包括1个描述相机与静态场景相对运动的基本矩阵,通过几何约束来求解这些不同物体的基本矩阵的方法,称为几何法。Vidal
(4)深度学习法。
通过深度学习算法分离动态物体的思路分为两种:一种是利用深度学习算法直接将动态物体分离出来,该方法依赖于预定义的运动刚体数量,从三维点云或者光流中生成运动物体的掩膜;另一种则是通过一些先验知识,将有可能运动的物体分离出来,例如语义分割,全景分割等。
目前基于上述方法的动态环境SLAM算法,通常将分离出来的动态特征点直接剔
在最新研究中,研究者们通过实验发现联合估计动态物体的运动,对整个SLAM系统的精度有增益效果,因而出现了一些联合估计算
近些年随着深度学习领域的迅速发展,出现了一些端到端的视觉SLAM算法。Yang
本文提出的算法相比传统的方法,在有较多动态物体的场景中具有更好的鲁棒性,提供了刚体速度的估计,并且由于算法复杂度低,因此运行速度较快,能够为导航提供更好的策略。
本文提出的算法首先完成特征点提取与匹配,利用实例语义分割网络对图像进行分割,并通过立体匹配得到场景的深度图;然后利用图像分割结果初步分离出静态特征点,并且计算基础矩阵。接着利用几何约束将动态特征点和静态特征点重新分离,估计相机位姿和构建地图,并且估计刚体运动速度,本文算法流程如

图1 算法流程图
Fig.1 Flow chart of the proposed algorithm
本文采用ORB特征
(1) |
式中:表示第t帧中第i个特征点的描述子中的第k位;表示第t+1帧中第j个特征点的描述子中的第k位;表示异或操作;N为描述子矢量的维数。
当两个特征点同时满足
(2) |
(3) |
KITTI数据

图2 特征匹配结果示例
Fig. 2 Examples of feature matching result
场景的深度信息在视觉SLAM系统中是一个非常重要的信息。本文采用SGBM(Semi⁃global block matching)立体匹配算法来获取深度信
首先构建全局能量函数
(4) |
式中:D为视差图,,代表图像中的像素点p和q的坐标;指像素点的相邻像素组成的集合;为当前视差图D中像素点匹配代价;和为惩罚系数;δ(·)为示性函数。
求解上述函数最优值是一个NP完全问题,因此将此问题近似分解成为一个线性问题进行求解,

图3 图2(a)中左图对应的视差图
Fig.3 Disparity map corresponding to the left image in Fig.2(a)
本文采用Mask R⁃CNN网

图4 实例语义分割结果
Fig.4 Output of instance semantic segmentation
在动态场景中,动态特征点影响相机位姿估计,造成视觉SLAM系统精度和稳定性下降,为了解决上述问题本文提出了一种迭代动态特征点提取算法。
首先,利用2.4节的实例语义分割获得的动态对象实例的掩膜,对所提取到的特征点进行一次筛选,即
(5) |
式中:为绝对静态特征点的像素坐标的集合;为第t帧中第i个绝对静态特征点的像素坐标;Ut为第t帧的特征点的像素坐标的集合;为第t帧第m个实例的掩膜区域的集合。
当特征点符合对极约束时,认为该特征点为静态候选;当特征点不满足对极约束时,认为该特征点为动态候选,对极约束公
(6) |
即
(7) |
式中:表示第t帧第i个特征点的像素坐标,为基础矩阵;为第t+1帧与匹配的特征点的像素坐标。
利用和通过八点

图5 动态特征提取结果
Fig. 5 Result of dynamic feature extraction
对于静态特征集合St结合相机的成像原理可得
(8) |
式中:λ表示尺度因子;K为相机内参矩阵;T∈ SE(3)为位姿变换矩阵;为静态特征集合St中的第i个元素;为与对应特征点的三维空间坐标。
构建重投影误差并优化为
(9) |
Pn
本文2.4节虽然完成了实例分割,但是并没有建立相邻帧之间对应实例的联系,为此本文提出了一种简易的帧间物体匹配算法,具体步骤如下。
首先构建实例特征点集合,即
(10) |
式中:表示在第t帧属于第m实例的动态特征点的像素坐标集合;表示2.5节中提取动态特征点的像素坐标集合。
结合和2.2节得到的帧间特征点匹配结果,计算得到t+1帧中与匹配的特征点的像素坐标集合,当满足
(11) |
由于每个实例中的特征点数量无法满足后续实例跟踪的需求,所以需要在图像实例区域内提升特征点的数量。本文使用基于Lucas⁃Kanade光
(12) |
上述优化目标通过迭代法进行优化,即在图像I中对原始参数p上进行增量Δp映射运算,迭代优化如下目标函数为
(13) |
通过对每个实例进行光流跟踪算法,得到每个实例像素间的对应关系,类似
(14) |
式中:、、分别表示滚转角、俯仰角和偏航角,由于本文实验数据为室外城市道路场景,因此只保留偏航角。从而动态物体的运动矢量为,动态物体的运动矢量估计如

图6 动态物体运动矢量估计
Fig.6 Motion estimation of dynamic objects
本文实验采用绝对轨迹误差(Absolute trajectory error,ATE)和相对位姿误差(Relatire pose error,RPE
(15) |
式中:为第t帧的绝对轨迹误差;MA为输入双目图像的总数目。
RPE的度量公式为
(16) |
式中:为第t帧和第t+1帧对位姿误差;MR为计算所得相位姿误差的总数。
本文在KITTI odometry数据集和KTTI tracking数据
将ORB⁃SLAM2和本文提出算法在KITTI odometry数据集和KITTI tracking数据集进行测试,两者在KITTI tracking数据集上的轨迹对比结果如

图7 本文算法和ORB⁃SLAM2在KITTI tracking数据集00、03、04序列轨迹对比
Fig.7 Trajectory comparison results of our proposed algorithm and ORB⁃SLAM2 on sequences 00, 03 and 04 of KITTI tracking dataset
本文提出算法、ORB⁃SLAM2算法和Dynaslam算法在KITTI odometry数据集01⁃10序列上的结果如
本文算法还与目前典型的动态环境下的SLAM算法:VDO⁃SLA
本文还比较了本文算法在KITTI tracking数据集上计算速度,如
本文所提的算法采用实例语义分割网络,结合几何约束,在有效分离静态特征点和动态特征点的同时,能够实现多目标跟踪,获得动态物体的运动矢量信息。与ORB⁃SLAM2算法相比,在存在较多动态物体的场景中,本文所提算法具有更高的稳定性和准确度,在KITTI odometry数据集上准确度提高了28%。与VDO⁃SLAM算法相比,由于本文所提算法复杂度低,因此具有更高的计算速度,约为其3倍,并且能获得接近的定位精度。由于本文算法基于实例语义分割网络和几何约束,因此算法精度容易受到实例语义分割网络精度的影响,并且实例语义分割网络的执行速度较慢也是限制本文算法实际应用的问题之一。上述算法中存在的不足,将在以后的工作中进一步完善。在以后的工作中将使用精度更高、速度更快的语义分割网络,并且采用选取关键帧的策略,仅在关键帧中进行语义分割,从而进一步提高运行速率。
参考文献
Leonard J, Durrant⁃Whyte F. Simultaneous map building and localization for an autonomous mobile robot[C]// Proceedings IROS’91: IEEE/RSJ International Workshop on Intelligent Robots and Systems’91. Osaka, Japan: IEEE, 1991: 1442‑1447. [百度学术]
Thrun S, Burgard W, Fox D.概率机器人[M].曹红玉,谭志,史晓霞,译.北京:机械工业出版社,2017: 115. [百度学术]
Thrun S, Burgard W, Fox D. Probabilistic robotics[M]. CAO Hongyu, TAN Zhi, SHI Xiaoxia, translate. Beijing: China Machine Press, 2017 : 115. [百度学术]
高翔,张涛,刘毅,等.视觉SLAM十四讲:从理论到实践[M].2版.北京:电子工业出版社,2019: 15. [百度学术]
Gao Xiang, Zhang Tao, Liu Yi, et al. 14 lectures on visual SLAM: From theory to practice[M]. 2nd ed. Beijing: Electronic Industry Press, 2019: 15. [百度学术]
Rehder J, Nikolic J, Schneider T, et al. Extending kalibr: Calibrating the extrinsics of multiple IMUs and of individual axes [C]//Proceedings of IEEE International Conference on Robotics and Automation (ICRA). Stockholm, Sweden :IEEE, 2016: 4304⁃4311. [百度学术]
Fischler M A, Bolles R C. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography[J]. Communications of the ACM, 1981, 24(6): 381⁃395. [百度学术]
Saputra M, Markham A, Trigoni N. Visual SLAM and structure from motion in dynamic environments[J]. ACM Computing Surveys (CSUR), 2018, 51(2): 1⁃36. [百度学术]
Mur⁃Artal R, Tardos J. ORB⁃SLAM2: An open⁃source SLAM system for monocular, stereo and RGB⁃D cameras[J]. IEEE Transactions on Robotics, 2017, 33(5): 1255⁃1262. [百度学术]
Davison A, Reid I, Molton N,et al. Monoslam: Real⁃time single camera slam[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2007,29(6): 1052‑1067. [百度学术]
Klein G, Murray D. Parallel tracking and mapping for small AR workspaces [C]//Proceedings of IEEE & ACM International Symposium on Mixed & Augmented Reality. Cambridge, UK: ACM, 2008: 225⁃234. [百度学术]
Triggs B, McLauchlan P, HARTLEY R,et al. Bundle adjustment—A modern synthesis [C] //Proceedings of International Workshop on Vision Algorithms. Berlin: Springer, 1999: 298⁃372. [百度学术]
Campos C, Elvira R, RODRÍGUEZ J,et al. ORB⁃SLAM3: An accurate open⁃source library for visual, visual⁃inertial and multi⁃map SLAM[J]. IEEE Transactions on Robotics, 2021,37: 1‑17. [百度学术]
Engel J, Schops T,Cremers D. LSD‑Slam: Largescale direct monocular Slam[C]//Proceedings of European Conference On Computer Vision. Zurich: Springer, 2014: 834⁃849. [百度学术]
Forster C, Zhang Z, GASSNER M,et al. SVO: Semidirect visual odometry for monocular and multicamera systems [J]. IEEE Transactions on Robotics, 2016,33(2): 249‑265. [百度学术]
Elhamifar E, Vidal R. Sparse subspace clustering: Algorithm, theory, and applications[J]. IEEE Transactions on Software Engineering, 2013, 35(11): 2765‑2781. [百度学术]
Xu X, Cheong L F,Li Z.3D Rigid motion segmentation with mixed and unknown number of models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2021, 43(1): 1⁃16. [百度学术]
Vidal R,Ma Y,Soatto S,et al.Two⁃view multibody structure from motion[J]. International Journal of Computer Vision, 2006, 68(1): 7⁃25. [百度学术]
Bescos B, Facil J, CIVERA J,et al. DynaSLAM: Tracking, mapping, and inpainting in dynamic scenes[J]. IEEE Robotics and Automation Letters, 2018, 3(4): 1⁃1. [百度学术]
Yu C, Liu Z, Liu X,et al. DS⁃SLAM: A semantic visual SLAM towards dynamic environments [C]//Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Madrid, Spain: IEEE, 2018: 1168⁃1174. [百度学术]
Badrinarayanan V, Kendall A, Cipolla R. SegNet: A deep convolutional encoder⁃decoder architecture for image segmentation [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(12): 2481⁃2495. [百度学术]
Alcantarilla P, Yebes J, ALMAZAN J,et al. On combining visual SLAM and dense scene flow to increase the robustness of localization and mapping in dynamic environments [C] //Proceedings of IEEE International Conference on Robotics & Automation. St. Paul, Minnesota: IEEE, 2012: 1290⁃1297. [百度学术]
Zhang J, Henein M, Mahony R,et al. VDO⁃SLAM: A visual dynamic object⁃aware SLAM system[EB/OL].(2020-01-16)[2021-06-20].https://arXiv.org/abs/2005.11052. [百度学术]
Ballester I, Fontan A, Civera J, et al. DOT: Dynamic object tracking for visual SLAM[EB/OL]. (2020-02-14)[2011-06-20]. https://arXiv.org/abs/2010.0005X1. [百度学术]
Yang N, Von Stumberg L,Wang R, et al. D3VO: Deep depth, deep pose and deep uncertainty for monocular visual odometry [C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Seattle: IEEE, 2020:1278⁃1289. [百度学术]
Czarnowski J, Laidlow T, Clark R, et al. DeepFactors: Real⁃time probabilistic dense monocular SLAM [J]. IEEE Robotics and Automation Letters, 2020, 5(2): 721⁃728. [百度学术]
Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF [C] //Proceedings of International Conference on Computer Vision. Barcelona, Spain: IEEE, 2011: 2564⁃2571. [百度学术]
Geiger A, Lenz P, Stiller C, et al. Vision meets robotics: The KITTI dataset [J]. International Journal of Robotics Research, 2013, 32(11): 1231⁃1237. [百度学术]
Heiko H. Stereo processing by semiglobal matching and mutual information [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2008, 30(2): 328⁃341. [百度学术]
He K, Gkioxari G, Dollar P, et al. Mask R⁃CNN [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2020, 42(2): 386⁃397. [百度学术]
Hartley R, Zisserman A. Multi view geometry in computer vision [M]. 2nd ed. London: Cambridge University Press, 2003: 190. [百度学术]
Hartley R. In defense of the eight‑point algorithm[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1997, 19(6): 580⁃593. [百度学术]
Lepetit V, Moreno⁃Noguer F, Fua P. EPnP: An accurate O(n) solution to the PnP problem[J]. International Journal of Computer Vision, 2009, 81(2): 155⁃166. [百度学术]
王宜举,修乃华.非线性最优化理论与方法[M]. 3版.北京:科学出版社,2020: 110⁃118. [百度学术]
Wang Yiju, Xiu Nahua. Nonlinear optimization theory and method [M]. 3rd ed. Beijing: Science Press, 2020: 110⁃118. [百度学术]
Baker S, Matthews I. Lucas⁃Kanade 20 years on: A unifying framework[J]. International Journal of Computer Vision, 2004, 56: 221⁃255. [百度学术]
Sturm J, Engelhard N, Endres F, et al. A benchmark for the evaluation of RGB⁃D SLAM systems [C] //Proceedings of Intelligent Robots and Systems (IROS), IEEE/RSJ International Conference on. Macau, China: IEEE, 2012: 573⁃580. [百度学术]