CN116310128A - 基于实例分割与三维重建的动态环境单目多物体slam方法 - Google Patents
基于实例分割与三维重建的动态环境单目多物体slam方法 Download PDFInfo
- Publication number
- CN116310128A CN116310128A CN202310303642.8A CN202310303642A CN116310128A CN 116310128 A CN116310128 A CN 116310128A CN 202310303642 A CN202310303642 A CN 202310303642A CN 116310128 A CN116310128 A CN 116310128A
- Authority
- CN
- China
- Prior art keywords
- frame
- dynamic
- static
- static object
- image
- 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 51
- 230000011218 segmentation Effects 0.000 title claims abstract description 38
- 230000003068 static effect Effects 0.000 claims abstract description 122
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 241000283966 Pholidota <mammal> Species 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000001902 propagating effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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
-
- 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/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/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- 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
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/84—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian 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/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/49—Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Automation & Control Theory (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及自动驾驶和计算机视觉技术领域,尤其涉及一种基于实例分割与三维重建的动态环境单目多物体SLAM方法,该方法包括:获取自动驾驶车辆行驶过程中采集的图像帧序列;对每一帧图像上进行特征提取,对关键帧图像上利用实例分割网络获取图像中的动态物体与静态物体,对动态特征点进行标记与剔除影响,利用贝叶斯概率传播得到当前帧动态特征点,并剔除;对提取的多静态物体获取其掩膜、边界框与稀疏3D点云,利用PCA获取其初始位姿;在多帧观测、数据充足后,利用三维重建网络获取其外形隐式编码与优化后位姿,并对其进行三维重建。本发明能减少传统SLAM方法在动态环境下的绝对轨迹误差,提高了系统位姿估计准确性与鲁棒性,提升了地图的语义程度。
Description
技术领域
本发明涉及自动驾驶和计算机视觉技术领域,尤其涉及一种基于实例分割与三维重建的动态环境单目多物体SLAM方法。
背景技术
近年来,随着自动驾驶与计算机视觉领域的蓬勃发展,同时定位与地图构建(simultaneous localization and mapping,SLAM)已成为该领域内的重点研究领域,动态场景下的定位与语义建图是其中一个热门的研究方向,并且广泛应用于自动驾驶、室内外机器人等领域。
目前大多数视觉SLAM方法基于观测环境是静态的假设,例如经典的SLAM系统:ORB-SLAM2、Vins-Mono等。但现实环境中一定会包含动态物体,动态物体的存在会导致传统SLAM方法会由于动态物体占据大部分视野或遮挡等情况导致系统没有充足的特征点进行位姿估计,进而导致系统发生漂移或追踪丢失,即系统在动态场景下的定位精度与鲁棒性下降。并且当前单目SLAM方法构建的地图过于稀疏,无法构建语义SLAM地图。进而会导致地图语义性不足。一些SLAM系统应用语义分割等深度学习方法,仅剔除动态环境中存在的先验动态物体,并未充分利用环境中存在的语义信息,即环境语义信息利用不充分。
因此,结合实例分割与三维重建技术,应用于单目SLAM系统中对SLAM系统定位精度与鲁棒性的提升,具有十分重要的价值。
发明内容
为克服目前单目SLAM方法构建的地图过于稀疏,无法构建语义SLAM地图,以及环境语义信息利用不充分等技术缺陷,本发明提供了一种基于实例分割与三维重建的动态环境单目多物体SLAM方法。
本发明公开了基于实例分割与三维重建的动态环境单目多物体SLAM方法,包括如下步骤:
步骤1、获取自动驾驶车辆行驶过程中采集的图像帧序列,对每一帧图像进行特征提取并对其进行分类,分为关键帧和普通帧;
步骤2、使用实例分割网络获取动静态物体掩膜,并对动态物体内特征点标记与剔除,子步骤如下:
步骤2.1、利用训练好的SparseInst实例分割网络对关键帧进行实例分割,得到先验语义掩膜合集,大小为n×h×w,包含对应训练分数n×1;
步骤2.2、先验语义掩膜合集中包括先验动态物体的掩膜和预先设定的静态物体掩膜,先验动态物体的掩膜即大小为a×h×w的动态物体掩膜,将动态物体掩膜合集合并为h×w大小的动态物体掩膜;预先设定的静态物体掩膜即大小为b×h×w的动态物体掩膜,根据SparseInst实例分割网络输出的b×1的分数,选取动态物体掩膜中对应分数阈值大于α的物体掩膜共c个,即选取c×h×w大小的静态物体掩膜,并利用OPENCV算法计算每个静态物体掩膜对应的二维边界框,得到的二维边界框合集为c×h×w;
步骤2.3、提取关键帧图像中的特征点,标记当前关键帧图像中动态物体掩膜内的特征点的初始移动概率,更新为bel(x0),其余静态特征点的初始移动概率更新为1-bel(x0),剔除掉关键帧图像匹配特征点合集中的动态特征点;
步骤3、利用贝叶斯概率传播将关键帧图像中的动态物体掩膜内的动态特征点传播到普通帧当中,子步骤如下:
步骤3.1、提取新一帧图像中的ORB特征并计算描述子,当前帧I与上一帧已剔除动态特征点的图像帧F进行特征匹配,上一帧若为关键帧则直接利用已经剔除动态特征点的关键帧进行特征匹配;
步骤3.2、两帧图像匹配后得到两帧相机位姿变化R和t,将上一帧图像中静态特征点与动态特征点投影到当前相机帧当中,计算所有特征点匹配像素误差d;
步骤3.4、对所有特征点进行状态更新,根据关键帧图像中的初始移动概率bel(x0)与当前图像帧中测量概率,其中测量概率为公式(1)所示的移动概率更新,将移动概率状态更新表示为贝叶斯滤波器:
判断完成后,在当前图像帧中标记动态特征点,并剔除掉动态特征点在相邻帧特征匹配中产生的影响,处理之后的当前图像帧又与下一帧图进行图像匹配;
步骤4、创建物体对象,子步骤如下:
步骤4.1、获取关键帧图像中分割的c个静态物体对象,并计算得到每一个静态物体对应的三维稀疏点云P,检测对应物体是否已经创建,若已经创建,则将当前关键帧中静态物体对应的三维稀疏点云更新到已创建的静态物体中,若未创建,则创建静态物体对象;其中,创建静态物体对象的过程为:利用当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0进行实例化,创建静态物体对象In:
其中,当静态物体上三维稀疏点云P的数量满足设定值时,使用PCA算法利用公式(5)计算当前静态物体的初始位姿Tco,0:
当静态物体上三维稀疏点云P的数量不满足设定值时,则转至下一静态物体;
步骤4.2、依次循环检测当关键帧图像中的c个静态物体对象,根据步骤4.1实例化过程创建多个静态物体;
步骤5、多静态物体三维重建,子步骤如下:
步骤5.1、使用ShapeNet点云数据集对DeepSDF三维重建网络进行预训练,此时训练的物体为预先定义的静态物体,可训练得到32维或64维的训练模型,具体维数与预先设定的维数相同即可;
步骤5.2、处理每一关键帧图像时,通过SparseInst实例分割网络检测到多个静态物体,根据步骤4.1和4.2更新每个静态物体上的三维稀疏点云P与初始位姿Tco,0;
步骤5.3、在单个静态物体观测帧数量达到γ且三维稀疏点云P的数量满足设定值时,将当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0传入DeepSDF三维重建网络当中;
步骤5.4、使用32维或64维的训练模型推理每一个静态物体的32维或64维隐式编码Z与优化后物体位姿Tco;
步骤5.5、利用Pangolin可视化绘图库,使用静态物体隐式编码Z对每一静态物体进行三维重建,以此得到多个静态物体的三维重建结果,即构建多物体语义地图。
本发明提供的技术方案与现有技术相比具有如下优点:针对单目相机模型,利用关键帧实例分割结果剔除关键帧中存在的动态物体产生的影响,并利用贝叶斯概率传播将上一帧存在的动态特征点传播到当前帧中并剔除其影响,依据关键帧进行实例分割得到的静态物体结合三维重建技术构建的多物体语义地图;本发明可以减小传统目前单目SLAM方法的绝对位姿误差和相对位姿误差,提高了目前单目SLAM方法的位姿估计的准确性和鲁棒性,以及增强了构建地图的语义性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述基于实例分割与三维重建的动态环境单目多物体SLAM方法的流程图;
图2为本发明所述动态环境单目多物体SLAM方法涉及的SLAM系统框图;
图3为本发明所述基于实例分割与三维重建的动态环境单目多物体SLAM方法中三维重建模块流程框图;
图4为本发明所述方法在TUM动态数据集w_xyz序列上的运行结果与真实轨迹对比图;
图5为本发明所述方法与ORB-SLAM2算法在TUM动态数据集w_xyz序列上的运行结果与真实轨迹对比图;
图6为本发明所述基于实例分割与三维重建的动态环境单目多物体SLAM方法的多物体重建实验图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将对本发明的方案进行进一步描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本发明的一部分实施例,而不是全部的实施例。
下面结合附图1至附图6对本发明的具体实施例进行详细说明。
作为本发明的某个实施例,公开了基于实例分割与三维重建的动态环境单目多物体SLAM方法,该方法涉及的SLAM系统包括实例分割网络模块、概率传播模块、对象实例化模块和三维重建模块,其中实例分割网络模块的作用是对关键帧利用实例分割网络获取动静态物体掩膜,具体的,实例分割网络模块系统作为前端图像追踪使用,需要预先训练SparseInst实例分割网络,利用coco数据集预训练SparseInst网络,得到训练好的模型,将SparseInst实例分割网络与ORB-SLAM2算法结合;概率传播模块的作用是对实例分割网络模块获取的关键帧动态物体掩膜内特征点,利用贝叶斯概率传播获取普通帧上动态特征点;对象实例化模块的作用是基于实例分割网络模块获取到的静态物体,提取其图像掩膜、二维边界框与三维稀疏点云,并利用PCA算法获取物体初始位姿的;三维重建模块的作用是在获取到多帧关键帧图像的观测数据后,依据观测到的充足数据获取物体隐式编码与优化后位姿,并构建静态物体模型;具体的,本发明所述的动态环境单目多物体SLAM方法包括如下步骤:
步骤1、获取自动驾驶车辆行驶过程中采集的图像帧序列,对每一帧图像进行特征提取并对其进行分类,分为关键帧和普通帧;
步骤2、使用实例分割网络获取动静态物体掩膜,并对动态物体内特征点标记与剔除,子步骤如下:
步骤2.1、利用训练好的SparseInst实例分割网络对关键帧进行实例分割,得到先验语义掩膜合集,大小为n×h×w,包含对应训练分数n×1;
步骤2.2、先验语义掩膜合集中包括先验动态物体的掩膜和预先设定的静态物体掩膜,先验动态物体的掩膜即大小为a×h×w的动态物体掩膜,将动态物体掩膜合集合并为h×w大小的动态物体掩膜;预先设定的静态物体掩膜即大小为b×h×w的动态物体掩膜,根据SparseInst实例分割网络输出的b×1的分数,选取动态物体掩膜中对应分数阈值大于α的物体掩膜共c个,即选取c×h×w大小的静态物体掩膜,并利用OPENCV算法计算每个静态物体掩膜对应的二维边界框,得到的二维边界框合集为c×h×w;
步骤2.3、提取关键帧图像中的特征点,标记当前关键帧图像中动态物体掩膜内的特征点的初始移动概率,更新为bel(x0),其余静态特征点的初始移动概率更新为1-bel(x0),剔除掉关键帧图像匹配特征点合集中的动态特征点;
步骤3、由于SparseInst实例分割网络应用到SLAM系统当中难以实时运行,且应用到所有图像帧中会造成计算机资源浪费,所以利用贝叶斯概率传播将关键帧图像中的动态物体掩膜内的动态特征点传播到普通帧当中,子步骤如下:
步骤3.1、提取新一帧图像中的ORB特征并计算描述子,当前帧I与上一帧已剔除动态特征点的图像帧F进行特征匹配,上一帧若为关键帧则直接利用已经剔除动态特征点的关键帧进行特征匹配;
步骤3.2、两帧图像匹配后得到两帧相机位姿变化R和t,将上一帧图像中静态特征点与动态特征点投影到当前相机帧当中,计算所有特征点匹配像素误差d;
其中,d1、d2为本方法设定的特征点匹配像素差两个上下限阈值,根据d1、d2与特征点匹配像素差d确定特征点的移动概率,zt为当前帧观测到特征点的状态,mt为当前帧特征点实际的状态,即是动态或静态;
步骤3.4、对所有特征点进行状态更新,根据关键帧图像中的初始移动概率bel(x0)与当前图像帧中测量概率,其中测量概率为公式(1)所示的移动概率更新,将移动概率状态更新表示为贝叶斯滤波器:
其中,bel(mt)为当前帧图像单个特征点移动状态概率,z1:t为第一帧到当前帧图像特征点的观测状态,z1:t-1为第一帧图像到上一帧图像特征点的观测状态,m0为特征点初始化状态;
其中状态转移概率P(Mt∣mt-1)=0.95,即动态特征点在下一帧后状态改变的概率,同理静态特征点也相同,bel(mt-1)为对应特征点在上一帧图像中的移动状态概率;最终特征点状态利用公式(4)更新,依靠阈值和/>来判断单个特征点是动态还是静态:
其中,P(mt)为(2)式所求出的特征点状态bel(mt),θd为本方法设定动态特征点的下限值,高于该值的为动态特征点;θs为本方法设定静态特征点的上限值,低于该值的为静态特征点;中间范围的设定为位置状态;判断完成后,在当前图像帧中标记动态特征点,并剔除掉动态特征点在相邻帧特征匹配中产生的影响,处理之后的当前图像帧又与下一帧图进行图像匹配;
步骤4、为提升SLAM地图的语义性与环境中语义信息的利用率,对环境中存在的静态物体创建物体对象,创建物体对象,子步骤如下:
步骤4.1、获取关键帧图像中分割的c个静态物体对象,并计算得到每一个静态物体对应的三维稀疏点云P,检测对应物体是否已经创建,若已经创建,则将当前关键帧中静态物体对应的三维稀疏点云更新到已创建的静态物体中,若未创建,则创建静态物体对象;其中,创建静态物体对象的过程为:利用当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0进行实例化,创建静态物体对象In:
其中,当静态物体上三维稀疏点云P的数量满足设定值时,使用PCA算法利用公式(5)计算当前静态物体的初始位姿Tco,0:
其中,s为相机尺度;R co为静态物体当前帧图像的旋转矩阵,t co为静态物体当前帧图像的平移向量,Sim(3)为根据匹配点来求解相似变换,即求解两个坐标系之间的旋转矩阵、平移向量和尺度,此处为物体坐标系与相机坐标系之间的相似变化;当静态物体上三维稀疏点云P的数量不满足设定值时,则转至下一静态物体;
步骤4.2、依次循环检测当关键帧图像中的c个静态物体对象,根据步骤4.1实例化过程创建多个静态物体;
步骤5、多静态物体三维重建,子步骤如下:
步骤5.1、使用ShapeNet点云数据集对DeepSDF三维重建网络进行预训练,此时训练的物体为预先定义的静态物体,可训练得到32维或64维的训练模型,具体维数与预先设定的维数相同即可;
步骤5.2、处理每一关键帧图像时,通过SparseInst实例分割网络检测到多个静态物体,根据步骤4.1和4.2更新每个静态物体上的三维稀疏点云P与初始位姿Tco,0;
步骤5.3、在单个静态物体观测帧数量达到γ且三维稀疏点云P的数量满足设定值时,将当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0传入DeepSDF三维重建网络当中;
步骤5.4、使用32维或64维的训练模型推理每一个静态物体的32维或64维隐式编码Z与优化后物体位姿Tco;
步骤5.5、利用Pangolin可视化绘图库,使用静态物体隐式编码Z对每一静态物体进行三维重建,以此得到多个静态物体的三维重建结果,即构建多物体语义地图。
从图4可以看出,利用本发明所述方法构建的多物语语义地图在相机位姿估计上与真实轨迹的差距十分小;从图5可看出,本发明所述方法是在ORB-SLAM2算法基础上做出的提升,相机位姿估计更加准确;从图6可看出,可看出本发明所述方法在构建多物体语义地图上具有较高的可行性。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。尽管参照前述各实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离各实施例技术方案的范围,其均应涵盖权利要求书的保护范围中。
Claims (1)
1.基于实例分割与三维重建的动态环境单目多物体SLAM方法,其特征在于,包括如下步骤:
步骤1、获取自动驾驶车辆行驶过程中采集的图像帧序列,对每一帧图像进行特征提取并对其进行分类,分为关键帧和普通帧;
步骤2、使用实例分割网络获取动静态物体掩膜,并对动态物体内特征点标记与剔除,子步骤如下:
步骤2.1、利用训练好的SparseInst实例分割网络对关键帧进行实例分割,得到先验语义掩膜合集,大小为n×h×w,包含对应训练分数n×1;
步骤2.2、先验语义掩膜合集中包括先验动态物体的掩膜和预先设定的静态物体掩膜,先验动态物体的掩膜即大小为a×h×w的动态物体掩膜,将动态物体掩膜合集合并为h×w大小的动态物体掩膜;预先设定的静态物体掩膜即大小为b×h×w的动态物体掩膜,根据SparseInst实例分割网络输出的b×1的分数,选取动态物体掩膜中对应分数阈值大于α的物体掩膜共c个,即选取c×h×w大小的静态物体掩膜,并利用OPENCV算法计算每个静态物体掩膜对应的二维边界框,得到的二维边界框合集为c×h×w;
步骤2.3、提取关键帧图像中的特征点,标记当前关键帧图像中动态物体掩膜内的特征点的初始移动概率,更新为bel(x0),其余静态特征点的初始移动概率更新为1-bel(x0),剔除掉关键帧图像匹配特征点合集中的动态特征点;
步骤3、利用贝叶斯概率传播将关键帧图像中的动态物体掩膜内的动态特征点传播到普通帧当中,子步骤如下:
步骤3.1、提取新一帧图像中的ORB特征并计算描述子,当前帧I与上一帧已剔除动态特征点的图像帧F进行特征匹配,上一帧若为关键帧则直接利用已经剔除动态特征点的关键帧进行特征匹配;
步骤3.2、两帧图像匹配后得到两帧相机位姿变化R和t,将上一帧图像中静态特征点与动态特征点投影到当前相机帧当中,计算所有特征点匹配像素误差d;
步骤3.3、根据特征点匹配像素差d更新对应特征点的移动概率,即利用下式进行特征点移动概率更新:
其中,d1、d2为本方法设定的特征点匹配像素差两个上下限阈值,根据d1、d2与特征点匹配像素差d确定特征点的移动概率,zt为当前帧观测到特征点的状态,mt为当前帧特征点实际的状态,即是动态或静态;
步骤3.4、对所有特征点进行状态更新,根据关键帧图像中的初始移动概率bel(x0)与当前图像帧中测量概率,其中测量概率为公式(1)所示的移动概率更新,将移动概率状态更新表示为贝叶斯滤波器:
其中,bel(mt)为当前帧图像单个特征点移动状态概率,z1:t为第一帧到当前帧图像特征点的观测状态,z1:t-1为第一帧图像到上一帧图像特征点的观测状态,m0为特征点初始化状态;
其中状态转移概率P(Mt∣mt-1)=0.95,即动态特征点在下一帧后状态改变的概率,同理静态特征点也相同,bel(mt-1)为对应特征点在上一帧图像中的移动状态概率最终特征点状态利用公式(4)更新,依靠阈值和/>来判断单个特征点是动态还是静态:
其中,P(mt)为(2)式所求出的特征点状态bel(mt),θd为本方法设定动态特征点的下限值,高于该值的为动态特征点;θs为本方法设定静态特征点的上限值,低于该值的为静态特征点;中间范围的设定为位置状态;判断完成后,在当前图像帧中标记动态特征点,并剔除掉动态特征点在相邻帧特征匹配中产生的影响,处理之后的当前图像帧又与下一帧图进行图像匹配;
步骤4、创建物体对象,子步骤如下:
步骤4.1、获取关键帧图像中分割的c个静态物体对象,并计算得到每一个静态物体对应的三维稀疏点云P,检测对应物体是否已经创建,若已经创建,则将当前关键帧中静态物体对应的三维稀疏点云更新到已创建的静态物体中,若未创建,则创建静态物体对象;其中,创建静态物体对象的过程为:利用当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0进行实例化,创建静态物体对象In:
其中,当静态物体上三维稀疏点云P的数量满足设定值时,使用PCA算法利用公式(5)计算当前静态物体的初始位姿Tco,0:
其中,s为相机尺度;R co为静态物体当前帧图像的旋转矩阵,t co为静态物体当前帧图像的平移向量,Sim(3)为根据匹配点来求解相似变换,即求解两个坐标系之间的旋转矩阵、平移向量和尺度;当静态物体上三维稀疏点云P的数量不满足设定值时,则转至下一静态物体;
步骤4.2、依次循环检测当关键帧图像中的c个静态物体对象,根据步骤4.1实例化过程创建多个静态物体;
步骤5、多静态物体三维重建,子步骤如下:
步骤5.1、使用ShapeNet点云数据集对DeepSDF三维重建网络进行预训练,此时训练的物体为预先定义的静态物体,可训练得到32维或64维的训练模型,具体维数与预先设定的维数相同即可;
步骤5.2、处理每一关键帧图像时,通过SparseInst实例分割网络检测到多个静态物体,根据步骤4.1和4.2更新每个静态物体上的三维稀疏点云P与初始位姿Tco,0;
步骤5.3、在单个静态物体观测帧数量达到γ且三维稀疏点云P的数量满足设定值时,将当前静态物体掩膜M和与其对应的二维边界框B、三维稀疏点云P、初始位姿Tco,0传入DeepSDF三维重建网络当中;
步骤5.4、使用32维或64维的训练模型推理每一个静态物体的32维或64维隐式编码Z与优化后物体位姿Tco;
步骤5.5、利用Pangolin可视化绘图库,使用静态物体隐式编码Z对每一静态物体进行三维重建,以此得到多个静态物体的三维重建结果,即构建多物体语义地图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310303642.8A CN116310128A (zh) | 2023-03-27 | 2023-03-27 | 基于实例分割与三维重建的动态环境单目多物体slam方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310303642.8A CN116310128A (zh) | 2023-03-27 | 2023-03-27 | 基于实例分割与三维重建的动态环境单目多物体slam方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116310128A true CN116310128A (zh) | 2023-06-23 |
Family
ID=86835874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310303642.8A Pending CN116310128A (zh) | 2023-03-27 | 2023-03-27 | 基于实例分割与三维重建的动态环境单目多物体slam方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310128A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036408A (zh) * | 2023-08-22 | 2023-11-10 | 哈尔滨理工大学 | 一种动态环境下联合多目标跟踪的物体slam方法 |
CN117611498A (zh) * | 2023-11-22 | 2024-02-27 | 深圳技术大学 | 一种图像补全方法、计算机以及计算机可读存储介质 |
CN117804465A (zh) * | 2024-01-04 | 2024-04-02 | 中国矿业大学 | 一种基于三维隐式表示渲染下的在线攻击与鲁棒导航方法 |
CN118097030A (zh) * | 2024-04-23 | 2024-05-28 | 华南农业大学 | 一种基于BundleFusion的三维重建方法 |
-
2023
- 2023-03-27 CN CN202310303642.8A patent/CN116310128A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036408A (zh) * | 2023-08-22 | 2023-11-10 | 哈尔滨理工大学 | 一种动态环境下联合多目标跟踪的物体slam方法 |
CN117036408B (zh) * | 2023-08-22 | 2024-03-29 | 哈尔滨理工大学 | 一种动态环境下联合多目标跟踪的物体slam方法 |
CN117611498A (zh) * | 2023-11-22 | 2024-02-27 | 深圳技术大学 | 一种图像补全方法、计算机以及计算机可读存储介质 |
CN117611498B (zh) * | 2023-11-22 | 2024-08-23 | 深圳技术大学 | 一种图像补全方法、计算机以及计算机可读存储介质 |
CN117804465A (zh) * | 2024-01-04 | 2024-04-02 | 中国矿业大学 | 一种基于三维隐式表示渲染下的在线攻击与鲁棒导航方法 |
CN117804465B (zh) * | 2024-01-04 | 2024-09-20 | 中国矿业大学 | 一种基于三维隐式表示渲染下的在线攻击与鲁棒导航方法 |
CN118097030A (zh) * | 2024-04-23 | 2024-05-28 | 华南农业大学 | 一种基于BundleFusion的三维重建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112991447B (zh) | 一种动态环境下视觉定位与静态地图构建方法及系统 | |
CN109816725B (zh) | 一种基于深度学习的单目相机物体位姿估计方法及装置 | |
CN116310128A (zh) | 基于实例分割与三维重建的动态环境单目多物体slam方法 | |
CN108288051B (zh) | 行人再识别模型训练方法及装置、电子设备和存储介质 | |
CN111652892A (zh) | 一种基于深度学习的遥感影像建筑物矢量提取及优化方法 | |
CN111079847B (zh) | 一种基于深度学习的遥感影像自动标注方法 | |
CN112288857A (zh) | 一种基于深度学习的机器人语义地图物体识别方法 | |
CN113516664A (zh) | 一种基于语义分割动态点的视觉slam方法 | |
WO2022218396A1 (zh) | 图像处理方法、装置和计算机可读存储介质 | |
CN113657387B (zh) | 基于神经网络的半监督三维点云语义分割方法 | |
CN111340881B (zh) | 一种动态场景下基于语义分割的直接法视觉定位方法 | |
CN117079139B (zh) | 一种基于多尺度语义特征的遥感图像目标检测方法及系统 | |
CN113344932A (zh) | 一种半监督的单目标视频分割方法 | |
CN110728694A (zh) | 一种基于持续学习的长时视觉目标跟踪方法 | |
CN113920170A (zh) | 结合场景上下文和行人社会关系的行人轨迹预测方法、系统及存储介质 | |
CN111950561A (zh) | 一种基于语义分割的剔除语义slam动态点的方法 | |
CN117252904B (zh) | 基于长程空间感知与通道增强的目标跟踪方法与系统 | |
CN117541652A (zh) | 一种基于深度lk光流法与d-prosac采样策略的动态slam方法 | |
CN117253044A (zh) | 一种基于半监督交互学习的农田遥感图像分割方法 | |
CN113223037B (zh) | 一种面向大规模数据的无监督语义分割方法及系统 | |
CN114119669A (zh) | 一种基于Shuffle注意力的图匹配目标跟踪方法与系统 | |
CN113570713A (zh) | 一种面向动态环境的语义地图构建方法及装置 | |
CN117523194A (zh) | 一种基于稀疏标注的图像分割方法 | |
CN115050010B (zh) | 一种针对三维物体检测器的迁移学习方法 | |
CN116630610A (zh) | 基于语义分割模型和条件随机场的roi区域提取方法 |
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 |