CN115713633A - 动态场景下基于深度学习的视觉slam方法、系统及存储介质 - Google Patents

动态场景下基于深度学习的视觉slam方法、系统及存储介质 Download PDF

Info

Publication number
CN115713633A
CN115713633A CN202211433882.1A CN202211433882A CN115713633A CN 115713633 A CN115713633 A CN 115713633A CN 202211433882 A CN202211433882 A CN 202211433882A CN 115713633 A CN115713633 A CN 115713633A
Authority
CN
China
Prior art keywords
dynamic
points
rgb image
orb
deep learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211433882.1A
Other languages
English (en)
Inventor
杨志华
施杰
种竟争
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202211433882.1A priority Critical patent/CN115713633A/zh
Publication of CN115713633A publication Critical patent/CN115713633A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质。方法包括:通过将MASK R‑CNN深度学习网络与传统的ORB‑SLAM2算法相结合,使用RGB‑D相机对室内环境进行图像采集,对采集到的RGB图像提取ORB特征点,同时将RGB图像输入MASK R‑CNN深度学习网络,检测出潜在运动物体,并剔除在动态物体上的特征点;同时加入半静态物体识别模块配合目标检测网络进一步检查特征点是否为潜在动态特征点;最终根据相邻帧的位置关系来对剔除动态目标的位置进行背景补全并完成最终的建图。本发明显著降低了在动态环境SLAM系统的轨迹误差,同时保证了系统的实时性和鲁棒性。

Description

动态场景下基于深度学习的视觉SLAM方法、系统及存储介质
技术领域
本发明涉及人工智能与机器人和计算机视觉领域,尤其涉及一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质。
背景技术
同时定位与地图构建(SLAM,Simultaneous Localization and Mapping),其核心就是在无人机上搭建传感器,实时的确定无人机所在位置,并且进行三维建图,实时还原当前所处环境。SLAM是人工智能与机器人以及计算机视觉领域的重要研究内容,在自动驾驶等方面有广泛应用。针对室内动态场景下的定位和建图是SLAM的一个重要研究方向。
目前视觉SLAM的应用场景都假设为一个静态场景,在配准层面,不管是点对点或者点到特征的配准方式都是在静态的基础上提出的。而在理论上,动态点必然会影响到配准的精度。如果动态点占比很大,轨迹的精度都会有很大的下降。至于如何实时地识别和剔除动态点是目前视觉SLAM方向的一大难点,识别的方法目前也没有一个最好的方案。在建图方面,由于动态点的存在,最终重建出的地图会充斥大量的“鬼影”,在现实应用中会对实时定位、路径规划产生极大的影响。
目前主流的识别动态物体方法主要是分辨出输入图像中的动态物体部分,并且将不提取这些动态部分的特征点,来减少动态物体对整个系统性能的影响。对比于分离运动特征方法,识别动态物体方法可以更好地识别出运动物体的本质属性,改善处理的效果。有人提出对室内动态物体进行分离的SLAM方法,该系统主要通过YOLO语义分割网络对动态物体识别,获取对应的二进制掩码最终剔除,可以在室内环境下高效地实时运行。还有人提出Dynamic-SLAM,该系统在卷积神经网络的基础上,构造了一种基于先验概率的SSD检测器,在语义层次上检测新检测线程中的动态对象,接着针对SSD目标检测召回率低,提出了一种新的算法,有效增加了动态物体检测的准确性。但这些方法都不能剔除潜在运动物体上的不稳定特征点。
发明内容
本发明针对上述问题,提供了一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质,可有效去除动态物体对位姿估计的影响,提高视觉SLAM在动态环境中的精确性和稳定性。
本发明的第一方面,提供了一种动态场景下基于深度学习的视觉SLAM方法,方法包括以下步骤:
使用RGB-D相机获取RGB图像;
对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
对第二次去除动态ORB特征点后剩下的静态特征点进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
本发明进一步的技术方案是:所述对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点,具体过程包括:
对采集到的RGB图像进行高斯模糊;
计算高斯模糊后的RGB图像特征点的描述子并进行RGB图像降采样,将RGB图像分为若干层,在每层提取FAST角点,根据FAST角点建立图像金字塔,具体方法包括:
计算每层图像金字塔上所需要提取的FAST角点个数Nα为:
Figure BDA0003946202880000021
其中,N表示从RGB图像中提取到的所有ORB特征点数量,s为缩放因子,n为金字塔的总层数,α表示金字塔层数;
对每层RGB图像网格化,在每个网格上调用Opencv函数提取FAST角点,如果在opencv函数预设的最低FAST阈值下提取不到FAST角点,则不再在此网格里提取FAST角点;
针对每个划分网格基于四叉树均匀的选取Na个FAST角点。
本发明进一步的技术方案是:所述MASK R-CNN动态目标检测网络中识别出动态物体所在区域,具体包括:
将需要识别的动态物体图制作成数据集,利用数据集训练所述MASK R-CNN动态目标检测网络;
将待检测RGB图像输入训练好的MASK R-CNN动态目标检测网络进行图像预处理后获得相应的特征图;
根据特征图计算RGB图像的感兴趣区域,获得多个感兴趣区域候选框;
将多个感兴趣区域候选框输入区域候选网络中进行二值分类和回归用于过滤一部分感兴趣区域候选框;
将过滤后的感兴趣区域候选框进行ROI Align操作获取感兴趣区域的类别以及MASK生成。
本发明进一步的技术方案是:所述将动态物体上包含的ORB特征点进行初步剔除,具体包括:
令输入MASK R-CNN网络的第N帧RGB图像包含的动态像素点特征集合为:
Figure BDA0003946202880000031
静态像素点特征集合为:
Figure BDA0003946202880000032
其中
Figure BDA0003946202880000033
第N帧图像中的第i个动态像素点特征,
Figure BDA0003946202880000034
表示第N帧图像帧中的第i个静态像素点特征;第N帧图像中提取出的特征点的集合为:
Figure BDA0003946202880000035
其中
Figure BDA0003946202880000036
为第N帧图像中的第i个特征点;若
Figure BDA0003946202880000037
Figure BDA0003946202880000038
Figure BDA0003946202880000039
特征点为动态点并从集合TN中剔除。
本发明进一步的技术方案是:所述将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点,具体包括:
将初步剔除ORB特征点的当前帧与若干以往帧进行重叠度比较,具体为:将若干以往帧的特征点对应到当前帧并计算以往帧与当前帧的三维点夹角,对于夹角小于30度的当前帧三维点,计算三维点的投影深度与RGB-D相机深度之间的误差,当误差大于一定阈值时,判定当前帧的三维点为动态ORB特征点。
本发明进一步的技术方案是:所述对第二次去除动态ORB特征点后剩下的静态特征点利用最近点迭代算法进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,具体包括:
对剩下的静态特征点调用Opencv函数计算出描述子,根据描述子的相似性进行特征点的匹配;
定义相邻两帧已经匹配完成的特征点:
Figure BDA00039462028800000310
定义前后两帧匹配的第i个点对的误差项:
Figure BDA00039462028800000311
构建平方和最小问题,求使误差函数达到极小的
Figure BDA00039462028800000312
其中,
Figure BDA00039462028800000313
分别表示需要求得的相邻两帧间的旋转矩阵和平移向量,n表示匹配特征点的对数。
定义两组点的质心:
Figure BDA00039462028800000314
将误差函数作如下的处理:
Figure BDA0003946202880000041
在交叉项部分中,
Figure BDA0003946202880000042
在化简后可以消去,得到的优化目标结果表示为:
Figure BDA0003946202880000043
对上式分三个层次求解:
①.计算对应点的质心所处的位置
Figure BDA0003946202880000044
然后计算每个点除去质心位置的坐标:
Figure BDA0003946202880000045
根据以下公式作为判断依据计算得出使得误差函数最小的旋转矩阵R*
Figure BDA0003946202880000046
②.根据误差函数得到的R*,计算使得误差函数最小的平移向量
Figure BDA0003946202880000047
展开误差函数关于R的误差项,得:
Figure BDA0003946202880000048
优化目标函数简化为:
Figure BDA0003946202880000049
定义矩阵:
Figure BDA00039462028800000410
W是一个三维矩阵,对W进行奇异值分解,得:W=U∑VT,其中,∑为特征值矩阵,U和V为正交矩阵,当W秩满时,最优旋转矩阵R*为R*=UVT
③.解得R*后,即可求解出
Figure BDA00039462028800000411
本发明的第二方面,一种动态场景下基于深度学习的视觉SLAM系统,包括:
获取RGB图像单元,用于使用RGB-D相机获取RGB图像;
图像均匀化单元,用于对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
动态特征点初步剔除单元,用于将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
动态特征点第二次剔除单元,将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
特征匹配与地图构建单元,用于对第二次去除动态ORB特征点后剩下的静态特征点进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
本发明的第三方面,提供了一种动态场景下基于深度学习的视觉SLAM系统,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上述动态场景下基于深度学习的视觉SLAM方法。
本发明的第四方面,一种存储介质,其上存储有程序,所述程序在被处理器执行时,使得所述处理器执行上述动态场景下基于深度学习的视觉SLAM方法。
本发明提供的一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质,主要是通过将MASK R-CNN深度学习网络与传统的ORB-SLAM2算法相结合,使用RGB-D相机对室内环境进行图像采集,对采集到的RGB图像提取ORB特征点,同时将RGB图像输入MASK R-CNN深度学习网络,检测出潜在运动物体,并剔除在动态物体上的特征点;同时加入半静态物体识别模块配合目标检测网络进一步检查特征点是否为潜在动态特征点;最终根据相邻帧的位置关系来对剔除动态目标的位置进行背景补全并完成最终的建图。本发明显著降低了在动态环境SLAM系统的轨迹误差,同时保证了系统的实时性和鲁棒性。
附图说明
图1是本发明实施例一中的动态场景下基于深度学习的视觉SLAM方法的流程示意图;
图2是本发明实施例二中的动态场景下基于深度学习的视觉SLAM系统的结构示意图;
图3是本发明实施例三中的一种计算机设备的架构;
图4(a)是本发明实施例中三维坐标下的本发明SLAM轨迹图;
图4(b)是本发明实施例中三维坐标下的ORBSLAM2轨迹图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅出示了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例针对一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质,提供了如下实施例:
基于本发明的实施例一
本实施例用于说明动态场景下基于深度学习的视觉SLAM方法,参见图1,为动态场景下基于深度学习的视觉SLAM方法流程示意图,具体包括以下步骤:
S110、使用RGB-D相机获取RGB图像;
S120、对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
S130、将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
S140、将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
S150、对第二次去除动态ORB特征点后剩下的静态特征点利用最近点迭代算法进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
其中,S120中对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点,具体实施过程中,首先需要建立输入RGB图像的金字塔模型,具体包括:
对采集到的RGB图像进行高斯模糊;
计算高斯模糊后的RGB图像特征点的描述子并进行RGB图像降采样,将RGB图像分为若干层,在每层提取FAST角点,根据FAST角点建立图像金字塔,具体方法包括:
计算每层图像金字塔上所需要提取的FAST角点个数Nα为:
Figure BDA0003946202880000061
其中,N表示从RGB图像中提取到的所有ORB特征点数量,s为缩放因子,n为金字塔的总层数,α为金字塔层数;
对每层RGB图像网格化,一个具体实施例中,ORB-SLAM2中网格固定尺寸为30x30pixels,在每个网格上调用Opencv函数提取FAST角点,如果在Opencv函数预设的最低FAST阈值下仍然提取不到FAST角点,则不再在此网格里提取FAST角点;
最后针对每个划分网格基于四叉树均匀的选取Na个FAST角点。
S130中将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域:所述MASK R-CNN动态目标检测网络中识别出动态物体所在区域,具体包括:
将需要识别的动态物体图制作成数据集,利用数据集训练所述MASK R-CNN动态目标检测网络;
将待检测RGB图像输入训练好的MASK R-CNN动态目标检测网络进行图像预处理后获得相应的特征图;
根据特征图计算RGB图像的感兴趣区域,获得多个感兴趣区域候选框;
将多个感兴趣区域候选框输入区域候选网络中进行二值分类和回归用于过滤一部分感兴趣区域候选框;
将过滤后的感兴趣区域候选框进行ROI Align操作获取感兴趣区域的类别以及MASK生成。
具体实施过程中,搭建MASK R-CNN动态目标检测网络,利用MASK R-CNN动态目标检测网络来识别图像帧中的动态物体,将需要识别的动态物体,如人、动物等制作数据集,训练MASK R-CNN动态目标检测网络,接着将图像输入MASK R-CNN后,会先将图像进行预处理,如尺寸调整,归一化操作等,接着将处理好的图片传入提前训练好的神经网络中获得相应的feature map。将feature map上的坐标进行量化后通过ROI生成函数获得许多ROI候选框,即将feature map量化为统一尺度,然后在上面随机生成成千上万个候选框,后续再对候选框进行筛选去除;将生成ROI候选框送到训练好的RPN中进行二值分类和回归来过滤掉一部分不符合条件的ROI,对剩下的ROI进行ROI Align操作,对这些ROI进行归类,回归操作和MASK生成。
进一步地,S130中所述将动态物体上包含的ORB特征点进行初步剔除,具体包括:
令输入MASK R-CNN网络的第N帧RGB图像包含的动态像素点特征集合为:
Figure BDA0003946202880000071
静态像素点特征集合为:
Figure BDA0003946202880000072
其中
Figure BDA0003946202880000073
第N帧图像中的第i个动态像素点特征,
Figure BDA0003946202880000074
表示第N帧图像帧中的第i个静态像素点特征;第N帧图像中提取出的特征点的集合为:
Figure BDA0003946202880000075
其中
Figure BDA0003946202880000076
为第N帧图像中的第i个特征点;若
Figure BDA0003946202880000077
Figure BDA0003946202880000078
Figure BDA0003946202880000079
特征点为动态点并从集合TN中剔除。
S140中所述将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点,具体包括:
将初步剔除ORB特征点的当前帧与若干以往帧进行重叠度比较,具体为:将若干以往帧的特征点对应到当前帧并计算以往帧与当前帧的三维点夹角,对于夹角小于30度的当前帧三维点,计算三维点的投影深度与RGB-D相机深度之间的误差,当误差大于一定阈值时,判定当前帧的三维点为动态ORB特征点。
具体实施过程中,通过加入半静态物体识别模块来进一步识别动态特征点,核心在于选择与当前帧重叠度最大的以往帧,考虑到精度和时效,本发明具体实施例中选择的以往帧个数为5。将以往帧的特征点对应到当前帧,并计算其与对应的三维点的夹角。对于夹角小于30度的关键点,计算关键点的投影深度与RGB-D相机深度之间的误差,计算公式如下:Δz=zproj-z′
其中,zproj为投影深度,z′为当前帧的深度。当误差大于一定阈值时,则认为这个点为动态点,如人坐着的椅子,手上的书本等。
本发明进一步的技术方案是:对第二次去除动态ORB特征点后剩下的静态特征点利用最近点迭代算法进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图,具体包括:
对提取出的特征点调用Opencv函数计算出描述子后,根据描述子的相似性进行特征点的匹配,定义相邻两帧已经匹配完成的3D特征点:
Figure BDA0003946202880000081
定义前后两帧匹配的第i个点对的误差项:
Figure BDA0003946202880000082
然后构建平方和最小问题,求使误差函数达到极小的
Figure BDA0003946202880000083
Figure BDA0003946202880000084
其中,
Figure BDA0003946202880000085
分别表示需要求得的相邻两帧间的旋转矩阵和平移向量。
定义两组点的质心:
Figure BDA0003946202880000086
随后,在误差函数中,可以作如下的处理:
Figure BDA0003946202880000087
在交叉项部分中,
Figure BDA0003946202880000088
在化简后可以消去,得到的优化目标结果可以表示为:
Figure BDA0003946202880000089
观察式子左右两项,可以发现左边只和旋转矩阵R相关,而右边既有R也有
Figure BDA0003946202880000091
于是,ICP可以分到三个层次求解:
计算对应点的质心所处的位置
Figure BDA0003946202880000092
然后计算每个点除去质心位置的坐标:
Figure BDA0003946202880000093
根据以下公式作为判断依据计算得出使得误差函数最小的旋转矩阵R*
Figure BDA0003946202880000094
根据上述计算得到的R*,计算使得误差函数最小的平移向量
Figure BDA0003946202880000095
Figure BDA0003946202880000096
接下来,重点关注R*的计算,展开关于R的误差项,得:
Figure BDA0003946202880000097
注意到第一项和第二项均与R无关,因此,实际上优化目标函数变为:
Figure BDA0003946202880000098
为了解R,先定义矩阵:
Figure BDA0003946202880000099
W是一个三维矩阵,对W进行奇异值分解,得:
W=U∑VT
其中,∑为特征值矩阵,而U和V为正交矩阵。当W秩满时,最优旋转矩阵R*为:
R*=UVT
解得R*后,即可求解出
Figure BDA00039462028800000910
本发明方法的算法伪代码如表1:
表1动态场景SLAM算法伪代码
Figure BDA00039462028800000911
Figure BDA0003946202880000101
基于本发明的实施例2
本发明实施例二所提供的一种动态场景下基于深度学习的视觉SLAM系统200可执行本发明实施例1所提供的动态场景下基于深度学习的视觉SLAM方法,具备执行方法相应的功能模块和有益效果,该装置可以由软件和/或硬件(集成电路)的方式实现,并一般可集成于服务器或终端设备中。图2是本发明实施例2中的一种动态场景下基于深度学习的视觉SLAM系统200的结构示意图。参照图2,本发明实施例的动态场景下基于深度学习的视觉SLAM系统200具体可以包括:
获取RGB图像单元210,用于使用RGB-D相机获取RGB图像;
图像均匀化单元220,用于对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
动态特征点初步剔除单元230,用于将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
动态特征点第二次剔除单元240,将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
特征匹配与地图构建单元250,用于对第二次去除动态ORB特征点后剩下的静态特征点进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
除了上述单元以外,动态场景下基于深度学习的视觉SLAM系统200还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
一种动态场景下基于深度学习的视觉SLAM系统200的具体工作过程参照上述动态场景下基于深度学习的视觉SLAM方法实施例1的描述,不再赘述。
基于本发明的实施例三
根据本发明实施例的系统也可以借助于图3所示的计算设备的架构来实现。图3示出了该计算设备的架构。如图3所示,计算机系统301、系统总线303、一个或多个CPU304、输入/输出302、存储器305等。存储器305可以存储计算机处理和/或通信使用的各种数据或文件以及CPU所执行包括实施例1方法的程序指令。图3所示的架构只是示例性的,在实现不同的设备时,根据实际需要调整图3中的一个或多个组件。存储器305作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的动态场景下基于深度学习的视觉SLAM方法对应的程序指令/模块(例如,动态场景下基于深度学习的视觉SLAM系统200中的获取RGB图像单元210、图像均匀化单元220、动态特征点初步剔除单元230、动态特征点第二次剔除单元240和特征匹配与地图构建单元250)。一个或多个CPU304通过运行存储在存储器305中的软件程序、指令以及模块,从而执行本发明系统的各种功能应用以及数据处理,即实现上述的动态场景下基于深度学习的视觉SLAM方法,该方法包括:
使用RGB-D相机获取RGB图像;
对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
对第二次去除动态ORB特征点后剩下的静态特征点利用最近点迭代算法进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
当然,本发明实施例所提供的服务器,其处理器不限于执行如上所述的方法操作,还可以执行本发明任意实施例所提供的动态场景下基于深度学习的视觉SLAM方法中的相关操作。
存储器305可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器305可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器305可进一步包括相对于一个或多个CPU 304远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入/输出302可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输入/输出302还可包括显示屏等显示设备。
基于本发明的实施例四
本发明实施例也可以被实现为计算机可读存储介质。根据实施例4的计算机可读存储介质上存储有计算机程序。当所述计算机程序被处理器执行时,可以执行参照以上附图描述的根据本发明实施例1的动态场景下基于深度学习的视觉SLAM方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的动态场景下基于深度学习的视觉SLAM方法中的相关操作。
本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
为了更好地体现本发明的效果,实施例中采用了操作系统为Ubuntu16.04、8GB内存。SLAM采用的编程语言包括C++以及Python,需要配置的环境有scipy、Tensorflow、Keras、OpenCV2.4.11等。在评估视觉SLAM误差方面,将选择绝对轨迹误差(AbsoluteTrajectoryError,ATE)来作为评判依据。绝对轨迹误差表示的是选取数据集真实轨迹坐标与SLAM算法运行所得出的轨迹坐标直接的差值,可与用误差均方根来表示:
Figure BDA0003946202880000131
其中,N表示总的坐标点数,xi为数据集真实轨迹坐标,
Figure BDA0003946202880000133
为SLAM算法运行得到的估计轨迹坐标。
使用公开数据集freiburg3_walking_xyz,该数据集具有大量的运动场景,测试的具体数据如表2所示,一维坐标下的轨迹图如图4(a)、4(b)所示。由以上仿真实验结果可见,动态物体的存在严重影响了相机位姿的估计,在动态场景中将动态物体剔除可以大大提高位姿的精度。
表2平均ATE误差对比实验表
Figure BDA0003946202880000132
由于每一帧之间都是相互联系的,可以根据位姿估计来判断相邻帧之间的位置关系,当知道相邻帧之间的变换矩阵,就可以将一组以前的关键帧中的RGB和深度通道投影到当前帧的动态分段中去,将前20帧的RGB和深度图投影到当前帧上,完成无动态对象的背景恢复。
综上所述,通过实施例可以看出,本发明提供的一种动态场景下基于深度学习的视觉SLAM方法、系统及存储介质,主要是通过将MASK R-CNN深度学习网络与传统的ORB-SLAM2算法相结合,使用RGB-D相机对室内环境进行图像采集,对采集到的RGB图像提取ORB特征点,同时将RGB图像输入MASK R-CNN深度学习网络,检测出潜在运动物体,并剔除在动态物体上的特征点;同时加入半静态物体识别模块配合目标检测网络进一步检查特征点是否为潜在动态特征点;最终根据相邻帧的位置关系来对剔除动态目标的位置进行背景补全并完成最终的建图。本发明显著降低了在动态环境SLAM系统的轨迹误差,同时保证了系统的实时性和鲁棒性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述方法包括以下步骤:
使用RGB-D相机获取RGB图像;
对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
对第二次去除动态ORB特征点后剩下的静态特征点利用最近点迭代算法进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
2.根据权利要求1所述的动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点,具体过程包括:
对采集到的RGB图像进行高斯模糊;
计算高斯模糊后的RGB图像特征点的描述子并进行RGB图像降采样,将RGB图像分为若干层,在每层提取FAST角点,根据FAST角点建立图像金字塔,具体方法包括:
计算每层图像金字塔上所需要提取的FAST角点个数Nα为:
Figure FDA0003946202870000011
其中,N表示从RGB图像中提取到的所有ORB特征点数量,s为缩放因子,n为金字塔的总层数,α表示金字塔层数;
对每层RGB图像网格化,在每个网格上调用Opencv函数提取FAST角点,如果在opencv函数预设的最低FAST阈值下提取不到FAST角点,则不再在此网格里提取FAST角点;
针对每个划分网格基于四叉树均匀的选取Na个FAST角点。
3.根据权利要求1所述的动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述MASKR-CNN动态目标检测网络中识别出动态物体所在区域,具体包括:
将需要识别的动态物体图制作成数据集,利用数据集训练所述MASKR-CNN动态目标检测网络;
将待检测RGB图像输入训练好的MASK R-CNN动态目标检测网络进行图像预处理后获得相应的特征图;
根据特征图计算RGB图像的感兴趣区域,获得多个感兴趣区域候选框;
将多个感兴趣区域候选框输入区域候选网络中进行二值分类和回归用于过滤一部分感兴趣区域候选框;
将过滤后的感兴趣区域候选框进行ROIAlign操作获取感兴趣区域的类别以及MASK生成。
4.根据权利要求1所述的动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述将动态物体上包含的ORB特征点进行初步剔除,具体包括:
令输入MASK R-CNN网络的第N帧RGB图像包含的动态像素点特征集合为:
Figure FDA0003946202870000021
静态像素点特征集合为:
Figure FDA0003946202870000022
其中
Figure FDA0003946202870000023
第N帧图像中的第i个动态像素点特征,
Figure FDA0003946202870000024
表示第N帧图像帧中的第i个静态像素点特征;第N帧图像中提取出的特征点的集合为:
Figure FDA0003946202870000025
其中
Figure FDA0003946202870000026
为第N帧图像中的第i个特征点;若
Figure FDA0003946202870000027
Figure FDA0003946202870000028
Figure FDA0003946202870000029
特征点为动态点并从集合TN中剔除。
5.根据权利要求1所述的动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点,具体包括:
将初步剔除ORB特征点的当前帧与若干以往帧进行重叠度比较,具体为:将若干以往帧的特征点对应到当前帧并计算以往帧与当前帧的三维点夹角,对于夹角小于30度的当前帧三维点,计算三维点的投影深度与RGB-D相机深度之间的误差,当误差大于一定阈值时,判定当前帧的三维点为动态ORB特征点。
6.根据权利要求1所述的动态场景下基于深度学习的视觉SLAM方法,其特征在于,所述对进行第二次去除动态ORB特征点后剩下的静态特征点进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,具体包括:
对剩下的静态特征点调用Opencv函数计算出描述子,根据描述子的相似性进行特征点的匹配;
定义相邻两帧已经匹配完成的特征点:
Figure FDA00039462028700000210
定义前后两帧匹配的第i个点对的误差项:
Figure FDA00039462028700000211
构建平方和最小问题,求使误差函数达到极小的R,
Figure FDA00039462028700000212
其中,R,
Figure FDA00039462028700000213
分别表示需要求得的相邻两帧间的旋转矩阵和平移向量,n表示匹配特征点的对数。
定义两组点的质心:
Figure FDA0003946202870000031
将误差函数作如下的处理:
Figure FDA0003946202870000032
在交叉项部分中,
Figure FDA0003946202870000033
在化简后可以消去,得到的优化目标结果表示为:
Figure FDA0003946202870000034
对上式分三个层次求解:
①.计算对应点的质心所处的位置
Figure FDA0003946202870000035
然后计算每个点除去质心位置的坐标:
Figure FDA0003946202870000036
根据以下公式作为判断依据计算得出使得误差函数最小的旋转矩阵R*
Figure FDA0003946202870000037
②.根据误差函数得到的R*,计算使得误差函数最小的平移向量
Figure FDA0003946202870000038
Figure FDA0003946202870000039
展开误差函数关于R的误差项,得:
Figure FDA00039462028700000310
优化目标函数简化为:
Figure FDA00039462028700000311
定义矩阵:
Figure FDA00039462028700000312
W是一个三维矩阵,对W进行奇异值分解,得:W=U∑VT,其中,∑为特征值矩阵,U和V为正交矩阵,当W秩满时,最优旋转矩阵R*为R*=UVT
③.解得R*后,即可求解出
Figure FDA00039462028700000313
7.一种动态场景下基于深度学习的视觉SLAM系统,其特征在于,包括:
获取RGB图像单元,用于使用RGB-D相机获取RGB图像;
图像均匀化单元,用于对采集到的RGB图像均匀化并提取RGB图像中的ORB特征点;
动态特征点初步剔除单元,用于将完成均匀化的RGB图像输入MASK R-CNN动态目标检测网络中识别出动态物体所在区域,将动态物体上包含的ORB特征点进行初步剔除;
动态特征点第二次剔除单元,将初步剔除ORB特征点的帧输入半静态物体识别模块,根据相邻帧的映射关系计算得到的深度与实际RGB-D相机的深度作差,通过阈值进行第二次去除动态ORB特征点;
特征匹配与地图构建单元,用于对第二次去除动态ORB特征点后剩下的静态特征点进行特征匹配,得到相邻帧之间的位置关系,进行位姿估计,并建立最终的稀疏地图。
8.一种动态场景下基于深度学习的视觉SLAM系统,其特征在于,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行权利要求1-6中任一项所述的动态场景下基于深度学习的视觉SLAM方法。
9.一种存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一项所述的动态场景下基于深度学习的视觉SLAM方法。
CN202211433882.1A 2022-11-16 2022-11-16 动态场景下基于深度学习的视觉slam方法、系统及存储介质 Pending CN115713633A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211433882.1A CN115713633A (zh) 2022-11-16 2022-11-16 动态场景下基于深度学习的视觉slam方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211433882.1A CN115713633A (zh) 2022-11-16 2022-11-16 动态场景下基于深度学习的视觉slam方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN115713633A true CN115713633A (zh) 2023-02-24

Family

ID=85233358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211433882.1A Pending CN115713633A (zh) 2022-11-16 2022-11-16 动态场景下基于深度学习的视觉slam方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN115713633A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116468940A (zh) * 2023-04-07 2023-07-21 安徽工程大学 一种基于深度学习的感知增强与运动判断算法、存储介质及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116468940A (zh) * 2023-04-07 2023-07-21 安徽工程大学 一种基于深度学习的感知增强与运动判断算法、存储介质及设备
CN116468940B (zh) * 2023-04-07 2023-09-19 安徽工程大学 一种基于深度学习的感知增强与运动判断算法、存储介质及设备

Similar Documents

Publication Publication Date Title
US11763485B1 (en) Deep learning based robot target recognition and motion detection method, storage medium and apparatus
WO2021017261A1 (zh) 识别模型训练方法、图像识别方法、装置、设备及介质
CN108470332B (zh) 一种多目标跟踪方法及装置
CN112750140A (zh) 基于信息挖掘的伪装目标图像分割方法
CN111241989A (zh) 图像识别方法及装置、电子设备
CN110930411B (zh) 一种基于深度相机的人体分割方法及系统
JP7439153B2 (ja) 全方位場所認識のためのリフトされたセマンティックグラフ埋め込み
WO2022218396A1 (zh) 图像处理方法、装置和计算机可读存储介质
JP6756406B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN109685045A (zh) 一种运动目标视频跟踪方法及系统
Miclea et al. Real-time semantic segmentation-based stereo reconstruction
CN109543634B (zh) 定位过程中的数据处理方法、装置、电子设备和存储介质
CN111027581A (zh) 一种基于可学习编码的3d目标检测方法及系统
CN112861785B (zh) 一种基于实例分割和图像修复的带遮挡行人重识别方法
CN113869449A (zh) 一种模型训练、图像处理方法、装置、设备及存储介质
CN111353385B (zh) 一种基于掩膜对齐与注意力机制的行人再识别方法和装置
CN112200056A (zh) 人脸活体检测方法、装置、电子设备及存储介质
US20230021591A1 (en) Model generation method, model generation apparatus, non-transitory storage medium, mobile object posture estimation method, and mobile object posture estimation apparatus
CN115713633A (zh) 动态场景下基于深度学习的视觉slam方法、系统及存储介质
CN115018999A (zh) 一种多机器人协作的稠密点云地图构建方法及装置
CN116563303B (zh) 一种场景可泛化的交互式辐射场分割方法
CN117541652A (zh) 一种基于深度lk光流法与d-prosac采样策略的动态slam方法
CN115273184A (zh) 人脸活体检测模型训练方法及装置
CN114639013A (zh) 基于改进Orient RCNN模型的遥感图像飞机目标检测识别方法
Xiao et al. Fast unstructured road detection and tracking from monocular video

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination