CN110046677B - 数据预处理方法、地图构建方法、回环检测方法及系统 - Google Patents
数据预处理方法、地图构建方法、回环检测方法及系统 Download PDFInfo
- Publication number
- CN110046677B CN110046677B CN201910345647.0A CN201910345647A CN110046677B CN 110046677 B CN110046677 B CN 110046677B CN 201910345647 A CN201910345647 A CN 201910345647A CN 110046677 B CN110046677 B CN 110046677B
- Authority
- CN
- China
- Prior art keywords
- map
- space
- semantic
- spatial
- point cloud
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000001514 detection method Methods 0.000 title claims abstract description 42
- 238000007781 pre-processing Methods 0.000 title claims abstract description 35
- 238000010276 construction Methods 0.000 title claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000011218 segmentation Effects 0.000 claims abstract description 25
- 238000003066 decision tree Methods 0.000 claims abstract description 16
- 230000003068 static effect Effects 0.000 claims abstract description 16
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000005259 measurement Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 8
- 238000009432 framing Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000008034 disappearance Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 241001465754 Metazoa Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- OLBCVFGFOZPWHH-UHFFFAOYSA-N propofol Chemical compound CC(C)C1=CC=CC(C(C)C)=C1O OLBCVFGFOZPWHH-UHFFFAOYSA-N 0.000 description 2
- 229960004134 propofol Drugs 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013398 bayesian method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了一种数据预处理方法、地图构建方法、回环检测方法及系统。其中,一种数据预处理方法,包括预训练阶段:构建并训练物体识别预训练网络、像素分割网络和属性决策树;预处理阶段:将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;将物体种类输入至属性决策树中,获取物体属性描述;对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点。
Description
技术领域
本公开属于涉及导航技术领域,尤其涉及一种数据预处理方法、地图构建方法、回环检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
即时定位与地图构建(SimultaneousLocalization and Mapping,SLAM)技术,是指把机器人放在未知的环境中,从一个未知位置开始移动对环境进行增量式地图创建,同时利用创建的地图进行自主定位和导航。SLAM技术可以使机器人实现真正的自主导航。
SLAM问题最早由1985年Cheeseman和Smith撰写的文章提出,文中创立了描述几何不确定性和特征与特征之间相互关系的统计学原理,这些原理构成了求解SLAM问题的数学基础。Smith,Self和Cheeseman在1987年提出基于卡尔曼滤波的SLAM算法,该理论研究框架使基于卡尔曼滤波的SLAM算法成为最广泛应用的方法。定位算法与地图表示通常成对应用,SLAM问题中机器人定位依赖于环境地图,而地图创建过程也要依赖于机器人的准确定位,这是一个高度相关的过程,必须同时求解,任何一个问题都不能单独解决。
根据传感器的不同SLAM有激光SLAM,RGBD-SLAM,双目SLAM。其中RGBD与双目类型的传感器可以得到稠密空间的尺寸数据,并且具备获取空间图像的能力,因此可以在此基础上实现对场景的语义理解。
发明人发现,传统语义SLAM存储以下问题:
(1)在获取完空间结构后将其中的数据抽象为高层语义,用于更高级的含语义的任务,未将语义信息用于SLAM过程,这样可能由于单纯依赖ORB、SIFT等图像特征出现匹配失败的情况;
(2)要求环境尺度应当小于测距传感器测量的范围,否则从测距传感器返回的数据无法进行运动估计造成建图失败;
(3)使用了诸如SIFT、ORB等图像特征进行位置匹配从而进行运动估计和回环检测,而这种基于图像特征的方法受场景特征疏密程度,相机分辨率和动态物体的影响而无法得到正确的运动估计和回环检测。
发明内容
为了解决上述问题,本公开的第一个方面提供一种数据预处理方法,其根据属性语义消除场景中动态障碍物,只以具备静态属性的物体作为有效数据的参照,在定位过程中所提供的地图数据能够避免因具有移动属性的物体消失造成的定位困难问题。
为了实现上述目的,本公开采用如下技术方案:
一种数据预处理方法,包括:
预训练阶段:
构建并训练物体识别预训练网络、像素分割网络和属性决策树;
预处理阶段:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点。
为了解决上述问题,本公开的第二个方面提供一种数据预处理系统,其根据属性语义消除场景中动态障碍物,只以具备静态属性的物体作为有效数据的参照,在定位过程中所提供的地图数据能够避免因具有移动属性的物体消失造成的定位困难问题。
为了实现上述目的,本公开采用如下技术方案:
一种数据预处理系统,包括:
预训练模块,其用于:
构建并训练物体识别预训练网络、像素分割网络和属性决策树;
预处理模块,其用于:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点。
为了解决上述问题,本公开的第三个方面提供一种空间约束地图构建方法,其将语义用于SLAM的前端,能够避免由于单纯依赖ORB、SIFT等图像特征造成的匹配失败的问题,提高了空间约束地图的准确性。
为了实现上述目的,本公开采用如下技术方案:
一种空间约束地图构建方法,包括:
采用上述所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
为了解决上述问题,本公开的第四个方面提供一种空间约束地图构建系统,其将语义用于SLAM的前端,能够避免由于单纯依赖ORB、SIFT等图像特征造成的匹配失败的问题,提高了空间约束地图的准确性。
为了实现上述目的,本公开采用如下技术方案:
一种空间约束地图构建系统,包括:
空间参照点计算模块,其用于采用上述所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
特征记录存储模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
为了解决上述问题,本公开的第五个方面提供一种拓扑结构空间语义地图构建方法,其能够实现当视觉传感器超过其测量距离能力范围后,不会因尺度约束不满足而造成建图失败,通过语义层属相创建与描述创建拓扑结构以便在检测到回环时能够调整地图结构,保证重复场景部分重合。
为了实现上述目的,本公开采用如下技术方案:
一种拓扑结构空间语义地图构建方法,包括:
采用上述所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
为了解决上述问题,本公开的第六个方面提供一种拓扑结构空间语义地图构建系统,其能够实现当视觉传感器超过其测量距离能力范围后,不会因尺度约束不满足而造成建图失败,通过语义层属相创建与描述创建拓扑结构以便在检测到回环时能够调整地图结构,保证重复场景部分重合。
为了实现上述目的,本公开采用如下技术方案:
一种拓扑结构空间语义地图构建系统,包括:
空间参照点计算模块,其用于采用上述所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
约束地图块构建模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
拓扑结构节点构建模块,其用于对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
为了解决上述问题,本公开的第七个方面提供一种回环检测方法,其通过语义信息进行回环检测,能够光环境改变的影响,增加了回环检测的鲁棒性。
为了实现上述目的,本公开采用如下技术方案:
一种回环检测方法,其应用于上述所述的一种拓扑结构空间语义地图构建方法得到的扑结构空间语义地图,包括:
环检测线程创建一段子地图数据,基于语义信息将在子地图中检测到的物体类别、物体像素特征、物体点云特征和物体空间位置,同地图中的所存数据做相似度计算,达到置信度后则执行回环优化;
在执行回环优化时,为每一个拓扑结构空间语义地图中运动轨迹增加一个尺寸比例,该尺寸比例为拓扑结构空间语义地图与空间约束地图的尺寸比例,通过为对空间约束地图做位置调整以保证重复场景重合,对语义约束做强制调整以满足尺度约束的需求。
为了解决上述问题,本公开的第八个方面提供一种计算机可读存储介质。
本公开采用如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的数据预处理方法中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的空间约束地图构建方法中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的拓扑结构空间语义地图构建方法中的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的回环检测方法中的步骤。
本公开的有益效果是:
(1)根据属性语义消除场景中动态障碍物,在建图过程中只以具备静态属性的物体作为有效数据的参照,因此在定位过程中所提供的地图数据能够避免因具有移动属性的物体消失造成的定位困难问题。
(2)将语义用于SLAM的前端,能够避免由于单纯依赖ORB、SIFT等图像特征造成的匹配失败的问题,减小运动估计的误差。在回环阶段,由于通过语义信息进行回环检测,因此能够光环境改变的影响,增加了回环检测的鲁棒性。
(3)当视觉传感器超过其测量距离能力范围后,不会因尺度约束不满足而造成建图失败,通过语义层属相创建与描述创建拓扑结构以便在检测到回环时能够调整地图结构,保证重复场景部分重合。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例提供的一种数据预处理方法中的预训练阶段原理图。
图2是本公开实施例提供的一种数据预处理方法原理图。
图3是本公开实施例提供的一种空间约束地图构建方法原理图。
图4是本公开实施例提供的一种拓扑结构空间语义地图构建方法原理图。
图5是本公开实施例提供的一种回环检测方法原理图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在本公开的实施例中,由于物体识别使用了神经网络进行,因此,需要消耗较多资源。系统为了控制单机成本,采用分布式计算资源架构。系统分为两部分,移动端与服务端。移动端搭载有视觉、激光、惯导等传感器,服务端配置为前端传感器处理。
实施例一
如图2所示,本实施例的一种数据预处理方法,包括:
(1)预训练阶段:
如图1所示,构建并训练物体识别预训练网络、像素分割网络和属性决策树。
作为一种实施方式,所述物体识别预训练网络为深度神经网络,其用于确定物体识别粒度与内容物,并根据物体识别粒度与内容物确定图像中的物体种类与位置并框出该物体。
例如:物体识别预训练网络采用YOLO物体识别网络。
YOLO(You Only Look Once:Unified,Real-Time Object Detection),是JosephRedmon和Ali Farhadi等人于2015年提出的基于单个神经网络的目标检测系统。YOLO是一个可以一次性预测多个Box位置和类别的卷积神经网络能够实现端到端的目标检测和识别,其最大的优势就是速度快。
事实上,目标检测的本质就是回归,因此一个实现回归功能的CNN并不需要复杂的设计过程。YOLO没有选择滑动窗口(silding window)或提取proposal的方式训练网络,而是直接选用整图训练模型。这样做的好处在于可以更好的区分目标和背景区域,相比之下,采用proposal训练方式的Fast-R-CNN常常把背景区域误检为特定目标。
YOLO的设计理念遵循端到端训练和实时检测。YOLO将输入图像划分为S*S个网格,如果一个物体的中心落在某网格(cell)内,则相应网格负责检测该物体。
在训练和测试时,每个网络预测B个bounding boxes(包围盒),每个bounding box对应5个预测参数:
bounding box的中心点坐标(x,y),宽高(w,h)和置信度评分(confidence);
这个置信度评分综合反映了:
当前bounding box中含有object的置信度Pr(Object);
当前bounding box预测目标位置的准确性IOU(pred|truth);
如果bouding box内不存在物体,则Pr(Object)=0。如果存在物体,则根据预测的bounding box和真实的bounding box计算IOU,同时会预测存在物体的情况下该物体属于某一类的后验概率Pr(Class_i|Object)。
假定一共有C类物体,那么每一个网格只预测一次C类物体的条件类概率Pr(Class_i|Object),i=1,2,…,C;每一个网格预测B个bounding box的位置。即这B个bounding box共享一套条件类概率Pr(Class_i|Object),i=1,2,…,C。基于计算得到的Pr(Class_i|Object),在测试时可以计算某个bounding box类相关置信度:
Pr(Class_i|Object)Pr(Object)*IOU(pred|truth)=Pr(Class_i)*IOU(pred|truth)。
如果将输入图像划分为7*7网格(S=7),每个网格预测2个bounding box(B=2),有20类待检测的目标(C=20),则相当于最终预测一个长度为S*S(B*5+C)=7*7*30的向量,从而完成检测+识别任务。
(2)预处理阶段:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点。
其中,所述物体属性描述包括但不限于动态属性、静态属性、路口属性、支路属性以及长、短、宽和窄属性。
作为一种实施方式,首先通过将物体按照从属关系进行分类,家具、动物、建筑结构等等,再将家具分为大型、中型和小型等,小型家具具备可移动属性,大型家具不具备移动属性,动物具备移动属性,建筑结构不具备可移动属性,由此形成可以产生属性结果的属性决策树。
像素分割网络可采用Detectron网络来实现,Detectron是Facebook AI研究院(FAIR)于2018年初公开的目标检测平台,包含了大量业内最具代表性的目标检测、图像分割、关键点检测算法。该框架主要基于python和caffe2实现,部分底层代码由c++实现,另外部分算法如group normal(GN)则是基于pytorch框架。
需要说明的是,像素分割网络也可采用其他现有的神经网络来实现,本领域技术人员可根据实际情况来具体选择,此处不再累述。
本实施例根据属性语义消除场景中动态障碍物,只以具备静态属性的物体作为有效数据的参照,在定位过程中所提供的地图数据能够避免因具有移动属性的物体消失造成的定位困难问题。
实施例二
与实施例一相对应地,本实施例提供了一种数据预处理系统,包括:
(1)预训练模块,其用于:
构建并训练物体识别预训练网络、像素分割网络和属性决策树。
作为一种实施方式,所述物体识别预训练网络为深度神经网络,其用于确定物体识别粒度与内容物,并根据物体识别粒度与内容物确定图像中的物体种类与位置并框出该物体。
例如:物体识别预训练网络采用YOLO物体识别网络。
YOLO(You Only Look Once:Unified,Real-Time Object Detection),是JosephRedmon和Ali Farhadi等人于2015年提出的基于单个神经网络的目标检测系统。YOLO是一个可以一次性预测多个Box位置和类别的卷积神经网络能够实现端到端的目标检测和识别,其最大的优势就是速度快。
事实上,目标检测的本质就是回归,因此一个实现回归功能的CNN并不需要复杂的设计过程。YOLO没有选择滑动窗口(silding window)或提取proposal的方式训练网络,而是直接选用整图训练模型。这样做的好处在于可以更好的区分目标和背景区域,相比之下,采用proposal训练方式的Fast-R-CNN常常把背景区域误检为特定目标。
(2)预处理模块,其用于:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点。
其中,所述物体属性描述包括但不限于动态属性、静态属性、路口属性、支路属性以及长、短、宽和窄属性。
作为一种实施方式,首先通过将物体按照从属关系进行分类,家具、动物、建筑结构等等,再将家具分为大型、中型和小型等,小型家具具备可移动属性,大型家具不具备移动属性,动物具备移动属性,建筑结构不具备可移动属性,由此形成可以产生属性结果的属性决策树。
像素分割网络可采用Detectron网络来实现,Detectron是Facebook AI研究院(FAIR)于2018年初公开的目标检测平台,包含了大量业内最具代表性的目标检测、图像分割、关键点检测算法。该框架主要基于python和caffe2实现,部分底层代码由c++实现,另外部分算法如group normal(GN)则是基于pytorch框架。
需要说明的是,像素分割网络也可采用其他现有的神经网络来实现,本领域技术人员可根据实际情况来具体选择,此处不再累述。
本实施例根据属性语义消除场景中动态障碍物,只以具备静态属性的物体作为有效数据的参照,在定位过程中所提供的地图数据能够避免因具有移动属性的物体消失造成的定位困难问题。
实施例三
如图3所示,本实施例提供了一种空间约束地图构建方法,包括:
采用如图2所示的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
例如:在两个时刻的数据之间,通过空间参照点计算机器人的运动。设前一时刻测得的第i个物体的第j个空间参照点为oij=[x,y,z,r]T,其中[x,y,z]T为空间参照点的空间坐标,r为空间参照特征描述,则表示k时刻所有的空间参照为集合取出与中同时具有物体i的相同空间参照点形成两个时刻所对应的集合和计算k时刻与k+1时刻所有空间参照点在相机参照系下的运动集合然后通过坐标系转换的方式计算机器人在世界坐标系中的运动,取出k时刻构建地图中相同物体附近空间的空间参照记为对进行与相同的运算得到集合其中,Rwo表示坐标系转换的旋转矩阵,Two表示坐标系转换的平移矩阵。
作为一种可选实施方式,当某个物体点云数不再增加或者形成闭合空间之后,计算点云质心存入空间约束地图中。
本实施例将语义用于SLAM的前端,能够避免由于单纯依赖ORB、SIFT等图像特征造成的匹配失败的问题,提高了空间约束地图的准确性。
实施例四
与实施例三相对应地,本实施例提供了一种空间约束地图构建系统,包括:
(1)空间参照点计算模块,其用于采用如图2所示的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
(2)位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
(3)特征记录存储模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
作为一种可选实施方式,空间约束地图构建系统,还包括:
点云质心计算模块,其用于当某个物体点云数不再增加或者形成闭合空间之后,计算点云质心存入空间约束地图中。
本实施例将语义用于SLAM的前端,能够避免由于单纯依赖ORB、SIFT等图像特征造成的匹配失败的问题,提高了空间约束地图的准确性。
实施例五
如图4所示,本实施例的一种拓扑结构空间语义地图构建方法,包括:
采用如图2所示的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
当机器人进入距离传感器测量能力范围(如Kinetic测距8m,双目相机测距20m)之外的场景(如大厅、走廊等)后,空间参照点oij=[x,y,z,r]T的[x,y,z]T值则无数据出现,尺寸约束失效,但是空间参照的特征描述r依然有效,此时建立拓扑结构空间语义地图。拓扑语义地图包含如下几个内容:进入拓扑地图的入口方位和与之对应的尺度约束地图块,退出拓扑地图的出口方位和与之对应的尺度约束地图块,空间参照物。
由于在拓扑空间中尺寸信息无法体现,进入上述场景后使用PL-SLAM(Real-timemonocular visual SLAM with points and lines)的方法给出运动估计(以1为度量单位),并计算机器人轨迹。是以1为度量单位按照出现的物体消失顺序记录空间参照点oij=[x,y,z,r]T所形成的无尺度结构地图数据。
PL-SLAM(Real-time monocular visual SLAM with points and lines-基于点和线条的实时单目SLAM)的方法有三个主要线程:跟踪、构图、回环检测。
本实施例能够实现当视觉传感器超过其测量距离能力范围后,不会因尺度约束不满足而造成建图失败,通过语义层属相创建与描述创建拓扑结构以便在检测到回环时能够调整地图结构,保证重复场景部分重合。
实施例六
本实施例提供了一种拓扑结构空间语义地图构建系统,包括:
空间参照点计算模块,其用于采用如图2所示的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
约束地图块构建模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
拓扑结构节点构建模块,其用于对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
其中,所述拓扑结构空间语义地图包括进入拓扑地图的入口方位和与之对应的尺度约束地图块,退出拓扑地图的出口方位和与之对应的尺度约束地图块以及空间参照点;
在所述拓扑结构空间语义地图中,通过PL-SLAM方法来估计机器人的运动,并计算出机器人轨迹。
本实施例能够实现当视觉传感器超过其测量距离能力范围后,不会因尺度约束不满足而造成建图失败,通过语义层属相创建与描述创建拓扑结构以便在检测到回环时能够调整地图结构,保证重复场景部分重合。
实施例七
如图5所示,本实施例的一种回环检测方法,其应用于上述一种拓扑结构空间语义地图构建方法得到的扑结构空间语义地图,包括:
环检测线程创建一段子地图数据,基于语义信息将在子地图中检测到的物体类别、物体像素特征、物体点云特征和物体空间位置,同地图中的所存数据做相似度计算,达到置信度后则执行回环优化;
在执行回环优化时,为每一个拓扑结构空间语义地图中运动轨迹增加一个尺寸比例,该尺寸比例为拓扑结构空间语义地图与空间约束地图的尺寸比例,通过为对空间约束地图做位置调整以保证重复场景重合,对语义约束做强制调整以满足尺度约束的需求。
该过程为独立线程,始终运行于后台,对当前中采集到的物体种类和及中的物体种类通过离散贝叶斯方法进行配准,找到物体类别重合度较高的区域当时计算当前视野中获得配准的所有m≥4个物体点云质心位置PM以及区域中相对应配准物体点云质心PM',通过三角定位的方式,可以构建m个点云质心位置约束条件的超定方程组,得到机器人当前的位置范围Ap=(x,y,z),其中{x∈[ax,bx],y∈[ay,by],z∈[az,bz]}。
为每一个拓扑地图运动轨迹增加一个尺度比例ki。则优化问题的约束条件为尺寸约束与拓扑地图尺度比例约束,其中尺寸约束使用光束平差法(Bandle Adjustment,BA)方法进行计算。构建在超测量范围情况下的回环优化问题为:
ΞR,ΞT,Ξk分别表示由R、T、k所组成的集合,Xj表示具有尺度约束的第j个点通过里程计所计算到的位置数据,X'j表示具有尺度约束的第j个点通过里程计所计算到的位置数据,dj i表示第i个位置第j个点距离,表示第i个位置第j个具有尺度约束的点由几何约束观测到做了归一化处理的位置数据,Ri表示第i个位置的旋转矩阵,Ti表示第i个位置的平移矩阵。
本实施例通过语义信息进行回环检测,能够光环境改变的影响,增加了回环检测的鲁棒性。
实施例八
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图2所示的数据预处理方法中的步骤;
实施例九
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图3所示的空间约束地图构建方法中的步骤;
实施例十
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图4所示的拓扑结构空间语义地图构建方法中的步骤;
实施例十一
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图5所示的回环检测方法中的步骤。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (14)
1.一种数据预处理方法,其特征在于,包括:
预训练阶段:
构建并训练物体识别预训练网络、像素分割网络和属性决策树;
预处理阶段:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点;
所述物体识别预训练网络为深度神经网络,其用于确定物体识别粒度与内容物,并根据物体识别粒度与内容物确定图像中的物体种类与位置并框出该物体。
2.如权利要求1所述的一种数据预处理方法,其特征在于,所述物体属性描述包括动态属性、静态属性、路口属性、支路属性以及长、短、宽和窄属性。
3.一种数据预处理系统,其特征在于,包括:
预训练模块,其用于:
构建并训练物体识别预训练网络、像素分割网络和属性决策树;
预处理模块,其用于:
将图像数据输入至物体识别预训练网络,识别出物体种类及其位置框;
将物体种类输入至属性决策树中,获取物体属性描述;
对于静态物体属性的物体,将其对应位置框中的数据通过像素分割网络进行像素级分割,获得物体的平面投影像素及其对应的空间点云位置;
提取物体的平面像素特征点,得到其对应的空间点云位置作为物体属性描述的一部分,并记为空间参照点;
所述物体识别预训练网络为深度神经网络,其用于确定物体识别粒度与内容物,并根据物体识别粒度与内容物确定图像中的物体种类与位置并框出该物体。
4.如权利要求3所述的一种数据预处理系统,其特征在于,所述物体属性描述包括动态属性、静态属性、路口属性、支路属性以及长、短、宽和窄属性。
5.一种空间约束地图构建方法,其特征在于,包括:
采用如权利要求1-2中任一项所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
6.如权利要求5所述的一种空间约束地图构建方法,其特征在于,当某个物体点云数不再增加或者形成闭合空间之后,计算点云质心存入空间约束地图中。
7.一种空间约束地图构建系统,其特征在于,包括:
空间参照点计算模块,其用于采用如权利要求1-2中任一项所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
特征记录存储模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入地图,构建出空间约束地图。
8.如权利要求7所述的一种空间约束地图构建系统,其特征在于,还包括:
点云质心计算模块,其用于当某个物体点云数不再增加或者形成闭合空间之后,计算点云质心存入空间约束地图中。
9.一种拓扑结构空间语义地图构建方法,其特征在于,包括:
采用如权利要求1-2中任一项所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
10.如权利要求9所述的一种拓扑结构空间语义地图构建方法,其特征在于,所述拓扑结构空间语义地图包括进入拓扑地图的入口方位和与之对应的尺度约束地图块,退出拓扑地图的出口方位和与之对应的尺度约束地图块以及空间参照点;
或/和
在所述拓扑结构空间语义地图中,通过PL-SLAM方法来估计机器人的运动,并计算出机器人轨迹。
11.一种拓扑结构空间语义地图构建系统,其特征在于,包括:
空间参照点计算模块,其用于采用如权利要求1-2中任一项所述的数据预处理方法得到机器人运动前后的图像数据中的相同物体的对应空间参照点;
位置尺度约束模块,其用于对相同物体的对应空间参照点均进行空间坐标转换,计算出机器人的运动结果并进行一致性采样,得到机器人的运动估计,形成位置尺度约束;
约束地图块构建模块,其用于记录场景中物体类别及其对应空间点云位置和物体语义特征描述存入空间约束地图块;
拓扑结构节点构建模块,其用于对于超过传感器测量范围的场景,保留除空间点云位置之外的物体特征作为物体语义特征描述,以形成语义约束,并创建拓扑结构节点,构建出拓扑结构空间语义地图。
12.如权利要求11所述的一种拓扑结构空间语义地图构建系统,其特征在于,所述拓扑结构空间语义地图包括进入拓扑地图的入口方位和与之对应的尺度约束地图块,退出拓扑地图的出口方位和与之对应的尺度约束地图块以及空间参照点;
或/和
在所述拓扑结构空间语义地图中,通过PL-SLAM方法来估计机器人的运动,并计算出机器人轨迹。
13.一种回环检测方法,其特征在于,其应用于如权利要求9-10中任一项所述的一种拓扑结构空间语义地图构建方法得到的扑结构空间语义地图,包括:
环检测线程创建一段子地图数据,基于语义信息将在子地图中检测到的物体类别、物体像素特征、物体点云特征和物体空间位置,同地图中的所存数据做相似度计算,达到置信度后则执行回环优化;
在执行回环优化时,为每一个拓扑结构空间语义地图中运动轨迹增加一个尺寸比例,该尺寸比例为拓扑结构空间语义地图与空间约束地图的尺寸比例,通过为对空间约束地图做位置调整以保证重复场景重合,对语义约束做强制调整以满足尺度约束的需求。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:
该程序被处理器执行时实现如权利要求1-2中任一项所述的数据预处理方法中的步骤;
或
该程序被处理器执行时实现如权利要求5-6中任一项所述的空间约束地图构建方法中的步骤;
或
该程序被处理器执行时实现如权利要求9-10中任一项所述的拓扑结构空间语义地图构建方法中的步骤;
或
该程序被处理器执行时实现如权利要求13所述的回环检测方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345647.0A CN110046677B (zh) | 2019-04-26 | 2019-04-26 | 数据预处理方法、地图构建方法、回环检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910345647.0A CN110046677B (zh) | 2019-04-26 | 2019-04-26 | 数据预处理方法、地图构建方法、回环检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046677A CN110046677A (zh) | 2019-07-23 |
CN110046677B true CN110046677B (zh) | 2021-07-06 |
Family
ID=67279675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910345647.0A Active CN110046677B (zh) | 2019-04-26 | 2019-04-26 | 数据预处理方法、地图构建方法、回环检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046677B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111145187B (zh) * | 2019-12-23 | 2023-10-17 | 北方工业大学 | 基于霍夫空间的物体识别方法、系统、设备及存储介质 |
CN113326716B (zh) * | 2020-02-28 | 2024-03-01 | 北京创奇视界科技有限公司 | 面向装配现场环境装配指导ar应用定位的回环检测方法 |
CN111858979B (zh) * | 2020-07-23 | 2021-12-14 | 北京京东乾石科技有限公司 | 障碍物识别方法和装置、电子设备和自动驾驶车辆 |
CN112975969B (zh) * | 2021-02-26 | 2022-02-08 | 清华大学 | 机器人控制和视觉感知一体化控制器系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10553026B2 (en) * | 2017-07-20 | 2020-02-04 | Robert Bosch Gmbh | Dense visual SLAM with probabilistic surfel map |
CN109558879A (zh) * | 2017-09-22 | 2019-04-02 | 华为技术有限公司 | 一种基于点线特征的视觉slam方法和装置 |
WO2020019221A1 (zh) * | 2018-07-26 | 2020-01-30 | 深圳前海达闼云端智能科技有限公司 | 一种自主定位和地图建立方法、装置和机器人 |
CN109559320B (zh) * | 2018-09-18 | 2022-11-18 | 华东理工大学 | 基于空洞卷积深度神经网络实现视觉slam语义建图功能的方法及系统 |
CN109272554A (zh) * | 2018-09-18 | 2019-01-25 | 北京云迹科技有限公司 | 一种识别目标的坐标系定位和语义地图构建的方法及系统 |
CN109522832B (zh) * | 2018-11-06 | 2021-10-26 | 浙江工业大学 | 基于点云片段匹配约束和轨迹漂移优化的回环检测方法 |
-
2019
- 2019-04-26 CN CN201910345647.0A patent/CN110046677B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110046677A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046677B (zh) | 数据预处理方法、地图构建方法、回环检测方法及系统 | |
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及系统 | |
CN111127513B (zh) | 一种多目标跟踪方法 | |
Antonini et al. | Behavioral priors for detection and tracking of pedestrians in video sequences | |
CN109087510A (zh) | 交通监测方法及装置 | |
US11995766B2 (en) | Centralized tracking system with distributed fixed sensors | |
CN115699098B (zh) | 使用比例图和三维模型的基于机器学习的对象标识 | |
CN111105495A (zh) | 一种融合视觉语义信息的激光雷达建图方法及系统 | |
Guo et al. | Evaluation-oriented façade defects detection using rule-based deep learning method | |
KR102330055B1 (ko) | 드론을 이용한 구조물의 변화 검출 방법 및 시스템 | |
Ji et al. | RGB-D SLAM using vanishing point and door plate information in corridor environment | |
CN113781519A (zh) | 目标跟踪方法和目标跟踪装置 | |
CN111292366A (zh) | 一种基于深度学习和边缘计算的视觉行车测距算法 | |
Hu et al. | Building occupancy detection and localization using CCTV camera and deep learning | |
Xu et al. | Dynamic vehicle pose estimation and tracking based on motion feedback for LiDARs | |
Potthast et al. | Active multi-view object recognition and online feature selection | |
Wen et al. | CAE-RLSM: Consistent and efficient redundant line segment merging for online feature map building | |
Andriyanov et al. | Tracking of objects in video sequences | |
Hasan et al. | Identification of construction era for Indian subcontinent ancient and heritage buildings by using deep learning | |
Ouyang et al. | Semantic slam for mobile robot with human-in-the-loop | |
CN113158816B (zh) | 面向室外场景物体的视觉里程计二次曲面路标构建方法 | |
CN115690343A (zh) | 一种基于视觉跟随的机器人激光雷达扫描建图方法 | |
CN113963432A (zh) | 一种基于双目立体视觉机器人跟随行人的方法 | |
Sviatov et al. | Detection of Scenes Features for Path Following on a Local Map of a Mobile Robot Using Neural Networks | |
Yang et al. | Locator slope calculation via deep representations based on monocular vision |
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 |