CN111639147B - 一种地图压缩方法、系统及计算机可读存储介质 - Google Patents
一种地图压缩方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111639147B CN111639147B CN202010336257.XA CN202010336257A CN111639147B CN 111639147 B CN111639147 B CN 111639147B CN 202010336257 A CN202010336257 A CN 202010336257A CN 111639147 B CN111639147 B CN 111639147B
- Authority
- CN
- China
- Prior art keywords
- map
- point
- points
- parameter
- reserved
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种地图压缩方法、系统及计算机可读存储介质,其中所述方法包括获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4…Pp1,关键帧F1,F2,F3,F4…Ff1,以及所述地图点在所述关键帧中的对应特征点;利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;利用所述地图点的权重,选择满足预设标准的所述地图点放入所述保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。本申请实施例提供的方法、系统及计算机可读存储介质能够能够大幅度降低地图的数据量。
Description
技术领域
本申请涉及计算机计算领域,特别是涉及一种地图压缩方法、系统及计算机可读存储介质。
背景技术
定位是实现机器人导航、增强现实(augmented reality,AR)、自动巡航、自动驾驶等技术的基础,定位可以是在构建好的地图中查找匹配点,进而确认当前所在位置。现阶段常用视觉三维重建等方法(如运动恢复结构(Structure from Motion,SFM)算法和同步定位与建图(Simultaneous Localization and Mapping,SLAM)算法)建立地图,地图中包含大量的地图点。
随着地图规模的不断扩大,地图点的数量会不断增加,达到数百万甚至更高的规模,导致地图的文件尺寸可能很大,不便于网络的传输和存储。而且,定位时需要查找海量数据,定位时间长,影响使用体验。地图压缩是解决上述问题的有效手段之一。
目前常见的地图压缩方法基于地图整体进行压缩,例如利用整数线性规划,但对计算机的算力和内存要求过高。
发明内容
本申请提供一种地图压缩方法、系统及计算机可读存储介质,利用所述地图点在所述待压缩地图中的权重进行筛选,能够大幅度降低地图的数据量。
本申请提供一种地图压缩方法,所述方法包括:
获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4...Pp1,关键帧F1,F2,F3,F4...Ff1,以及所述地图点在所述关键帧中的对应特征点;所述p1为所述待压缩地图包含的所述地图点的总数量,所述f1为所述待压缩地图包含的所述关键帧的总数量,所述p1和所述f1均为大于1的整数;
利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;
利用所述地图点P1的至少一个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历每个所述地图点,分别计算得到每个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1;
其中,如果所述关键帧F1中存在所述地图点P1的对应特征点K1,则所述关键帧F1为所述地图点P1的一个所述观测,所述地图点P1为所述关键帧F1的一个观测点;
所述计算所述地图点P1在所述待压缩地图中的权重w1,包括:获取所述地图点P1的每个观测;计算所述关键帧F1的第一参数O1和第二参数T1,遍历所述P1的每一个观测,计算所述P1的每个观测的第一参数OL和第二参数TL,1≤L≤z,且L和z均为整数,z为所述地图点P1的观测的数量;利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1,
利用所述地图点的权重,选择满足预设标准的所述地图点放入保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。
优选地,所述计算所述关键帧F1的第一参数O1和第二参数T1,具体包括:
如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的第二参数T1=0;
或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述保留点集合S中不存在所述F1的所述观测点,所述F1的所述第二参数T1=1;所述保留帧集合C包含满足预设标准的所述关键帧;
或者,如果所述保留点集合S中存在所述F1的所述观测点,
其中,d为最小观测距离,D为距离阈值。
优选地,利用所述F1的每个在所述保留点集合S中的观测点计算得到所述最小观测距离d,具体包括:
获取所述F1在所述保留点集合S中的所有观测点,所述F1在所述保留点集合S中有e个观测点,其中1≤e≤p1,且e为整数;
分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。
优选地,所述计算所述关键帧F1的第一参数O1和第二参数T1,具体包括:
划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm;
如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;所述保留帧集合C包含满足预设标准的所述关键帧;
或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述对应特征点K1位于子网格CELL1,所述保留点集合S中存在所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于所述子网格CELL1,则所述F1的所述第二参数T1=0;
或者,所述子网格CELL1中不存在所述地图点P2在所述关键帧F1中的对应特征点K2,所述F1的所述第二参数T1=1。
优选地,所述选择满足预设标准的所述地图点放入所述保留点集合S,具体包括:
将权重最高的所述地图点加入所述保留点集合S;
如果将所述地图点P1放入所述保留点集合S后,所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入保留帧集合C;其中1≤K<p1且K为整数;所述保留帧集合C包含满足预设标准的所述关键帧;
迭代计算每个所述地图点在所述待压缩地图中的权重,利用迭代结果更新所述保留点集合S和所述保留帧集合C;
如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代;其中,λ为正整数。
优选地,所述利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;利用所述地图点的权重,选择满足预设标准的所述地图点放入所述保留点集合S,包括:
利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重;
利用所述地图点的权重,选择满足预设标准的第一地图点放入所述保留点集合S;
利用除所述第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重;
利用除所述第一地图点之外每个所述地图点权重,选择满足预设标准的第二地图点放入所述保留点集合S。
本申请提供一种地图压缩系统,包括:处理器和存储器;
所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如前所述的地图压缩方法的步骤。
本申请提供一种地图压缩系统,所述系统包括计算模块、筛选模块,其中:
所述计算模块,用于获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4...Pp1,关键帧F1,F2,F3,F4...Ff1,以及所述地图点在所述关键帧中的对应特征点;所述p1为所述待压缩地图包含的所述地图点的总数量,所述f1为所述待压缩地图包含的所述关键帧的总数量,所述p1和所述f1均为大于1的整数;利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;利用所述地图点P1的至少一个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历每个所述地图点,分别计算得到每个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1;其中,如果所述关键帧F1中存在所述地图点P1的对应特征点K1,则所述关键帧F1为所述地图点P1的一个所述观测,所述地图点P1为所述关键帧F1的一个观测点;获取所述地图点P1的每个观测;计算所述关键帧F1的第一参数O1和第二参数T1,遍历所述P1的每一个观测,计算所述P1的每个观测的第一参数OL和第二参数TL,1≤L≤z,且L和z均为整数,z为所述地图点P1的观测的数量;利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1,
所述筛选模块,用于利用所述地图点的权重,选择满足预设标准的所述地图点放入保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。
优选地,所述计算模块还用于计算所述关键帧F1的第一参数O1和第二参数T1,如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的第二参数T1=0;所述保留帧集合C包含满足预设标准的所述关键帧;或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述保留点集合S中不存在所述F1的所述观测点,所述F1的所述第二参数T1=1;或者,如果所述保留点集合S中存在所述F1的所述观测点,
其中,d为最小观测距离,D为距离阈值。
优选地,所述计算模块还用于获取所述F1在所述保留点集合S中的所有观测点,所述F1在所述保留点集合S中有e个观测点,其中1≤e≤p1,且e为整数;
分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。
优选地,所述计算模块还用于划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm;如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;所述保留帧集合C包含满足预设标准的所述关键帧;或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述对应特征点K1位于子网格CELL1,所述保留点集合S中存在所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于所述子网格CELL1,则所述F1的所述第二参数T1=0;或者,所述子网格CELL1中不存在所述地图点P2在所述关键帧F1中的对应特征点K2,所述F1的所述第二参数T1=1。
优选地,所述筛选模块还用于将权重最高的所述地图点加入所述保留点集合S;如果将所述地图点P1放入所述保留点集合S后,所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入保留帧集合C;其中1≤K<p1且K为整数;利用迭代结果更新所述保留点集合S和所述保留帧集合C;所述保留帧集合C包含满足预设标准的所述关键帧;
所述计算模块还用于迭代计算每个所述地图点在所述待压缩地图中的权重,如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代;其中,λ为正整数。
优选地,所述计算模块还用于利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重;利用除第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重;
所述筛选模块还用于利用所述地图点的权重,选择满足预设标准的所述第一地图点放入所述保留点集合S;利用除所述第一地图点之外每个所述地图点权重,选择满足预设标准的第二地图点放入所述保留点集合S。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的地图压缩方法的步骤。
本申请实施例所提供的一种地图压缩方法、系统及计算机可读存储介质,可以实现的有益效果是:
迭代计算所述地图点在所述待压缩地图中的权重,利用权重筛选出需要保留的地图点,可以减少地图的数据量,能够有效提高数据检索、定位、传输等的效率。
附图说明
图1是本申请实施例地图压缩系统的第一结构示意图;
图2是本申请实施例地图压缩方法的第一流程示意图;
图3是本申请实施例地图压缩方法的第二流程示意图;
图4是本申请实施例地图压缩方法的第三流程示意图;
图5是本申请实施例地图压缩系统的第二结构示意图;
图6是本申请实施例地图压缩系统的第三结构示意图;
图7是本申请实施例地图压缩系统的第四结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非上下文明确地另外指明,否则单数形式“一”和“所述”包括复数指代物。如本申请中所使用的,用语“第一”和“第二”可互换使用,以将一个或一类构件分别与另一个或另一类区分开,且不旨在表示独立构件的位置或重要性。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、IOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field—Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
所述网络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)系统,以及其他此类通信系统。当然,本领域技术人员应能理解上述终端设备仅为举例,其他现有的或今后可能出现的终端设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
服务器105可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,例如云端服务器。其也可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的地图压缩方法一般由服务器执行,相应地,地图压缩系统/装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
如图2所示,为本申请实施例提供的一种地图压缩方法的流程示意图,所述地图压缩方法可以由云端服务器执行。所述云端服务器可以为图1中所述服务器105。
步骤21,获取待压缩地图。
在本申请实施例中,所述待压缩地图可以是已构建完成的,本申请对地图构建过程不做限定。待压缩地图可以通过实时定位与建图(Simultaneous Localization andMapping,SLAM)、运动恢复结构(Structure From Motion,SFM)等方式获得,本申请不做限定。所述待压缩地图可以是二维或三维(3D)的。
在本申请的另一实施例中,所述待压缩地图由至少两帧环境图像构建而成,所述环境图像由图像采集设备抓取获得,例如,所述环境图像可以是利用所述图像采集设备采集的现实环境图片,所述图像采集设备可以是视觉惯性里程计、照相机或者摄像机等;所述环境图像也可以是虚拟环境图片,所述图像采集设备可以随机或按照预设的标准抓取虚拟环境图片或经过压缩、优化、渲染等处理的现实环境图片。
所述待压缩地图包含以下内容中的一个或多个:地图点,所述地图点构成的点集P{P1,P2,P3,P4...Pp1};关键帧,所述关键帧构成的图像集F{F1,F2,F3,F4...Ff1};以及所述地图点在所述关键帧中的对应特征点。其中p1为所述待压缩地图包含的所述地图点的总数量,f1为所述待压缩地图包含的所述关键帧的总数量,p1和f1均为大于1的整数。所述待压缩地图、所述点集P、所述图像集F、所述地图点在所述关键帧中的对应特征点等可以存储在云端服务器中。
在本申请另一实施例中,所述关键帧可以是按照预设的标准选取的所述环境图像。所述地图点可以是在所述关键帧中提取的特征点,例如,可以使用特征提取算子提取所述关键帧F1的至少一个特征点作为所述地图点P1,例如,使用加速角点特征(Features fromAccelerated Segment Test,FAST)检测算法、哈里斯(Harris)角点检测算法、莫拉维克(Moravec)角点检测算法、史托马西(Shi-Tomasi)角点检测算法或基于加速角点特征和二元独立特征描述(Oriented FASTand Rotated BRIEF,ORB)特征检测算法等。所述特征点是图像中的特殊位置,也可以称为“角点”,或“兴趣点(interest point)”。例如,FAST角点检测算法是找到与周围邻域内大于预定数量的像素点相差大于等于阈值的像素点XP,则所述像素点XP为角点,角点即为所要提取的特征点。例如,随机选择一个像素点XP,以XP为圆心画一个半径为3像素的圆经过16个像素点,如果圆周上有连续n个像素点的灰度值与XP点的灰度值之差大于等于阈值,则认为XP为所要提取的特征点,其中n为大于等于1的整数,例如,n可以设置为12,阈值可以根据应用的现实环境预设。
在本申请另一实施例中,所述待压缩地图还包含以下内容中的一个或多个:所述关键帧的特征点,所述地图点在所述待压缩地图中的位置信息、姿态信息。所述待压缩地图可以利用所述关键帧的特征点构建得到,可以使用三角化法、立体视觉方法等方法进行三维重建,本申请不做限定。例如,将所述关键帧F1与所述图像集F中其他图像进行特征点匹配,在所述图像集F中找到匹配点个数大于预设阈值的关键帧F2。例如,所述特征点匹配可以是对所述关键帧的特征点进行特征描述得到所述关键帧的特征描述向量,在所述关键帧F2中找到一个特征点IP2与所述关键帧F1中的特征点IP1的特征描述向量的相似度大于阈值,所述特征点IP1与所述特征点IP2即为匹配的特征点,可以称为一组匹配点。例如,所述对特征点进行特征描述的过程可以使用尺度不变特征转换(Scale-Invariant FeatureTransform,SIFT)特征描述子算法、加速稳健特征(Speeded Up Robust Features,SURF)特征描述子算法或二元尺度不变(Binary Robust Invariant Scalable Keypoints,BRISK)特征描述子算法等。例如,SIFT特征描述子算法,用于侦测与描述图像中的局部性特征,对所述特征点进行梯度计算,生成梯度直方图,统计选取的邻域内像素的梯度和方向,从而确定所述特征点的方向;取所述特征点周围4×4共16个区域块,统计每个所述区域块内8个梯度方向,这4×4×8共128维向量为所述特征点的特征描述向量,将所述关键帧中的所有特征点都用SIFT算法转化为128维的特征描述向量,得到所述关键帧的特征描述向量。分别提取所述关键帧F1和F2中的特征点并进行特征点匹配,得到所述关键帧F1和F2的匹配点,所述匹配点可以为所述待压缩地图中的所述地图点,也可称所述匹配点是与所述地图点对应的特征点,所述匹配点与所述地图点存在对应关系。通过8点法计算得到所述关键帧F1和F2的相对位姿,例如,计算矩阵PP使得所述特征点IP1(可以用矩阵x表示)与所述特征点IP2(可以用矩阵x′表示)满足方程x′T.PP·x=0,其中所述矩阵PP可以是一个3×3的齐次矩阵,分别在方程中代入7组匹配点计算得到所述矩阵PP。利用矩阵PP可以计算得到所述关键帧F1与所述关键帧F2的所有匹配点在所述待压缩地图中作为地图点的位置和姿态。依次选取所述图像集F中尚未加入所述待压缩地图的所述关键帧,遍历所述图像集F中的每一帧所述关键帧,完成所述待压缩地图的构建。所述地图点与所述关键帧的特征点的对应关系可以存储在云端服务器中。
在本申请另一实施例中,所述待压缩地图以Ow为原点建立三维坐标系,例如,所述以Ow为原点的坐标系中各坐标轴分别为x,y,z轴。例如,所述待压缩地图包含以下内容中的一个或多个:所述地图点P1在所述待压缩地图中以Ow为原点的坐标系下的坐标,所述地图点P1在所述关键帧F1中的对应特征点K1。其中,所述K1是在所述关键帧F1中提取得到的特征点,且所述K1在所述待压缩地图中是所述地图点P1。可以称所述K1为所述地图点P1在所述关键帧F1中的对应特征点,也可以称所述地图点P1与所述K1存在对应关系,所述P1可以称为所述F1的一个观测点,也可以称所述关键帧F1能够观测到所述地图点P1,也可以称所述关键帧F1为所述地图点P1的观测。每个所述关键帧至少有一个所述观测点,每个所述地图点至少能被一帧所述关键帧观测到,即每个所述地图点至少有一个所述观测。例如,所述关键帧F2也可以观测到所述地图点P1,所述P1为所述F1的一个观测点且所述P1为所述F2的一个观测点,即所述P1至少有所述F1和所述F2两个观测。例如,所述关键帧F1还能够观测到所述地图点P2,即所述关键帧F1至少有所述地图点P1和所述地图点P2两个观测点;对应特征点K2是在所述关键帧F1中提取得到的特征点,且所述K2在所述待压缩地图中是所述地图点P2,即所述关键帧F1中存在所述地图点P2的对应特征点K2。或者,如果所述F1中存在与所述地图点P1对应的特征点,所述F1即为所述地图点P1的一个观测,所述P1为所述F1的一个观测点。
步骤22,利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重。
例如,利用所述地图点P1的每个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历所述点集P中的每一个所述地图点,分别计算得到每一个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1。所述计算权重的方式不作限定。
如图3所示,所述计算所述地图点P1的权重w1的过程如下。
步骤201,获取所述地图点P1的每个观测。
例如,在所述待压缩地图中所述地图点P1共有z个观测,所述P1的每个观测分别有一一对应的第一参数OL,所述P1的每个观测分别有一一对应的第二参数TL,其中1≤L≤z,且L和z均为整数。
步骤202,计算所述P1的每个观测的第一参数OL和第二参数TL。
例如,所述关键帧F1为所述地图点P1的一个观测,计算所述关键帧F1的第一参数O1和第二参数T1。遍历所述P1的每一个观测,计算得到所述P1的每个观测的第一参数OL和第二参数TL。
例如,如果所述F1在保留帧集合C中,所述F1的第一参数01=0,所述F1的所述第二参数T1=0;反之,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,利用所述F1的观测点计算所述第二参数T1。例如,如果所述保留点集合S中不存在所述F1的观测点,所述F1的所述第二参数T1=1;反之,如果所述保留点集合S中存在所述F1的观测点,利用所述F1的每个在所述保留点集合S中的观测点计算所述第二参数T1。例如,
其中,d为最小观测距离,D为距离阈值。所述距离阈值D可以根据应用的现实环境预设成不为0的任意值。所述最小观测距离d可以利用所述F1的每个在所述保留点集合S中的观测点计算得到。例如,所述F1在所述保留点集合S中有e个观测点P2,P3......Pg,其中1≤e≤p1,1≤g≤p1且e和g为整数;所述观测点P2,P3......Pg即为所述地图点P2,P3......Pg,所述关键帧F1中存在所述地图点P1,P2,P3......Pg的对应特征点K1,K2,K3......Kg,分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de。例如,在所述关键帧F1中,以所述关键帧F1中的任一点OF1为原点建立横轴为X、纵轴为Y的二维坐标系。在所述关键帧F1中以OF1为原点的坐标系下,所述对应特征点K1的坐标为(XK1,YK1),所述对应特征点Kg的坐标为计算所述K1与所述K2在所述关键帧F1中的观测距离d1,计算所述K1与所述K3在所述关键帧F1中的观测距离d2,计算所述K1与所述Kg在所述关键帧F1中的观测距离de。所述观测距离de可以为所述K1与所述Kg的欧式距离(Euclidean Distance)/汉明距离/绝对值距离/街区距离等,例如,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。例如,所述最小观测距离d=d2,如果d2<D,所述关键帧F1的第二参数T1=d2/D;反之,如果d2≥D,所述关键帧F1的第二参数T1=1。
在本申请的另一实施例中,在所述P1的每个观测中划分网格,利用所述网格计算所述P1的每个观测的第一参数OL和第二参数TL。例如,所述关键帧F1为所述地图点P1的一个观测,使用德劳内(Delaunay)三角化、阵面推进法、四叉树图像分割法、八叉树图像分割法等方法划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm。如果所述F1在所述保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;反之,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,利用所述F1的观测点计算所述第二参数T1。例如,所述关键帧F1中存在所述地图点P1的对应特征点K1,所述K1位于子网格CELL1中,如果所述保留点集合S中存在所述F1的观测点P2,所述观测点P2即为所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于子网格CELL1,则所述F1的所述第二参数T1=0;反之,所述F1的所述第二参数T1=1。
步骤203,利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1。
步骤23,利用所述地图点的权重,选择满足预设标准的所述地图点放入保留点集合S,选择满足预设标准的所述关键帧放入所述保留帧集合C;所述保留点集合S即为已压缩地图的地图点集合。
例如,建立所述保留点集合S和所述保留帧集合C。将满足预设标准的所述地图点P1放入所述保留点集合S中,将满足预设标准的关键帧F1放入所述保留帧集合C中,例如,所述关键帧F1的至少K个所述观测点在所述保留点集合S中,将所述关键帧F1放入所述保留帧集合C中,其中1≤K<p1且K为整数,K可以根据应用的现实环境预设;K的值越高,地图的压缩率越高。在本申请的另一实施例中,所述保留点集合S和所述保留帧集合C最初为空集。
如图4所示,将权重满足预设标准的所述地图点加入所述保留点集合S。例如,将权重最高的所述地图点加入所述保留点集合S。例如,利用所述地图点在所述关键帧中的对应特征点,分别计算所述点集P中每个所述地图点在所述待压缩地图中的权重;将权重最高的第一地图点放入所述保留点集合S,并从所述点集P中删除所述第一地图点;利用除所述第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重;将权重最高的第二地图点放入所述保留点集合S,并从所述点集P中删除所述第二地图点。或者,将权重最高的第一地图点放入所述保留点集合S,不从所述点集P中删除所述第一地图点,利用每个所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重,此时第一地图点的权重为0;将权重最高的第二地图点放入所述保留点集合S,不从所述点集P中删除所述第二地图点。或者,将权重大于阈值ε的所述地图点加入所述保留点集合S。例如,所述地图点P1的权重w1>ε,将所述地图点P1放入所述保留点集合S,并从所述点集P中删除所述地图点P1。如果在将所述地图点P1放入所述保留点集合S后,使得所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入所述保留帧集合C。
迭代计算所述点集P中每个所述地图点在所述待压缩地图中的权重,利用迭代结果更新所述保留点集合S和所述保留帧集合C,所述迭代过程参照第一地图点和第二地图点的处理方法,直到所述保留帧集合C中添加了所有的所述关键帧。或者,如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代。其中,λ为正整数,λ可以根据应用的现实环境预设。例如,无论怎么在所述保留点集合S中增加所述地图点,也不能使得所述保留帧集合C增加所述关键帧,停止迭代。
如图5所示,本申请实施例还提供了一种地图压缩系统,所述系统包括存储器301和处理器302。
所述存储器301,用于存储代码和相关数据中的至少一项。
所述处理器302,用于执行所述存储器301中的代码和/或相关数据用以实现前述实施例中的方法步骤。
如图6所示,本申请实施例还提供了一种地图压缩系统,所述地图压缩系统可以包括计算模块61和筛选模块62,所述计算模块61通过网络/总线与筛选模块62进行通信。
所述计算模块61,用于计算地图点的权重,所述计算模块61的具体功能可以实现如图2所描述的地图压缩方法中的步骤21、步骤22,也可以实现如图3、图4所描述的地图压缩方法。例如,所述计算模块61,用于获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4...Pp1,关键帧F1,F2,F3,F4...Ff1,以及所述地图点在所述关键帧中的对应特征点;所述p1为所述待压缩地图包含的所述地图点的总数量,所述f1为所述待压缩地图包含的所述关键帧的总数量,所述p1和所述f1均为大于1的整数;利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重。所述计算模块61,还用于利用所述地图点P1的至少一个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历每个所述地图点,分别计算得到每个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1;其中,如果所述关键帧F1中存在所述地图点P1的对应特征点K1,则所述关键帧F1为所述地图点P1的一个所述观测,所述地图点P1为所述关键帧F1的一个观测点。所述计算模块61,还用于获取所述地图点P1的每个观测;计算所述关键帧F1的第一参数O1和第二参数T1,遍历所述P1的每一个观测,计算所述P1的每个观测的第一参数OL和第二参数TL,1≤L≤z,且L和z均为整数,z为所述地图点P1的观测的数量;利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1,所述计算模块61,还用于计算所述关键帧F1的第一参数O1和第二参数T1,如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的第二参数T1=0;或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述保留点集合S中不存在所述F1的所述观测点,所述F1的所述第二参数T1=1;或者,如果所述保留点集合S中存在所述F1的所述观测点,
其中,d为最小观测距离,D为距离阈值。所述计算模块61,还用于获取所述F1在所述保留点集合S中的所有观测点,所述F1在所述保留点集合S中有e个观测点,其中1≤e≤p1,且e为整数;分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。所述计算模块61,还用于划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm;如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述对应特征点K1位于子网格CELL1,所述保留点集合S中存在所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于所述子网格CELL1,则所述F1的所述第二参数T1=0;或者,所述子网格CELL1中不存在所述地图点P2在所述关键帧F1中的对应特征点K2,所述F1的所述第二参数T1=1。所述计算模块61,还用于迭代计算每个所述地图点在所述待压缩地图中的权重,如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代;其中,λ为正整数。所述计算模块61,还用于利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重;利用除所述第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重。
所述筛选模块62,用于选择地图点放入保留点集合S,所述筛选模块62的具体功能可以实现如图2所描述的地图压缩方法中的步骤23,也可以实现如图4所描述的地图压缩方法。例如,所述筛选模块62,用于利用所述地图点的权重,选择满足预设标准的所述地图点放入所述保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。所述筛选模块62,还用于将权重最高的所述地图点加入所述保留点集合S;如果将所述地图点P1放入所述保留点集合S后,所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入保留帧集合C;其中1≤K<p1且K为整数;利用迭代结果更新所述保留点集合S和所述保留帧集合C。所述筛选模块62,还用于利用所述地图点的权重,选择满足预设标准的第一地图点放入所述保留点集合S;利用除所述第一地图点之外每个所述地图点权重,选择满足预设标准的第二地图点放入所述保留点集合S。
在本申请实施例中,所述计算模块61和筛选模块62可以集成在设备上,例如集成在设备的处理器上,设备的处理器可以是CPU、服务器,或者其他中央处理器等。
本申请实施例还提供计算机设备。具体请参阅图7,图7为本实施例计算机设备基本结构框图。
所述计算机设备1000可以作为云端服务器,包括通过系统总线相互通信连接存储器1001、处理器1002、网络接口1003。需要指出的是,图中仅示出了具有组件1001、1002、1003的计算机设备1000,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field—Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器1001至少包括一种类型的可读存储介质,所述可读存储介质包括非易失性存储器(non-volatile memory)或易失性存储器,例如,闪存(flashmemory)、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(random access memory,RAM)、只读存储器(read—only memory,ROM)、可擦写可编程只读存储器(erasableprogrammable read-only memory,EPROM)、电可擦写可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、可编程只读存储器(programmableread-only memory,PROM)、磁性存储器、磁盘、光盘等,所述RAM可以包括静态RAM或动态RAM。在一些实施例中,所述存储器1001可以是所述计算机设备1000的内部存储单元,例如,所述计算机设备1000的硬盘或内存。在另一些实施例中,所述存储器1001也可以是所述计算机设备1000的外部存储设备,例如所述计算机设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器1001还可以既包括所述计算机设备1000的内部存储单元也包括其外部存储设备。本实施例中,所述存储器1001通常用于存储安装于所述计算机设备1000的操作系统和各类应用软件,例如地图压缩方法的程序代码等。此外,所述存储器1001还可以用于暂时地存储已经输出或者将要输出的各类数据。
在本申请实施例中,该处理器1002可以是中央处理单元(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1002还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。
该处理器1002通常用于控制所述计算机设备1000的总体操作。本实施例中,所述存储器1001用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器1002用于执行所述存储器1001存储的程序代码或指令或者处理数据,例如运行所述地图压缩方法的程序代码。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请的另一实施例还提供一种计算机可读介质,计算机可读介质可以是计算机可读信号介质或者计算机可读介质。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图2、图3、图4中每个步骤或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外的存储器或半导体系统、设备或者装置,或者前述的任意适当组合,所述存储器用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器用于执行所述存储器存储的程序代码或指令。
所述存储器和所述处理器的定义,可以参考前述计算机设备实施例的描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所属技术领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,并被通讯设备内部的处理器执行,前述的程序在被执行时处理器可以执行包括上述方法实施例的全部或者部分步骤。其中,所述处理器可以作为一个或多个处理器芯片实施,或者可以为一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)的一部分;而前述的存储介质可以包括但不限于以下类型的存储介质:闪存(Flash Memory)、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种地图压缩方法,其特征在于,所述方法包括:
获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4...Pp1,关键帧F1,F2,F3,F4...Ff1,以及所述地图点在所述关键帧中的对应特征点;所述p1为所述待压缩地图包含的所述地图点的总数量,所述f1为所述待压缩地图包含的所述关键帧的总数量,所述p1和所述f1均为大于1的整数;
利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;
利用所述地图点P1的至少一个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历每个所述地图点,分别计算得到每个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1;
其中,如果所述关键帧F1中存在所述地图点P1的对应特征点K1,则所述关键帧F1为所述地图点P1的一个所述观测,所述地图点P1为所述关键帧F1的一个观测点;
所述计算所述地图点P1在所述待压缩地图中的权重w1,包括:获取所述地图点P1的每个观测;计算所述关键帧F1的第一参数O1和第二参数T1,遍历所述P1的每一个观测,计算所述P1的每个观测的第一参数OL和第二参数TL,1≤L≤z,且L和z均为整数,z为所述地图点P1的观测的数量;利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1,
利用所述地图点的权重,选择满足预设标准的所述地图点放入保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。
3.如权利要求2所述的方法,其特征在于,利用所述F1的每个在所述保留点集合S中的观测点计算得到所述最小观测距离d,具体包括:
获取所述F1在所述保留点集合S中的所有观测点,所述F1在所述保留点集合S中有e个观测点,其中1≤e≤p1,且e为整数;
分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。
4.如权利要求1所述的方法,其特征在于,所述计算所述关键帧F1的第一参数O1和第二参数T1,具体包括:
划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm;
如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;所述保留帧集合C包含满足预设标准的所述关键帧;
或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述对应特征点K1位于子网格CELL1,所述保留点集合S中存在所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于所述子网格CELL1,则所述F1的所述第二参数T1=0;
或者,所述子网格CELL1中不存在所述地图点P2在所述关键帧F1中的对应特征点K2,所述F1的所述第二参数T1=1。
5.如权利要求1所述的方法,其特征在于,所述选择满足预设标准的所述地图点放入所述保留点集合S,具体包括:
将权重最高的所述地图点加入所述保留点集合S;
如果将所述地图点P1放入所述保留点集合S后,所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入保留帧集合C;其中1≤K<p1且K为整数;所述保留帧集合C包含满足预设标准的所述关键帧;
迭代计算每个所述地图点在所述待压缩地图中的权重,利用迭代结果更新所述保留点集合S和所述保留帧集合C;
如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代;其中,λ为正整数。
6.如权利要求1所述的方法,其特征在于,所述利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;利用所述地图点的权重,选择满足预设标准的所述地图点放入所述保留点集合S,包括:
利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重;
利用所述地图点的权重,选择满足预设标准的第一地图点放入所述保留点集合S;
利用除所述第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重;
利用除所述第一地图点之外每个所述地图点权重,选择满足预设标准的第二地图点放入所述保留点集合S。
7.一种地图压缩系统,其特征在于,包括:处理器和存储器;
所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如权利要求1-6任意一项所述的地图压缩方法的步骤。
8.一种地图压缩系统,其特征在于,所述系统包括计算模块和筛选模块,其中:
所述计算模块,用于获取待压缩地图,所述待压缩地图包含以下内容:地图点P1,P2,P3,P4...Pp1,关键帧F1,F2,F3,F4...Ff1,以及所述地图点在所述关键帧中的对应特征点;所述p1为所述待压缩地图包含的所述地图点的总数量,所述f1为所述待压缩地图包含的所述关键帧的总数量,所述p1和所述f1均为大于1的整数;利用所述地图点在所述关键帧中的对应特征点,迭代计算每个所述地图点在所述待压缩地图中的权重;利用所述地图点P1的至少一个观测,计算所述地图点P1在所述待压缩地图中的权重w1;遍历每个所述地图点,分别计算得到每个所述地图点在所述待压缩地图中的权重w1,w2,w3,w4...wp1;其中,如果所述关键帧F1中存在所述地图点P1的对应特征点K1,则所述关键帧F1为所述地图点P1的一个所述观测,所述地图点P1为所述关键帧F1的一个观测点;获取所述地图点P1的每个观测;计算所述关键帧F1的第一参数O1和第二参数T1,遍历所述P1的每一个观测,计算所述P1的每个观测的第一参数OL和第二参数TL,1≤L≤z,且L和z均为整数,z为所述地图点P1的观测的数量;利用所述P1的每个观测的所述第一参数OL和所述第二参数TL计算得到所述P1的权重w1,
所述筛选模块,用于利用所述地图点的权重,选择满足预设标准的所述地图点放入保留点集合S;所述保留点集合S即为已压缩地图的地图点集合。
10.如权利要求9所述的系统,其特征在于,所述计算模块还用于获取所述F1在所述保留点集合S中的所有观测点,所述F1在所述保留点集合S中有e个观测点,其中1≤e≤p1,且e为整数;分别计算所述F1的每个所述观测点在所述F1中的对应特征点与所述K1的观测距离d1,d2......de,所述最小观测距离d=min(d1,d2......de),其中min()为取括号内最小值。
11.如权利要求8所述的系统,其特征在于,所述计算模块还用于划分所述F1得到网格CELL{CELLm|m=1~b},其中b和m均为正整数,b表示所述关键帧F1被划分为b个子网格CELLm;如果所述F1在保留帧集合C中,所述F1的第一参数O1=0,所述F1的所述第二参数T1=0;所述保留帧集合C中包含满足预设标准的所述关键帧;或者,如果所述F1不在所述保留帧集合C中,所述第一参数O1=1,如果所述对应特征点K1位于子网格CELL1,所述保留点集合S中存在所述地图点P2,所述关键帧F1中存在所述地图点P2的对应特征点K2,且所述对应特征点K2位于所述子网格CELL1,则所述F1的所述第二参数T1=0;或者,所述子网格CELL1中不存在所述地图点P2在所述关键帧F1中的对应特征点K2,所述F1的所述第二参数T1=1。
12.如权利要求8所述的系统,其特征在于,所述筛选模块还用于将权重最高的所述地图点加入所述保留点集合S;如果将所述地图点P1放入所述保留点集合S后,所述关键帧F1能够观测到至少K个在所述保留点集合S中的所述地图点,将所述关键帧F1放入保留帧集合C;其中1≤K<p1且K为整数;利用迭代结果更新所述保留点集合S和所述保留帧集合C;所述保留帧集合C中包含满足预设标准的所述关键帧;
所述计算模块还用于迭代计算每个所述地图点在所述待压缩地图中的权重,如果所述保留点集合S中增加了λ个所述地图点且所述保留帧集合C没有增加所述关键帧,停止迭代;其中,λ为正整数。
13.如权利要求8所述的系统,其特征在于,所述计算模块还用于利用所述地图点在所述关键帧中的对应特征点,分别计算每个所述地图点在所述待压缩地图中的权重;利用除第一地图点之外每个所述地图点在所述关键帧中的对应特征点,分别计算除所述第一地图点之外每个所述地图点在所述待压缩地图中的权重;
所述筛选模块还用于利用所述地图点的权重,选择满足预设标准的所述第一地图点放入所述保留点集合S;利用除所述第一地图点之外每个所述地图点权重,选择满足预设标准的第二地图点放入所述保留点集合S。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的地图压缩方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010336257.XA CN111639147B (zh) | 2020-04-24 | 2020-04-24 | 一种地图压缩方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010336257.XA CN111639147B (zh) | 2020-04-24 | 2020-04-24 | 一种地图压缩方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111639147A CN111639147A (zh) | 2020-09-08 |
CN111639147B true CN111639147B (zh) | 2021-02-05 |
Family
ID=72331815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010336257.XA Active CN111639147B (zh) | 2020-04-24 | 2020-04-24 | 一种地图压缩方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639147B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022252238A1 (zh) * | 2021-06-04 | 2022-12-08 | 华为技术有限公司 | 3d地图的压缩、解压缩方法和装置 |
WO2022252337A1 (zh) * | 2021-06-04 | 2022-12-08 | 华为技术有限公司 | 3d地图的编解码方法及装置 |
CN115442338B (zh) * | 2021-06-04 | 2024-10-11 | 华为技术有限公司 | 3d地图的压缩、解压缩方法和装置 |
WO2022252235A1 (zh) * | 2021-06-04 | 2022-12-08 | 华为技术有限公司 | 3d地图的解码装置和方法、及3d地图的编码码流 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1347648A2 (en) * | 2002-03-12 | 2003-09-24 | Monolith Co., Ltd. | Method and apparatus for compressing corresponding point information as image data |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
CN109583457A (zh) * | 2018-12-03 | 2019-04-05 | 荆门博谦信息科技有限公司 | 一种机器人定位与地图构建的方法及机器人 |
CN109754468A (zh) * | 2018-12-25 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种地图压缩方法和装置 |
CN110189390A (zh) * | 2019-04-09 | 2019-08-30 | 南京航空航天大学 | 一种单目视觉slam方法及系统 |
CN110264563A (zh) * | 2019-05-23 | 2019-09-20 | 武汉科技大学 | 一种基于orbslam2的八叉树建图方法 |
CN110335191A (zh) * | 2019-07-10 | 2019-10-15 | 武汉光庭信息技术股份有限公司 | 一种带洞多边形在电子地图中的无损压缩存储方法和装置 |
CN110442659A (zh) * | 2019-07-03 | 2019-11-12 | 北京云和时空科技有限公司 | 一种区域划分方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049432B1 (en) * | 2014-07-04 | 2015-06-02 | Primacomp, Inc. | Motion differential set partition coding for color image sequence compression |
CN108829901B (zh) * | 2018-10-09 | 2019-01-29 | 上海岚豹智能科技有限公司 | 一种平面地图数据压缩方法和装置 |
-
2020
- 2020-04-24 CN CN202010336257.XA patent/CN111639147B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1347648A2 (en) * | 2002-03-12 | 2003-09-24 | Monolith Co., Ltd. | Method and apparatus for compressing corresponding point information as image data |
CN107160395A (zh) * | 2017-06-07 | 2017-09-15 | 中国人民解放军装甲兵工程学院 | 地图构建方法及机器人控制系统 |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
CN109583457A (zh) * | 2018-12-03 | 2019-04-05 | 荆门博谦信息科技有限公司 | 一种机器人定位与地图构建的方法及机器人 |
CN109754468A (zh) * | 2018-12-25 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种地图压缩方法和装置 |
CN110189390A (zh) * | 2019-04-09 | 2019-08-30 | 南京航空航天大学 | 一种单目视觉slam方法及系统 |
CN110264563A (zh) * | 2019-05-23 | 2019-09-20 | 武汉科技大学 | 一种基于orbslam2的八叉树建图方法 |
CN110442659A (zh) * | 2019-07-03 | 2019-11-12 | 北京云和时空科技有限公司 | 一种区域划分方法和装置 |
CN110335191A (zh) * | 2019-07-10 | 2019-10-15 | 武汉光庭信息技术股份有限公司 | 一种带洞多边形在电子地图中的无损压缩存储方法和装置 |
Non-Patent Citations (5)
Title |
---|
"3D LiDAR Map Compression for Efficient Localization on Resource Constrained Vehicles";Huan Yin 等;《IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS》;20200103;第1-16页 * |
"Efficient Map Compression for Collaborative Visual SLAM";Dominik Van Opdenbosch 等;《2018 IEEE Winter Conference on Applications of Computer Vision》;20180315;第992-1000页 * |
"结合因子图的多目的地地图布局优化";罗振珊 等;《中国图象图形学报》;20150331;第20卷(第3期);第0418-0426页 * |
"顾及几何形态与密度分布的点云压缩方法";张少彬 等;《测绘科学技术》;20180731;第6卷(第3期);第1-8页 * |
Rafael Muñoz-Salinas 等."UcoSLAM: Simultaneous localization and mapping by fusion of keypoints and squared planar markers".《https://doi.org/10.1016/j.patcog.2019.107193》.2020, * |
Also Published As
Publication number | Publication date |
---|---|
CN111639147A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639147B (zh) | 一种地图压缩方法、系统及计算机可读存储介质 | |
KR102319177B1 (ko) | 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체 | |
EP3502621B1 (en) | Visual localisation | |
US9286539B2 (en) | Constructing contours from imagery | |
CN111459269B (zh) | 一种增强现实显示方法、系统及计算机可读存储介质 | |
CN115526892B (zh) | 基于三维重建的图像缺陷去重检测方法和装置 | |
US20240338850A1 (en) | Method for detecting object poses, and computer device and storage medium thereof | |
CN112348885A (zh) | 视觉特征库的构建方法、视觉定位方法、装置和存储介质 | |
CN115439543B (zh) | 孔洞位置的确定方法和元宇宙中三维模型的生成方法 | |
CN108597034B (zh) | 用于生成信息的方法和装置 | |
CN108492284B (zh) | 用于确定图像的透视形状的方法和装置 | |
CN113112542A (zh) | 一种视觉定位方法、装置、电子设备及存储介质 | |
CN111415420A (zh) | 空间信息确定方法、装置及电子设备 | |
CN113570725A (zh) | 基于聚类的三维表面重建方法、装置、服务器及存储介质 | |
CN113870439A (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
CN108229281B (zh) | 神经网络的生成方法和人脸检测方法、装置及电子设备 | |
CN113298871B (zh) | 地图生成方法、定位方法及其系统、计算机可读存储介质 | |
CN114842466A (zh) | 目标检测方法、计算机程序产品和电子设备 | |
CN110377776B (zh) | 生成点云数据的方法和装置 | |
CN115661493A (zh) | 一种对象位姿的确定方法及装置、设备及存储介质 | |
CN111652831B (zh) | 对象融合方法、装置、计算机可读存储介质及电子设备 | |
CN111260544B (zh) | 数据处理方法及装置、电子设备和计算机存储介质 | |
CN114723796A (zh) | 一种三维点云生成方法、装置及电子设备 | |
CN113791426A (zh) | 雷达p显界面生成方法、装置、计算机设备及存储介质 | |
CN113763468A (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 |