一种动态场景下基于深度学习的鲁棒视觉SLAM方法技术

技术编号:27577004 阅读:21 留言:0更新日期:2021-03-09 22:27
本发明专利技术公开了一种动态场景下基于深度学习的鲁棒视觉SLAM方法,属于人工智能与机器人和计算机视觉领域。本发明专利技术采用相机作为图像采集装置。首先对相机采集的图像序列利用基于深度学习的Mask R

【技术实现步骤摘要】
一种动态场景下基于深度学习的鲁棒视觉SLAM方法


[0001]本专利技术属于人工智能与机器人和计算机视觉领域,特别涉及基于动态场景下基于深度学习的鲁棒视觉SLAM方法。

技术介绍

[0002]近年来,同时定位与地图构建(simultaneous localization and mapping,SLAM)已成为人工智能与机器人和计算机视觉的一个重要研究领域,动态场景下的定位与建图是其中一个热门的研究方向,广泛应用于室内服务机器人、室外自动驾驶汽车等方面。
[0003]目前大多数视觉SLAM方法基于观测环境是静态的假设,由于现实环境中包含动态对象,传统的SLAM方法很容易由于跟踪特征的错误对应或者遮挡而导致没有足够多的特征匹配从而位姿估计会发生漂移甚至丢失,从而导致系统在动态环境下精度低、鲁棒性差。
[0004]一些现有检测动态特征的方法依赖几何信息,通过定义几何约束,如果后续帧中的匹配特征距离极线很远,则被认为是动态的,或者将前一帧的特征投影到当前帧,计算特征跟踪的重投影误差,如果误差很大,则被认为是动态的,这些方法仅仅依赖几何信息从而无法建立动态对象的先验语义信息,不能提供对周围环境中动态对象的高级理解,从而导致系统在动态环境中的精度不佳;还有一些方法依赖语义信息,根据人的经验和尝试,将可以自己移动的对象视为动态物体,通过目标检测或者语义分割获取动态对象的语义信息,并剔除动态对象上的特征点,这些方法不能有效去除潜在动态对象上的不稳定特征点。
[0005]动态特征检测是构建鲁棒视觉SLAM的关键步骤,只有动态特征被很好的检测出来才能对其进行剔除,并利用稳定的静态特征点进行位姿估计。由于动态场景复杂,以及跟踪特征的错误对应或者遮挡等因素的影响,使得动态场景下检测动态特征从而构建鲁棒的视觉SLAM成为一项极具挑战性的课题。可以通过一种先进的深度学习方法来检测动态对象,使用语义分割网络对动态对象进行分割,获得动态对象的像素级语义分割作为语义先验知识,并通过运动一致性检测算法进一步检测潜在动态的移动对象,利用语义信息和几何信息结合的方法会将动态特征更好的检测出来。

技术实现思路

[0006]本专利技术的目的在于克服现有技术的上述不足,采用一种动态场景下基于深度学习的鲁棒视觉SLAM方法。该方法将语义分割技术与运动一致性检测算法相结合,首先用Mask R-CNN网络对图像进行语义分割,建立动态对象的先验语义信息,然后通过运动一致性检测算法进一步剔除属于动态物体的特征点,最后用静态特征点进行特征匹配和位姿估计。本专利技术可以减小SLAM系统的绝对轨迹误差和相对位姿误差,提高了SLAM系统位姿估计的准确性和鲁棒性。
[0007]本专利技术采用的技术方案为一种动态场景下基于深度学习的鲁棒视觉SLAM方法,该方法包括如下步骤:
[0008](1)对相机采集的图像序列利用基于深度学习的语义分割网络将图像中的对象划
分成静态对象和动态对象,动态对象的像素级语义分割作为语义先验知识;
[0009]1.1)搭建Mask R-CNN分割网络,采用Mask R-CNN网络进行潜在动态对象的语义分割。为了对动态对象进行分割并覆盖掩膜,首先设置Mask R-CNN网络模型及其损失函数,Mask R-CNN将完成掩码预测、回归预测和分类预测三个任务,损失函数使用的是平均二值交叉熵损失与二分类交叉熵损失。Mask R-CNN网络训练的总体损失函数为分类误差、回归误差和分割误差三者之和:
[0010]L=L
cls
+L
box
+L
mask
[0011]其中L为网络训练的总体损失函数;L
mask
为掩码预测的损失函数;L
cls
为分类预测的损失函数;L
box
为回归预测的损失函数。
[0012]1.2)利用MS COCO数据集作为训练样本对MaskR-CNN网络进行训练。MS COCO数据集包含80多种不同的物体类别。所需的类别分为两种:一种是动态置信度高的移动对象,例如人、汽车、猫、狗等;另一种是静态置信度高的对象或潜在动态的移动对象,如椅子、书、杯子等。
[0013]1.3)Mask R-CNN网络的输入为m
×
n
×
3的RGB图像,输出为m
×
n
×
l的矩阵,其中l为图像中物体的数量。对于每个输出通道i∈l,将获得一个二进制掩码,矩阵中只有1和0两个数字,数字1对应于静态场景,数字0对应于动态对象。通过将所有的输出通道合并成一个通道,可以获得出现在一个场景图像中的所有动态对象的分割。
[0014](2)由于语义分割在对象边界附近的分割结果模糊仍不可避免并且不能有效去除潜在动态对象上的不稳定特征点,因此需要利用对极几何特性的几何约束进一步检查特征是否是动态特征,具体步骤如下:
[0015]2.1)对输入的图像序列进行ORB特征点提取;
[0016]2.2)采用光流法获取像素在图像中的运动,从而实现像素点的追踪;具体步骤如下:
[0017]2.2.1)假设相机获取的图像是由着时间进行变化的,图像中的像素点(x,y)的灰度值为I(x,y,t),由于同个空间点的灰度值随着时间的变化在平面上始终保持一致,则满足:I(x,y,t)=I(x+dx,y+dy,t+dt)
[0018]假设运动比较小(即时间的变化不会引起目标位置的剧烈变化,相邻帧之间的位移达到毫米级)的情况下,则展开得到:
[0019][0020]结合两式得:
[0021][0022]为该点沿x轴的运动速度,为该点沿y轴的运动速度,光流算法假定图像块内的像素运动是一样。最后通过进行多次迭代,就能够获取像素在图像中的运动,从而实现像素点的追踪。
[0023]2.2.2)根据前一帧特征点集合P1,利用光流法计算当前帧中匹配的特征点集合P2,如果匹配对太靠近图像的边缘,或者匹配对中心的3
×
3图像块的像素差太大,则匹配对将
被丢弃。
[0024]2.3)使用经典的八点法估计基础矩阵F;
[0025]2.4)假设p1和p2为一对匹配的特征点对,齐次坐标如下所示:
[0026]P1=[u1,v1,1],P2=[u2,v2,1][0027]其中u,v是对应的像素横、纵坐标,使用基础矩阵F和特征点计算当前帧中特征点对应的极线:
[0028][0029]2.5)计算p2到p1对应极线的距离与预定阈值的关系来判断特征点是否移动,点p2到极线l1之间的距离D通过下式计算:
[0030][0031]如果距离大于预定阈值,则将p2加入到动态特征点集合S,否则,将其视为相对稳定的静态特征点,用于后续位姿估计。
[0032](3)在之前的跟踪线程中,得到新的关键帧。通过插入关键帧、删除冗余地图点和关键帧、局部集束调整进行局部建图;具体步骤如下:
[0033]3.1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态场景下基于深度学习的鲁棒视觉SLAM方法,其特征在于:该方法基于视觉传感器相机实现,具体包括以下步骤:S1对相机采集的图像序列利用基于深度学习的语义分割网络将图像中的对象划分成静态对象和动态对象,动态对象的像素级语义分割作为语义先验知识;S1.1搭建Mask R-CNN分割网络,采用Mask R-CNN网络进行潜在动态对象的语义分割;S1.2利用MS COCO数据集作为训练样本对Mask R-CNN网络进行训练;S1.3 Mask R-CNN网络的输入为m
×
n
×
3的RGB图像,输出为m
×
n
×
l的矩阵,通过将所有的输出通道合并成一个通道,可以获得出现在一个场景图像中的所有动态对象的分割;S2利用运动一致性检测算法检查特征是否是动态特征;S2.1对输入的图像序列进行ORB特征点提取;S2.2采用光...

【专利技术属性】
技术研发人员:阮晓钢郭佩远黄静于乃功
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1