CN116385538A - 一种面向动态场景的视觉slam方法、系统及存储介质 - Google Patents
一种面向动态场景的视觉slam方法、系统及存储介质 Download PDFInfo
- Publication number
- CN116385538A CN116385538A CN202310348127.1A CN202310348127A CN116385538A CN 116385538 A CN116385538 A CN 116385538A CN 202310348127 A CN202310348127 A CN 202310348127A CN 116385538 A CN116385538 A CN 116385538A
- Authority
- CN
- China
- Prior art keywords
- dynamic
- vector
- feature points
- points
- feature
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000000007 visual effect Effects 0.000 title claims abstract description 27
- 230000033001 locomotion Effects 0.000 claims abstract description 46
- 230000003068 static effect Effects 0.000 claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 230000011218 segmentation Effects 0.000 claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 230000002159 abnormal effect Effects 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 113
- 230000008859 change Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000002679 ablation Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种面向动态场景的视觉SLAM方法、系统及存储介质,其包括:根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。本发明能解决未知环境中动态物体对视觉定位系统造成的定位误差影响;能在机器人视觉定位领域中应用。
Description
技术领域
本发明涉及一种机器人视觉定位技术领域,特别是关于一种面向动态场景的视觉SLAM(同步定位与地图构建)方法、系统及存储介质。
背景技术
同步定位与地图构建(Simultaneous Localization and Mapping,SLAM),是机器人实现自主导航的核心技术,机器人通过利用激光雷达、相机等传感器获取环境中的感知信息对自身位姿进行实时估计同时构建稀疏的点云地图,以提高机器人的环境适应能力,满足自主作业的应用需求。近年来,随着人工智能技术的快速发展,机器人成为了解放人力的重要手段被广泛应用于生产生活的各个领域,面向动态场景的机器人自主作业成为了具有挑战性的研究热点。
现有技术中公开的ORB-SLAM2是一个支持单目、双目、RGB-D相机的开源SLAM框架,能够实时计算相机的位姿并同时对周围环境稀疏三维重建,它能够在CPU上做到实时的回环检测和重定位,定位精度极高,可达厘米级。ORB-SLAM2利用随机采样一致性(RANSAC)和光束平差法(Bundle Adjustment)等方法来减少特征匹配过程中由于错误匹配而产生的误差,两种方法都是基于绝对静止的前提,但当系统处于动态环境中时这两种方法会因为动态特征点的介入给系统造成大量误差。因此,如区分动态和静态特征点,提升SLAM系统在动态场景中的鲁棒性和可靠性是确保移动机器人高效、稳健自主作业的关键。而现有技术中公开的全过程进行语义分割会占用大量计算资源,依据当前帧中特征点的运动等级信息与动态特征点所占的比重,自适应地判断当前帧是否需要进行语义分割,极大降低了运算成本,系统可实时运行。而利用单高斯模型(SGM)反映图像序列的灰度变化,依据灰度值大小区分前景区域和背景区域,忽略前景区域的特征点来估计相机位姿,但是单高斯模型容易受到噪声干扰,系统的稳定性欠佳。采用YOLOv4确定当前图像是否存在潜在可移动物体,根据最大类间方差算法分割边界框内前背景,过滤潜在动态特征点,相对位姿准确率提升近90%,但在动态目标所占比重较大的特殊场景时,系统会出现跟踪失败的情况。
故如何解决未知环境中动态物体对视觉定位系统造成的定位误差影响,成为目前亟需解决的技术问题。
发明内容
针对上述问题,本发明的目的是提供一种面向动态场景的视觉SLAM方法、系统及存储介质,其能解决未知环境中动态物体对视觉定位系统造成的定位误差影响。
为实现上述目的,本发明采取以下技术方案:一种面向动态场景的视觉SLAM方法,其包括:根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
进一步,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,包括:
采用轻量级的语义分割网络PP-LiteSeg进行划分;
在获取的图像中提取的特征点中,标记出动态对象和静态对象,并将所有的通道对齐形成一个通道,得到一个场景图像中动态对象和静态对象的分割掩膜。
进一步,结合Delaunay三角剖分方法对特征点的运动属性最终判定,包括:
将图像中的特征点连结成三角形,并通过比较相邻两帧对应三角形的边,确定动态对象的特征点,将属于动态对象的特征点从三角剖分方法构成的连通图中剔除,以将图像中动态区域剔除。
进一步,确定动态对象的特征点,包括:
利用向量边连结的两个地图点所对应的当前帧的特征点反投影,生成的3D点连结形成的新向量边进行动态向量检测;
基于动态向量检测结果,获取向量边的动态程变化度,以检测出动态对象的地图点。
进一步,动态向量检测由动态向量检测函数实现,动态向量检测函数为:
进一步,获取向量边的动态变化程度,包括:利用L2范数计算向量边的长度变化,利用余弦相似度来计算向量边的角度变化,得到向量边的动态变化程度;
如未发生动态变化,则应满足基于L2范数的判定条件;
如未发生向量边角度变化,则应满足基于余弦相似度的判定条件;
基于两种判定条件确定动态向量,若向量边被标记为动态向量,则增加该动态向量连结的两个地图点的动态权重。
进一步,基于L2范数的判定条件为:
基于余弦相似度的判定条件为:
式中,εdmax,εdmin为向量二范数的比值区间的最大值和最小值,εcos为余弦相似度阈值。
一种面向动态场景的视觉SLAM系统,其包括:第一处理模块,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;第二处理模块,对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;第三处理模块,根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;输出模块,利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述方法中的任一方法。
一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。
本发明由于采取以上技术方案,其具有以下优点:
本发明基于ORB-SLAM2提出了一个动态环境下的实时SLAM系统,该系统利用深度学习网络PP-LiteSeg获取的语义信息结合三角剖分,对场景中的动态特征点进行了滤除,采用绝对静态的特征点进行位姿估计。通过TUM和KITTI数据集实验表明,本发明在相机姿态和定位精度方面提高明显,系统运行稳定性高且具有一定的实时性,对移动机器人的定位系统具有重要意义,能有效提升SLAM系统的精度和效率。
附图说明
图1是本发明实施例中面向动态场景的视觉SLAM方法流程图;
图2是本发明实施例中
图3a是本发明实施例中ORB-SLAM2在fr3_walking halfsphere序列上的ATE对比图;
图3b是本发明实施例中ORB-SLAM2在fr3_walking xyz序列上的ATE对比图;
图3c是本发明实施例中本发明方法在fr3_walking halfsphere序列上的ATE对比图;
图3d是本发明实施例中本发明方法在fr3_walking xyz序列上的ATE对比图;
图4a是本发明实施例中ORB-SLAM2在fr3_walking halfsphere序列上的位姿计算结果与真值之间的RPE;
图4b是本发明实施例中ORB-SLAM2在fr3_walking xyz序列上的位姿计算结果与真值之间的RPE;
图4c是本发明实施例中本发明方法在fr3_walking halfsphere序列上的位姿计算结果与真值之间的RPE;
图4d是本发明实施例中本发明方法在fr3_walking xyz序列上的位姿计算结果与真值之间的RPE。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
为了解决动态场景下视觉SLAM系统定位准确性低、鲁棒性差的问题,本发明提出一种面向动态场景的视觉SLAM方法、系统及存储介质,将轻量级语义分割网络与运动信息相结合。具体的,包括:通过引入PP-LiteSeg神经网络提取动态场景中普遍存在的动态目标并在内部进一步完成特征的提取,同时结合空间几何原理对动态特征进一步判定,经过筛选后构建出绝对静止的初始关键目标,并在此基础上完成系统的初始化和关键目标的跟踪从而求解相机位姿。在公开数据集TUM和KITTI上分别进行了实验,结果表明所提算法相较于原始ORB-SLAM2在动态环境下的定位准确性和实时性均有提升。
在本发明的一个实施例中,如图1所示,提供一种面向动态场景的视觉SLAM方法。本实施例中,在原有ORB-SLAM2的基础上,通过增加语义分割并在跟踪使用三角剖分算法进行动态物体检测,来减少动态特征点对视觉里程计的干扰。具体的,该方法包括以下步骤:
1)根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;
2)对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;
3)根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;
4)利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
上述步骤1)中,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,包括以下步骤:
1.1)采用轻量级的语义分割网络PP-LiteSeg进行划分;
本实施例中,通过PP-LiteSeg网络对潜在运动对象进行初步语义分割;
1.2)在获取的图像中提取的特征点中,标记出动态对象和静态对象,并将所有的通道对齐形成一个通道,得到一个场景图像中动态对象和静态对象的分割掩膜。
在一些可行的实施方式中,由于深度学习被广泛应用于图像的语义分割、实例分割或目标检测,进而出现了一系列的图像处理网络:例如SegNet、Mask R-CNN、YOLO v1-v5等。其中目标检测网络YOLO系列速度相对较快,但候选框会同时框中目标和部分背景,故本实施例中应用场景中需要再进行额外的背景处理;而实例分割网络SegNet可以直接获得较为准确的轮廓信息,但由于实例分割需要进一步区分同一类别的不同个体,耗时也更多。因此,本实施例中采用轻量级的语义分割网络PP-LiteSeg,以保证高精度的同时兼具高处理帧速率。
PP-LiteSeg的输入是一个原始的RGB图像。例如,考虑到室内动态场景中动态对象主要是人和桌椅,故而对训练网络用人和桌椅的标签进行微调训练。将环境中大多数的动态对象包括在语义分割的标签之中,首先经过卷积神经网络将那些有可能被认为是动态或可移动的类别分割出来如行人、桌椅等。假设输入的是一个m×n×3的RGB图像,网络的输出就是一个m×n×L的矩阵,其中L是图像中物体的数量。对于网络最后的每个输出通道I∈L,都会得到一个对象的二进制mask。在图像数据集中,主要挑选人和椅子,在此环境中提取的特征点中,将属于对象人和椅子的特征点标记为动态特征点,其他特征点标记为静态点。最后将所有的通道对齐形成一个通道,得到一个场景图像中得到的人和椅子的分割掩膜。
上述步骤3)中,结合Delaunay三角剖分方法对特征点的运动属性最终判定,剔除全动态特征点,具体为:
将图像中的特征点连结成三角形,并通过比较相邻两帧对应三角形的边,确定动态对象的特征点,将属于动态对象的特征点从三角剖分方法构成的连通图中剔除,以将图像中动态区域剔除。
在一些可行的实施方式中,由于通过PP-LiteSeg网络,大多数动态对象可以被准确分割出来。但是对潜在的动态对象的分割效果并不理想,例如人手中拿着的书或者坐着的椅子在初次分割时被判定为静态对象而保留,然而在实际场景中它们可能随着人的运动随之运动。为了解决这个问题,本实施例利用三角剖分方法进一步检查特征是否是动态特征。无论是否为动态特征都满足几何约束:未知环境中的静态物体和动态物体上边特征点之间的几何关系是不会发生变化的,但是当环境中动态物体发生运动时,动态特征点与静态特征点之间的几何关系就会随之发生变化。
在一些可行的实施方式中,确定动态对象的特征点,包括以下步骤:
3.1)利用向量边连结的两个地图点所对应的当前帧的特征点反投影,生成的3D点连结形成的新向量边进行动态向量检测;
3.2)基于动态向量检测结果,获取向量边的动态程变化度,以检测出动态对象的地图点。
在一些实施例中,由于构成三角网的向量边能表示向量边连结的两个地图点间的几何关系,因此,利用向量边连结的两个地图点所对应的当前帧的特征点反投影生成的3D点连结形成的新向量边进行动态向量检测。如图2所示,为前一帧对当前帧反投影模型,假设第i帧的特征点(m2,n2,k2)与前一帧的特征点(m1,n1,k1)通过地图点m,n,k投影完成特征匹配,并假设m,n属于静态物体,k属于动态物体,第i帧的特征点p2,r2,q2反投影生成的3D点为m'n'k',由于m,n地图点属于静态物体,而k属于动态物体,因此反投影生成的3D点m',n'分别与m,n重合,k'不与k重合,因此利用能够表示地图点间几何关系的向量来进行动态特征点的检测。
上述步骤3.1)中,动态向量检测由动态向量检测函数实现,动态向量检测函数为:
在三角形ΔMNK中,MK、MN和NK分别是该三角形的三条向量边,当前帧的特征点反投影生成三角形ΔM'N'K',属于该三角形的三条向量边分别是M'K',M'N'和N'K',显然,向量MN与对应的当前帧的特征点反投影生成的向量M'N'重合,说明动态物体的运动没有改变向量边MN。但是由于K点的运动,向量边MK和向量边NK都发生了改变。
上述步骤3.2)中,获取向量边的动态变化程度,具体包括:利用L2范数计算向量边的长度变化,利用余弦相似度来计算向量边的角度变化,得到向量边的动态变化程度;
3.2.1)如未发生动态变化,则应满足基于L2范数的判定条件;
其中,L2范数定义为:
L2范数的意义在于通过限制两个向量边的长度和角度变化判断动态向量。
3.2.2)如未发生向量边角度变化,则应满足基于余弦相似度的判定条件;
其中,余弦相似度定义为:
式中,θ为向量边角度;
3.2.3)基于两种判定条件确定动态向量,若向量边被标记为动态向量,则增加该动态向量连结的两个地图点的动态权重。
上述步骤3.2.1)中,基于L2范数的判定条件为:
上述步骤3.2.2)中,基于余弦相似度的判定条件为:
式中,εdmax,εdmin为向量二范数的比值区间的最大值和最小值,本实施例中,优选为[εdmin,εdmax]=[0.999,1.001];εcos为余弦相似度阈值,本实施例中,优选为0.999(对应角度为1°),小于此阈值,表明向量的方向向量发生了大于1°的偏转。
在一些实施例中,基于两种判定条件确定动态向量为:
当向量MN被标记为动态向量,增加该动态向量连结的两个地图点的动态权重:
式中,ωm和ωn分别为向量MN两个端点的动态权重。假设向量MN和向量的相似度超过了设定阈值,将当前帧的特征点反投影生成的向量M′N′视为是动态向量,并将向量MN连结的两个地图点的动态权重增加,同理,M′N′也被视为是动态向量。经过三角形向量边的遍历后,该三角形中M地图点和N地图点的动态权重均为1,K地图点的动态权重为2,因此可以把属于动态物体的K地图点检测出来,从而实现相邻两帧动态特征点的检测。
实施例一,精度实验:本实施例中采用的实验平台为装有64位Ubuntu 18.04系统的华硕笔记本电脑,处理器为Intel酷睿i5 6200U,CPU最高主频2.8GHz内存大小为4GB。采用公开数据集TUM与原系统ORB-SLAM2进行比较,并尽可能保证每次实验笔记本的性能状态一致,实验结果取5次运行结果的平均值。评价工具采用python脚本文件evaluate_ate.py和evaluate_rpe.py,其中的评价指标包括绝对轨迹误差(ATE)以及相对位姿误差(RPE)。
TUM数据集由慕尼黑工业大学的计算机视觉实验室发布,图像由Kinect深度相机采集,分辨率为640×480,并经一系列预处理。其包含3个序列,其中fr1、fr2为静态场景数据集,而fr3为动态场景数据集。fr3_walking序列画面中有两人绕着桌子不停走动,画面中场景的变化幅度很大,因此本文选用fr3_walking序列作为实验数据。该序列由四组相机运动组成分别是:相机固定(r3_walking static)、相机沿xyz轴运动)(fr3_walking xyz、相机沿半球轨迹运动(fr3_walking halfsphere)、相机沿翻滚-俯仰-偏转轴旋转(fr3_walking rpy)。
如图3a和图3b所示,分别为ORB-SLAM2在fr3_walking halfsphere和fr3_walkingxyz序列上的ATE对比图,图3c和图3d为改进之后算法在相应序列的ATE对比图。其中相机轨迹真值(grountruth)如虚线所示,相机轨迹估计值(KeyFrameTrajectory)如实线所示,真值和估计值之间的距离越短,表示系统精度越高。可以看出ORB-SLAM2在两个序列上的位姿估计有很大误差,分析其原因是由于ORB-SLAM2算法在位姿估计阶段使用的特征点中包含有大量的外点,导致其定位轨迹出现明显漂移。
如图4a和图4b所示,分别为ORB-SLAM2在fr3_walking halfsphere和fr3_walkingxyz序列上的位姿计算结果与真值之间的RPE,图4c和图4d分别为本实施例的方法在对应序列上的RPE。横轴表示消耗的时间,单位为秒(s),纵轴表示算法在某一时刻的相对位姿误差单位为(m)。从实验结果可以看出,改进系统的误差区间由原来的[0.1m~1.2m]下降到了现在的[0.02m~0.09m],相对于标准ORB-SLAM2系统有更高的精度。在序列第8秒和第15秒左右时,两系统均出现明显波动,检查对应序列图片,分析原因是因为视野中的物体突然出现了大幅度的变化,导致了系统波动,改进的系统相较于原系统表现出了更高的系统稳定性。
如表1至表3所示,第一列为数据序列的名称,第一行表示算法的名称,不难发现本实施例中的方法相比原始ORB-SLAM2系统在位姿估计精度上提升明显。在高动态场景中,位姿的绝对轨迹误差的均方根值(RMSE)可提升92%~97%,相对位姿误差的平移部分的RMSE提升89%~94%,旋转部分的RMSE提升88%~91%。
表1本发明的方法与ORB-SLAM2算法的绝对轨迹误差对比结果(单位:m)
表2本发明的方法与ORB-SLAM2算法的相对平移轨迹误差对比结果(单位:m)
表3本发明的方法与ORB-SLAM2算法的相对旋转轨迹误差对比结果(单位:°)
实施例二:消融实验:选取室外大规模动态场景数据集KITTI tracking进行实验,将本发明的方法与ORB-SLAM2算法和DynaSLAM算法的ATE进行对比如表4所示。结果表明本发明的方法在KITTI数据集上的定位精度明显优于以上两种算法,证明该算法具备一定的泛化性。
本发明的方法包括语义分割和几何判定,均能单独运行。为了验证对定位精度的影响,对本发明的方法进行了消融实验结果如表5所示。无论是单独使用语义分割模块或者单独使用几何模块的定位误差均值都远大于本发明的方法的1.76,表明本发明的方法结合使用语义分割和几何判定的重要性。
本发明的方法还列出了几种动态场景SLAM算法在KITTI数据集上的运行速度如表6所示。可见本发明的方法运行速度约为DynaSLAM和DS-SLAM的3~4倍,基本达到了实时运行,证明所选PP-liteSeg网络在性能和速度上找到了较好的平衡点。
表4本发明的方法与ORB-SLAM2和DynaSLAM实验对比结果
表5消融实验结果
表6计算速度对比结果
综上,通过高动态数据集序列实验和传统的ORB-SLAM2系统做对比,发现本发明的方法在动态场景下具有更高的位姿估计精度且系统更加稳定。
本发明基于ORB-SLAM2提出了一个动态环境下的实时SLAM方法,利用深度学习网络PP-LiteSeg获取的语义信息结合三角剖分算法,对场景中的动态特征点进行了滤除,使用绝对静态的特征点进行位姿估计。通过TUM和KITTI数据集实验表明,本发明在相机姿态和定位精度方面提高明显,运行稳定性高且具有一定的实时性,对移动机器人的定位系统具有重要意义。
在本发明的一个实施例中,提供一种面向动态场景的视觉SLAM系统,其包括:
第一处理模块,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;
第二处理模块,对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;
第三处理模块,根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;
输出模块,利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
上述实施例中,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,包括:
采用轻量级的语义分割网络PP-LiteSeg进行划分;
在获取的图像中提取的特征点中,标记出动态对象和静态对象,并将所有的通道对齐形成一个通道,得到一个场景图像中动态对象和静态对象的分割掩膜。
上述实施例中,结合Delaunay三角剖分方法对特征点的运动属性最终判定,包括:
将图像中的特征点连结成三角形,并通过比较相邻两帧对应三角形的边,确定动态对象的特征点,将属于动态对象的特征点从三角剖分方法构成的连通图中剔除,以将图像中动态区域剔除。
其中,确定动态对象的特征点,包括:
利用向量边连结的两个地图点所对应的当前帧的特征点反投影,生成的3D点连结形成的新向量边进行动态向量检测;
基于动态向量检测结果,获取向量边的动态程变化度,以检测出动态对象的地图点。
上述实施例中,动态向量检测由动态向量检测函数实现,动态向量检测函数为:
上述实施例中,获取向量边的动态变化程度,包括:利用L2范数计算向量边的长度变化,利用余弦相似度来计算向量边的角度变化,得到向量边的动态变化程度;
如未发生动态变化,则应满足基于L2范数的判定条件;
如未发生向量边角度变化,则应满足基于余弦相似度的判定条件;
基于两种判定条件确定动态向量,若向量边被标记为动态向量,则增加该动态向量连结的两个地图点的动态权重。
上述实施例中,基于L2范数的判定条件为:
基于余弦相似度的判定条件为:
式中,εdmax,εdmin为向量二范数的比值区间的最大值和最小值,εcos为余弦相似度阈值。
本实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
在本发明一实施例中提供的计算设备,该计算设备可以是终端,其可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、显示屏和输入装置。其中,处理器、通信接口、存储器通过通信总线完成相互间的通信。该处理器用于提供计算和控制能力。该存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序,该计算机程序被处理器执行时以实现一种面向动态场景的视觉SLAM方法;该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、管理商网络、NFC(近场通信)或其他技术实现。该显示屏可以是液晶显示屏或者电子墨水显示屏,该输入装置可以是显示屏上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。处理器可以调用存储器中的逻辑指令。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的一个实施例中,提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
在本发明的一个实施例中,提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种面向动态场景的视觉SLAM方法,其特征在于,包括:
根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;
对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;
根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;
利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
2.如权利要求1所述面向动态场景的视觉SLAM方法,其特征在于,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,包括:
采用轻量级的语义分割网络PP-LiteSeg进行划分;
在获取的图像中提取的特征点中,标记出动态对象和静态对象,并将所有的通道对齐形成一个通道,得到一个场景图像中动态对象和静态对象的分割掩膜。
3.如权利要求1所述面向动态场景的视觉SLAM方法,其特征在于,结合Delaunay三角剖分方法对特征点的运动属性最终判定,包括:
将图像中的特征点连结成三角形,并通过比较相邻两帧对应三角形的边,确定动态对象的特征点,将属于动态对象的特征点从三角剖分方法构成的连通图中剔除,以将图像中动态区域剔除。
4.如权利要求3所述面向动态场景的视觉SLAM方法,其特征在于,确定动态对象的特征点,包括:
利用向量边连结的两个地图点所对应的当前帧的特征点反投影,生成的3D点连结形成的新向量边进行动态向量检测;
基于动态向量检测结果,获取向量边的动态程变化度,以检测出动态对象的地图点。
6.如权利要求4所述面向动态场景的视觉SLAM方法,其特征在于,获取向量边的动态变化程度,包括:利用L2范数计算向量边的长度变化,利用余弦相似度来计算向量边的角度变化,得到向量边的动态变化程度;
如未发生动态变化,则应满足基于L2范数的判定条件;
如未发生向量边角度变化,则应满足基于余弦相似度的判定条件;
基于两种判定条件确定动态向量,若向量边被标记为动态向量,则增加该动态向量连结的两个地图点的动态权重。
8.一种面向动态场景的视觉SLAM系统,其特征在于,包括:
第一处理模块,根据语义信息将获取到的每一帧图像中的物体划分为动态对象和静态对象,得到相应的图像掩膜;
第二处理模块,对获取到的图像进行ORB特征提取,根据提取到的特征点对相邻两帧图像关键点进行特征匹配,同时根据图像掩膜进行运动状态检测;
第三处理模块,根据特征点的坐标是否落在分割区域确定特征点的运动属性,结合Delaunay三角剖分方法对特征点的运动属性最终判定,检测出潜在的动态特征点异常值,得到绝对的静态特征点;
输出模块,利用绝对的静态特征点进行位姿估计,获得高精度的定位结果。
9.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1至7所述方法中的任一方法。
10.一种计算设备,其特征在于,包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1至7所述方法中的任一方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310348127.1A CN116385538A (zh) | 2023-04-04 | 2023-04-04 | 一种面向动态场景的视觉slam方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310348127.1A CN116385538A (zh) | 2023-04-04 | 2023-04-04 | 一种面向动态场景的视觉slam方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116385538A true CN116385538A (zh) | 2023-07-04 |
Family
ID=86972701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310348127.1A Pending CN116385538A (zh) | 2023-04-04 | 2023-04-04 | 一种面向动态场景的视觉slam方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116385538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774195A (zh) * | 2023-08-22 | 2023-09-19 | 国网天津市电力公司滨海供电分公司 | 多传感器联合标定的激励判断与参数自调节方法及系统 |
-
2023
- 2023-04-04 CN CN202310348127.1A patent/CN116385538A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774195A (zh) * | 2023-08-22 | 2023-09-19 | 国网天津市电力公司滨海供电分公司 | 多传感器联合标定的激励判断与参数自调节方法及系统 |
CN116774195B (zh) * | 2023-08-22 | 2023-12-08 | 国网天津市电力公司滨海供电分公司 | 多传感器联合标定的激励判断与参数自调节方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Rgb-d slam in dynamic environments using point correlations | |
Li et al. | Structure-slam: Low-drift monocular slam in indoor environments | |
CN109544677B (zh) | 基于深度图像关键帧的室内场景主结构重建方法及系统 | |
Delmerico et al. | Building facade detection, segmentation, and parameter estimation for mobile robot localization and guidance | |
Huang et al. | A fast point cloud ground segmentation approach based on coarse-to-fine Markov random field | |
Wang et al. | Point cloud and visual feature-based tracking method for an augmented reality-aided mechanical assembly system | |
CN106203423B (zh) | 一种融合上下文探测的弱结构感知视觉目标跟踪方法 | |
Tang et al. | ESTHER: Joint camera self-calibration and automatic radial distortion correction from tracking of walking humans | |
Tang et al. | Camera self-calibration from tracking of moving persons | |
US10803604B1 (en) | Layered motion representation and extraction in monocular still camera videos | |
US9922244B2 (en) | Fast and robust identification of extremities of an object within a scene | |
Zhao et al. | A compatible framework for RGB-D SLAM in dynamic scenes | |
CN111915517A (zh) | 一种适用于室内光照不利环境下rgb-d相机全局定位方法 | |
Ni et al. | An improved adaptive ORB-SLAM method for monocular vision robot under dynamic environments | |
CN116385538A (zh) | 一种面向动态场景的视觉slam方法、系统及存储介质 | |
Delmerico et al. | Building facade detection, segmentation, and parameter estimation for mobile robot stereo vision | |
Zhang et al. | A robust visual odometry based on RGB-D camera in dynamic indoor environments | |
Li et al. | High-precision motion detection and tracking based on point cloud registration and radius search | |
Liang et al. | DIG-SLAM: an accurate RGB-D SLAM based on instance segmentation and geometric clustering for dynamic indoor scenes | |
Gong et al. | Real-time visual SLAM based YOLO-Fastest for dynamic scenes | |
Ji et al. | DRV-SLAM: An Adaptive Real-Time Semantic Visual SLAM Based on Instance Segmentation Toward Dynamic Environments | |
Song et al. | Sce-slam: a real-time semantic rgbd slam system in dynamic scenes based on spatial coordinate error | |
CN108694348B (zh) | 一种基于自然特征的跟踪注册方法及装置 | |
CN114972492A (zh) | 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质 | |
Jiaxin et al. | Vision-based autonomous landing of unmanned aerial vehicles |
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 |