融合混合注意力实例分割的视觉同步定位与建图算法
1 引言
同步定位与建图(SLAM)是指移动机器人进入未知环境时,在没有环境先验输入情况下,对所处位置进行定位并同时形成环境地图,从而实现后续的导航任务[1-3]。视觉SLAM利用视觉传感器获取图像,从图像信息中提取移动机器人位姿信息,具有应用场景广泛、耗能较低的特点。不过视觉SLAM也存在缺陷,累积漂移误差的修正受外界环境影响仍存在精度不高的情况[4-6]。
为了在多场景下消除累积漂移误差对系统的影响,加入闭环检测来不断修正移动机器人位姿,旨在通过对不同时刻场景的辨别来判断移动机器人当前位置是否为之前某个相同位置[7-8]。Konolige等[9]提出Random Sample Consensus(RANSANC)算法提取特征点周围三维信息进行闭环检测,然而该算法在几何结构相同率高的情况下效果不尽如人意。Olson[10]提出相关性扫描匹配(CSM)算法,通过每一帧与另一帧之间的相似性进行匹配,相似度高的则认定为同一场景。这种算法虽无需局部地图的存储,但计算过于复杂、计算量过大。Cummins等[11]在假定图像只存在旋转角度的情况下,只检测图像特征的几何一致来提高算法效率,但存在过分堆叠环境下,只利用特征一致性存在区分度弱、提供信息不充分等问题。Botterill等[12]使用词袋模型思想将每幅图片表示为某些单词的集合,进行特征分类。Mur-Artal等[13]提出的ORB-SLAM2算法,融合Oriented Fast and Rotated Brief(ORB)算法良好的特征计算不变性,有效解决基于词袋模型可能存在的定位丢失问题。但上述所有算法在存在遮挡的情况下均难以提取目标物体的部分或全部特征。Arandjelović等[14]通过视觉词典中的词汇提取语义信息,将图像语义与闭环检测环节相结合,在闭环检测时引入语义信息代替单纯的几何信息来实现鲁棒的场景识别,规避了点特征参与匹配时可能存在的误识别,使匹配结果准确度大大提高。迅速发展的深度学习又给人们提供了另一种思路。Detect-SLAM[15]系统使用SSD[16]目标检测网络对关键帧进行动态物体检测,解决存在的动态遮挡问题,但所需时间相对较多。Wang等[17]利用YOLOv3算法检测特定运动物体,相较Detect-SLAM算法运行时间显著减少。但以上两种算法只对物体大致位置进行框选,忽略了物体的边缘轮廓,提取精度较差。Yu等[18]提出的DS-SLAM算法在ORB-SLAM2框架上添加SegNet[19]提取目标的像素级信息进行分割,解决物体遮挡问题,提高了提取精度。上述算法均是对遮挡物体类别进行识别,忽略了对被遮挡物特征的提取,使得整体可用特征较少,不利于SLAM算法的闭环,且检测到的物体可能是处于静止状态的,例如在KITTI数据集或停车场中,静态车辆可以用作SLAM算法闭环检测。若只考虑遮挡物类别,算法精度将会大大降低,甚至会导致闭环检测失败。
因此,所提算法改进实例分割算法Mask-RCNN[20]主干网络,并将两种软注意力(空间、通道)机制与视觉SLAM算法相结合,增大被遮挡物识别权重,提高SLAM算法闭环检测时对被遮挡物特征的提取与识别能力。同时,为避免因环境变化导致图像匹配错误率较高,而造成用于实例分割的关键帧冗余:引入概率去误匹配算法,计算每张图片匹配特征点对距离分布;去除极端分布匹配点对,减少选取关键帧时存在的误匹配得到更为优质的关键帧。改进后算法可以更好地实现相同场景下的识别与匹配,增强算法在遮挡环境下对被遮挡物体的识别能力,提升SLAM建图环节的稳定性。
2 算法结构
所提算法由混合注意力Mask-RCNN、概率去误匹配算法以及定位建图等3个部分构成。将机器人探索未知环境时视觉传感器获取的图像信息输入融合混合注意力Mask-RCNN实例分割算法中对被遮挡物进行注意力加权,最终得出实例分割结果。概率去误匹配算法对输入图像进行特征提取与匹配,并根据匹配点对概率分布去除可能存在的误匹配。根据图像间位姿估计更新移动机器人轨迹地图,并与已有关键帧库中图像进行比对得出相似性评分,确定阈值将相似性较低的图片设定为关键帧进行闭环检测。若产生闭环,则用较前时刻相应位姿信息进行修正构图。系统框架图如
3 特征提取与匹配
3.1 融合混合注意力机制的Mask-RCNN
基于深度学习的Mask-RCNN实例分割算法常被用来检测图像中存在的物体,并对已识别物体进行像素级分割,生成准确的图像语义信息。但在遮挡较为频繁的环境中,针对被遮挡物体的特征提取与识别的速度和准确度均会受到一定影响。本实验采用一种从空间、通道这2个不同维度软注意力相结合的混合注意力机制改进Mask-RCNN实例分割算法。注意力机制源于人眼在观察事物时会本能地关注想关注的目标区域,因此视觉系统在处理人眼获取的图像信息时会投入更多的注意力去提取该区域的细节信息。使用该机制可以减少环境信息对识别分割结果的影响、降低算法识别过程中自然环境背景分配权重、提高被遮挡目标的分配权重,从而使算法更加聚焦于既定目标物体,避免局部混淆和部分遮挡所带来的检测准确度下降的问题,进而提高检测准确度。混合注意力Mask-RCNN算法框架图如
图 2. 混合注意力Mask-RCNN算法框架图
Fig. 2. Framework diagram of mixed attention Mask-RCNN algorithm
所提实例分割算法Mask-RCNN的主干网络由深度残差网络(ResNet-50)及特征金字塔网络(FPN)[21]构成。通过预训练得到特征图注意力权重分配法则,在空间和通道这2个层面对特征图所含特征信息进行注意力权重运算,从而实现空间和通道上的权重变化。使用特征提取网络ResNet-50进行特征提取,该网络对输入的视觉图像进行逐层卷积,获得含有不同维度特征的特征图
式中:
式中:
混合注意力机制首先使用空间注意力对输入特征图进行最大池化和平均池化,并将2次池化结果按通道融合生成1个有效特征描述符(表示整个通道的最大池化特征和平均池化特征),再通过卷积得到空间注意力权重
式中:
对具有空间注意力的特征图,使用通道注意力对特征图各特征通道分配相应注意力权重,通道注意力将输入特征图全局平均池化和最大池化的结果分别输入多层感知机中,得到通道注意力权重
式中:
表 1. 混合注意力主干网络主要参数设置
Table 1. Main parameter of mixed attention backbone network
|
3.2 概率去误匹配算法
ORB特征提取与匹配作为目前常用的特征提取算法之一,图像信息通过算法匹配时易受到特征相似性或外界环境干扰而产生大量误匹配,影响后续对关键帧的判断。由此,本实验引入概率学算法对产生的误匹配进行剔除。去除误匹配流程图如
通过对2帧图片匹配点对计算欧氏距离并分组统计,确定其概率学模型分布选取合理阈值从而剔除差异过大的匹配点对。将第1张图像
式中:
式中:
以组距
根据欧氏距离概率分布,设定概率阈值
4 实验结果与分析
实验平台计算机处理器采用Inter i9-10850K芯片,GPU为RTX 3060显卡,显存为12 GB,内存为64 GB,在Ubuntu系统Python 3.7环境下进行实验。
4.1 KITTI公开数据集测试
4.1.1 实例分割算法实验
依次选取KITTI数据集[22]02序列第126帧及07序列第710帧,使用改进前算法和所提算法进行实例分割,其中
图 7. 02和07序列实例分割结果。(a)(c)改进前算法;(b)(d)所提算法
Fig. 7. Instance segmentation results in 02 and 07 sequences. (a)(c) Pre-improved algorithm; (b) (d) proposed algorithm
表 2. 算法测试结果AP对比
Table 2. Comparison of algorithm test results in AP
|
4.1.2 概率去误匹配算法实验
在KITTI公开数据集00序列上将所提算法与其他算法进行对比实验,
图 8. 00序列算法匹配结果。(a)SURF特征匹配结果;(b)ORB特征匹配结果;(c)所提算法特征匹配结果
Fig. 8. Matching results in 00 sequence. (a) SURF feature matching results; (b) ORB feature matching results; (c) proposed algorithm feature matching results
表 3. KITTI数据集有效匹配率和匹配用时对比
Table 3. Comparison of effective matching rate and matching time on KITTI
|
4.1.3 轨迹地图构建实验
为验证所提算法有效性,使用KITTI公开数据集对所提算法、ORB-SLAM2和DS-SLAM这3种算法进行评估。
图 9. KITTI数据集不同序列运行轨迹。(a)10序列;(b)01序列;(c)06序列;(d)07序列;(e)09序列;(f)00序列
Fig. 9. Operating trajectories in different sequences on KITTI. (a) 10 sequence; (b) 01 sequence; (c) 06 sequence; (d) 07 sequence; (e) 09 sequence; (f) 00 sequence
表 4. KITTI数据集运行结果对比
Table 4. Comparison of operating results on KITTI
|
图 10. 3种算法每帧处理时间。(a)ORB-SLAM2;(b)DS-SLAM;(c)所提算法
Fig. 10. Processing time per frame on three algorithms. (a) ORB-SLAM2; (b) DS-SLAM; (c) proposed algorithm
4.2 真实场景测试
本实验移动机器人使用TurtleBot3 Burger,其硬件外观如
表 5. 运行参数设置
Table 5. Operation parameters setting
|
选取学校实验室为室内实验地点,大小为10 m×5 m,真实场景如
图 12. 真实实验环境场景。(a)真实场景;(b)平面布局图
Fig. 12. Real experimental environment scene. (a) Real scene; (b) layout plan
4.2.1 实例分割算法实验
图 13. 第1次五角星位置图像。(a)改进前实例分割结果;(b)所提算法实例分割结果
Fig. 13. Image of pentacle position for the first time. (a) Instance segmentation result of pre-improved algorithm; (b) instance segmentation result of proposed algorithm
图 14. 第2次五角星位置图像。(a)改进前实例分割结果;(b)所提算法实例分割结果
Fig. 14. Image of pentacle position for the second time. (a) Instance segmentation result of pre-improved algorithm; (b) instance segmentation result of proposed algorithm
4.2.2 轨迹地图构建实验
所提算法运行轨迹如
表 6. 真实场景运行结果对比
Table 6. Comparison of running results in real scene
|
5 结论
移动机器人在复杂环境中的定位和闭环精度对其使用场景及性能有着较大影响,本实验提出一种融合混合注意力实例分割的视觉同步定位与建图算法。引入混合注意力机制动态为图像中被遮挡物体分配权重,增加遮挡场景下对被遮挡物体识别能力。并采用概率去误匹配算法对图像匹配点对进行筛选,去除不合理匹配,增加闭环检测所需关键帧的选取精度,提高闭环检测准确率,从而使移动机器人能够在遮挡场景中进行更为准确定位与建图。实验结果表明,采用所提算法的移动机器人在定位建图过程中能够更好地对被遮挡物体进行识别,修正运动轨迹,构建更为精准的轨迹图。后期在本实验研究结果之上,拟采用更高灵敏度传感器提高移动机器人运行过程中遇到动态障碍物的鲁棒性,最终实现机器人自主导航。
[1] 张翠军, 张玉河. 基于HHO算法的SLAM闭环检测方法研究[J]. 激光与光电子学进展, 2021, 58(12): 1215006.
[2] 徐雪松, 曾昱. 基于动态目标检测的视觉同步定位与地图构建算法[J]. 激光与光电子学进展, 2021, 58(16): 1615003.
[3] Cadena C, Carlone L, Carrillo H, et al. Past, present, and future of simultaneous localization and mapping: toward the robust-perception age[J]. IEEE Transactions on Robotics, 2016, 32(6): 1309-1332.
[4] 卢金, 刘宇红, 张荣芬. 面向动态场景的语义视觉里程计[J]. 激光与光电子学进展, 2021, 58(6): 0611001.
[5] 张峻宁, 苏群星, 刘鹏远, 等. 一种自适应特征地图匹配的改进VSLAM算法[J]. 自动化学报, 2019, 45(3): 553-565.
Zhang J N, Su Q X, Liu P Y, et al. An improved VSLAM algorithm based on adaptive feature map[J]. Acta Automatica Sinica, 2019, 45(3): 553-565.
[6] 陈兴华, 蔡云飞, 唐印. 一种基于点线不变量的视觉SLAM算法[J]. 机器人, 2020, 42(4): 485-493.
Chen X H, Cai Y F, Tang Y. A visual SLAM algorithm based on line point invariants[J]. Robot, 2020, 42(4): 485-493.
[7] DeschaudJ E. IMLS-SLAM: scan-to-model matching based on 3D data[C]∥2018 IEEE International Conference on Robotics and Automation, May 21-25, 2018, Brisbane, QLD, Australia. New York: IEEE Press, 2018: 2480-2485.
[8] 占浩, 朱振才, 张永合, 等. 基于残差网络的图像序列闭环检测[J]. 激光与光电子学进展, 2021, 58(4): 0411003.
[9] Konolige K, Agrawal M. FrameSLAM: from bundle adjustment to real-time visual mapping[J]. IEEE Transactions on Robotics, 2008, 24(5): 1066-1077.
[10] OlsonE B. Real-time correlative scan matching[C]∥2009 IEEE International Conference on Robotics and Automation, May 12-17, 2009, Kobe, Japan. New York: IEEE Press, 2009: 4387-4393.
[11] Cummins M, Newman P. Appearance-only SLAM at large scale with FAB-MAP 2.0[J]. The International Journal of Robotics Research, 2011, 30(9): 1100-1123.
[12] Botterill T, Mills S, Green R. Bag-of-words-driven, single-camera simultaneous localization and mapping[J]. Journal of Field Robotics, 2011, 28(2): 204-226.
[13] Mur-Artal R, Tardós 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-1262.
[14] ArandjelovićR, ZissermanA. Visual vocabulary with a semantic twist[M]∥Cremers D, Reid I, Saito H, et al. Computer vision-ACCV 2014. Lecture notes in computer science. Cham: Springer, 2015, 9003: 178-195.
[15] ZhongF W, WangS, ZhangZ Q, et al. Detect-SLAM: making object detection and SLAM mutually beneficial[C]∥2018 IEEE Winter Conference on Applications of Computer Vision, March 12-15, 2018, Lake Tahoe, NV, USA. New York: IEEE Press, 2018: 1001-1010.
[16] LiuW, AnguelovD, ErhanD, et al. SSD: single shot MultiBox detector[M]∥Leibe B, Matas J, Sebe N, et al. Computer vision-ECCV 2016. Lecture notes in computer science. Cham: Springer, 2016, 9905: 21-37.
[17] Wang Z M, Zhang Q, Li J S, et al. A computationally efficient semantic SLAM solution for dynamic scenes[J]. Remote Sensing, 2019, 11(11): 1363.
[18] YuC, LiuZ X, LiuX J, et al. DS-SLAM: a semantic visual SLAM towards dynamic environments[C]∥2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), October 1-5, 2018, Madrid, Spain. New York: IEEE Press, 2018: 1168-1174.
[19] Badrinarayanan V, Kendall A, Cipolla R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495.
[20] HeK M, GkioxariG, DollárP, et al. Mask R-CNN[C]∥2017 IEEE International Conference on Computer Vision, October 22-29, 2017, Venice, Italy. New York: IEEE Press, 2017: 2980-2988.
[21] LinT Y, DollárP, GirshickR, et al. Feature pyramid networks for object detection[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition, July 21-26, 2017, Honolulu, HI, USA. New York: IEEE Press, 2017: 936-944.
[22] 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-1237.
Article Outline
江浩玮, 陈孟元, 袁学超. 融合混合注意力实例分割的视觉同步定位与建图算法[J]. 激光与光电子学进展, 2023, 60(10): 1028008. Haowei Jiang, Mengyuan Chen, Xuechao Yuan. Visual Simultaneous Localization and Mapping Algorithm Combining Mixed Attention Instance Segmentation[J]. Laser & Optoelectronics Progress, 2023, 60(10): 1028008.