CN113269094A - 基于特征提取算法和关键帧的激光slam系统及方法 - Google Patents
基于特征提取算法和关键帧的激光slam系统及方法 Download PDFInfo
- Publication number
- CN113269094A CN113269094A CN202110580471.4A CN202110580471A CN113269094A CN 113269094 A CN113269094 A CN 113269094A CN 202110580471 A CN202110580471 A CN 202110580471A CN 113269094 A CN113269094 A CN 113269094A
- Authority
- CN
- China
- Prior art keywords
- current frame
- frame
- feature points
- key frame
- plane
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 32
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 1
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- 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
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/48—Matching video sequences
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及一种基于特征提取算法和关键帧的激光SLAM系统及方法,所述激光SLAM系统包括特征提取模块,跟踪模块和建图模块;所述特征提取模块用于提取当前帧的平面特征点及边缘特征点;所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。使用一个关键帧到局部地图的匹配来获得更精确的位姿和全局地图,除此之外,一个回环检测线程来抑制大场景的累计误差。
Description
技术领域
本发明涉及机器人领域的SLAM(Simultaneous Localization And Mapping,同步定位与地图构建)技术领域,特别涉及一种基于特征提取算法和关键帧的激光SLAM系统及方法。
背景技术
可靠和精确的同步定位与地图构建(SLAM)技术对移动机器人和无人驾驶工具完成环境感知,路径规划和其他任务来说非常重要。在学术界和工业界,SLAM都受到了广泛的关注。过去几十年间,基于视觉的SLAM方法和基于激光的SLAM方法在机器人上都取得了很好的效果。基于视觉的方法具有大的视角和丰富的纹理特征,但是深度信息的缺乏和对光照的敏感性使视角SLAM很难在室外场景落地。相比视觉,激光具有直接可靠的深度测量且不受光照的影响,这使得激光SLAM可以很好的运行在很多具有挑战性的环境中。
近年来,很多基于激光的SLAM算法被提出。例如基于2D激光的Gmapping和HectorSLAM,和基于3D激光的LOAM,LeGo-LOAM和IMLS-SLAM。这些基于纯激光的SLAM系统虽然都实现了不错的效果,但是这些系统要不然实时性差,要不然会在复杂场景中漂移或者失效。因此,如何实现鲁棒,精确,实时性好的激光SLAM系统仍然是一个值得研究的问题。
根据点云匹配方式的不同,基于激光的SLAM系统可以分为基于ICP的系统和基于特征匹配的系统。
基于迭代最近点算法(ICP)的激光SLAM系统是使用类似于ICP的方法比如NDT来实现帧到帧或者帧到地图的匹配。比较有代表性的系统是Hector SLAM,谷歌Cartographer和IMLS-SLAM。这些方法的漂移很低,但是基于ICP的激光SLAM是逐点级别的匹配,这不可避免的会导致计算效率的下降和应用平台的限制。
相反地,基于特征的激光SLAM算法使用一帧点云中提取的特征点而不是所有的点来实现点云的匹配和位姿的估计,这使得系统的实时性有了提高。比较有代表性的系统是LOAM和LeGo-LOAM,他们在很多场景中也实现了良好的效果,但是他们的特征提取没有视角不变性和距离不变性,不够鲁棒;而且计算效率,准确性和鲁棒性也并没有很好的平衡。
发明内容
为了解决现有技术中的上述问题,即为了提供精确的位姿和全局地图,本发明的目的在于提供一种基于特征提取算法和关键帧的激光SLAM系统及方法。
为解决上述技术问题,本发明提供了如下方案:
一种基于特征提取算法和关键帧的激光SLAM系统,所述激光SLAM系统包括特征提取模块,跟踪模块和建图模块;
其中,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点;
所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
优选地,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,具体包括:
步骤A1:对当前帧的初始点云P0进行初次过滤,得到参考点云P;
步骤A2:选取所述参考点云P中的每一点pn,在同一条激光线上的m个左邻居[pn-m,…,pn-1]和m个右邻居[pn+1,…,pn+m],得到由2m+1个点构成的点集;
步骤A5:将所述协方差矩阵M行特征值分解,并将分解结果按照升序排列得到第一特征值λ0、第二特征值λ1及第三特征值λ2;
步骤A6:根据第二特征值λ1及第三特征值λ2,确定点pn的曲率ratio:
步骤A7:根据曲率ratio,提取当前帧中的平面特征点和边缘特征点:
当所述曲率ratio大于第一曲率阈值时,点pn为平面特征点;当所述曲率ratio小于第二曲率阈值时,点pn为边缘特征点。
优选地,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,还包括:
对于每一条激光线上的各边缘特征点,确定其中的局部极小值对应的边缘特征点为主边缘点,二次滤除所述主边缘点设定范围内的边缘特征点,得到最终边缘特征点。
优选地,所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧,具体包括:
步骤B1,构建的稀疏局部地图:
当前帧Fi提取出来的平面特征点和边缘特征点组成特征集合,则用在当前帧Fi的设定范围的关键帧集合KSi中的各平面特征点和边缘特征点建立一个稀疏的局部地图SMj:假设关键帧Fj为关键帧集合KSi中最靠近当前帧Fi的关键帧,对于KSi中的每一个关键帧,将该关键帧的平面特征点和边缘特征点转换到Fj所对应的坐标系下,得到当前帧Fi所对应的稀疏的局部地图其中表示构建的稀疏局部地图中的边缘特征点,表示构建的稀疏局部地图中的平面特征点;
步骤B2:确定当前帧的位姿,具体包括:
步骤B21,初始位姿估计:如果上一帧的跟踪是成功的,则使用匀速运动模型来获得当前帧位姿的初始估计值并且根据该初始估计值将当前帧的初始点云P0投影到上一帧对应的坐标系中,当在上一帧对应的坐标系找到设定数量的对应点时,则初始估计值将会被用到对当前帧的跟踪计算中;如果没有,则认为匀速运动模型在当前帧中失效,使用LOAM中平面到平面的匹配的获得初始值;
步骤B3,根据以下条件确定当前帧是否为关键帧:
1)在当前帧中,提取到的特征点数量超过特征点数量阈值,所述特征点包括平面特征点和边缘特征点;
2)在帧到稀疏局部地图的追踪中,没有被追踪到的特征点占提取到的特征点的比例超过比例阈值或者追踪计算得到位姿变换中的旋转超过了角度阈值。
优选地,所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图,具体包括:
步骤C1,关键帧到局部地图的匹配,具体包括:
步骤C11:将全局地图分为若干个大小一致的体素,针对关键帧Ki中的每一个特征点,首先使用该特征点所位于的体素以及其八个相邻的体素中的特征点构建局部地图Mi;
步骤C12:对于边缘特征点,通过最近邻搜索方法在局部地图Mi的边缘特征点集合找到对应点,确定代价函数对于平面特征使用最近邻搜索找到该平面特征的n邻近点构成邻近点集合p,通过最小二乘法拟合平面方程Aip+Bi=0,确定平面的法向量Ai、坐标原点到平面的距离Bi;
步骤C13:根据以下公式,确定损失函数:
其中,为Ki到世界坐标系的变换矩阵,为平面特征点到该平面特征点对应匹配平面的距离;为关键帧Ki的边缘特征点集合,为关键帧Ki的平面特征点集合,h()为损失函数;通过迭代优化得到的最终解,将关键帧Ki被插入位姿图中,关键帧Ki中的特征点被添加到全局地图中,完成关键帧到局部地图的匹配;
步骤C2,根据关键帧的位置进行回环检测,判断历史帧中是否有可以跟新插入的关键帧形成回环的帧,具体包括:
步骤C21:根据以下条件,从历史帧中选择出候选帧:
1)距离关键帧Ki的世界坐标系上的位置差别小于第一设定距离;
2)对应的里程距离跟Ki对应的里程距离大于第二设定距离;
3)距离上一个形成回环帧的位置的时间不能相差小于第一设定时间;
4)跟Ki所对应的时间相差大于第二设定时间;
步骤C22:根据候选帧集合,计算位姿变换:
假设所有候选帧形成的集合为C,通过关键帧Ki与所述关键帧Ki周围的关键帧建立一个稀疏的局部地图M0,然后使用候选帧集合建立稀疏局部地图集合[M1…Mn];采用NDT(Normal Distributions Transform,正态分布变换)算法,用M0匹配稀疏局部地图集合并且分别对匹配结果打分,其中分数高于分数阈值的稀疏局部地图对应的候选帧为回环帧Kj,并根据回环帧Kj计算里程计因子和回环检测因子,将所述里程计因子和回环检测因子作为一条边插入位姿图;其中,关键帧Ki和Ki+1的位姿变换矩阵作为里程计因子连接相邻的两个顶点;关键帧Ki和Kj的转换矩阵会作为回环检测因子连接Ki和Kj。
优选地,步骤C1还包括:
步骤C14:通过下采样来控制全局地图中点云的密度。
为解决上述技术问题,本发明还提供了如下方案:
一种基于特征提取算法和关键帧的激光SLAM方法,所述激光SLAM方法包括:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
为解决上述技术问题,本发明还提供了如下方案:
一种基于特征提取算法和关键帧的激光SLAM系统,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
为解决上述技术问题,本发明还提供了如下方案:
一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
根据本发明的实施例,本发明公开了以下技术效果:
本发明通过特征提取模块,跟踪模块以及建图模块,对于输入的每一帧激光点云,首先提取平面特征和边缘特征,然后使用帧到稀疏局部地图的匹配来跟踪当前的激光帧并且决定当前帧是否被设置为关键帧。在建图模块中,使用一个关键帧到局部地图的匹配来获得更精确的位姿和全局地图,除此之外,一个回环检测线程来抑制大场景的累计误差。
附图说明
图1是本发明基于特征提取算法和关键帧的激光SLAM系统的模块结构示意图;
图2是在办公室采集到的点云中提取到的边缘特征点和平面特征点;
图3是本发明基于特征提取算法和关键帧的激光SLAM方法的流程图。
符号说明:
特征提取模块—1,跟踪模块—2,建图模块—3。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
本发明的目的是提供一种基于特征提取算法和关键帧的激光SLAM系统,通过特征提取模块,跟踪模块以及建图模块,对于输入的每一帧激光点云,首先提取平面特征和边缘特征,然后使用帧到稀疏局部地图的匹配来跟踪当前的激光帧并且决定当前帧是否被设置为关键帧。在建图模块中,使用一个关键帧到局部地图的匹配来获得更精确的位姿和全局地图,除此之外,一个回环检测线程来抑制大场景的累计误差。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明基于特征提取算法和关键帧的激光SLAM系统包括特征提取模块1、跟踪模块2和建图模块3;
其中,所述特征提取模块1用于提取当前帧的平面特征点及边缘特征点;
所述跟踪模块2用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
所述建图模块3用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
其中,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,具体包括:
步骤A1:对当前帧的初始点云P0进行初次过滤,得到参考点云P;
步骤A2:选取所述参考点云P中的每一点pn,在同一条激光线上的m个左邻居[pn-m,…,pn-1]和m个右邻居[pn+1,…,pn+m],得到由2m+1个点构成的点集;
步骤A5:将所述协方差矩阵M行特征值分解,并将分解结果按照升序排列得到第一特征值λ0、第二特征值λ1及第三特征值λ2;
步骤A6:根据第二特征值λ1及第三特征值λ2,确定点pn的曲率ratio:
步骤A7:根据曲率ratio,提取当前帧中的平面特征点和边缘特征点:
当所述曲率ratio大于第一曲率阈值时,点pn为平面特征点;当所述曲率ratio小于第二曲率阈值时,点pn为边缘特征点。
进一步地,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,还包括:
对于每一条激光线上的各边缘特征点,确定其中的局部极小值对应的边缘特征点为主边缘点,二次滤除所述主边缘点设定范围内的边缘特征点,得到最终边缘特征点。
本发明先根据坐标把激光帧中的点云分为不同的扫描线,对于同一条线上的点利用主成分分析方法找出点云当中的边缘特征点和平面特征点。
在主边缘特征点设定范围内的边缘特征点,是不稳定的边缘特征点,需将其滤除,减少后续处理的干扰因素。
优选地,所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧,具体包括:
步骤B1,构建的稀疏局部地图:
当前帧Fi提取出来的平面特征点和边缘特征点组成特征集合,则用在当前帧Fi的设定范围的关键帧集合KSi中的各平面特征点和边缘特征点建立一个稀疏的局部地图SMj:假设关键帧Fj为关键帧集合KSi中最靠近当前帧Fi的关键帧,对于KSi中的每一个关键帧,将该关键帧的平面特征点和边缘特征点转换到Fj所对应的坐标系下,得到当前帧Fi所对应的稀疏的局部地图其中表示构建的稀疏局部地图中的边缘特征点,表示构建的稀疏局部地图中的平面特征点;
步骤B2:确定当前帧的位姿,具体包括:
步骤B21,初始位姿估计:如果上一帧的跟踪是成功的,则使用匀速运动模型来获得当前帧位姿的初始估计值并且根据该初始估计值将当前帧的初始点云P0投影到上一帧对应的坐标系中,当在上一帧对应的坐标系找到设定数量的对应点时,则初始估计值将会被用到对当前帧的跟踪计算中;如果没有,则认为匀速运动模型在当前帧中失效,使用LOAM中平面到平面的匹配的获得初始值;
步骤B3,根据以下条件确定当前帧是否为关键帧:
1)在当前帧中,提取到的特征点数量超过特征点数量阈值,所述特征点包括平面特征点和边缘特征点。在本实施例中,特征点阈值为160。
2)在帧到稀疏局部地图的追踪中,没有被追踪到的特征点占提取到的特征点的比例超过比例阈值或者追踪计算得到位姿变换中的旋转超过了角度阈值。在本实施例中,比例阈值为25%;角度阈值为5°。
在本发明中任一关键帧的确定方法相同,均按照上述条件确定。
在本发明中,激光帧的跟踪阶段过程如下:对于每一个激光帧,首先是初始位姿估计,即根据匀速运动模型或者平面点到平面点的匹配得到一个运动估计的初始值;接着是当前帧到稀疏的局部地图的匹配,这个稀疏的局部地图是根据靠近当前帧的最近的几个关键帧建立的。本发明利用所有边缘点到直线和所有平面点到平面的距离之和最小化来构建优化问题并使用迭代求解的策略得到最终的结果,最后还需要判断是否需要设定新的关键帧。
优选地,所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图,具体包括:
步骤C1,关键帧到局部地图的匹配,具体包括:
步骤C11:将全局地图分为若干个大小一致的体素,针对关键帧Ki中的每一个特征点,首先使用该特征点所位于的体素以及其八个相邻的体素中的特征点构建局部地图Mi。在本实施例中,各体素大小均为80m*80m*50m。
步骤C12:对于边缘特征点,通过最近邻搜索方法在局部地图Mi的边缘特征点集合找到对应点(与步骤B22类似,在此不再赘述),确定代价函数对于平面特征使用最近邻搜索找到该平面特征的n邻近点构成邻近点集合p,通过最小二乘法拟合平面方程Aip+Bi=0,确定平面的法向量Ai、坐标原点到平面的距离Bi。
步骤C13:根据以下公式,确定损失函数:
其中,为Ki到世界坐标系的变换矩阵,为平面特征点到该平面特征点对应匹配平面的距离;为关键帧Ki的边缘特征点集合,为关键帧Ki的平面特征点集合,h()为损失函数;通过迭代优化得到的最终解,将关键帧Ki被插入位姿图中,关键帧Ki中的特征点被添加到全局地图中,完成关键帧到局部地图的匹配。
优选地,步骤C1还包括:步骤C14:通过下采样来控制全局地图中点云的密度。
步骤C2,根据关键帧的位置进行回环检测,判断历史帧中是否有可以跟新插入的关键帧形成回环的帧,具体包括:
步骤C21:根据以下条件,从历史帧中选择出候选帧:
1)距离关键帧Ki的世界坐标系上的位置差别小于第一设定距离;
2)对应的里程距离跟Ki对应的里程距离大于第二设定距离;
3)距离上一个形成回环帧的位置的时间不能相差小于第一设定时间;
4)跟Ki所对应的时间相差大于第二设定时间。
其中,第一设定距离、第二设定距离、第一设定时间及第二设定时间可根据实际需要进行设定。
步骤C22:根据候选帧集合,计算位姿变换:
假设所有候选帧形成的集合为C,通过关键帧Ki与所述关键帧Ki周围的关键帧建立一个稀疏的局部地图M0,然后使用候选帧集合建立稀疏局部地图集合[M1…Mn];采用NDT算法,用M0匹配稀疏局部地图集合并且分别对匹配结果打分,其中分数高于分数阈值的稀疏局部地图对应的候选帧为回环帧Kj,并根据回环帧Kj计算里程计因子和回环检测因子,将所述里程计因子和回环检测因子作为一条边插入位姿图;其中,关键帧Ki和Ki+1的位姿变换矩阵作为里程计因子连接相邻的两个顶点;关键帧Ki和Kj的转换矩阵会作为回环检测因子连接Ki和Kj。
一旦回环被检测到,那么位姿图将会被更新和优化,此时所有关键帧的位姿将会被更新。最后通过这些更新后的位姿以及每个关键帧内存储的点云信息,一个新的地图将会被生成。
其中,建图模块的计算过程如下:为了系统的实时性,本发明仅采用关键帧进行建图,对于每一个关键帧,通过最近邻搜索在局部地图中找到其中的每一个特征点所对应的线和面,接着根据距离最小化构造优化函数求解得到最终的结果。对于回环检测,先根据位置时间关系找到一些候选帧,并且根据稀疏局部地图的匹配来确定有没有形成回环。如果形成了回环,就在建立的位姿图中添加新的边,优化位置图得到新的关键帧的位姿以及地图点。
其中,在本发明中,任一激光帧的边缘特征点和平面特征点,均通过特征提取模块1进行特征提取。
图2展示了本发明在公开的KITTI数据集合的部分展示结果,KITTI-00(a),KITTI-05(b),KITTI-07(c),KITTI-03(d)。其中实线表示本发明基于特征提取算法和关键帧的激光SLAM系统运行的轨迹结果,虚线表示真值。表1展示了本发明基于特征提取算法和关键帧的激光SLAM系统在KITTI数据集上的定量结果。
表1
表2所示的是本发明基于特征提取算法和关键帧的激光SLAM系统中各个模块在数据集上每一帧运行的平均时间,可以看出,各个模块的速度都超过了10FPS。
表2
模块 | 特征提取 | 跟踪 | 建图 |
运行时间(ms) | 51.6 | 45.1 | 97.7 |
此外,本发明还提供一种基于特征提取算法和关键帧的激光SLAM方法,可提供精确的位姿和全局地图。
如图3所示,本发明基于特征提取算法和关键帧的激光SLAM方法包括:
步骤100:提取当前帧的平面特征点及边缘特征点;
步骤200:根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
步骤300:在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
进一步地,本发明还提供了如下方案:
一种基于特征提取算法和关键帧的激光SLAM系统,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
优选地,本发明还提供了如下方案:
一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
相对于现有技术,本发明基于特征提取算法和关键帧的激光SLAM方法、计算机可读存储介质与上述基于特征提取算法和关键帧的激光SLAM系统的有益效果相同,在此不再赘述。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于特征提取算法和关键帧的激光SLAM系统,其特征在于,所述激光SLAM系统包括特征提取模块,跟踪模块和建图模块;
其中,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点;
所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
2.根据权利要求1所述的基于特征提取算法和关键帧的激光SLAM系统,其特征在于,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,具体包括:
步骤A1:对当前帧的初始点云P0进行初次过滤,得到参考点云P;
步骤A2:选取所述参考点云P中的每一点pn,在同一条激光线上的m个左邻居[pn-m,...,pn-1]和m个右邻居[pn+1,...,pn+m],得到由2m+1个点构成的点集;
步骤A5:将所述协方差矩阵M行特征值分解,并将分解结果按照升序排列得到第一特征值λ0、第二特征值λ1及第三特征值λ2;
步骤A6:根据第二特征值λ1及第三特征值λ2,确定点pn的曲率ratio:
步骤A7:根据曲率ratio,提取当前帧中的平面特征点和边缘特征点:
当所述曲率ratio大于第一曲率阈值时,点pn为平面特征点;当所述曲率ratio小于第二曲率阈值时,点pn为边缘特征点。
3.根据权利要求2所述的基于特征提取算法和关键帧的激光SLAM系统,其特征在于,所述特征提取模块用于提取当前帧的平面特征点及边缘特征点,还包括:
对于每一条激光线上的各边缘特征点,确定其中的局部极小值对应的边缘特征点为主边缘点,二次滤除所述主边缘点设定范围内的边缘特征点,得到最终边缘特征点。
4.根据权利要求1所述的基于特征提取算法和关键帧的激光SLAM系统,其特征在于,所述跟踪模块用于根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧,具体包括:
步骤B1,构建的稀疏局部地图:
当前帧Fi提取出来的平面特征点和边缘特征点组成特征集合,则用在当前帧Fi的设定范围的关键帧集合KSi中的各平面特征点和边缘特征点建立一个稀疏的局部地图SMj:假设关键帧Fj为关键帧集合KSi中最靠近当前帧Fi的关键帧,对于KSi中的每一个关键帧,将该关键帧的平面特征点和边缘特征点转换到Fj所对应的坐标系下,得到当前帧Fi所对应的稀疏的局部地图其中表示构建的稀疏局部地图中的边缘特征点,表示构建的稀疏局部地图中的平面特征点;
步骤B2:确定当前帧的位姿,具体包括:
步骤B21,初始位姿估计:如果上一帧的跟踪是成功的,则使用匀速运动模型来获得当前帧位姿的初始估计值并且根据该初始估计值将当前帧的初始点云P0投影到上一帧对应的坐标系中,当在上一帧对应的坐标系找到设定数量的对应点时,则初始估计值将会被用到对当前帧的跟踪计算中;如果没有,则认为匀速运动模型在当前帧中失效,使用LOAM中平面到平面的匹配的获得初始值;
步骤B3,根据以下条件确定当前帧是否为关键帧:
1)在当前帧中,提取到的特征点数量超过特征点数量阈值,所述特征点包括平面特征点和边缘特征点;
2)在帧到稀疏局部地图的追踪中,没有被追踪到的特征点占提取到的特征点的比例超过比例阈值或者追踪计算得到位姿变换中的旋转超过了角度阈值。
5.根据权利要求1所述的基于特征提取算法和关键帧的激光SLAM系统,其特征在于,所述建图模块用于在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图,具体包括:
步骤C1,关键帧到局部地图的匹配,具体包括:
步骤C11:将全局地图分为若干个大小一致的体素,针对关键帧Ki中的每一个特征点,首先使用该特征点所位于的体素以及其八个相邻的体素中的特征点构建局部地图Mi;
步骤C12:对于边缘特征点,通过最近邻搜索方法在局部地图Mi的边缘特征点集合找到对应点,确定代价函数对于平面特征使用最近邻搜索找到该平面特征的n邻近点构成邻近点集合p,通过最小二乘法拟合平面方程Aip+Bi=0,确定平面的法向量Ai、坐标原点到平面的距离Bi;
步骤C13:根据以下公式,确定损失函数:
其中,为Ki到世界坐标系的变换矩阵,为平面特征点到该平面特征点对应匹配平面的距离;为关键帧Ki的边缘特征点集合,为关键帧Ki的平面特征点集合,h( )为损失函数;通过迭代优化得到的最终解,将关键帧Ki被插入位姿图中,关键帧Ki中的特征点被添加到全局地图中,完成关键帧到局部地图的匹配;
步骤C2,根据关键帧的位置进行回环检测,判断历史帧中是否有可以跟新插入的关键帧形成回环的帧,具体包括:
步骤C21:根据以下条件,从历史帧中选择出候选帧:
1)距离关键帧Ki的世界坐标系上的位置差别小于第一设定距离;
2)对应的里程距离跟Ki对应的里程距离大于第二设定距离;
3)距离上一个形成回环帧的位置的时间不能相差小于第一设定时间;
4)跟Ki所对应的时间相差大于第二设定时间;
步骤C22:根据候选帧集合,计算位姿变换:
7.根据权利要求5所述的基于特征提取算法和关键帧的激光SLAM系统,其特征在于,步骤C1还包括:
步骤C14:通过下采样来控制全局地图中点云的密度。
8.一种基于特征提取算法和关键帧的激光SLAM方法,其特征在于,所述激光SLAM方法包括:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
9.一种基于特征提取算法和关键帧的激光SLAM系统,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
提取当前帧的平面特征点及边缘特征点;
根据当前帧的平面特征点及边缘特征点,对当前帧进行实时跟踪,确定当前帧的位姿,并确定当前帧是否为关键帧;
在所述当前帧为关键帧时,并行关键帧到局部地图的匹配以及根据关键帧的位置进行回环检测,优化位姿并得到全局一致的地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580471.4A CN113269094B (zh) | 2021-05-26 | 2021-05-26 | 基于特征提取算法和关键帧的激光slam系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580471.4A CN113269094B (zh) | 2021-05-26 | 2021-05-26 | 基于特征提取算法和关键帧的激光slam系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113269094A true CN113269094A (zh) | 2021-08-17 |
CN113269094B CN113269094B (zh) | 2023-01-13 |
Family
ID=77233147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110580471.4A Active CN113269094B (zh) | 2021-05-26 | 2021-05-26 | 基于特征提取算法和关键帧的激光slam系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113269094B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872693A (zh) * | 2021-09-29 | 2021-12-31 | 佛山市南海区广工大数控装备协同创新研究院 | 基于关键帧选取的可见光定位与深度相机的紧耦合方法 |
CN113947636A (zh) * | 2021-10-19 | 2022-01-18 | 中南大学 | 一种基于深度学习的激光slam定位系统及方法 |
CN114322994A (zh) * | 2022-03-10 | 2022-04-12 | 之江实验室 | 一种基于离线全局优化的多点云地图融合方法和装置 |
CN114413882A (zh) * | 2022-03-29 | 2022-04-29 | 之江实验室 | 一种基于多假设跟踪的全局初定位方法和装置 |
CN115830110A (zh) * | 2022-10-26 | 2023-03-21 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN116105721A (zh) * | 2023-04-11 | 2023-05-12 | 深圳市其域创新科技有限公司 | 地图构建的回环优化方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110261870A (zh) * | 2019-04-15 | 2019-09-20 | 浙江工业大学 | 一种用于视觉-惯性-激光融合的同步定位与建图方法 |
CN112634451A (zh) * | 2021-01-11 | 2021-04-09 | 福州大学 | 一种融合多传感器的室外大场景三维建图方法 |
CN112665575A (zh) * | 2020-11-27 | 2021-04-16 | 重庆大学 | 一种基于移动机器人的slam回环检测方法 |
-
2021
- 2021-05-26 CN CN202110580471.4A patent/CN113269094B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110261870A (zh) * | 2019-04-15 | 2019-09-20 | 浙江工业大学 | 一种用于视觉-惯性-激光融合的同步定位与建图方法 |
CN112665575A (zh) * | 2020-11-27 | 2021-04-16 | 重庆大学 | 一种基于移动机器人的slam回环检测方法 |
CN112634451A (zh) * | 2021-01-11 | 2021-04-09 | 福州大学 | 一种融合多传感器的室外大场景三维建图方法 |
Non-Patent Citations (2)
Title |
---|
QINXUAN SUN ET AL.: "Plane-Edge-SLAM: Seamless Fusion of Planes and Edges for SLAM in Indoor Environments", 《IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING》 * |
RAUL MUR-ARTAL ET AL.: "Fast Relocalisation and Loop Closing in Keyframe-Based SLAM", 《2014 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS & AUTOMATION》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872693A (zh) * | 2021-09-29 | 2021-12-31 | 佛山市南海区广工大数控装备协同创新研究院 | 基于关键帧选取的可见光定位与深度相机的紧耦合方法 |
CN113872693B (zh) * | 2021-09-29 | 2022-08-23 | 佛山市南海区广工大数控装备协同创新研究院 | 基于关键帧选取的可见光定位与深度相机的紧耦合方法 |
CN113947636A (zh) * | 2021-10-19 | 2022-01-18 | 中南大学 | 一种基于深度学习的激光slam定位系统及方法 |
CN113947636B (zh) * | 2021-10-19 | 2024-04-26 | 中南大学 | 一种基于深度学习的激光slam定位系统及方法 |
CN114322994A (zh) * | 2022-03-10 | 2022-04-12 | 之江实验室 | 一种基于离线全局优化的多点云地图融合方法和装置 |
CN114322994B (zh) * | 2022-03-10 | 2022-07-01 | 之江实验室 | 一种基于离线全局优化的多点云地图融合方法和装置 |
CN114413882A (zh) * | 2022-03-29 | 2022-04-29 | 之江实验室 | 一种基于多假设跟踪的全局初定位方法和装置 |
CN115830110A (zh) * | 2022-10-26 | 2023-03-21 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN115830110B (zh) * | 2022-10-26 | 2024-01-02 | 北京城市网邻信息技术有限公司 | 即时定位与地图构建方法、装置、终端设备及存储介质 |
CN116105721A (zh) * | 2023-04-11 | 2023-05-12 | 深圳市其域创新科技有限公司 | 地图构建的回环优化方法、装置、设备及存储介质 |
CN116105721B (zh) * | 2023-04-11 | 2023-06-09 | 深圳市其域创新科技有限公司 | 地图构建的回环优化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113269094B (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113269094B (zh) | 基于特征提取算法和关键帧的激光slam系统及方法 | |
CN108564616B (zh) | 快速鲁棒的rgb-d室内三维场景重建方法 | |
Huang | Review on LiDAR-based SLAM techniques | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
CN109960402B (zh) | 一种基于点云和视觉特征融合的虚实注册方法 | |
CN109579825B (zh) | 基于双目视觉和卷积神经网络的机器人定位系统及方法 | |
CN107862735B (zh) | 一种基于结构信息的rgbd三维场景重建方法 | |
CN108776989B (zh) | 基于稀疏slam框架的低纹理平面场景重建方法 | |
CN114862949A (zh) | 一种基于点线面特征的结构化场景视觉slam方法 | |
CN104040590A (zh) | 用于估计物体的姿态的方法 | |
CN107818598B (zh) | 一种基于视觉矫正的三维点云地图融合方法 | |
CN114782499A (zh) | 一种基于光流和视图几何约束的图像静态区域提取方法及装置 | |
CN114526739A (zh) | 移动机器人室内重定位方法、计算机装置及产品 | |
CN114088081B (zh) | 一种基于多段联合优化的用于精确定位的地图构建方法 | |
US20220406059A1 (en) | Closed-loop detecting method using inverted index-based key frame selection strategy, storage medium and device | |
Zhu et al. | A review of 6d object pose estimation | |
Majdik et al. | New approach in solving the kidnapped robot problem | |
Ma et al. | Visual homing via guided locality preserving matching | |
Kraft et al. | Efficient RGB-D data processing for feature-based self-localization of mobile robots | |
Yin et al. | Removing dynamic 3D objects from point clouds of a moving RGB-D camera | |
CN117053779A (zh) | 一种基于冗余关键帧去除的紧耦合激光slam方法及装置 | |
CN112348853B (zh) | 基于红外显著性特征融合的粒子滤波跟踪的方法 | |
CN115855018A (zh) | 一种基于点线综合特征的改进同步定位与建图方法 | |
CN111915632B (zh) | 一种基于机器学习的贫纹理目标物体真值数据库构建方法 | |
Wang et al. | Guiding local feature matching with surface curvature |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |