控制工程

动态环境下基于卷积神经网络的视觉SLAM方法

张 凤, 王伟良, 袁 帅, 孙明智

(沈阳建筑大学 信息与控制工程学院, 沈阳 110168)

摘 要: 针对视觉SLAM在动态环境中由于物体的移动会使得位姿估计过程中对特征点造成误匹配,导致定位精度较差的问题,提出了动态环境下基于卷积神经网络的视觉SLAM方法.利用卷积神经网络的Mask R-CNN方法,将ORB SLAM与Mask R-CNN算法进行有效融合,并利用极线几何法对动态的特征点进行剔除.在公开数据集中与ORB SLAM2算法进行对比试验,结果表明,本文算法解决了动态特征分布点的误匹配造成定位准确度较差的问题,提高了优化后SLAM系统的定位精度.

关 键 词: 动态环境; SLAM方法; 深度学习; 特征点匹配; 极线几何法; 卷积神经网络; 视觉相机; 相机定位

在计算机视觉同时定位与建图(SLAM)[1]方面,大多数SLAM主要应用在静态环境中,且要求满足确定的环境条件,才可以正常运行工作.少数成熟的视觉SLAM方法具有实时动态兼容性能,在环境中实时动态物品非常显著或偶尔产生的时候,可以正常运行工作,而环境中动态物体实时移动时,就会失去效能.欧阳豪[2]和程珉等[3]应用稠密光流法对环境里运动物品进行测试,在位姿估测前除去运动物品,从而提高实时动态条件下的定位准确性,但稠密光流法不能满足实时在线性等多种要求,对精确度的提高也有限.牛青青[4]根据改进光流法对运动物品进行全面处理,应用RGSA方法完成环境的动静脱离,从而避免产生特征点误匹配,稠密光流法其精确度尚可,但实时性较差.张凤等[5]改进了RANSAC算法[6],可以高效去除动态特征点,该方法表现出非常好的鲁棒性,但耗时严重,不能满足实时需求.

为了解决传统SLAM在动态环境下准确性较差的问题,本文采用ORB SLAM算法进行特征点提取,并在视觉前端部分做出了改进,增加了在动态环境下识别的分支任务.运用Mask R-CNN算法对动态物体进行检测与剔除,从而实现在室内动态环境下的同时定位与建图.最后与ORB SLAM2进行对比分析,本文算法有效地提高了定位精度.

1 算法理论依据

1.1 ORB特征点提取

ORB[7](oriented FAST and rotated BRIEF)突出的优势是结合了FAST[8]特征角点检测与BRIEF[9]描述子,其主要由三个部分构成:提取图像FAST特征点、构建特征点描述向量、匹配特征点.其中提取特征点,即从图像中提取若干FAST特征点,构建相应的高斯金字塔.

FAST特征点相邻矩阵为

(1)

式中:(xy)为相对FAST特征点的位置;Ixy)为图像灰度值.FAST特征点的方向为

(2)

由于FAST特征点本身缺乏旋转特性,所以通常借助灰度质心法来保持其旋转特性.构建特征点描述向量时,借助BRIEF描述子来对FAST特征点进行描述,最后借助汉明距离方式来匹配特征点.在特征点中选取一定比例的像素点,比较灰度值形成特征描述子,对于描述子分段函数组成图像点可表示为

(3)

式中,dx)与dy)为相邻处的灰度函数.选择的特征点数量不多,但都具有角点,实时性较好,可以满足实时处理.

1.2 ORB SLAM系统

就ORB SLAM系统[10]算法而言,主要由线程跟踪、定位、闭环检测等构成.跟踪线程的主要作用是提取当前图像的ORB特征,再匹配上一幅图像的特征,从而对相机位姿加以估计,得出相机的运动轨迹,若跟踪失败可凭借与上一个关键帧图像进行匹配,来对相机姿势进行重新初始化设置.基于已构建的局部地图,对当前相机位姿进行优化,凭借地图点数量及运行时间来决定是否生成关键帧.定位线程的主要作用是针对SLAM系统构建局部特征点轨迹,大致实现流程如下:首先,当跟踪线程存在关键帧插入时,会筛选新生成的特征地图点;然后,基于BA优化对相机位姿及生成的地图点进行调整;最后,处理插入的关键帧.就闭环检测线程而言,其主要作用是实现对SLAM系统的回环检测及闭环修正.

1.3 Mask R-CNN算法

Mask R-CNN[11]为掩码区域卷积神经网络,根据操作需要,对高维语义信息进行专业性的训练和技术支持,从而实现图片像素等级的分割操作应用,这是一类实时动态物品图片像素等级分割的神经网络分割模型.Mask R-CNN主要是以R-CNN系列框架为基础,进行应用技术的改进与功能优化.较上一代Faster R-CNN[12]神经网络模型来说,Mask R-CNN添加了专门的分割掩码分支.图1为Mask R-CNN网络模型.

图1 Mask R-CNN网络模型
Fig.1 Mask R-CNN network model

Mask R-CNN网络结构前半部分,能根据图片生成与之相匹配的候选区域.Mask R-CNN通过残差网络ResNet与FPN之间有效的结合,完成整个过程中图像特征的提取.

Mask R-CNN神经网络结构的后半部分是根据ROI完成3个关键的工作任务:候选框物品的分类、候选框bbox分布坐标回归以及所需要的分割掩码.由于候选区域的实际大小不等,要求最先展开ROI Align,使其归一化,将ROI Pooling[13]里的取整具体量化全面处理,把计算求解中间数值的模式转化为保存浮点数并且展开双线性插值的操作应用模式.根据图1中的相关信息可知,经过归一化的ROI在此阶段能够进入到全连接网络,并实现候选区类别分类和bbox回归.把分类工作任务里的最终一个Softmax[14]分类层的种类,改成要求展开测试的实时动态物品种类,从而高效完成迁移学习.

2 基于Mask R-CNN改进ORB SLAM算法

在ORB SLAM的基础上融和Mask R-CNN,利用Mask R-CNN信息辅助定位对相机实现定位,利用Mask R-CNN生成的掩模信息筛选所需的特征点.将图像的ORB特征[15]作为整个过程中的视觉SLAM路标特征,利用极线几何的动态特征点剔除方法对卷积神经网络不能识别的动态物体进行剔除,保留了前景物体的特征点,经过筛选后的特征点归属于不同的物体.因此,ORB特征点描述子的相似性大大降低.图2为本文算法流程图.

图2 本文算法流程图
Fig.2 Flow chart of as-proposed algorithm

对于ORB SLAM实现一组特征点匹配,需要整幅图像的特征点,整体运算效率较低,而Mask R-CNN主要采用边界框,将视觉图像划分成有语义标记的多种不同实例区域,在进行特征匹配的操作过程中,仅需在同一实例区域进行小范围的匹配操作,有助于从整体上提升特征匹配质量效果与位姿匹配的估算精度,大大地降低了匹配错误率.

对于Mask R-CNN不能识别的物体,例如书本、桌椅等,对实际移动的物体使用极线几何方法进行剔除.图3为相邻两帧图像之间的几何关系图.

图3 极线几何模型
Fig.3 Epipolar geometry model

将前帧图像到后帧图像空间几何变换记为(Rt),则有

(4)

式中:k为相机内参数矩阵;s1s2为相机坐标系下任意一点p的具体深度值;Rt为空间几何变换对应的变换矩阵.可得

(5)

将式(5)左乘可得

(6)

式中,[t]x为向量t的反对称矩阵.表达式代入式(6)可得

(7)

式中,F为基础矩阵.式(7)对一正确匹配像素点对的约束关系进行详细描述,如果某一像素特征点为另一像素特征点的精准匹配,这就说明其必在图像平面的极线上,进而能够估算出比较准确的帧间基本矩阵.但是,此矩阵通常受一些因素的影响,存在一定的误差,造成实际计算中特征点无法正好落在所计算的极线上.基于此,采用每个特征点到各自极线的距离对匹配点对的可靠性进行综合性衡量.

x1x2点坐标进行归一化后的平面坐标为可表示为其中,uv为像素点坐标.图像平面的极线为

(8)

式中,XYZ为极线方程向量.像素点x2到极线的距离为

(9)

式中,Dx2到极线l1两者之间的具体距离.在实际环境中会造成距离D过大,特征点处于动态目标中,一般涉及到两种不同的情况:特征点不匹配、环境中产生了一些动态目标.约束距离D可以有效剔除不匹配点及其中的异常点.Dθ,则说明所判断点是动态目标中的异常点.其中,θ为滤除阈值,其表达式为

(10)

式中:N为ORB特征点提取数;Di为第i个特征点到极线之间的具体距离.图4为残余物体去除前后Mask对比图.

图4 残余物体去除前后Mask对比
Fig.4 Mask comparison before and after residual object removal

3 实验与分析

本文选用了德国慕尼黑工业(TUM)大学计算机视觉小组提供的两个公开数据集,作为动态环境下的相机定位数据集,即freiburg3_walking_xyz与freiburg3_walking_halfsphere,该数据集包括两名研究人员绕工位不停缓慢走动,最后两人依次回到座位上交谈的场景.相机处于高角度进行视频采集,相机往复旋转与左右移动的同时对两名研究人员进行图像采集工作.除此之外,还有一部深度相机对此相机的移动进行了数据采集,能得到此相机的真实轨迹,并用来做精度分析.这两个数据集中研究人员移动占整个视频时长较长,因此能满足本文研究应用背景.图5为数据集的某两帧场景.

图5 TUM数据集场景图像
Fig.5 TUM dataset scene images

采用本文SLAM视觉算法和ORB SLAM2算法对两个数据集依次进行处理.图6a为使用ORB SLAM2算法得到的相机特征点与研究人员移动轨迹情况;图6b为使用ORB SLAM2算法得到的视频内对应帧图像的特征点.图7a为使用本文算法得到的相机特征点与研究人员移动轨迹情况;图7b为使用本文算法得到的视频内对应帧图像的特征点.

图6 基于ORB SLAM2移动轨迹与特征点图像
Fig.6 Moving trajectory and feature point images based on ORB SLAM2

图7 基于本文算法的移动轨迹与特征点图像
Fig.7 Moving trajectory and feature point images based on as-proposed algorithm

由图6~7可知,本文算法得到的特征点并不在移动的研究人员身上,而ORB SLAM2得到的特征点很多且在移动的人员身上,这是导致最后相机定位不准确的原因.

图8为使用freiburg3_walking_halfsphere数据集(即数据集1)得到的估计位姿与真实位姿轨迹图,图9为使用freiburg3_walking_xyz数据集(即数据集2)得到的估计位姿与真实位姿轨迹图.在位姿关系对比图中,黑色线条轨迹表示视觉相机通过深度相机得到的真实轨迹位姿,蓝色线条轨迹表示SLAM经过估计后得到的相机变化坐标,红色线条表示同一时间相机估计位姿与真实位姿之间的位姿误差距离,红色线段越长以及红色区域越大表示误差越大,位姿估计的准确性越低.

为了对相机精度进行评估,本文采用绝对轨迹误差(ATE)表示真实轨迹点坐标与采用本文SLAM系统得到的定位点坐标的误差,用两者的轨迹误差均方根[16]进行计算,即

(11)

式中:为使用本文算法估计的某个时刻相机位姿;zi为对应同一时刻的真实坐标位姿.

将数据集实验得到的绝对轨迹误差进行对比,结果如表1所示.表2为每帧算法执行时间对比.

图8 数据集1的估计位姿与真实位姿轨迹
Fig.8 Estimated pose and real pose trajectory by dataset 1

图9 数据集2的估计位姿与真实位姿轨迹
Fig.9 Estimated pose and real pose trajectory by dataset 2

表1 两种算法ATE对比
Tab.1 ATE comparison of two algorithms

数据集ORB-SLAM2本文算法提升百分比/%freiburg3_walking_xyz0.78060.024796freiburg3_walking_halfsphere0.74730.015198

表2 两种算法执行时间对比
Tab.2 Execution time comparison of two algorithms

数据集ORB-SLAM2/s本文算法/s提升百分比/%freiburg3_walking_xyz0.03450.0372-7.8freiburg3_walking_halfsphere0.03230.0346-7.1

通过表1~2数据分析可以看出,在动态环境中,精度有了明显的提升,与ORB SLAM2算法相比至少提升了96%.在运行效率上,并没有大幅度降低系统的时效性,因此,本文算法处理动态环境下的相机定位问题是可行的,对精度的提升效果十分明显.

4 结 论

本文将Mask R-CNN卷积神经网络与ORB SLAM进行结合,在动态物体移动的情况下,对相机进行精准定位,解决了移动机器人在室内有干扰的情况下进行位姿信息获取的问题.利用Mask R-CNN网络对动态物体进行目标检测,使特征点提取范围转移到不移动的区域上.经过数据信息集对照测试与ORB SLAM2对比分析,测试实验结果表明,在满足实时在线的环境里,本文算法的精度提高了96%以上.

参考文献(References):

[1]白乐乐.室内动态场景下的视觉SLAM算法研究 [D].西安:西安理工大学,2021.

(BAI Le-le.Research on visual SLAM algorithm in indoor dynamic scene [D].Xi’an:Xi’an University of Technology,2021.)

[2]欧阳豪.深度学习结合视觉SLAM的室内定位研究 [D].大连:大连理工大学,2021.

(OUYANG Hao.Study on indoor positioning based on deep learning with visual SLAM [D].Dalian:Dalian University of Technology,2021.)

[3]程珉,陈临强,杨全鑫.基于改进ORB特征的单目视觉SLAM算法 [J].计算机应用与软件,2021,38(10):242-248.

(CHENG Min,CHEN Lin-qiang,YANG Quan-xin.Monocular visual SLAM algorithm based on improved ORB feature [J].Computer Applications and Software,2021,38(10):242-248.)

[4]牛青青.面向动态环境的语义SLAM研究与设计 [D].成都:电子科技大学,2021.

(NIU Qing-qing.Research and design of semantic SLAM with dynamic environment [D].Chengdu:University of Electronic Science and Technology of China,2021.)

[5]张凤,孙恩泽,袁帅,等.基于图像力场理论的ORB特征优化方法 [J].沈阳工业大学学报,2019,41(6):675-680.

(ZHANG Feng,SUN En-ze,YUAN Shuai,et al.ORB feature optimization method based on image force field theory [J].Journal of Shenyang University of Technology,2019,41(6):675-680.)

[6]丁佳惠,刘翔,奚峥皓.一种应用于动态场景的优化语义SLAM [J].智能计算机与应用,2020,10(7):17-22.

(DING Jia-hui,LIU Xiang,XI Zheng-hao.An optimized semantic SLAM applied to dynamic scenes [J].Intelligent Computer and Applications,2020,10(7):17-22.)

[7]游通飞,孔令华,刘文玉,等.视觉SLAM在动态场景下的图像处理方法 [J].红外技术,2021,43(10):960-967.

(YOU Tong-fei,KONG Ling-hua,LIU Wen-yu,et al.Image processing method for visual simultaneous localization and mapping in dynamic scene [J].Infrared Technology,2021,43(10):960-967.)

[8]He K,Gkioxari G,Doll’ar P,et al.Mask R-CNN [C]//2017 IEEE International Conference on Computer Vision (ICCV).Venice,Italy,2017:2980-2988.

[9]高翔,张涛,刘毅.视觉SLAM十四讲 [M].北京:电子工业出版社,2017.

(GAO Xiang,ZHANG Tao,LIU Yi.Visual SLAM fourteen lectures [M].Beijing:Publishing House of Electronics Industry,2017.)

[10]耿煜恒.动态场景下语义SLAM三维重建方法研究 [D].西安:西安电子科技大学,2020.

(GENG Yu-heng.Research on 3D reconstruction method of semantic SLAM in dynamic scene [D].Xi’an:Xidian University,2020.)

[11]蒋燕翔.基于全卷积神经网络的计算机视觉目标检测算法 [J].沈阳工业大学学报,2021,43(5):557-562.

(JIANG Yan-xiang.Computer vision target detection algorithm based on full convolution neural network [J].Journal of Shenyang University of Technology,2021,43(5):557-562.)

[12]王富民.自主水下机器人同时定位和地图构建方法研究 [D].沈阳:沈阳工业大学,2020.

(WANG Fu-min.Research on simultaneous localization and map construction of autonomous underwater vehicle [D].Shenyang:Shenyang University of Technology,2020.)

[13]席志红,温家旭.基于实例分割的室内动态场景SLAM [J].应用科技,2021,48(6):18-22.

(XI Zhi-hong,WEN Jia-xu.Indoor dynamic scene SLAM based on instance segmentation [J].Applied Science and Technology,2021,48(6):18-22.)

[14]公维蒙.动态场景下基于视觉的同时定位与建图 [D].哈尔滨:哈尔滨工业大学,2018.

(GONG Wei-meng.Vision based simultaneous localization and mapping in dynamic scenes [D].Harbin:Harbin Institute of Technology,2018.)

[15]Girshick R.Fast R-CNN [C]//2015 IEEE International Conference on Computer Vision.Santiago,Chile,2015:1440-1448.

[16]Wang Y B,Huang S D.Towards dense moving object segmentation based robust dense RGB-D SLAM in dynamic scenarios [C]//13th International Conference on Control Automation Robotics & Vision (ICARCV).Singapore,Singapore,2014:1841-1846.

Visual SLAM method based on convolutional neural network in dynamic environment

ZHANG Feng, WANG Wei-liang, YUAN Shuai, SUN Ming-zhi

(School of Information and Control Engineering, Shenyang Jianzhu University, Shenyang 110168, China)

Abstract Aiming at the problem of visual SLAM in the dynamic environment, in which the movement of objects will cause mismatches with feature points during the pose estimation process and the consequent poor positioning accuracy, a visual SLAM method based on convolutional neural network in dynamic environment was proposed. By using the Mask R-CNN method of convolutional neural network, ORB SLAM and Mask R-CNN algorithms were effectively integrated, and the epipolar geometry method was used to eliminate dynamic feature points. A comparative experiment with ORB SLAM2 algorithm was carried out in public data set. The results show that the as-proposed method can solve the problem of poor positioning accuracy caused by the mismatch of dynamic feature distribution points, and the positioning accuracy of optimized SLAM system is improved.

Key words dynamic environment; SLAM method; deep learning; feature point matching; epipolar geometry method; convolutional neural network; vision camera; camera positioning

中图分类号: TP 391

文献标志码: A

文章编号: 1000-1646(2022)06-0688-06

收稿日期 2021-07-16.

基金项目 国家自然科学基金项目(62073227); 辽宁省教育厅基金项目(LJKZ0581).

作者简介 张 凤(1972-),女,辽宁丹东人,副教授,博士,主要从事移动机器人智能控制等方面的研究.

doi:10.7688/j.issn.1000-1646.2022.06.16

(责任编辑:钟 媛 英文审校:尹淑英)