摘要
提出了一种用于动态环境下视觉同时定位和建图(SLAM)系统的图像预处理方法。该方法可以很容易地集成到现有视觉SLAM系统中,使其在高动态环境下能够稳定、准确和连续的工作。首先,提出了一种综合使用语义分割网络和光流估计网络的动态物体识别算法,鲁棒、准确地识别图像中潜在的动态物体。然后,为了检测与动态物体关联的阴影,提出了一种基于区域生长的阴影识别算法。最后,使用图像补全技术对剔除动态物体后的图像进行补全。将该图像预处理方法与双目ORB-SLAM2结合,并在KITTI数据集上进行了实验,实验表明所提出的图像预处理方法显著地提升了视觉SLAM系统的定位精度,并且图像预处理方法中的每一个模块都有着不可替代的作用。
关键词
车辆的自主定位技术是自动驾驶技术中的重要组成部
同时定位和建图算法(simultaneous localization and mapping, SLAM)可以很好地解决基于GPS的定位方法失效时智能车辆的精准定位问
尽管研究界已经从不同的角度开发了各种视觉SLAM方法。然而,以上方法都假设相机所运行的是一个静态环境。但现实场景中会不可避免地出现行人、汽车等动态物体。动态物体会导致许多错误或不稳定的数据关联,降低SLAM系统的精度。为此,众多学者对动态场景下的SLAM问题做了大量研究。现有研究成果可分为两类:基于几何的方法和基于语义的方
针对以上问题,在本文中,提出了一个用于动态环境下视觉SLAM系统的图像预处理方法。该方法使用语义分割网络和光流估计网络鲁棒、精确地检测图像中潜在的动态物体。针对语义分割网络无法检测动态物体阴影的问题,提出了一种基于区域生长的阴影识别算法,对动态物体的阴影进行识别。之后,对图像中剔除动态物体及其阴影的空洞进行补全,获取被动态物体遮挡的特征信息。通过这种方式,不但剔除了图像中的动态物体及其阴影,而且对剔除后图像中的空洞部分进行了补全,增强了图像中的特征信息,以实现更稳健和准确的特征检测和匹配。此外,所提出的图像预处理方法可以很容易地集成到现有视觉SLAM中,以提高其在动态环境下的定位性能。
本文完成的工作总结如下:①提出了一种综合使用语义分割网络和光流估计网络的动态物体识别算法,其具有良好的精度和鲁棒性。②提出了一种基于区域生长的阴影识别算法,其可以准确地检测出图像中动态物体的阴影。实验表明,它是获得高质量空洞补全图像的必备模块并与视觉SLAM的定位精度密切相关。③提出了一个用于动态环境下视觉SLAM系统的图像预处理方法,其可以很容易地集成到现有视觉SLAM中,以提高其在动态环境下的定位精度。

图1 所提出的图像预处理方法结合视觉SLAM系统框架图
Fig. 1 Framework of proposed image pre-processing method combined with the visual SLAM system
动态物体识别模块的输入是彩色图像序列,模块中设有光流估计网络和语义分割网络,分别对输入的图像进行光流运动估计和语义分割来得到图像对应的光流图和语义分割图。结合图像的光流图和语义分割图,可以得到图像中的动态物体。阴影检测模块首先在原有的语义分割图中将图像中的动态物体进行掩码处理,得到动态物体掩码图。然后根据动态物体掩码图将图中动态物体的阴影识别出来并作掩码处理得到阴影掩码图。阴影检测模块使用动态物体掩码图和阴影掩码图进行组合得到图像掩码图。将图像掩码图和相对应的原始RGB(红绿蓝)图像输入到图像补全网络中可得到最终去除动态物体及其阴影的补全图像。将该图像输入到视觉SLAM系统中可得到静态环境地图以及无动态物体干扰的相机位姿估计值。各个模块的具体内容在随后的小节中进行了简要描述。
为了检测图像中的动态物体,使用了语义分割和光流估计相结合的方法,并证实了这两种方法在检测动态物体上具有互补效果。
使用短期密集连接 (short-term dense concatenate, STDC)网

图2 动态物体识别算法
Fig. 2 Dynamic object detection method
使用MaskFlowNe
(1) |
式中:表示在像素位置处的光流值;表示在像素位置处的纵向光流梯度值;表示在像素位置处的横向光流梯度值;表示在像素位置处的光流梯度值。根据求出来的光流梯度值,设置合适的阈值即可得到动态物体的轮廓,如
在室外场景行驶时,智能车辆经常处在复杂的照明环境下,这会生成与车辆粘合的阴影。1.1节所述的动态物体识别方法,只是将图像中的动态物体识别出来,无法对与动态物体关联的阴影进行有效的检测。在动态物体移除中,处理动态物体产生的阴影是十分必要的。若只移除图像中的动态物体则会产生糟糕的图像修复结果,因为未移除的阴影不仅保留在修复后的图像中产生移动鬼影,而且还严重误导了空洞的上下文修复,因为阴影往往被选为最佳匹配像素。
阴影问题通常有两种解决方案。第一种解决方案是扩大动态物体掩码范围。然而,通过实验发现掩码范围的增加会显著地降低图像修复结果,因为越接近原始掩码,指导掩码进行修复的信息越多,修复的效果越好。第二种解决方案是使用深度学习的方法。然而基于深度学习的方法泛化能力较差,在使用过程中也不鲁棒。为了能有效地检测出与动态物体关联的阴影,提出了一种基于区域生长的阴影识别算法。算法使用原始RGB图像以及带有动态物体掩码的语义分割图作为输入,根据设定的初始种子选取规则,选取初始阴影种子点,把满足区域生长条件的阴影种子点添加到增长范围中,然后把这些新像素当作新的阴影种子点,重复上面的过程,直到没有满足区域生长条件的像素时则结束增长。最终输出图像中的阴影掩码图。算法流程如

图3 基于区域生长的阴影识别算法流程
Fig. 3 Process of region growing based shadow recognition algorithm
预处理包括将RGB图像转换为HSL色彩空间以及根据带有动态物体掩码的语义分割图选取初始阴影种子两部分。将RGB图像转换到HSL色彩空间,可以根据色相、饱和度、明度 (hue saturation lightness, HSL) 色彩空间中的亮度值对图像中的阴影进行判别。

图4 亮度值分布直方图
Fig. 4 Histogram of brightness value distribution
初始种子的选择对于区域增长算法是至关重要的,只有初始种子落在与动态物体关联的阴影内,阴影区域才能正确的生长。为了保证图像中的每一个动态物体关联的阴影都有初始种子,根据1.1节求出的带有动态物体掩码的语义分割图制定了以下初始种子选择策略:①因为阴影总是落在动态物体的下方,因此选取与图像中动态物体掩码最下方所有像素相邻的像素作为初始种子;②假设初始种子落在路面上,因此通过语义分割图分割出的路面对上一步获得的初始种子进行过滤。③根据设定的亮度阈值与初始种子自身的亮度值对上一步获得的初始种子进一步过滤。通过以上三个步骤可获得最终的初始种子列表。
当初始种子选取完成后,根据初始种子与其周围8个像素的相似性以及像素的亮度值对阴影区域进行增长。相似性使用像素之间的欧式距离来判断,欧氏距离的计算如
(2) |
式中:表示初始种子的R,G,B值;表示与初始种子相邻像素的R,G,B值。因光照等原因,图像中的房屋、树木的部分经常满足以上判断条件,因此,根据语义分割图将以上区域中满足判断条件的像素点去除。
当区域生长停止后,为防止检测到的阴影区域中含有遗漏的像素点,对不满足判断条件的像素点进行了遗漏检测。若不满足判断条件的像素点周围8个像素中有5个像素都属于阴影区域,那么该像素即为被遗漏的像素,也应属于阴影区域。阴影检测算法处理如算法1所示。
Algorithm 1 Shadow detection algorithm
Input: Original RGB image , Semantic image with dynamic object mask
Output: Shadow mask image
1: seeds = GetInitialSeeds()
2: = TranslateToHSL()
3: while length(seeds)0 do
4: pointseeds[0]
5: Remove seeds[0] in seeds
6: if point not processed then
7: point marked as processed
8: else
9: continue
10: end if
11: for adjacentpoint within adjacentpoints do
12: if adjacentpoint do not cross the border then
13: if adjacentpoint not processed then
14: if MeetRegionalGrowth(adjacentpoint, ) then
15: Add adjacentpoint to seeds
16: else
17: Add adjacentpoint to leakseeds
18: end if
19: else
20: continue
21: end if
22: else
23: continue
24: end if
25: end for
26: end while
27: LeakDetect(leakseeds)
在获得最终的动态物体掩码图后,根据动态物体掩码图将动态物体及其阴影在RGB图像上剔除,图像上会产生空洞掩码。之后使用图像补全算法来修补该图像中的空洞,这样就可以合成一幅只包含环境静态结构的图像,这种图像满足SLAM系统对静态环境的假设,对提高相机位姿估计精度有重大意义。
本研究的图像补全算法选择E2FGVI算

图5 E2FGVI算法框架
Fig. 5 Algorithm framework of E2FGVI
在本节中,将本研究提出的图像预处理方法与经典的视觉SLAM系统双目ORB-SLAM2相结合并和原始双目ORB-SLAM2比较,以验证本研究所提出的图像预处理方法在动态环境中对视觉SLAM系统的有效性。此外,还进行了消融试验,以验证图像预处理方法中的每一个模块都是不可缺少的。所有实验均在配备AMD Ryzen 7 4800H CPU、RTX2060 GPU和16GB内存的计算机上进行。
KITTI数据集是用于评估车载视觉SLAM系统定位精度的优秀数据集。该数据集由22个双目序列组成,其中前11个序列提供准确的真值。在本节中,使用KITTI数据集中的5个序列来评估性能,即高动态场景序列:KITTI 01、KITTI 09,低动态场景序列:KITTI 02、KITTI 04、KITTI 05。
为了定量评估该算法的性能,使用表示轨迹全局一致性的绝对轨迹误差(absolute trajectory error,ATE)和测量平移和旋转漂移的相对位姿误差(relative pose error,RPE)来评估系统的整体性能。均方根误差(root mean square error,RMSE)比均值和中值更能反映系统的准确性和鲁棒性,最大值(MAX)和最小值(MIN)能反映系统的稳定性。因此,本文通过分别处理每个序列来获得ATE和RPE的RMSE值、MAX值和MIN值,以评测位姿估计精度和系统稳定性。
为了验证阴影检测模块对图像补全效果的影响,对阴影检测模块进行了消融实验,即分别将未对阴影掩码的动态物体掩码图和对阴影掩码的动态物体掩码图作为图像补全算法的掩码图输入,补全后的图像如

图6 阴影检测模块对图像补全效果影响对比图
Fig. 6 Comparison of impact of shadow detection module on image completion performance
在本节中,对提出的图像预处理方法对视觉SLAM系统的提升效果进行了测试。使用KITTI数据集中具有动态物体的序列:KITTI 01、KITTI 09,KITTI 02、KITTI 04、KITTI 05作为评估数据集。在上述数据集中对带本文提出的图像预处理方法的双目ORB-SLAM2系统和原始双目ORB-SLAM2系统进行测试。
数据集 | 指标 | 原始ORB-SLAM2 | 图像预处理方法+ORB-SLAM2 | |
---|---|---|---|---|
高动态场景 | 01 | MAX | 16.265 | 11.063 |
MIN | 0.753 | 0.516 | ||
RMSE | 8.108 | 6.139 | ||
09 | MAX | 6.861 | 2.276 | |
MIN | 0.773 | 0.108 | ||
RMSE | 2.861 | 0.962 | ||
低动态场景 | 02 | MAX | 6.991 | 6.419 |
MIN | 0.293 | 0.321 | ||
RMSE | 3.213 | 2.967 | ||
04 | MAX | 0.266 | 0.321 | |
MIN | 0.042 | 0.030 | ||
RMSE | 0.156 | 0.133 | ||
05 | MAX | 1.005 | 0.787 | |
MIN | 0.140 | 0.079 | ||
RMSE | 0.634 | 0.330 |

图7 在高动态场景KITTI01、KITTI09以及低动态场景KITTI05上,带有本文提出的图像预处理方法的双目ORB-SLAM2系统(图中第一行)与原始双目ORB-SLAM2系统(图中第二行)的ATE图
Fig. 7 ATE diagram of stereo ORB-SLAM2 system with image pre-processing method proposed in this paper (first row) and original stereo ORB-SLAM2 system (second row) on high dynamic scenes KITTI01, KITTI09, and low dynamic scene KITTI05

图8 KITTI 05序列中的相对位姿误差
Fig. 8 Relative pose errors in KITTI 05
为探索图像预处理方法中的每一个模块对视觉SLAM定位精度的影响,对阴影检测模块和图像补全模块进行了消融试验。即将不带有阴影检测模块的图像预处理方法处理后的图像和将不带有图像补全模块的图像预处理方法处理后的图像作为视觉SLAM系统的输入。两种消融试验输入图像的示例如

图9 消融试验输入图像示例
Fig. 9 Example image of ablation study input
数据集 | 指标 | 原始ORB-SLAM2 | 不带图像补全模块的预处理方法+ORB-SLAM2 | |
---|---|---|---|---|
高动态场景 | 01 | MAX | 16.265 | 16.643 |
MIN | 0.753 | 0.632 | ||
RMSE | 8.108 | 8.908 | ||
09 | MAX | 6.861 | 8.456 | |
MIN | 0.773 | 1.066 | ||
RMSE | 2.861 | 3.503 | ||
低动态场景 | 02 | MAX | 6.991 | 9.880 |
MIN | 0.293 | 0.219 | ||
RMSE | 3.213 | 4.507 | ||
04 | MAX | 0.266 | 0.321 | |
MIN | 0.042 | 0.031 | ||
RMSE | 0.156 | 0.158 | ||
05 | MAX | 1.005 | 1.072 | |
MIN | 0.140 | 0.082 | ||
RMSE | 0.634 | 0.424 |
数据集 | 指标 | 原始ORB-SLAM2 | 不带阴影检测模块的预处理方法+ORB-SLAM2 | |
---|---|---|---|---|
高动态场景 | 01 | MAX | 16.265 | 18.201 |
MIN | 0.753 | 0.534 | ||
RMSE | 8.108 | 8.046 | ||
09 | MAX | 6.861 | 8.740 | |
MIN | 0.773 | 1.187 | ||
RMSE | 2.861 | 4.013 | ||
低动态场景 | 02 | MAX | 6.991 | 10.174 |
MIN | 0.293 | 0.263 | ||
RMSE | 3.213 | 4.621 | ||
04 | MAX | 0.266 | 0.320 | |
MIN | 0.042 | 0.027 | ||
RMSE | 0.156 | 0.151 | ||
05 | MAX | 1.005 | 0.851 | |
MIN | 0.140 | 0.094 | ||
RMSE | 0.634 | 0.399 |
以KITTI数据集01序列为例,对本文所提出的图像预处理算法中主要模块的运行时间进行了评估。进行了5次实验并计算平均值。评估结果如
模块名称 | 动态物体识别 | 阴影检测 | 图像补全 |
---|---|---|---|
运行时间 | 0.11 | 0.37 | 0.19 |
本文介绍了一种用于动态环境下视觉SLAM系统的图像预处理方法,该方法可以很容易地集成到现有视觉SLAM系统中,使视觉SLAM系统能够在动态环境中稳健、准确和连续的工作。该方法首先使用语义分割网络和光流估计网络鲁棒、精确地检测图像中潜在的动态物体。针对语义分割网络无法检测动态物体阴影的问题,提出了一种基于区域生长的阴影识别算法,对动态物体的阴影进行识别。之后,对图像中剔除动态物体及其阴影的空洞进行补全,获取被动态物体遮挡的特征信息。将本文所提出的图像预处理方法与双目ORB-SLAM2结合,并在KITTI数据集上进行了实验,实验表明所提出的图像预处理方法显著地提升了视觉SLAM系统的定位精度,并且图像预处理方法中的每一个模块都有着不可替代的作用。在未来,计划采用多任务学习框架,以简化预处理方法中的网络架构以及采用硬件加速的方式来优化算法的运行时间。
作者贡献声明
卓桂荣:研究思路指导、资源获取。
卢守义:算法设计及调试、试验数据获取、试验数据分析、论文撰写。
熊 璐:研究思路指导、资源获取。
参考文献
KUUTTI S, FALLAH S, KATSAROS K, et al. A survey of the state-of-the-art localization techniques and their potentials for autonomous vehicle applications[J]. IEEE Internet of Things Journal, 2018, 5(2): 829. [百度学术]
余卓平,高乐天,夏新, 等.基于轮胎半径自适应的智能车辆组合定位[J].同济大学学报(自然科学版),2022,50(4):504. [百度学术]
YU Zhuoping, GAO Letian, XIA Xin,et al. Intelligent vehicle combined positioning based on adaptive tire radius[J]. Journal of Tongji University (Natural Science), 2022, 50(4):504. [百度学术]
FAKHARIAN A, GUSTAFSSON T, MEHRFAM M. Adaptive Kalman filtering based navigation: An IMU/GPS integration approach[C]//2011 International Conference on Networking, Sensing and Control. [S.l.]:IEEE, 2011: 181-185. [百度学术]
周苏,李伟嘉,郭军华.基于激光雷达的停车场车辆定位算法[J].同济大学学报(自然科学版),2021,49(7):1029. [百度学术]
ZHOU Su, LI Weijia, GUO Junhua. Parking lot vehicle positioning algorithm based on LIDAR[J]. Journal of Tongji University (Natural Science), 2021, 49(7):1029. [百度学术]
CHEN W, SHANG G, JI A, et al. An overview on visual SLAM: From tradition to ssemantic[J]. Remote Sensing, 2022; 14(13):3010. [百度学术]
DAVISON A J, REID I D, MOLTON N D, et al. MonoSLAM: Real-time single camera SLAM[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(6): 1052. [百度学术]
KLEIN G, MURRAY D. Parallel tracking and mapping for small AR workspaces[C]//2007 6th IEEE and ACM International Symposium on Mixed and Augmented Reality. [S.l.]:IEEE, 2007: 225-234. [百度学术]
MUR-ARTAL R, TARDOS J D. Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras[J]. IEEE Transactions on Robotics, 2017, 33(5): 1255. [百度学术]
CAMPOS C, ELVIRA R, RODRIGUEZ J J G, et al. Orb-slam3: An accurate open-source library for visual, visual–inertial, and multimap slam[J]. IEEE Transactions on Robotics, 2021, 37(6): 1874. [百度学术]
NEWCOMBE R A, LPVEGROVE S J, DAVISON A J. DTAM: Dense tracking and mapping in real-time[C]//2011 International Conference on Computer Vision. [S.l.]:IEEE, 2011: 2320-2327. [百度学术]
ENGEL J, SCHOPS T, CREMERS D. LSD-SLAM: Large-scale direct monocular SLAM[C]//European Conference on Computer Vision. [S.l.]:Springer, 2014: 834-849. [百度学术]
ENGEL J, KOLTUN V, CREMERS D. Direct sparse odometry[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 40(3): 611. [百度学术]
GAO X, WANG R, DEMMEL N, et al. LDSO: Direct sparse odometry with loop closure[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). [S.l.]:IEEE, 2018: 2198-2204. [百度学术]
SAPUTRA M R U, MARKHAM A, TRIGONI N. Visual SLAM and structure from motion in dynamic environments: A survey[J]. ACM Computing Surveys (CSUR), 2018, 51(2): 1. [百度学术]
DERPANIS K G. Overview of the RANSAC Algorithm[J]. Image Rochester NY, 2010, 4(1): 2. [百度学术]
VYSOTSKA O, STACHNISS C. Exploiting building information from publicly available maps in graph-based SLAM[C]//2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). [S.l.]:IEEE, 2016: 4511-4516. [百度学术]
RICHARD H, ANDREW Z, Multiple view geometry in computer vision [M]. 2nd ed. Cambridge, U.K.: Cambridge University Press, 2003. [百度学术]
KUNDU A, KRISHNA K M, SIVASWAMY J. Moving object detection by multi-view geometric techniques from a single camera mounted robot[C]//2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. [S.l.]:IEEE, 2009: 4306-4312. [百度学术]
刘钰嵩,何丽,袁亮, 等.动态场景下基于光流的语义RGBD-SLAM算法[J].仪器仪表学报,2022,43(12):139. [百度学术]
LIU Yusong, HE Li, YUAN Liang, et al. Semantic RGBD-SLAM algorithm based on optical flow in dynamic scenes[J]. Journal of Instrumentation,2022,43(12):139. [百度学术]
张小勇,张洪,高清源, 等.室内动态场景下基于稀疏光流与实例分割的视觉SLAM算法[J].东华大学学报:自然科学版, 2023, 49(6):111. [百度学术]
ZHANG Xiaoyong, ZHANG Hong, GAO Qingyuan, et al. Visual SLAM algorithm based on sparse optical flow and instance segmentation in indoor dynamic scenes[J]. Journal of Donghua University (Natural Science), 2023, 49(6):111. [百度学术]
YU C, LIU Z, LIU X J, et al. DS-SLAM: A semantic visual SLAM towards dynamic environments[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). [S.l.]:IEEE, 2018: 1168-1174. [百度学术]
BESCOS B, FACIL J M, CIVERA J, et al. DynaSLAM: Tracking, mapping, and inpainting in dynamic scenes[J]. IEEE Robotics and Automation Letters, 2018, 3(4): 4076. [百度学术]
ZHONG F, WANG S, ZHANG Z, et al. Detect-SLAM: Making object detection and SLAM mutually beneficial[C]//2018 IEEE Winter Conference on Applications of Computer Vision (WACV). [S.l.]:IEEE, 2018: 1001-1010. [百度学术]
CHENG J, WANG Z, ZHOU H, et al. DM-SLAM: A feature-based SLAM system for rigid dynamic scenes[J]. ISPRS International Journal of Geo-Information, 2020, 9(4): 202. [百度学术]
FAN M, LAI S, HUANG J, et al. Rethinking BiSeNet for real-time semantic segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. [S.l.]:IEEE, 2021: 9716-9725. [百度学术]
CORDTS M, OMRAN M, RAMOS S, et al. The cityscapes dataset for semantic urban scene understanding[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [S.l.]:IEEE, 2016: 3213-3223. [百度学术]
GEIGER A, LENZ P, STILLER C, et al. Vision meets robotics: The kitti dataset[J]. The International Journal of Robotics Research, 2013, 32(11): 1231. [百度学术]
ZHAO S, SHENG Y, DONG Y, et al. Maskflownet: Asymmetric feature matching with learnable occlusion mask[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. [S.l.]:IEEE, 2020: 6278-6287. [百度学术]
BUTLER D J, WULFF J, STANLEY G B, et al. A naturalistic open source movie for optical flow evaluation[C]//European Conference on Computer Vision. Berlin, Heidelberg:Springer, 2012: 611-625. [百度学术]
LI Z, LU C Z, QIN J, et al. Towards an end-to-end framework for flow-guided video inpainting[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. [S.l.]:IEEE, 2022: 17562-17571. [百度学术]