CN116412809A - 动态环境下的即时定位与建图方法、装置及电子设备 - Google Patents
动态环境下的即时定位与建图方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116412809A CN116412809A CN202310167207.7A CN202310167207A CN116412809A CN 116412809 A CN116412809 A CN 116412809A CN 202310167207 A CN202310167207 A CN 202310167207A CN 116412809 A CN116412809 A CN 116412809A
- Authority
- CN
- China
- Prior art keywords
- map
- mask
- points
- preset
- 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 63
- 238000013507 mapping Methods 0.000 title claims abstract description 42
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000013136 deep learning model Methods 0.000 claims abstract description 20
- 230000003287 optical effect Effects 0.000 claims abstract description 15
- 230000003068 static effect Effects 0.000 claims description 51
- 238000010586 diagram Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000004807 localization Effects 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012353 t test Methods 0.000 description 1
- 238000012795 verification Methods 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种动态环境下的即时定位与建图方法、装置及电子设备。其中,所述方法包括:获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧;根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率;根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;根据所述相机位姿构建目标地图。通过本申请提供的方法、装置及电子设备,可以提高即使定位和建图的准确性、鲁棒性。
Description
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种动态环境下的即时定位与建图方法、装置及电子设备。
背景技术
同步定位与建图(Simultaneous Localization and Mapping,SLAM)为一种在移动过程中根据周围环境构建地图的技术。利用SLAM技术,机器人可以在未知环境中从一个未知位置开始移动,在移动过程中根据位置和预设地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
在根据预设地图进行自身定位的过程中,通常首先利用上述机器人预设的摄像头获取环境图像,然后根据静态实例在上述环境图像和预设地图上对应的特征点进行特征匹配,进行自身定位或建造增量式地图。
相关技术中,主要通过深度学习模型得到上述摄像头获取环境图像的先验语义信息,然后剔除其中的动态实例。但通过相关技术中的技术方案确定静态实例与动态实例,容易出现漏检的情况,导致动态环境下即使定位与建图的准确性和鲁棒性欠佳。
发明内容
有鉴于此,本申请的目的在于提出一种动态环境下的即时定位与建图方法、装置及电子设备。
基于上述目的,本申请提供了一种动态环境下的即时定位与建图方法,包括:
获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧;
根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;
根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;
根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率;
根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;
根据所述相机位姿构建目标地图。
可选地,所述根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图,包括:
根据所述关键帧,通过训练好的深度学习模型进行实例分割,得到实例分割结果;
根据所述实例分割结果生成子掩码图;每张子掩码图包含至少一个实例;
获取每张所述子掩码图中实例对应的深度值;
按照所述深度值从大到小的顺序,依次叠加至少全部所述子掩码图,得到第一掩码图。
可选地,所述根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图,包括:
获取前一时刻的所述第一掩码图;
根据前一时刻和当前时刻的所述第一掩码图,通过预设的稠密光流算法计算得到各个像素点坐标的偏移值;
根据所述偏移值和前一时刻的所述第一掩码图,通过如下公式计算得到第二掩码图的各个像素点的坐标值;
其中,ut为所述第二掩码图任一像素点的横坐标值,vt为所述第二掩码图该像素点的纵坐标值,ut-1为前一时刻的所述第二掩码图对应的像素点的横坐标值,vt-1为前一时刻的所述第二掩码图对应的像素点的纵坐标值,Δu为横坐标偏移值,Δv为纵坐标偏移值;
根据所述第二掩码图的各个像素点的坐标值,得到所述第二掩码图。
可选地,所述获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧,包括:
获取环境图像;
根据所述环境图像,通过预设的特征提取方法,得到图像特征点;
将所述图像特征点与所述地图点进行特征匹配,得到包含所述图像特征点与所述地图点的特征匹配关系的图像帧;
响应于确定所述图像帧满足第一预设条件,将所述图像帧作为关键帧;所述关键帧包括至少一个实例;任一所述实例包括至少一个所述关键帧的关键帧特征点。
可选地,所述更新所述预设地图的地图点的动态概率之前,还包括:
通过交并比函数计算所述第一掩码图中至少全部特征点与所述第二掩码图中至少全部特征点的交并比;
响应于任一所述特征点的交并比大于或等于预设阈值,将该特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;
响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第一掩码图,将所述特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;
响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第二掩码图,将该特征点在第二掩码图中的掩码值作为该特征点的目标掩码值;
将至少全部所述特征点作为目标特征点,根据至少全部所述目标特征点及所述目标特征点对应的目标掩码值生成目标掩码图;所述目标特征点与所述地图点具有对应关系。
可选地,所述更新所述预设地图的地图点的动态概率,包括:
确定每个所述目标特征点对应的地图点;
获取该地图点的先验动态概率;
通过如下公式对该地图点的动态概率进行更新;
p(mt)=ηp(zt|mt)p(mt|zt-1,m0);
其中,η为预设的归一化系数,mt为t时刻的地图点状态,zt为t时刻的地图点观测状态,zt-1为t-1时刻的地图点观测状态,m0为地图点初始状态。
可选地,所述根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿,包括:
根据至少全部所述地图点的动态概率,筛选得到所述实例中的静态实例;
根据所述预设地图,筛选得到所述地图点中的静态地图点;
根据如下公式,计算得到相机位姿;
其中,ep为任一静态实例的重投影残差,er为任一静态地图点在不同时刻位置差距,N为同一时刻静态地图点、静态实例对数,M为同一时刻多个静态实例对数,Tcw为t时刻相机的位姿,p(mi)为第i个静态地图点的动态概率,m为静态地图点,x为静态实例,z为静态地图点的观测,π(Tcwmi)为第i个静态地图点的投影函数,ωk为预设权重。
可选地,所述第一预设条件为:
当前时间与上次构建关键帧的时间差超过预设时间;
和/或,所述图像帧的特征点的内点率小于预设阈值;所述内点率表示所述图像帧中静态特征点的比率。
基于同一发明构思,本申请还提供了一种动态环境下的即时定位与建图装置,包括:
获取模块,被配置为获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧获取关键帧;
第一计算模块,被配置为根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;
第二计算模块,被配置为根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;
第三计算模块,被配置为根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率根据所述第一掩码图和所述第二掩码图,更新实例的动态概率;
第四计算模块,被配置为根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;
生成模块,被配置为根据所述相机位姿构建目标地图根据所述实例的动态概率区分动态特征与静态特征,根据静态特征构建重投影残差和特征相对位置残差计算相机位姿,并根据所述相机位姿构建目标地图。
基于同一发明构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的动态环境下的即时定位与建图方法。
从上面所述可以看出,本申请提供的动态环境下的即时定位与建图方法、装置及电子设备,通过深度学习模型得到第一掩码图后,又根据上述第一掩码图,通过稠密光流算法得到第二掩码图,并根据第一掩码图、第二掩码图两种掩码图共同确定图像中的静态实例与动态实例,再次基础上对动态实例进行剔除,减少了对实例的动态概率的漏检和误检,提高了即时定位与建图的准确性和鲁棒性。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个或多个实施例的动态环境下的即时定位与建图方法的流程示意图;
图2为本申请一个或多个实施例的动态环境下的即时定位与建图装置的结构示意图;
图3为本申请一个或多个实施例的动态环境下的即时定位与建图方法的实验结果示意图;
图4为本申请一个或多个实施例的动态环境下的即时定位与建图方法的实验结果示意图;
图5为本申请一个或多个实施例的动态环境下的即时定位与建图系统的结构示意图;
图6为本申请一个或多个实施例的电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
同步定位与建图(Simultaneous Localization and Mapping,SLAM)为一种在移动过程中根据周围环境构建地图的技术。利用SLAM技术,机器人可以在未知环境中从一个未知位置开始移动,在移动过程中根据位置和预设地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
在利用SLAM技术实现机器人的即使定位与建造增量式地图的过程中,会应用到机器人通过其上安装的摄像机获取的环境图像,并对上述环境图像和上述预设地图进行特征匹配。在上述环境图像和上述预设地图中,均包括至少一个实例,所有上述实例可以根据动态概率分为静态实例和动态实例。上述实例表示可以作为参照物的建筑物、物体、动物等,动态概率表示上述实例位置发生变化的可能性,根据这一可能性实例可以分为静态实例和动态实例。上述实例在上述环境图像中和上述预设地图中均包括至少一个特征点。
如背景技术所述,相关技术中,通过深度学习方法根据上述图像的先验语义信息,剔除图像中的动态实例。通过深度学习方法进行动态实例的筛选容易出现漏检或误检的问题。因此,动态环境下,尤其是静态环境较少的动态环境下,通过相关技术的技术方案进行即时定位与建图,存在准确性和鲁棒性欠佳的问题。
由此,本申请提出一种动态环境下的即时定位与建图方法,通过深度学习方法确定实例的基础上,同时通过稠密光流算法再次确定实例,对通过两种方法分别得到的实例动态概率对所有实例进行筛选和汇总,避免漏检或误检的情况,进而提高即时定位和建图的准确性和鲁棒性。
以下,通过具体的实施例来详细说明本申请一个或多个实施例的技术方案。
参考图1,本说明书一个或多个实施例的即时定位与建图方法,包括以下步骤:
步骤S101:获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧。
在本步骤中,首先获取关键帧,以便后续步骤的进行。在一些实施例中,上述关键帧可以通过获取的图像和预设地图进行特征匹配得到。
在一些实施例中,可以通过如下具体步骤获取上述关键帧:
步骤S201:获取环境图像。
在一些实施例中,可以通过预设的摄像机得到上述环境图像。在一些实施例中,上述摄像机可以为RGB-D相机。在另一些实施例中,上述摄像机可以为双目相机。RGB-D相机和双目相机可以直接或间接计算得到图像的像素信息和深度信息。其不同的相机的选择只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
步骤S202:根据所述环境图像,通过预设的特征提取方法,得到图像特征点。
在本步骤中,对步骤S201中得到的环境图像进行特征提取。
在一些实施例中,在进行特征提取之前,可以首先进行图像预处理。在一些实施例中,上述预处理可以包括将彩色图像转换为灰度图。
在一些实施例中,上述特征提取方法可以为利用FAST算法得到ORB特征,ORB特征包括特征点和描述子;SIFT算法得到的SIFT特征,SIFT特征包括特征点;SURF算法得到的SURF特征,SURF特征包括特征点;SuperPoint提取得到的SuperPoint特征,SuperPoint特征包括特征点和描述子。其不同的特征提取的方法只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
步骤S203:将所述图像特征点与所述地图点进行特征匹配,得到包含所述图像特征点与所述地图点的特征匹配关系的图像帧。
本步骤中,根据步骤S202得到的特征点与预设地图的特征点进行特征匹配,得到包含所述图像特征点与所述地图点的特征匹配关系的图像帧。
在一些实施例中,上述预设地图还可以通过初始化得到。在一些实施例中,上述初始化的具体步骤可以包括:根据上述环境图像中特征点的深度值,利用上述深度值计算得到特征点的三维坐标。在一些实施例中,上述初始化的具体步骤还可以包括:根据上述环境图像的双目时差完成对上述特征点的三角化,并根据三角化后的特征点对地图进行初始化。其不同的初始化的方法只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
步骤S204:响应于确定所述图像帧满足第一预设条件,将所述图像帧作为关键帧。
在一些实施例中,上述第一预设条件可以为:距离上一次获取关键帧的时间超过预定数值;和/或,上述特征图中特征点的内点率小于预定阈值。在一些实施例中,上述预定时间可以为0.25秒。上述内点率表示所述特征图中静态特征点的比率。
如上文所述,实例为可以作为即时定位或建图的参考物。在一些实施例中,上述环境图像和上述预设地图可以均包括至少一个实例。由此,根据上述环境图像和上述预设地图得到的特征图应该也包括至少一个实例。也即,上述关键帧中也应包括至少一个实例。其中,任一上述实例包括至少一个关键帧的特征点。
在另一些实施例中,上述环境图像或上述预设地图不包括实例,也即,无法确认既包括于上述环境图像又包括于上述预设地图的实例。对于这种情况,关键帧中不包括实例。这种情况下,在一些实施例中,可以利用关键帧背景进行定位。
由于上述步骤是通过将上述环境图像的特征点与上述预设地图的地图点进行特征匹配得到的上述关键帧,因此上述关键帧中的特征点与上述预设地图的地图点具有对应关系,关键帧中特征点的动态概率即为对应的预设地图的地图点的动态概率。
步骤S102:根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图。
在一些实施例中,上述深度学习模型可以为图像分割模型。在一些实施例中,上述深度学习模型可以为Mask R-CNN模型、FCIS模型、YOLACT模型中的至少一者。其不同的深度学习模型只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
由上文可知,每个实例都对应有像素区域。在一些实施例中,存在关键帧中包括有不同实例对应的像素区域重叠的情况,进而影响后续的判断实例的动态概率的问题。为解决这一问题,在一些实施例中,可以首先通过实例分割得到至少一张子掩码图,每张子掩码图包括唯一一个实例,上述子掩码图与关键帧中的实例一一对应;然后计算每张子掩码图中唯一实例的像素区域的像素点的深度均值,并将该深度均值作为该实例的深度值;根据上述所有子掩码图中实例的深度值,按照深度值从大到小的顺序进行叠加,得到第一掩码图。通过上述步骤,第一掩码图中的实例根据距离远近,由远至近依次叠加。
在一些实施例中,上述深度值可以表示实例距离相机的距离。在一些实施例中,实例的深度值可以根据RGB-D相机采集的数据,将对应深度图中实例对应的像素区域的非零值集合的均值作为该实例的深度值。在一些实施例中,实例的深度可以根据双目相机采集的数据,将实例对应的像素区域恢复到世界坐标系地图中,并将得到的地图点集合的深度均值作为实例的深度值。其不同的获取实例深度值的方法只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
在一些实施例中,关键帧中不包含实例,也即关键帧中只包含背景或无法作为参照物的人、物体等,此时无法通过上述训练好的深度学习模型分割得到实例,进而也没有对应的子掩码图,因此设置其对应的掩码图中所有像素点为预设的背景值。
步骤S103:根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图。
在实现本申请的过程中,申请人发现,仅通过图像分割或其他深度学习模型对实例进行分割,可能产生漏检或误检的问题。其中,漏检表示实际存在的实例在本次分割过程中未被发现;漏检表示动态概率小于预设阈值,也即可以作为固定参考物进行后续相机姿态计算以及建图计算的实例,由于错误的分类导致被视为无法作为参考物的实例。上述情况可能造成静态实例过少,以致相机姿态求解的准确性不高,并进一步导致建图准确性差或鲁棒性差。
由此,申请人提出本申请的方法,在通过深度学习模型得到上述第一掩码图后,再通过稠密光流算法得到第二掩码图,利用上述第二掩码图和上述第一掩码图进行相互印证,尽可能地避免漏检、误检的情况发生。
具体的,在一些实施例中,可以通过如下步骤得到第二掩码图:获取前一时刻的上述第一掩码图;根据前一时刻和当前时刻的上述第一掩码图,通过预设的稠密光流算法计算得到各个像素点坐标的偏移值;根据上述偏移值和前一时刻的上述第一掩码图,通过如下公式计算得到第二掩码图的各个像素点的坐标值:其中,ut为上述第二掩码图任一像素点的横坐标值,vt为上述第二掩码图该像素点的纵坐标值,ut-1为前一时刻的上述第二掩码图对应的像素点的横坐标值,vt-1为前一时刻的上述第二掩码图对应的像素点的纵坐标值,Δu为横坐标偏移值,Δv为纵坐标偏移值;根据上述第二掩码图的各个像素点的坐标值,得到上述第二掩码图。
步骤S104:根据所述第一掩码图和所述第二掩码图,更新实例的动态概率。
由上文可知,上述第一掩码图中和上述第二掩码图中分别包括至少一个特征点,所有所述特征点均可以找到与之对应的地图点。在一些实施例中,上述第一掩码图和上述第二掩码图可能存在同一特站点,且对应相同或不相同的动态概率。在一些实施例中,可能有特征点在上述第一掩码图/第二掩码图中存在,但上述第二掩码图/第一掩码图中不存在。
在一些实施例中,可以通过交并比函数计算所述第一掩码图中至少全部实例与所述第二掩码图中至少全部实例的交并比,并通过交并比确定实际可能存在的所有实例的最有可能的动态概率。
在一些实施例中,响应于任一所述特征点的交并比大于或等于预设阈值,将该特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第一掩码图,将所述特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第二掩码图,将该特征点在第二掩码图中的掩码值作为该特征点的目标掩码值;将至少全部所述特征点作为目标特征点,根据至少全部所述目标特征点及所述目标特征点对应的目标掩码值生成目标掩码图;所述目标特征点与所述地图点具有对应关系。
在一些实施例中,通过上述内容确定关键帧中可能存在的所有特征点后,通过如下方法计算各个特征点的动态概率。因为此时得到的特征点与上述预设地图的地图点为一一对应的关系,因此可以将这些特征点视为上述地图点。在一些实施例中,可以将上述特征点,也即地图点的初始动态概率设置为0.5。在一些实施例中,可以根据上述特征点,也即地图点的先验信息,设置假设动态特征点,也即地图点的动态概率为0.9,设置假设静态特征点,也即地图点的动态概率为0.1。在一些实施例中,可以通过如下方式计算得到动态概率:获取上述目标掩码图中至少全部特征点,也即地图点的先验动态概率;根据上述先验动态概率,通过如下公式更新至少全部上述特征点,也即地图点的动态概率:p(mt)=ηp(zt|mt)p(mt|zt-1,m0);其中,η为预设的归一化系数,mt为t时刻的地图点状态,zt为t时刻的地图点观测状态,zt-1为t-1时刻的地图点观测状态,m0为地图点初始状态。
步骤S105:根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿。
在一些实施例中,可以将上述动态概率视为更新动态概率,根据更新动态概率进行后续的相机位姿求解、地图构建等计算。
其中,在一些实施例中,根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿,包括:根据至少全部所述地图点的动态概率,筛选得到所述实例中的静态实例;根据所述预设地图,筛选得到所述地图点中的静态地图点;根据如下公式,计算得到相机位姿;
其中,ep为任一静态实例的重投影残差,er为任一静态地图点在不同时刻位置差距,N为同一时刻静态地图点、静态实例对数,M为同一时刻多个静态实例对数,Tcw为t时刻相机的位姿,p(mi)为第i个静态地图点的动态概率,m为静态地图点,x为静态实例,z为静态地图点的观测,π(Tcwmi)为第i个静态地图点的投影函数,ωk为预设权重。
在一些实施例中,在选取用于构建相对位置残差的特征点对时,由于不同时刻静态特征点对相对位置误差满足t分布,选取满足t检验的特征点对构建该约束项,并根据分布情况计算对应约束项的权值ωk。
步骤S106:根据所述相机位姿构建目标地图。
在实现本申请的过程中,申请人发现利用深度学习模型进行图像分割,对单帧图像的处理时长不能满足实际应用场景下的时延要求。由此,申请人提出不阻塞跟踪线程结构,也即,如果在预设时间内上述动态概率并未计算结束,则在相机位姿求解时仍然使用原动态概率进行计算;如果在预设时间内上述动态概率计算结束,则在相机位姿求解时使用更新的动态概率。
如图3和图4所示,申请人分别利用TUM数据集和KITTI数据集对利用相关技术中ORB-SLAM3的SLAM技术和本申请提供方法进行了实验。
实验结果包括三个方面:绝对轨迹误差(ATE)、相对位姿误差(RPE)和时间。其中,ATE可以估计位姿和真实位姿的直接差值,可以非常直观地反应算法精度和轨迹全局一致性。RPE主要描述的是相隔固定时间差的两帧位姿差的精度(相比真实位姿),相当于直接测量里程计的误差。
从图中可以看出,本申请提供的方法提高了实例检测和其动态概率的准确率,改进了相机位姿求解约束,缓解了相关技术的模型漏检问题,并提高了动态场景下即时定位和建图的准确性和鲁棒性。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种动态环境下的即时定位与建图装置。
参考图2,所述动态环境下的即时定位与建图装置,包括:
获取模块11,被配置为获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧;
第一计算模块12,被配置为根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;
第二计算模块13,被配置为根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;
第三计算模块14,被配置为根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率;
第四计算模块15,被配置为根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;
生成模块16,被配置为根据所述相机位姿构建目标地图。
如图5所示,本申请一个或多个实施例可以应用于如下SLAM系统中,包括:
图像采集模块,被配置为通过预设的摄像机设备采集环境图像。
帧间位姿求解模块,被配置为根据上述环境图像和预设地图进行图像匹配得到特征图,上述预设地图的地图点以及地图点对应实例的动态概率通过建图模块得到。得到特征图后根据预设算法进行相机位姿计算,并在特征图满足预设条件时将该特征图作为关键帧分别发送至实例分割模块、建图模块和回环检测模块。
实例分割模块,被配置为根据关键帧计算得到更新的实例动态概率。其具体计算过程及算法如上所示,在此不再赘述。得到更新的动态概率后将该动态概率发送至建图模块。
建图模块,被配置为根据收到的实例的动态概率更新地图点,并对关键帧、共视图进行维护。
回环检测模块,被配置为根据预设条件判断是否回环,并在需要回环计算时计算回环帧之间的相对位姿。
后端优化模块,被配置为根据实例的动态概率对地图点、相机位姿进行优化。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的动态环境下的即时定位与建图方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的动态环境下的即时定位与建图方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、GPU(Graphics Processing Unit,图像处理单元)、NPU(Neural Processor Unit,神经处理器单元)或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。其不同的获取相应的实现方式只要能达到相应的目的,不同的方法均不会影响本发明的保护范围。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的动态环境下的即时定位与建图方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种动态环境下的即时定位与建图方法,其特征在于,包括:
获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧;
根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;
根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;
根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率;
根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;
根据所述相机位姿构建目标地图。
2.根据权利要求1所述的动态环境下的即时定位与建图方法,其特征在于,所述根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图,包括:
根据所述关键帧,通过训练好的深度学习模型进行实例分割,得到实例分割结果;
根据所述实例分割结果生成子掩码图;每张子掩码图包含至少一个实例;
获取每张所述子掩码图中实例对应的深度值;
按照所述深度值从大到小的顺序,依次叠加至少全部所述子掩码图,得到第一掩码图。
3.根据权利要求2所述的动态环境下的即时定位与建图方法,其特征在于,所述根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图,包括:
获取前一时刻的所述第一掩码图;
根据前一时刻和当前时刻的所述第一掩码图,通过预设的稠密光流算法计算得到各个像素点坐标的偏移值;
根据所述偏移值和前一时刻的所述第一掩码图,通过如下公式计算得到第二掩码图的各个像素点的坐标值;
其中,ut为所述第二掩码图任一像素点的横坐标值,vt为所述第二掩码图该像素点的纵坐标值,ut-1为前一时刻的所述第二掩码图对应的像素点的横坐标值,vt-1为前一时刻的所述第二掩码图对应的像素点的纵坐标值,Δu为横坐标偏移值,Δv为纵坐标偏移值;
根据所述第二掩码图的各个像素点的坐标值,得到所述第二掩码图。
4.根据权利要求3所述的动态环境下的即时定位与建图方法,其特征在于,所述获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧,包括:
获取环境图像;
根据所述环境图像,通过预设的特征提取方法,得到图像特征点;
将所述图像特征点与所述地图点进行特征匹配,得到包含所述图像特征点与所述地图点的特征匹配关系的图像帧;
响应于确定所述图像帧满足第一预设条件,将所述图像帧作为关键帧。
5.根据权利要求4所述的动态环境下的即时定位与建图方法,其特征在于,所述更新所述预设地图的地图点的动态概率之前,还包括:
通过交并比函数计算所述第一掩码图中至少全部特征点与所述第二掩码图中至少全部特征点的交并比;
响应于任一所述特征点的交并比大于或等于预设阈值,将该特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;
响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第一掩码图,将所述特征点在第一掩码图中的掩码值作为该特征点的目标掩码值;
响应于任一所述特征点的交并比小于所述预设阈值,且该特征点属于第二掩码图,将该特征点在第二掩码图中的掩码值作为该特征点的目标掩码值;
将至少全部所述特征点作为目标特征点,根据至少全部所述目标特征点及所述目标特征点对应的目标掩码值生成目标掩码图;所述目标特征点与所述地图点具有对应关系。
6.根据权利要求5所述的动态环境下的即时定位与建图方法,其特征在于,所述更新所述预设地图的地图点的动态概率,包括:
确定每个所述目标特征点对应的地图点;
获取该地图点的先验动态概率;
通过如下公式对该地图点的动态概率进行更新;
p(mt)=ηp(zt|mt)p(mt|zt-1,m0);
其中,η为预设的归一化系数,mt为t时刻的地图点状态,zt为t时刻的地图点观测状态,zt-1为t-1时刻的地图点观测状态,m0为地图点初始状态。
7.据权利要求6中所述的动态环境下的即时定位与建图方法,其特征在于,所述根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿,包括:
根据至少全部所述地图点的动态概率,筛选得到所述实例中的静态实例;
根据所述预设地图,筛选得到所述地图点中的静态地图点;
根据如下公式,计算得到相机位姿;
其中,ep为任一静态实例的重投影残差,er为任一静态地图点在不同时刻位置差距,N为同一时刻静态地图点、静态实例对数,M为同一时刻多个静态实例对数,Tcw为t时刻相机的位姿,p(mi)为第i个静态地图点的动态概率,m为静态地图点,x为静态实例,z为静态地图点的观测,π(Tcwmi)为第i个静态地图点的投影函数,ωk为预设权重。
8.据权利要求1中所述的动态环境下的即时定位与建图方法,其特征在于,所述第一预设条件为:
当前时间与上次构建关键帧的时间差超过预设时间;
和/或,所述图像帧的特征点的内点率小于预设阈值;所述内点率表示所述图像帧中静态特征点的比率。
9.一种动态环境下的即时定位与建图装置,其特征在于,包括:
获取模块,被配置为获取环境图像和预设地图,根据所述环境图像和所述预设地图得到关键帧;
第一计算模块,被配置为根据所述关键帧,通过训练好的深度学习模型,计算得到第一掩码图;
第二计算模块,被配置为根据所述第一掩码图,通过稠密光流算法,计算得到第二掩码图;
第三计算模块,被配置为根据所述第一掩码图和所述第二掩码图,更新所述预设地图的地图点的动态概率;
第四计算模块,被配置为根据所述地图点的动态概率构建重投影残差和特征相对位置残差,并根据所述重投影残差和所述特征相对位置残差计算相机位姿;
生成模块,被配置为根据所述相机位姿构建目标地图。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167207.7A CN116412809A (zh) | 2023-02-22 | 2023-02-22 | 动态环境下的即时定位与建图方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310167207.7A CN116412809A (zh) | 2023-02-22 | 2023-02-22 | 动态环境下的即时定位与建图方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116412809A true CN116412809A (zh) | 2023-07-11 |
Family
ID=87054027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310167207.7A Pending CN116412809A (zh) | 2023-02-22 | 2023-02-22 | 动态环境下的即时定位与建图方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116412809A (zh) |
-
2023
- 2023-02-22 CN CN202310167207.7A patent/CN116412809A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11145073B2 (en) | Computer vision systems and methods for detecting and modeling features of structures in images | |
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
CN110135455B (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
CN108198145B (zh) | 用于点云数据修复的方法和装置 | |
CN106940704B (zh) | 一种基于栅格地图的定位方法及装置 | |
JP7178396B2 (ja) | 入力映像に含まれた客体の3次元ポーズの推定のためのデータを生成する方法およびコンピュータシステム | |
CN109683699B (zh) | 基于深度学习实现增强现实的方法、装置及移动终端 | |
CN110717927A (zh) | 基于深度学习和视惯融合的室内机器人运动估计方法 | |
JP7131994B2 (ja) | 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム | |
CN109410316B (zh) | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 | |
WO2014116545A1 (en) | Camera pose estimation for 3d reconstruction | |
KR20220081261A (ko) | 객체 포즈 추정 방법 및 장치 | |
CN116662600B (zh) | 一种基于轻量结构化线地图的视觉定位方法 | |
CN114217665A (zh) | 一种相机和激光雷达时间同步方法、装置及存储介质 | |
CN114898062A (zh) | 一种基于动态场景下slam的地图构建方法及装置 | |
CN113420590B (zh) | 弱纹理环境下的机器人定位方法、装置、设备及介质 | |
CN114821055A (zh) | 房屋模型的构建方法、装置、可读存储介质和电子设备 | |
CN111531546B (zh) | 一种机器人位姿估计方法、装置、设备及存储介质 | |
CN117132649A (zh) | 人工智能融合北斗卫星导航的船舶视频定位方法及装置 | |
CN115972198B (zh) | 一种非完全信息条件下的机械臂视觉抓取方法与装置 | |
CN112560736A (zh) | 一种基于卷积神经网络的任意角度激光门检测方法以及储存介质 | |
CN114415698B (zh) | 机器人、机器人的定位方法、装置和计算机设备 | |
KR20210057586A (ko) | 블라인드 워터마킹 기술을 이용한 카메라 기반 측위 방법 및 시스템 | |
CN116412809A (zh) | 动态环境下的即时定位与建图方法、装置及电子设备 | |
CN115239776A (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 |