一种基于动态场景的RGB-DSLAM方法和系统与流程

文档序号:19811442发布日期:2020-01-31 18:25阅读:199来源:国知局
一种基于动态场景的RGB-D SLAM方法和系统与流程

本申请涉及机器人定位建图技术领域,特别是涉及一种基于动态场景的rgb-dslam方法和系统。



背景技术:

目前的slam(simultaneouslocalizationandmapping,即时定位与地图构建)技术是希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)来定位自身的位置和姿态,再根据自身的位置增量式的构建地图,从而达到同时定位和构建地图的目的。

现有的slam系统的通常是假设机器人的周围环境是静态的,然而,在实际应用场景中,机器人的周围的环境总是处于动态变化中的,这样就降低了机器人定位自身的位置的准确性,这是因为动态环境中的对象可能会破坏环境的映射,从而导致机器人产生错误的位置估计

现有的一种定位建图方法有deepvo(基于深度循环卷积神经网络的端到端视觉里程计)方法,该方法是将循环卷积神经网络和vo(visualodometry,视觉里程计)相结合,通过输入一段视频剪辑或者单目影像序列,在每个时间间隔,rgb影像帧在预处理中减去训练集的平均rgb值和可选地调整影像大小为64的倍数;两张连续影像堆叠在一起构成一个张量,用于深度rcnn学习怎样提取运动信息和估计位姿;影像张量被放入cnn来得到单目vo的有效特征,然后传递给一个rnn进行序列的学习;在每个时间间隔里通过网络每个影像对产生一个位姿估计;vo系统随时间进展和随影像捕获估计新的位姿。

这里的单目vo的有效特征表示是理想几何,而不是与表面和视觉纹理相关,因为vo系统需要泛化和扩展到未知地环境中去。在cnn之后,采用rnn来运行关键帧序列的学习,即在cnn特征序列中对运动模型和数据关联模型进行隐式建模;使用lstm确定哪些先前隐藏状态以丢弃或者保留来更新当前状态,可在位姿估计时学习运动,找到和应用长距离影像之间的关联性;将两个lstm层堆叠在一起构建一个深度rnn,基于从cnn获取的视觉特征,在每个时间间隔输出一个位姿估计;现有技术中的该定位建图的方法的具体过程均是随着相机的运动和影像获取进行。

然而,现有的大多数现有的vo(visualodometry,视觉里程计)或slam系统都是假设环境是静态的,一旦slam系统处于复杂的动态环境中运行时,其性能可能会退化,从而使得机器人定位自身的位置的不够准确,因此亟需一种能够在动态场景中能够准确定位的方法和系统。



技术实现要素:

本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。

根据本申请的一个方面,提供了一种基于动态场景的rgb-dslam方法,该方法包括以下步骤:

基于深度学习的语义分割网络模型以确定图像的潜在动态区域;

采用运动一致性方法确定图像中的两个连续帧图像的特征点是否对应,判断图像中的潜在动态区域和背景区域中的待识别物是否一致;若一致,则将该潜在动态区域识别为动态区域;

分别提取所述潜在动态区域和背景区域中的orb特征点,如果该orb特征点所在的区域是动态区域,则在当前的图像帧和参考帧中删除该orb特征点,反之则将该orb特征点保留于潜在动态区域和背景区域中;

采用icp算法对所述orb特征点进行匹配以获得机器人的位姿信息。

可选的,所述采用基于深度学习的语义分割网络模型以确定图像的潜在动态区域包括以下子步骤:

提取待识别物的轮廓边缘,将包含轮廓边缘的rgb图像输入mask-rcnn模型进行语义分割,得到待识别物的掩模图像;

对待识别物的掩模图像进行轮廓修复:构建待识别物的轮廓特征,该轮廓特征包括边缘质心;获取所述边缘质心的坐标值,计算待识别物的轮廓边缘点与边缘质心的距离;若所述距离大于预设的距离阈值,则将该轮廓边缘点移除,以确定图像中潜在动态区域。

可选的,采用cannyedge算法对所述待识别物的掩模图像进行修复。

可选的,所述将该潜在动态区域识别为动态区域包括以下子步骤:

计算潜在动态区域的图像中的每一个像素的光流值,根据所述光流值得出各点的光流场;

采用lucas-kanade光流方法跟踪潜在动态区域中的待识别物的内部和外部的稀疏点,并依据所述各点的光流场,划分出图像的背景区域;

构建潜在动态区域和背景区域的标准化直方图,并确定所述标准化直方图的每个区间的范围,将所有光流向量被分配给不同的簇形成多个箱;根据每个箱中的光流向量构建潜在动态区域和背景区域的运动向量;

计算所述潜在动态区域和背景区域的运动向量的余弦相似度,若该余弦相似度大于测量运动状态公差,则确定该潜在动态区域在移动,并将该潜在动态区域识别为动态区域。

可选的,所述方法还包括步骤:基于闭环检测方式和图像的所有帧之间的约束对所述位姿信息进行全局优化。

根据本申请的另一个方面,提供了一种基于动态场景的rgb-dslam系统,该系统包括确定模块、识别模块、提取模块和初始优化模块;其中,

所述第一确定模块基于深度学习的语义分割网络模型以确定图像的潜在动态区域;

所述识别模块执行如下操作:采用运动一致性方法确定图像中的两个连续帧图像的点是否对应,判断图像中的潜在动态区域和背景区域中的待识别物是否一致;若一致,则将该潜在动态区域识别为动态区域;

所述提取模块执行如下操作:分别提取所述潜在动态区域和背景区域中的orb特征点,如果该orb特征点所在的区域是动态区域,则在当前的图像帧和参考帧中删除该orb特征点,反之则将该orb特征点保留于潜在动态区域和背景区域中;

所述初始优化模块采用icp算法对所述orb特征点进行匹配以获得机器人的位姿信息。

可选的,所述确定模块包括语义分割单元和修复单元:

所述语义分割单元执行以下操作:提取待识别物的轮廓边缘,将包含轮廓边缘的rgb图像输入mask-rcnn模型进行语义分割,得到待识别物的掩模图像;

所述修复单元执行以下操作:构建待识别物的轮廓特征,该轮廓特征包括边缘质心;获取所述边缘质心的坐标值,计算待识别物的轮廓边缘点与边缘质心的距离;若所述距离大于预设的距离阈值,则将该轮廓边缘点移除,以确定图像中潜在动态区域。

可选的,所述采用cannyedge算法对所述待识别物的掩模图像进行修复。

可选的,所述识别模块包括光流场获取单元、背景区域获取单元、构建单元和余弦相似度获取单元;

所述光流场获取单元用于计算潜在动态区域的图像中的每一个像素的光流值,根据所述光流值得出各点的光流场;

所述背景区域获取单元采用lucas-kanade光流方法跟踪潜在动态区域中的待识别物的内部和外部的稀疏点,并依据所述各点的光流场,划分出图像的背景区域;

所述构建单元用于构建潜在动态区域和背景区域的标准化直方图,并确定所述标准化直方图的每个区间的范围,将所有光流向量被分配给不同的簇形成多个箱;根据每个箱中的光流向量构建潜在动态区域和背景区域的运动向量;

所述余弦相似度获取单元用于计算所述潜在动态区域和背景区域的运动向量的余弦相似度,若该余弦相似度大于测量运动状态公差,则确定该潜在动态区域在移动,并将该潜在动态区域识别为动态区域。

可选的,所述系统还包括全局优化模块:

所述全局优化模块用于基于闭环检测方式和图像的所有帧之间的约束对所述位姿信息进行全局优化。

根据本申请的又一个方面,提供了一种计算机电子设备,该计算设备包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,该计算机程序存储于存储器中的用于程序代码的空间,该计算机程序在由处理器执行时实现用于执行任一项根据本发明的方法步骤。

根据本申请的又一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序,该程序被处理器执行。

根据本申请的又一个方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。

本申请通过深度学习的语义分割网络模型确定图像的潜在动态区域,可以精确的分割图像,并且采用运动一致性方法从潜在动态区域识别出动态区域,即使slam系统处于动态环境中,根据潜在动态区域和背景区域中的orb特征点可以准确地估计出每个输入图像的在相机中的3d运动轨迹,同时也可以准确地获取机器人的位姿信息。

根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。

附图说明

后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:

图1是根据本申请一个实施例的一种基于动态场景的rgb-dslam方法的流程示意图;

图2是根据本申请一个实施例的一种基于动态场景的rgb-dslam系统的结构示意图;

图3是根据本申请实施例的计算设备示意图;

图4是根据本申请实施例的计算机可读存储介质示意图。

具体实施方式

一、术语定义

为方便描述本实施例的具体内容,首先做以下术语定义。

1.orb:orientedfastandrotatedbrief算法是目前最快速稳定的特征点检测和提取算法,许多图像拼接和目标追踪技术利用orb特征进行实现。

2.rgb-d=rgb+depthmap;

3.rgb:rgb色彩模式是工业界的一种颜色标准,是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

4.coco数据集是一个大型图像数据集,用于对象检测、分割、人体关键点检测、语义分割和字幕生成等。

5.mask-rcnn模型:maskrcnn是基于fasterrcnn的网络框架,在基础特征网络之后又加入了全卷积的mask分割子网,由原来的分类、回归检测任务,变成了分类、回归、分割检测任务。

6.cannyedge算法是一个多级边缘检测算法,采用cannyedge算法可以获得图像的轮廓边缘,并且可以通过设置阀值来改变边缘检测的梯度门限。

7.光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生。

8.lucas–kanade光流算法是一种两帧差分的光流估计算法,基于以下三个假设:根据其外部光源稳定、时间间隔δt较小时,区域内像素点的灰度保持不变;时间的连续变化不会影响物体运动位置的剧烈变化;一个场景中同一表面上邻近的像素点具有相似的运动变化。

9.icp(iterativeclosestpoints,迭代最近点)算法包括两部分:对应点搜索和位姿求解,它的目的是寻求点集之间的匹配关系,求解的结果是两点集之间的平移及旋转量。

二、基于动态场景的rgb-dslam方法

本实施例中所采用的实验数据集来自于tum(德国慕尼黑工业大学)数据集,包含rgb-d数据和地面实况数据的大型数据集,目的是为视觉测距和视觉slam系统的评估建立新的基准。

该tum数据集包含microsoftkinect传感器沿传感器地面实况轨迹的颜色和深度图像,以全帧速率(30hz)和传感器分辨率(640×480)记录数据。其中,地面实况轨迹是从具有八个高速跟踪摄像机(100hz)的高精度运动捕捉系统所获得的,下面将描述基于动态场景的rgb-dslam方法的工作流程。

图1是根据本申请一个实施例的一种基于动态场景的rgb-dslam方法的流程示意图;如图1所示,该方法包括以下步骤:

步骤100:基于深度学习的语义分割网络模型以确定图像的潜在动态区域;

具体的,例如在室内环境中,人是主要的动态物体,可以首先采用tum数据集中的包含有人活动的图像,那么将人定义为待识别物,将该图像的每一帧图像输入到深度学习的语义分割网络模型中用以确定图像中的动态或潜在动态区域;

优选的,该深度学习的语义分割网络的训练样本来自于在coco数据集,利用该数据集对图像进行检测和分类,以确定图像中的动态或潜在动态区域。

进一步的,步骤100包括以下子步骤110和120;

步骤110:提取待识别物的轮廓边缘,将包含轮廓边缘的rgb图像输入mask-rcnn模型进行语义分割,得到待识别物的掩模图像;

由于包含轮廓边缘的rgb图像输入到mask-rcnn模型进行语义分割后,在待识别物的周围可能仍会检测到一些无用的点,因此需要对待识别物的掩模图像进一步地进行轮廓细化。

步骤120:对待识别物的掩模图像进行轮廓修复:构建待识别物的轮廓特征,该轮廓特征包括边缘质心;获取所述边缘质心的坐标值,计算待识别物的轮廓边缘点与边缘质心的距离;若所述距离大于预设的距离阈值,则将该轮廓边缘点移除,以确定图像中潜在动态区域;

优选的,采用cannyedge算法检测图像的轮廓边缘,对待识别物的掩模图像进行修复。

步骤200:采用运动一致性方法确定图像中的两个连续帧图像的特征点是否对应,以判断图像中的潜在动态区域和背景区域中的待识别物是否一致,若一致,则将该潜在动态区域识别为动态区域。

优选的,本实施例中在步骤100中确定了潜在动态区域之后,还可以进一步的采用的运动一致性方法例如光流方法来判断图像中的潜在动态区域和背景区域中的待识别物是否一致,即首先假设待识别物的空间-时间一致;然后确定两个连续帧图像的点是否对应,从而判断潜在动态区域和背景区域是否一致性。

具体的,步骤200包括以下几个子步骤:

步骤210:计算潜在动态区域的图像中的每一个像素的光流值,根据所述光流值得出各点的光流场;

步骤220:采用lucas-kanade光流方法跟踪潜在动态区域中的待识别物的内部和外部的稀疏点,并依据所述各点的光流场,划分出图像的背景区域;

步骤230:构建潜在动态区域和背景区域的标准化直方图,并确定所述标准化直方图的每个区间的范围,将所有光流向量被分配给不同的簇形成多个箱;根据每个箱中的光流向量构建潜在动态区域和背景区域的运动向量;

其中,根据每个箱中的光流向量构建潜在动态区域和背景区域的运动向量通过以下子步骤231-233获得:

步骤231:计算潜在动态区域中的每一个箱的运动向量;

是第r个箱中的光流向量的大小,是潜在动态区域中的第r个箱的光流向量的大小;

步骤232:计算背景区域中的每一个箱的运动向量;

是第r′个箱中的光流向量的大小,是背景区域中的第r′个箱的光流向量的大小;

步骤233:根据潜在动态区域中的每一个箱的运动向量,构建潜在动态区域的运动向量;根据背景区域中的每一个箱的运动向量,构建背景区域的运动向量;

vd=(h1,h2,h3,...,h[r]);

vb=(h1′,h2′,h3′,...,h[r′]);

其中,vd和vb分别是潜在动态区域和背景区域的运动向量;r是箱的序号,h[r]是潜在动态区域中的第r个箱的运动向量,h[r′]是背景区域中的第r′个箱的运动向量。

步骤240:计算所述潜在动态区域和背景区域的运动向量的余弦相似度,若该余弦相似度大于测量运动状态公差γ,则确定该潜在动态区域在移动,并将该潜在动态区域识别为动态区域。

其中,cosδ为潜在动态区域和背景区域的运动向量之间的余弦相似度;d为潜在动态区域,b为背景区域;vd为潜在动态区域的运动向量,vb为背景区域的运动向量;在本实施例中所述测量运动状态公差γ是一个预设的阈值。

s300:分别提取所述潜在动态区域和背景区域中的orb特征点,如果该orb特征点所在的区域是动态区域,则在当前的图像帧和参考帧中忽略该orb特征点,反之则将该orb特征点保留于潜在动态区域和背景区域中。

具体的,在本实施例中可以使用kinect传感器获取潜在动态区域和背景区域的orb特征点以进行特征提取,以确定orb特征点是否损坏;

而且,根据潜在动态区域和背景区域中的orb特征点可以准确地估计出每个输入图像的在相机中的3d运动轨迹;其中,所述参考帧是指当前帧相邻的图像。

s400:采用icp算法对所述orb特征点进行匹配以获得机器人的位姿信息;

即本实施例中首先最小化世界坐标,并将orb特征点进行关键点匹配,利用得到的3d点间的误差来初始优化机器人的位姿;

具体的,首先,确定潜在动态区域和背景区域待中的特征点位置;

然后,对特征点位置进行融合匹配,即对于共有的特征点进行特征匹配,对于不同的特征点进行保留,同时去除噪声点;

再对特征点位置的误差进行度量和最小化,以初始优化机器人的位姿。

在另一实施例中,在步骤400完成后,该基于动态场景的rgb-dslam方法进一步的还包括步骤500:

基于闭环检测方式和图像的所有帧之间的约束对所述位姿信息进行全局优化;

即利用闭环检测方式和图像的所有帧之间的约束输入到slam系统的后端以进一步的对位姿信息的结果进行全局优化。

本实施例的利用图像的语义信息来识别图像的潜在动态区域,然后采用运动一致性方法来验证潜在动态区域和背景区域中的光流的一致性,以从潜在动态区域中识别出动态区域;基于识别出的动态区域,将该方法应用在rgb-dslam系统前端,可以同时跟踪机器人的轨迹和地图。

三、基于动态场景的rgb-dslam系统

图2是根据本申请一个实施例的一种基于动态场景的rgb-dslam系统的结构示意图;参见图2,该系统包括确定模块、识别模块、提取模块和初始优化模块;其中,

所述第一确定模块基于深度学习的语义分割网络模型以确定图像的潜在动态区域;

所述识别模块执行如下操作:采用运动一致性方法确定图像中的两个连续帧图像的点是否对应,判断图像中的潜在动态区域和背景区域中的待识别物是否一致;若一致,则将该潜在动态区域识别为动态区域;

所述提取模块执行如下操作:分别提取所述潜在动态区域和背景区域中的orb特征点,如果该orb特征点所在的区域是动态区域,则在当前的图像帧和参考帧中删除该orb特征点,反之则将该orb特征点保留于潜在动态区域和背景区域中;

所述初始优化模块采用icp算法对所述orb特征点进行匹配以获得机器人的位姿信息。

本实施例中,可选的,所述确定模块包括语义分割单元和修复单元:

所述语义分割单元执行以下操作:提取待识别物的轮廓边缘,将包含轮廓边缘的rgb图像输入mask-rcnn模型进行语义分割,得到待识别物的掩模图像;

所述修复单元执行以下操作:构建待识别物的轮廓特征,该轮廓特征包括边缘质心;获取所述边缘质心的坐标值,计算待识别物的轮廓边缘点与边缘质心的距离;若所述距离大于预设的距离阈值,则将该轮廓边缘点移除,以确定图像中潜在动态区域。

本实施例中,可选的,所述采用cannyedge算法对所述待识别物的掩模图像进行修复。

本实施例中,可选的,所述识别模块包括光流场获取单元、背景区域获取单元、构建单元和余弦相似度获取单元;

所述光流场获取单元用于计算潜在动态区域的图像中的每一个像素的光流值,根据所述光流值得出各点的光流场;

所述背景区域获取单元采用lucas-kanade光流方法跟踪潜在动态区域中的待识别物的内部和外部的稀疏点,并依据所述各点的光流场,划分出图像的背景区域;

所述构建单元用于构建潜在动态区域和背景区域的标准化直方图,并确定所述标准化直方图的每个区间的范围,将所有光流向量被分配给不同的簇形成多个箱;根据每个箱中的光流向量构建潜在动态区域和背景区域的运动向量;

所述余弦相似度获取单元用于计算所述潜在动态区域和背景区域的运动向量的余弦相似度,若该余弦相似度大于测量运动状态公差,则确定该潜在动态区域在移动,并将该潜在动态区域识别为动态区域。

本实施例中,可选的,所述系统还包括全局优化模块:所述全局优化模块用于基于闭环检测方式和图像的所有帧之间的约束对所述位姿信息进行全局优化。

本实施例提供的上述系统,可以执行上述任一基于动态场景的rgb-dslam方法中的实施例所提供的方法,详细过程详见方法实施例中的描述,此处不赘述。

本申请实施例还提供了一种计算设备,参照图3,该计算设备包括存储器620、处理器610和存储在所述存储器620内并能由所述处理器610运行的计算机程序,该计算机程序存储于存储器620中的用于程序代码的空间630,该计算机程序在由处理器610执行时实现用于执行任一项根据本发明的方法步骤631。

本申请实施例还提供了一种计算机可读存储介质。参照图4,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序631′,该程序被处理器执行。

本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1