视觉SLAM在动态场景下的图像处理方法

2021-10-22 04:50游通飞孔令华刘文玉易定容
红外技术 2021年10期
关键词:位姿语义轨迹

游通飞,孔令华,刘文玉,易定容,殷 江

视觉SLAM在动态场景下的图像处理方法

游通飞1,2,孔令华1,2,刘文玉1,易定容3,殷 江1,2

(1. 福建工程学院 机械与汽车工程学院,福建 福州 350118;2. 福建工程学院 数字福建工业制造物联网实验室,福建 福州 350118;3. 华侨大学 机电及自动化学院,福建 厦门 361021)

SLAM一直是机器人领域的研究热点,近年来取得了万众瞩目的进步,但很少有SLAM算法考虑到动态场景的处理。针对视觉SLAM场景中动态目标的处理,提出一种在动态场景下的图像处理方法。将基于深度学习的语义分割算法引入到ORB_SLAM2方法中,对输入图像进行分类处理的同时剔除人身上的特征点。基于已经剔除特征点的图像进行位姿估计。在TUM数据集上与ORB_SLAM2进行对比,在动态场景下的绝对轨迹误差和相对路径误差精度提高了90%以上。在保证地图精度的前提下,改善了地图的适用性。

视觉SLAM;动态场景;ORB-SLAM2;特征点;剔除

0 引言

SLAM(simultaneous localization and mapping),中文名为同步定位与地图构建,它从提出到发展已经有三十余年[1-2]。根据使用传感器的类型,将SLAM分为激光SLAM和视觉SLAM[3]。随着SLAM技术的进一步完善,该方法被广泛应用到机器人技术上。视觉SLAM技术因其性价比高、效果佳,成为当下的研究热点。目前大多数视觉SLAM的研究工作主要是集中在静态环境中展开的,真实场景下往往都是呈现动态形式[4]。这些静态场景下的算法处理起真实环境时,结果往往不尽人意。为了解决视觉SLAM在动态场景下工作的鲁棒性,Kai Wang等人[5]通过识别和处理移动和潜在可移动对象,增强了视觉SLAM中的建图和定位精度。具体来说,利用前一帧和当前一帧的位姿信息来细化后一帧的分割,确定所有潜在的可移动的对象,发送到vSLAM模块进一步计算相应帧的跟踪和建图,使分割精度得以提高。DynaSLAM[6]中,作者提出了一种检测动态对象系统。使用MASK-RCNN对物体进行实例分割,然后对具有移动性的对象进行分割。该工作还引入了背景区域填充的方法,可以修复动态目标遮挡的区域。在DS-SLAM[7]中作者通过检测物体的运动一致性,判断人是否是动态对象,并获得语义分割后的人的标签。降低了基于视觉的SLAM中动态对象的影响。针对视觉SLAM场景中动态目标的问题,本文在ORB-SLAM2处理动态环境基础上,引入语义分割算法[8-9]。根据人身的ORB特征点在帧间变化的特点,判断人是否运动。将语义分割中人的类别作为动态物体进行特征点剔除,最终达到所建地图不会因人的运动而受到干扰。

1 基于ORB-SLAM2的图像处理方法

1.1 传统的ORB-SLAM2

ORB-SLAM2[10]算法是由跟踪线程、局部建图线程、闭环检测线程这3个平行线程和全局BA(bundle adjustment)优化线程组成,如图1所示。跟踪线程是将相机收集到的每一帧数据进行ORB特征提取,通过相机位姿跟踪和局部地图跟踪获得局部地图与当前帧的匹配。利用最小化投影误差优化位姿,判断是否生成关键帧。局部建图线程是对上一线程所得新关键帧进行处理,剔除地图中质量偏低的点。通过三角化的方法来恢复出共视程度比较高的关键帧地图点,检查当前关键帧与相邻帧重复的地图点,进行地图点融合。当前帧相连的关键帧及地图点做局部BA优化,剔除多余的关键帧。闭环探测和闭环校正组成闭环检测线程。其中闭环探测是通过计算当前帧与相连关键帧的词袋(bag of words,BoW)模型最低得分,判断当前关键帧是否产生闭环并进行连续性检测并计算相似变换。闭环校正主要包含闭环融合和图优化这两个部分。全局BA优化线程是对全局的位姿和地图点进行优化,达到更新地图的目的。

1.2 PSPNet算法

PSPNet(pyramid scene parsing network)[11]算法利用基于不同区域的上下文池化来实现全局上下文信息的能力。PSPNet算法结构如图2所示,指定一个输入图像(a),首先经过卷积神经网络得到特征图feature map(b),特征图分别进入金字塔解析模块和连接层。一部分特征图经过金字塔解析模块处理后的特征图进行向上采样,向上采样的结果传入到连接层与另一部分特征图进行结合,获得特征表示,该特征包含局部和全局上下文信息(c)。金字塔池化模块处理后得到的结果输入卷积层,语义分割的预测(d)便可呈现。

图1 ORB_SLAM2 系统线程和结构

金字塔池模块有4种不同的尺度的特征。其中最上层代表生成单个bin输出的全局池。下方的其余金字塔将特征图分成不同的子区域,形成不同位置的表示。大小各异的特征图是由金字塔池化模块中各层次输出得到,若金字塔的大小为,为使全局特征不变,每一个金字塔层将使用1×1卷积层去减小上下文的维度到原来的1/。低维度的特征图上采样得到与原始特征图大小相同的特征。各层次的特征进行连接即为金字塔池化全局特征。

1.3 ORB-SLAM2动态场景下的优化

为解决ORB-SLAM2算法在动态场景下的漂移量大、目标丢失等问题,本文提出将ORB-SLAM2算法和语义分割算法进行结合。目前,基于深度学习的语义分割算法中,PSPNet算法表现出优秀的分割性能,是近些年语义分割中具有高精度算法的代表,故选择PSPNet算法作为本文的语义分割算法。系统流程图如图3所示。其中,PSPNet是在数据集PASCAL VOC2012进行训练,该数据集是目前衡量语义分割的标准数据集之一[12]。

图2 PSPNet算法结构

图3 剔除动态点方法

本文的方法是将原始图像分别输入至ORB-SLAM2算法和PSPNet算法中。在ORB-SLAM2跟踪线程中进行提取特征点时,经过PSPNet网络分割过的图像传入ORB-SLAM2中。此时,分割图像中的人作为动态对象,ORB-SLAM2将剔除分布在人身上的特征点。剔除人身上特征点后的其余特征点继续进行特征匹配和位姿估计。

把人作为动态对象的特征点剔除后,ORB-SLAM2算法在动态场景下工作的能力得到了明显提升,展示出较好的抗干扰能力。

2 实验与分析

本文使用公共数据集TUM RGB-D[13]对SLAM系统稳定性进行评估。该数据集是由德国慕尼黑工业大学提出的一个标准RGB-D数据集,目前经常用来评估RBG-D的一个数据集。该数据集是用来评估SLAM系统或VO算法在具有移动物体的动态环境下性能。数据集中的图像是使用Kinect传感器进行获取,包含彩色图像、深度图像和地面真实轨迹的数据,其中彩色图像和深度图像时间戳一一对应。数据集自带了两种评估SLAM系统的程序,分别是相对位姿误差(relative pose error,RPE)和绝对轨迹误差(absolute trajectory error,ATE)。

在一定的时间间隔内衡量轨迹的局部精度被称为相对位姿误差(RPE),用于评价系统的漂移量。

式中:ÎSE(3)是估计位姿;ÎSE(3)是真实位姿;代表时间或者帧数;表示时间间隔。

通过比较估计和地面真实轨迹(ground truth)之间的绝对距离被称为绝对轨迹误差,用于评价轨迹的全局一致性。

其中ÎSE是估计位姿到真实位姿的转换矩阵。

本文是在TUM数据集的rgbd_dataset_ freiburg3_walking_xyz、rgbd_dataset_freiburg3_ walking_halfsphere、rgbd_dataset_freiburg3 _walking _static、rgbd_dataset_freiburg3_sitting_static四个序列工作性能的对比。表1、2、3是ORB-SLAM2和本文方法的对比结果。walking_xyz、walking_ half- sphere、walking_static、sitting_static绝对轨迹误差图和相对位姿误差图分别如图4、5、6、7、8、9、10、11所示。其中,左边图为绝对轨迹误差,右边图为相对位姿误差。

表1 绝对轨迹误差对比(ATE)

表2 相对位姿误差对比(RPE)

表3 相对旋转误差对比(RRE)

从表1~3可以观察到,在前3个动态环境下,无论相对位姿误差还是绝对轨迹误差,改进后的ORB-SLAM2系统的Rmse、Mean、Median和Std值比传统ORB-SLAM2都提高了90%以上。而在第4个静态环境下,最高只比ORB-SLAM2提高了27.68%。实验数据表明:改进后的ORB-SLAM2系统能较好地克服动态环境下系统的漂移并达到轨迹全局一致性的效果。

图4 ORB-SLAM2在walking_xyz下的误差(左:轨迹误差;右:相对位姿误差)

图5 本文方法在walking_xyz下的误差(左:轨迹误差;右:相对位姿误差)

图6 ORB-SLAM2在walking_halfsphere下的误差(左:轨迹误差;右:相对位姿误差)

图7 本文方法在walking_halfsphere下的误差(左:轨迹误差;右:相对位姿误差)

图8 ORB-SLAM2在walking_static下的误差(左:轨迹误差;右:相对位姿误差)

图9 本文方法在walking_static下的误差(左:轨迹误差;右:相对位姿误差)

在耗时上,将ORB-SLAM2和改进后的ORB-SLAM2分别在TUM数据集上运行并取3次结果求平均值,如表4所示。ORB-SLAM2平均耗时57.439ms,改进后的ORB-SLAM2平均耗时79.681ms。对比改进前后的ORB-SLAM2耗时,改进后的耗时比传统ORB-SLAM2多用了22.242ms,这是因为改进后的ORB-SLAM2引入了语义分割,增加了系统的耗时。

图10 ORB-SLAM2在sitting_static下的误差(左:轨迹误差;右:相对位姿误差)

图11 本文方法在sitting_static下的误差(左:轨迹误差;右:相对位姿误差)

表4 两种方法在TUM数据集的耗时

3 结论

本文基于SLAM系统中ORB-SLAM2算法,针对动态场景下的目标,提出了ORB-SLAM2算法和语义分割算法进行融合的方法。在场景中把人看作是动态对象,剔除人身上的特征点。在TUM数据集上进行实验验证,结果表明:本文提出的方法在动态场景下的绝对轨迹误差和相对路径误差比原ORB-SLAM2算法至少提高了90%以上的精度,同时系统耗时增加22.242ms,该方法在动态环境中能够保持系统的鲁棒性。

[1] Durrant-Whyte H, Bailey Tim. Simultaneous localization and mapping: part I[J]., 2006, 13(2): 99-10.

[2] 张金凤, 石朝侠, 王燕清. 动态场景下基于视觉特征的SLAM方法[J]. 计算机工程, 2020, 46(10): 95-102.

ZHANG Jinfeng, SHI Chaoxia, WANG Yanqing. SLAM method based on visual features in dynamic scene[J]., 2020, 46(10): 95-102.

[3] 江国来. 共融移动服务机器人导航与交互关键技术研究[D]. 深圳: 中国科学院大学(中国科学院深圳先进技术研究院), 2019.

JIANG Guolai. Research on Key Technologies of Navigation and Interaction of Inclusive Mobile Service Robot[D]. Shenzhen: University of Chinese Academy of Sciences, 2019.

[4] HAN Shuangquan, XI Zhihong. Dynamic scene semantics SLAM based on semantic segmentation[J]., 2020, 8: 43563-43570.

[5] WANG Kai, LIN Yimin, WANG Luowei, et al. A unified framework for mutual improvement of SLAM and semantic segmen- tation[C]//(ICRA), 2019: 5224-5230.

[6] Bescos Berta, Fácil José M, Civera Javier, et al. Dyna SLAM: tracking, mapping and in painting in dynamic scenes[J]., 2018, 3(4): 4076-4083.

[7] YU Chao, LIU Zuxin, LIU Xinjun, et al. DS-SLAM: a semantic visual SLAM towards dynamic environments[C]//s(IROS), 2018: 1168-1174.

[8] 王召东, 郭晨. 一种动态场景下语义分割优化的ORB_SLAM2[J].大连海事大学学报, 2018, 44(4): 121-126.

WANG Zhaodong, GUO Chen. An improved ORB_SLAM2 in dynamic scene with semantic segmentation[J]., 2018, 44(4): 121-126.

[9] 王晨, 汤心溢, 高思莉. 基于深度卷积神经网络的红外场景理解算法[J]. 红外技术, 2017, 39(8): 728-733.

WANG Chen, TANG Xinyi, GAO Sili. Infrared scene understanding algorithm based on deep convolutional neural network[J]., 2017, 39(8): 728-733.

[10] Mur-Artal Raul, D Tardos Juan. ORB-SLAM2: an opensource slam system for monocular, stereo, and rgb-d cameras[J]., 2017, 33(5): 1255-1262.

[11] ZHAO Hengshuang, SHI Jianping, QI Xiaojuan, et al. Pyramid scene parsing network[C]//, 2017: 6230-6239.

[12] 李瀚超, 蔡毅, 王岭雪. 全局特征提取的全卷积网络图像语义分割算法[J]. 红外技术, 2019, 41(7): 595-599, 615.

LI Hanchao, CAI Yi, WANG Lingxue. Image semantic segmentation based on fully convoluted network with global feature extraction[J]., 2019, 41(7): 595-599.

[13] Sturm Jürgen, Engelhard Nikolas, Endres Felix, et al. A benchmark for the evaluation of RGB-D SLAM systems[C]//.., 2012: 573-580.

[12] 吴继平, 张桂玲, 杨楚明. 工业检测型红外热像仪: GB/T19870 —2018[S]. 全国工业过程测量控制和自动化标准化技术委员会[2018-05-14].

WU Jiping, ZHANG Guiling, YANG Chuming. Industrial inspecting thermal imagers: GB/T19870—2018[S]. National Industrial Process Measurement Control and Automation Standardization Technical Committee [2018-05-14].

[13] 白廷柱, 金伟其. 光电成像原理与技术[M]. 北京: 北京理工大学出版社, 2006.

BAI Tingzhu, JIN Weiqi.[M]. Beijing: Beijing University of Technology Press, 2006.

[14] Usamentiaga R, Venegas P, Guerediaga J, et al. Infrared thermography for temperature measurement and non-destructive testing[J]., 2014, 14(7): 12305-12348.

[15] 武汉凯尔文光电技术有限公司产品中心. JQ-D70Z 热成像人体测温黑体[EB/OL]. [2021-08-19]. https://http://www.whkelvin.com/ pros _ show. php?id=84.

Product Center of Wuhan Kelvin Photoelectric Technology Co. Ltd. JQ- D70Z blackbody of screening thermograph[EB/OL]. [2021-08-19]. https: // http://www.whkelvin.com/pros_show.php?id=84.

[16] Pascoe D, Ring E, Mercer J, et al. International standards for pandemic screening using infrared thermography[C]/,2010:,,, 2010, 7626: 76261Z.

Image Processing Method for Visual Simultaneous Localization and Mapping in Dynamic Scene

YOU Tongfei1,2,KONG Linghua1,2,LIU Wenyu1,YI Dingrong3,YIN Jiang1,2

(1.,,350118,; 2.,350118,;3.,,361021,)

Simultaneous localization and mapping(SLAM) has always been a research hotspot in the robotics field. In recent years, remarkable progress has been made in SLAM research, but few SLAM algorithms have considered the processing of dynamic scenes. Therefore, in this study, an image processing method for dynamic target processing in a visual SLAM scene is proposed. The semantic segmentation algorithm based on deep learning was introduced into the ORB_SLAM2 method and input image classification processing was accomplished while removing the feature points on the body. Pose estimation was performed based on images with eliminated feature points. Compared to ORB_SLAM2 on the TUM dataset, the absolute trajectory error and relative path error accuracy were improved by more than 90% in the dynamic scene. To ensure the accuracy of the generated map, the applicability of the map was improved.

visual SLAM, dynamic scene, ORB- LAM2, feature points, remove

TP391

A

1001-8891(2021)10-0960-08

2020-06-06;

2020-07-28.

游通飞(1994-),男,福建福州人,硕士研究生,研究方向:视觉SLAM和语义分割。

孔令华(1963-),男,加拿大人,教授,博士,硕士生导师,研究方向:三维视觉和多光谱检测。E-mail:15392030898@163.com。

国家自然科学基金资助项目(51775200)。

猜你喜欢
位姿语义轨迹
真实场景水下语义分割方法及数据集
解析几何中的轨迹方程的常用求法
轨迹
轨迹
基于位置依赖的密集融合的6D位姿估计方法
船舶清理机器人定位基准位姿测量技术研究
优化ORB 特征的视觉SLAM
基于单目视觉的工件位姿六自由度测量方法研究
基于在线轨迹迭代的自适应再入制导
“吃+NP”的语义生成机制研究