CN110533720A - 基于联合约束的语义slam***及方法 - Google Patents
基于联合约束的语义slam***及方法 Download PDFInfo
- Publication number
- CN110533720A CN110533720A CN201910768052.6A CN201910768052A CN110533720A CN 110533720 A CN110533720 A CN 110533720A CN 201910768052 A CN201910768052 A CN 201910768052A CN 110533720 A CN110533720 A CN 110533720A
- Authority
- CN
- China
- Prior art keywords
- point
- module
- depth
- characteristic
- 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.)
- Granted
Links
Classifications
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-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
- G06V10/267—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 by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- 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
-
- 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
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提出了一种基于联合约束的语义SLAM***与方法,旨在解决解决在像素深度值不稳定情况下相机位姿计算不准确和当动态目标占据相机视野大部分空间时无法计算相机位姿的问题,通过深度约束方法提高了相机位姿估计的准确性,采用极线约束方法提高了相机轨迹的完整性。实现方法为:数据采集模块获取图像序列;神经网络模块获取检测图像和实例分割图像;联合约束模块获取不同的特征点类别集合;数据融合模块获取静态目标实例分割图像和动态目标实例分割图像;视觉前端模块获取深度相机的位姿和三维空间中的路标点集合;后端优化模块获取全局最优的深度相机位姿和路标点;语义地图模块获取语义点云地图。
Description
技术领域
本发明属于计算机视觉技术领域,更进一步涉及一种基于联合约束的语义SLAM***与方法,可用于复杂高动态环境中相机的位姿估计与语义地图的构建。
背景技术
同时定位与地图构建***SLAM,在无人***的自主导航避障上扮演着重要的角色,过去的三十年中,SLAM***发展迅速,其主要目标是无人***在对未知环境进行自主探索的过程中进行自身精确定位的同时能够构建环境地图。但是传统的SLAM***建出的地图只包含环境中的点、线、面等低等级几何特征,而对于未来的无人***,只包含简单空间信息的地图难以满足其发展需求。语义地图的独到之处在于包含了环境中物体的语义信息,三维空间的语义地图能够使无人***正确感知周围情况,通过对环境的认知理解,能让SLAM***提升一定的定位精度,弥补现有无人***在环境感知,及理解的不足。语义SLAM***在建图过程中不仅获得环境中物体的几何结构信息,识别环境中物体,同时可以获取其位置、姿态和功能属性等语义信息,从而能有效的应对复杂场景及完成更加复杂的任务。
2018年10月,西班牙萨拉戈萨大学的Berta Bescos等人在IEEE Robotics andAutomation Letters第3卷第4期发表名称为“DynaSLAM:Tracking,Mapping,andInpainting in Dynamic Scenes”的文章,提出了一种基于实例分割的SLAM***及方法,在ORB-SLAM2的基础上,增加了动态目标检测功能,将RGB-D图像数据输入到Mask R-CNN网络中对所有具备先验动态性质的目标进行逐像素的分割,得到动态目标实例,并采用多视图几何方法检测不包含于CNN网络输出类别中的真实移动物体,通过不属于这些动态目标实例和真实移动物体的特征点匹配对计算相机位姿,解决了ORB-SLAM2 在环境中有动态目标情况下相机位姿估计不准确的问题。同时,在实例分割中将所有具备先验动态性质的目标实例分割出去,得到仅含有静态场景的图像,并使用静态场景图像构建点云地图。
然而,DynaSLAM将所有具有先验动态性质的目标去除,当这些目标在环境中是静态时,建立的静态场景地图将缺失这些物体的信息,从而使得地图构建不够准确。另一方面,在深度值不稳定的情况下,利用深度值不稳定的特征匹配对计算相机位姿将导致位姿估计误差较大,而且当动态目标占据相机视野中的大部分空间时,因为环境中的匹配点不足,会导致DynaSLAM无法计算相机位姿,从而出现丢帧现象,相机的轨迹将会不完整。
发明内容
本发明的目的在于克服上述已有技术的不足,提出了一种基于联合约束的语义SLAM***及方法,用于解决在像素深度值不稳定情况下相机位姿计算不准确和当动态目标占据相机视野大部分空间时无法计算相机位姿的问题,以提高相机位姿的准确性和相机轨迹的完整性,同时解决具有运动性质的物体在静止时无法在点云地图中构建的问题,获取更准确的点云地图。
为实现上述目的,本发明采取的技术方案为:
一种基于联合约束的语义SLAM***,包括数据采集模块、神经网络模块、联合约束模块、数据融合模块、视觉前端模块、后端优化模块和语义地图模块,其中:
数据采集模块,采用深度相机,用于采集室内环境的多帧深度图像和彩色图像,以获取深度图像序列和彩色图像序列;
神经网络模块,用于通过训练好BlitzNet网络模型,对彩色图像序列逐帧进行前向传播处理,以获取带有潜在动态目标框的检测图像和带有潜在动态目标实例的实例分割图像;
联合约束模块,用于对每一帧彩色图像与前一帧彩色图像进行特征匹配,并对匹配获取的每一特征匹配对的深度值构建深度约束,对潜在动态目标框区域内的特征点对构建极线约束,从而对该彩色图像所有特征点进行归类,以获取特征点各类别集合;
数据融合模块,用于对实例分割图像与特征点集合数据进行融合,以获取静态目标实例分割图像和动态目标实例分割图像;
视觉前端模块,用于通过稳定特征点计算深度相机位姿;
后端优化模块,用于通过深度相机位姿和特征点对应的三维空间路标点构建代价函数,对代价函数进行非线性优化,以获取全局最优相机位姿和路标点;
语义地图模块,用于根据深度相机的最优位姿建立点云地图,并将静态目标实例分割图像中带有语义的像素点映射到点云地图上,以获取语义点云地图。
一种基于联合约束的语义SLAM的实现方法,包括如下步骤:
(1)数据采集模块获取图像序列:
数据采集模块对室内环境进行N次持续拍摄,得到N帧彩色图像和N帧深度图像,并按照拍摄时间由前到后顺序分别对N帧彩色图像和N帧深度图像进行排序,得到彩色图像序列C1,C2,...,Ci,...,CN和深度图像序列D1,D2,...,Di,...,DN,i=1,2,...,N,N≥100;
(2)神经网络模块获取检测图像和实例分割图像:
神经网络模块采用通过COCO数据集训练的模型参数的BlitzNet网络模型,对彩色图像序列中的N帧彩色图像逐帧进行前向传播处理,得到带有潜在动态目标框的检测图像CD1,CD2,...,CDi,...,CDN,以及带有潜在动态目标实例的实例分割图像 CS1,CS2,...,CSi,...,CSN;
(3)联合约束模块获取不同的特征点类别集合DSP2、EP2、SP2、DP2和S:
(3a)联合约束模块对C1和C2分别进行ORB特征提取得到特征集合P1和P2,并对 P1和P2进行匹配,得到多个特征匹配对,然后采用深度约束方法,将P2中所有满足深度约束的特征点归为深度稳定特征点集合DSP2;
(3b)联合约束模块将DSP2中位于目标检测图像CD2的动态目标框内的特征点归为潜在动态特征点集合PP2,将DSP2中位于CD2的潜在动态目标框外的特征点归为环境特征点集合EP2;
(3c)联合约束模块通过EP2计算基础矩阵F,然后采用极线约束方法,将PP2中满足极线约束的特征点归为静态特征点集合SP2,其余的特征点归为动态特征点集合 DP2,并将EP2和SP2合并为稳定特征点集合S2;
(4)数据融合模块获取静态目标实例分割图像CSS2和动态目标实例分割图像CDS2:
数据融合模块计算C2的动态特征点比率和潜在动态特征点比率,并将实例分割图像CS2中动态特征点比率和潜在动态特征点比率均小于预设的比率阈值的实例归为静态目标实例,其余的实例归为动态目标实例,得到静态目标实例分割图像CSS2和动态目标实例分割图像CDS2;
(5)视觉前端模块获取深度相机的位姿ξ2和三维空间中的路标点集合L2:
(5a)视觉前端模块采用迭代最近点ICP方法,并通过C2的可用特征点S2,以及 S2在C1中对应的匹配点,计算C2深度相机的位姿ξ2;
(5b)视觉前端模块通过相机内参和ξ2,将S2的像素坐标转化三维空间坐标,得到三维空间中的路标点集合L2;
(5c)视觉前端模块按照获取ξ2和L2的方法获取C3,C4,...,Ci,...,CN的深度相机位姿ξ3,ξ4,...,ξi,...,ξN和路标点集合L3,L4,...,Li,...,LN;
(6)后端优化模块获取全局最优的深度相机位姿和路标点:
后端优化模块将L2,L3,...,Li,...,LN合并为路标点集合L,其中包括路标点
p1,p2,...,pj,...,pM,构建以深度相机位姿ξ2,ξ3,...,ξi,...,ξN和路标点p1,p2,...,pj,...,pM为变量的代价函数Loss,并利用列文伯格-马夸尔特方法对代价函数Loss进行非线性优化,得到全局最优深度相机位姿ξ2',ξ3',...,ξi',...,ξN'和三维空间中的路标点
p1',p2',...,pj',...,pM';
(7)语义地图模块获取语义点云地图:
(7a)语义地图模块对彩色图像序列C2,C3,...,Ci,...,CN进行逐帧处理,将第i帧彩色图像Ci中深度值不为0的像素点归为像素点集合YPi,并利用数据融合模块获取的 CDSi中的动态目标实例信息将YPi中不属于动态目标实例的像素点归为像素点集合 CPi;
(7b)语义地图模块通过相机内参和ξi,计算CPi在三维空间中的三维坐标位置,利用点云库PCL生成三维空间点,并将生成的所有三维空间点合并成点云PLi;
(7c)语义地图模块利用数据融合模块中的静态目标实例分割图像CSSi获取的语义信息,对CSSi中静态目标实例的像素点对应的点云进行语义标注,得到语义点云PLi';
(7d)语义地图模块对语义点云PL2',PL3',...,PLi',...,PLN'进行拼接,得到全局语义点云地图PL。
本发明与现有的技术相比,具有以下优点:
第一,本发明采用深度约束方法实现对特征匹配对深度值距离的深度约束,得到深度稳定特征点集合,并通过深度稳定特征点和深度稳定特征点的匹配点计算相机位姿,与现有技术中通过环境中所有的特征点和特征点的匹配点计算相机位姿相比,提高了相机位姿估计的准确性;
第二,本发明采用极线约束方法实现对特征匹配对极线距离的极线约束,得到静态特征点集合和动态特征点集合,并通过静态特征点集合和环境特征点集合共同计算相机位姿,与现有技术中仅通过环境特征点集合计算相机位姿相比,解决了当动态目标占据相机视野中大部分空间时无法计算相机位姿的问题,从而绘制更完整的相机轨迹;
第三,本发明数据融合模块计算动态特征点比率和潜在动态特征点比率,将潜在动态目标实例分为动态静态目标实例和静态动态目标实例,语义地图模块将静态目标实例映射到点云地图中,与现有技术中将潜在动态目标实例均归为动态目标实例并在构建点云地图时没有利用动态目标实例相比,得到更准确的语义点云地图。
附图说明
图1是本发明语义SLAM***的结构示意图;
图2是本发明语义SLAM方法的实现流程图;
具体实施方式
以下结合附图和具体实施例,对本发明作进一步的详细说明。
参照图1,本发明基于联合约束的语义SLAM***,包括数据采集模块、神经网络模块、联合约束模块、数据融合模块、视觉前端模块、后端优化模块和语义地图模块,其中:
数据采集模块,采用深度相机,用于采集室内环境的多帧深度图像和彩色图像,以获取深度图像序列和彩色图像序列;
神经网络模块,用于通过训练好BlitzNet网络模型,对彩色图像序列逐帧进行前向传播处理,以获取带有潜在动态目标框的检测图像和带有潜在动态目标实例的实例分割图像;
联合约束模块,用于对每一帧彩色图像与前一帧彩色图像进行特征匹配,并对匹配获取的每一特征匹配对的深度值构建深度约束,对潜在动态目标框区域内的特征点对构建极线约束,从而对该彩色图像所有特征点进行归类,以获取特征点各类别集合;
数据融合模块,用于对实例分割图像与特征点集合数据进行融合,以获取静态目标实例分割图像和动态目标实例分割图像;
视觉前端模块,用于通过稳定特征点计算深度相机位姿;
后端优化模块,用于通过深度相机位姿和特征点对应的三维空间路标点构建代价函数,对代价函数进行非线性优化,以获取全局最优相机位姿和路标点;
语义地图模块,用于根据深度相机的最优位姿建立点云地图,并将静态目标实例分割图像中带有语义的像素点映射到点云地图上,以获取语义点云地图。
参照图2,本发明基于联合约束的语义SLAM方法,包括如下步骤:
步骤(1)数据采集模块获取图像序列:
数据采集模块对室内环境进行N次持续拍摄,得到N帧彩色图像和N帧深度图像,并按照拍摄时间由前到后顺序分别对N帧彩色图像和N帧深度图像进行排序,得到彩色图像序列C1,C2,...,Ci,...,CN和深度图像序列D1,D2,...,Di,...,DN,i=1,2,...,N,N≥100;
步骤(2)神经网络模块获取检测图像和实例分割图像:
神经网络模块采用通过COCO数据集训练的模型参数的BlitzNet网络模型,对彩色图像序列中的N帧彩色图像逐帧进行前向传播处理,得到带有潜在动态目标框的检测图像CD1,CD2,...,CDi,...,CDN,以及带有潜在动态目标实例的实例分割图像 CS1,CS2,...,CSi,...,CSN;
步骤(3)联合约束模块获取不同的特征点类别集合DSP2、EP2、SP2、DP2和S:
步骤(3a)联合约束模块对C1和C2分别进行ORB特征提取得到特征集合P1和P2,并对P1和P2进行匹配,得到多个特征匹配对,然后采用深度约束方法,将P2中所有满足深度约束的特征点归为深度稳定特征点集合DSP2;
深度约束方法的实现步骤为:
步骤(3a1)构建以P2中的每一个特征点的像素坐标为中心且大小为3×3的图像块,并计算每一个图像块的平均深度值:
其中(x,y)表示的像素坐标,depth(x,y)表示的深度值;
步骤(3a2)通过和在C1中的匹配特征点计算特征匹配对深度值距离Dd:
步骤(3a3)设置阈值θ,并将P2中Dd小于θ的特征点归为深度稳定特征点集合 DSP2,实现对Dd的深度约束,这是因为去除深度不稳定的特征点可以减少无关数据量,从而提高求解效率,另一方面,深度突变的特征点在计算代价函数的误差时产生的误差较大,对非线性优化的结果带来较大的影响,使得求得的全局最优相机位姿不够准确;
步骤(3b)联合约束模块将DSP2中位于目标检测图像CD2的动态目标框内的特征点归为潜在动态特征点集合PP2,将DSP2中位于CD2的潜在动态目标框外的特征点归为环境特征点集合EP2,后续步骤利用环境特征点集合计算基础矩阵能得到准确的结果;
步骤(3c)联合约束模块通过EP2计算基础矩阵F,然后采用极线约束方法,将PP2中满足极线约束的特征点归为静态特征点集合SP2,其余的特征点归为动态特征点集合 DP2,并将EP2和SP2合并为稳定特征点集合S2;
极线约束方法的实现步骤为:
步骤(3c1)通过相机的内参x轴缩放因子fx、y轴缩放因子fy、x轴平移因子cx、 y轴平移因子cy将PP2中的每一个特征点的像素坐标[us,vs]T转化为归一化坐标 [uc,vc,1]T:
步骤(3c2)采用RANSAC方法选取EP2中的八个特征点,并采用八点法通过八个特征点匹配对计算基础矩阵F,然后通过F和[uc,vc,1]T计算的极线l:
步骤(3c3)通过F、l、和在C1中的匹配特征点计算特征匹配对极线距离De:
步骤(3c4)设置阈值η,并将PP2中De小于η的特征点归为静态特征点集合SP2,其余的特征点归为动态特征点集合DP2,实现对De的极线约束,这是因为当特征点为静态场景点时,落在极线l上,在误差允许范围内,当位于极线l附近时,均可认为特征点为静态特征点,而De大于阈值时,离极线l的距离较远,则认为特征点为动态目标上的动态特征点,后续步骤利用静态特征点而不用动态特征点计算相机危机,从而提高相机位姿估计的准确性;
另一方面,在动态目标占据相机视野中大部分空间的情况下,静态场景中的特征点太少从而不足以计算相机位姿,这导致丢帧问题的出现,而静态特征点集合SP2将会提供充足的特征点,利用静态特征点集合和环境特征点集合共同计算相机位姿,从而解决丢帧问题,并提高相机位姿估计的准确性;
步骤(4)数据融合模块获取静态目标实例分割图像CSS2和动态目标实例分割图像CDS2:
数据融合模块计算C2的动态特征点比率和潜在动态特征点比率,并将实例分割图像CS2中动态特征点比率和潜在动态特征点比率均小于预设的比率阈值的实例归为静态目标实例,其余的实例归为动态目标实例,得到静态目标实例分割图像CSS2和动态目标实例分割图像CDS2;
静态目标实例和动态目标实例的获取方法为:
步骤(4a)统计环境特征点集合EP2的数目静态特征点集合SP2的数目和动态特征点集合DP2的数目并计算动态特征点比率τd和潜在动态特征点比率τr:
步骤(4b)设定τd的阈值为0.5,τr的为0.15,当τd≤0.5且τr≤0.15时,则将检测框内的实例分割目标归为静态目标实例,其余的实例分割目标归为动态目标实例,这是因为神经网络模块将所有具备运动性质的物体都检测出来,当该具备运动性质的物体在环境中是静止时,该物体仍可归为静态场景,点云地图中应将该物体信息构建出来,否则地图构建不够准确和完整。
步骤(5)视觉前端模块获取深度相机的位姿ξ2和三维空间中的路标点集合L2:
步骤(5a)视觉前端模块采用迭代最近点ICP方法,并通过C2的可用特征点S2,以及S2在C1中对应的匹配点,计算C2深度相机的位姿ξ2;
步骤(5b)视觉前端模块通过相机内参和ξ2,将S2的像素坐标转化三维空间坐标,得到三维空间中的路标点集合L2;
三维空间中的路标点集合L2的获取方法为:
步骤(5b1)通过相机的内参将S2中的每一个特征点的像素坐标[us,vs]T转化为归一化坐标[uc,vc,1]T:
步骤(5b2)通过归一化坐标计算相机坐标P'=[X',Y',Z']T:
步骤(5b3)通过相机位姿ξ2中的旋转矩阵R和平移向量t,将相机坐标P'转化为世界坐标Pw:
Pw=R-1(P'-t)=[X,Y,Z]T (10)
步骤(5b4)将位于Pw的三维空间点定义为路标点p,并将p归为路标点集合L2。
步骤(5c)视觉前端模块按照获取ξ2和L2的方法获取C3,C4,...,Ci,...,CN的深度相机位姿ξ3,ξ4,...,ξi,...,ξN和路标点集合L3,L4,...,Li,...,LN,具体实现方法按照步骤(3a)- (5b4)的方法为对C2和C3进行相同的处理得到深度相机位姿ξ3和路标点集合L3,接着对C3和C4、C4和C5、…、Ci-1和Ci、…、CN-1和CN进行相同的处理,得到ξ3和L3、ξ4和L4、…、ξi和Li、…、ξN和LN;
步骤(6)后端优化模块获取全局最优的深度相机位姿和路标点:
后端优化模块将L2,L3,...,Li,...,LN合并为路标点集合L,其中包括路标点 p1,p2,...,pj,...,pM,构建以深度相机位姿ξ2,ξ3,...,ξi,...,ξN和路标点p1,p2,...,pj,...,pM为变量的代价函数Loss,并利用列文伯格-马夸尔特方法对代价函数Loss进行非线性优化,得到全局最优深度相机位姿ξ2',ξ3',...,ξi',...,ξN'和三维空间中的路标点 p1',p2',...,pj',...,pM';
构建代价函数的实现步骤为:
步骤(6a)根据相机位姿ξ2中的旋转矩阵R和平移向量t,将L中的路标点pj三维坐标[X,Y,Z]T转化为相机坐标pj':
pj'=Rpj+t=[X',Y',Z']T (11)
步骤(6b)通过相机坐标[X',Y',Z']T计算归一化坐标[uc,vc,1]T:
步骤(6c)通过相机的内参计算像素坐标Pj=[us,vs]:
步骤(6d)通过S2中与pj对应的特征点像素坐标Pj'计算误差e2:
步骤(6e)按照步骤(7a)-(7d)的方法对ξ3、ξ4、…、ξi、…、ξN依次进行相同的操作,得到e3、e4、…、ei、…、eN;
步骤(6f)对e2,e3,...,ei,...,eN进行求和,得到代价函数Loss:
步骤(7)语义地图模块获取语义点云地图:
步骤(7a)语义地图模块对彩色图像序列C2,C3,...,Ci,...,CN进行逐帧处理,将第i帧彩色图像Ci中深度值不为0的像素点归为像素点集合YPi,并利用数据融合模块获取的CDSi中的动态目标实例信息将YPi中不属于动态目标实例的像素点归为像素点集合 CPi;
步骤(7b)语义地图模块通过相机内参和ξi,计算CPi在三维空间中的三维坐标位置,利用点云库PCL生成三维空间点,并将生成的所有三维空间点合并成点云PLi;
步骤(7c)语义地图模块利用数据融合模块中的静态目标实例分割图像CSSi获取的语义信息,对CSSi中静态目标实例的像素点对应的点云进行语义标注,得到语义点云PLi';
步骤(7d)语义地图模块对语义点云PL2',PL3',...,PLi',...,PLN'进行拼接,得到全局语义点云地图PL。
Claims (7)
1.一种基于联合约束的语义SLAM***,其特征在于,包括数据采集模块、神经网络模块、联合约束模块、数据融合模块、视觉前端模块、后端优化模块和语义地图模块,其中:
数据采集模块,采用深度相机,用于采集室内环境的多帧深度图像和彩色图像,以获取深度图像序列和彩色图像序列;
神经网络模块,用于通过训练好BlitzNet网络模型,对彩色图像序列逐帧进行前向传播处理,以获取带有潜在动态目标框的检测图像和带有潜在动态目标实例的实例分割图像;
联合约束模块,用于对每一帧彩色图像与前一帧彩色图像进行特征匹配,并对匹配获取的每一特征匹配对的深度值构建深度约束,对潜在动态目标框区域内的特征点对构建极线约束,从而对该彩色图像所有特征点进行归类,以获取特征点各类别集合;
数据融合模块,用于对实例分割图像与特征点集合数据进行融合,以获取静态目标实例分割图像和动态目标实例分割图像;
视觉前端模块,用于通过稳定特征点计算深度相机位姿;
后端优化模块,用于通过深度相机位姿和特征点对应的三维空间路标点构建代价函数,对代价函数进行非线性优化,以获取全局最优相机位姿和路标点;
语义地图模块,用于根据深度相机的最优位姿建立点云地图,并将静态目标实例分割图像中带有语义的像素点映射到点云地图上,以获取语义点云地图。
2.一种基于联合约束的语义SLAM的实现方法,其特征在于,包括如下步骤:
(1)数据采集模块获取图像序列:
数据采集模块对室内环境进行N次持续拍摄,得到N帧彩色图像和N帧深度图像,并按照拍摄时间由前到后顺序分别对N帧彩色图像和N帧深度图像进行排序,得到彩色图像序列C1,C2,...,Ci,...,CN和深度图像序列D1,D2,...,Di,...,DN,i=1,2,...,N,N≥100;
(2)神经网络模块获取检测图像和实例分割图像:
神经网络模块采用通过COCO数据集训练的模型参数的BlitzNet网络模型,对彩色图像序列中的N帧彩色图像逐帧进行前向传播处理,得到带有潜在动态目标框的检测图像CD1,CD2,...,CDi,...,CDN,以及带有潜在动态目标实例的实例分割图像CS1,CS2,...,CSi,...,CSN;
(3)联合约束模块获取不同的特征点类别集合DSP2、EP2、SP2、DP2和S:
(3a)联合约束模块对C1和C2分别进行ORB特征提取得到特征集合P1和P2,并对P1和P2进行匹配,得到多个特征匹配对,然后采用深度约束方法,将P2中所有满足深度约束的特征点归为深度稳定特征点集合DSP2;
(3b)联合约束模块将DSP2中位于目标检测图像CD2的动态目标框内的特征点归为潜在动态特征点集合PP2,将DSP2中位于CD2的潜在动态目标框外的特征点归为环境特征点集合EP2;
(3c)联合约束模块通过EP2计算基础矩阵F,然后采用极线约束方法,将PP2中满足极线约束的特征点归为静态特征点集合SP2,其余的特征点归为动态特征点集合DP2,并将EP2和SP2合并为稳定特征点集合S2;
(4)数据融合模块获取静态目标实例分割图像CSS2和动态目标实例分割图像CDS2:
数据融合模块计算C2的动态特征点比率和潜在动态特征点比率,并将实例分割图像CS2中动态特征点比率和潜在动态特征点比率均小于预设的比率阈值的实例归为静态目标实例,其余的实例归为动态目标实例,得到静态目标实例分割图像CSS2和动态目标实例分割图像CDS2;
(5)视觉前端模块获取深度相机的位姿ξ2和三维空间中的路标点集合L2:
(5a)视觉前端模块采用迭代最近点ICP方法,并通过C2的可用特征点S2,以及S2在C1中对应的匹配点,计算C2深度相机的位姿ξ2;
(5b)视觉前端模块通过相机内参和ξ2,将S2的像素坐标转化三维空间坐标,得到三维空间中的路标点集合L2;
(5c)视觉前端模块按照获取ξ2和L2的方法获取C3,C4,...,Ci,...,CN的深度相机位姿ξ3,ξ4,...,ξi,...,ξN和路标点集合L3,L4,...,Li,...,LN;
(6)后端优化模块获取全局最优的深度相机位姿和路标点:
后端优化模块将L2,L3,...,Li,...,LN合并为路标点集合L,其中包括路标点p1,p2,...,pj,...,pM,构建以深度相机位姿ξ2,ξ3,...,ξi,...,ξN和路标点p1,p2,...,pj,...,pM为变量的代价函数Loss,并利用列文伯格-马夸尔特方法对代价函数Loss进行非线性优化,得到全局最优深度相机位姿ξ2',ξ3',...,ξi',...,ξN'和三维空间中的路标点p1',p2',...,pj',...,pM';
(7)语义地图模块获取语义点云地图:
(7a)语义地图模块对彩色图像序列C2,C3,...,Ci,...,CN进行逐帧处理,将第i帧彩色图像Ci中深度值不为0的像素点归为像素点集合YPi,并利用数据融合模块获取的CDSi中的动态目标实例信息将YPi中不属于动态目标实例的像素点归为像素点集合CPi;
(7b)语义地图模块通过相机内参和ξi,计算CPi在三维空间中的三维坐标位置,利用点云库PCL生成三维空间点,并将生成的所有三维空间点合并成点云PLi;
(7c)语义地图模块利用数据融合模块中的静态目标实例分割图像CSSi获取的语义信息,对CSSi中静态目标实例的像素点对应的点云进行语义标注,得到语义点云PLi';
(7d)语义地图模块对语义点云PL2',PL3',...,PLi',...,PLN'进行拼接,得到全局语义点云地图PL。
3.根据权利要求2所述的基于联合约束的语义SLAM方法,其特征在于,步骤(3a)中所述的深度约束方法,实现步骤为:
(3a1)构建以P2中的每一个特征点的像素坐标为中心且大小为3×3的图像块,并计算每一个图像块的平均深度值:
其中(x,y)表示的像素坐标,depth(x,y)表示的深度值;
(3a2)通过和在C1中的匹配特征点计算特征匹配对深度值距离Dd:
(3a3)设置阈值θ,并将P2中Dd小于θ的特征点归为深度稳定特征点集合DSP2,实现对Dd的深度约束。
4.根据权利要求2所述的基于联合约束的语义SLAM方法,其特征在于,步骤(3c)中所述的极线约束方法,实现步骤为:
(3c1)通过相机的内参x轴缩放因子fx、y轴缩放因子fy、x轴平移因子cx、y轴平移因子cy将PP2中的每一个特征点的像素坐标[us,vs]T转化为归一化坐标[uc,vc,1]T:
(3c2)采用RANSAC方法选取EP2中的八个特征点,并采用八点法通过八个特征点匹配对计算基础矩阵F,然后通过F和[uc,vc,1]T计算的极线l:
(3c3)通过F、l、和在C1中的匹配特征点计算特征匹配对极线距离De:
(3c4)设置阈值η,并将PP2中De小于η的特征点归为静态特征点集合SP2,其余的特征点归为动态特征点集合DP2,实现对De的极线约束。
5.根据权利要求2所述的基于联合约束的语义SLAM方法,其特征在于,步骤(4)所述的静态目标实例和动态目标实例,获取方法为:
(4a)统计环境特征点集合EP2的数目静态特征点集合SP2的数目和动态特征点集合DP2的数目并计算动态特征点比率τd和潜在动态特征点比率τr:
(4b)设定τd的阈值为0.5,τr的为0.15,当τd≤0.5且τr≤0.15时,则将检测框内的实例分割目标归为静态目标实例,其余的实例分割目标归为动态目标实例。
6.根据权利要求2所述的基于联合约束的语义SLAM方法,其特征在于,步骤(5b)所述的三维空间中的路标点集合L2,获取方法为:
(5b1)通过相机的内参将S2中的每一个特征点的像素坐标[us,vs]T转化为归一化坐标[uc,vc,1]T:
(5b2)通过归一化坐标计算相机坐标P'=[X',Y',Z']T:
(5b3)通过相机位姿ξ2中的旋转矩阵R和平移向量t,将相机坐标P'转化为世界坐标Pw:
Pw=R-1(P'-t)=[X,Y,Z]T (10)
(5b4)将位于Pw的三维空间点定义为路标点p,并将p归为路标点集合L2。
7.根据权利要求2所述的基于联合约束的语义SLAM方法,其特征在于,步骤(6)所述的构建代价函数,实现步骤为:
(6a)根据相机位姿ξ2中的旋转矩阵R和平移向量t,将L中的路标点pj三维坐标[X,Y,Z]T转化为相机坐标pj':
pj'=Rpj+t=[X',Y',Z']T (11)
(6b)通过相机坐标[X',Y',Z']T计算归一化坐标[uc,vc,1]T:
(6c)通过相机的内参计算像素坐标Pj=[us,vs]:
(6d)通过S2中与pj对应的特征点像素坐标Pj'计算误差e2:
(6e)按照步骤(7a)-(7d)的方法对ξ3、ξ4、…、ξi、…、ξN依次进行相同的操作,得到e3、e4、…、ei、…、eN;
(6f)对e2,e3,...,ei,...,eN进行求和,得到代价函数Loss:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768052.6A CN110533720B (zh) | 2019-08-20 | 2019-08-20 | 基于联合约束的语义slam***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768052.6A CN110533720B (zh) | 2019-08-20 | 2019-08-20 | 基于联合约束的语义slam***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110533720A true CN110533720A (zh) | 2019-12-03 |
CN110533720B CN110533720B (zh) | 2023-05-02 |
Family
ID=68663703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910768052.6A Active CN110533720B (zh) | 2019-08-20 | 2019-08-20 | 基于联合约束的语义slam***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533720B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110956651A (zh) * | 2019-12-16 | 2020-04-03 | 哈尔滨工业大学 | 一种基于视觉和振动触觉融合的地形语义感知方法 |
CN111242954A (zh) * | 2020-01-20 | 2020-06-05 | 浙江大学 | 一种带有双向连接和遮挡处理的全景分割方法 |
CN111402336A (zh) * | 2020-03-23 | 2020-07-10 | 中国科学院自动化研究所 | 基于语义slam的动态环境相机位姿估计及语义地图构建方法 |
CN111559314A (zh) * | 2020-04-27 | 2020-08-21 | 长沙立中汽车设计开发股份有限公司 | 深度与图像信息融合的3d增强全景环视***及实现方法 |
CN111709982A (zh) * | 2020-05-22 | 2020-09-25 | 浙江四点灵机器人股份有限公司 | 一种动态环境三维重建方法 |
CN111882611A (zh) * | 2020-07-17 | 2020-11-03 | 北京三快在线科技有限公司 | 一种地图构建方法及装置 |
CN112308921A (zh) * | 2020-11-09 | 2021-02-02 | 重庆大学 | 一种基于语义和几何的联合优化动态slam方法 |
WO2021114776A1 (en) * | 2019-12-12 | 2021-06-17 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Object detection method, object detection device, terminal device, and medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201805688D0 (en) * | 2018-04-05 | 2018-05-23 | Imagination Tech Ltd | Matching local image feature descriptors |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
CN109815847A (zh) * | 2018-12-30 | 2019-05-28 | 中国电子科技集团公司信息科学研究院 | 一种基于语义约束的视觉slam方法 |
WO2019153245A1 (en) * | 2018-02-09 | 2019-08-15 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Systems and methods for deep localization and segmentation with 3d semantic map |
-
2019
- 2019-08-20 CN CN201910768052.6A patent/CN110533720B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153245A1 (en) * | 2018-02-09 | 2019-08-15 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Systems and methods for deep localization and segmentation with 3d semantic map |
CN108596974A (zh) * | 2018-04-04 | 2018-09-28 | 清华大学 | 动态场景机器人定位建图***及方法 |
GB201805688D0 (en) * | 2018-04-05 | 2018-05-23 | Imagination Tech Ltd | Matching local image feature descriptors |
CN109815847A (zh) * | 2018-12-30 | 2019-05-28 | 中国电子科技集团公司信息科学研究院 | 一种基于语义约束的视觉slam方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021114776A1 (en) * | 2019-12-12 | 2021-06-17 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Object detection method, object detection device, terminal device, and medium |
CN110956651A (zh) * | 2019-12-16 | 2020-04-03 | 哈尔滨工业大学 | 一种基于视觉和振动触觉融合的地形语义感知方法 |
CN111242954A (zh) * | 2020-01-20 | 2020-06-05 | 浙江大学 | 一种带有双向连接和遮挡处理的全景分割方法 |
CN111242954B (zh) * | 2020-01-20 | 2022-05-13 | 浙江大学 | 一种带有双向连接和遮挡处理的全景分割方法 |
CN111402336A (zh) * | 2020-03-23 | 2020-07-10 | 中国科学院自动化研究所 | 基于语义slam的动态环境相机位姿估计及语义地图构建方法 |
CN111402336B (zh) * | 2020-03-23 | 2024-03-12 | 中国科学院自动化研究所 | 基于语义slam的动态环境相机位姿估计及语义地图构建方法 |
CN111559314A (zh) * | 2020-04-27 | 2020-08-21 | 长沙立中汽车设计开发股份有限公司 | 深度与图像信息融合的3d增强全景环视***及实现方法 |
CN111709982A (zh) * | 2020-05-22 | 2020-09-25 | 浙江四点灵机器人股份有限公司 | 一种动态环境三维重建方法 |
CN111882611A (zh) * | 2020-07-17 | 2020-11-03 | 北京三快在线科技有限公司 | 一种地图构建方法及装置 |
CN111882611B (zh) * | 2020-07-17 | 2023-11-24 | 北京三快在线科技有限公司 | 一种地图构建方法及装置 |
CN112308921A (zh) * | 2020-11-09 | 2021-02-02 | 重庆大学 | 一种基于语义和几何的联合优化动态slam方法 |
CN112308921B (zh) * | 2020-11-09 | 2024-01-12 | 重庆大学 | 一种基于语义和几何的联合优化动态slam方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110533720B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110533720A (zh) | 基于联合约束的语义slam***及方法 | |
CN111462135B (zh) | 基于视觉slam与二维语义分割的语义建图方法 | |
CN110264416B (zh) | 稀疏点云分割方法及装置 | |
CN111179324B (zh) | 基于颜色和深度信息融合的物体六自由度位姿估计方法 | |
CN110135485A (zh) | 单目相机与毫米波雷达融合的物体识别与定位方法和*** | |
CN109816725A (zh) | 一种基于深度学习的单目相机物***姿估计方法及装置 | |
CN110097553A (zh) | 基于即时定位建图与三维语义分割的语义建图*** | |
CN111161317A (zh) | 一种基于多重网络的单目标跟踪方法 | |
CN110827395A (zh) | 一种适用于动态环境的即时定位与地图构建方法 | |
CN110533716B (zh) | 一种基于3d约束的语义slam***及方法 | |
CN112801074B (zh) | 一种基于交通摄像头的深度图估计方法 | |
CN105719352B (zh) | 人脸三维点云超分辨率融合方法及应用其的数据处理装置 | |
CN112418288B (zh) | 一种基于gms和运动检测的动态视觉slam方法 | |
CN110827312B (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN113408584B (zh) | Rgb-d多模态特征融合3d目标检测方法 | |
CN112396655B (zh) | 一种基于点云数据的船舶目标6d位姿估计方法 | |
Shreyas et al. | 3D object detection and tracking methods using deep learning for computer vision applications | |
Cui et al. | Dense depth-map estimation based on fusion of event camera and sparse LiDAR | |
CN113724387A (zh) | 一种激光与相机融合的地图构建方法 | |
CN114140527A (zh) | 一种基于语义分割的动态环境双目视觉slam方法 | |
CN109508673A (zh) | 一种基于棒状像素的交通场景障碍检测与识别方法 | |
CN111915651A (zh) | 基于数字影像地图与特征点跟踪的视觉位姿实时估计方法 | |
CN117274388A (zh) | 基于视觉文本关系对齐的无监督三维视觉定位方法及*** | |
CN112801928A (zh) | 一种基于注意力机制的毫米波雷达与视觉传感器融合方法 | |
CN112509110A (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 |