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

一种基于SLAM地图的定位方法和装置

文献发布时间:2023-06-19 11:39:06


一种基于SLAM地图的定位方法和装置

技术领域

本申请涉及计算机技术领域,尤其涉及基于SLAM地图的定位方法和装置。

背景技术

同步定位与地图构建(Simultaneous Localization And Mapping,SLAM)技术可以使处于未知环境中的设备,通过自身的传感器获取运动状态和周围环境信息,实时重建周围环境的三维结构并同时对设备自身进行定位。

现有技术中SLAM建图功能和定位功能是紧耦合的,即建图和定位是同步进行的。这样,只有具有SLAM功能的电子设备,如移动终端、增强现实(Augmented Reality,AR)眼镜等,才能基于自身构建的SLAM三维地图实现对自身的定位。

目前,不具有SLAM功能的电子设备无法根据基于SLAM构建的三维地图实现对自身的定位。

发明内容

本申请实施例的目的是提供一种基于SLAM地图的定位方法和装置,能够使不具有SLAM功能的电子设备可以根据基于SLAM构建的三维地图实现对自身的定位。

为解决上述技术问题,本申请实施例提供如下技术方案:

一方面,本申请实施例提供一种基于SLAM地图的定位方法,所述方法包括:

获取第一电子设备的位置信息;

根据所述位置信息确定与所述第一电子设备定位相关的SLAM地图文件;所述SLAM地图文件是已根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息构建的地图中的至少一部分,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据;

发送所述SLAM地图文件。

其中,所述获取所述第一电子设备的位置信息,包括:

获取所述第一电子设备采集的周围环境的二维图像;

提取所述二维图像中的位置信息。

另一方面,本申请实施例提供一种基于SLAM地图的定位方法,所述方法包括:

发送位置信息;

接收SLAM地图文件,所述SLAM地图文件为对端设备根据所述位置信息确定的与设备定位相关的SLAM地图文件;所述SLAM地图文件是所述对端设备已根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息构建的地图中的至少一部分,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据;

对采集的周围环境的二维图像进行归一化处理,得到第一图像;

在所述二维图库中检索所述第一图像,获取相似关键帧图片;

对所述第一图像与所述相似关键帧图片进行特征点匹配;

当所述第一图像与所述相似关键帧图片匹配的特征点个数大于预设值时,获取所述相似关键帧图片对应的点云数据;

根据所述点云数据确定设备姿态。

其中,所述根据所述点云数据确定设备姿态之后,所述方法还包括:

根据相机外参对所述设备姿态进行重定位。

其中,所述对所述第一图像与所述相似关键帧图片进行特征点匹配,包括:

采用归一化坐标对所述第一图像与所述相似关键帧图片进行特征点匹配。

其中,所述根据所述点云数据确定所述设备姿态之前,所述方法还包括:

剔除所述点云数据中的异常值。

其中,所述根据所述点云数据确定设备姿态之后,所述方法还包括:

对所述设备姿态进行优化处理。

其中,所述姿态信息包括:6DOF设备位姿、相机外参及相机内参中的至少一个。

再一方面,本申请实施例提供一种基于SLAM地图的定位装置,所述定位装置包括:

获取单元,用于获取第一电子设备的位置信息;

处理单元,用于根据所述位置信息确定与所述第一电子设备定位相关的SLAM地图文件;所述SLAM地图文件是根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息确定的,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据;

传输单元,用于发送所述SLAM地图文件。

其中,所述获取单元,具体用于获取所述第一电子设备采集的周围环境的二维图像;提取所述二维图像中的位置信息。

又一方面,本申请实施例提供一种电子设备,所述电子设备包括上述的基于SLAM地图的定位装置。

再一方面,本申请实施例提供一种基于SLAM地图的定位装置,所述定位装置包括:

通信单元,用于发送位置信息;以及用于接收SLAM地图文件,所述SLAM地图文件为根据所述位置信息确定的与设备定位相关的SLAM地图文件;所述SLAM地图文件包括二维图库和点云数据;

处理单元,用于对采集的周围环境的二维图像进行归一化处理,得到第一图像;在所述二维图库中检索所述第一图像,获取相似关键帧图片;对所述第一图像与所述相似关键帧图片进行特征点匹配;当所述第一图像与所述相似关键帧图片匹配的特征点个数大于预设值时,获取所述相似关键帧图片对应的点云数据;根据所述点云数据确定设备姿态。

其中,所述处理单元,还用于根据相机外参对所述设备姿态进行重定位。

其中,所述处理单元具体用于采用归一化坐标对所述第一图像与所述相似关键帧图片进行特征点匹配。

其中,所述处理单元,还用于剔除所述点云数据中的异常值。

其中,所述处理单元,还用于对所述设备姿态进行优化处理。

又一方面,本申请实施例提供一种电子设备,所述电子设备包括上述的基于SLAM地图的定位装置。

相较于现有技术,本申请提供的基于SLAM地图的定位方法、装置和电子设备,无需电子设备自身构建地图,只需利用已构建的SLAM地图实现对自身的三维空间定位,满足跨平台(不同算法框架)、跨形态(手机、AR眼镜等)的电子设备的三维定位需求;而且,不仅能够节省电子设备的计算资源,还能快速定位。此外,基于SLAM构建的地图精度高,使得定位精度高,用户体验好。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:

图1为现有技术中定位方法的原理示意图;

图2为本申请提供的基于SLAM地图的定位方法的一实施例的流程示意图;

图3为本申请实施例涉及的SLAM地图的构建方法的流程示意图;

图4为本申请提供的基于SLAM地图的定位方法的另一实施例的流程示意图

图5为本申请提供的一种基于SLAM地图的定位装置的实施例的结构示意图;

图6为本申请提供的另一种基于SLAM地图的定位装置的实施例的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。

本文中的“第一”和“第二”仅起到区分的作用,不对所修饰对象的实质进行限定。

下面对本申请实施例中涉及的技术术语及相关原理进行解释说明。

SLAM的原理是:当设备处于一个未知的环境中,通过自身的传感器获取运动状态和周围环境信息,实时重建周围环境的三维结构并同时对设备自身进行定位。重定位是SLAM系统中的重要模块:当设备进入已建图环境,利用当前视觉信息和先前地图信息对设备6自由度(Degree Of Freedom,DOF)姿态进行计算。SLAM可以用于解决移动终端在未知环境中运行时定位导航与地图构建的问题。

6DOF是指物体在空间具有的六个自由度,包括沿x、y、z三个直角坐标轴方向的移动自由度和绕这三个坐标轴的转动自由度,即沿x轴平移、沿y轴平移、沿z轴平移、绕x轴转动、绕y轴转动及绕z轴转动。通过六个自由度可以准确确定物体的位置。在三维空间中,六自由度可以描述一个物体的位置和姿态(即位姿)。

如果移动终端的SLAM建图功能和定位功能是紧耦合的,那么只能由移动终端自身同步进行SLAM地图构建和定位,参见图1所示,现有技术包括以下步骤:步骤101、采集场景信息;步骤102、根据场景构建SLAM地图;步骤103、根据构建的SLAM地图进行设备定位。可见,现有技术中只有具有SLAM功能的电子设备(如移动终端、眼镜等),才能基于自身构建的SLAM三维地图实现对自身的定位。这样,不具有SLAM功能的电子设备无法根据基于SLAM构建的三维地图实现对自身的定位。

下面结合附图2对本申请提供的基于SLAM地图的定位方法的一实施例进行介绍。

步骤201、第二电子设备采集二维图像以及获取SLAM功能模块输出的姿态信息;

具体地,所述姿态信息至少可以包括6DOF设备位姿、相机外参和相机内参中的至少一个。可以根据实际情况选取任意两个上述信息,也可以采用全部上述信息。本实施例中的第二电子设备具备SLAM功能模块,所述姿态信息可以是利用第二电子设备的视觉惯性里程计(Visual-Inertial Odometry,VIO)信息获取的。

在应用中,所述二维图像可以采用RGB图像,由RGB摄像头采集图像。当然,也可以根据实际情况采用二值图像、灰度图像、索引图像等。

步骤202、所述第二电子设备将所述二维图像和所述姿态信息发给服务器。

在应用中,也可以将所述二维图像和所述姿态信息发给云服务器或其他电子设备等。由云服务器或其他电子设备根据所述二维图像和所述姿态信息构建地图。也就是说可以从服务器、云服务器、其他性能较佳的电子设备(如AR设备、手机)等中获取SLAM地图。

步骤203、所述服务器根据所述二维图像和所述姿态信息构建SLAM地图。

具体地,所述SLAM地图文件包括二维图库和点云数据;

步骤204、第一电子设备向服务器发送位置信息。

在应用中,可以是所述第一电子设备将自身的定位信息发送给所述服务器;也可以是所述第一电子设备采集周围环境的二维图像,并将所述二维图像发给所述服务器。

步骤205、服务器根据所述位置信息确定与所述第一电子设备定位相关的SLAM地图文件。

在应用中,当接收的是二维图像时,则所述服务器提取所述二维图像中的位置信息。

步骤206、所述服务器向所述第一电子设备发送SLAM地图文件。

步骤207、所述第一电子设备根据收到的SLAM地图文件和其自身采集的周围环境的二维图像确定设备姿态。

具体地,可以包括以下步骤:

步骤一、所述第一电子设备对采集的周围环境的二维图像进行归一化处理,得到第一图像。

步骤二、所述第一电子设备在所述二维图库中检索所述第一图像,获取相似关键帧图片。

步骤三、所述第一电子设备对所述第一图像与所述相似关键帧图片进行特征点匹配。

在应用中,为使匹配结果更为准确,可以采用归一化坐标对所述第一图像与所述相似关键帧图片进行特征点匹配。

具体地,可以采用基础随机抽样一致性Fundamental RANSAC(Random SampleConsensus)算法进行特征点匹配。

步骤四、所述第一电子设备当所述第一图像与所述相似关键帧图片匹配的特征点个数大于预设值时,获取所述相似关键帧图片对应的点云数据。

要说明的是,所述第一图像与所述相似关键帧图片存在匹配关系,SLAM地图文件中的二维图库和点云数据也是存在对应匹配关系的,可以根据所述二维图库中的相似关键帧图片可以确定匹配的点云数据。

在应用中,为提高点云数据的相关度,以使设备姿态确定的更为准确,可以剔除所述点云数据中的异常值(outlier)。异常值,也称外点、离群值、野值等,是数据中的噪声,通常会影响数据精度。

步骤五、所述第一电子设备根据所述点云数据确定设备姿态。

在应用中,考虑到电子设备的外形和结构有所差异,可以根据相机外参对所述设备姿态进行重定位,以使定位结果更为准确。

为取得更准确的设备姿态,还可以对所述设备姿态进行优化处理。具体地,可以采用光束法平差(Bundle Adjustment)对所述设备姿态进行优化处理。

下面结合附图对本申请实施例步骤203涉及的SLAM地图的构建方法进行详细介绍。

参见图3所示,SLAM地图的构建方法包括以下步骤:

步骤301、所述服务器根据第二电子设备发来的姿态信息确定采集所述二维图像时所述第二电子设备的姿态。

这里,所述姿态信息可以是利用第二电子设备的VIO信息获取的。

可选地,所述服务器可以根据6DOF设备位姿确定采集所述二维图像时所述第二电子设备的姿态;也可以根据6DOF设备位姿、相机内参确定采集所述二维图像时所述第二电子设备的姿态;也可以根据6DOF设备位姿、相机外参确定采集所述二维图像时所述第二电子设备的姿态;还可以根据6DOF设备位姿、相机外参和相机内参确定采集所述二维图像时所述第二电子设备的姿态。

其中,相机内参分为内参矩阵和畸变参数矩阵,相机内参是固定不变的。

步骤302、所述服务器结合所述姿态提取所述二维图像的特征点。

步骤303、根据所述特征点制作二维图库。

步骤304、根据所述特征点制作点云数据。

这里要指出的是,本实施例不对步骤303和步骤304的先后顺序进行严格的限定,此两个步骤的先后顺序可以根据实际情况灵活设定,例如同步进行。

这里,点云是指某个坐标系下的点的数据集。所述点可以包含丰富的信息,如三维坐标X、Y、Z,颜色,分类值,时间等。

在应用中,可以对所述特征点的二维坐标进行归一化处理;根据归一化处理后的特征点制作点云数据。

在一些实施例中,还可以包括根据所述姿态信息三角化所述特征点,得到特征点的深度信息;结合所述深度信息制作点云数据。

步骤305、根据所述二维图库和所述点云数据构建SLAM地图。

所述SLAM地图文件中的二维图库和点云数据是存在对应匹配关系的。

由上可知,采用上述SLAM地图的构建方法,可以利用第二电子设备的VIO信息获取设备姿态,由此可以充分利用惯性测量单元(Inertial Measurement Unit,IMU)的信息,从而使得构建的地图精度高,有利于提升定位精度高,获得更好的用户体验。所述VIO也称视觉惯性系统(Visual-Inertial System,VINS),是融合相机和IMU数据实现SLAM的算法。

综上,采用上述实施例提供的基于SLAM地图的定位方法,可以使第一电子设备获得SLAM地图,从而使得第一电子设备无需自身构建地图,只需利用其他设备已构建的SLAM地图即可实现对自身的三维空间定位,满足跨平台(不同算法框架)、跨形态(手机、AR眼镜等)的电子设备的三维定位需求。而且,不仅能够节省第一电子设备的计算资源,还能快速定位。此外,基于SLAM构建的地图精度高,使得定位精度高,用户体验好。

下面结合附图对本申请提供的基于SLAM地图的定位方法的另一实施例进行介绍。本实施例的定位方法可以应用于第一电子设备,所述第一电子设备可以是穿戴式设备、平板电脑、手机等电子设备。

参见图4所示,本实施例提供的基于SLAM地图的定位方法,包括以下步骤:

步骤401、发送位置信息。

在应用中,可以是所述第一电子设备将自身的定位信息发送给服务器、云服务器或是其他电子设备;也可以是所述第一电子设备采集周围环境的二维图像,并将所述二维图像发给服务器、云服务器或是其他电子设备。

步骤402、接收SLAM地图文件。所述SLAM地图文件为根据所述位置信息确定的与设备定位相关的SLAM地图文件;所述SLAM地图文件包括二维图库和点云数据。

所述SLAM地图文件是根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息确定的,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据。

这里,所述姿态信息可以包括:6DOF设备位姿、相机外参和相机内参。

这里要指出的是,所述SLAM地图文件可以是服务器或云服务器根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息确定的;也可以是第二电子设备根据自身采集的二维图像以及姿态信息确定的。

步骤403、所述第一电子设备对采集的周围环境的二维图像进行归一化处理,得到第一图像。

这里要指出的是,本实施例不对步骤401和步骤403的先后顺序进行严格的限定,此两个步骤的先后顺序可以根据实际情况灵活设定,例如同步进行。

步骤404、所述第一电子设备在所述二维图库中检索所述第一图像,获取相似关键帧图片。

步骤405、所述第一电子设备对所述第一图像与所述相似关键帧图片进行特征点匹配。

在应用中,为使匹配结果更为准确,可以采用归一化坐标对所述第一图像与所述相似关键帧图片进行特征点匹配。

具体地,可以采用基础随机抽样一致性Fundamental RANSAC(Random SampleConsensus)算法进行特征点匹配。可以分为以下步骤:A、提取检测子:在两张待匹配的图像中寻找那些最容易识别的像素点(角点),比如纹理丰富的物体边缘点等。B、提取描述子:对于检测出的角点,用一些数学上的特征对其进行描述,如梯度直方图,局部随机二值特征等。检测子和描述子的常用提取方法有:sift,harris,brisk等。C、匹配:通过各个角点的描述子来判断它们在两张图像中的对应关系,常用方法有flann等。

步骤406、所述第一电子设备当所述第一图像与所述相似关键帧图片匹配的特征点个数大于预设值时,获取所述相似关键帧图片对应的点云数据。

要说明的是,所述第一图像与所述相似关键帧图片存在匹配关系,SLAM地图文件中的二维图库和点云数据也是存在对应匹配关系的,可以根据所述二维图库中的相似关键帧图片可以确定匹配的点云数据。

在应用中,为提高点云数据的相关度,以使设备姿态确定的更为准确,可以剔除所述点云数据中的异常值。

具体地,可以计算一个误差,当这个误差大于设定阈值的时候就确定其为外点进而将其剔除。具体地,可以采用n点透视(Pespective-n-Point,PnP)RANSAC算法去除所述点云数据中的外点。在一些实施例中,还可以采用KD Tree算法,最优节点优先(best-bin-first,BBF)算法,图变换匹配(Graph Transformation Matching,GTM)算法等去除外点,保留正确的匹配点。

步骤407、所述第一电子设备根据所述点云数据确定设备姿态。

步骤408、根据相机外参对所述设备姿态进行重定位。

在应用中,不同电子设备的外形和结构有所差异,根据相机外参对所述设备姿态进行重定位,可以使定位结果更为准确。

相机外参分为旋转矩阵和平移矩阵,旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系。旋转矩阵描述世界坐标系的坐标轴相对于摄像机坐标轴的方向;平移矩阵描述在摄像机坐标系下,空间原点的位置。

在应用中,可以采用PnP RANSAC算法在已知n个三维空间点坐标(相对于某个指定的坐标系A)及其二维投影位置的情况下,计算3D-2D点对运动,估计相机的位姿(即相机在坐标系A下的姿态)。例如,在一幅图像中,知道其中至少四个图像中确定的点在3D空间下的相对坐标位置,就可以估计出相机相对于这些点的姿态,或者说估计出这些3D点在相机坐标系下姿态。

为取得更准确的设备姿态,还可以对所述设备姿态进行优化处理。

具体地,可以采用光束法平差(Bundle Adjustment)对所述设备姿态进行优化处理。

Bundle Adjustment是指通过将相机的姿态和测量点的三维坐标作为未知参数,将影像上探测到的用于前方交会的特征点坐标作为观测数据从而进行平差得到最优的相机参数和世界点坐标。

综上,采用上述实施例提供的基于SLAM地图的定位方法,第一电子设备无需自身构建地图,只需利用服务器已构建的SLAM地图即可实现对自身的三维空间定位。而且,本申请实施例根据电子设备的外形和结构的差异,对设备姿态进行了重定位,优化了设备姿态,使得定位精度更高,提升了用户体验。

下面结合附图对本申请提供的一种基于SLAM地图的定位装置的实施例进行介绍。

参见图5所示,该实施例中所述装置包括:获取单元501,用于获取第一电子设备的位置信息;

处理单元502,用于根据所述位置信息确定与所述第一电子设备定位相关的SLAM地图文件;所述SLAM地图文件是已根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息构建的地图中的至少一部分,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据;

传输单元503,用于发送所述SLAM地图文件。

可选地,所述获取单元501,具体用于获取所述第一电子设备采集的周围环境的二维图像;提取所述二维图像中的位置信息。

本申请还提供一种电子设备,所述电子设备包括上述实施例提供的基于SLAM地图的定位装置。该电子设备的创新在于包括了上述实施例提供的基于SLAM地图的定位装置,故此处略去对电子设备的具体结构进行详细描述。

由上可知,上述实施例提供的基于SLAM地图的定位定位装置和电子设备,无需自身构建地图,只需利用其他设备已构建的SLAM地图实现对自身的三维空间定位,满足跨平台(不同算法框架)、跨形态(手机、AR眼镜等)的电子设备的三维定位需求;而且,不仅能够节省自身的计算资源,还能快速定位。此外,基于SLAM构建的地图精度高,使得定位精度高,用户体验好。

下面结合附图对本申请提供的另一种基于SLAM地图的定位装置的实施例进行介绍,

参见图6所示,该实施例中所述定位装置包括:

通信单元601,用于发送位置信息;以及用于接收SLAM地图文件,所述SLAM地图文件为对端设备根据所述位置信息确定的与设备定位相关的SLAM地图文件;所述SLAM地图文件是所述对端设备已根据第二电子设备采集的二维图像以及所述第二电子设备的姿态信息构建的地图中的至少一部分,所述姿态信息为所述第二电子设备的SLAM功能模块输出的姿态信息;所述SLAM地图文件包括二维图库和点云数据;

处理单元602,用于对采集的周围环境的二维图像进行归一化处理,得到第一图像;在所述二维图库中检索所述第一图像,获取相似关键帧图片;对所述第一图像与所述相似关键帧图片进行特征点匹配;当所述第一图像与所述相似关键帧图片匹配的特征点个数大于预设值时,获取所述相似关键帧图片对应的点云数据;根据所述点云数据确定设备姿态。

可选地,所述处理单元602,还用于根据相机外参对所述设备姿态进行重定位。

可选地,所述处理单元602具体用于采用归一化坐标对所述第一图像与所述相似关键帧图片进行特征点匹配。

可选地,所述处理单元602,还用于剔除所述点云数据中的异常值。

可选地,所述处理单元602,还用于对所述设备姿态进行优化处理。

本申请还提供一种电子设备,所述电子设备包括上述实施例提供的基于SLAM地图的定位装置。该电子设备的创新在于包括了上述实施例提供的基于SLAM地图的定位装置,这里不再对电子设备的具体结构进行详细描述。

由上可知,上述实施例提供的基于SLAM地图的定位定位装置和电子设备,可以使得其他电子设备无需自身构建地图,只需利用其已构建的SLAM地图实现对自身的三维空间定位,满足跨平台(不同算法框架)、跨形态(手机、AR眼镜等)的电子设备的三维定位需求;而且,不仅能够节省计算资源,还能快速定位。此外,基于SLAM构建的地图精度高,使得定位精度高,用户体验好。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 基于SLAM地图与高精度地图匹配的车辆定位方法及系统
  • 基于超宽带和激光SLAM(地图同步定位和导航)复合导航技术的AGV定位系统及方法
技术分类

06120113008032