第 22卷第 10期2023年 10月
Vol.22 No.10
Oct.2023软件导刊
Software Guide
一种基于物体追踪的改进语义SLAM算法
杜小双,施展,华云松
(上海理工大学光电信息与计算机工程学院,上海 200093)
摘要:在视觉同步定位与建图(SLAM)算法中,使用语义分割和目标检测以剔除异常点的方法成为主流,但使用中
无法对物体语义信息进行充分追踪。为此,提出一种基于物体追踪的改进语义SLAM算法,通过YOLACT++网络分
割物体掩码,提取物体特征点后,利用帧间匹配实现物体追踪。该方法对匹配特征点进行深度、重投影
误差和极线约
束三重检测后判断物体动静态,实现物体追踪并判断运动状态。通过对TUM RGB-D数据集测试,实验表明该方法可
有效追踪物体,且轨迹估计精度优于其他SLAM算法,具有较好实用价值。
关键词:视觉SLAM;语义分割;物体追踪;动态场景;几何约束
DOI:10.11907/rjdk.222298开放科学(资源服务)标识码(OSID):
中图分类号:TP301 文献标识码:A文章编号:1672-7800(2023)010-0205-06 An Improved Semantic SLAM Algorithm Based on Object Tracking
DU Xiaoshuang, SHI Zhan, HUA Yunsong
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)Abstract:In the visual SLAM (simultaneous localization and mapping), the method of using semantic segmentation and object detection to detect dynamic objects and remove outliers has become the mainstream, but its disadvantage is that it is unable to f
ully track the semantic in⁃formation of objects. Therefore, this paper proposes an improved semantic SLAM algorithm based on object tracking, which uses YOLACT++ network to segment object mask, extract object feature points, and use inter frame matching to achieve object tracking. The method detects the depth, reprojection error and epipolar constraint of the matched feature points, and then judges the dynamic and static state of the object to achieve object tracking and judge the motion state. After testing the TUM RGB-D dataset, the experiment shows that the method can effective⁃ly track objects, and the trajectory estimation accuracy is better than other SLAM algorithms, which has practical value.
Key Words:visual SLAM; semantic segmentation; object tracking; dynamic environment; geometric constraint
0 引言
随着机器人技术、无人驾驶、增强现实等领域的发展与普及,视觉SLAM作为其应用的基础技术之一[1],得到了学者们的广泛关注与研究,并成为机器人定位与建图研究领域的一个热点[2]。
视觉同步定位与建图(Simultaneous Localization and Mapping,SLAM)可以大致分为两类:直接法和特征点法。直接法假设相邻帧间光度值不变,用局部像素的梯度和方向进行计算并优化出相机位姿,如
LSD-SLAM[3]、DSO[4]等。特征点法通过特征点提取,并使用描述子匹配特征点,通过匹配特征点解出帧间位姿并优化多帧位姿。由Mur-Artal等[6-8]提出的ORB-SLAM是一个适用于单目、双目和RGB-D相机的SLAM系统,因出的性能而得到了广泛应用。
上述SLAM算法都是基于静态场景假设无法解决动态场景的问题,而随着深度学习的快速发展,一些先进深度学习网络,如DeepLab[9]、SegNet[10]和YOLACT[11]等可以精确进行像素级的语义分割,语义SLAM即利用语义神经网络分割出图像物体掩码,通过剔除动态物体掩码上的特征点以实现正确的跟踪。Yu等[12]提出的DS-SLAM在ORB-SLAM2的3个线程基础上新增语义分割和稠密建图两个新线程,使用SegNet 网络分割出物体掩码并结合移动一致
收稿日期:2022-11-02
作者简介:杜小双(1998-),男,上海理工大学光电信息与计算机工程学院硕士研究生,研究方向为视觉SLAM;施展(1963-),女,上海理工大学光电信息与计算机工程学院副教授、硕士生导师,研究方向为测量与控制系统设计及应用;华云松(1971-),男,博士,上海理工大学光电信息与计算机工程学院副教授、硕士生导师,研究方向为自动测量与检测技术、测试系统机电一体化设计。
2023 年
软件导刊性检查方法以减少动态对象影响,从而提高动态环境下的跟踪精度。此外,Bescos 等[13]提出的DynaSLAM 利用mask R-CNN [14]神经网络和多视图几何检测和剔除运动物体从而实现更精准的轨迹估计。
针对语义SLAM 仅停留在剔除动态物体特征点层面并没有充分利用语义信息,无法解决分割错误对物体追踪的影响,本文提出了一种基于物体追踪的改进语义SLAM 算法,实现物体追踪与定位,并通过剔除运动物体影响提高轨迹估计精度。本文贡献如下:①提出一种物体动静态检测方法,对物体匹配特征点进行深度、重投影误差和极线约束三重检测实现精准的物体动静态判断;②提出一种物体追踪状态判别方法,通过物体的4种追踪状态相互转换,实现稳健的环境物体追踪与定位;③在TUM RGB-D 数据集上进行实验,证明本文所提方法的有效性。
1 系统设计
1.1 系统框架
本文算法根据ORB-SLAM3系统改进而来,在下文以
YT-SLAM 代替。算法使用YOLACT++[15]网络分割得到物
体掩码,在跟踪线程中利用物体类别对匹配特征点进行筛选,计算得到本帧位姿后将上一帧的物体特征
点投影到本帧进行匹配后将特征点进行深度、重投影误差与极线约束的三重检验,之后根据物体匹配点数量与动静点比例更新物体追踪状态以实现本文算法对物体的追踪与定位。本文算法系统框架如图1所示。
1.2 语义分割网络
针对室内动态环境中的物体分割,本文采用
YOLACT [15]++网络。YOLACT++网络是一种简单的全卷积实时语义分割网络,使用Resnet101-FPN 作为主干网络,使用在MS COCO 数据集上训练得到的网络参数进行物体检测。假设YOLACT++网络的输入是一个x ×y ×3的
RGB 图像矩阵,则网络的输出就是一个x ×y ×n 的掩码矩阵,其中n 是图像中物体的数量。对于网络最后的每个输
出通道m ∈n ,都会得到一个对象的掩码矩阵。
在实时性上,YOLACT++使用Resnet101-FPN 主干网络在MS COCO 2017验证集上的检测速度可以达到27.3帧/s [15]。同样地,在TUM 数据集实验中,使用YOLACT++分割RGB 图像中的人物、椅子和屏幕3种物体,速度也能够满足算法语义分割任务中的实时性需求。每帧图像分割完成后,将得到的掩码与定位框输入本文算法。在本帧图片提取特征点时,结合掩码得到每个特征点的物体类别。为了特征匹配的准确性,剔除位于物体掩码边缘的特征点。
1.3 物体追踪
物体追踪模块为本文核心算法,当出现新的物体时创建物体追踪对象,其包含物体追踪状态信息、物体相邻两帧的物体特征点(当前帧与上一帧)和由物体特征点所创建的物体地图点。再得到当前帧位姿后
将上一帧追踪物体特征点投影到当前帧上进行匹配,对匹配成功的特征点进行三重动静态检测以判断其动静态,之后根据特征点匹配点数量与动静态点比例更新物体追踪状态。如果当前帧需要创建关键帧则将物体追踪信息输入关键帧中,在局部建图中根据关键帧中物体追踪信息新建替换与删除地图点。
1.4 三重动静态检测
在匹配物体特征点时,对匹配成功的物体特征点进行深度、重投影误差和极线约束三重检测以判断是否为动态点,其中深度检测为匹配特征点投影到当前帧上的深度值与当前帧的深度计算其差值后与深度阈值对比,差值超过深度阈值则认为该特征点为动态点。1.4.1 重投影误差
重投影误差即将上一帧的匹配特征点投影到当前帧
上与匹配点的直接平面距离差距。重投影误差如图2
所示。
图2中,P 1、P 2为匹配特征点,MP 为点P 1投影到3D 空
间中的地图点和P '1在F 2像素平面的投影,
相机内参矩阵为K ,F 1到F 2之间的旋转矩阵为R ,平移向量为t 。其中,P 1
点的像素坐标为P 1=[u 1,v 1],
P 1的像素坐标为P 2=[u 2,
v 2]。MP 在空间中地图点的坐标为MP =[X 1,Y 1,Z 1],其中深度Z 1通过RGB-D 相机的深度图获得。X 1、Y 1与像
素坐标系的关系如下:
Fig. 2 Schematic diagram of reprojection error
图 2 重投影误差示意图
Fig. 1 System architecture
图 1 系统框架
··206
第 10 期杜小双,施展,华云松:一种基于物体追踪的改进语义SLAM 算法
[X 1,
Y 1,Z 1]T
=Z 1K -1[u 1,v 1,1]
T
(1)
F 1相机坐标系中的MP 点坐标通过变换矩阵到F 2帧
相机坐标系下的坐标[X 2,Y 2,Z 2]T
为:
[X 2,
Y 2,Z 2,1]T
=éëêêùû
úúR t 0T 1[X 1,Y 1,Z 1,1]
T (2)
则空间3D 点MP 投影到F 2图像平面上的像素坐标为
u 1'=[u 1',v 1']T
。
[u 1',
v 1',1]T
=1Z 2
K [X 2,Y 2,Z 2]T (3)
得到P '1点的投影坐标后与匹配点P 2坐标求得匹配后
的重投影误差e 为:
e =
(u 2-u 1')2+(v 2-v 1')2
(4)
得到重投影误差后与设定的误差阈值对比则可进行判断,如果其重投影误差大于阈值该特征点为动态点。1.4.2 极线约束
极线约束是摄像机运动学的重要组成部分,可用于检
查特征点的运动状态。对极几何示意图如图3所示。
对于匹配特征点,相邻帧间基础矩阵F 为:
F =K -T t ×R K -1
(5)
其中,K 为相机内参,R 、t 为帧间的旋转矩阵和平移向量。在得到基础矩阵F 后对每个物体掩码的匹配特征点计算当前特征点的极线。上一帧的特征点通过基础矩阵映射到当前帧的区域即为极线。设前一帧和当前帧中的匹配特征点分别表示为[u 1,v 1]和[u 2,v 2],u 、v 表示特征点的像素坐标值,而P 1=[u 1,v 1,1],P 2=[u 2,v 2,1]表示匹配
特征点的齐次坐标形式。匹配特征点的极线约束如下:
P 2T FP 1=0(6)则F 2图像平面上的匹配特征点P 2对应极线L 计算
如下:
L =[A ,B ,C ]T
=FP 1
(7)
最后,当前帧的特征点到对应极线距离D 如下:
D =P 2T FP 1
A 2+
B 2
(8)
判断匹配特征点极线之间的距离是否大于阈值,如果距离大于阈值,则该特征点被视为动态点。
1.5 局部建图
在局部建图中,本文算法只对静态地图点进行操作。由于动态地图点已经无法跟踪优化,因此将其设置为坏点不加入关键帧与地图点的局部优化,并且动态物体也不再新建地图点,仅仅依靠帧间的物体特征点进行追踪。如果动态物体在算法运行中由动态转换为静态,就可以正常新建地图点进行跟踪优化。对于消失在相机视野中的静态物体,其物体地图点得到保留,并且它们将被用于恢复物体跟踪状态。
2 基于语义分割与动静态检测的追踪状态转换
在本文算法中,物体都具有4种追踪状态:①静态是匹配特征点、动静态点在阈值范围内;②动态是匹
配特征点、动静点比例超过阈值范围;③即将丢失是当前帧未匹配到同类型掩码;④已丢失是连续多帧未匹配同类型掩码。
物体跟踪状态转换过程如图4所示。具体步骤如下:(1)当物体首次出现在相机视野时,本文算法会根据物体的类别创建跟踪对象,并在创建的初始帧中确定物体所处的运动状态。如果判断为静态物体特征点和地图点,加入后续匹配跟踪;反之,判断为动态则删除地图点,其特征点不参与后续匹配跟踪。
(2)正常追踪的物体会根据当前帧间物体特征点匹配情况更新当前帧中的跟踪状态。如果匹配成功,则使用动静态点比例判断物体当前帧的运动状态;反之,则判断物体追踪失败,将物体转为即将丢失状态,并储存物体信息用于丢失回。
(3)当物体处于即将丢失状态时,会储存丢失前一帧的物体相关信息,在之后匹配过程中使用丢失帧的储存信息进行匹配。如果成功匹配上相同类型的掩码,则物体恢复追踪状态后正常追踪;
而对于超过十帧依然没有匹配正
确的物体掩码,将物体的追踪状态转为已丢失,不再对物体进行追踪,动态物体直接删除跟踪信息,静态物体则保留全局地图点等待之后的召回。
Fig. 3 Schematic diagram of epipolar geometry
图 3 对极几何示意图
Fig. 4 Schematic diagram of object tracking state transition
图 4 物体追踪状态转换示意图
·
·207
2023 年
软件导刊在算法物体追踪过程中,通过物体4种追踪状态的相互转换,可以有效地避免遮掩与分割掩码错误导致的追踪失败,从而稳定地实现物体的追踪与定位。
3 实验与分析
对于本文所提出的SLAM 算法,将通过实验证明其算法的准确性与稳定性,在公共TUM RGB-D 数据集上进行两个部分的实验:①对TUM RGB-D 数据集中的walking_half⁃sphere 序列进行实验,通过跟踪物体定位框对本文算法的物体追踪能力进行评估;②对TUM RGB-D 数据集中的8个
sitting 序列和walking 序列进行定量分析。利用TUM 数据集的官方评估工具对本文算法得到的轨迹进行评估,同时使用其他SLAM 算法结果与本文算法结果进行比较。
3.1 物体追踪实验
在实验中使用walking_halfsphere 序列集,此场景中人与相机既有运动又有静止,物体间存在相互遮盖和重合,相机自身运动包含平移和旋转,这些要素的结合对于物体的分割、跟踪都是一项较大的挑战,因此选择此序列集进行实验能够较为准确地评估基于本文算法的物体追踪性能。图5是基于本文算法运行walking_halfsphere 序列时的图像(彩图扫OSID 码可见)。
从图5(a )可以看出,在实验开始时,人和屏幕都被成功追踪,其中动态物体为人,静态物体为屏幕。图5(b )中相机和人都在运动,先前追踪的人已经丢失,此时删除该追踪信息,等到人再出现在相机视野中时,重新创建新的追踪对象并追踪。图5(c )和图5(d )中,两个椅子进入相机视野,被成功追踪并编号为一号椅子和二号椅子。之后,图5(e )、图5(f )与图5(g )中两人重新回到相机视野且其中一人坐回椅子,该人从动态转变为静态。图5(h )是相机与人运动后的图像。由此证明,本文所提出的算法可正常追踪物体,同时具有更新物体追踪状态的能力。
3.2 轨迹估计误差实验
实验中将对TUM RGB-D 数据集中的siting 和walking 两种类型共8条序列进行实验并将结果与ORB-SLAM3、DS-SLAM 和DynaSLAM 的轨迹估计误差数据进行比较。
图6为本文算法和ORB-SLAM3在高动态场景中轨迹
估计误差对比图,其中黑线段为真实轨迹,蓝线段为
估计轨迹,而红表示真实轨迹与估计轨迹间的差值,红范围越大表示误差越大(彩图扫OSID 码可见)。图6与图7为本文算法与ORB-SLAM3在walking_half⁃
sphere 和walking_xyz 两图像序列集下的估计轨迹误差示意图,可以看出本文算法与ORB-SLAM3相比在动态环境中的轨迹误差存在较大差距。因此,以ORB-SLAM3为代表的传统视觉SLAM 在处理动态环境上存在不足,同时表明对动态物体进行去除可使视觉SLAM 跟踪精度得到极大提高。
在该部分实验中,将本文算法与ORB-SLAM3、DS-SLAM 、DynaSLAM 的结果进行比较,使用TUM 官方提供的误差分析工具对估计轨迹与真实轨迹进行对比。其测量值为绝对轨迹误差(Absolute Trajectory Error ,ATE )与相对姿态误差(Relative Pose Error ,RPE ),使用均方根误差(Root Mean Square Error ,RMSE )和标准差(Standard Devia⁃tion ,SD )作为评估指标。结果如表1—表3所示(“—”
表示
(a ) Frame 3(a ) 第3
帧
(e ) Frame 592(e ) 第592
帧
(b ) Frame 172(b ) 第172
帧
(f ) Frame 624(f ) 第624
帧
(c ) Frame 313(c ) 第313
帧
(g ) Frame 733(g ) 第733
帧
(d ) Frame 566(d ) 第566
帧
(h ) Frame 1 044(h ) 第1 044帧
Fig. 5 Operation diagram of the object tracking system
图 5 物体追踪系统运行图
··208
第 10 期杜小双,施展,华云松:一种基于物体追踪的改进语义SLAM 算法相关论文中没有提供结果)
。
(a )
Walking_halfsphere (b ) Walking_xyz
Fig. 6 Schematic diagram of estimated trajectory error
图 6 ORB-SLAM3
系统的估计轨迹误差示意图
(a )
Walking_halfsphere
(b ) Walking_xyz
Fig. 7 Schematic diagram of the estimated trajectory error of the al⁃
gorithm in this paper
图 7 本文算法的估计轨迹误差示意图
Table 2 Comparison of results of relative pose translation error of TUM RGB-D dataset
表2 TUM RGB-D 数据集的相对姿态平移误差结果比较
Sequences
walking_xyz
walking_static walking_rpy
walking_half sitting_xyz sitting_static sitting_rpy sitting_half ORB-SLAM3
RMSE
1.091 80.291 01.050 10.459 50.013 70.015 10.032 10.031 9
SD
0.626 50.177 70.593 80.276 50.006 30.007 20.019 80.019 1
DS-SLAM
RMSE
0.033 30.010 20.150 30.029 7—0.007 8
—正则化正交匹配追踪
—SD
0.022 90.003 80.116 80.015 2—0.003 8
——DynaSLAM
RMSE
0.027 40.008 90.059 170.028 4—
0.012 6——SD
0.011 90.004 4
0.042 280.014 9—0.006 7——YT-SLAM
RMSE
0.022 50.014 40.042 50.026 00.013 40.016 20.028 10.025 5
SD
0.010 40.006 80.021 00.012 30.006 20.008 20.016 00.001 1
Table 1 Comparison of ATE result of TUM RGB-D dataset
表1 TUM RGB-D 数据集的绝对轨迹误差结果比较
Sequences
walking_xyz walking_static walking_rpy
walking_half sitting_xyz sitting_static sitting_rpy sitting_half ORB-SLAM3
RMSE
0.737 80.194 10.700 10.306 60.009 30.009 90.021 50.021 6
SD
0.399 90.087 20.361
0.140 10.004 50.004 60.014 30.012 8DS-SLAM
RMSE
0.024 70.008 10.444 20.030 3—0.006 5
——SD
0.016 10.003 60.283 50.015 9—0.003 3
——DynaSLAM
RMSE
0.016 40.006 80.035 40.029 60.015 00.010 8—
0.017 8SD
0.008 60.003 20.019
0.015 70.007 80.005 6—0.008 0YT-SLAM
RMSE
0.015 30.009 70.032 20.024 90.009 00.010 20.018 50.017 3
SD
0.007 50.005
0.017 90.012 10.004 40.004 90.011 40.007 7·
·209
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论