CN117710806A - 一种基于语义分割和光流的语义视觉slam方法及*** - Google Patents
一种基于语义分割和光流的语义视觉slam方法及*** Download PDFInfo
- Publication number
- CN117710806A CN117710806A CN202311411809.9A CN202311411809A CN117710806A CN 117710806 A CN117710806 A CN 117710806A CN 202311411809 A CN202311411809 A CN 202311411809A CN 117710806 A CN117710806 A CN 117710806A
- Authority
- CN
- China
- Prior art keywords
- semantic
- dynamic
- semantic segmentation
- key frame
- thread
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000003287 optical effect Effects 0.000 title claims abstract description 45
- 230000000007 visual effect Effects 0.000 title claims abstract description 22
- 230000003068 static effect Effects 0.000 claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 7
- 230000008439 repair process Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000001514 detection method Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 101100295091 Arabidopsis thaliana NUDT14 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- 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/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- 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/10024—Color image
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于语义分割和光流的语义视觉SLAM方法及***,通过采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,并采用光流法剔除RGB图像中的非先验动态目标,能够有效剔除非先验动态目标和动态目标边缘的特征点,获取静态目标特征点,并进行匹配与位姿估计,利用跟踪线程产生关键帧,并对关键帧上动态目标遮挡的部分进行背景修复,提升位姿估计准确性。利用背景修复技术处理后的图像结合静态物体语义标签信息,获得含有语义标签信息的局部地图;然后利用位姿信息进行点云拼接,构建含有语义标签信息的稠密全局地图。解决了视觉SLAM***易受动态目标的影响,导致位姿估计误差大,***实时性较差以及无法建立语义地图的问题。
Description
技术领域
本发明涉及视觉SLAM定位与建图技术领域,具体涉及一种基于语义分割和光流的语义视觉SLAM方法及***。
背景技术
视觉即时定位与地图构建(Simultaneous Localzation and Mappping,SLAM)是指移动机器人在没有先验知识的环境中,通过相机获取以图像为主的外部环境信息,在运动过程中进行位姿估计与环境地图的构建。目前,多数的视觉SLAM方法均是将外部环境假设为静态场景,并且场景的主要变化部分是由相机运动造成的。而在实际环境中,不可避免地存在移动的物体,比如行走的人、行驶中的车辆等。若动态目标在视场中占比较大,将会出现特征点误匹配以及特征点跟踪失败的情况,从而导致漂移过大和定位失败。因此,最初设计用于在静态场景中运行的SLAM方法是无法处理复杂的动态场景。
为解决此问题,需要从动态环境中识别和剔除动态目标。面对这类问题,在视觉SLAM领域,近年出现了以深度学习技术为代表的层次化图像特征提取方法,大多使用语义分割或目标检测算法来识别环境中的动态目标,并成功应用于SLAM帧间估计中。现有技术中的语义分割网络或目标检测网络,结合深度学习的***均无法有效识别非先验知识的动态目标,或网络模型参数量过大、模型算力对硬件要求过高,难以应用在移动端设备,***运行实时性较差。
发明内容
有鉴于此,本发明提供了一种基于语义分割和光流的语义视觉SLAM方法及***,能够有效识别先验知识与非先验知识的动态目标,提高动态场景定位准确性以及语义地图的构建。
本发明采用的具体技术方案如下:
一种基于语义分割和光流的语义视觉SLAM方法,包括:采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,并采用光流法剔除所述RGB图像中的非先验动态目标,获得静态特征点;对所述静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定所述动态场景的关键帧,并对所述关键帧的动态目标遮挡的部分进行背景修复;根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图。
进一步地,在所述采用语义分割网络剔除动态场景的RGB图像中的先验动态目标之前,所述方法还包括:获取动态场景的RGB图像和深度图像,并将所述RGB图像同时输入至ORB-SLAM2框架的跟踪线程和新增的语义分割线程,其中,所述语义分割线程用于实现所述语义分割网络、所述光流法、所述背景修复。
进一步地,所述采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,包括:采用所述语义分割网络,获取所述RGB图像的像素级的语义标签信息,根据所述语义标签信息,剔除所述先验动态目标。
进一步地,其中,所述语义分割网络采用轻量化网络MobileNetV2作为主干网络。
进一步地,所述采用光流法剔除所述RGB图像中的非先验动态目标,包括:获取所述RGB图像的特征点的平均运动速度,将大于预设速度阈值的所述特征点判定为动态特征点,将所述动态特征点剔除,以剔除所述RGB图像中的非先验动态目标。
进一步地,根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图,包括:根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,获得含有语义信息的局部地图;根据所述位姿估计获得的位姿信息,对所述局部地图进行点云拼接,获得含有语义标签信息的稠密全局地图。
进一步地,ORB-SLAM2框架的跟踪线程通过所述重定位线程重新定位相机位姿,以确定所述动态场景的所述关键帧。
进一步地,对所述关键帧的动态目标遮挡的部分进行背景修复,包括:选取当前关键帧之前的n帧关键帧,并为所述当前关键帧和所述n帧关键帧设置关联权重,结合所述关联权重将所述n帧关键帧的图像彩色信息和图像深度信息投影到所述当前关键帧。
一种基于语义分割和光流的动态场景图像构建***,包括:ORB-SLAM2框架结构和语义分割线程,其中,所述语义分割线程为所述ORB-SLAM2框架结构的跟踪线程的并发线程;所述语义分割线程包括语义分割模块、光流计算模块和背景修复模块;所述语义分割模块用于采用语义分割网络剔除动态场景的RGB图像中的先验动态目标;所述光流计算模块用于采用光流法剔除所述RGB图像中的非先验动态目标,获得静态特征点;所述的背景修复模块用于对关键帧上动态目标遮挡的部分进行背景修复;所述ORB-SLAM2框架结构的所述跟踪线程用于对所述静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定所述动态场景的关键帧,并根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图。
进一步地,在所述语义分割模块中,所述语义分割网络采用轻量化网络MobileNetV2作为主干网络。
有益效果:
(1)一种基于语义分割和光流的语义视觉SLAM方法,采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,并采用光流法剔除RGB图像中的非先验动态目标,能够有效剔除非先验动态目标和动态目标边缘的特征点,获取静态目标特征点,并进行匹配与位姿估计,利用跟踪线程产生关键帧,提升位姿估计的准确性。
(2)语义分割网络采用轻量化网络MobileNetV2作为主干网络,能够实现特征提取模型结构的轻量化,提升处理速度,保证SLAM***的实时性。
(3)选取当前关键帧之前的n帧关键帧,并为当前关键帧和n帧关键帧设置关联权重,结合关联权重对动态场景的RGB-D图像进行背景修复,有效对动态目标遮挡的部分进行背景修复,为ORB-SLAM2框架的重定位环节提供更准确的匹配信息,进一步提升定位精度。
附图说明
图1是根据本发明实施例的语义视觉SLAM方法及***的流程图;
图2是根据本发明实施例的语义视觉SLAM方法及***的框架原理图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
为解决上述视觉SLAM***易受动态目标的影响,导致位姿估计误差大,以及***实时性较差的问题,本发明实施例提出了一种基于语义分割和光流的语义视觉SLAM方法及***,图1是根据本发明实施例的语义视觉SLAM方法及***的流程图,如图1所示,包括:
步骤S101,采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,并采用光流法剔除RGB图像中的非先验动态目标,获得静态特征点;
在一个示例性实施例中,采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,包括:采用语义分割网络,获取RGB图像的像素级的语义标签信息,根据语义标签信息,剔除先验动态目标。
在一个示例性实施例中,其中,语义分割网络采用轻量化网络MobileNetV2作为主干网络。
在一个示例性实施例中,采用光流法剔除RGB图像中的非先验动态目标,包括:获取RGB图像的特征点的平均运动速度,将大于预设速度阈值的特征点判定为动态特征点,将动态特征点剔除,以剔除RGB图像中的非先验动态目标。
在一个示例性实施例中,在采用语义分割网络剔除动态场景的RGB图像中的先验动态目标之前,方法还包括:获取动态场景的RGB图像和深度图像,并将RGB图像同时输入至ORB-SLAM2框架的跟踪线程和新增的语义分割线程,其中,语义分割线程用于实现语义分割网络、光流法和背景修复。
在实际实施过程中,可以通过双目RGB-D相机获取图像数据,包括RGB图像和深度图像。
步骤S102,对静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定动态场景的关键帧,并对关键帧的动态目标遮挡的部分进行背景修复;
在实际实施过程中,对所述静态特征点进行特征点匹配获得所述动态场景下物体更精确的位姿信息。
在一个示例性实施例中,其中,ORB-SLAM2框架的跟踪线程通过重定位线程重新定位相机位姿,以确定动态场景的关键帧。
在实际实施过程中,选择对后续场景重建贡献大的帧作为所述动态场景的关键帧。
步骤S103,根据静态特征点的语义标签信息和完成背景修复的关键帧,构建含有语义标签信息的稠密全局地图。
在一个示例性实施例中,根据静态特征点的语义标签信息和完成背景修复的关键帧,构建含有语义标签信息的稠密全局地图,包括:根据静态特征点的语义标签信息和完成背景修复的关键帧,获得含有语义信息的局部地图;根据位姿估计获得的位姿信息,对局部地图进行点云拼接,获得含有语义标签信息的稠密全局地图。
在实际实施过程中,选取当前待修复帧之前的n帧关键帧图像,设置关联权重,令不同时刻关键帧所占的权重不同,越靠近当前帧的关键帧权重越大,并将图像的彩色信息和深度信息根据特征点匹配关系投影到当前帧上;根据所述背景修复技术处理后的图像结合静态物体语义标签信息,获得含有语义信息的局部地图;然后利用位姿信息进行点云拼接,构建含有语义信息的稠密全局地图。其中,n为正整数。
本发明实施例还提供了一种基于语义分割和光流的语义视觉SLAM***,包括:ORB-SLAM2框架结构和增加的语义分割线程,其中,语义分割线程为ORB-SLAM2框架结构的跟踪线程的并发线程;语义分割线程包括语义分割模块、光流计算模块和背景修复模块;语义分割模块用于采用语义分割网络剔除动态场景的RGB图像中的先验动态目标;光流计算模块用于采用光流法剔除RGB图像中的非先验动态目标,获得静态特征点;背景修复模块用于对关键帧上动态目标遮挡的部分进行背景修复;ORB-SLAM2框架结构的跟踪线程用于对静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定动态场景的关键帧,并根据静态特征点的语义标签信息和完成背景修复的关键帧,构建含有语义标签信息的稠密全局地图。
在一个示例性实施例中,在语义分割模块中,语义分割网络采用轻量化网络MobileNetV2作为主干网络。
为了使得本领域的技术人员更好地理解本发明的技术方案,下面结合具体的场景实施例进行阐述。
场景实施例一
本发明实施例即场景实施例采用在ORB-SLAM2框架(ORiented Brief-Simultaneous Localzation and Mappping,选取特征点-即时定位与地图构建)基础上增添一条语义分割线程的技术方案,实现了一种面向动态场景的语义视觉SLAM***,有效消除了动态目标对传统SLAM***的影响。该线程包括语义分割模块、光流计算模块和背景修复模块。其中,语义分割模块使用轻量级网络作为语义分割网络的主干特征提取网络来提取动态目标特征,使特征提取网络模型轻量化并提升预测速度,从而保证***运行的实时性。
图2是根据本发明实施例的动态场景图像构建***的框架原理图,如图2所示,本发明实施例的***采用四线程并行:跟踪线程,语义分割线程,回环检测线程与局部建图线程。其中,语义分割线程包括语义分割模块,光流计算模块与背景修复模块。
首先,对于ORB-SLAM2框架而言,跟踪线程(Tracking),又称为视觉里程计,主要工作内容为:特征提取、特征匹配、运动估计、位姿优化、状态更新以及关键帧选取。首先从当前帧中提取ORB特征点,并在上一帧中搜索对应的特征点,使用描述子匹配算法来对当前帧中的特征点进行匹配。其次,使用相邻帧之间的光流来估计相机的运动,使用BA算法对相机位姿进行优化,以最小化重投影误差。然后使用估计的相机位姿来更新***状态。ORB-SLAM2通过状态机来管理***状态,包括初始化、跟踪、丢失和重定位。如果ORB-SLAM2在跟踪线程中丢失了当前帧,***将尝试通过重定位线程重新定位相机位姿。最后,选择对后续场景重建贡献较大的帧作为关键帧,减少计算量,提高***效率。
局部建图线程(Local Mapping)用于建立局部地图,其中包含相机观察到的特征点和地图点。这个线程运行在一个单独的线程中,它会不断接收来自跟踪线程的新的相机帧和更新的相机位姿,并使用这些数据来构建和更新局部地图。主要工作内容包括:三角化、地图点筛选、地图更新和关键帧选择。当新的相机帧被跟踪线程接收时,局部建图线程将使用相机位姿将这些特征点三角化为3D地图点。为了增加地图的准确性,ORB-SLAM2使用多视图几何算法来三角化地图点,并使用光束法平差算法(Bundle Adjustment,BA)来优化其位置。然后使用了基于贪心策略的地图点筛选算法,该算法可以快速且有效地选择最具代表性的地图点,以提高局部地图的质量和效率。这个策略通常会选择距离当前相机帧比较近的地图点,并在视野内的地图点中选择具有较高质量的地图点。再使用增量式地图更新算法,每次接收到新的相机帧时,都会根据相机位姿和三角化结果来更新局部地图。更新过程包括向地图添加新的地图点,将新的地图点与现有的地图点进行匹配,更新现有地图点的位置和描述符等操作。同时,局部建图线程还负责选择关键帧,以便于ORB-SLAM2进行全局地图优化和回环检测。
回环检测线程(LoopClosing)用于检测相机路径中是否存在回环,并对回环进行处理。当相机路径中存在回环时,该线程会尝试将回环检测到的关键帧与之前的关键帧进行匹配,以修正相机路径的误差,并提高地图的准确性。主要工作内容有:回环检测和回环匹配,并包含了跟踪线程的重定位功能调用。ORB-SLAM2使用BoW(Bag of Words)模型来检测回环。该模型将每个关键帧表示为一个词袋,每个词袋由若干个单词组成。当两个关键帧具有相似的词袋时,就认为它们可能是同一位置的不同视角。比较当前帧的词袋和历史帧的词袋,来检测回环。当回环线程检测到回环时,它会对当前帧和历史帧之间的匹配进行优化,以修正相机路径的误差。具体来说,它会使用RANSAC算法来估计两个关键帧之间的变换矩阵,然后使用BA算法来优化整个回环。当ORB-SLAM2无法跟踪相机时,例如当相机移动到新的未探索区域时,回环检测线程也可以用于重定位。它会使用当前帧的特征点来搜索历史关键帧,并尝试找到最佳匹配的关键帧,以重新定位相机的位姿。
根据图2所示的语义视觉SLAM***的框架原理,本发明实施例中动态场景图像构建方法包括以下步骤:
步骤1:通过双目RGB-D相机获取图像数据,包括RGB图像和深度图像;
本实施例首先通过双目RGB-D相机获取彩色图像和深度图像,为跟踪线程和语义分割线程提供图像帧。在实际实施过程中,图像的获取方式不局限于上述一种方法。
步骤2:将步骤1所得RGB图像传入跟踪线程和语义分割线程;
其中,语义分割线程包括语义分割模块、光流计算模块和背景修复模块。
步骤3:其中,RGB图像通过改进的语义分割网络剔除图像中的先验动态目标;
其中,通过改进的语义分割网络对图像进行处理,该语义分割网络以轻量级网络作为主干网络,RGB图像经过改进的语义分割网络处理,获得像素级的语义信息,利用该语义信息,剔除图像中先验动态目标上的特征点。
为了保证***的实时性和分割效果,本实施例采用轻量级网络作为语义分割网络的主干特征提取网络。彩色图像先经过改进的语义分割网络处理,从而获得像素级语义信息。利用语义信息,剔除图像中先验动态目标上的特征点。
首先,对于传统的语义分割网络,诸如DeepLabv3+网络的语义分割网络,它的编码器Encoder的主体是带有空洞卷积的深度卷积神经网络(Deep Convolutional NeuralNetworks,DCNN),一般采用常用的分类网络如ResNet或Xception,DCNN处理后进入带有空洞卷积的空间金字塔池化模块(Atrous Spatial Pyramid Pooling,ASPP),引入多尺度信息,减少信息的丢失;DeepLabv3+采用Xception作为主干特征提取网络,DeepLabv3+的解码器Decoder模块,将浅层次特征与深层次特征进一步融合,提升目标边界处分割准确度。
本发明实施例以DeepLabv3+网络为基础,对其进行轻量化处理,使用MobileNetV2替换DCNN主干网络Xception。MobileNetV2同样采用深度可分离卷积以减少模型参数量,同时使用逆向的残差结构增加卷积的维度,提高模型提取特征的能力,再采用线性瓶颈结构,避免非线性激活函数对低维空间信息的破坏,提高网络的性能。使用轻量化网络MobileNetV2替换主干网络解决了网络参数量大、过度依赖硬件资源的问题,使得本文网络在保证精度的同时拥有更小的网络模型以及更快的处理速度,满足实时性的需求。
上述轻量级网络的描述仅作举例说明,在实际实施过程中,对于不同的神经网络结构,可以采用不同的神经网络作为轻量级网络,进而改进原有的神经网络模型的结构,这里不再赘述。
步骤4:通过光流法进一步筛选非先验动态目标并剔除;
经过语义分割处理后的图像将会在先验动态目标上覆盖掩膜,以此剔除动态特征点,但非先验动态目标和动态目标边缘处仍会被提取到特征点,于是进一步通过光流法筛选剔除动态特征点。
步骤4对步骤3提取到的特征点进行进一步筛选,通过光流法剔除非先验动态目标上的特征点。其中,通过对比平均运动速度可以对图像帧内所有动态特征点进行筛选,若大于一定阈值则判定该特征点为动态特征点,在计算位姿时将会被删除,不参与特征匹配与重投影计算位姿。
光流法是一种描述像素随时间变化在图像间运动的方法。在光流法中,图像可以看作时间的函数,在t时刻,位于(x,y)处的特征点,灰度可以写成I(x,y,t)。
由灰度不变假设可知:
式中:dx/d,t dy/d为特征点在x,y方向上运动速度,分别记为u,v;为特征点在方向上的梯度,分别记为Ix,Iy;
为求解出特征点运动速度,增加其他约束。设同一区域内的像素具有相同的运动,即取一个8*8的方形区域,区域中64个像素均具有相同的运动,则方程为:
设M为所有特征点合集M={m1,m2,...,mn},根据上式计算集合内所有特征点的平均运动速度为:
通过对比平均运动速度可以对集合M内所有动态特征点进行筛选,如下式:
d为判断阈值,若大于该阈值则判定该特征点为动态特征点,在计算位姿时将会被删除,不参与特征匹配与重投影计算位姿。
步骤5:使用筛选后的静态特征点进行特征点匹配与位姿估计;
步骤6:利用跟踪线程产生关键帧;
经过部分语义分割线程和整个跟踪线程之后将会产生关键帧,利用关键帧对被动态目标掩膜遮挡的背景进行修复。
步骤7:根据关键帧的相关数据进行背景修复并建图;
其中,采用时间加权多帧融合技术,通过选取当前待修复帧之前的20帧关键帧图像,设置关联权重,令不同时刻关键帧所占的权重不同,将图像的彩色信息和深度信息修复。
当两帧图像匹配点数太少导致算法跟丢时,进入跟踪线程的重定位环节,将当前帧与所有候选关键帧进行特征匹配,此时修复后的候选关键帧信息更丰富,更有利于位姿估计以及SLAM***(即动态场景图像构建***)后续的回环检测线程和建图线程。
选取当前待修复帧之前的n帧关键帧图像,设置关联权重,令不同时刻关键帧所占的权重不同,越靠近当前帧的关键帧权重越大,并将图像的彩色信息和深度信息投影到当前帧上,计算公式为:
式中Fs为修复后当前关键帧,Fc为未修复当前关键帧,Fi为ti时刻关键帧。修复的图像结果是去除动态干扰的静态关键帧。利用之前的静态关键帧修复后,动态目标所遮挡背景处的彩色图像信息和深度图像信息将会被恢复。
在本发明实例中,利用改进的语义分割网络结合光流法实现对环境中的动态目标的检测与剔除,获取静态目标上的特征点并进行匹配与位姿估计。在关键帧上使用时间加权多帧融合技术对动态目标遮挡的部分进行背景修复,为重定位环节提供更准确的匹配信息,进一步提升定位精度。
综上,本发明实施例提供了一种基于语义分割和光流的语义视觉SLAM方法及***,通过在ORB-SLAM2框架基础上增添一条语义分割线程,有效消除了动态目标对传统SLAM***的影响。基于语义分割网络提取环境中的特征及先验语义信息,并采用轻量级网络作为该网络的主干特征提取网络,降低网络的参数量及运算量,使得***运行实时性得以保证。基于改进的语义分割网络结合光流法的动态目标检测与剔除方法,实现室内环境中的动态目标的检测与剔除,语义分割网络分割先验动态目标,光流法检测非先验动态目标,最终获取静态目标上的特征点并进行匹配与位姿估计。为进一步提升定位精度,提出基于时间加权多帧融合的背景修复技术,对关键帧上动态目标遮挡的部分进行背景修复,为重定位环节提供更准确的匹配信息。
以上的具体实施例仅描述了本发明的设计原理,该描述中的部件形状,名称可以不同,不受限制。所以,本发明领域的技术人员可以对前述实施例记载的技术方案进行修改或等同替换;而这些修改和替换未脱离本发明创造宗旨和技术方案,均应属于本发明的保护范围。
Claims (10)
1.一种基于语义分割和光流的语义视觉SLAM方法,其特征在于,包括:
采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,并采用光流法剔除所述RGB图像中的非先验动态目标,获得静态特征点;
对所述静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定所述动态场景的关键帧,并对所述关键帧的动态目标遮挡的部分进行背景修复;
根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图。
2.如权利要求1所述的方法,其特征在于,在所述采用语义分割网络剔除动态场景的RGB图像中的先验动态目标之前,所述方法还包括:
获取动态场景的RGB图像和深度图像,并将所述RGB图像同时输入至ORB-SLAM2框架的跟踪线程和新增的语义分割线程,其中,所述语义分割线程用于实现所述语义分割网络、所述光流法、所述背景修复。
3.如权利要求1所述的方法,其特征在于,所述采用语义分割网络剔除动态场景的RGB图像中的先验动态目标,包括:
采用所述语义分割网络,获取所述RGB图像的像素级的语义标签信息,根据所述语义标签信息,剔除所述先验动态目标。
4.如权利要求3所述的方法,其特征在于,其中,所述语义分割网络采用轻量化网络MobileNetV2作为主干网络。
5.如权利要求1所述的方法,其特征在于,所述采用光流法剔除所述RGB图像中的非先验动态目标,包括:
获取所述RGB图像的特征点的平均运动速度,将大于预设速度阈值的所述特征点判定为动态特征点,将所述动态特征点剔除,以剔除所述RGB图像中的非先验动态目标。
6.如权利要求1所述的方法,其特征在于,根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图,包括:
根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,获得含有语义信息的局部地图;
根据所述位姿估计获得的位姿信息,对所述局部地图进行点云拼接,获得含有语义标签信息的稠密全局地图。
7.如权利要求1所述的方法,其特征在于,其中,
ORB-SLAM2框架的跟踪线程通过所述重定位线程重新定位相机位姿,以确定所述动态场景的所述关键帧。
8.如权利要求1所述的方法,其特征在于,对所述关键帧的动态目标遮挡的部分进行背景修复,包括:
选取当前关键帧之前的n帧关键帧,并为所述当前关键帧和所述n帧关键帧设置关联权重,结合所述关联权重将所述n帧关键帧的图像彩色信息和图像深度信息投影到所述当前关键帧。。
9.一种基于语义分割和光流的动态场景图像构建***,其特征在于,包括:
ORB-SLAM2框架结构和语义分割线程,其中,所述语义分割线程为所述ORB-SLAM2框架结构的跟踪线程的并发线程;所述语义分割线程包括语义分割模块、光流计算模块和背景修复模块;
所述语义分割模块用于采用语义分割网络剔除动态场景的RGB图像中的先验动态目标;所述光流计算模块用于采用光流法剔除所述RGB图像中的非先验动态目标,获得静态特征点;所述的背景修复模块用于对关键帧上动态目标遮挡的部分进行背景修复;
所述ORB-SLAM2框架结构的所述跟踪线程用于对所述静态特征点进行特征点匹配与位姿估计,通过重定位线程重新定位相机位姿,确定所述动态场景的关键帧,并根据所述静态特征点的语义标签信息和完成背景修复的所述关键帧,构建含有语义标签信息的稠密全局地图。
10.如权利要求9所述的***,其特征在于,在所述语义分割模块中,所述语义分割网络采用轻量化网络MobileNetV2作为主干网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311411809.9A CN117710806A (zh) | 2023-10-27 | 2023-10-27 | 一种基于语义分割和光流的语义视觉slam方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311411809.9A CN117710806A (zh) | 2023-10-27 | 2023-10-27 | 一种基于语义分割和光流的语义视觉slam方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710806A true CN117710806A (zh) | 2024-03-15 |
Family
ID=90159494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311411809.9A Pending CN117710806A (zh) | 2023-10-27 | 2023-10-27 | 一种基于语义分割和光流的语义视觉slam方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117710806A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118155175A (zh) * | 2024-04-22 | 2024-06-07 | 神鳍科技(上海)有限公司 | 一种动态场景重建的方法及*** |
-
2023
- 2023-10-27 CN CN202311411809.9A patent/CN117710806A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118155175A (zh) * | 2024-04-22 | 2024-06-07 | 神鳍科技(上海)有限公司 | 一种动态场景重建的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111462200B (zh) | 一种跨视频行人定位追踪方法、***及设备 | |
Engel et al. | Large-scale direct SLAM with stereo cameras | |
CN111724439B (zh) | 一种动态场景下的视觉定位方法及装置 | |
CN110378345B (zh) | 基于yolact实例分割模型的动态场景slam方法 | |
CN111968129A (zh) | 具有语义感知的即时定位与地图构建***及方法 | |
CN110688905B (zh) | 一种基于关键帧的三维物体检测与跟踪方法 | |
CN106683121A (zh) | 一种融合检测过程的鲁棒目标追踪方法 | |
CN109974743B (zh) | 一种基于gms特征匹配及滑动窗口位姿图优化的视觉里程计 | |
CN112446882A (zh) | 一种动态场景下基于深度学习的鲁棒视觉slam方法 | |
CN112001859A (zh) | 一种人脸图像的修复方法及*** | |
CN113744315B (zh) | 一种基于双目视觉的半直接视觉里程计 | |
CN117710806A (zh) | 一种基于语义分割和光流的语义视觉slam方法及*** | |
CN110599522A (zh) | 一种视频序列中动态目标检测剔除方法 | |
CN110599545A (zh) | 一种基于特征的构建稠密地图的*** | |
CN106558069A (zh) | 一种基于视频监控下的目标跟踪方法及*** | |
CN117036404A (zh) | 一种单目热成像同时定位与建图方法和*** | |
Min et al. | Coeb-slam: A robust vslam in dynamic environments combined object detection, epipolar geometry constraint, and blur filtering | |
CN113888603A (zh) | 基于光流跟踪和特征匹配的回环检测及视觉slam方法 | |
Zhuang et al. | Amos-SLAM: An Anti-Dynamics Two-stage SLAM Approach | |
Xie et al. | Hierarchical quadtree feature optical flow tracking based sparse pose-graph visual-inertial SLAM | |
Zhao et al. | A robust stereo semi-direct SLAM system based on hybrid pyramid | |
CN114202579B (zh) | 一种面向动态场景的实时多体slam*** | |
Zhao et al. | An object tracking algorithm based on occlusion mesh model | |
CN110276233A (zh) | 一种基于深度学习的多相机协同跟踪*** | |
Li | Research on rgb-d slam dynamic environment algorithm based on yolov8 |
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 |