温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
复杂
动态
场景
基于
分割
SLAM
算法
研究
叶寒雨
第 61 卷 第 3 期Vol.61 No.32023 年 3 月March 2023农业装备与车辆工程AGRICULTURAL EQUIPMENT&VEHICLE ENGINEERING0 引言同时定位与建图(Simultaneous Localization and Mapping,SLAM)系统通常用于为机器人提供其在周围环境中所处位置与姿态的状态感知与估计,同时对所处环境进行增量式地图重构。早期 SLAM 技术的研究主要使用激光传感器作为主传感器采集数据,激光传感器成本较高,于是基于相机的视觉SLAM 技术成为了目前研究的主流。大多数的 SLAM 系统都是基于静态环境的假设,其中场景点之间的相对位置不变,只有相机的运动。在此假设下,SLAM 模型将视觉变化全部归因于相对摄像机运动。通常的方法是,将可能的动态区域设置为离群值,在姿态跟踪和地图估计过程中将其忽略。但是这种方法会造成在很多场景下特征点提取不足,导致跟踪失败。此外,对于基于特征的 SLAM 方法,如果跟踪少量的显著图像点,则动态区域中相对少量的匹配所产生的错误可能导致系统故障。Berta 等 在 ORB-SLAM21的 基 础 上 开 发 了DynaSLAM2,通过结合潜在移动对象的语义分割和检测场景中与模型运动不一致来实现的对动态对象的移除,其中 Mask-RCNN3用于语义分割,检测和分类一些已经预先设置为潜在的动态(例如车和人)。在 DynaSLAM 的基础上,提出了DynaSLAM II4。提出了一种由更高级的 2D 实例匹配引导的动态目标特征匹配方法以及一种具有相机,点和动态目标之间新测量值的高效的 BA 方案。类似的方法有 StaticFusion5,它是一种稠密的RGB-D 视觉 SLAM 系统,通过使用场景背景的 3D重构来进行动态物体分割。除了动态对象的分割之外,还有 MID-Fusion6、MaskFusion7、DynSLAM8和 ClusterVO9等算法,它们的方法是同时估计摄doi:10.3969/j.issn.1673-3142.2023.03.019复杂动态场景下基于光流分割 SLAM 算法研究叶寒雨1,李传昌1,刘淼1,汪子潇1,张伟伟2(1.201620 上海市 上海工程技术大学 机械与汽车工程学院;2.100084 北京市 清华大学 车辆与运载学院)摘要 针对目前主流 SLAM(同时定位与建图)算法在动态环境中存在精度大幅下降的问题,提出了一种基于光流分割去除动态物体干扰的 DY-SLAM(SLAM In Dynamic Environment)算法。该算法采用实例分割算法结合相邻帧图像之间的稠密光流对动态物体进行分割,在 SLAM 系统图像帧间匹配前剔除动态物体特征点,提高动态环境下的定位精度。使用公开数据集对算法进行评估,算法的 RMSE 提升最大可达 21.59%,能够有效提高系统在复杂动态环境下的定位精度及鲁棒性。关键词 DY-SLAM 算法;光流估计;实例分割;动态环境 中图分类号 TP391.4 文献标志码 A 文章编号 1673-3142(2023)03-0090-06引用格式:叶寒雨,李传昌,刘淼,等.复杂动态场景下基于光流分割 SLAM 算法研究 J.农业装备与车辆工程,2023,61(3):90-94,100.Research on SLAM algorithm based on optical flow segmentation in complex dynamic sceneYE Hanyu1,LI Chuanchang1,LIU Miao1,WANG Zixiao1,ZHANG Weiwei2(1.School of Mechanical and Automotive Engineering,Shanghai University of Engineering Science,Shanghai 201620,China;2.School of Vehicle and Mobility,Tsinghua University,Beijing 100084,China)Abstract At present,the traditional SLAM algorithm has the problem of greatly reducing of accuracy when dealing with complex dynamic environments,therefore,a DY-SLAM algorithm based on optical flow segmentation is proposed.The algorithm combines instance segmentation technique and the dense optical flow between adjacent frames to segment the dynamic objects,eliminate the feature points of the dynamic object before frame matching in the SLAM system,improve the location accuracy in dynamic environment.Algorithms are evaluated in open datasets,the RMSE of the proposed algorithm can be improved up to 21.59%,which can effectively improve the positioning accuracy and robustness of the system in complex dynamic environment.Key words DY-SLAM algorithm;optical flow estimation;instance segmentation;dynamic environments收稿日期:2022-01-2791第 61 卷第 3 期像机和多个动态对象的姿势,并对物体和相机姿态进行了联合估计。另外,魏彤等10利用立体视觉几何约束方法与场景区域分割提取场景中的动态区域;Xiao 等11使用 SSD 来获取潜在动态物体的信息;兰凤崇等12提出了一种复合深度学习与并行计算的 DG-SLAM算法;卢金等13提出一种基于语义分割与金字塔LK 光流来剔除图像中的外点的算法;Wang 等14提出一种基于 YOLOv3 适用于动态场景的 SLAM 算法。Yu 等15提出 DS-SLAM 算法,使用光流法对语义分割的结果进行运动一致性检测;张诚等16提出一种基于全卷积网络和超像素的条件随机场对图像进行语义分割,并结合语义信息和对极约束剔除动态物体上的特征点的算法。本文在 ORB-SLAM2 算法的基础上,加入融合实例分割与稠密光流估计的动态物体检测算法,实现对关键帧图像中动态物体关键点的剔除,实现更加精确的位姿估计以及地图重建。其中,使用稠密光流估计运动信息,能有效避免误判断,提升动态物体检测率。1 DY-SLAM 算法架构1.1 算法整体流程本文提出的算法是在 ORB-SLAM2 系统的基础上加入对动态物体干扰的去除线程,负责对关键帧图像进行实例分割,得到潜在动态物体掩膜,对当前关键帧和上一关键帧图像进行光流估计,得到每个潜在动态物体的运动信息,去掉非运动物体掩膜,获取真实运动物体掩膜。在跟踪线程提取特征后,使用干扰去除线程得到的掩膜去除从动态物体上提取的特征点,然后根据帧间特征点匹配获取相机的运动,实现跟踪与定位。主要流程如图 1 所示。1.2 实例分割算法本 文 采 用 Daniel 等 人 于 2021 年 提 出 的YolactEdge17算法进行实例分割。YolactEdge 在原来 YOLACT18基础上应用了 TensorRT 优化,使用了新的 Fast NMS 替代原有的 NMS,以及使用DCNs19,极大地提高了预测速度与准确度。算法流程如图 2 所示。本文修改了网络输出以在单个图像中获得所有物体的独立掩膜,方便后续对每个物体进行分析。1.3 光流估计算法本 文 采 用 的 光 流 估 计 算 法 为 Zachary 于ECCV2020 上提出的 RAFT20光流算法。RAFT 通过提取每个像素对的特征建立多尺度 4D 相关系数矩阵,并通过在相关体上执行查找的递归单元迭代更新光流场,参见图 3。相比于传统的光流估计算法,基于深度学的光流估计算法的结果受到所使用的训练数据集不同而存在差异,因此在自动驾驶数据集中对不同数据集训练的网络进行评估。不同数据集训练的网络光流估计结果如图 4 所示。叶寒雨 等:复杂动态场景下基于光流分割 SLAM 算法研究图 1 DY-SLAM 整体算法流程图Fig.1 DY-SLAM algorithm flow chart双目图像跟踪跟踪局部建图局部建图回环闭合回环闭合全局 BA全局 BA位姿估计局部地图跟踪局部关键帧筛选 查询其他关键帧临近地图点筛选 全局 BA优化局部 BA优化回环检测关键帧插入更新地图生成关键帧上一帧图像实例分裂光流估计动态物体掩膜处理后关键帧动态物动态物体去除体去除图 2 YolactEdge 算法流程图Fig.2 YolactEdge algorithm flow chart图像特征骨干网络特征金字塔预测分割结果 非极大值抑制原型生成网络C5C4C3C2C1P7P6P5P4P3图 3 RAFT 算法流程图Fig.3 RAFT algorithm flow chart图像1图像3图像2特征编码器4D相关系数矩阵上下文编码器LL迭代光流图 (a)(b)92农业装备与车辆工程 2023 年经实验分析,Sintel 数据集训练的网络在本文实验中对动态物体及静态物体的光流运动估计都最为准确,最终选用该数据集训练的网络作为光流估计网络。1.4 动态物体分割算法对于视频帧图像 I1和 I2,使用光流估计算法RAFT 得到一个稠密的光流位移场(f1,f2),其中 I2每个像素对应的位置为(u,v)=(u+f1(u),v+f2(v)(1)对应的每个像素光流运动量 S(f1(u),f2(v)为判断物体运动的关键因素,其光流可视化如图 5所示。将视频帧图像 I1输入训练好的 Yoloact 网络中,即可得到一组掩膜(见图 6):M=Yoloact(I1)(2)单纯计算潜在动态物体掩膜内光流运动量并不能得到该物体是处于静止还是运动状态,基于此问题,本文提出一种基于对比掩膜内外光流运动差的动态判断,其基本原理是通过对比掩膜轮廓内外接近的区域光流运动量的变化来确定该物体是否运动,如果变化量小则说明该物体并未运动或者运动量很小,反之则判断该物体为运动状态。假定 Pc为掩膜轮廓上的一点,Pin为掩膜轮廓内的一点,Pout为掩膜轮廓外的一点,三点均在垂直于掩膜轮廓 Pc处的切线上,其中 s 为它们之间的距离,如图 7(a)所示。该距离与轮廓大小成一定比例:s=Distance(Pc,Pin)=Distance(Pc,Pout)(3)则 Pc点内外运动差 Dc为 Dc=Sout-Sin (4)只取一点作为分析依据的结果存在较大的随机性,故需要计算轮廓上每一点的内外运动差并求其平均值 Davg,即:DDnavgccU=(5)式中:U轮廓点集合;n轮廓点总数。为了更好地区分动态与静态物体光流,只求取物体下半部分的运动差,以轮廓质心作为分割位置,如图 7(b)所示。其中质心的计算如式(6)、式(7):,mx gy gf x y,jijix y=()(6),xmmymm00100001=?(7)(c)(d)图 4 不同数据集训练结果Fig.4 Training results of different datasets(a)Chairs (b)Kitti (c)Sintel