CN114937083A - 一种应用于动态环境的激光slam系统及方法 - Google Patents
一种应用于动态环境的激光slam系统及方法 Download PDFInfo
- Publication number
- CN114937083A CN114937083A CN202210586859.XA CN202210586859A CN114937083A CN 114937083 A CN114937083 A CN 114937083A CN 202210586859 A CN202210586859 A CN 202210586859A CN 114937083 A CN114937083 A CN 114937083A
- Authority
- CN
- China
- Prior art keywords
- layer
- dynamic
- environment
- pose
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000010586 diagram Methods 0.000 claims abstract description 73
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 230000011218 segmentation Effects 0.000 claims abstract description 21
- 230000003068 static effect Effects 0.000 claims abstract description 21
- 238000010276 construction Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 52
- 238000012549 training Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 24
- 238000013519 translation Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 8
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 6
- 230000001788 irregular Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 abstract description 5
- 239000002699 waste material Substances 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 92
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000013507 mapping Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 7
- 230000008030 elimination Effects 0.000 description 6
- 238000003379 elimination reaction Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000010339 dilation Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000009616 inductively coupled plasma Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000002356 single layer Substances 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/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3837—Data obtained from a single source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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
- G06V10/267—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 by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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
-
- 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/20084—Artificial neural networks [ANN]
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明属于移动机器人自主定位领域,提供了一种应用于动态环境的激光SLAM系统及方法,采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;对当前环境的三维点云数据进行球面投影,生成规则的顶点图;基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;本发明解决现有技术中的不足,即环境中动态物体的存在会破坏SLAM的静态环境假设、激光里程计环节对深度学习的表的能力应用不充分,只简单地利用深度学习方法增加语义约束、闭环检测环节没有关注到场景中不同物体间的拓扑关系、在运动物体剔除方法中应用全类别语义分割造成信息浪费,增加无用人工标记成本和动态物体分割不完整等问题。
Description
技术领域
本发明属于移动机器人自主定位技术领域,具体涉及一种应用于动态环境的激光SLAM系统及方法。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
移动机器人的自我运动估计,是机器人自主导航的重要前提,随着科技的进步和机器人技术的发展,移动机器人的实时定位正受到越来越多的关注和研究。机器人在未知环境中要实现自主导航首先要解决三个问题:“我在哪?”、“我要去哪?”和“我要怎样去那?”。在这三个问题中“我在哪?”是基础,它是后续任务能够顺利完成的前提。“我在哪?”解决的是机器人在未知环境中的定位问题,同时定位与建图(Simultaneous Localizationand Mapping,SLAM)技术是近些年来用于解决自主定位问题的主流方式。激光SLAM以激光雷达点云为输入,分辨率高、抗干扰能力强、不受光照条件影响,可以全天候完成定位与建图任务,同时随着光学技术的累计和创新激光雷达的尺寸、重量和价格不断降低,激光雷达另一个重要的优势是可以直接获得环境中物体的深度值,克服了单目相机的尺度不确定性问题,因此利用激光雷达完成机器人的运动估计在无人驾驶汽车和室内外机器人定位领域被广泛研究。激光里程计作为激光SLAM的前端,对整个SLAM系统的定位精度有着重要的影响,因此是近年来SLAM领域最为活跃的研究方向之一。
在现有的利用激光雷达进行机器人位置估计的方法中,最常见的是基于模型的迭代匹配方法。迭代最近点(ICP)及其各种变体,通过最小化连续激光雷达扫描中最近点的距离来求解他们间的最佳相对平移和旋转例如经典的激光里程计LiDAR Odometry AndMapping(LOAM)是执行点特征到边缘和点特征到平面的扫描匹配,通过高低频两个模块并行实现了里程计的低漂移和低计算复杂度。LEGO-LOAM提出了一种轻量级和地面优化的SLAM算法,在降低计算成本的情况下实现了相似的精度。LiTAMIN通过Frobenius范数和正则化协方差矩阵对成本函数进行归一化提高了ICP的计算效率。
近年来随着深度学习的发展,基于学习的激光SLAM方法逐渐开始流行。SLOAM使用语义分割检测树干和地面,然后分别建模,提出了一种基于语义特征的位姿优化方法,在森林环境中取得了优于传统方法的结果。DMLO在里程计框架中实施几何约束,将位姿估计分解成两部分:基于学习的匹配网络部分和基于奇异值分解的刚性变换估计部分,实验结果表明,该方法与传统的激光雷达里程计方法性能相当。Delora是通过自监督方式训练激光雷达里程计网络,其利用点云的2D图像表示作为网络输入,并使用类似SUMA的几何损失约束网络训练,自监督训练方式不需要真实位姿标签,适用于难以获得真实轨迹位姿情况。
以上都是基于静态环境假设提出的SLAM方法,但是在实际应用时环境中难免存在移动物体。Lo-net是一种端到端激光雷达里程计,以连续的两帧点云为输入,直接输出相对位姿,通过设计一个掩码网络,用来补偿场景中的动态对象,使该方法在动态环境中仍能保持较高的位姿估计精度。S-ALOAM将语义信息集成到LOAM中,在动态点剔除阶段,特征选择阶段和对应点搜寻阶段使用逐点语义标签进行优化,提高了原始LOAM的定位精度。SUMA++在SUMA基础上结合语义信息约束投影匹配,根据当前时刻的观测与世界模型的语义一致性能够可靠的过滤掉场景中的运动对象,语义分割还会为整个扫描生成逐点标签,从而使SUMA++能够构建带有语义信息的环境地图。
Deeplo以顶点图和法线图作为网络的输入回归两个连续帧之间的位姿,使用了基于ICP的无监督损失和基于视场的监督损失函数,因此可以用监督或非监督的方式训练框架。在里程计网络结构上使用vertex net和feature net分别提取顶点图和法线图特征然后送入Pose net进行特征拼结输出表示旋转的四元数q和表示平移的向量t,该网络在测试阶段仍需要法线图输入,在计算开销具有额外消耗。
Delora在训练使用顶点图和离线计算的法线图,测试阶段使用顶点图为输入,在损失函数上使用了点-面和面-面损失,忽略没有法向量的点的影响。在法线计算上使用主成分分析法进行求解。在特征提取网络部分由8个残差块组成,输出512×H/4×W/32特征图,特征图经过自适应全剧平均池化后转换成512维特征向量,经过全连接层进一步进行特征融合之后特征分别送入表示旋转的全连接层和表示平移的全连接层输出平移和旋转表示。该方法在平移和旋转预测中使用单层全连接层,特征表示不够充分。
SUMA++将原始点云投影成顶点图和法线图,对顶点图进行语义分割生成语义图,以顶点图、法线图、语义图为输入改进传统ICP点云配准方法,增加语义约束信息,构建语义ICP。通过语义分割使得到的面元(surfel)带有语义标签,利用语义标签可以同时完成动态物体去除和构建语义约束优化里程计精度。在运动物体检测上使用滤波方法根据物体在同一位置出现的概率进行检测,检测出运动物体后进行剔除,在语义约束上把语义信息加入ICP的数据关联中,在配准时要求欧氏距离和语义信息均尽量接近。
传统基于模型的激光SLAM方法是基于静态环境假设构建的,当环境中存在动态物体时,其定位和建图精度会降低,因为动态物体的存在会使空间结构多样化且不固定,导致点云配准精度下降。然而现实生活中的大多数场景都包含动态物体,如何避免或减少动态物体对SLAM定位和建图的影响是SLAM算法应用时需要解决的一个难题。
当前基于学习的动态激光SLAM算法在里程计阶段使用深度学习方式增加里程计约束,例如语义约束,但总体的点云配准还是基于模型的方式,这没有充分利用深度学习强大的表达能力构建基于学习的激光里程计网络。
目前大多数基于激光雷达的闭环检测方法都是基于局部或全局描述符来提取三维点云的特征。关键点特征这类局部描述符在噪声和环境微小变化时容易发生退化,而大多数全局描述符对视点变化、遮挡和动态场景不具有鲁棒性,因为这些方法本身无法捕获场景中不同物体之间的拓扑关系,这些高层次的辅助信息可以用来区分具有相似结构的不同场景,对于大规模动态场景中静态结构信息的提取具有重要意义,对构建鲁棒的和有区别的表征至关重要。
针对动态物体识别与分割方法,现有的SLAM方法是结合点云语义分割将点云进行全类别分割,然后再根据不同的运动物体检测策略进行类别剔除,但在后续SLAM定位环节并没有应用所有物体的语义类别,只利用先验语义信息结合动态点判别方法进行动态物体剔除。因此在点云语义分割阶段只需进行二分类操作即将环境中的点云分割成静态和动态两种类别就能够保证SLAM算法正常运行,同时也可以减少点云类别标注的时间降低人工成本。此外语义分割网络存在物体边界分割不完整问题,不完整的动态物体分割会导致动态点剔除不完整,影响SLAM系统精度。
发明内容
为了解决上述问题,本发明提出了一种应用于动态环境的激光SLAM系统及方法,本发明过增加动态物体剔除策略网络、闭环检测以及后端优化后可以明显纠正里程计位姿漂移问题以及动态物体对SLAM系统的影响,得到全局一致的位姿;增加动态物体去除网络后的激光里程计定位精度高于原始的自监督里程计,特别是在平移量的估计上得到了较好的提升,可以保持准确的平移和旋转估计。
根据一些实施例,本发明的第一方案提供了一种应用于动态环境的激光SLAM方法,采用如下技术方案:
一种应用于动态环境的激光SLAM方法,包括:
采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
进一步地,所述对当前环境的三维点云数据进行球面投影,生成规则的顶点图,包括:
基于当前环境的三维点云数据,生成规则的顶点图;
分别存储对点的(x,y,z)值;
将不规则的点云存储方式转换成规则的图像存储方式;
投影公式如下:
进一步地,所述动态物体剔除网络模型,包括:
上下文模块,由三个卷积层构成,其中下一层的输入为上一层的输出,最终上下文模块的输出为第一层卷积层的输出加第三层卷积层的输出;
注意力扩张卷积模块,由五个卷积层和注意力模块CBAM构成,其中,第二、三、四层的输入为上一层的输出,第五层的输入为第二、三、四层的输出按通道拼接后经过CBAM模块对不同通道和相同通道上的不同特征赋予不同权重的带权值的特征图,最后注意力扩张卷积模块的输出为第一层卷积层的输出加第五层卷积层的输出;
扩张卷积模块,由四个卷积层构成,其中,第、二、三层的输入为上一层的输出,第四层的输入为第一、二、三层的输出按通道拼接后的特征图;
卷积模块,由一个卷积层构成,该模块的输出通道数为语义分割类别数。
进一步地,所述动态物体剔除网络模型的训练,包括:
以相邻帧间位姿变换矩阵和基于规则的顶点图为输入,生成残差图;
以动态物体剔除网络损失函数为约束,进行运动物体剔除网络模型的训练;
训练阶段的真实标签根据SemanticKITTI的真实语义分割类别修改为二进制动态和静态标签,实际移动的车辆和行人作为动态物体,其余所有类别归为静态物体;在完成网络训练后,保存训练权重文件。
进一步地,所述自监督里程计网络模型,包括一个特征提取网络和一个6自由度位姿回归网络;
所述特征提取网络由一个卷积层,一个最大池化层接着8个残差块和一个自适应平均池化层构成;
所述6自由度位姿回归网络包括两个三层全连接网络,分别估计旋转四元数和平移向量,根据四元数和平移向量转换成变换矩阵。
进一步地,所述闭环检测网络模型采用孪生网络结构,由共享权重的特征提取网络以及重叠度计算模块和偏航角计算模块构成:
所述特征提取网络由11个卷积层构成,输出(1,360,64)维特征向量;
重叠度计算模块由一个扩充层,三个卷积层和一个全连接层组成;
偏航角的计算采用滑动窗口方式,将特征提取网络输出的一个特征向量复制并与原特征向量拼接形成(1,720,16)维特征向量,另一个特征向量作为内核在拼接成的特征向量上按列滑动作差,输出(1,360)维的偏航角向量,该向量中的最大值所对应的列定义为两帧输入点云的偏航角。
进一步地,所述后端优化模块对回环信息进行优化,得到优化后的位姿,具体为:
自监督里程计网络模型输出相邻帧的相对位姿时记录该位姿和该位姿对应帧的索引作为里程计因子,并将里程计因子增加到因子图中;
当闭环检测网络模型检测到闭环信息时,计算当前帧索引和闭环检测网络模型返回的闭环帧索引所对应的点云的相对位姿,即闭环位姿,将该闭环位姿和对应的索引作为闭环因子,并将闭环因子增加到因子图中,当闭环因子增加到因子图中时,因子图形成闭环,自动对因子图中的所有位姿进行优化,得到全局一致的位姿值。
根据一些实施例,本发明的第二方案提供了一种应用于动态环境的激光SLAM系统,采用如下技术方案:
一种应用于动态环境的激光SLAM系统,包括:
数据采集模块,被配置为采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
球面投影模块,被配置为对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
地图构建模块,被配置为基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
根据一些实施例,本发明的第三方案提供了一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的一种应用于动态环境的激光SLAM方法中的步骤。
根据一些实施例,本发明的第四方案提供了一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的一种应用于动态环境的激光SLAM方法中的步骤。
与现有技术相比,本发明的有益效果为:
本发明通过增加动态物体剔除策略网络、闭环检测以及后端优化后可以明显纠正里程计位姿漂移问题以及动态物体对SLAM系统的影响,得到全局一致的位姿;增加动态物体去除网络后的激光里程计定位精度高于原始的自监督里程计,特别是在平移量的估计上得到了较好的提升,可以保持准确的平移和旋转估计。
本发明构前端包含动态物体去除环节,根据生成的动态物体掩码可以准确删除场景中的动态物体上的点云,因此可以构建精确的环境地图,提高SLAM系统在动态环境中的建图质量。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例所述的一种应用于动态环境的激光SLAM系统框架图;
图2是本发明实施例所述的动态物体剔除网络框架图;
图3是本发明实施例所述的自监督激光里程计方法网络框架图;
图4是本发明实施例所述的闭环检测网络框架图;
图5是本发明实施例所述的最近点搜寻时可能存在的极端情况分布图;
图6(a)是本发明实施例所述的KITTI序列01的验证结果;
图6(b)是本发明实施例所述的KITTI序列07的验证结果;
图6(c)是本发明实施例所述的KITTI序列09的验证结果;
图6(d)是本发明实施例所述的KITTI序列10的验证结果;
图6(e)是本发明实施例所述的KITTI序列07细节放大图;
图7(a)是本发明实施例所述的SSLO KITTI 01序列建图结果;
图7(b)是本发明实施例所述的DD-SLAM KITTI 01序列建图结果;
图7(c)是本发明实施例所述的SSLO KITTI 07序列建图结果;
图7(d)是本发明实施例所述的DD-SLAM KITTI 07序列建图结果。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
如图1所示,本实施例提供了一种应用于动态环境的激光SLAM方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:
采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
如图1所示,一种应用于动态环境的激光SLAM方法,其中移动机器人装有激光雷达用于机器人移动过程中感知周围环境,生成对应环境的点云数据,接着对点云进行球面投影作为激光SLAM的输入用于估计当前移动机器人在世界坐标系中的位置,具体包括以下步骤:
步骤1,移动机器人通过自身搭载的激光雷达采集周围环境信息,输出移动机器人当前时刻所在环境的三维点云数据;
步骤2,对步骤1采集的三维点云进行球面投影,生成规则的顶点图,分别存储对点的(x,y,z)值,将不规则的点云存储方式转换成规则的图像存储方式;
对原始的三维点云进行球面投影,从激光雷达获得的点云是由笛卡尔坐标系表示,为了将原始稀疏且不规则的点云转换为可以方便卷积神经网络处理的数据格式,本发明通过高效,密集的点云球面投影将点云数据P投影成规则的顶点图V,如果存在多个3D点投影到相同的像素坐标上,则选择投影到该像素坐标上的所有3D点中距离最小的一个点作为像素值,每个点pi=(x,y,z)通过函数Π:投影到球面坐标系之后再投影到2D图像坐标系(u,v)∈O2,投影公式如下:
其中w和h是投影产生的顶点图VD的宽和高此处取值分别为64和720,r是每个点p的距离值f=fup+fdown是传感器的垂直视场;u和v是点云中的一个点(x,y,z)在投影生成的顶点图中对应的像素坐标。
步骤3,法线计算,法向量是点云配准的强特征,为了在训练过程中加强几何一致性,在计算自监督损失时使用由顶点图V中的顶点vi对应的法向量ni构成的法线图N由于法向量的计算需要额外的时间开销,以及在推断期间不需要法向量的参与,因此本发明在网络训练前离线估计出顶点图V对应的法线图N。给定顶点图中的一个点vi和该点周围的k个近邻点近邻点是根据顶点图V中与vi最接近的像素距离选取的。vi点的法线可以通过下式计算:
其中[·]T是k×3维的矩阵,N(vi)是归一化的向量,是vi的第k个近邻点,是权重系数。对于公式(3)本发明使用简单的法线估计方法,通过计算vi的上下左右四个邻居Si上的加权叉积来计算每个点vi的法向量ni,具体计算公式如公式(4)和公式(5)所示:
步骤4,生成残差图,以步骤2输出的顶点图为输入,结合从SLAM中估计得到的相邻帧间的位姿变换矩阵T;给定连续的N帧激光雷达点云扫描点云用齐次坐标表示,例如pi=(x,y,z,1),定义当前帧点云扫描为S0,先前的点云扫描为Sj,其中1<j<N,从SLAM中估计得到的相邻帧间的位姿变换矩阵为
在进行残差图计算前利用变换矩阵将其他帧的点云投影到当前帧所在坐标系,如下所示:
利用点云球面投影公式(1)对当前帧点云S0和投影到当前帧所在坐标系的其他帧点云Sk→0进行球面投影,将不规则的点云映射成规则的距离图R(u,v)格式,距离图中的每个像素代表投影到该像素坐标(u,v)的点的距离值r。根据下式计算不同距离图的归一化残差图:
步骤5,构建动态物体剔除网络,在SalsaNext语义分割框架基础上增加注意力单元,优化分割边界,完成动态和静态物体分类。
具体地,动态物体剔除网络模型,包括:
上下文模块:该模块由三个卷积层构成,第一层卷积层卷积核的大小为(1*1),步长为1;第二层卷积层卷积核的大小为(3*3),步长为1,填充为1;第三层卷积层卷积核的大小为(3*3),步长为1,扩充率为2,填充为2。其中下一层的输入为上一层的输出,最终上下文模块的输出为第一层卷积层的输出加第三层卷积层的输出。
注意力扩张卷积模块:该模块由五个卷积层和注意力模块CBAM构成,第一层卷积层卷积核的大小为(1*1),步长为1;第二层卷积层卷积核的大小为(3*3),步长为1,填充为1;第三层卷积层卷积核的大小为(3*3),步长为1,扩充率为2,填充为2;第四层卷积层卷积核的大小为(2*2),步长为1,扩充率为2,填充为1;第五层卷积层卷积核的大小为(1*1),步长为1。其中,第二三四层的输入为上一层的输出,第五层的输入为二三四层的输出按通道拼接后经过CBAM模块对不同通道和相同通道上的不同特征赋予不同权重的带权值的特征图,最后注意力扩张卷积模块的输出为第一层卷积层的输出加第五层卷积层的输出。
扩张卷积模块:该模块由四个卷积层构成,第一层卷积层卷积核的大小为(3*3),步长为1,填充为1;第二层卷积层卷积核的大小为(3*3),步长为1,扩充率为2,填充为2;第三层卷积层卷积核的大小为(2*2),步长为1,扩充率为2,填充为1;第四层卷积层卷积核的大小为(1*1),步长为1。其中,第二三层的输入为上一层的输出,第四层的输入为一二三层的输出按通道拼接后的特征图。
1*1卷积模块:该模块由一个卷积层构成,该模块的输出通道数为语义分割类别数,本发明中取值为2,卷积核大小为(1*1),步长为1。
首先,采用由1×1和3×3的内核组成的残差扩张卷积,把较大的感受野和较小的感受野融合到一起,构成上下文模块,形成具有3×3,5×5和7×7的有效感受野的卷积组合,扩张卷积层的具体细节如图2中的注意力残差块所示;按照图2所示注意力残差块构建残差扩张卷积;然后,把三个卷积层的输出按通道进行拼接,在拼接特征向量后应用通道注意力和空间注意力,对不同通道和不同空间位置的特征值赋予不同的权值,确保在特征提取阶段更关注动态物体的特征;接着,利用1×1的卷积对带权重的特征体进行压缩降维,使输出通道数为输入的1/3;最后,采用残差连接处理来自不同深度的特征信息。对于上采样层,将(H×W×Cr2)特征图元素重塑为(Hr×Wr×C)形式,然后对上采样特征与注意力残差特征进行跳跃连接输入解码器残差卷积块。
步骤6,构建动态物体剔除网络损失函数,为使动态类别具有更多的影响,使用加权Softmax交叉熵损失,具体损失函数如下:
为最大化IOU得分,使用Lovász-Softmax损失,定义为:
最终的损失函数由上述两个损失函数构成,定义为:
步骤7,运动物体剔除网络训练,以SLAM输出的相邻帧间位姿变换矩阵和步骤2生成的顶点图为输入,按照步骤4生成残差图,以步骤6设计的损失函数为约束,进行步骤5构建的运动物体剔除网络训练,训练阶段的真实标签根据SemanticKITTI的真实语义分割类别修改为二进制动态和静态标签,实际移动的车辆和行人作为动态物体,其余所有类别归为静态物体。在完成网络训练后,保存训练权重文件。
步骤8,构建自监督里程计网络,如图3所示,网络由两部分构成,一个特征提取网络和一个6自由度位姿回归网络。特征提取网络由一个卷积层,一个最大池化层接着8个残差块和一个自适应平均池化层构成。自监督里程计网络由特征网络进行初步特征提取和位姿网络解码特征网络的输入特征,分别对平移和旋转进行估计得到表示平移的平移向量t和表示旋转的四元数q,接着将q表示为旋转矩阵R,然后将R和t进行拼接,形成变换矩阵T代表网络最终估计的位姿。
特征提取网络的输入是相邻的激光雷达扫描投影得到的顶点图,经过最后一个残差块输出大小为维特征图,接着对每个通道的特征图进行自适应全局平均池化,得到单个特征值构成的固定维度的特征向量,随后特征向量流入位姿网络。对于位姿网络,设计了两个相似结构的3层全连接网络估计相关位姿,来自特征提取网络的特征向量分别流进估计相对旋转的旋转头输出四元数q,估计相对位移的平移头输出平移向量t,[q,t]最后被构造成同时表示平移和旋转的变换矩阵T。具体网络参数如表1所示。
表1里程计网络参数细节
步骤9,里程计网络损失函数设计,受基于模型的方法SUMA启发,本发明结合多种加权几何损失用来测量目标扫描和源扫描映射到目标空间之间的差异,假设每个序列包含2n+1个扫描,本发明通过{Vt-n,…,Vt-1,Vt,Vt+1,…,Vt+n}定义输入序列,{Nt-n,…,Nt-1,Nt,Nt+1,…,Nt+n}定义法线图序列,帧Vt和Nt是目标扫描,其余的是源扫描由Vs和Ns,s∈{t-n,…,t+n},s≠t定义。该损失函数包括加权点-面损失加权面-面损失和加权点-点损失权值是根据配对点在三维空间中的欧式距离计算得到,该损失函数可以使里程计网络更加关注环境中的静态特征,减少激光雷达噪声和环境中动态对象点的影响;
本发明预测每个目标和源对的相对位姿Ts,t。对于源扫描Vs中的一个点vs,本发明直接在三维空间中建立KD-Tree寻找它在目标扫描Vt中的对应点vt。源域数据Vs和Ns中的点vs和vs根据位姿网络估计的变换矩阵Tst投影到目标域,得到和然后在目标域Vt和Nt中构建三维KD-Tree搜寻匹配点vt和nt建立匹配对和在三维空间中寻找配对点不需要额外的视野损失,同时允许处理接近锋利边沿附近的点。KD-Tree在得到配对的同时可以输出配对点的欧式距离因此可以利用如下公式为每个点对分配不同的权重,然后构建加权几何损失。
在极端情况下最近点寻找策略会出现错误匹配,如图5五角星是激光雷达所在位置,两条不同的线是激光雷达在不同位置的两次扫描,虚线椭圆代表黑色的点所在的近似平面。在这种情况下Kd-Tree找到的最近点会出现不正确的关联,因为他们的表面方向不一致,因此在损失函数中增加面到面的损失比较配对点的表面方向以减少这些匹配带来的影响。
最后,激光里程计回归最小化的自监督加权几何损失由上述三个损失相加得到:
步骤10,激光里程计网络训练,以步骤2和步骤3生成的顶点图和法线图为输入,以步骤九设计的损失函数为约束,进行步骤八构建的激光里程计网络训练,在完成网络训练后,保存训练权重文件;
具体地,在KITTI数据集上进行网络的训练和评估,序列00-08用作训练集,序列09和序列10作为测试集。在训练阶段以10-4的初始学习率开始训练,然后每10个轮次应用50%的权重衰减。对于输入激光雷达扫描设置h=64,w=720来使原始点云映射成64×720大小的顶点图。在训练阶段,输入序列的长度被设置为3,批次大小为4,此外还使用了数据洗牌来防止过度拟合,训练完成后保存训练权重。
步骤11,构建闭环检测网络,该网络采用孪生网络结构,由共享权重的特征提取网络以及重叠度计算模块和偏航角计算模块构成,如图4所示。首先,由11个卷积层构成特征提取网络,网络输出(1,360,16)维特征向量;然后,在特征向量所在的特征空间对每个特征向量寻找k个最近邻建立图,通过图卷积神经网络进行特征聚合,最近邻是通过KD-Tree依据欧氏距离得到;最后,使用两个全卷积网络生成用于计算重叠度和偏航角的特征向量。具体网络参数如表2所示。
表2闭环检测网络各层参数
T0(iW+j,k,c)=L0(i,j,c) (18)
T1(k,iW+j,c)=L1(i,j,c) (19)
公式中k={0,...,HW-1},i={0,...,H-1},j={0,...,W-1}。互为转置的两个特征体T0和T1相减计算绝对值,由绝对值构成的特征体继续进行特征提取输出最终的重叠度数值。
偏航角的计算采用滑动窗口方式,将特征提取网络输出的一个特征向量复制并与原特征向量拼接形成(1,720,16)维特征向量,另一个特征向量作为内核在拼接成的特征向量上按列滑动作差,输出(1,360)维的偏航角向量,该向量中的最大值所对应的列定义为两帧输入点云的偏航角。
sigmoid(v)=(1+exp(-v))-1 (21)
其中a,b是偏移量,s是比例因子,取值分别为0.25,12,24。
H(p,q)=p log(q)-(1-p)log(1-q) (23)
其中,N为输出偏航角向量的维度,取值为360。
总的损失函数由重叠度损失和偏航角损失按照比例相加得到,总的损失如下:
L(I1,I2,YO,YY)=LO(I1,I2,YO)+αLY(I1,I2,YY) (24)
公式(24)中设置α=5。
步骤13,闭环检测网络训练,在KITTI数据集进行训练和验证,其中序列00和序列02用作验证集其余序列用作训练集。训练阶段网络的输入是(R1,R2,YO,YY)分别代表距离图1,距离图2,重叠度真值和偏航角真值。其中距离图是顶点图对应点的距离值,重叠度真值根据数据集提供的真实位姿和如下公式计算得到,偏航角真值通过真实位姿直接计算得到。
以步骤12构建的损失函数为约束进行网络训练,在完成网络训练后,保存训练权重文件。
步骤14,按照图1进行激光SLAM系统构建,首先是运动物体剔除网络,网络输出不含动态物体的顶点图;接着,构建自监督里程计网络完成帧间估计;然后,构建闭环检测网络,用来判断机器人过去是否访问过当前位置,如果检测到回环信息,则将该信息传送给后端优化单元;最后根据优化后的位姿和输入的环境点云构建静态环境地图。
后端优化的实现:本发明采用python版本的miniSAM因子图优化库,在里程计输出相邻帧的相对位姿时记录该位姿和该位姿对应帧的索引作为里程计因子,并将里程计因子增加到因子图中。当闭环检测网络检测到闭环信息时,计算当前帧索引和闭环检测网络返回的闭环帧索引所对应的点云的相对位姿,将该闭环位姿和对应的索引作为闭环因子,并将闭环因子增加到因子图中,当闭环因子增加到因子图中时,因子图形成闭环,自动对因子图中的所有位姿进行优化,得到全局一致的位姿值。
地图生成:SLAM是同时定位于建图的一种技术,在得到全局一致的位姿后,就可以根据全局位姿将该位姿对应的点云通过该位姿所代表的变换矩阵Tw投影到全局坐标系下,形成全局地图。
Pw=TwPc (26)
公式中,Pw为世界坐标系下的点云,Pc为当前帧局部坐标系下的点云,全局地图是由Pw累计构成的。
步骤15,激光SLAM系统应用,在实施阶段,首先导入各网络权重,然后,将原始的点云文件通过Numpy库读取成标准的N维数组格式,然后就可以利用步骤2中的球面投影函数进行点云映射,转换成规则的顶点图,此时顶点图分辨率设置为64×720,应用阶段不需要额外的法线图和残差图输入,因此不必计算对应顶点图的法线图和残差图,以连续相邻的点云文件生成的连续的顶点图作为输入,接着以连续的顶点图输入步骤14构建的激光SLAM系统完成位姿估计和地图构建。
在实验中命名自监督里程计为SSLO,本发明提出的激光SLAM命名为DD-SLAM.定位实验分别在KITTI数据集序列01、07、09、10进行测试,定位结果如图6所示,从图中可以发现提出的DD-SLAM方法在定位精度上具有明显的提升,尤其是通过增加动态物体剔除策略网络、闭环检测以及后端优化后可以明显纠正里程计位姿漂移问题以及动态物体对SLAM系统的影响,得到全局一致的位姿,如图6(c)和6(b)的红圈处细节放大图6(e)所示。
由图6(a)和6(d)可见增加动态物体去除网络后的激光里程计定位精度高于原始的SSLO,特别是在平移量的估计上得到了较好的提升,可以保持准确的平移和旋转估计。从不同序列上的测试结果看出,DD-SLAM可以适应不同的动态环境,完成机器人定位任务。
构建环境一致的静态地图是SLAM的另一项重要目标,精确的场景地图是保证机器人完成定位、导航以及避障任务的基础,但是场景中的动态物体的存在会导致SLAM建图出现伪影,使整张地图变得混乱,如果环境中存在大量的动态物体,会使得构建的地图变得模糊,不能区分是否存在障碍物,使得构建的地图不能复用,失去地图价值。DD-SLAM前端包含动态物体去除环节,根据生成的动态物体掩码可以准确删除场景中的动态物体上的点云,因此可以构建精确的环境地图,对KITTI数据集上的不同序列进行建图测试,具体实验结果如下图7所示,图7(a)和7(c)是未进行动态点去除操作的建图结果,从图中局部放大细节可以发现由于动态物体例如行驶的汽车的存在,使得最终环境地图杂乱并有伪影现象。图7(b)和7(d)是根据动态物体掩码去除动态物体后的建图结果,可以发现地图变得更加清晰,因物体运动产生的伪影已经消失,从细节放大图中可以更加清晰的看出动态物体去除前后的对比结果。因此DD-SLAM可以构建精确环境地图,提高SLAM系统在动态环境中的建图质量。
实施例二
本实施例提供了一种应用于动态环境的激光SLAM系统,包括:
数据采集模块,被配置为采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
球面投影模块,被配置为对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
地图构建模块,被配置为基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种应用于动态环境的激光SLAM方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种应用于动态环境的激光SLAM方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种应用于动态环境的激光SLAM方法,其特征在于,包括:
采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
3.如权利要求1所述的一种应用于动态环境的激光SLAM方法,其特征在于,所述动态物体剔除网络模型,包括:
上下文模块,由三个卷积层构成,其中下一层的输入为上一层的输出,最终上下文模块的输出为第一层卷积层的输出加第三层卷积层的输出;
注意力扩张卷积模块,由五个卷积层和注意力模块CBAM构成,其中,第二、三、四层的输入为上一层的输出,第五层的输入为第二、三、四层的输出按通道拼接后经过CBAM模块对不同通道和相同通道上的不同特征赋予不同权重的带权值的特征图,最后注意力扩张卷积模块的输出为第一层卷积层的输出加第五层卷积层的输出;
扩张卷积模块,由四个卷积层构成,其中,第、二、三层的输入为上一层的输出,第四层的输入为第一、二、三层的输出按通道拼接后的特征图;
卷积模块,由一个卷积层构成,该模块的输出通道数为语义分割类别数。
4.如权利要求3所述的一种应用于动态环境的激光SLAM方法,其特征在于,所述动态物体剔除网络模型的训练,包括:
以相邻帧间位姿变换矩阵和基于规则的顶点图为输入,生成残差图;
以动态物体剔除网络损失函数为约束,进行运动物体剔除网络模型的训练;
训练阶段的真实标签根据SemanticKITTI的真实语义分割类别修改为二进制动态和静态标签,实际移动的车辆和行人作为动态物体,其余所有类别归为静态物体;在完成网络训练后,保存训练权重文件。
5.如权利要求1所述的一种应用于动态环境的激光SLAM方法,其特征在于,所述自监督里程计网络模型,包括一个特征提取网络和一个6自由度位姿回归网络;
所述特征提取网络由一个卷积层,一个最大池化层接着8个残差块和一个自适应平均池化层构成;
所述6自由度位姿回归网络包括两个三层全连接网络,分别估计旋转四元数和平移向量,根据四元数和平移向量转换成变换矩阵。
6.如权利要求1所述的一种应用于动态环境的激光SLAM方法,其特征在于,所述闭环检测网络模型采用孪生网络结构,由共享权重的特征提取网络以及重叠度计算模块和偏航角计算模块构成:
所述特征提取网络由11个卷积层构成,输出(1,360,64)维特征向量;
重叠度计算模块由一个扩充层,三个卷积层和一个全连接层组成;
偏航角的计算采用滑动窗口方式,将特征提取网络输出的一个特征向量复制并与原特征向量拼接形成(1,720,16)维特征向量,另一个特征向量作为内核在拼接成的特征向量上按列滑动作差,输出(1,360)维的偏航角向量,该向量中的最大值所对应的列定义为两帧输入点云的偏航角。
7.如权利要求1所述的一种应用于动态环境的激光SLAM方法,其特征在于,所述后端优化模块对回环信息进行优化,得到优化后的位姿,具体为:
自监督里程计网络模型输出相邻帧的相对位姿时记录该位姿和该位姿对应帧的索引作为里程计因子,并将里程计因子增加到因子图中;
当闭环检测网络模型检测到闭环信息时,计算当前帧索引和闭环检测网络模型返回的闭环帧索引所对应的点云的相对位姿,即闭环位姿,将该闭环位姿和对应的索引作为闭环因子,并将闭环因子增加到因子图中,当闭环因子增加到因子图中时,因子图形成闭环,自动对因子图中的所有位姿进行优化,得到全局一致的位姿值。
8.一种应用于动态环境的激光SLAM系统,其特征在于,包括:
数据采集模块,被配置为采集机器人当前所在位置的周围环境信息,得到当前环境的三维点云数据;
球面投影模块,被配置为对当前环境的三维点云数据进行球面投影,生成规则的顶点图;
地图构建模块,被配置为基于规则的顶点图,利用预先训练好的激光SLAM模型进行位姿估计和地图构建;
其中,激光SLAM模型包括:
动态物体剔除网络模型,对规则的顶点图剔除动态物体,得到不含动态物体的顶点图;
自监督里程计网络模型,基于不含动态物体的顶点图完成帧间估计;
闭环检测网络模型,判断机器人是否访问过当前位置,如果检测到回环信息,则将回环信息传送给后端优化模块;
后端优化模块,对回环信息进行优化,得到优化后的位姿;
地图构建模块,根据优化后的位姿以及规则的顶点图构建静态环境地图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种应用于动态环境的激光SLAM方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的一种应用于动态环境的激光SLAM方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586859.XA CN114937083B (zh) | 2022-05-27 | 2022-05-27 | 一种应用于动态环境的激光slam系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586859.XA CN114937083B (zh) | 2022-05-27 | 2022-05-27 | 一种应用于动态环境的激光slam系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114937083A true CN114937083A (zh) | 2022-08-23 |
CN114937083B CN114937083B (zh) | 2024-04-02 |
Family
ID=82863873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210586859.XA Active CN114937083B (zh) | 2022-05-27 | 2022-05-27 | 一种应用于动态环境的激光slam系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114937083B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115631319A (zh) * | 2022-11-02 | 2023-01-20 | 北京科技大学 | 一种基于交叉注意力网络的回环检测方法 |
CN115700781A (zh) * | 2022-11-08 | 2023-02-07 | 广东技术师范大学 | 一种动态场景下基于图像补绘的视觉定位方法及系统 |
CN117132728A (zh) * | 2023-10-26 | 2023-11-28 | 毫末智行科技有限公司 | 构建地图的方法、装置、电子设备及存储介质 |
CN117190911A (zh) * | 2023-09-06 | 2023-12-08 | 中国铁建大桥工程局集团有限公司 | 一种基于三维激光扫描的钢桁架拱桥施工线形监测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111665842A (zh) * | 2020-06-09 | 2020-09-15 | 山东大学 | 一种基于语义信息融合的室内slam建图方法及系统 |
CN111798475A (zh) * | 2020-05-29 | 2020-10-20 | 浙江工业大学 | 一种基于点云深度学习的室内环境3d语义地图构建方法 |
CN113450410A (zh) * | 2021-06-29 | 2021-09-28 | 浙江大学 | 一种基于对极几何的单目深度和位姿联合估计方法 |
WO2022041596A1 (zh) * | 2020-08-31 | 2022-03-03 | 同济人工智能研究院(苏州)有限公司 | 一种适用于室内动态环境的视觉slam方法 |
-
2022
- 2022-05-27 CN CN202210586859.XA patent/CN114937083B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111798475A (zh) * | 2020-05-29 | 2020-10-20 | 浙江工业大学 | 一种基于点云深度学习的室内环境3d语义地图构建方法 |
CN111665842A (zh) * | 2020-06-09 | 2020-09-15 | 山东大学 | 一种基于语义信息融合的室内slam建图方法及系统 |
WO2022041596A1 (zh) * | 2020-08-31 | 2022-03-03 | 同济人工智能研究院(苏州)有限公司 | 一种适用于室内动态环境的视觉slam方法 |
CN113450410A (zh) * | 2021-06-29 | 2021-09-28 | 浙江大学 | 一种基于对极几何的单目深度和位姿联合估计方法 |
Non-Patent Citations (4)
Title |
---|
J. NUBERT 等: "Self-supervised Learning of LiDAR Odometry for Robotic Applications", 《IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA)》, 18 October 2021 (2021-10-18), pages 9601 - 9607 * |
P. PFREUNDSCHUH 等: "Dynamic Object Aware LiDAR SLAM based on Automatic Generation of Training Data", 《2021 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA)》, 18 October 2021 (2021-10-18), pages 11641 - 11647 * |
周风余 等: "多运动视觉里程计的方法与技术", 《山东大学学报(工学报)》, vol. 51, no. 1, 28 February 2021 (2021-02-28), pages 1 - 10 * |
李东江: "室内服务机器人Lifelong SLAM数据集和定位方法研究", 《中国博士学位论文全文数据库(信息科技辑)》, no. 2, 15 February 2022 (2022-02-15) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115631319A (zh) * | 2022-11-02 | 2023-01-20 | 北京科技大学 | 一种基于交叉注意力网络的回环检测方法 |
CN115631319B (zh) * | 2022-11-02 | 2023-06-23 | 北京科技大学 | 一种基于交叉注意力网络的回环检测方法 |
CN115700781A (zh) * | 2022-11-08 | 2023-02-07 | 广东技术师范大学 | 一种动态场景下基于图像补绘的视觉定位方法及系统 |
CN117190911A (zh) * | 2023-09-06 | 2023-12-08 | 中国铁建大桥工程局集团有限公司 | 一种基于三维激光扫描的钢桁架拱桥施工线形监测方法 |
CN117132728A (zh) * | 2023-10-26 | 2023-11-28 | 毫末智行科技有限公司 | 构建地图的方法、装置、电子设备及存储介质 |
CN117132728B (zh) * | 2023-10-26 | 2024-02-23 | 毫末智行科技有限公司 | 构建地图的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114937083B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Teed et al. | Droid-slam: Deep visual slam for monocular, stereo, and rgb-d cameras | |
CN114937083B (zh) | 一种应用于动态环境的激光slam系统及方法 | |
Wang et al. | PVStereo: Pyramid voting module for end-to-end self-supervised stereo matching | |
Roy et al. | Active recognition through next view planning: a survey | |
Cadena et al. | Robust place recognition with stereo sequences | |
Pizzati et al. | Enhanced free space detection in multiple lanes based on single CNN with scene identification | |
CN112949647B (zh) | 三维场景描述方法、装置、电子设备和存储介质 | |
CN113657560B (zh) | 基于节点分类的弱监督图像语义分割方法及系统 | |
Vaquero et al. | Dual-branch CNNs for vehicle detection and tracking on LiDAR data | |
CN114613013A (zh) | 一种基于骨骼节点的端到端人类行为识别方法与模型 | |
Pavel et al. | Recurrent convolutional neural networks for object-class segmentation of RGB-D video | |
CN113781519A (zh) | 目标跟踪方法和目标跟踪装置 | |
CN114170623A (zh) | 一种人物交互检测设备及其方法、装置、可读存储介质 | |
CN113592894A (zh) | 一种基于边界框和同现特征预测的图像分割方法 | |
Nakamura et al. | An effective combination of loss gradients for multi-task learning applied on instance segmentation and depth estimation | |
Hoque et al. | Deep learning for 6D pose estimation of objects—A case study for autonomous driving | |
CN111862147B (zh) | 视频中多车辆和多行人目标的跟踪方法 | |
CN117115911A (zh) | 一种基于注意力机制的超图学习动作识别系统 | |
CN114943747A (zh) | 图像分析方法及其装置、视频编辑方法及其装置、介质 | |
CN114140497A (zh) | 目标车辆3d实时追踪方法及系统 | |
CN113920170A (zh) | 结合场景上下文和行人社会关系的行人轨迹预测方法、系统及存储介质 | |
CN113112547A (zh) | 机器人及其重定位方法、定位装置及存储介质 | |
Liu et al. | Fast and consistent matching for landmark-based place recognition | |
Zhang et al. | Efficient semantic segmentation backbone evaluation for unmanned surface vehicles based on likelihood distribution estimation | |
Cuzzocrea et al. | Advanced pattern recognition from complex environments: a classification-based approach |
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 |