掌桥专利:专业的专利平台
掌桥专利
首页

平面融合定位方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 13:45:04


平面融合定位方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机视觉技术领域,尤其涉及一种平面融合定位方法、装置、电子设备及存储介质。

背景技术

随着计算机视觉技术的发展,SLAM(Simultaneous Localization And Mapping,同时定位与地图构建)技术的研究工作取得了突出成就,并被广泛应用于AR(AugmentedReality,增强现实)或VR(Virtual Reality,虚拟现实)产品、无人机、机器人和自动驾驶中。结构化平面的构建和优化是SLAM技术中的关键环节,目前在结构化平面优化方面,受选取特征点和平面约束条件的影响,生成的平面的精度和稳定性有限,从而会导致定位的精度较低。

发明内容

本申请实施例提供了一种平面融合定位方法、装置、电子设备及存储介质。

本申请实施例第一方面提供了一种平面融合定位方法,该方法包括:

采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标三维网格与稀疏平面的第一关联信息;

根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;

根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

结合第一方面,在一种可能的实施方式中,根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件,包括:

获取基于上一帧得到的历史稀疏点云构建的历史稀疏平面与前端基于上一帧生成的历史三维网格的第二关联信息,以及载体在上一帧的第二位姿;

采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件。

结合第一方面,在一种可能的实施方式中,根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值,包括:

获取至少一个第二点面约束条件,至少一个第二点面约束条件包括第一点面约束条件,至少一个第二点面约束条件中除第一点面约束条件外的点面约束条件是基于目标关联信息得到的,目标关联信息是基于图像帧的前预设数量的第一历史帧得到的关联信息;

优化第一位姿,将满足至少一个第二点面约束条件、重投影约束条件和深度约束条件的位姿估计值作为优化值。

结合第一方面,在一种可能的实施方式中,该方法还包括:

边缘化基于第一历史帧之前的第二历史帧得到的点面约束条件。

结合第一方面,在一种可能的实施方式中,在采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面之前,该方法还包括:

对图像帧进行均匀采样,得到至少一个二维特征点;

确定至少一个二维特征点在图像帧对应的深度图中的点;

将至少一个二维特征点在图像帧对应的深度图中的点映射到三维空间,得到稀疏点云。

结合第一方面,在一种可能的实施方式中,在得到至少一个二维特征点之后,该方法还包括:

采用至少一个二维特征点构建二维网格;

采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,包括:

基于二维网格中的二维特征点与稀疏点云中的三维点的对应关系,采用三维点构建与二维网格对应的三维网格;

基于第一位姿对三维网格进行聚类,得到稀疏平面。

结合第一方面,在一种可能的实施方式中,对图像帧进行均匀采样,得到至少一个二维特征点,包括:

去除图像帧的边缘像素点;

根据图像帧的大小和预设采样数量计算得到采样距离;

按照采样距离对图像帧中未被去除的像素点进行采样,得到至少一个二维特征点。

结合第一方面,在一种可能的实施方式中,获取前端基于图像帧生成的目标三维网格与稀疏平面的第一关联信息,包括:

获取目标三维网格与稀疏平面的方向的差值;

在差值小于或等于预设值,且构成目标三维网格的至少一个三维点在稀疏平面上的情况下,将目标三维网格与稀疏平面关联,得到第一关联信息。

本申请实施例第二方面提供了一种平面融合定位装置,该装置包括获取单元和处理单元;

获取单元,用于采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标三维网格与稀疏平面的第一关联信息;

处理单元,用于根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;

处理单元,还用于根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

本申请实施例第三方面提供了一种电子设备,该电子设备包括输入设备和输出设备,还包括处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如上述第一方面所述方法中的步骤。

本申请实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如上述第一方面所述方法中步骤。

本申请实施例第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述第一方面所述方法中的步骤。该计算机程序产品可以为一个软件安装包。

可以看出,本申请实施例中采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标三维网格与稀疏平面的第一关联信息;根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。由于当前输入的图像帧是RGBD图像采集设备采集的RGBD图像,而RGBD图像通常包含观测到的二维数据,比如深度传感器提供的数据,观测到的二维数据相对比较准确,那么,基于该二维数据得到的稀疏点云相比估计得到的三维数据准确度更高,从而使得构建的稀疏平面的精度更高,有利于提升点面关联(即第一关联信息)的精度,另外,在SLAM系统前端给出重投影约束和深度约束的基础上,还加入了基于点面关联和第一位姿得到的点面约束(即第一点面约束条件),通过不断优化第一位姿以使载体的位姿满足上述三个约束条件,从而有利于缩小位姿的估计值与观测值之间的偏差,进而提升定位精度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种应用环境的架构图;

图2为本申请实施例提供的一种平面融合定位方法的流程示意图;

图3为本申请实施例提供的一种点面关联的可视化示意图;

图4为本申请实施例提供的一种获取第一点面约束条件的流程示意图;

图5为本申请实施例提供的一种获取第一位姿的优化值的流程示意图;

图6为本申请实施例提供的一种特征点采样的示意图;

图7为本申请实施例提供的另一种平面融合定位方法的流程示意图;

图8为本申请实施例提供的一种平面融合定位装置的结构示意图;

图9为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。

本申请实施例提出一种平面融合定位方法,可基于图1所示的应用环境实施,如图1所示,该应用环境包括电子设备101、与电子设备101通信连接的图像采集设备102和终端设备103。其中,电子设备101支持SLAM系统前端和后端的运行,本申请实施例所涉及到的电子设备101可以包括各种具有程序代码运行能力和通信能力的设备,比如电子设备101可以是独立的物理服务器,也可以是服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,或者电子设备101还可以是各种机器人、车载设备和可穿戴设备,等等。

其中,图像采集设备102可以是RGBD图像采集设备,在一些场景中,其具体可以是设置于电子设备101上的RGBD图像采集设备。图像采集设备102用于将采集的RGBD图像数据发送到电子设备101,以使得电子设备101可基于该图像数据进行稀疏平面的构建,并将前端构建的三维网格(3Dmesh)中的三维点与稀疏平面进行关联,基于相邻帧的点面关联信息和载体的位姿(pose)构建点面优化模型,从而得到点面约束条件,不断优化载体的位姿,以使其满足该点面约束条件、SLAM系统前端给出的重投影约束条件和深度约束条件,从而提高SLAM系统中的定位精度。

其中,终端设备103可用于对图像采集设备102采集的图像数据、电子设备101构建的二维网格(2Dmesh)、3Dmesh、地图和SLAM系统中的定位结果进行可视化。终端设备103可以是带显示功能的设备,比如电脑、AR(Augmented Reality,增强现实)或VR(VirtualReality,虚拟现实)眼镜,也可以是独立的显示器。

以下结合相关附图对本申请实施例提供的平面融合定位方法进行详细阐述。

请参见图2,图2为本申请实施例提供的一种平面融合定位方法的流程示意图,该方法应用于电子设备,如图2所示,包括步骤201-204:

步骤201:采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息。

本申请实施例中,当前输入的图像帧是指图像采集设备采集的最新的RGBD图像,示例性的,对于该图像帧,电子设备对其进行均匀采样,得到至少一个二维(2D)特征点,如图3中b图所示,应理解,RGBD图像通常存在对应的深度图,该至少一个2D特征点均可确定出其在对应的深度图中的点,将该至少一个2D特征点在对应的深度图中的点映射到三维(3D)空间,即得到用于构建稀疏平面的稀疏点云。该实施方式中,由于深度图中的点是深度传感器观测到的数据,相对比较准确,采用根据这些点得到的稀疏点云构建出的稀疏平面,相比较采用稠密点云构建出的平面,精度和稳定性更高。

示例性的,在得到至少一个2D特征点之后,该方法还包括:采用至少一个2D特征点构建2Dmesh。比如可对该至少一个2D特征点进行三角剖分,以构建出2Dmesh,或者通过采样时确定的2Dmesh的直角边采样距离构建出2Dmesh,比如,三个2D特征点已知两条直角边,则加上斜边就构成一个2Dmesh。

示例性的,采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,包括:

基于2Dmesh中的2D特征点与稀疏点云中的3D点的对应关系,采用3D点构建与2Dmesh对应的3Dmesh;

基于第一位姿对3Dmesh进行聚类,得到稀疏平面。

本申请实施例中,对于2Dmesh中的每个2D特征点在稀疏点云中均有与之对应的3D点,如图3中b图所示的点和f图所示的点,其对应关系(或者映射关系)可通过相同的标识体现,比如2D特征点A、B、C构成一个2Dmesh,则可采用A、B、C对应的3D点构成3Dmesh。应理解,SLAM系统可基于载体的位姿对构建的3Dmesh中的任意两个3Dmesh的距离进行估算,电子设备可将该距离小于或等于一定阈值的3Dmesh聚类,得到最终构建的稀疏平面,其在3D空间可如图3中d图所示,在2D空间可如图3中f图所示。该实施方式中,基于观测到的准确度更高的2D特征点构建稀疏平面,有利于提升平面的稳定性和精度。

其中,目标3Dmesh是SLAM的前端基于选取的3D点构建的3Dmesh,其在3D空间可如图3中c图所示,在2D空间可如图3中e图所示,SLAM系统的前端可对图像帧进行特征提取得到前端2D特征点,如图3中a图所示,然后将这些2D特征点映射为3D点。其中,SLAM系统的前端可以是视觉里程计(VisualOdometry)。

示例性的,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息,包括:

获取目标3Dmesh与稀疏平面的方向的差值;

在差值小于或等于预设值,且构成目标3Dmesh的至少一个3D点在稀疏平面上的情况下,将目标3Dmesh与稀疏平面关联,得到第一关联信息。

本申请实施例中,平面的关联需要具备两个条件:一是方向相近,当目标3Dmesh与稀疏平面的方向的差值小于或等于预设值时,则可确定二者方向相近,其中,预设值可根据经验值设定;二是目标3Dmesh的至少一个3D点在稀疏平面上,即目标3Dmesh的至少一个3D点满足稀疏平面的平面方程。在满足上述两个条件的情况下,认为目标3Dmesh与稀疏平面属于同一个平面,则可将目标3Dmesh中的3D点与稀疏平面进行关联,得到第一关联信息,该第一关联信息可以理解为对稀疏平面进行扩展得到的平面。该实施方式中,由于SLAM系统的前端选取的2D特征点具有速度快的特性,采用该类特征点对应的3D点来扩展稀疏平面,有利于提升平面关联或扩展的速度。

步骤202:根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件。

本申请实施例中,如图4所示,根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件,包括步骤401-402:

步骤401:获取基于上一帧得到的历史稀疏点云构建的历史稀疏平面与前端基于上一帧生成的历史3Dmesh的第二关联信息,以及载体在上一帧的第二位姿;

步骤402:采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件。

其中,历史稀疏点云是指基于上一帧中的至少一个2D特征点得到的稀疏点云,历史稀疏平面是指基于该历史稀疏点云构建的稀疏平面,历史3D mesh是指前端基于上一帧构建的3D mesh,第二关联信息是指历史稀疏平面与历史3D mesh的关联信息,其获取方式与第一关联信息相同,即采用稀疏点云构建稀疏平面,再将前端构建的3Dmesh与稀疏平面进行关联。其中,第一位姿是指当前时刻前端给出的位姿,第二位姿是指上一帧的时刻前端给出的位姿,SLAM系统中前端可以得到每个时刻的位姿。由于一个平面上的点可能被多个相邻帧观测到,比如第一关联信息中的点可能在其上一帧也被观测到,如图3中P点在当前图像帧中的观测位置为Py,在上一帧中的观测位置为px,基于这样的关系,电子设备采用第一关联信息、第一位姿、第二关联信息和第二位姿构建如下所示的点面优化初始模型:

其中,

应理解,相邻帧中的点通常满足单应性变换,对于上述初始模型,可求取一个单应矩阵H对其进行简化,则简化后的点面优化模型如下:

则第一点面约束条件可表示为:

其中,Error表示在载体的平面坐标系下,h点在上一帧c

步骤203:根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

本申请实施例中,与第一点面约束条件相同,电子设备还基于当前图像帧和上一帧得到重投影约束条件和深度约束条件,SLAM系统的前端可通过一系列的观测和运动来估计载体的位姿,这些观测和运动可以提供约束力,使得位姿同时满足这些约束,其中,这些约束就包括SLAM系统的前端提供深度约束条件和重投影约束条件,深度约束条件用于使相邻帧中同一点的观测点的深度误差更小,重投影约束条件用于使相邻帧中同一点的观测点的重投影误差更小。

示例性的,如图5所示,根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值,包括步骤501-502:

步骤501:获取至少一个第二点面约束条件,至少一个第二点面约束条件包括第一点面约束条件,至少一个第二点面约束条件中除第一点面约束条件外的点面约束条件是基于目标关联信息得到的,目标关联信息是基于图像帧的前预设数量的第一历史帧得到的关联信息;

步骤502:优化第一位姿,将满足至少一个第二点面约束条件、重投影约束条件和深度约束条件的位姿估计值作为优化值。

其中,至少一个第二点面约束条件是基于当前图像帧和离当前图像帧最近的预设数量的第一历史帧得到的,比如当前的图像帧为第11帧,则至少一个第二点面约束条件是基于第1帧至第11帧得到的,第一历史帧是指前面的第1帧至第10帧,其中,目标关联信息是指基于第1帧、第2帧……第10帧得到的关联信息。比如,基于第1帧的点面关联信息和第1帧时的位姿、第2帧的点面关联信息和第2帧时的位姿可构建一个第二点面约束条件,基于第2帧的点面关联信息和第2帧时的位姿、第3帧的点面关联信息和第3帧时的位姿可构建一个第二点面约束条件……基于第10帧(即当前图像帧的上一帧)的点面关联信息和第10帧时的位姿(即第二位姿)、第11帧(即当前图像帧)的点面关联信息(即第一关联信息)和第11帧时的位姿(即第一位姿)可构建一个第二点面约束条件(即第一点面约束条件)。

在SLAM系统中,通常会认为当前的图像帧的前预设帧为较新的帧,基于这些帧构建的点面约束条件对当前的定位仍会产生影响,因此,在优化第一位姿时,应使位姿的估计值尽量满足该至少一个第二点面约束条件、重投影约束条件和深度约束条件,当然,在该至少一个第二点面约束条件中,主要是需要满足第一点面约束条件,最终得到能够使第一点面约束条件、重投影约束条件和深度约束条件中的误差最小的优化值。

示例性的,该方法还包括:边缘化基于第一历史帧之前的第二历史帧得到的点面约束条件。其中,第二历史帧是比第一历史帧更早的帧,比如当前的图像帧为第11帧,第一历史帧是第3帧至第10帧,那么第3帧之前的帧均为第二历史帧。由于第二历史帧是比较老的帧,基于这些帧得到的点面约束条件对当前的定位或追踪的影响不大,因此,可以对其进行边缘化,以保证点面约束条件的时效性。

示例性的,对图像帧进行均匀采样,得到至少一个2D特征点,包括:

去除图像帧的边缘像素点;

根据图像帧的大小和预设采样数量计算得到采样距离;

按照采样距离对图像帧中未被去除的像素点进行采样,得到至少一个2D特征点。

本申请实施例中,如图6所示,假设当前的图像帧的大小为M*N像素,将处于图像帧边缘的S个像素点去除,S为大于等于1的整数,则剩余的像素点表示为(M-S)*(N-S),预设采样数量为Q,Q为大于等于3的整数,则采样距离为

可以看出,本申请实施例中采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。由于当前输入的图像帧是RGBD图像采集设备采集的RGBD图像,而RGBD图像通常包含观测到的2D数据,比如深度传感器提供的数据,观测到的2D数据相对比较准确,那么,基于该2D数据得到的稀疏点云相比估计得到的3D数据准确度更高,从而使得构建的稀疏平面的精度更高,有利于提升点面关联(即第一关联信息)的精度,另外,在SLAM系统前端给出重投影约束和深度约束的基础上,还加入了基于点面关联和第一位姿得到的点面约束(即第一点面约束条件),通过不断优化第一位姿以使载体的位姿满足上述三个约束条件,从而有利于缩小位姿的估计值与观测值之间的偏差,进而提升定位精度。

请参见图7,图7为本申请实施例提供的另一种平面融合定位方法的流程示意图,如图7所示,包括步骤701-705:

701:采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面;

702:获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;

703:获取基于该图像帧的上一帧得到的历史稀疏点云构建的历史稀疏平面与前端基于该上一帧生成的历史3Dmesh的第二关联信息,以及载体在上一帧的第二位姿;

704:采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件;

705:根据第一点面约束条件、基于该图像帧和该图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

其中,步骤701-705的具体实施方式在图2所示的实施例中已有相关说明,此处不再赘述。

可以看出,本申请实施例采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面;获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;获取基于该图像帧的上一帧得到的第二关联信息和载体在上一帧的第二位姿;采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件;根据第一点面约束条件、基于该图像帧和该图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。由于当前输入的图像帧是RGBD图像采集设备采集的RGBD图像,而RGBD图像通常包含观测到的2D数据,比如深度传感器提供的数据,观测到的2D数据相对比较准确,那么,基于该2D数据得到的稀疏点云相比估计得到的3D数据准确度更高,从而使得构建的稀疏平面的精度更高,有利于提升当前输入的图像帧和其相邻帧(即上一帧)各自的点面关联的精度,从而使得构建的第一点面约束条件的精度更高;另外,在SLAM系统前端给出重投影约束和深度约束的基础上,还加入了基于点面关联和第一位姿得到的第一点面约束条件,通过不断优化第一位姿以使载体的位姿满足上述三个约束条件,从而有利于缩小位姿的估计值与观测值之间的偏差,进而提升定位精度。

基于图2或图7所示方法实施例的描述,本申请实施例还提供一种平面融合定位装置,请参见图8,图8为本申请实施例提供的一种平面融合定位装置的结构示意图,如图8所示,该装置包括:获取单元801和处理单元802;

获取单元801,用于采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;

处理单元802,用于根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;

处理单元802,还用于根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

在一种可能的实施方式中,在根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件方面,处理单元802具体用于:

获取基于上一帧得到的历史稀疏点云构建的历史稀疏平面与前端基于上一帧生成的历史3Dmesh的第二关联信息,以及载体在上一帧的第二位姿;

采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件。

在一种可能的实施方式中,在根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值方面,处理单元802具体用于:

获取至少一个第二点面约束条件,至少一个第二点面约束条件包括第一点面约束条件,至少一个第二点面约束条件中除第一点面约束条件外的点面约束条件是基于目标关联信息得到的,目标关联信息是基于图像帧的前预设数量的第一历史帧得到的关联信息;

优化第一位姿,将满足至少一个第二点面约束条件、重投影约束条件和深度约束条件的位姿估计值作为优化值。

在一种可能的实施方式中,处理单元802还用于:边缘化基于第一历史帧之前的第二历史帧得到的点面约束条件。

在一种可能的实施方式中,处理单元802还用于:

对图像帧进行均匀采样,得到至少一个2D特征点;

确定至少一个2D特征点在图像帧对应的深度图中的点;

将至少一个2D特征点在图像帧对应的深度图中的点映射到3D空间,得到稀疏点云。

在一种可能的实施方式中,处理单元802还用于:采用至少一个2D特征点构建2Dmesh;

在采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面方面,处理单元802具体用于:

基于2Dmesh中的2D特征点与稀疏点云中的3D点的对应关系,采用3D点构建与2Dmesh对应的3Dmesh;

基于第一位姿对3Dmesh进行聚类,得到稀疏平面。

在一种可能的实施方式中,在对图像帧进行均匀采样,得到至少一个2D特征点方面,处理单元802具体用于:

去除图像帧的边缘像素点;

根据图像帧的大小和预设采样数量计算得到采样距离;

按照采样距离对图像帧中未被去除的像素点进行采样,得到至少一个2D特征点。

在一种可能的实施方式中,在获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息方面,处理单元802具体用于:

获取目标3Dmesh与稀疏平面的方向的差值;

在差值小于或等于预设值,且构成目标3Dmesh的至少一个3D点在稀疏平面上的情况下,将目标3Dmesh与稀疏平面关联,得到第一关联信息。

可以看出,在图8所示的平面融合定位装置中,采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。由于当前输入的图像帧是RGBD图像采集设备采集的RGBD图像,而RGBD图像通常包含观测到的2D数据,比如深度传感器提供的数据,观测到的2D数据相对比较准确,那么,基于该2D数据得到的稀疏点云相比估计得到的3D数据准确度更高,从而使得构建的稀疏平面的精度更高,有利于提升点面关联(即第一关联信息)的精度,另外,在SLAM系统前端给出重投影约束和深度约束的基础上,还加入了基于点面关联和第一位姿得到的点面约束(即第一点面约束条件),通过不断优化第一位姿以使载体的位姿满足上述三个约束条件,从而有利于缩小位姿的估计值与观测值之间的偏差,进而提升定位精度。

根据本申请的一个实施例,图8所示的平面融合定位装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,平面融合定位装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图7中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图8中所示的平面融合定位装置设备,以及来实现本申请实施例的平面融合定位方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。

基于上述方法实施例和装置实施例的描述,本申请实施例还提供一种电子设备。请参见图9,该电子设备至少包括处理器901、输入设备902、输出设备903以及计算机存储介质904。其中,电子设备内的处理器901、输入设备902、输出设备903以及计算机存储介质904可通过总线或其他方式连接。

计算机存储介质904可以存储在电子设备的存储器中,所述计算机存储介质904用于存储计算机程序,所述计算机程序包括程序指令,所述处理器901用于执行所述计算机存储介质904存储的程序指令。处理器901(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。

在一个实施例中,本申请实施例提供的电子设备的处理器901可以用于进行一系列平面融合定位的处理:

采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;

根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;

根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。

再一个实施例中,处理器901执行根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件,包括:

获取基于上一帧得到的历史稀疏点云构建的历史稀疏平面与前端基于上一帧生成的历史3Dmesh的第二关联信息和载体在上一帧的第二位姿;

采用第一关联信息、第一位姿、第二关联信息和第二位姿构建点面优化模型,得到第一点面约束条件。

再一个实施例中,处理器901执行根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值,包括:

获取至少一个第二点面约束条件,至少一个第二点面约束条件包括第一点面约束条件,至少一个第二点面约束条件中除第一点面约束条件外的点面约束条件是基于目标关联信息得到的,目标关联信息是基于图像帧的前预设数量的第一历史帧得到的关联信息;

优化第一位姿,将满足至少一个第二点面约束条件、重投影约束条件和深度约束条件的位姿估计值作为优化值。

再一个实施例中,处理器901还用于:边缘化基于第一历史帧之前的第二历史帧得到的点面约束条件。

再一个实施例中,在采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面之前,处理器901还用于:

对图像帧进行均匀采样,得到至少一个2D特征点;

确定至少一个2D特征点在图像帧对应的深度图中的点;

将至少一个2D特征点在图像帧对应的深度图中的点映射到3D空间,得到稀疏点云。

再一个实施例中,在得到至少一个2D特征点之后,处理器901还用于:

采用至少一个2D特征点构建2Dmesh;

处理器901执行采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,包括:

基于2Dmesh中的2D特征点与稀疏点云中的3D点的对应关系,采用3D点构建与2Dmesh对应的3Dmesh;

基于第一位姿对3Dmesh进行聚类,得到稀疏平面。

再一个实施例中,处理器901执行对图像帧进行均匀采样,得到至少一个2D特征点,包括:

去除图像帧的边缘像素点;

根据图像帧的大小和预设采样数量计算得到采样距离;

按照采样距离对图像帧中未被去除的像素点进行采样,得到至少一个2D特征点。

再一个实施例中,处理器901执行获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息,包括:

获取目标3Dmesh与稀疏平面的方向的差值;

在差值小于或等于预设值,且构成目标3Dmesh的至少一个3D点在稀疏平面上的情况下,将目标3Dmesh与稀疏平面关联,得到第一关联信息。

可以看出,在图9所示的电子设备中,采用基于当前输入的图像帧得到的稀疏点云构建稀疏平面,获取前端基于图像帧生成的目标3Dmesh与稀疏平面的第一关联信息;根据第一关联信息和载体当前的第一位姿,得到第一点面约束条件;根据第一点面约束条件、基于图像帧和图像帧的上一帧得到的重投影约束条件和深度约束条件,获取第一位姿的优化值。由于当前输入的图像帧是RGBD图像采集设备采集的RGBD图像,而RGBD图像通常包含观测到的2D数据,比如深度传感器提供的数据,观测到的2D数据相对比较准确,那么,基于该2D数据得到的稀疏点云相比估计得到的3D数据准确度更高,从而使得构建的稀疏平面的精度更高,有利于提升点面关联(即第一关联信息)的精度,另外,在SLAM系统前端给出重投影约束和深度约束的基础上,还加入了基于点面关联和第一位姿得到的点面约束(即第一点面约束条件),通过不断优化第一位姿以使载体的位姿满足上述三个约束条件,从而有利于缩小位姿的估计值与观测值之间的偏差,进而提升定位精度。

示例性的,电子设备可包括但不仅限于处理器901、输入设备902、输出设备903以及计算机存储介质904,输入设备902可以是键盘、触摸屏等,输出设备903可以是扬声器、显示器、射频发送器等。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

需要说明的是,由于电子设备的处理器901执行计算机程序时实现上述图2或图7所示的平面融合定位方法中的步骤,因此图2或图7所示的平面融合定位方法的实施例均适用于该电子设备,且均能达到相同或相似的有益效果。

本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器901加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器901的计算机存储介质。在一个实施例中,可由处理器901加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关平面融合定位方法的相应步骤。

示例性的,计算机存储介质的计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

需要说明的是,由于计算机存储介质的计算机程序被处理器执行时实现上述的平面融合定位方法中的步骤,因此上述平面融合定位方法的所有实施例均适用于该计算机存储介质,且均能达到相同或相似的有益效果。

本申请实施例还提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序可操作来使计算机执行如上述平面融合定位方法中的步骤。该计算机程序产品可以为一个软件安装包。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120113790959