CN110781262B - 基于视觉slam的语义地图的构建方法 - Google Patents
基于视觉slam的语义地图的构建方法 Download PDFInfo
- Publication number
- CN110781262B CN110781262B CN201910998870.5A CN201910998870A CN110781262B CN 110781262 B CN110781262 B CN 110781262B CN 201910998870 A CN201910998870 A CN 201910998870A CN 110781262 B CN110781262 B CN 110781262B
- Authority
- CN
- China
- Prior art keywords
- node
- probability
- key frame
- map
- semantic
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 27
- 238000010276 construction Methods 0.000 title claims abstract description 14
- 230000011218 segmentation Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 50
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 20
- 238000005457 optimization Methods 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000011176 pooling Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100295091 Arabidopsis thaliana NUDT14 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000012855 volatile organic compound Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- 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/05—Geographic models
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
一种基于视觉SLAM语义地图的构建方法,该方法包括:通过RGB‑D相机采集目标环境图像信息;根据所述目标环境图像信息选取关键帧并确定关键帧的相机位姿;对所述关键帧进行语义分割,预测图像像素的类别;利用所述关键帧的相机位姿以及所述预测的关键帧像素的类别,采用八叉树结构构建三维语义地图。
Description
技术领域
本发明涉及计算机视觉领域,尤其涉及一种基于视觉SLAM的语义地图的构建方法。
背景技术
SLAM(Simultaneous Localization and Mapping),即同步定位与地图构建技术,是指智能设备在未知的环境中运行,通过传感器获取周围环境的三维或二维空间结构信息,同时实现对自身的定位以及对周围场景的建图。视觉SLAM是在SLAM框架的基础上,利用视觉传感器(如单目相机、双目相机、RGB-D深度相机等),在自身进行定位的同时对大规模场景构建三维地图。
传统的视觉SLAM方法包括追踪检测、后端优化、闭环检测以及构建地图四个部分,其中,追踪检测是通过传感器输入图像粗略估计出相机当前的位姿;局部优化是对追踪检测后的位姿估计进行全局一致的优化以消除噪声干扰;闭环检测是在相机重新回到原来经过的位置时通过约束优化位姿,使定位和位姿估计更加准确;最后整合前述获取的相机位姿和运动创建目标环境的三维地图。
图1示出了传统的基于RGB-D相机的视觉SLAM地图构建方法的流程图。如图1所示,首先通过RGB-D相机获取彩色图像和相应像素的深度图,对图像的当前帧进行相机位姿估算并选取关键帧,然后基于关键帧进行局部优化、闭环检测,最终构建三维地图。然而,传统视觉SLAM构建的空间网络地图仅包含色彩、距离等低级信息,无法提供周围环境中物体的语义信息,机器人对周围环境的理解和认知更无从谈起。这不仅阻碍了人工智能发展步伐,也限制了机器人完成复杂任务的能力。
随着人机交互的需求的不断扩大,具有场景理解和环境感知能力的语义地图应运而生。视觉SLAM语义地图的构建融合了机器视觉、运动控制、自主决策、机器学习等多项技术,在传统视觉SLAM基础上增加了语义识别环节,能预测出目标物体对应的类别并添加到地图中,实现对环境语义信息的感知。但现有的SLAM语义构图技术占用较大的存储空间,不适于复杂环境的地图构建。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种基于视觉SLAM的语义地图的构建方法。
本发明的一个方面涉及一种基于视觉SLAM的语义地图的构建方法,该方法包括:通过RGB-D相机采集目标环境图像信息;根据所述目标环境图像信息选取关键帧并确定关键帧的相机位姿;对所述关键帧进行语义分割,预测图像像素的类别;利用所述关键帧的相机位姿及所述预测的图像像素的类别,采用八叉树结构构建三维语义地图。
优选的,所述方法还包括:根据所述关键帧的相机位姿构建三维地图;按照设定的分辨率用八叉树存储所述三维地图,其中所述八叉树中每个节点至少包含所述节点被占用概率以及语义类别概率分布的信息。
优选的,所述方法还包括:采用如下公式构建三维地图:
其中,其中X、Y、Z为第k帧关键帧中像素对应的世界坐标,u、v为该像素点的像素坐标,cx、cy、fx、fy为相机的内参,ηk为第k帧关键帧相机的位姿。
优选的,所述方法还包括:增量式更新所述语义地图。
优选的,所述增量式更新包括采用如下公式对所述八叉树中节点的被占据概率进行更新:
其中,T为第T时刻对节点进行观测,Z为观测到的数据,P(n)为先验概率,P(n|Z1:T)整个1-T时间内该节点被占据的概率。
优选的,所述增量式更新还包括采用如下公式对所述像素类别的概率分布进行增量式更新:
优选的,所述方法还包括对所述三维语义地图进行正则化。
优选的,采用全连接条件随机场对所述地图进行正则化,使其满足目标函数:
其中,P(X=x|Y)为节点观测值为Y时其标签为x的概率,E(x|Y)为图模型的边集合损失。
本发明的另一个方面涉及一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时用于执行上述的方法。
本发明的再一个方面涉及一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时用于执行上述的方法。
与现有技术相比,本发明的优点在于:
以八叉树结构建立语义地图,比传统的点云结构占用的存储空间小,查询效率高且支持多分辨率的查询;利用贝叶斯方式增量式更新每个地图节点所属类别的概率分布,解决了同一个空间点不断被观测的过程中类型概率不一致的问题;利用全连接条件随机场对地图进行正则化,可以减少毛刺和噪声,准确的建立全局一致性的场景语义地图。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1示出了传统的基于视觉SLAM地图的构建方法的流程图;
图2示出了根据本发明一个实施例的语义地图构建方法流程图;
图3示出了根据本发明一个实施例的语义地图构建方法中追踪检测过程的流程图;
图4示出了根据本发明一个实施例的语义地图构建方法中闭环检测模块的流程图;
图5示出了根据本发明一个实施例的语义地图构建方法中语义分割模块的示意图;
图6示出了根据本发明一个实施例的语义地图构建方法中构建三维语义地图的流程图;
图7示出了八叉树树状结构示意图。
图8示出了根据本发明一个实施例中规则八叉树三维语义地图的存储结构;
图9示出了根据本发明一个实施例的语义地图构建方法中增量式更新语义地图的流程图;
图10示出了根据本发明一个实施例的语义地图构建方法中采用的全连接条件随机场正则化的流程图;
图11示出了条件随机场模型图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明在传统视觉SLAM构图的基础上,对关键帧进行语义分割,在三维地图中融入语义信息,并在采用八叉树结构存储语义地图。
图2示出了根据本发明一个实施例的语义地图的构建方法流程图。如图2所示,该方法包括以下步骤:
步骤S210,通过RGB-D相机采集目标环境图像信息。
本发明采用RGB-D相机作为视觉传感器,采集目标环境的RGB图像和深度图像序列作为整个SLAM系统的输入,并将相机采集的第一幅图像时的位置为原点,建立世界坐标系。
步骤S220,追踪检测,估算当前相机的位姿并选取关键帧。
主流的SLAM根据是否需要提取特征,分为特征点法和直接法两种实现方法,其中,特征点法通过获取图像特征并匹配两帧图像的特征,利用匹配点对空间几何关系来估计相机的位姿和运动;直接法利用图像像素灰度的差异,通过最小化光度误差的算法估计相机的位姿和运动。
图3示出了本发明一个实施例的语义地图构建方法中追踪检测过程的流程图。如图3所示,该实施例采用特征点法,首先对接收到的RGB图像序列和对应的深度图像序列实施特征点检测和描述子计算,对相邻帧进行特征匹配,再使用随机抽样一致(RandomSample Consensus,RANSAC)算法进行匹配优化,避免误匹配特征对位姿估计造成严重影响,并通过透视n点(Perspective n Points,PnP)算法粗略估计相机的位姿和运动,最后根据对当前帧的运动判断是否更新关键帧,若当前帧和关键帧之间经过一定的序列间隔,相互的共视区域低于一定范围,即相机运动大小大于阈值,且当前帧拥有足够的特征点和匹配,能够保证特征的丰富性,则将当前帧置为新的关键帧,接下来的帧都以此关键帧进行位姿估计,并以此关键帧进行局部优化、回环检测以及语义分割等后续步骤。
在本发明其他实施例中,也可使用直接法或对极几何、ICP等算法估算相机位姿。
步骤S230,局部优化关键帧的相机位姿。
随着相机的移动及SLAM系统的持续运行,相机位姿的估算误差会逐渐积累,导致系统性能下降,因此需要进行位姿准确性优化,以消除噪声干扰,减小重投影误差。由于SLAM前端对相机位姿的跟踪速度较高,局部优化通常在系统后端进行。
根据本发明一个实施例,局部优化以追踪检测的位姿估算结果和关键帧中的特征点作为变量进行非线性优化,其目标函数为:
其中,K表示关键帧的集合,k表示第k个关键帧,X为特征点的空间坐标,Xk表示第k个关键帧中的特征点的空间坐标,xj表示第j个特征点在图像的二维像素坐标,Xj表示第j个特征点,π为相机投影矩阵,ηk为第k个关键帧的位姿,使得重投影误差最小。
在本发明的其他实施例中,也可采用捆集调整(Bundle Adjustment,BA)算法,又称光束平差法,等其他算法进行后端局部优化。
步骤S240,闭环检测,当形成闭环时进行全局优化;
闭环检测是通过检测当前帧和之前关键帧的相似度来判断相机是否到达之前的某一场景,进而添加约束信息对位姿进行优化,以消除系统漂移,减少累积误差,保证相机轨迹和位姿的全局一致性。高效的闭环检测是SLAM精确求解的基础,根据本发明的一个实施例,采用词袋模型(Bag of Word,BoW)进行闭环检测。图4示出了本发明一个实施例的语义地图构建方法中闭环检测过程的流程图。如图4所示,闭环检测包括以下步骤:
首先训练离线字典。从训练图像中提取特征点及其描述子,其描述子即为视觉词汇,所有的视觉词汇构成一个集合。利用K-Means算法构造单词表。K-Means算法是一种基于样本间相似性度量的间接聚类方法,此算法以K为参数,把N个对象分为K个簇,以使簇内具有较高的相似度,而簇间相似度较低。视觉词汇向量之间根据距离的远近,可以利用K-Means算法将词义相近的词汇合并,作为单词表中的基础词汇。到此为止,一个字典已经训练完成。
然后利用词袋模型以及训练好的字典将一幅图像表示成为数值向量。提取输入图像的特征点描述子,寻找在字典中距离该描述子距离最近的视觉词汇,图像中的每个特征都将被映射到视觉词典的某个词上,统计每个视觉词汇的出现的次数,图像可描述为一个维数相同的直方图向量。计算TF值和IDF值,进而得到TF-IDF矩阵,并对其进行L2归一化。
基于上述两步可将每个关键帧图像表示成一个数值向量,两幅图像对应的数值向量越近,则图像越相似。因此在SLAM系统中,实时的比较当前关键帧与以往的关键帧的词向量的距离,若距离小于给定阈值,则认为这两个关键帧之间构成一个闭环,进而估计这两个关键帧之间的位姿变换,进行全局优化消除累积误差。
步骤S250,对关键帧进行语义分割,预测关键帧像素的类别。
以卷积神经网络(Convolutional Neural Networks,CNN)为核心的图像语义分割技术是利用神经网络实现图像的具体分类与识别,也是目前主流的图像分析模型,其通过卷积、批量归一化、激活函数、最大值池化、上采样等操作最终输出类别分别概率,可直接实现在图像像素级别上的识别。
图5示出了根据本发明一个实施例的语义地图构建方法中基于CNN神经网络的Deeplabv3+模型进行语义分割的示意图。如图5所示,Deeplabv3+模型中采用编码器-解码器(encoder-decoder)架构,其中DeepLabv3作为编码器,并添加了一个简单却有效的解码器用于细化分割结果。Deeplabv3+中包含两种模块,即空间金字塔池化(Atrous SpatialPyramid Pooling,ASPP)模块和编码器-解码器模块,其中空间金字塔模块通过在不同分辨率上以池化操作捕获丰富的上下文信息,编码器-解码器模块通过逐渐恢复空间信息来捕获清晰的目标边界。
具体来说,首先以关键帧的RGB图像为输入,经过带孔卷积提取图像特征(包括高层特征和低层特征),然后将高层特征输入空间金字塔模型中进行池化,经过双线性上采样4倍得到高级语义信息,再将相同分辨率的低层特征经过1*1卷积通道获取细节信息,接着将语义信息和细节信息融合,经过一个3*3卷积细化特征,最终使用4倍双线性插值上采样来得到最终的语义分割结果,在输出层输出每个像素的类别的概率分布,其输出函数为基于像素的softmax函数:
其中,x为二维平面上的像素位置,ak(x)表示神经网络最后输出层中像素x对应的第k个通道的值。pk(x)表示像素x属于第k类的概率。
常用的语义分割数据集有Pascal VOC2012和NYU Depth Dataset V2,其中,VOC2012数据集分为20类,包括背景共21类,NYU Depth Dataset V2共894个语义类别,通常仅使用40个语义类别进行训练和评估。经实验检测,Deeplabv3+模型在PASCAL VOC 2012数据集上的训练,并在测试集上验证模型的有效性,达到了mIoU 89%的精度。Deeplabv3+模型将语义分割结果提升到更高的水平。
在本发明的其他实施例中,也可以采用机器学习算法中全卷积神经网络(FullyConvolution Network,FCN)、DeepLab、PSPNet、ENet、ICNet、U-Net等其他模型实现语义分割。
步骤S260,利用所述关键帧的相机位姿以及所述预测的关键帧像素的类别,采用八叉树结构构建语义地图。
构建三维语义地图需要整合前述步骤中获得当前关键帧的相机的位姿和语义分割后每个像素类别的概率分布等多种信息,将每个像素点投影到三维空间中,获得其世界坐标,建立三维地图,再以八叉树的形式存储三维地图,并实时地将语义信息融合到三维地图中,构建包含丰富信息的三维语义地图。八叉树结构的地图可以随着相机的运动,通过不断获取的新信息实现即时更新。
图6示出了本发明一个实施例的构建三维语义地图的流程图,如图6所示,具体包括以下步骤:
步骤S610,根据关键帧的相机位姿计算出关键帧中每个像素的世界坐标,构建三维地图。
三维建图的过程实质上是相机成像过程的逆变换,将像素点按照相机成像方式映射回三维空间。经RGB-D相机采集的图像其像素的深度值和像素坐标已知,结合前述步骤中获得并优化的关键帧相机位姿,可以计算出每个像素的世界坐标,具体公式如下:
其中,其中X、Y、Z为第k帧关键帧中像素对应的世界坐标,u、v为该像素点的像素坐标,cx、cy、fx、fy为相机的内参,ηk为第k帧关键帧相机的位姿。
利用相机位姿将关键帧中所有像素点按公式(4)映射到三维空间中,就得到了三维地图。
步骤S620,按照设定的分辨率采用八叉树存储三维语义地图,其中,八叉树中每个节点至少包含该节点被占用的概率以及该节点所存储的像素或像素集合的语义类别概率分布信息。
三维语义地图就是包含语义信息的三维地图。在八叉树存储三维地图时,同时融入环境的语义信息,标注每个节点的语义标签,就得到包含丰富信息的三维语义地图。
三维地图的构建和存储有多种形式,常见的是点云图。点云图由一组离散的点组成,用坐标点表示该位置是否被占据,占据存储空间过大,查询复杂度高。采用八叉树状结构存储三维地图,可以节省存储空间且支持快速查询和多分辨率查询。
图7示出了八叉树树状结构示意图。如图7所示,八叉树是一种递归、轴对齐且空间分隔的数据结构,以整个目标环境空间建立第一个立方体,再按照空间坐标系将环境空间细分成为八个2*2*2的子立方体,每个子立方体又可以被递归地细分为八个子立方体,直到子立方体或是完全空白,或是完全被占据,或是达到给定的最小体积元素或设定的最大递归深度(此时需要做“舍入”,使之视为空白或被占据)。每八个子立方体所表示的体积元素加在一起就等于父立方体的体积,所有子立方体所表示的体积元素加在一起就等于整个目标环境空间的体积。每个立方体对应八叉树的一个节点,如此生成的八叉树节点可分为三类,即灰节点(其对应的立方体被部分占据)、白节点(其对应的立方体为完全空白)和黑节点(其对应的立方体被完全占据)。白节点和黑节点因不会被再次细分,因此又可称为叶子节点,而灰节点因被部分占据,需要被再次细分。八叉树中任一节点的子节点只会有8个或0个,不会有8或0以外的其他数目。
八叉树的结构决定了其存储的语义地图的功能。由于只有当立方体为部分被占据才继续细分,且每个体积元素都存储在树结构的特定节点中,因此八叉树地图占用内存空间相对较小,可以快速定位到各个元素,时间复杂很小。此外,立方体的最小体积元素决定八叉树的分辨率。由于八叉树是分层数据结构,不同层级的节点对应不同的分辨率,可以在任何级别上切割树以获得更粗的分割,或对所需分辨率以下的叶子节点进行“剪枝”,即利用树中内部节点实现多分辨率查询。八叉树还可以用来碰撞检测、邻域检索、空间变化检测、压缩等功能,并快速进行三维目标的集合运算,如交、并、补、差等,亦可快速进行最邻近区域或点的搜索。
根据本发明一个实施例,八叉树三维语义地图中每个节点至少包含该节点被占用概率以及该节点存储像素的语义类别概率分布两个字段的信息。其中,节点被占用的概率基于相机深度摄像头中激光传感器的观测数据所得。如果在深度图中观测到某像素的深度为d1,表示在深度值d1对应的空间点上观察到了一个占据数据,且从相机光心出发到这个点的线段上是没有被占据的。节点被占用的先验概率p(n)一般取值0.5,表示在未知环境中,所有节点占用和不占用的先验相等。在不同时刻下,节点被占用的概率表示为条件概率P(n|Z)。这部分概率具体由传感器模型来决定,需要事先对传感器误差来建模。例如,根据传感器采集得到的数据和真实场景的深度进行比较,统计不同深度下观测的准确率,即可以用作T时刻观测下被占用的概率P(n|ZT)。节点的语义类别概率分布基于其对应像素的神经网络语义分割结果。在不同时刻下,节点的语义类别概率分布为条件概率P(l|ZT)。
图8示出了根据本发明一个实施例中规则八叉树三维语义地图的存储结构。如图8(a)所示,八叉树中根节点为R,R有8个子节点A-H,其中A-D为叶子节点,E-H为中间节点,中间节点E又有0-7共8个子节点,该8个子节点均为叶子节点。如图8(b)所示,该规则八叉树地图中每个节点包含12个字段的信息,即该节点的节点属性、该节点的8个子节点的指针、存储像素的颜色信息、该节点被占用的概率以及像素的语义类别概率分布,其中,属性字段用于描述该节点的属性(即黑/白/灰节点),指针字段用以分别存放指向8个子节点的指针,颜色字段来自RGB相机采集的颜色信息,被占用概率字段为当前时刻条件概率P(n|Z),语义类别概率分布为当前时刻条件概率P(l|Z)。以叶子节点1为例,假设该八叉树最小体积元素为1个像素,在T时刻,该叶子节点1中存储有1个像素,在RGB图像中观测到该像素为红色,在深度图中观测到该像素的深度为dT,该像素神经网络语义分割的概率分布为P(l|Z)。则叶子节点1中存储的字段分别为:黑节点,0,0,0,0,0,0,0,0,R,P(n|Z),P(l|Z)。对于中间节点来说,其颜色、被占用概率以及语义类别概率分布可以采用其所有子节点的对应数值的平均值或最大值,也可以采用多数投票法。
根据本发明其他实施例,还可采用线性八叉树、一对八式八叉树或编码等存储形式。
随着相机的持续移动,SLAM系统不断采集目标环境中的物体实例,包括已建地图中已有物体实例和新出现目标实例。对于已有物体实例,系统可以用新观测到的数据覆盖原有数据以更新八叉树中对应节点的字段信息;对于新目标实例,系统将在地图中创建新的节点存储其数据信息。
根据本发明另一个实施例,八叉树建图过程中还对地图进行增量式更新以实现多视图概率融合。在建图过程中,受噪声以及环境本身特征的影响,不同时刻对同一节点的观测数据可能不同。为此,需要对地图进行增量式更新。每个时刻的概率与其之前所有时刻的概率成正比。图9示出了根据本发明一个实施例的语义地图构建方法中增量式更新语义地图的流程图。
假设t=1,2......,T时刻,节点被观测的数据为Z1,Z2,…,ZT,整个T时间内该节点被占据的概率为P(n|Z1:T),依据贝叶斯公式:
上述推导中假设前T-1次的观测结果与第T次的观测结果相互独立,
基于此假设利用贝叶斯公式进行增量式概率更新:
同样,假设t=1,2......,T时刻,观测的数据为Z1,Z2,......,ZT,语义标签共有K个类别。P(li|Z1:T)表示整个T时间内该节点属于第i个类别的概率,因此:
根据上述公式不断的更新不同观测下的节点占据概率和所属类别的概率分布。
根据本发明另一个实施例,在八叉树建图中还对上述三维语义地图进行正则化。这是由于虽然卷积神经网络借助上采样和高低层特征融合的方式在一定程度上提高了语义分割的准确性,但随着卷积层的增大,深层神经元的感受野会变得很大,使得较深卷积层的特征图缺失越来越多的局部信息,对这样的特征图进行上采样会失去对局部细节特征的敏感度。此外,作为端到端的模型,卷积神经网络自身的属性决定了将每个像素作为一个独立的单位,而忽略了像素间的联系,因此会导致语义标注结果出现偏差,产生大量噪声、毛刺等。考虑到像素的空间一致性,本发明对语义分割结果进行正则化,以建立全局一致性地图。
图10示出了根据本发明一个实施例的语义地图构建方法中采用的全连接条件随机场正则化的流程图,图11示出了全连接条件随机场模型图。如图10、11所示,全连接条件随机场采用吉布斯分布,其图模型G=(V,E)中,每个像素i具有类别标签xi,其对应的观测值yi(即像素在图像中的位置和对应的颜色特征),以每个像素为节点,节点集合V={x1,x2,...xn},所有像素之间的关系作为边,其目标函数(即图模型的边集合损失)为:
其中,ψu(xi)为一元势函数,系卷积神经网络进行语义分割的输出,其具体表达公式为:
ψu(xi)=-log(P(li=xi|Z1:T)) (12)
ψp(xi,xj)为二元势函数,用于描述每个像素与其他所有像素之间的关系,衡量两个事件同时发生的概率,鼓励相似像素分配相同的标签,相差较大的像素分配不同标签,相似度与颜色信息I和空间位置信息p有关,使得图像尽量在边界处分割。二元势函数表达公式为:
其中,μ(xi,xj)为像素对的类别(xi,xj)同时出现时的惩罚因子,K为衡量特征的个数,ω(m)k(m)(fi,fj)为像素间的平滑约束,ω(m)为第m个特征的权重系数,k(m)(fi,fj)为第m个特征的高斯核函数。令定义惩罚因子μ(xi,xj)=1,m=2,则核函数具体表示为:
其中,pi表示第i个节点的空间位置坐标,Ii表示第i个节点的颜色亮度值,θα、θβ和θγ用于调整像素i和像素j之间的空间位置和颜色相似性的系数,k(1)核函数用来表征两个节点距离越小,亮度值越接近,则越有可能是相同的类别,k(2)核函数用来排除离当前节点较远的那些节点。
以上,则二元势函数的具体公式为:
条件随机场也可用后验概率函数表达为:
其中,Z是归一化因子。
由于条件随机场的目标是最小化边集合损失,即最小化目标函数。对目标函数的最小化对应着后验概率的最大化,因此条件分布场最优的联合概率分布为:
在本发明的一个实施例中,可以以计算机程序的形式来实现本发明。计算机程序可以存储于各种存储介质(例如,硬盘、光盘、闪存等)中,当该计算机程序被处理器执行时用于执行本发明的方法。
在本发明的另一个实施例中,可以以电子设备的形式来实现本发明。该电子设备包括处理器和存储器,在存储器中存储有计算机程序,当该计算机程序被处理器执行时用于执行本发明的方法。
本文中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个本文中各处的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是不符合逻辑的或不能工作。本文中出现的类似于“根据A”、“基于A”、“通过A”或“使用A”的表述意指非排他性的,也即,“根据A”可以涵盖“仅仅根据A”,也可以涵盖“根据A和B”,除非特别声明或者根据上下文明确可知其含义为“仅仅根据A”。在本申请中为了清楚说明,以一定的顺序描述了一些示意性的操作步骤,但本领域技术人员可以理解,这些操作步骤中的每一个并非是必不可少的,其中的一些步骤可以被省略或者被其他步骤替代。这些操作步骤也并非必须以所示的方式依次执行,相反,这些操作步骤中的一些可以根据实际需要以不同的顺序执行,或者并行执行,只要新的执行方式不是不符合逻辑的或不能工作。
由此描述了本发明的至少一个实施例的几个方面,可以理解,对本领域技术人员来说容易地进行各种改变、修改和改进。这种改变、修改和改进意于在本发明的精神和范围内。虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
Claims (8)
2.根据权利要求1所述的基于视觉SLAM的语义地图的构建方法,其中,所述采用八叉树结构构建三维语义地图还包括:
根据所述关键帧的相机位姿构建三维地图;
按照设定的分辨率用八叉树存储所述三维地图,其中所述八叉树中每个节点至少包含所述节点被占用概率以及语义类别概率分布的信息。
4.根据权利要求2所述的基于视觉SLAM的语义地图的构建方法,还包括增量式更新所述语义地图。
7.一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时用于执行权利要求1-6中任一项所述的方法。
8.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时用于执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998870.5A CN110781262B (zh) | 2019-10-21 | 2019-10-21 | 基于视觉slam的语义地图的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998870.5A CN110781262B (zh) | 2019-10-21 | 2019-10-21 | 基于视觉slam的语义地图的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781262A CN110781262A (zh) | 2020-02-11 |
CN110781262B true CN110781262B (zh) | 2023-06-02 |
Family
ID=69386100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910998870.5A Active CN110781262B (zh) | 2019-10-21 | 2019-10-21 | 基于视觉slam的语义地图的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781262B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111798475B (zh) * | 2020-05-29 | 2024-03-22 | 浙江工业大学 | 一种基于点云深度学习的室内环境3d语义地图构建方法 |
CN111862162B (zh) * | 2020-07-31 | 2021-06-11 | 湖北亿咖通科技有限公司 | 回环检测方法及系统、可读存储介质、电子设备 |
CN112396696B (zh) * | 2020-11-10 | 2023-08-22 | 中山大学 | 一种基于特征点检测与分割的语义地图增量更新方法 |
CN112405542B (zh) * | 2020-11-17 | 2021-09-14 | 中国科学院自动化研究所 | 基于脑启发多任务学习的肌肉骨骼机器人控制方法及系统 |
CN112683273A (zh) * | 2020-12-21 | 2021-04-20 | 广州慧扬健康科技有限公司 | 一种自适应增量建图方法、系统、计算机设备及存储介质 |
CN112837372A (zh) * | 2021-03-02 | 2021-05-25 | 浙江商汤科技开发有限公司 | 数据生成方法及装置、电子设备和存储介质 |
CN113358125B (zh) * | 2021-04-30 | 2023-04-28 | 西安交通大学 | 一种基于环境目标检测和环境目标地图的导航方法及系统 |
CN113238554A (zh) * | 2021-05-08 | 2021-08-10 | 武汉科技大学 | 一种基于激光与视觉融合slam技术的室内导航方法及系统 |
CN113671522B (zh) * | 2021-07-07 | 2023-06-27 | 中国人民解放军战略支援部队信息工程大学 | 基于语义约束的动态环境激光slam方法 |
CN114677444B (zh) * | 2022-05-30 | 2022-08-26 | 杭州蓝芯科技有限公司 | 一种优化的视觉slam方法 |
CN115451948B (zh) * | 2022-08-09 | 2024-10-01 | 中国科学院计算技术研究所 | 一种基于多传感器融合的农业无人车定位里程计方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825550A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院沈阳应用生态研究所 | 顾及一致性的复杂三维建筑物模型剖切建模方法 |
CN106599108A (zh) * | 2016-11-30 | 2017-04-26 | 浙江大学 | 一种三维环境中多模态环境地图构建方法 |
CN110243370A (zh) * | 2019-05-16 | 2019-09-17 | 西安理工大学 | 一种基于深度学习的室内环境三维语义地图构建方法 |
WO2019174377A1 (zh) * | 2018-03-14 | 2019-09-19 | 大连理工大学 | 一种基于单目相机的三维场景稠密重建方法 |
CN110322511A (zh) * | 2019-06-28 | 2019-10-11 | 华中科技大学 | 一种基于物体和平面特征的语义slam方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2554633B (en) * | 2016-06-24 | 2020-01-22 | Imperial College Sci Tech & Medicine | Detecting objects in video data |
CN108596974B (zh) * | 2018-04-04 | 2020-08-04 | 清华大学 | 动态场景机器人定位建图系统及方法 |
CN109117718B (zh) * | 2018-07-02 | 2021-11-26 | 东南大学 | 一种面向道路场景的三维语义地图构建和存储方法 |
CN109559320B (zh) * | 2018-09-18 | 2022-11-18 | 华东理工大学 | 基于空洞卷积深度神经网络实现视觉slam语义建图功能的方法及系统 |
-
2019
- 2019-10-21 CN CN201910998870.5A patent/CN110781262B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825550A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院沈阳应用生态研究所 | 顾及一致性的复杂三维建筑物模型剖切建模方法 |
CN106599108A (zh) * | 2016-11-30 | 2017-04-26 | 浙江大学 | 一种三维环境中多模态环境地图构建方法 |
WO2019174377A1 (zh) * | 2018-03-14 | 2019-09-19 | 大连理工大学 | 一种基于单目相机的三维场景稠密重建方法 |
CN110243370A (zh) * | 2019-05-16 | 2019-09-17 | 西安理工大学 | 一种基于深度学习的室内环境三维语义地图构建方法 |
CN110322511A (zh) * | 2019-06-28 | 2019-10-11 | 华中科技大学 | 一种基于物体和平面特征的语义slam方法和系统 |
Non-Patent Citations (2)
Title |
---|
MID-Fusion: Octree-based Object-Level Multi-Instance Dynamic SLAMMID-Fusion: Octree-based Object-Level Multi-Instance Dynamic SLAM;Binbin Xu 等;https://arxiv.org/pdf/arXiv:1812.07976v4;1-7 * |
Semantic SLAM Based on Object Detection and Improved Octomap;LIANG ZHANG 等;IEEE Access;第6卷;75545-75557 * |
Also Published As
Publication number | Publication date |
---|---|
CN110781262A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781262B (zh) | 基于视觉slam的语义地图的构建方法 | |
CN110335319B (zh) | 一种语义驱动的相机定位与地图重建方法和系统 | |
CN113516664B (zh) | 一种基于语义分割动态点的视觉slam方法 | |
CN109341703B (zh) | 一种全周期采用CNNs特征检测的视觉SLAM算法 | |
CN112884742B (zh) | 一种基于多算法融合的多目标实时检测、识别及跟踪方法 | |
Geng et al. | Using deep learning in infrared images to enable human gesture recognition for autonomous vehicles | |
CN111259786A (zh) | 一种基于视频的外观和运动信息同步增强的行人重识别方法 | |
CN113313763B (zh) | 一种基于神经网络的单目相机位姿优化方法及装置 | |
CN113628244B (zh) | 基于无标注视频训练的目标跟踪方法、系统、终端及介质 | |
CN110728694B (zh) | 一种基于持续学习的长时视觉目标跟踪方法 | |
CN113592894B (zh) | 一种基于边界框和同现特征预测的图像分割方法 | |
Vaquero et al. | Dual-branch CNNs for vehicle detection and tracking on LiDAR data | |
CN110969648A (zh) | 一种基于点云序列数据的3d目标跟踪方法及系统 | |
CN116258937A (zh) | 基于注意力机制的小样本分割方法、装置、终端及介质 | |
CN117649526A (zh) | 一种面向自动驾驶道路场景的高精度语义分割方法 | |
Tsintotas et al. | The revisiting problem in simultaneous localization and mapping | |
CN116596966A (zh) | 一种基于注意力和特征融合的分割与跟踪方法 | |
CN112597871A (zh) | 基于二阶段聚类的无监督车辆重识别方法、系统及存储介质 | |
CN112069997B (zh) | 一种基于DenseHR-Net的无人机自主着陆目标提取方法及装置 | |
Shi et al. | Dense semantic 3D map based long-term visual localization with hybrid features | |
CN111578956A (zh) | 一种基于深度学习的视觉slam定位方法 | |
US20230298335A1 (en) | Computer-implemented method, data processing apparatus and computer program for object detection | |
CN116206201A (zh) | 一种监督目标检测识别方法、装置、设备及存储介质 | |
CN118521653B (zh) | 复杂场景下激光雷达和惯性测量融合的定位建图方法及系统 | |
CN112396593B (zh) | 一种基于关键帧选择和局部特征的闭环检测方法 |
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 |