CN116977189A - 一种同步定位与建图方法、装置及存储介质 - Google Patents
一种同步定位与建图方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116977189A CN116977189A CN202210397296.XA CN202210397296A CN116977189A CN 116977189 A CN116977189 A CN 116977189A CN 202210397296 A CN202210397296 A CN 202210397296A CN 116977189 A CN116977189 A CN 116977189A
- Authority
- CN
- China
- Prior art keywords
- information
- map
- points
- key
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013507 mapping Methods 0.000 title claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 80
- 230000011218 segmentation Effects 0.000 claims abstract description 54
- 238000005457 optimization Methods 0.000 claims abstract description 53
- 230000000007 visual effect Effects 0.000 claims description 99
- 238000013527 convolutional neural network Methods 0.000 claims description 92
- 238000013135 deep learning Methods 0.000 claims description 69
- 239000011159 matrix material Substances 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 47
- 230000009466 transformation Effects 0.000 claims description 47
- 238000011176 pooling Methods 0.000 claims description 42
- 239000013598 vector Substances 0.000 claims description 42
- 230000033001 locomotion Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 230000008447 perception Effects 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 8
- 230000010354 integration Effects 0.000 claims description 8
- 230000002087 whitening effect Effects 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 31
- 238000012800 visualization Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 5
- 230000004807 localization Effects 0.000 description 3
- 238000009468 active modified atmosphere packaging Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000012010 growth Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- 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/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Geometry (AREA)
- Biomedical Technology (AREA)
- Computer Graphics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种同步定位与建图方法、装置及存储介质,包括:接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。采用本发明,克服了动态物体在建图与回环检测的稳定性对ORB特征点的影响,不仅可以更好地进行全局优化,还能提供给其他应用,例如AR。确定建图制度,提升建图精度;提高了回环检测的正确率;为场景点云附加语义信息,有利于下游应用。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种同步定位与建图方法、装置及存储介质。
背景技术
视频已经成为了世界各地的电信运营商广泛关注的大热点,将成为未来移动流量增长的主要引擎。大视频时代的到来,对于电信运营商而言,将为正在进行的数字化转型带来全新的市场机会。展望未来视频业务的发展,将依然遵循体验为王的不二法则,主要集中在以下两个方面,其一,视频业务走向超高清化。其二,VR(虚拟现实,Virtual Reality)/AR(增强现实,Augmented Reality)成为视频业务的新亮点。其应用也十分广泛,包括导航、教育、客服、旅游、视频通话和直播等众多业务。对于实现AR远程协作能力,需要从视频中获取视频中的场景的模型与物体的定位,即同步建图与定位技术。
目前关于同步定位与建图的技术方案如下:
同步定位与建图方面:传统基于人工特征的视觉SLAM(同步定位与建图,simultaneous localization and mapping)系统,可以运行在搭载在单目摄像机主体上。其具体实现系统主要有三个进程:
1.Tracking(跟踪);
2.Local Mapping(局部映射);
3.Loop Closing(环路闭合)。
其中,Tracking主要负责在相机运动过程中对当前帧中的相机位姿和轨迹进行估计和优化,并决定是否将当前帧作为关键帧插入共视图,并用于接下来两个进程的处理。
Local Mapping接收由Tracking进程输出的关键帧,并利用共视图中的公式关系构建该关键帧的局部地图,以此生成并优化地图中的空间点位置。其中,对于空间点的生成策略,采取尽可能多的生成然后裁剪的策略,以尽可能地生成有效的地图点。
上述的Tracking以及Local Mapping基本上完成了SLAM系统所应实现的所有功能。但是,由于主体在未知场景中运动产生的累积漂移,以及前述进程大多基于帧的局部信息,需要使用Loop Closing进程来消除累积漂移,并使用共视图的全局信息来对构建的场景进行全局优化。
首先,对于累积漂移,传统SLAM系统在运行中对共视图中存在的关键帧构建基于词袋模型的数据库,每当Loop Closing接收到新的关键帧时,就通过数据库查询的方式获取Loop关键帧,并通过执行传递性的矫正算法矫正相机轨迹和和地图点。对于全局优化,SLAM系统提出了essential graph(本质图)的概念,essential graph是共视图的子图,但仅保留了共视关系较强的关键帧之间的边。根据SLAM系统中的实验结果,使用essentialgraph进行全局优化,能够达到相当于直接使用共视图优化的效果,而且能够节省大量计算资源。
现有技术的不足在于,当场景中存在动态物体时,建图与回环检测的稳定性容易受到动态物体上产生的ORB特征点影响。
发明内容
本发明提供了一种同步定位与建图方法、装置及存储介质,用以解决当场景中存在动态物体时,建图与回环检测的稳定性容易受到动态物体上产生的ORB特征点影响的问题。
本发明提供以下技术方案:
一种同步定位与建图方法,包括:
接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
实施中,接收视频帧流并估计位姿信息,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为Pk′+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
实施中,生成的地图点附上语义信息,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,生成的地图点附上语义信息,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
实施中,进一步包括:
利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
实施中,投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
实施中,执行回环检测并对地图点与轨迹信息进行全局优化,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,进一步包括:
根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
实施中,进一步包括:
白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;
将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;
对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
实施中,执行回环检测,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,执行回环检测,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
一种同步定位与建图装置,包括:
处理器,用于读取存储器中的程序,执行下列过程:
接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化;
收发机,用于在处理器的控制下接收和发送数据。
实施中,接收视频帧流并估计位姿信息,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为Pk′+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
实施中,生成的地图点附上语义信息,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,生成的地图点附上语义信息,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
实施中,进一步包括:
利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
实施中,投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
实施中,执行回环检测并对地图点与轨迹信息进行全局优化,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,进一步包括:
根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
实施中,进一步包括:
白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;
将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;
对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
实施中,执行回环检测,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,执行回环检测,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
一种同步定位与建图装置,包括:
位姿模块,用于接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
地图模块,用于接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
回环模块,用于针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
实施中,位姿模块进一步用于在接收视频帧流并估计位姿信息时,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息时,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
实施中,位姿模块进一步用于基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息时,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息时,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
实施中,地图模块进一步用于在生成的地图点附上语义信息时,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,地图模块进一步用于在生成的地图点附上语义信息时,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
实施中,地图模块进一步用于在利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
实施中,地图模块进一步用于在投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
实施中,回环模块进一步用于在执行回环检测并对地图点与轨迹信息进行全局优化时,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,进一步包括:
判断模块,用于根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
实施中,进一步包括:
回环预处理模块,用于白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
实施中,回环模块进一步用于在执行回环检测时,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,回环模块进一步用于在执行回环检测时,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述同步定位与建图方法。
本发明有益效果如下:
在本发明实施例提供的技术方案中,由于在生成地图点时,会在地图点上附上语义信息,后续在回环时提供更多信息,而不再只能利用关键帧中的几何信息,克服了动态物体在建图与回环检测的稳定性对ORB特征点的影响,不仅可以更好地进行全局优化,还能提供给其他应用,例如AR。
进一步的,提出了一种基于深度学习的视觉里程计方案,加速视觉里程计初始化,确定建图制度,提升建图精度;
进一步的,提出了一种基于深度学习的回环检测,使用基于深度学习的特征和感知哈希算法检测回环,提高了回环检测的正确率;
进一步的,提出了一种基于场景感知的VSLAM方法,为场景点云附加语义信息,有利于下游应用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中同步定位与建图方法实施流程示意图;
图2为本发明实施例中同步定位与建图流程示意图;
图3为本发明实施例中估计位姿信息流程示意图;
图4为本发明实施例中回环判断前的预处理流程示意图;
图5为本发明实施例中语义地图点云生成示意图;
图6为本发明实施例中选取的关键帧示意图;
图7为本发明实施例中生成局部点云示意图;
图8为本发明实施例中选为的关键帧示意图;
图9为本发明实施例中2D分割结果可视化结果示意图;
图10为本发明实施例中语义信息点云结果可视化结果示意图;
图11为本发明实施例中各层特征结果可视化结果示意图;
图12为本发明实施例中全局一致的轨迹和地图示意图;
图13为本发明实施例中同步定位与建图装置结构示意图。
具体实施方式
发明人在发明过程中注意到:
现有技术中,至少存在如下缺点之一:
1)使用基于人工特征的方法估计位3姿与检测回环,适用性和精确度较低;
2)建立的地图缺少地图中物品的语义信息,不利于后续AR应用;
3)建图过程单纯利用关键帧中的几何信息,即仅仅关注关键帧中的ORB(定向快速旋转,Oriented Fast and Rotated Brief)特征点,当场景中存在动态物体(如:行人)时,建图与回环检测的稳定性容易受到动态物体上产生的ORB特征点影响。
为了解决前述问题:速度和精确度较低;缺少地图中物品的语义信息,不利于后续AR应用;容易受到动态物体遮挡的影响。本发明实施例中提供了一种基于深度学习和场景语义信息的同步定位与建图方案,解决上述存在的几个问题。
本发明实施例提供的技术方案,通过语义分割和深度卷积神经网络可以实现对视频中场景快速准确地建图与附加语义信息,方便后续AR远程协作的应用。比如通过深度学习实现视频中场景的点云重建,使用2D到3D的投影获取包含语义信息的点云,通过语义信息对生成的场景点云进行优化等。后续应用可以通过该系统获取精确的,带有地图语义信息的地图点云。可以通过深度卷积网络直接从原始图像中学习特征,进而实现对回环特征的有效抽取,具有良好的特征表达能力。对回环检测的可靠性、回环检测准确度和鲁棒性均具有显著提升,并且降低了环境变化时(如光照变化)对回环判断结果不稳定的影响。
下面结合附图对本发明的具体实施方式进行说明。
图1为同步定位与建图方法实施流程示意图,如图所示,可以包括:
步骤101、接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
步骤102、接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
步骤103、针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
实施中,接收视频帧流并估计位姿信息,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,生成的地图点附上语义信息,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,执行回环检测并对地图点与轨迹信息进行全局优化,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,还可以进一步包括:
根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
具体的,由单目摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化,然后根据ORB特征点估计相机移动轨迹及位姿,然后判断当前输入的视频帧是否作为关键帧以输入后续处理,基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,并将语义分割结果投影至地图点云,形成带有语义信息的地图,基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,并根据感知哈希算法计算特征的相似度判断相机是否回到同一个地点。
下面对具体实施进行说明。
实施场景中,至少包括带有传感器的单目摄像头设备,如:智能手机。
图2为同步定位与建图流程示意图,如图所示,包括VSLAM中的三个关键模块:基于深度学习的视觉里程计,基于深度学习的回环检测,基于场景感知的VSLAM。其中,一部分为接收视频帧流并估计位姿信息,生成地图点和选定关键帧。一部分为接受关键帧和地图点,并通过2D语义分割与投影,为生成的地图点附上语义信息。最后一部分为针对前述两张流程图生成的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行优化。
图中,VGG16为卷积神经网络;
IUM;
Active MAP为激活地图;
Local Mapping为局部映射;
YOLOv 3/SeaNet为目标检测算法;
Full BA;
Loop&Map Merging为循环与地图合并。
一、估计位姿信息的实施。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
图3为估计位姿信息流程示意图,如图所示,在基于深度学习的视觉里程计的实施过程中,首先,CNN(深度神经网络,Deep Neural Network)深度预测网络帮助系统初始化,帮助解决尺度不确定的问题;接着采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;最后通过IMU(惯性测量单元,Inertial measurement unit)模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
二、回环判断前的预处理。
实施中,还可以进一步包括:
白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;
将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;
对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
图4为回环判断前的预处理流程示意图,如图所示,回环判断前进行预处理主要有:白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理。完成上述操作后,结果输入VGG(计算机视觉组,Visual Geometry Group)16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符。对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,则说明系统出现了回环。
三、基于深度学习的视觉里程计的实施。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
图5为语义地图点云生成示意图,如图所示,具体可以如下:
在视觉里程计实现的实施中,可以通过如下流程实现对位姿信息的输出,确保尺度正确性以及提高建图精度:
1、CNN深度预测初始化:CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统。
2、进行ORB特征点跟踪:提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点。
ORB(定向快速旋转,Oriented FAST and Rotated BRIEF)是Oriented FAST+Rotated BRIEF的缩写,ORB特征包括特征点和描述子,特征点用于筛选比较“特殊”的点,而描述子用来描述某个点周围的特征。
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev。
3、图像反投影生成局部地图点:相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,即建立像素点与地图点的关联。输出局部地图点。
4、联合IMU传感器惯性参数预积分处理,得到关于位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化。总的目标函数为:e=ev+eb。
5、求解目标函数,得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn。输出持续位姿信息。
四、基于深度学习的回环检测。
实施中,执行回环检测,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,执行回环检测,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
具体的,基于深度卷积网络实现对回环特征信息的有效抽取,通过有监督学习的方法预训练CNN-VGG16模型,利用其网络架构来对整个关键帧数据集提取特征,选取网络末端的池化层作为图像的全局特征表示:
1、引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量。
2、图像的全局特征表示,选择VGG16网络末端中的池化层,并选择网络层次更深的层,如第5层池化层。
3、预训练操作,依次进行含有64个、128个、256个、512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层。
4、进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
5、任意一副图像的左右两侧共有m个图像,而这副图像在整个样本图像中是第n个图像。基于此,我们设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
五、基于场景感知的VSLAM(视觉同步定位与地图绘制,Visual SimultaneousLocalization and Mapping)。
实施中,生成的地图点附上语义信息,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
具体实施中,进一步包括:
利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
具体实施中,投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
/>
为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
具体的,通过2D深度语义分割网络或深度目标识别网络对输入的关键帧进行语义分割,并通过投影层将2D的语义信息投影至3D点云:
1、仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet(语义分割)进行2D语义信息标注,而不对所有输入的视频帧进行语义标注,这样的处理减少了VSLAM系统的计算量,提高了系统的实时性。此外,由于室内场景中的物品类别信息比较复杂,有时无法获得包含足够物品类别的室内场景分割训练集对分割网络进行训练。因此,可以利用目标检测网络YOLO(你只看一次,You only look once)v3代替语义分割网络进行语义标注。在这种情况下,通过YOLO v3获取的目标的bounding box(范围框)被视为物体的粗略轮廓。
2、投影层使用view pooling(视图池)对不同视频帧中同一地图点的语义信息进行融合。其pooling公式为:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度。地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
3、地图中的每一个地图点都通过投影层融合每一个可以观察到这个地图点的关键帧中的语义信息。最终每个地图点都被赋予属于各个类别的置信度的向量。将仅带有几何信息的点云转换成带有语义信息的点云。
下面以实例进行说明。
例中,由单目摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化,然后根据ORB特征点估计相机移动轨迹及位姿,然后判断当前输入的视频帧是否作为关键帧以输入后续处理,基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,并将语义分割结果投影至地图点云,形成带有语义信息的地图,基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,并根据感知哈希算法计算特征的相似度判断相机是否回到同一个地点。
实施例:
1、采取TUM walking xyz数据集作为算法输入;
2、算法端经过视觉里程计处理,输出位姿信息及带有深度的局部点云地图,其中基于CNN的深度值预测网络为无监督单目预测网络,将图像帧输入到网络,该网络是端到端网络,网络内部预测完成后,视觉里程计计算出局部深度地图。局部深度地图以点云的方式保存,每一个点保存其在地图场景中的三维坐标P及其一个记录其属于哪种物品的置信度向量L(L1表示该点属于物品1的置信度)。最后,选择部分视频帧作为关键帧,图6为选取的关键帧示意图,具体如图所示。
图7为生成局部点云示意图,输出轨迹生成的局部点云如图所示。
图8为选为的关键帧示意图,具体如图所示。
3、关键帧经过基于场景感知的VSLAM,通过语义分割获取2D语义信息,通过投影生成带有语义信息的点云。此时,根据每个点云中的点在个关键帧上的投影像素,为其置信度向量赋值。图9为2D分割结果可视化结果示意图,图10为语义信息点云结果可视化结果示意图,最终结果可视化如图所示。
4、回环检测系统中,对于图像的全局特征表示,提取CNN-VGG16中各卷积层和池化层的特征,图11为各层特征结果可视化结果示意图,各层特征可视化结果如图所示。
5、算法经过基于深度学习的回环检测系统,图12为全局一致的轨迹和地图示意图,如图所示,优化得到全局一致的轨迹和地图。
基于同一发明构思,本发明实施例中还提供了一种同步定位与建图装置、及计算机可读存储介质,由于这些设备解决问题的原理与同步定位与建图方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
图13为同步定位与建图装置结构示意图,如图所示,装置中包括:
处理器1300,用于读取存储器1320中的程序,执行下列过程:
接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化;
收发机1310,用于在处理器1300的控制下接收和发送数据。
实施中,接收视频帧流并估计位姿信息,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
实施中,生成的地图点附上语义信息,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,生成的地图点附上语义信息,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
实施中,进一步包括:
利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
实施中,投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
实施中,执行回环检测并对地图点与轨迹信息进行全局优化,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,进一步包括:
根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
实施中,进一步包括:
白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;
将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;
对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
实施中,执行回环检测,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,执行回环检测,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
其中,在图13中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1300代表的一个或多个处理器和存储器1320代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1310可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1300负责管理总线架构和通常的处理,存储器1320可以存储处理器1300在执行操作时所使用的数据。
本发明实施例中还提供了一种同步定位与建图装置,包括:
位姿模块,用于接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
地图模块,用于接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
回环模块,用于针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
实施中,位姿模块进一步用于在接收视频帧流并估计位姿信息时,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息时,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
实施中,位姿模块进一步用于基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息时,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
实施中,位姿模块进一步用于在基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息时,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
实施中,地图模块进一步用于在生成的地图点附上语义信息时,包括:
基于场景感知的VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
实施中,地图模块进一步用于在生成的地图点附上语义信息时,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
实施中,地图模块进一步用于在利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的bounding box视为物体的粗略轮廓。
实施中,地图模块进一步用于在投影层使用如下pooling公式为view pooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
实施中,回环模块进一步用于在执行回环检测并对地图点与轨迹信息进行全局优化时,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
实施中,进一步包括:
判断模块,用于根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
实施中,进一步包括:
回环预处理模块,用于白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;将处理结果输入VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
实施中,回环模块进一步用于在执行回环检测时,包括:
通过卷积神经网络提取的特征执行回环检测。
实施中,回环模块进一步用于在执行回环检测时,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述同步定位与建图方法。
具体实施可以参见同步定位与建图方法的实施。
综上所述,在本发明实施例提供的技术方案中,提出了一种基于深度学习的视觉里程计方案,加速视觉里程计初始化,确定建图制度,提升建图精度;
提出了一种基于深度学习的回环检测,使用基于深度学习的特征和感知哈希算法检测回环,提高了回环检测的正确率;
提出了一种基于场景感知的VSLAM方法,为场景点云附加语义信息,有利于下游应用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种同步定位与建图方法,其特征在于,包括:
接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
2.如权利要求1所述的方法,其特征在于,接收视频帧流并估计位姿信息,包括:
由摄像机拍摄到的视频流和由惯性运动模块记录的惯性信息输入到基于深度学习的视觉里程计;
基于深度学习的视觉里程计使用深度神经网络CNN提取视频帧的深度信息进行初始化后,根据定向快速旋转ORB特征点估计相机移动轨迹信息及位姿信息。
3.如权利要求2所述的方法,其特征在于,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计相机移动轨迹信息及位姿信息,包括:
CNN深度预测网络初始化;
采用ORB特征点进行关键点跟踪,一方面基于多帧的关键点对应关系,进行图像反投影得到空间地图点,另一方面根据多帧间的图像变换,构成视觉误差函数;
通过惯性测量单元IMU模块预积分得到惯性误差函数,将视觉与惯性误差联合优化求解,得到位姿信息。
4.如权利要求3所述的方法,其特征在于,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述来估计位姿信息。
5.如权利要求4所述的方法,其特征在于,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据定制化ORB特征点描述估计相机移动轨迹信息,包括:
在CNN深度预测初始化时,通过CNN深度预测网络确立及初始化系统;
在采用ORB特征点进行关键点跟踪时,通过ORB关键点追踪帧间关键点;
对每一帧中的关键点矩阵变换后,与帧中的实际匹配点比较,构成视觉误差方程;
在进行图像反投影得到空间地图点时,对于采集到的图像像素点,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
得到位置、速度与旋转角度的增量误差方程,与视觉误差方程紧耦合联合优化;
得到关键帧间变换矩阵,结合初始位姿,得到相机持续位姿轨迹,输出位姿信息。
6.如权利要求3或4或5所述的方法,其特征在于,基于深度学习的视觉里程计使用CNN提取视频帧的深度信息进行初始化后,根据ORB特征点估计位姿信息,包括:
在CNN深度预测初始化时,CNN深度预测网络预测序列图像的深度,得到深度图,帮助尺度确立及快速初始化系统;
在采用ORB特征点进行关键点跟踪时,提取有代表性的ORB关键点,并计算关键点ORB描述子向量,依据关键点描述子向量空间距离,判断不同关键帧间的同一特征点,并追踪帧间关键点;
对每一帧I0:n={I0,I1…,In},Ik帧中的关键点Pk,经过Tk矩阵变换后为P′k+1,与Ik+1帧中的实际匹配点Pk+1比较,构成视觉误差方程ev;
在进行图像反投影得到空间地图点时,相机采集到的图像像素点,根据坐标位置通过相机几何模型系数矩阵,反投影至三维空间,建立像素点与地图点的关联,输出局部地图点;
联合IMU传感器惯性参数预积分处理,得到位置、速度与旋转角度的增量误差方程eb,与视觉误差方程ev紧耦合联合优化,总的目标函数为:e=ev+eb;
得到关键帧间变换矩阵Tk(k=1,2…,n),结合初始位姿C0,得到相机持续位姿轨迹Cn=C0×T1×…×Tn,输出持续位姿信息。
7.如权利要求1所述的方法,其特征在于,生成的地图点附上语义信息,包括:
基于场景感知的视觉同步定位与地图绘制VSLAM根据接收到的关键帧进行语义分割并生成地图点云,将语义分割结果投影至地图点云,形成带有语义信息的地图。
8.如权利要求7所述的方法,其特征在于,生成的地图点附上语义信息,包括:
仅对被确认为关键帧的视频帧进行采用语义分割网络SegNet进行2D语义信息标注;
投影层使用视图池view pooling对不同视频帧中同一地图点的语义信息进行融合;
地图中的每一个地图点都通过投影层融合每一个能够观察到这个地图点的关键帧中的语义信息;
每个地图点都被赋予属于各个类别的置信度的向量;
将带有几何信息的点云转换成带有语义信息的点云。
9.如权利要求7所述的方法,其特征在于,进一步包括:
利用目标检测网络YOLO v3代替语义分割网络进行语义标注,通过YOLO v3获取的目标的范围框bounding box视为物体的粗略轮廓。
10.如权利要求7所述的方法,其特征在于,投影层使用如下池pooling公式为viewpooling对不同视频帧中同一地图点的语义信息进行融合:
其中,为地图点f属于l的置信度,C(m,i,j,l)为帧m中像素点i,j属于l的置信度,地图点与帧内像素的对应关系可以由重投影方法获取,siui=KTPi,si为深度,ui为像素坐标,K为相机的内参数矩阵,T为相机位姿的变换矩阵,Pi为地图点的世界坐标,TPi表示将地图点的坐标从世界坐标系转换到相机坐标系下。
11.如权利要求1所述的方法,其特征在于,执行回环检测并对地图点与轨迹信息进行全局优化,包括:
基于深度学习的回环检测接受视频关键帧,使用深度神经网络提取关键帧的特征,对地图点与轨迹信息进行全局优化。
12.如权利要求1所述的方法,其特征在于,进一步包括:
根据感知哈希算法计算特征的相似度判断是否回到同一个地点。
13.如权利要求1所述的方法,其特征在于,进一步包括:
白化处理实现图像中心化,去均值处理移除图像中较亮的图,以及灰度化处理;
将处理结果输入计算机视觉组VGG16卷积神经网络模型中,经过卷积操作后,提取网络末端前的池化层,将其作为回环判断图像的输出特征描述符;
对于相似度计算,利用感知哈希算法dHash计算比较相邻描述符的结果,若相近度比预先假设的范围大,确定系统出现了回环。
14.如权利要求13所述的方法,其特征在于,执行回环检测,包括:
通过卷积神经网络提取的特征执行回环检测。
15.如权利要求14所述的方法,其特征在于,执行回环检测,包括:
引入VGG16网络结构提高回环检测精度,重复运用含有3×3小卷积核的卷积层及2×2的最大池化层,得到图片的特征向量;
选择VGG16网络末端中的池化层,并选择网络层次更深的层,进行图像的全局特征表示;
依次进行含有64个、128个、256个、和512个卷积核的卷积操作,并进行最大池化操作,最后特征向量经过三个全连接层;
进行相似度计算,特征原图像记为I,其生成的哈希码记为IHP,感知哈希函数记为PH,则感知哈希函数为:
在任意一副图像的左右两侧共有m个图像时,这副图像在整个样本图像中是第n个图像,设置一个相似度判断的取值区间,比较第m个图像到第n-m个图像。
16.一种同步定位与建图装置,其特征在于,包括:
处理器,用于读取存储器中的程序,执行下列过程:
接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化;
收发机,用于在处理器的控制下接收和发送数据。
17.一种同步定位与建图装置,其特征在于,包括:
位姿模块,用于接收视频帧流并估计位姿信息及轨迹信息,生成地图点和选定关键帧;
地图模块,用于接收关键帧和地图点,通过2D语义分割与投影,为生成的地图点附上语义信息;
回环模块,用于针对附上语义信息的地图点和轨迹信息,执行回环检测并对地图点与轨迹信息进行全局优化。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至15任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210397296.XA CN116977189A (zh) | 2022-04-15 | 2022-04-15 | 一种同步定位与建图方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210397296.XA CN116977189A (zh) | 2022-04-15 | 2022-04-15 | 一种同步定位与建图方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116977189A true CN116977189A (zh) | 2023-10-31 |
Family
ID=88483623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210397296.XA Pending CN116977189A (zh) | 2022-04-15 | 2022-04-15 | 一种同步定位与建图方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116977189A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
-
2022
- 2022-04-15 CN CN202210397296.XA patent/CN116977189A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
CN117893693B (zh) * | 2024-03-15 | 2024-05-28 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111968129B (zh) | 具有语义感知的即时定位与地图构建系统及方法 | |
US20210142095A1 (en) | Image disparity estimation | |
CN113506317B (zh) | 一种基于Mask R-CNN和表观特征融合的多目标跟踪方法 | |
CN103325112B (zh) | 动态场景中运动目标快速检测方法 | |
Park et al. | High-precision depth estimation using uncalibrated LiDAR and stereo fusion | |
Yin et al. | Scale recovery for monocular visual odometry using depth estimated with deep convolutional neural fields | |
EP2299406B1 (en) | Multiple object tracking method, device and storage medium | |
Luo et al. | Real-time dense monocular SLAM with online adapted depth prediction network | |
Diego et al. | Video alignment for change detection | |
Yang et al. | Auto4d: Learning to label 4d objects from sequential point clouds | |
Zhao et al. | Deep direct visual odometry | |
WO2006083297A2 (en) | Method and apparatus for aligning video to three-dimensional point clouds | |
US11948309B2 (en) | Systems and methods for jointly training a machine-learning-based monocular optical flow, depth, and scene flow estimator | |
Gurram et al. | Monocular depth estimation by learning from heterogeneous datasets | |
US10229508B2 (en) | Dynamic particle filter parameterization | |
Liu et al. | Unsupervised monocular visual odometry based on confidence evaluation | |
Zhao et al. | KSF-SLAM: a key segmentation frame based semantic SLAM in dynamic environments | |
Li et al. | Adv-depth: Self-supervised monocular depth estimation with an adversarial loss | |
Yang et al. | SAM-Net: Semantic probabilistic and attention mechanisms of dynamic objects for self-supervised depth and camera pose estimation in visual odometry applications | |
Ge et al. | Vipose: Real-time visual-inertial 6d object pose tracking | |
Rao et al. | In-vehicle object-level 3D reconstruction of traffic scenes | |
Shi et al. | Self-supervised learning of depth and ego-motion with differentiable bundle adjustment | |
CN116977189A (zh) | 一种同步定位与建图方法、装置及存储介质 | |
Françani et al. | Dense prediction transformer for scale estimation in monocular visual odometry | |
Gonzalez et al. | TwistSLAM++: Fusing multiple modalities for accurate dynamic semantic SLAM |
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 |