地图生成方法、定位方法、系统及计算机可读存储介质与流程

文档序号:28069785发布日期:2021-12-18 00:14阅读:116来源:国知局
地图生成方法、定位方法、系统及计算机可读存储介质与流程

1.本发明涉及计算机计算领域,特别是涉及一种地图生成方法、定位方法及其系统,以及一种计算机可读存储介质。


背景技术:

2.地图定位系统是实现机器人导航、增强现实(augmented reality,ar)、自动巡航、自动驾驶等技术的基础,定位可以是在构建好的地图中查找匹配点,进而确认当前所在位置。地图定位系统已经发展了很多年,其技术方案原理可以归纳为:视觉地图生成技术及视觉地图定位技术。
3.视觉地图生成技术最常见的是通过运动恢复结构(structure

from

motion)的技术完成的,主要包括:拍摄场景的图片,提取图像特征进行匹配,进行三角化得到空间三维点,最后使用捆集调整(bundle adjustment)技术进行优化。使用该技术生成的视觉地图由三维点云及其图像特征构成。
4.视觉地图定位技术就是在根据视觉地图进行定位。将设备相机当前拍摄的图像与视觉地图的三维点云进行特征匹配,得到2d

3d点对,然后求解pnp问题得到设备相机当前的位姿,从而实现视觉定位。
5.现有地图定位系统存在一些明显的应用问题。由于视觉定位需要建立在生成的视觉地图之上,视觉定位系统的定位效率就由对生成地图进行图像检索的效率所决定。现有技术视觉定位系统需要通过一定方法从生成视觉地图的数据库中查找出与待检索图像最为相似图像。
6.常见的图像检索算法一般包括:使用最近邻搜索(k

nearest neighbors,knn)等方式进行检索,检索依据为图像的整体描述子(全局描述子);后续使用其他算法以提高图像检索的召回率,诸如qe(query expansion),pq(product quantization)等方法。qe主要通过二轮检索提升召回率,pq则旨在压缩图像描述字大小的同时,提升其特异性等。对于图像的全局描述子搜索,早期有传统的方法诸如vlad(vector of locally aggregated descriptors)算法,现在也有许多基于深度学习的描述子以及匹配方法(netvlad,gem)等。
7.但是仅基于图像的全局描述子进行图像检索,只是单纯使用视觉信息进行检索,以实现地图定位。定位结果成功率及精度往往存在瓶颈,仅使用图像的视觉信息进行定位不能排除视觉上较为近似的图像特征,从而容易造成匹配错误,无法避免定位结果存在错误率。


技术实现要素:

8.本发明技术方案所解决的技术问题为,如何降低视觉地图定位过程中因图像检索产生的错误率。
9.为了解决上述技术问题,本发明技术方案提供了一种视觉地图生成方法,包括:
10.采集所需要的视频序列及第一属性信息,所述第一属性信息包括第一gps信息;
11.基于所述视频序列重建视觉定位地图,所述视觉定位地图包括关键帧图像特征及关键帧图像特征对应的三维点云数据;
12.根据所述第一gps信息将所述视觉定位地图对其至空间地理坐标系中并计算出视觉定位地图中每个关键帧在所述空间地理坐标系中的位置信息;
13.利用所述关键帧在空间地理坐标系中的位置信息及主光轴计算每个关键帧相对于空间地理坐标系的方位角信息,以获得所述关键帧朝向信息;
14.基于所述关键帧朝向更新所述视觉定位地图,更新后的视觉定位地图还包括:所述关键帧朝向信息。
15.可选的,所述基于所述视频序列重建出视觉定位地图包括:通过运动结构恢复算法或者即时定位与地图构建算法重建所述视觉定位地图。
16.可选的,所述关键帧图像特征包括:总体图像特征及局部图像特征。
17.可选的,所述空间地理坐标系包括:指向正东的x轴,指向正北的y轴及远离地面向上的z轴;所述利用所述关键帧在空间地理坐标系中的位置信息及主光轴计算每个关键帧相对于空间地理坐标系的方位角信息包括:
18.在每个关键帧的主光轴上选择一个点p(x0,y0,f),其中(x0,y0)为相机的主点,f为相机焦距;
19.通过坐标系转换将相机坐标系中的关键帧光心o(0,0,0)和点p(x0,y0,f)转换为对应空间地理坐标系中的坐标o(xo,yo,zo)和坐标p(xp,yp,zp);
20.计算坐标o(xo,yo,zo)和p(xp,yp,zp)组成射线op相对于x轴的夹角θ,其中:
[0021][0022]
根据如下条件计算出射线op的方位角信息:
[0023]
如果xp>xo,当前方位角为(π/2

θ);
[0024]
如果xp<xo,当前方位角为(3π/2

θ);
[0025]
如果xp=xo且yp>yo,当前方位角为0;
[0026]
如果xp=xo且yp<yo,当前方位角为π。
[0027]
可选的,所述第一属性信息还包括:第一imu信息;所述视觉地图生成方法还包括:
[0028]
基于所述第一gps信息和/或第一imu信息,使用光束法平差校准所述视觉定位地图并更新所述视觉定位地图。
[0029]
可选的,所述视觉地图生成方法还包括:
[0030]
将更新后的视觉定位地图网格化以显示。
[0031]
为了解决上述技术问题,本发明技术方案还提供了一种视觉地图定位方法,基于上所述的视觉地图生成方法,包括:
[0032]
获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息;
[0033]
设定筛选半径,并将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧,所述筛选半径为筛选常量半径及为所述第二gps信息设定的设备位置精度值之和;
[0034]
基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧;
[0035]
基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧;
[0036]
根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0037]
可选的,所述基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧包括:基于待定位图像的朝向信息及所述第一关键帧朝向信息从所述视觉定位地图的第一关键帧中筛选出第二关键帧;
[0038]
所述基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧包括:所述基于待定位图像的图像特征及第二关键帧图像特征从第二关键帧中筛选出第三关键帧,所述最终筛选出的关键帧为所述第三关键帧。
[0039]
可选的,所述基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧包括:所述基于待定位图像的图像特征及第一关键帧图像特征从第一关键帧中筛选出第三关键帧;
[0040]
所述基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧包括:基于待定位图像的朝向信息及所述第三关键帧朝向信息从所述视觉定位地图的第三关键帧中筛选出第二关键帧,所述最终筛选出的关键帧为所述第二关键帧。
[0041]
可选的,所述将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧包括:将第二关键帧中大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧;
[0042]
所述基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧包括:所述基于待定位图像的图像特征及第一关键帧图像特征从第一关键帧中筛选出第三关键帧,所述最终筛选出的关键帧为所述第三关键帧。
[0043]
可选的,所述基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧包括:所述基于待定位图像的图像特征及第二关键帧图像特征从第二关键帧中筛选出第三关键帧;
[0044]
所述将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧包括:将第三关键帧中大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧,所述最终筛选出的关键帧为所述第一关键帧。
[0045]
可选的,所述将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧包括:将第三关键帧中大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧;
[0046]
所述基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧包括:基于待定位图像的朝向信息及所述第一关键帧朝向信息从所述视觉定位地图的第一关键帧中筛选出第二关键帧,所述最终筛选出的关键帧为所述第二关键帧。
[0047]
可选的,所述基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧包括:基于待定位图像的朝向信息及所述第三关键帧朝向信息从所述视觉定位地图的第三关键帧中筛选出第二关键帧;
[0048]
所述将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧包括:将第二关键帧中大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧,所述最终筛选出的
关键帧为所述第一关键帧。
[0049]
可选的,所述将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧包括:以所述第二gps信息显示的设备位置为中心,将所述视觉定位地图上半径大于所述筛选半径以外的关键帧予以剔除。
[0050]
可选的,所述基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧包括:设定朝向阈值;将所述关键帧朝向信息与所述关键帧朝向信息进行朝向比较,剔除朝向差距超出所述朝向阈值的关键帧。
[0051]
可选的,所述基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧包括:
[0052]
利用关键帧图像特征对所述关键帧进行knn查询以得到k个关键帧;
[0053]
根据所述k个关键帧的位置信息利用k

means算法对所述k个关键帧进行聚类,所述k个关键帧被分为n个聚类;
[0054]
将每个聚类中三维点云数量满足预定数量的关键帧作为所述第三关键帧,并剔除其他关键帧。
[0055]
为了解决上述技术问题,本发明技术方案还提供了一种视觉地图生成系统,包括:处理器和存储器;
[0056]
所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如上所述的视觉地图生成方法的步骤。
[0057]
为了解决上述技术问题,本发明技术方案还提供了一种视觉地图定位系统,包括:处理器和存储器;
[0058]
所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如上所述的视觉地图定位方法的步骤。
[0059]
为了解决上述技术问题,本发明技术方案还提供了一种视觉地图生成系统,包括:采集模块、地图重建模块、第一计算模块及第一更新模块;
[0060]
所述采集模块,适于采集所需要的视频序列及第一属性信息,所述第一属性信息包括第一gps信息;
[0061]
所述地图重建模块,适于基于所述视频序列重建视觉定位地图,所述视觉定位地图包括关键帧图像特征及关键帧图像特征对应的三维点云数据;
[0062]
所述第一计算模块,适于根据所述第一gps信息将所述视觉定位地图对齐至空间地理坐标系中并计算出视觉定位地图中每个关键帧在所述空间地理坐标系中的位置信息;
[0063]
所述第一计算模块,还适于利用所述关键帧在空间地理坐标系中的位置信息及主光轴计算每个关键帧相对于空间地理坐标系的方位角信息,以获得所述关键帧朝向信息;
[0064]
所述第一更新模块,适于基于所述关键帧朝向更新所述视觉定位地图,更新后的视觉定位地图还包括:所述关键帧朝向信息。
[0065]
可选的,所述地图重建模块,适于通过运动结构恢复算法或者即时定位与地图构建算法重建所述视觉定位地图。
[0066]
可选的,所述空间地理坐标系包括:指向正东的x轴,指向正北的y轴及远离地面向上的z轴;所述第一计算模块包括:选择单元、转换单元、第一计算单元及第二计算单元;
[0067]
所述选择单元,适于在每个关键帧的主光轴上选择一个点p(x0,y0,f),其中(x0,
y0)为相机的主点,f为相机焦距;
[0068]
所述转换单元,适于通过坐标系转换将相机坐标系中的关键帧光心o(0,0,0)和点p(x0,y0,f)转换为对应空间地理坐标系中的坐标o(xo,yo,zo)和坐标p(xp,yp,zp);
[0069]
所述第一计算单元,适于计算坐标o(xo,yo,zo)和p(xp,yp,zp)组成射线op相对于x轴的夹角θ,其中:
[0070][0071]
所述第二计算单元,适于根据如下条件计算出射线op的方位角信息:
[0072]
如果xp>xo,当前方位角为(π/2

θ);
[0073]
如果xp<xo,当前方位角为(3π/2

θ);
[0074]
如果xp=xo且yp>yo,当前方位角为0;
[0075]
如果xp=xo且yp<yo,当前方位角为π。
[0076]
可选的,所述第一属性信息还包括:第一imu信息;所述视觉地图生成系统还包括:第二更新模块;
[0077]
所述第二更新模块,适于基于所述第一gps信息和/或第一imu信息,使用光束法平差校准所述视觉定位地图并更新所述视觉定位地图。
[0078]
可选的,所述的视觉地图生成系统还包括:网格化模块;
[0079]
所述网格化模块,适于将更新后的视觉定位地图网格化以显示。
[0080]
为了解决上述技术问题,本发明技术方案还提供了一种视觉地图定位系统,基于如上所述的视觉地图生成系统,包括:获取模块、第一筛选模块、第二筛选模块、第三筛选模块及第二计算模块;
[0081]
所述获取模块,适于获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息;
[0082]
所述第一筛选模块,适于设定筛选半径,并将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧,所述筛选半径为筛选常量半径及为所述第二gps信息设定的设备位置精度值之和;
[0083]
所述第二筛选模块,适于基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出第二关键帧;
[0084]
所述第三筛选模块,适于基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出第三关键帧;
[0085]
所述第二计算模块,适于根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0086]
为了解决上述技术问题,本发明技术方案还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视觉地图生成方法。
[0087]
为了解决上述技术问题,本发明技术方案还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视觉地图定位方法。
[0088]
本发明技术方案的有益效果至少包括:
[0089]
本发明技术方案能够利用设备采集图像时自带的属性信息重建视觉地图,以获取地图数据中关键帧的辅助图像检索信息,包括:关键帧朝向信息,使视觉图像定位过程中的图像检索过程可以利用该雇主图像检索信息,以更快的速度获得更高的召回率,挑选出更好位置与视角的关键帧,降低视觉地图定位过程中因图像检索产生的错误率,提高最终视觉地图定位结果的准确率。
[0090]
在本发明技术方案的可选技术方案中,进一步利用设备采集图像时自带的属性信息,比如获取图像gps信息和/或imu信息,以校准视觉定位地图,使视觉定位地图的关键帧的定位数据更为准确及有效。
[0091]
本发明技术方案在对待定位图像进行检索定位时,通过使用待定位图像设备的属性信息及图像特征,利用gps信息及定位图像关键帧之间的拓扑关系,筛选出筛选半径内的关键帧,再利用设备磁力计将朝向与待定位图像明显错误的关键帧予以剔除,在筛选后的关键帧中根据视觉全局描述子进一步挑选出适合定位的关键帧,选取剔除后最终筛选出的关键帧用于视觉定位。本发明技术方案通过待定位图像设备中的gps信息和磁力计信息,可以筛掉图像检索过程中涉及的大部分的关键帧,筛掉后的关键帧不参与视觉全局描述子的图像检索,可以极大提升视觉地图定位的图像检索效率,同时也避免了空间位置明显不在一起、但在图像特征上存在一致的关键帧对地图定位产生错误结果。
附图说明
[0092]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其他特征、目的和优点将会变得更明显:
[0093]
图1为本发明技术方案提供的一种系统架构结构示意图;
[0094]
图2为本发明技术方案提供的一种视觉地图生成方法的流程示意图;
[0095]
图3为利用本发明技术方案提供的视觉地图生成方法所形成的视觉定位地图文件数据存储结构示意图;
[0096]
图4为利用本发明技术方案提供的视觉地图生成方法所形成的另一种视觉定位地图文件数据存储结构示意图;
[0097]
图5为本发明技术方案提供的另一种视觉地图生成方法的流程示意图;
[0098]
图6为本发明技术方案提供的第一种视觉地图定位方法流程示意图;
[0099]
图7为本发明技术方案提供的第二种视觉地图定位方法流程示意图;
[0100]
图8为本发明技术方案提供的第三种视觉地图定位方法流程示意图;
[0101]
图9为本发明技术方案提供的第四种视觉地图定位方法流程示意图;
[0102]
图10为本发明技术方案提供的第五种视觉地图定位方法流程示意图。
具体实施方式
[0103]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0104]
除非上下文明确地另外指明,否则单数形式“一”和“所述”包括复数指代物。如本技术中所使用的,用语“第一”和“第二”可互换使用,以将一个或一类构件分别与另一个或另一类区分开,且不旨在表示独立构件的位置或重要性。
[0105]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0106]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0107]
为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
[0108]
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0109]
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0110]
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、ios操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field—programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(cloud computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
[0111]
所述网络104包括但不限于互联网、移动通信网络、广域网、城域网、局域网、vpn网络、无线自组织网络(adhoc网络)等。例如,移动通信网络可以是3g、4g或5g移动通信系统,例如,移动通信网络可以是宽带码分多址(wideband code division multiple access,wcdma)系统、频分多址(frequency division multiple access,fdma)系统、正交频分多址(orthogonal frequency

division multiple access,ofdma)系统、单载波fdma(sc

fdma)系统、通用分组无线业务(general packet radio service,gprs)系统或长期演进(longterm evolution,lte)系统,以及其他此类通信系统。当然,本领域技术人员应能理解上述终端设备仅为举例,其他现有的或今后可能出现的终端设备如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
test,fast)、sift特征检测算法(scale

invariant featuretransform,sift)、harris算法、orb特征检测算法(oriented fast and rotated brief,orb)等,在本发明技术方案中都可以使用。在具体的应用实例中,关键帧图像特征可以是图片中的特殊位置点,比如可以是如上所述的角点,fast角点检测算法是找到与周围邻域内大于预定数量的像素点相差大于等于阈值的像素点xp,则所述像素点xp为角点,角点即为所要提取的图像特征。sift特征描述子算法,用于侦测与描述图像中的局部性特征,对特征点进行梯度计算,生成梯度直方图,统计选取的邻域内像素的梯度和方向,从而确定特征点方向作为图像特征。在另一种应用实例中可以使用经典特征sift算法提取上述图片特征,也还可以使用基于深度学习的算法(如lift,d2net,r2d2,superpoint)提取上述图片的局部特征等。
[0124]
在其他实施例中,除了上述针对图像局部区域的图像特征的提取,还可以对关键帧图像提取代表该图像总体图像特征的颜色特征、纹理特征或形状特征中的一种或多种。在具体的应用实例中,如果是提取关键帧图像的颜色特征可以采用提取图片的颜色直方图方法、主色调直方图的方法、颜色矩方法或者颜色集方法等方法作为颜色特征的提取方法,将颜色直方图信息、主色调直方图信息、颜色矩信息或者颜色集信息作为颜色特征提取。如果是提取关键帧图像的纹理特征可以采用lbp方法(local binary patterns)或者灰度共生矩阵方法等方法提取图像的纹理特征。如果是提取关键帧图像的形状特征,可以采用边缘特征提取的方法,具体用canny算子边缘检测或者sobel算子边缘检测算法实现。
[0125]
针对大规模场景地图生成,基于上述关键帧图像特征,可通过运动恢复结构(structure from motion,sfm)算法或即时定位与地图构建(simultaneous localization and mapping,slam)算法,基于上述关键帧图像特征,恢复出上述关键帧图像特征所对应的三维点云数据,以完成视觉定位地图重建。
[0126]
运动恢复结构算法是从一系列二维图像恢复出场景三维稀疏点云的技术的统称,其主要步骤包括特征匹配、三角化点云,ba优化等。采用现有技术中使用运动恢复结构算法对一系列二维图像恢复出三维场景数据点云技术方案都可以实现本实施例基于图像特征获取对应三维点云数据的过程。
[0127]
即时定位与地图构建算法是通过计算机从地图未知环境及未知地点出发,在运动过程中通过已从关键帧地图特征(比如,墙角,柱子等)的二维图像位置和姿态数据,再根据自身位置增量式的构建地图,从而恢复该关键帧图像特征对应在三维地图中三维点云数据的过程。
[0128]
本发明实施例不在此对使用何种算法使关键帧图像特征重构视觉地图三维场景做限制。
[0129]
步骤s12,根据所述第一gps信息将所述视觉定位地图对其至空间地理坐标系中并计算出视觉定位地图中每个关键帧在所述空间地理坐标系中的位置信息,利用所述关键帧在空间地理坐标系中的位置信息及主光轴计算每个关键帧相对于空间地理坐标系的方位角信息,以获得所述关键帧朝向信息。
[0130]
不同于现有技术,本发明技术方案的重建视觉地图,除了包括上述关键帧图像特征及关键帧图像特征对应的三维点云数据,还包括关键帧朝向信息。通过上述属性信息中获知的gps信息,将视觉地图对齐至空间地理坐标系(也称世界坐标系)中得到得校准后的视觉地图(aligned map),可以获得对齐空间地理坐标系后每个关键帧的位置信息,基于这
些关键帧的位置信息,可以计算出视觉地图中每个关键帧的主光轴相对于空间地理坐标系的方位角。在本发明技术方案的一种实例中,关键帧朝向信息的获取可以通过如下算法:
[0131]
所述空间地理坐标系包括:指向正东的x轴,指向正北的y轴及远离地面向上的z轴;方位角信息可以通过关键帧的主光轴朝向来表示,根据每个关键帧在空间地理坐标系中的位置信息及主光轴计算出视觉定位地图中每个关键帧相对于空间地理坐标系的方位角信息包括:
[0132]
在每个关键帧的主光轴上选择一个点p(x0,y0,f),其中(x0,y0)为相机的主点,f为相机焦距;
[0133]
通过坐标系转换将相机坐标系中的关键帧光心o(0,0,0)和点p(x0,y0,f)转换为对应空间地理坐标系中的坐标o(xo,yo,zo)和坐标p(xp,yp,zp),其中xo,yo,zo分别为关键帧光心o(0,0,0)转换到对应空间地理坐标系的x轴、y轴及z轴坐标值,xp,yp,zp分别为点p(x0,y0,f)转换到对应空间地理坐标系的x轴、y轴及z轴坐标值。在本步骤中,通过坐标系转换将相机坐标系中的关键帧光心o(0,0,0)和点p(x0,y0,f)转换为对应空间地理坐标系中的坐标o(xo,yo,zo)和坐标p(xp,yp,zp),实现将视觉地图对齐至空间地理坐标系。本发明所述的关键帧在空间地理坐标系中的位置信息,即可以是关键帧光心o(0,0,0)转换到空间地理坐标系中的坐标o(xo,yo,zo)。
[0134]
基于如下算式计算坐标o(xo,yo,zo)和p(xp,yp,zp)组成射线op相对于x轴的夹角θ,即:
[0135][0136]
由于所求夹角θ范围只能在(

π/2,π/2)之间,故还比较xp和xo之间大小,整个视觉定位地图已经向北极对齐,故计算出的射线op的方位角即可表示为该关键帧的朝向,可根据如下条件计算出射线op的方位角信息:
[0137]
如果xp>xo,当前方位角为(π/2

θ);
[0138]
如果xp<xo,当前方位角为(3π/2

θ);
[0139]
如果xp=xo且yp>yo,当前方位角为0;
[0140]
如果xp=xo且yp<yo,当前方位角为π。
[0141]
步骤s13,基于所述关键帧朝向更新所述视觉定位地图,更新后的视觉定位地图还包括:所述关键帧朝向信息。
[0142]
通过视觉地图数据库中的地图数据,即包括:关键帧图像特征、关键帧图像特征对应的三维点云数据及关键帧的朝向信息(也就是方位角信息),可以得到更新后的视觉定位地图。
[0143]
经过步骤s10至s13,更新后的视觉定位地图文件的一种数据存储形式可以如图3所示。
[0144]
j1、j2、j3…
j
m
依次为关键帧p1、p2、p3…
p
m
的图像特征集合,其中,j
11
,j
12

j
1n
为关键帧p1的图像特征集合j1中的特征数据,j
21
,j
22

j
2n
为关键帧p2的图像特征集合j2中的特征数据,j
31
,j
32

j
3n
为关键帧p3的图像特征集合j3中的特征数据,以此类推,j
m1
,j
m2

j
mn
为关键帧p
m
的图像特征集合j
m
中的特征数据。j1、j2、j3…
j
m
以及p1、p2、p3…
p
m
下角标1、2、3

m分别为关键帧序号。图3中仅示意了关键帧p1、p2、p3…
p
m
图像的关键帧图像特征集合j1、j2、
j3…
j
m
,j1、j2、j3…
j
m
不包括从关键帧总体区域提取的关键帧图像特征。仅包括上述数量级为n的图像局部区域的图像特征。j
11
,j
12

j
1n
,j
21
,j
22

j
2n
,j
31
,j
32

j
3n


,j
m1
,j
m2

j
mn
的下角标由左右两边的数字构成,其中:左边数字1,2,3,

m代表关键帧序号;右边数字代表局部区域图像特征的数量级编号,即从对应关键帧图像提取了1至n个数量的图像特征。n为所提取图像特征的数量级。
[0145]
通过本实施例提供的运动恢复结构算法或即时定位与地图构建算法,能够恢复关键帧p1、p2、p3…
p
m
的采集设备参数及场景三维结构,得到图像特征所对应的三维点云数据集合s1、s2、s3…
s
m
。三维点云数据s1、s2、s3…
s
m
依次为图像特征集合j1、j2、j3…
j
m
放置于预置三维坐标下的三维坐标数据集合。更为具体的,s1为图像特征集合j1中特征点j
11
,j
12

j
1n
对应三维坐标数据集合,s2为图像特征集合j2中特征点j
21
,j
22

j
2n
对应三维坐标数据集合,s3为图像特征集合j3中特征点j
31
,j
32

j
3n
对应三维坐标数据集合,以此类推,s
m
为图像特征集合j
m
中特征点j
m1
,j
m2

j
mn
对应三维坐标数据集合。
[0146]
继续参考图3,该地图文件还包括关键帧p1、p2、p3…
p
m
的朝向信息d1、d2、d3…
d
m
及位置信息g1、g2、g3…
g
m
。从上述更新后的视觉定位地图文件的数据存储形式来看,关键帧p1、p2、p3…
p
m
的图像特征集合j1、j2、j3…
j
m
、三维点云数据集合s1、s2、s3…
s
m
、朝向信息d1、d2、d3…
d
m
、位置信息g1、g2、g3…
g
m
具有数据存储的对应关系。这种对应关系可以使计算机在获取到其中一个图像特征数据(特征点),就可以获取该图像特征数据对应的图像特征集合,获取到该图像特征集合对应的三维坐标数据集合,并根据该特征数据获取该特征数据对应的三维坐标数据,还可以根据该图像特征集合或三维坐标数据集合,获得对应的朝向信息。
[0147]
比如计算机检索到特征数据j
11
,就可以从图像特征集合j1对应的三维坐标数据集合s1检索到特征数据j
11
对应的三维坐标数据,并获得对应的朝向信息d1及位置信息g1。
[0148]
又如计算机检索到朝向信息d2,就可以获得对应的图像特征集合j2,对应的三维坐标数据集合s2及位置信息g2的数据。
[0149]
在其他实施例中,经过步骤s10至s13,更新后的视觉定位地图文件的另一种数据存储形式可以如图4所示。该项视觉定位地图文件中的关键帧p1、p2、p3…
p
m
的图像特征集合j1’
、j2’
、j3’…
j
m’中除了包括图3所示的图像特征集合,还包括从关键帧总体区域提取的关键帧图像特征j
10
,j
20

j
m0
。j
10
,j
20

j
m0
下角标也由左右两边的数字构成,其中:左边数字1,2,3,

m代表关键帧序号;右边数字0代表关键帧序号为1,2,3,

m的总体区域图像特征的编号。
[0150]
在图4的地图文件中,关键帧p1、p2、p3…
p
m
的图像特征集合j1’
、j2’
、j3’…
j
m’、三维点云数据集合s1、s2、s3…
s
m
、朝向信息d1、d2、d3…
d
m
、位置信息g1、g2、g3…
g
m
具有数据存储的对应关系。这种对应关系可以使计算机在获取到其中一个图像特征数据(可为总体图像特征或局部图像特征),就可以获取该图像特征数据对应的图像特征集合,获取到该图像特征集合对应的三维坐标数据集合,还可以根据该图像特征集合或三维坐标数据集合,获得对应的朝向信息。
[0151]
比如计算机检索到特征数据j
11
,就可以获取图像特征集合j1,获取图像特征集合j1对应的三维坐标数据集合s1,从图像特征集合j1对应的三维坐标数据集合s1检索到特征数据j
11
对应的三维坐标数据,并获得对应的朝向信息d1及位置信息g1。
[0152]
又如计算机检索到特征数据j
20
,就可以获取图像特征集合j2’
,获取图像特征集合
j2’
对应的三维坐标数据集合s2,以及获得对应的朝向信息d2及位置信息g2。
[0153]
在上述视觉地图生成方法的一种变化例中,为了提高地图精度,还使用了设备获取的第一属性信息,采用光束法平差校准所生成的视觉地图。具体的,在如图5所示的视觉地图生成方法,该方法除了包括如图3所示的步骤s10至步骤s13外,还包括:
[0154]
步骤s14,使用光束法平差校准并更新所述视觉地图。
[0155]
使用光束法平差校准所生成的视觉地图可以使得反投影误差最小。正如单杰博士在《光束法平差简史与概要》(武汉大学学报,信息科学版,2018,43(12):1797

1810.)中指出:光束法平差是当前摄影测量和计算机视觉及机器人领域通用的一种利用影像进行定位的理论与方法。可以通过光束法平差数学模型的建立与解算,对所生成的地图进行优化。光束法平差的数学模型是指光束法平差中观测数据与参数之间的关系。它首先包括成像模型,即图像、物体及相机之间的数学关系,通常是指三者在同一直线上的事实,即共线方程。几十年来有几种不同的方式来表示这种基本关系。另外,在光束法平差发展的历程中,也不断有新的观测数据或条件(约束)引入到平差计算中来,这些观测数据与未知参数的关系也构成了对传统光束法模型的扩展。在此基础上,使用第一数据信息中的gps信息或者imu信息作为约束条件(也即观测数据),对所生成的视觉地图进行优化,使得整个优化过程朝正确的方向进行。
[0156]
依据如图2或图5所示的视觉地图生成方法产生的视觉地图为稀疏地图,为了便于显示,可以在上述视觉地图生成的基础上,将视觉地图网格化以便于显示。可以利用多视角立体视觉(multi view stereo,mvs)和泊松(poisson)曲面重建poisson等方法生成网格地图。现有技术生成网格地图的方法很多,本发明技术方案不对地图网格化的方式做任何限制。
[0157]
基于本发明技术方案提供的上述视觉地图生成方法的实施例,基于任何一种实施例方法下生成的视觉地图,如图6所示,本发明技术方案还提供了一种视觉地图定位方法,包括如下流程步骤:
[0158]
步骤s20,获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息。
[0159]
对待定位图像提取第二属性信息的方式与步骤s10类似,即使用图像获取设备自身携带的gps接收芯片、imu(惯性传感器,由陀螺仪和加速度计组成)、磁力计、陀螺仪、加速度计传感器等,获取与待定位图像有关的属性信息,诸如:gps信息、imu信息、朝向信息等。
[0160]
在步骤s20中,第二属性信息中的gps信息及朝向信息可用于本实施例待定位图像的定位计算。
[0161]
更进一步的,对待定位图像的图像特征的获取方式可以参考步骤s11中对视觉定位地图获取关键帧图像特征的方式。较为类似的,通过对待定位图像获取预定数量级的图像特征,特别是对待定位图像局部区域抽取不同数量的图像特征,以完成待定位图像图像特征的提取。从待定位图像的局部区域中抽取的图像特征至少包括如下图像特征中的一种或多种:边缘、角点、线、曲线和其他特别属性的区域特征等。
[0162]
其他实施例中,除了对待定位图像进行局部区域的图像特征的提取,也可以包括对待定位图像总体图像特征的提取,包括总体图像特征中颜色特征、纹理特征或形状特征中的一种或多种。
[0163]
对待定位图像进行局部区域图像特征的提取,或者对待定位图像进行总体图像特征的提取,这些具体的提取图像特征的算法可以参考上述对于关键帧图像特征的提取算法,此处不再赘述。
[0164]
现有技术中,视觉地图的定位方法是基于待定位图像的图像特征获取结果的。在待定位图像的图像特征与视觉地图关键帧图像特征匹配后,会得到相互匹配的待定位图像的第一匹配图像特征,以及视觉地图关键帧的第二匹配图像特征。视觉地图在生成时,已获得了视觉地图关键帧图像特征及与之对应的三维点云数据。因此,在对待定位图像进行匹配定位时,会基于第一匹配图像特征及第二匹配图像特征对应的三维点云数据,通过pnp算法获得待定位图像的设备位姿。
[0165]
不同于现有技术,本实施例在对待定位图像的图像特征进行匹配前,会对关键帧图像进行筛选,提高关键帧图像匹配的准确率及检索效力。
[0166]
继续参考图6,在本实施例中,该视觉地图定位方法还包括:
[0167]
步骤s21,设定筛选半径,并将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧。
[0168]
根据步骤s21,基于视觉地图的第一gps信息,基于第二gps信息在所设定筛选半径的范围内对视觉地图关键帧进行gps信息的关键帧筛选。如果视觉地图关键帧的第一gps信息显示其在第二gps信息为范围中心的筛选半径范围内,则这些视觉地图关键帧则被筛选为第一关键帧。
[0169]
筛选半径的设定方式可以根据实际系统需要自行预定。在本实施例的一种变化例中,筛选半径可为筛选常量半径及为所述第二gps信息设定的设备位置精度值之和。具体的:可根据待定位图像获取设备的系统接口可确定当前时刻gps的精度范围d
a
,d
a
也即第二gps位置对应的设备精度值;r0为自定义所选择的数值;筛选半径r可以为精度范围d
a
与自定义数值r0之和。
[0170]
步骤s22,基于待定位图像的朝向信息及所述第一关键帧朝向信息从所述视觉定位地图的第一关键帧中筛选出第二关键帧;
[0171]
基于步骤s21所筛选出的第一关键帧,已经筛选掉在gps位置信息与所待定位图像不符的关键帧,已提高了关键帧的筛选与检索精度与效率。进一步的,可利用设备磁力计获取的待定位图像的朝向信息,将与待定位图像朝向不一致的关键帧予以剔除。在朝向信息的比对上,可以设置朝向信息中,可以同样地将设备所形成图像的主光轴相对于空间地理坐标系的方位角信息作为图像朝向信息,与第一关键帧的朝向信息比较。比较代表朝向信息的方位角,如果第一关键帧中朝向信息与待定位图像朝向信息相比,差异超出自定义的阈值,那么这些第一关键帧就予以剔除,只保留差异未超过自定义阈值范围的第一关键帧。这进一步减少了候选关键帧集,最终通过朝向信息的比较,筛选差异符合阈值范围的第二关键帧,也就是说,在具体的比较过程中,可以通过设定角度筛选阈值,并剔除朝向不在待定位图像朝向信息有效视角范围内的关键帧,得到第二关键帧。
[0172]
步骤s23,基于待定位图像的图像特征及第二关键帧图像特征从第二关键帧中筛选出第三关键帧,所述最终筛选出的关键帧为所述第三关键帧。
[0173]
步骤s23可以采用现有技术的图像检索方法,即使用待定位图像局部区域的图像特征,在视觉地图第二关键帧范围内对第二关键帧的局部区域图像特征进行检索,以得到
最终筛选出的关键帧。将最终筛选出的关键帧。局部区域图像特征的检索方式可以通过朴素的局部特征匹配算法,即直接计算待定位图像中图像特征与第二关键帧图像特征的欧氏距离,将最接近的待定位图像中图像特征的关键帧特征图像作为最终筛选出的图像特征。
[0174]
在本实施例的一则变化例中,步骤s23也可以通过如下手段实现:
[0175]
利用knn算法(k

nearest neighbor algorithm)对待定位图像总体图像特征(也即全局描述子图像特征)进行查询,在上述相关所有的候选关键帧(在本实施例中为第二关键帧)中进一步筛选出适合定位的k个关键帧;
[0176]
根据查询的k个关键帧的位置信息,利用k

means算法(k

means clustering algorithm)构建n个聚类(cluster),并基于位置信息计算k个关键帧到n个聚类的距离,并将k个关键帧分配至距离最近的聚类;
[0177]
每个聚类中选取三维点数最多的关键帧作为候选帧,剔除其他关键帧;
[0178]
最终选取这n个聚类中的剩余的关键帧作为最终筛选出的关键帧,并将这n个聚类中的n个关键帧依照knn算法返回的目录顺序(index)排序,并用于定位。
[0179]
在本步骤中,由于候选关键帧,即第二关键帧,已经步骤s21,步骤s22的gps筛选、磁力计朝向筛选,通过图像特征进一步采用knn算法及k

means算法筛选关键帧可以很好选择出多个位置不同视角的关键帧,从而提高定位成功率及精度。
[0180]
步骤s23使用了视觉地图的图像特征,也就是通过knn算法及k

means算法检索出与待定位图像最相似的关键帧。采用k

means算法将knn获得的k个关键帧聚类,将k个关键帧通过聚类的方式共分成了n类。在利用knn算法查询k个关键帧时,会返回k个关键帧之间的相对顺序,即knn算法返回的目录顺序,以用于返回排序后的关键帧。
[0181]
步骤s24,根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0182]
pnp(perspective

n

point)算法是在给定世界参考系上的n个3d点及其在图像中的相应2d投影的情况下估计校准相机的位姿的问题。可以使用该pnp算法,基于待定位图像局部区域的图像特征(相对应2d投影)与最终筛选出的关键帧图像特征对应的三维点云数据(相对于3d点)求得待定位图像设备的位姿。由于pnp算法广泛应用于相机位姿跟踪,物体位姿跟踪,ar/vr,机器人操作,slam中位姿初值求解等现有技术方案中,常用解法包括dlt算法、p3p算法、epnp算法及upnp算法等,属于所有三维视觉领域内非常基础的算法方案,本发明技术方案不再赘述。
[0183]
对应于图3所示的视觉定位地图文件之数据,视觉定位地图文件包括:关键帧p1、p2、p3…
p
m
及其图像特征集合j1、j2、j3…
j
m
,图像特征所对应的三维点云数据集合s1、s2、s3…
s
m
,关键帧p1、p2、p3…
p
m
的朝向信息d1、d2、d3…
d
m
以及位置信息g1、g2、g3…
g
m
。其中图像特征集合j1、j2、j3…
j
m
为从关键帧p1、p2、p3…
p
m
图像的局部区域提取数量级为n的关键帧图像特征集合。
[0184]
在执行步骤s20时,设备拍摄待定位图像时基于设备的辅助装置(比如gps芯片、imu、磁力计等)获取了待定位图像的gps信息、imu信息及朝向信息等,可以用于辅助定位。待定位图像在被提取图像特征后,也形成了待定位图像gps信息、imu信息、朝向信息及图像特征等待定位数据。
[0185]
在执行步骤s21时,通过待定位图像gps信息,在图3所示的视觉定位地图文件之数据中,通过位置信息g1、g2、g3…
g
m
的筛选,将大于所述筛选半径的视觉地图的关键帧剔除,筛选出的关键帧为第一关键帧。假设经过筛选后,第一关键帧数量级为f,第一关键帧序号为x1、x2、x3,

xf,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xf
及其图像特征集合j
x1
、j
x2
、j
x3

j
xf
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xf
,朝向信息d
x1
、d
x2
、d
x3

d
xf
。数量级为f进一步小于m。
[0186]
在执行步骤s22时,通过待定位图像朝向信息,在第一关键帧数据中,通过朝向信息d
x1
、d
x2
、d
x3

d
xf
的筛选,将朝向信息与待定位图像的朝向信息不一致的关键帧剔除,筛选出的关键帧为第二关键帧。假设经过筛选后,第二关键帧数量级为h,第二关键帧序号为y1、y2、y3,

yh,第二关键帧数据则包括:关键帧p
y1
、p
y2
、p
y3

p
yh
及其图像特征集合j
y1
、j
y2
、j
y3

j
yh
,图像特征所对应的三维点云数据集合s
y1
、s
y2
、s
y3

s
yh
。数量级为h进一步小于f。
[0187]
在执行步骤s23时,通过现有技术图像检索方法,可以基于待定位图像的图像特征,从图像特征集合j
y1
、j
y2
、j
y3

j
yh
范围进行检索,得到最接近待定位图像图像特征的关键帧图像特征。假设最终筛选出的第三关键帧数量级为g,第三关键帧序号为z1、z2、z3,

zg,第三关键帧数据则包括:图像特征集合j
z1
、j
z2
、j
z3

j
zg
所对应的三维点云数据集合s
z1
、s
z2
、s
z3

s
zg

[0188]
在执行步骤s23时,根据第三关键帧数据中的三维点云数据集合s
z1
、s
z2
、s
z3

s
zg
以及待定位图像局部区域的图像特征(相对应2d投影),求得待定位图像设备的位姿。
[0189]
对应于图4所示的视觉定位地图文件之数据,视觉定位地图文件包括:关键帧p1、p2、p3…
p
m
及图像特征集合j1’
、j2’
、j3’…
j
m’,三维点云数据集合s1、s2、s3…
s
m
、朝向信息d1、d2、d3…
d
m
以及位置信息g1、g2、g3…
g
m
。其中图像特征集合j1’
、j2’
、j3’…
j
m’为从关键帧p1、p2、p3…
p
m
图像的局部区域提取数量级为n的关键帧图像特征及从关键帧总体区域提取的关键帧图像特征的集合。
[0190]
在执行步骤s20时,待定位图像具有待定位图像gps信息、imu信息、朝向信息及总体图像特征及局部区域图像特征等待定位数据。在执行步骤s21时,通过待定位图像gps信息,在图4所示的视觉定位地图文件之数据中,通过位置信息g1、g2、g3…
g
m
的筛选,筛选出的关键帧为第一关键帧。假设经过筛选后,第一关键帧数量级仍为f,第一关键帧序号仍为x1、x2、x3,

xf,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xf
及其图像特征集合j’x1
、j’x2
、j’x3

j’xf
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xf
,朝向信息d
x1
、d
x2
、d
x3

d
xf
。数量级为f进一步小于m。
[0191]
继续对应于图4的地图数据文件,通过执行步骤s22筛选出的关键帧为第二关键帧。假设经过筛选后,第二关键帧数量级仍为h,第二关键帧序号仍为y1、y2、y3,

yh,第二关键帧数据则包括:关键帧p
y1
、p
y2
、p
y3

p
yh
及其图像特征集合j’y1
、j’y2
、j’y3

j’yh
,图像特征所对应的三维点云数据集合s
y1
、s
y2
、s
y3

s
yh
。数量级为h进一步小于f。
[0192]
在执行步骤s22时,通过knn算法及k

means算法,可以基于待定位图像的总体图像特征及局部区域的图像,在图像特征集合j’y1
、j’y2
、j’y3

j’yh
范围,先通过knn算法在关键帧总体区域图像特征j
y10
,j
y20

j
yh0
提取适合定位的k个关键帧,此时数量级为k,序号为z1、z2、z3,

zk,筛选后的关键帧数据包括:关键帧p
z1
、p
z2
、p
z3

p
zk
及其图像特征集合j’z1
、j’z2
、j’z3

j’zk
、三维点云数据集合s
z1
、s
z2
、s
z3

s
zk
、位置信息g
z1
、g
z2
、g
z3

g
zk
。数量级为k进
一步小于h。
[0193]
利用k个关键帧p
z1
、p
z2
、p
z3

p
zk
的位置信息g
z1
、g
z2
、g
z3

g
zk
,构建n个聚类,并计算k个关键帧到n个聚类的距离,将n个聚类中三维点数最多的关键帧作为每个距离的候选帧,以得到n数量级的关键帧数据,关键帧序号为r1、r2、r3,

rn,关键帧数据包括:关键帧p
r1
、p
r2
、p
r3

p
rn
及其图像特征集合j’r1
、j’r2
、j’r3

j’rn
、三维点云数据集合s
r1
、s
r2
、s
r3

s
rn
。数量级为n进一步小于k。
[0194]
基于对应于图4的最终筛选出的关键帧数据,在执行步骤s23时,根据第三关键帧数据中依据knn算法排序目录的关键帧数据的三维点云数据集合s
r1
、s
r2
、s
r3

s
rn
以及待定位图像局部区域的图像特征(相对应2d投影),可求得待定位图像设备的位姿。
[0195]
上述实施例中,步骤s21及步骤s22已经经过gps和磁力计朝向筛选,步骤s23是基于经过步骤s21及步骤s22所筛选得到的第二关键帧进一步筛选的。在其他实施例中,如果未执行步骤s21及步骤s22,即不采用gps和磁力计朝向筛选,在步骤s20执行后,直接基于所获取待定位图像的图像特征,执行步骤s23对视觉地图关键帧数据进行筛选,这也是可以实现提升系统性能与完成定位的效果。参考图7所示的变化例,该种视觉地图定位方法包括如下流程步骤:
[0196]
步骤s30,获取待定位图像的图像特征。
[0197]
本实施例中,图像特征的获取可以包括对待定位图像总体图像特征的提取及局部区域图像特征的提取,也可以仅对待定位图像局部区域图像特征进行提取。
[0198]
步骤s31,基于待定位图像的图像特征及关键帧图像特征从视觉地图的关键帧中筛选出关键帧。
[0199]
步骤s31的筛选方法可以参考步骤s23,只是将图像特征检索或采用knn算法及k

means算法的筛选范围从步骤s23的第二关键帧范围变化为视觉地图的全部关键帧,此处不再赘述。
[0200]
步骤s32,根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0201]
步骤s32也就是使用pnp算法,基于待定位图像局部区域的图像特征(相对应2d投影)与最终筛选出的关键帧图像特征对应的三维点云数据(相对于3d点)求得待定位图像设备的位姿。
[0202]
本发明技术方案的步骤s21、步骤s22及步骤s23的筛选顺序可以任意变化,任意调换定位方法流程中各步骤之间的顺序。这种任意执行顺序的调换可以替代步骤s20至步骤s24构成的技术方案,替代方案与步骤s20至步骤s24构成技术方案的区别在于:在不同gps精度和场景中,可能会出现检索结果不一致的情况,但总的优化核心是一致的、无区别的。
[0203]
基于本发明技术方案提供的上述视觉地图生成方法的实施例,基于任何一种实施例方法下生成的视觉地图,如图8所示,本发明技术方案还提供了一种视觉地图定位方法,将步骤s21及步骤s22的执行筛选顺序进行了变化,具体包括如下流程步骤:
[0204]
步骤s40,获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息。
[0205]
步骤s40的执行方式与步骤s20一致,此处不再赘述。
[0206]
步骤s41,基于待定位图像的朝向信息及所述视觉地图的关键帧朝向信息从所述视觉定位地图的关键帧中筛选出第一关键帧。
[0207]
步骤s41与步骤s21的不同之处,在于其利用设备磁力计获取的待定位图像的朝向信息,将与待定位图像朝向不一致的原始视觉地图的关键帧予以剔除,得到经过朝向筛选且朝向与待定位图像朝向一致的第一关键帧数据。朝向信息的比对方式可以参考步骤s22,此处不再赘述。
[0208]
步骤s42,设定筛选半径,并将大于所述筛选半径的第一关键帧剔除以得到筛选后的第二关键帧。
[0209]
根据步骤s41,基于视觉地图关键帧的gps信息,基于待定位地图的第二gps信息在所设定筛选半径的范围内对经过步骤s41朝向信息筛选后的第一关键帧进行gps信息的关键帧筛选,得到gps位置在待定位地图设定筛选半径内的第二关键帧数据。关键帧筛选方式可以参考步骤s21,此处不再赘述。
[0210]
步骤s43,基于待定位图像的图像特征及第二关键帧图像特征从第二关键帧中筛选出第三关键帧,所述最终筛选出的关键帧为所述第三关键帧。
[0211]
可以采用现有技术的图像检索方法对视觉地图第二关键帧范围的图像特征进行检索,得到最终筛选出的关键帧。也可以先通过knn算法对视觉图像第二关键帧的全局描述子图像特征进行查询,筛选出适合定位的k个关键帧;再利用k

means算法构建n个聚类,分配这k个关键帧至这n个聚类,每个聚类中选取三维点数最多的关键帧作为候选帧,剔除其他关键帧;最终得到n个依照knn算法返回的目录顺序关键帧,并用于定位。筛选出第三关键帧就是这n个依据knn算法目录顺序返回的关键帧。步骤s43的执行方式与步骤s23一致,此处不再赘述。
[0212]
步骤s44,根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0213]
步骤s44的执行算法与步骤s24一致,都是基于待定位图像局部区域的图像特征(相对应2d投影)与最终筛选出的关键帧图像特征对应的三维点云数据(相对于3d点)求得待定位图像设备的位姿,此处不再赘述。
[0214]
对应于图3所示的视觉定位地图文件之数据,不同于图6所示的视觉地图定位方法:
[0215]
在执行步骤s41时,先通过待定位图像朝向信息,在视觉地图的原始关键帧数据中,通过朝向信息d1、d2、d3…
d
m
的筛选,将朝向信息与待定位图像的朝向信息不一致的关键帧剔除,筛选出的关键帧为第一关键帧。假设经过筛选后,第一关键帧数量级为h,第一关键帧序号为x1、x2、x3,

xh,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xh
及其图像特征集合j
x1
、j
x2
、j
x3

j
xh
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xh
、位置信息g
x1
、g
x2
、g
x3

g
xh
。数量级为h进一步小于m。
[0216]
在执行步骤s42时,通过待定位图像gps信息,对位置信息g
x1
、g
x2
、g
x3

g
xh
进行筛选,将大于所述筛选半径的视觉地图的关键帧剔除,筛选出的关键帧为第二关键帧。假设经过筛选后,第二关键帧数量级为f,第二关键帧序号为y1、y2、y3,

yf,第二关键帧数据则包括:关键帧p
y1
、p
y2
、p
y3

p
yf
及其图像特征集合j
y1
、j
y2
、j
y3

j
yf
,图像特征所对应的三维点云
数据集合s
y1
、s
y2
、s
y3

s
yf
。数量级为f进一步小于h。
[0217]
在执行步骤s43时,通过现有技术图像检索方法,可以基于待定位图像的图像特征,从图像特征集合j
y1
、j
y2
、j
y3

j
yf
范围进行检索,得到最接近待定位图像图像特征的关键帧图像特征。假设最终筛选出的第三关键帧数量级为g,第三关键帧序号为z1、z2、z3,

zg,第三关键帧数据则包括:图像特征集合j
z1
、j
z2
、j
z3

j
zg
所对应的三维点云数据集合s
z1
、s
z2
、s
z3

s
zg
。可根据第三关键帧数据中的三维点云数据集合s
z1
、s
z2
、s
z3

s
zg
以及待定位图像局部区域的图像特征(相对应2d投影),求得待定位图像设备的位姿。
[0218]
对应于图4所示的视觉定位地图文件之数据,由于视觉定位地图文件包括:图像特征集合j1’
、j2’
、j3’…
j
m’。在执行步骤s41时,通过朝向信息d1、d2、d3…
d
m
的筛选,筛选出第一关键帧。假设经过筛选后,第一关键帧数量级为h,第一关键帧序号为x1、x2、x3,

xh,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xh
及其图像特征集合j’x1
、j’x2
、j’x3

j’xh
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xh
、位置信息g
x1
、g
x2
、g
x3

g
xh
。数量级为h进一步小于m。在执行步骤s42时,通过待定位图像gps信息,对位置信息g
x1
、g
x2
、g
x3

g
xh
进行筛选,得到第二关键帧。假设经过筛选后,第二关键帧数量级为f,第二关键帧序号为y1、y2、y3,

yf,第二关键帧数据则包括:关键帧p
y1
、p
y2
、p
y3

p
yf
及其图像特征集合j’y1
、j’y2
、j’y3

j’yf
,图像特征所对应的三维点云数据集合s
y1
、s
y2
、s
y3

s
yf
。数量级为f进一步小于h。
[0219]
在执行步骤s43时,通过knn算法及k

means算法,可以基于待定位图像的总体图像特征及局部区域的图像,在图像特征集合j’y1
、j’y2
、j’y3

j’yf
范围,先通过knn算法在关键帧总体区域图像特征j
y10
,j
y20

j
yf0
提取适合定位的k个关键帧,此时数量级为k,序号为z1、z2、z3,

zk,筛选后的关键帧数据包括:关键帧p
z1
、p
z2
、p
z3

p
zk
及其图像特征集合j’z1
、j’z2
、j’z3

j’zk
、三维点云数据集合s
z1
、s
z2
、s
z3

s
zk
、位置信息g
z1
、g
z2
、g
z3

g
zk
。数量级为k进一步小于f。
[0220]
利用k个关键帧p
z1
、p
z2
、p
z3

p
zk
的位置信息g
z1
、g
z2
、g
z3

g
zk
,构建n个聚类,并计算k个关键帧到n个聚类的距离,将n个聚类中三维点数最多的关键帧作为每个距离的候选帧,以得到n数量级的关键帧数据,关键帧序号为r1、r2、r3,

rn,关键帧数据包括:关键帧p
r1
、p
r2
、p
r3

p
rn
及其图像特征集合j’r1
、j’r2
、j’r3

j’rn
、三维点云数据集合s
r1
、s
r2
、s
r3

s
rn
。数量级为n进一步小于k。
[0221]
其他步骤s40至s44的步骤流程可以参考如图6所示的实施例执行流程,此处不再赘述。
[0222]
基于本发明技术方案提供的上述视觉地图生成方法的实施例,基于任何一种实施例方法下生成的视觉地图,如图9所示,本发明技术方案还提供了一种视觉地图定位方法,将步骤s22及步骤s23的执行筛选顺序进行了变化,具体包括如下流程步骤:
[0223]
步骤s50,获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息。
[0224]
步骤s50的执行方式与步骤s20一致,此处不再赘述。
[0225]
步骤s51,设定筛选半径,并将大于所述筛选半径的关键帧剔除以得到筛选后的第一关键帧。
[0226]
步骤s51的执行方式与步骤s21一致,此处不再赘述。
[0227]
步骤s52,基于待定位图像的图像特征及第一关键帧图像特征从第一关键帧中筛
选出第二关键帧。
[0228]
可以采用现有技术的图像检索方法对视觉地图第一关键帧范围的图像特征进行检索,得到筛选出的第二关键帧。也可以先通过knn算法对视觉地图的第一关键帧的全局描述子图像特征进行查询,筛选出适合定位的k个关键帧;再利用k

means算法构建n个聚类,分配这k个关键帧至这n个聚类,每个聚类中选取三维点数最多的关键帧作为候选帧,剔除其他关键帧;最终得到n个依照knn算法返回的目录顺序关键帧,并用于定位。筛选出第二关键帧就是这n个依据knn算法目录顺序返回的关键帧。步骤s52的其他具体执行方式与步骤s23一致,此处不再赘述。
[0229]
步骤s53,基于待定位图像的朝向信息及所述第二关键帧朝向信息从所述第二关键帧中筛选出第三关键帧。
[0230]
步骤s53与步骤s22的不同之处,在于其利用设备磁力计获取的待定位图像的朝向信息,在上述步骤s52筛选得到的第二关键帧数据范围,将与待定位图像朝向不一致的第二关键帧予以剔除,得到经过朝向筛选且朝向与待定位图像朝向一致的第三关键帧数据。该第三关键帧数据为最终筛选得到的关键帧数据。朝向信息的比对方式可以参考步骤s22,此处不再赘述。
[0231]
步骤s54,根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0232]
步骤s54的执行算法与步骤s24一致,都是基于待定位图像局部区域的图像特征(相对应2d投影)与最终筛选出的关键帧图像特征对应的三维点云数据(相对于3d点)求得待定位图像设备的位姿,此处不再赘述。
[0233]
对应于图3所示的视觉定位地图文件之数据,本实施例在执行步骤s50及步骤s51时与图6所示的视觉地图定位方法一致,在执行步骤s51时通过位置信息g1、g2、g3…
g
m
的筛选,将大于所述筛选半径的视觉地图的关键帧剔除。假设经过筛选后,第一关键帧数量级为f,第一关键帧序号为x1、x2、x3,

xf,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xf
及其图像特征集合j
x1
、j
x2
、j
x3

j
xf
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xf
,朝向信息d
x1
、d
x2
、d
x3

d
xf
。不同之处在于:
[0234]
在执行步骤s52时,可通过现有技术图像检索方法,基于待定位图像的图像特征,从图像特征集合j
x1
、j
x2
、j
x3

j
xf
范围进行检索,得到最接近待定位图像图像特征的关键帧图像特征,以获得筛选得到的第二关键帧数据。假设最终筛选出的第二关键帧数量级为g,第二关键帧序号为y1、y2、y3,

yg,第三关键帧数据则包括:图像特征集合j
y1
、j
y2
、j
y3

j
yg
、三维点云数据集合s
y1
、s
y2
、s
y3

s
yg
以及朝向信息d
y1
、d
y2
、d
y3

d
yg
。数量级为g进一步小于f。
[0235]
在执行步骤s53时,通过待定位图像朝向信息,在视觉地图的第二关键帧数据中,通过朝向信息d
y1
、d
y2
、d
y3

d
yg
的筛选,将朝向信息与待定位图像的朝向信息不一致的关键帧剔除,筛选出的关键帧为第三关键帧。假设经过筛选后,第三关键帧数量级为h,第三关键帧序号为z1、z2、z3,

zh,第三关键帧数据则包括:关键帧p
z1
、p
z2
、p
z3

p
zh
及其图像特征集合j
z1
、j
z2
、j
z3

j
zh
,图像特征所对应的三维点云数据集合s
z1
、s
z2
、s
z3

s
zh
。数量级为h进一步小于g。
[0236]
在执行步骤s54时根据第三关键帧数据中的三维点云数据集合s
z1
、s
z2
、s
z3

s
zh

及待定位图像局部区域的图像特征(相对应2d投影),求得待定位图像设备的位姿。
[0237]
对应于图4所示的视觉定位地图文件之数据,由于视觉定位地图文件包括:图像特征集合j1’
、j2’
、j3’…
j
m’。在执行步骤s51时通过位置信息g1、g2、g3…
g
m
的筛选,得到第一关键帧数据,这包括:关键帧p
x1
、p
x2
、p
x3

p
xf
及其图像特征集合j’x1
、j’x2
、j’x3

j’xf
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xf
,朝向信息d
x1
、d
x2
、d
x3

d
xf
。不同之处在于:
[0238]
执行步骤s52时,通过knn算法及k

means算法,可以基于待定位图像的总体图像特征及局部区域的图像,在图像特征集合j’x1
、j’x2
、j’x3

j’xf
范围,先通过knn算法在关键帧总体区域图像特征j
x10
,j
x20

j
xf0
提取适合定位的k个关键帧,此时数量级为k,序号为y1、y2、y3,

yk,筛选后的关键帧数据包括:关键帧p
y1
、p
y2
、p
y3

p
yk
及其图像特征集合j’y1
、j’y2
、j’y3

j’yk
、三维点云数据集合s
y1
、s
y2
、s
y3

s
yk
、位置信息g
y1
、g
y2
、g
y3

g
yk
。数量级为k进一步小于f。
[0239]
利用k个关键帧p
y1
、p
y2
、p
y3

p
yk
的位置信息g
y1
、g
y2
、g
y3

g
yk
,构建n个聚类,并计算k个关键帧到n个聚类的距离,将n个聚类中三维点数最多的关键帧作为每个距离的候选帧,以得到n数量级的关键帧数据,关键帧序号为z1、z2、z3,

zn,第二关键帧数据包括:关键帧p
z1
、p
z2
、p
z3

p
zn
及其图像特征集合j’z1
、j’z2
、j’z3

j’zn
、三维点云数据集合s
z1
、s
z2
、s
z3

s
zn
、以及朝向信息d
z1
、d
z2
、d
z3

d
zn
。数量级为n进一步小于k。
[0240]
在执行步骤s53时,通过待定位图像朝向信息,在视觉地图的第二关键帧数据中,通过对朝向信息d
z1
、d
z2
、d
z3

d
zn
的筛选,将朝向信息与待定位图像的朝向信息不一致的关键帧剔除,筛选出的关键帧为第三关键帧。假设经过筛选后,第三关键帧数量级为h,第三关键帧序号为r1、r2、r3,

rh,第三关键帧数据则包括:关键帧p
r1
、p
r2
、p
r3

p
rh
及其图像特征集合j’r1
、j’r2
、j’r3

j’rh
,图像特征所对应的三维点云数据集合s
r1
、s
r2
、s
r3

s
rh
。数量级为h进一步小于n。
[0241]
在执行步骤s54时根据第三关键帧数据中的三维点云数据集合s
r1
、s
r2
、s
r3

s
rh
以及待定位图像局部区域的图像特征(相对应2d投影),求得待定位图像设备的位姿。
[0242]
基于本发明技术方案提供的上述视觉地图生成方法的实施例,基于任何一种实施例方法下生成的视觉地图,如图10所示,本发明技术方案还提供了一种视觉地图定位方法,将步骤s21至步骤s23的执行筛选顺序进行了变化,具体包括如下流程步骤:
[0243]
步骤s60,获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息。
[0244]
步骤s60的执行方式与步骤s20一致,此处不再赘述。
[0245]
步骤s61,基于待定位图像的朝向信息及所述视觉地图关键帧朝向信息从视觉地图关键帧中筛选出第一关键帧。
[0246]
步骤s61与步骤s41的执行方式一致,此处不再赘述。
[0247]
步骤s62,基于待定位图像的图像特征及第一关键帧图像特征从第一关键帧中筛选出第二关键帧。
[0248]
步骤s62的执行方式与步骤s52一致,此处不再赘述。
[0249]
步骤s63,设定筛选半径,并将大于所述筛选半径的第二关键帧剔除以得到筛选后的第三关键帧。
[0250]
根据步骤s63,基于视觉地图第二关键帧的gps信息,待定位地图的第二gps信息在
所设定筛选半径的范围内对经过步骤s62图像特征筛选后的第二关键帧进行gps信息的关键帧筛选,得到gps位置在待定位地图设定筛选半径内的第三关键帧数据。关键帧筛选方式可以参考步骤s21或步骤s42,此处不再赘述。
[0251]
步骤s64,根据最终筛选出的关键帧图像特征和待定位图特征进行特征匹配,选取该关键帧中有效匹配的图像特征对应的三维点云数据和待定位图像的特征二维坐标信息,通过pnp算法获得待定位图像的设备位姿。
[0252]
步骤s64的执行算法与步骤s24一致,都是基于待定位图像局部区域的图像特征(相对应2d投影)与最终筛选出的关键帧图像特征对应的三维点云数据(相对于3d点)求得待定位图像设备的位姿,此处不再赘述。
[0253]
对应于图3所示的视觉定位地图文件之数据,与图8所示的视觉地图定位方法类似,在执行步骤s61时,先通过待定位图像朝向信息,在视觉地图的原始关键帧数据中,通过朝向信息d1、d2、d3…
d
m
的筛选,筛选出的关键帧为第一关键帧。假设经过筛选后,第一关键帧数量级为h,第一关键帧序号为x1、x2、x3,

xh,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xh
及其图像特征集合j
x1
、j
x2
、j
x3

j
xh
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xh
、位置信息g
x1
、g
x2
、g
x3

g
xh
。数量级为h进一步小于m。
[0254]
在执行步骤s62时,通过现有技术图像检索方法,可以基于待定位图像的图像特征,从图像特征集合j
x1
、j
x2
、j
x3

j
xh
范围进行检索,得到最接近待定位图像图像特征的关键帧图像特征。假设最终筛选出的第二关键帧数量级为g,第二关键帧序号为y1、y2、y3,

yg,第二关键帧数据则包括:图像特征集合j
y1
、j
y2
、j
y3

j
yg
所对应的三维点云数据集合s
y1
、s
y2
、s
y3

s
yg
、位置信息g
y1
、g
y2
、g
y3

g
yg
。数量级为g进一步小于h。
[0255]
在执行步骤s63时,通过待定位图像gps信息,对位置信息g
y1
、g
y2
、g
y3

g
yg
进行筛选,将大于所述筛选半径的视觉地图的关键帧剔除,筛选出的关键帧为第三关键帧。假设经过筛选后,第三关键帧数量级为f,第三关键帧序号为z1、z2、z3,

zf,第三关键帧数据则包括:关键帧p
z1
、p
z2
、p
z3

p
zf
及其图像特征集合j
z1
、j
z2
、j
z3

j
zf
,图像特征所对应的三维点云数据集合s
z1
、s
z2
、s
z3

s
zf
。数量级为f进一步小于g。
[0256]
对应于图4所示的视觉定位地图文件之数据,由于视觉定位地图文件包括:图像特征集合j1’
、j2’
、j3’…
j
m’。在执行步骤s61时,通过朝向信息d1、d2、d3…
d
m
的筛选,筛选出第一关键帧。假设经过筛选后,第一关键帧数量级为h,第一关键帧序号为x1、x2、x3,

xh,第一关键帧数据则包括:关键帧p
x1
、p
x2
、p
x3

p
xh
及其图像特征集合j’x1
、j’x2
、j’x3

j’xh
,图像特征所对应的三维点云数据集合s
x1
、s
x2
、s
x3

s
xh
、位置信息g
x1
、g
x2
、g
x3

g
xh
。数量级为h进一步小于m。
[0257]
在执行步骤s62时,通过knn算法及k

means算法,可以基于待定位图像的总体图像特征及局部区域的图像,在图像特征集合j’x1
、j’x2
、j’x3

j’xh
范围,先通过knn算法在关键帧总体区域图像特征j
x10
,j
x20

j
xh0
提取适合定位的k个关键帧,此时数量级为k,序号为y1、y2、y3,

yk,筛选后的关键帧数据包括:关键帧p
y1
、p
y2
、p
y3

p
yk
及其图像特征集合j’y1
、j’y2
、j’y3

j’yk
、三维点云数据集合s
y1
、s
y2
、s
y3

s
yk
、位置信息g
y1
、g
y2
、g
y3

g
yk
。数量级为k进一步小于h。
[0258]
利用k个关键帧p
y1
、p
y2
、p
y3

p
yk
的位置信息g
y1
、g
y2
、g
y3

g
yk
,构建n个聚类,并计算k个关键帧到n个聚类的距离,将n个聚类中三维点数最多的关键帧作为每个距离的候选帧,
以得到n数量级的关键帧数据,关键帧序号为z1、z2、z3,

zn,第二关键帧数据包括:关键帧p
z1
、p
z2
、p
z3

p
zn
及其图像特征集合j’z1
、j’z2
、j’z3

j’zn
、三维点云数据集合s
z1
、s
z2
、s
z3

s
zn
、以及位置信息g
z1
、g
z2
、g
z3

g
zn
。数量级为n进一步小于k。
[0259]
在执行步骤s63时,通过待定位图像gps信息,对位置信息g
z1
、g
z2
、g
z3

g
zn
进行筛选,得到第三关键帧。假设经过筛选后,第三关键帧数量级为f,第三关键帧序号为r1、r2、r3,

rf,第三关键帧数据则包括:关键帧p
r1
、p
r2
、p
r3

p
rf
及其图像特征集合j’r1
、j’r2
、j’r3

j’rf
,图像特征所对应的三维点云数据集合s
r1
、s
r2
、s
r3

s
rf
。数量级为f进一步小于n。
[0260]
其他步骤s60至s64的步骤流程可以参考其他实施例的执行流程,此处不再赘述。
[0261]
此外,在上述图6所示视觉地图定位方法实施例的变化例中,将步骤s23先于步骤s21及步骤s22进行执行,并在完成图像特征筛选后,基于筛选到的关键帧数据,执行步骤s21及步骤s22的流程。在上述图8所示视觉地图定位方法实施例的变化例中,将步骤s43先于步骤s41及步骤s42进行执行,并在完成图像特征筛选后,基于筛选到的关键帧数据,执行步骤s41及步骤s42的流程。这些过程都是类似的,此处不再赘述。
[0262]
基于上述视觉地图生成方法及视觉地图定位方法,本发明技术方案还提供了一种视觉地图生成系统,包括:处理器和存储器;所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行上述任一种视觉地图生成方法实施例的步骤。
[0263]
一种视觉地图定位系统,包括:处理器和存储器;所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行上述任一种视觉地图定位方法实施例的步骤。
[0264]
上述视觉地图生成系统也可以包括:采集模块、地图重建模块、第一计算模块及第一更新模块。其中采集模块,适于采集所需要的视频序列及第一属性信息,地图重建模块,适于基于所述视频序列重建视觉定位地图,所述视觉定位地图包括关键帧及关键帧图像特征;第一计算模块,适于根据所述第一gps信息计算出视觉定位地图中每个关键帧的主光轴相对于空间地理坐标系的方位角信息,以获得所述关键帧朝向信息;第一更新模块,适于基于所述关键帧朝向更新所述视觉定位地图,更新后的视觉定位地图还包括:所述关键帧朝向信息。
[0265]
上述一种视觉地图定位系统也可以包括:获取模块、第一筛选模块、第二筛选模块、第三筛选模块及第二计算模块。其中,获取模块,适于获取待定位图像的第二属性信息及图像特征,所述第二属性信息包括第二gps信息及朝向信息;第一筛选模块,适于设定筛选半径,并将大于所述筛选半径的关键帧剔除以得到筛选后的关键帧;第二筛选模块,适于基于待定位图像的朝向信息及所述关键帧朝向信息从所述视觉定位地图中筛选出关键帧;第三筛选模块,适于基于待定位图像的图像特征及关键帧图像特征从关键帧中筛选出关键帧;第二计算模块,适于根据最终筛选出的关键帧及该关键帧图像特征通过pnp算法获得待定位图像的设备位姿。
[0266]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1