CN109754468A - 一种地图压缩方法和装置 - Google Patents
一种地图压缩方法和装置 Download PDFInfo
- Publication number
- CN109754468A CN109754468A CN201811589024.XA CN201811589024A CN109754468A CN 109754468 A CN109754468 A CN 109754468A CN 201811589024 A CN201811589024 A CN 201811589024A CN 109754468 A CN109754468 A CN 109754468A
- Authority
- CN
- China
- Prior art keywords
- dimensional point
- matrix
- key frame
- cloud map
- 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
Abstract
本发明的实施方式提供了一种地图压缩方法和装置,所述方法包括:获取待压缩的点云地图,所述点云地图包括构成点云地图的三维点和用于观测三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。采用上述方法,由于本发明是在保证各个关键帧观测到的三维点的数量满足预设的观测条件时删除点云地图中的三维点,从而使得压缩后的点云地图在最小覆盖意义上具有最优的定位精度,进而使得压缩后的点云地图便于网络传输与存储。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种地图压缩方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在机器人导航、增强现实(AR)等很多领域,都需要用到环境地图,这个环境地图往往是通过视觉三维重建等方法(如运动恢复结构(Structure from Motion,SfM)算法和同步定位与建图(Simultaneous Localization and Mapping,SLAM)算法)建立的,环境地图中一般包含大量的三维点(这些三维点的集合称为点云),导致这类地图的文件尺寸可能很大,不便于网络的传输和存储,因此需要对这类地图进行压缩操作。在压缩这类地图时,往往要求地图中的三维点尽可能少,同时还要保证地图具有基本的定位精度,考虑到压缩后地图的定位精度问题,地图压缩算法在数学上其实是一个典型的最小覆盖问题,常见的求解此类问题的方法是贪婪算法。
发明人发现,现有的基于贪婪算法的地图压缩方法,虽然可以实现地图中三维点的数量尽可能的减少,但是无法保证压缩后的地图在最小覆盖意义上具有最优的定位精度,而且,这种地图压缩方法由于受初始值的影响很大,压缩结果很不稳定。
发明内容
出于目前的地图压缩方法通常是采用贪婪算法进行地图压缩的原因,现有技术中,该地图压缩算法无法保证压缩后的地图在最小覆盖意义上具有最优的定位精度,这就不可避免地带来了压缩后的地图效果不佳且不利于网络传输与存储的问题。
为此,非常需要一种高效的地图压缩方法,使得基于该方法压缩后的地图既能保证压缩后的地图的定位精度,也能保证压缩后的地图便于网络的传输和存储。
在本上下文中,本发明的实施方式期望提供一种地图压缩方法和装置。
在本发明实施方式的第一方面中,提供了一种地图压缩方法,包括:
获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;
针对每一关键帧,获取该关键帧观测到的三维点的数量;
基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
一种可能的实施方式中,本发明实施例提供的上述方法中,基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件,具体包括:
基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量;
若是,则确定当前的点云地图中的三维点是否满足三维点优化条件;
若确定出各个关键帧观测到的三维点的数量小于各自的最小观测数量,或者若确定出当前的点云地图中的三维点不满足三维点优化条件,则对点云地图中的三维点进行调整,并基于调整后的点云地图确定各个关键帧观测到的三维点的数量,及基于调整后的点云地图分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量的步骤。
一种可能的实施方式中,本发明实施例提供的上述方法中,分别确定各个关键帧观测到的三维点的数量不小于各自的最小观测数量,具体包括:
确定基于各个关键帧观测到的三维点的数量构成的观测数量矩阵是否不小于目标观测数矩阵,所述目标观测数矩阵由预设的各个关键帧的最小观测数量构成;
若是,则确定各个关键帧观测到的三维点的数量均不小于各自的最少观测数量。
一种可能的实施方式中,本发明实施例提供的上述方法中,按照下述方法获得所述观测数量矩阵:
确定各个关键帧观测的三维点构成的观测矩阵,其中,所述观测矩阵的行数与所述待压缩的点云地图包括的关键帧的数量相同,所述观测矩阵的列数与所述待压缩的点云地图包括的三维点的数量相同,所述观测矩阵中元素的取值表征关键帧是否观测到三维点;
根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵。
一种可能的实施方式中,本发明实施例提供的上述方法中,按照下述公式根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵:
A*x
或者
A*x+γ
其中,A表示所述观测矩阵;
x表示点云地图中的三维点构成的三维点矩阵;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述方法中,按照下述公式确定点云地图中的三维点满足三维点优化条件:
min qT*x
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点。
一种可能的实施方式中,本发明实施例提供的上述方法中,按照下述公式确定点云地图中的三维点满足三维点优化条件:
min(qT*x+ε*1T*γ)
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述方法中,按照下述公式确定点云地图中的三维点满足三维点优化条件:
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε,d,k为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述方法中,每一三维点的权重为观测该三维点的关键帧的数量的倒数。
在本发明实施方式的第二方面中,提供了一种地图压缩装置,包括:
第一获取单元,用于获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;
第二获取单元,用于针对每一关键帧,获取该关键帧观测到的三维点的数量;
三维点处理单元,用于基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量;若是,则确定当前的点云地图中的三维点是否满足三维点优化条件;若确定出各个关键帧观测到的三维点的数量小于各自的最小观测数量,或者若确定出当前的点云地图中的三维点不满足三维点优化条件,则对点云地图中的三维点进行调整,并基于调整后的点云地图确定各个关键帧观测到的三维点的数量,及基于调整后的点云地图分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量的步骤。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于确定基于各个关键帧观测到的三维点的数量构成的观测数量矩阵是否不小于目标观测数矩阵,所述目标观测数矩阵由预设的各个关键帧的最小观测数量构成;若是,则确定各个关键帧观测到的三维点的数量均不小于各自的最少观测数量。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于按照下述方法获得所述观测数量矩阵:确定各个关键帧观测的三维点构成的观测矩阵,其中,所述观测矩阵的行数与所述待压缩的点云地图包括的关键帧的数量相同,所述观测矩阵的列数与所述待压缩的点云地图包括的三维点的数量相同,所述观测矩阵中元素的取值表征关键帧是否观测到三维点;根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于按照下述公式根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵:
A*x
或者
A*x+γ
其中,A表示所述观测矩阵;
x表示点云地图中的三维点构成的三维点矩阵;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
min qT*x
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
min(qT*x+ε*1T*γ)
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述装置中,所述三维点处理单元,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε,d,k为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
一种可能的实施方式中,本发明实施例提供的上述装置中,每一三维点的权重为观测该三维点的关键帧的数量的倒数。
在本发明实施方式的第三方面中,提供了一种计算设备,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
在本发明实施方式的第四方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
根据本发明实施方式的地图压缩方法和装置,获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。采用上述方法,由于本发明是在保证各个关键帧观测到的三维点的数量满足预设的观测条件时删除点云地图中的三维点,从而使得压缩后的点云地图在最小覆盖意义上具有最优的定位精度,进而使得压缩后的点云地图便于网络传输与存储。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1a示意性地示出了本发明实施方式可以在其中实施的应用场景示意图;
图1b示意性地示出了本发明实施例中待压缩的点云地图的效果示意图;
图2示意性地示出了本发明实施例的地图压缩方法的流程示意图;
图3示意性地示出了本发明实施例提供的对三维点进行删除或保留的流程示意图;
图4示意性地示出了基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量的流程示意图;
图5示意性地示出了获得观测数量矩阵的流程示意图;
图6示意性地示出了本发明实施例提供的地图压缩装置的结构示意图;
图7示意性地示出了本发明实施例提供的计算设备70的结构示意图;
图8示意性地示出了用于实施本发明提供的地图压缩方法的设备80的硬件结构示意图;
图9示意性地示出了根据本发明的实施方式的用于地图压缩的程序产品示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种地图压缩方法和装置。
在本文中,需要理解的是,所涉及的术语中:
关键帧,是指在SfM算法和SLAM算法中实际用于构建地图的图像。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中,采用贪婪算法进行地图压缩时,该地图压缩算法因无法保证压缩后的地图在最小覆盖意义上具有最优的定位精度,而导致不可避免地带来了压缩后的地图效果不佳且不利于网络传输与存储的问题。
本发明实施例中,可以针对获取到的待压缩的点云地图中的每一关键帧,获取该关键帧观测到的三维点的数量,然后基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件,由于本发明在对点云地图中三维点进行删除或保留时,充分考虑了关键帧观测到的三维点数量,故基于此得到的压缩后的点云地图不仅在最小覆盖意义上具有最优的定位精度,而且有利于网络传输与存储。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1a,其为本发明实施例提供的地图压缩方法的应用场景示意图。包括用户终端11和服务器12。其中,所述用户终端中可安装有需要查看地图的客户端,如游戏客户端等等。为了有利于地图的网络传输与存储,以图1b所示的待压缩的点云地图为例进行说明,服务器12在获取到待压缩的点云地图后,针对待压缩的点云地图中每一关键帧,获取该关键帧观测到的三维点的数量,然后基于各个关键帧观测到的三维点的数量对点云地图中的三维点进行删除或保留处理,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件;然后服务器12将压缩后的点云地图发送给用户终端11的客户端,客户端基于接收到的点云地图可以执行一些定位操作等。采用上述地图压缩过程,实现了对待压缩的点云地图的压缩处理;另一方面,本发明在对点云地图中的三维点进行压缩时,保证了压缩后的点云地图中各个关键帧能够观测到的三维点的数量满足预设的观测条件,由此保证了压缩后的点云地图的定位精度。
也就是说,本发明实施例提供的地图压缩方法既可以由服务器单独实施,也可以由用户终端(更具体地,用户终端上安装的客户端)与服务器共同参与实施,也可以只由用户终端实施,对此不作任何限定。
其中,用户终端11和服务器12可通过通信网络进行通信连接,该网络可以为局域网、广域网等。用户终端11可以为移动终端设备,如手机、平板电脑等,也可以为传统的PC(Personal Computer,个人电脑)笔记本电脑等,本发明实施例对此不进行限定。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
示例性方法
下面结合图1的应用场景,参考图2~图9来描述根据本发明示例性实施方式的地图压缩方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,为本发明实施例提供的地图压缩方法的流程示意图。在该实施例中,地图压缩方法的执行主体可以为应用场景中服务器12。基于上述描述,本发明提供的地图压缩方法可以包括以下步骤:
S21、获取待压缩的点云地图。
本发明中待压缩的点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧。
具体地,为了后续描述方便,以待压缩的点云地图中包括n个三维点和m个关键帧为例进行说明,其中,每一个关键帧都可以观测到n个三维点中的一个子集。
S22、针对每一关键帧,获取该关键帧观测到的三维点的数量。
本步骤中,点云地图中每个关键帧能够观测到的三维点是已知的,由此可以确定出各个关键帧能够观测到的三维点的数量。
S23、基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除。
S24、基于调整后的点云地图确定各个关键帧观测到的三维点的数量是否满足预设的观测条件,若否,则继续执行步骤S23;若是,则流程结束,且最终得到的点云地图即为压缩后的点云地图。
具体地,在实施步骤S23和S24时,首先基于待压缩的点云地图,基于各个关键帧观测到的三维点的数量对待压缩的点云地图中三维点进行删除或保留处理后,然后确定第一次调整后的点云地图中各关键帧能够观测到的三维点的数量,并判断第一次调整后的各个关键帧观测到的三维点数量是否满足预设的观测条件,若不满足则继续对点云地图中的三维点进行第二次调整,然后判断基于第二次调整后得到的各个关键帧观测到的三维点的数量是否满足预设的观测条件,若不满足则继续进行第三次调整,以此类推直至确定出基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件,从而得到定位精度最优且三维点数量最合适的点云地图。
可选地,可以按照图3所示的流程实施步骤S23和S24,包括以下步骤:
S31、基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量,若是,则执行步骤S32;否则执行步骤S33。
可选地,可以按照图4所示的流程实施步骤S31,包括以下步骤:
S41、确定基于各个关键帧观测到的三维点的数量构成的观测数量矩阵是否不小于目标观测数矩阵,若是,则执行步骤S42;否则执行步骤S43。
S42、确定各个关键帧观测到的三维点的数量均不小于各自的最少观测数量。
S43、确定各个关键帧中存在至少一个关键帧观测到的三维点的数量小于该关键帧对应的最小观测数量。
步骤S41~S43中,本发明中的观测数量矩阵为各个关键帧观测到的三维点构成的矩阵,本发明中的目标观测数矩阵为各个关键帧的最小观测数量构成的,而最小观测数量为预先设定好的,例如可以将最小观测数量设置为50等。
具体地,为了保证压缩后的点云地图的定位精度,要求压缩后的点云地图中第i个关键帧至少还能观测到bi个三维点,而bi即为第i个关键帧的最小观测数量。为了后续描述方便,可以将m个关键帧分别对应的最小观测数量构成目标观测数矩阵,记为b,其中,b=[b1,b2,b3,......,bm]T。
当基于调整后的点云地图确定出各个关键帧观测到的三维点的数量构成的观测数量矩阵不小于b时,则表明调整后的点云地图能够保证定位精度。
需要说明的是,本发明中各个关键帧分别对应的最小观测数量可以相同,也可以不同,根据实际情况而定。在实际应用中,可以基于待压缩点云地图中三维点的初始数量和关键帧的数量来确定各个关键帧的最小观测数量等,本发明在此不对各个关键帧的最小观测数量的取值进行限定。
需要说明的是,在确定观测数量矩阵时存在不同的方式,相应地,基于不同的观测数量矩阵对应的三维点优化条件有所不同,故后续分别详细介绍之。
S32、确定当前的点云地图中的三维点是否满足三维点优化条件,若是则执行步骤S34;若否,则执行步骤S33。
本步骤中的三维点优化条件用于指示三维点的数量或重量是否最小,后续详细介绍之。
S33、对点云地图中的三维点进行调整,并基于调整后的点云地图确定各个关键帧观测到的三维点的数量,并继续执行步骤S31。
当基于当前的点云地图确定出各个关键帧观测到的三维点的数量不满足各自的最小观测数量,或者在满足各自的最小观测数量,但当前的点云地图中的三维点不满足三维点优化条件时,则对点云地图中的三维点继续进行调整,直至最终得到的点云地图既满足基于最终得到的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件,又使得最终得到的点云地图中的三维点满足三维点优化条件。
S34、确定当前的点云地图中各个关键帧观测到的三维点的数量满足预设的观测条件,且当前的点云地图即为最优的点云地图。
通过实施图3所示的流程,即可确定出满足最小覆盖意义上具有最优的定位精度的点云地图。
接下来对本发明中观测数量矩阵的确定方法和三维点优化条件进行介绍,需要说明的是,实际应用中还可以有其他确定观测数量矩阵的方法,以及还可以有其他的三维点优化条件。
可选地,可以按照图5所示的流程获得观测数量矩阵,包括以下步骤:
S51、确定各个关键帧观测的三维点构成的观测矩阵。
本发明中的观测矩阵的行数与所述待压缩的点云地图包括的关键帧的数量相同,所述观测矩阵的列数与所述待压缩的点云地图包括的三维点的数量相同,所述观测矩阵中元素的取值表征关键帧是否观测到三维点。
具体地,为了方便理解,将观测矩阵记为A,而A的行数与关键帧的数量相同,即为m行;A的列数与待压缩的点云地图中三维点的数量相同,记为n列,即观测矩阵A的维度为Am*n,该观测矩阵A可以基于各个关键帧观测到的三维点来进行配置,若第i个关键帧能够观测到第j个三维点,则Aij=1;若第i个关键帧不能观测到第j个三维点,则Aij=0。这样,基于m个关键帧、n个三维点及每一关键帧观测到的三维点可以确定出观测矩阵A。
S52、根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵。
具体地,将当前的点云地图中三维点的取值构成一个三维点矩阵,记为x,而三维点矩阵x是一个n行的列矩阵,基于观测矩阵A和三维点矩阵x即可确定出观测数量矩阵。
一种可能的实施方式中,可以按照公式(1)根据所述观测矩阵A和基于点云地图中的三维点构成的三维点矩阵x,获得所述观测数量矩阵:
A*x (1)
公式(1)中,通过将观测矩阵Am*n与三维点矩阵xn*1进行乘积运算,得到观测数量矩阵,而观测数量矩阵中的每一行表明该行对应的关键帧能够观测到的三维点的数量。
在此基础之上,步骤S41的实施可以转化为求解A*x>b中三维点矩阵x的问题,需要说明的是,A*x>b包括A*x=b的情况。在A*x>b成立时,可以按照公式(2)确定三维点是否满足三维点优化条件:
minqT*x (2)
公式(2)中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中x的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点。
具体地,三维点矩阵x属于Rn,Rn表示三维点矩阵x的维度为n维,且三维点矩阵x中元素的取值范围为实数域。
基于上述描述,步骤S23和步骤S24的实施过程相当于确定满足整数线性规划函数的三维点矩阵x的取值,其中,x∈{0,1}n,即:x为取值在0或1的n维矩阵。为了快速且准确地求解出三维点矩阵x,可以利用分支定界法、单纯形法来求解上述整数线性规划函数。基于此,可以求解出三维点矩阵x中n个元素的取值,然后根据n个元素的取值来删除或保留待压缩的点云地图中的三维点,公式A*x>b保证了压缩处理后的点云地图中各个关键帧观测到的三维点满足各自的最小观测数量,进而可以保证压缩后的点云地图的定位精度,其次,公式minqT*x保证了压缩后的点云地图中的三维点的数量或重量最小,从而基于这两个公式有效保证了压缩后的点云地图在最小覆盖意义上的定位精度,进而保证了压缩后的点云地图网络传输和存储的便利性。
具体地,在求解时,可以先将待压缩的点云地图中所有的三维点进行初始化,即:将三维点矩阵x中的初始值均设置为1,即然后对三维点矩阵x中的取值进行调整,使得在满足Ax>b的条件下确定出使得minqT*x取最小值时的三维点的取值。
公式(2)中的权重矩阵的转置矩阵qT是由各个三维点的权重构建得到的,从而可以得出权重矩阵的维度与三维点矩阵的维度相同,均为n*1的行矩阵,进而可以得出转置矩阵qT为1*n的列矩阵,假设第i个三维点的权重为qi,则转置矩阵qT则可以表示为:qT=[q1,q2,...qi,...,qn]1*n。
而一般情况下,待压缩的点云地图中各个三维点的权重可以认为是同等重要的,则此时各个三维点的权重均可以配置为1,从而可以得到转置矩阵qT为:qT=[1 1 1 11......1]1*n,则minqT*x表示为三维点的和值取最小值,实质为三维点的数量取最小值。
可选地,当待压缩的点云地图中的三维点不是同等重要时,则可以针对每一三维点,基于观测到该三维点的关键帧的数量来确定该三维点的权重,即:每一三维点的权重为观测该三维点的关键帧的数量的倒数。例如,针对第i个三维点,确定能够观测到该三维点的关键帧的数量ki,则可以将该三维点的权重设置为1/ki,基于此可以得到各个三维点的权重,从而得到权重矩阵进而得到转置矩阵qT=[1/k1,1/k2,1/k3,...,1/ki,...,1/kn],minqT*x表示为三维点的和值取最小值,实质为三维点的重量取最小值,该公式可以看出权重越大的三维点越有可能被删除。当三维点的权重一旦确定其值不在改变,也就是说公式minqT*x中qT不再改变,通过调整三维点矩阵x中的元素,使得调整后的三维点矩阵x在满足Ax>b条件时,qT*x取得最小值。基于满足上述两个条件时得到的三维点矩阵x来对待压缩的点云地图中的三维点进行保留或删除处理。
另外,还可以采用其他一些判断标准设置三维点的权重,比如某些三维点被很多关键帧观测到,则为这些三维点设置较小的权重,而某些三维点只被2个关键帧观测到,则表明该三维点重要性比较低,则可以为该三维点设置较大的权重,这样在确定qT*x的最小值时,权重较大的三维点越可能被删除。
另一种可能的实施方式中,考虑一些实际因素,有可能存在没有合适的一组三维点取值来使得观测数量矩阵不小于目标观测数量矩阵,且三维点满足三维点优化条件,即不存在三维点矩阵x使得x满足A*x>b且三维点优化条件,因此为了避免这一情况,可以引入松弛变量矩阵γ。
在引入m维的松弛变量矩阵γ情况下,可以按照公式(3)根据所述观测矩阵A和基于点云地图中的三维点构成的三维点矩阵x,获得所述观测数量矩阵:
A*x+γ (3)
通过引入松弛变量矩阵γ,当某些关键帧无法满足最小观测数量的约束条件时,即A*x>b无解时,则通过将松弛变量矩阵γ中对应的元素取大于0的值,使得能够求解出三维点矩阵x。为了实现上述目的,本发明提出利用公式(3)使得A*x+γ>b成立。其中,松弛变量矩阵γ中的元素还起到了引导参数设置的作用,可以告知哪些关键帧的最小观测数量需要调整。
在此基础之上,步骤S41的实施可以转化为求解A*x+γ>b中三维点矩阵x的问题,需要说明的是,A*x+γ>b包括A*x+γ=b的情况。在A*x+γ>b成立时,可以按照公式(4)或公式(5)确定三维点是否满足三维点优化条件:
min(qT*x+ε*1T*γ) (4)
公式(4)或公式(5)中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;任一元素取值为1,则表示保留该元素对应的三维点;ε,d,k为常数;γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数,表示为γ∈{Z+∪{0}}m。
公式(5)适用于一些并不希望压缩后的三维点数量最小的情况,而是希望压缩后的点云地图中三维点的数量在预设范围[d,k]内,其中,d表示为压缩后的点云地图包括的三维点的最小期望数量;k表示为压缩后的点云地图包括的三维点的最大期望数量。
需要说明的是,公式(4)和公式(5)中的转置矩阵qT与公式(2)中的转置矩阵qT一样,详情参考公式(2)中对转置矩阵qT的描述,此处不再重复描述。
基于上述描述,步骤S23和步骤S24的实施过程相当于确定满足整数线性规划函数或的三维点矩阵x的取值。具体地,也可以利用分支定界法或单纯形法求解上述两个整数线性规划函数,进而基于确定出的三维点矩阵x的取值对待压缩的点云地图中的三维点进行删除或保留,从而得到既能够保证压缩后的点云地图的定位精度又能保证三维点数量足够少,保证了压缩后的点云地图便于网络的传输和存储。
为了更好地理解本发明,以待压缩的点云地图包括5个三维点和4个关键帧为例进行说明,各个关键帧观测到的三维点分别为:关键帧1能够观测到第1、3和5三维点,关键帧2能够观测到第2和3三维点,关键帧3能够观测到第3和4三维点,关键帧4能够观测到第1、3和5三维点。将该点云地图中的三维点构成三维点矩阵4*1的三维点矩阵x,则可以按照线性规划函数确定待压缩的点云地图中最终能够保留的三维点,求解过程大致如下:
当待压缩的点云地图中三维点同等重要时,即:各个三维点的权重均为1时,初始化时,三维点矩阵基于各个关键帧可以构成到的三维点,可以获得观测矩阵假设目标观测数矩阵假设经过第k次调整后三维点矩阵变为 可以得出第k次调整后得到的三维点矩阵x满足Ax>b,则确定第k次的假设第k次调整得到的qT*x=4不是最小值,则可以对三维点矩阵x中三维点的取值进行第k+1次调整,如经第k+1次调整后三维点矩阵则判断第k+1次调整后得到的三维点矩阵x中的三维点是否满足Ax>b,即:将第k+1次调整后得到的三维点矩阵代入到Ax中,可以得出第k+1次调整后得到的三维点不满足Ax>b这一条件,故对三维点矩阵x进行第k+2次调整,如经第k+2次调整后三维点矩阵可以得出第k+2次调整后且可以确定出第k+2的显然可以得出第k+2次调整后的qT*x要小于第k次调整的qT*x,假设第k+2次计算出的qT*x就是最小值,则可以得到最终的三维点矩阵为进而基于该三维点矩阵x中元素的取值可以得出,可以将点云地图中前3个三维点保留,删除第4和第5个三维点。
具体地,当待压缩的点云地图中三维点不是同等重要时,还以n=5为例进行说明,初始化时三维点矩阵假设观测矩阵目标观测数矩阵则基于观测矩阵可以得出第1个三维点被2个关键帧观测到,第2个三维点被1个关键帧观测到,第3个三维点被4个关键帧观测到,第4个三维点被1个关键帧观测到,第5个三维点被2个关键帧观测到,从而可以得出三维点的权重矩阵假设经过第k次调整后三维点矩阵变为 可以得出第k次调整后得到的三维点矩阵x满足Ax>b,则确定第k次的假设第k次调整得到的不是最小值,则可以对三维点矩阵x中三维点取值进行第k+1次调整,如经第k+1次调整后三维点矩阵则判断第k+1次调整后得到的三维点矩阵x中的三维点是否满足Ax>b,即:将第k+1次调整后得到的三维点矩阵代入到Ax中,可以得出第k+1次调整后得到的三维点不满足Ax>b这一条件,故对三维点矩阵x进行第k+2次调整,如经第k+2次调整后三维点矩阵可以得出第k+2次调整后且可以确定出第k+2的显然可以得出第k+2次调整后的qT*x要小于第k次调整的qT*x,假设第k+2次计算出的qT*x就是最小值,则可以得到最终的三维点矩阵为进而基于该三维点矩阵x中元素的取值可以得出,可以将点云地图中前3个三维点保留,删除第4和第5个三维点。
本发明实施例提供的地图压缩方法,获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。采用上述方法,由于本发明是在保证各个关键帧观测到的三维点的数量满足预设的观测条件时删除点云地图中的三维点,从而使得压缩后的点云地图在最小覆盖意义上具有最优的定位精度,进而使得压缩后的点云地图便于网络传输与存储。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图6对本发明示例性实施方式的地图压缩装置进行介绍。
如图6所示,其为本发明实施例提供的地图压缩装置的结构示意图,该地图压缩装置可以包括:
第一获取单元61,用于获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;
第二获取单元62,用于针对每一关键帧,获取该关键帧观测到的三维点的数量;
三维点处理单元63,用于基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
优选地,所述三维点处理单元63,具体用于基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量;若是,则确定当前的点云地图中的三维点是否满足三维点优化条件;若确定出各个关键帧观测到的三维点的数量小于各自的最小观测数量,或者若确定出当前的点云地图中的三维点不满足三维点优化条件,则对点云地图中的三维点进行调整,并基于调整后的点云地图确定各个关键帧观测到的三维点的数量,及基于调整后的点云地图分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量的步骤。
可选地,所述三维点处理单元63,具体用于确定基于各个关键帧观测到的三维点的数量构成的观测数量矩阵是否不小于目标观测数矩阵,所述目标观测数矩阵由预设的各个关键帧的最小观测数量构成;若是,则确定各个关键帧观测到的三维点的数量均不小于各自的最少观测数量。
优选地,所述三维点处理单元63,具体用于按照下述方法获得所述观测数量矩阵:确定各个关键帧观测的三维点构成的观测矩阵,其中,所述观测矩阵的行数与所述待压缩的点云地图包括的关键帧的数量相同,所述观测矩阵的列数与所述待压缩的点云地图包括的三维点的数量相同,所述观测矩阵中元素的取值表征关键帧是否观测到三维点;根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵。
优选地,所述三维点处理单元63,具体用于按照下述公式根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵:
A*x
或者
A*x+γ
其中,A表示所述观测矩阵;
x表示点云地图中的三维点构成的三维点矩阵;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
可选地,所述三维点处理单元63,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
min qT*x
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点。
可选地,所述三维点处理单元63,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
min(qT*x+ε*1T*γ)
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
可选地,所述三维点处理单元63,具体用于按照下述公式确定点云地图中的三维点满足三维点优化条件:
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε,d,k为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
优选地,每一三维点的权重为观测该三维点的关键帧的数量的倒数。
基于同一发明构思,本发明还可包括一种如图7所示的计算设备70,包括存储器701和处理器702,其中,处理器702可以用于读取存储器701中的程序,至少执行下列过程:获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;针对每一关键帧,获取该关键帧观测到的三维点的数量;基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
下面参照图8来描述根据本发明的这种实施方式的用于地图压缩的设备之一80。图8显示的用于地图压缩的设备之一80仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,用于地图压缩的设备之一80以通用计算设备的形式表现。用于地图压缩的设备之一80的组件可以包括但不限于:上述至少一个处理单元801、上述至少一个存储单元802、连接不同系统组件(包括处理单元801和存储单元802)的总线803。
总线803可以包括数据总线、地址总线和控制总线。
存储单元802可以包括易失性存储器,例如随机存取存储器(RAM)8021和/或高速缓存存储器8022,还可以进一步只读存储器(ROM)8023。
存储单元802还可以包括具有一组(至少一个)程序模块8024的程序/实用工具800,这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
用于地图压缩的设备之一80也可以与一个或多个外部设备804(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口805进行。并且,用于地图压缩的设备之一80还可以通过网络适配器806与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器806通过总线803与用于地图压缩的设备之一80的其它模块通信。用于地图压缩的设备之一80也可以通过显示单元807将获取的数据向用户显示。应当明白,尽管图中未示出,可以结合用于地图压缩的设备之一80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在服务器设备上运行时,所述程序代码用于使所述服务器设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于地图压缩方法中的步骤,例如,可以执行如图2中所示的步骤S21~S24所示的地图压缩流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图9所示,描述了根据本发明的实施方式的用于地图压缩的程序产品90,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在用于地图压缩的设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了地图压缩装置的若干单元或子单元,但是这种划分仅仅是示意性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种地图压缩方法,包括:
获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;
针对每一关键帧,获取该关键帧观测到的三维点的数量;
基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
2.根据权利要求1所述的方法,基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件,具体包括:
基于当前的点云地图,分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量;
若是,则确定当前的点云地图中的三维点是否满足三维点优化条件;
若确定出各个关键帧观测到的三维点的数量小于各自的最小观测数量,或者若确定出当前的点云地图中的三维点不满足三维点优化条件,则对点云地图中的三维点进行调整,并基于调整后的点云地图确定各个关键帧观测到的三维点的数量,及基于调整后的点云地图分别确定各个关键帧观测到的三维点的数量是否不小于各自的最小观测数量的步骤。
3.根据权利要求2所述的方法,分别确定各个关键帧观测到的三维点的数量不小于各自的最小观测数量,具体包括:
确定基于各个关键帧观测到的三维点的数量构成的观测数量矩阵是否不小于目标观测数矩阵,所述目标观测数矩阵由预设的各个关键帧的最小观测数量构成;
若是,则确定各个关键帧观测到的三维点的数量均不小于各自的最少观测数量。
4.根据权利要求3所述的方法,按照下述方法获得所述观测数量矩阵:
确定各个关键帧观测的三维点构成的观测矩阵,其中,所述观测矩阵的行数与所述待压缩的点云地图包括的关键帧的数量相同,所述观测矩阵的列数与所述待压缩的点云地图包括的三维点的数量相同,所述观测矩阵中元素的取值表征关键帧是否观测到三维点;
根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵。
5.根据权利要求4所述的方法,按照下述公式根据所述观测矩阵和基于点云地图中的三维点构成的三维点矩阵,获得所述观测数量矩阵:
A*x
或者
A*x+γ
其中,A表示所述观测矩阵;
x表示点云地图中的三维点构成的三维点矩阵;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
6.根据权利要求2所述的方法,按照下述公式确定点云地图中的三维点满足三维点优化条件:
minqT*x
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点。
7.根据权利要求2所述的方法,按照下述公式确定点云地图中的三维点满足三维点优化条件:
min(qT*x+ε*1T*γ)
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
8.根据权利要求2所述的方法,按照下述公式确定点云地图中的三维点满足三维点优化条件:
其中,qT为点云地图中的三维点构建的权重矩阵的转置矩阵;
x表示点云地图中的三维点构成的三维点矩阵,其中,三维点矩阵中的元素取值为0或1,若任一元素取值为0,则表示删除该元素对应的三维点;若任一元素取值为1,则表示保留该元素对应的三维点;
ε,d,k为常数;
γ表示引入的松弛变量矩阵,所述松弛变量矩阵中的元素取值为非负整数。
9.根据权利要求6~8任一所述的方法,每一三维点的权重为观测该三维点的关键帧的数量的倒数。
10.一种地图压缩装置,包括:
第一获取单元,用于获取待压缩的点云地图,所述点云地图包括构成所述点云地图的三维点和用于观测所述三维点的关键帧;
第二获取单元,用于针对每一关键帧,获取该关键帧观测到的三维点的数量;
三维点处理单元,用于基于各个关键帧观测到的三维点的数量对所述三维点进行保留或删除,直至基于调整后的点云地图确定出的各个关键帧观测到的三维点的数量满足预设的观测条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811589024.XA CN109754468A (zh) | 2018-12-25 | 2018-12-25 | 一种地图压缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811589024.XA CN109754468A (zh) | 2018-12-25 | 2018-12-25 | 一种地图压缩方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109754468A true CN109754468A (zh) | 2019-05-14 |
Family
ID=66402935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811589024.XA Pending CN109754468A (zh) | 2018-12-25 | 2018-12-25 | 一种地图压缩方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109754468A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639147A (zh) * | 2020-04-24 | 2020-09-08 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、系统及计算机可读存储介质 |
WO2022252238A1 (zh) * | 2021-06-04 | 2022-12-08 | 华为技术有限公司 | 3d地图的压缩、解压缩方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296693A (zh) * | 2016-08-12 | 2017-01-04 | 浙江工业大学 | 基于3d点云fpfh特征实时三维空间定位方法 |
CN106296812A (zh) * | 2016-08-18 | 2017-01-04 | 宁波傲视智绘光电科技有限公司 | 同步定位与建图方法 |
CN108280866A (zh) * | 2016-12-30 | 2018-07-13 | 乐视汽车(北京)有限公司 | 道路点云数据处理方法及系统 |
-
2018
- 2018-12-25 CN CN201811589024.XA patent/CN109754468A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296693A (zh) * | 2016-08-12 | 2017-01-04 | 浙江工业大学 | 基于3d点云fpfh特征实时三维空间定位方法 |
CN106296812A (zh) * | 2016-08-18 | 2017-01-04 | 宁波傲视智绘光电科技有限公司 | 同步定位与建图方法 |
CN108280866A (zh) * | 2016-12-30 | 2018-07-13 | 乐视汽车(北京)有限公司 | 道路点云数据处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
MARCIN DYMCZYK 等: "Keep it Brief:Scalable Creation of Compressed Localization Maps", 《2015 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639147A (zh) * | 2020-04-24 | 2020-09-08 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、系统及计算机可读存储介质 |
CN111639147B (zh) * | 2020-04-24 | 2021-02-05 | 视辰信息科技(上海)有限公司 | 一种地图压缩方法、系统及计算机可读存储介质 |
WO2022252238A1 (zh) * | 2021-06-04 | 2022-12-08 | 华为技术有限公司 | 3d地图的压缩、解压缩方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102590841B1 (ko) | 가상 오브젝트 구동 방법, 장치, 전자기기 및 판독 가능 저장매체 | |
US20200311943A1 (en) | Image processing method and apparatus, and storage medium | |
CN109104620A (zh) | 一种短视频推荐方法、装置和可读介质 | |
US10719693B2 (en) | Method and apparatus for outputting information of object relationship | |
CN111967339B (zh) | 用于规划无人机路径的方法和装置 | |
CN108416744A (zh) | 图像处理方法、装置、设备及计算机可读存储介质 | |
EP3836094A2 (en) | Method and apparatus for rendering image, electronic device, storage medium and computer program product | |
CN104469395A (zh) | 图像传输方法和装置 | |
CN109754468A (zh) | 一种地图压缩方法和装置 | |
CN107204023A (zh) | 避免绘制在canvas画布中的图形失真的方法和装置 | |
US20220189189A1 (en) | Method of training cycle generative networks model, and method of building character library | |
CN112581573B (zh) | 虚拟形象驱动方法、装置、设备、介质和程序产品 | |
CN113592998A (zh) | 重光照图像的生成方法、装置及电子设备 | |
CN105528333B (zh) | 一种文档优化显示的方法和装置 | |
CN108345440A (zh) | 一种显示添加的几何图形辅助线的方法及其装置 | |
CN115439543A (zh) | 孔洞位置的确定方法和元宇宙中三维模型的生成方法 | |
CN113205495B (zh) | 图像质量评价及模型训练方法、装置、设备和存储介质 | |
CN114708660A (zh) | 基于平均序列求法的网球动作评分方法、系统及设备 | |
CN113052962B (zh) | 模型训练、信息输出方法,装置,设备以及存储介质 | |
CN108141381A (zh) | 用以使电缆测试结果与电缆测试配置协调的系统和方法 | |
CN112508137B (zh) | 变压器异常检测方法、装置、计算机设备和存储介质 | |
CN113965313A (zh) | 基于同态加密的模型训练方法、装置、设备以及存储介质 | |
CN112541479A (zh) | 全景图与兴趣点挂接的方法、装置、电子设备及存储介质 | |
CN111462269B (zh) | 图像处理方法及装置、存储介质及电子设备 | |
CN110069195B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190626 Address after: 311200 Room 102, 6 Blocks, C District, Qianjiang Century Park, Xiaoshan District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Yixian Advanced Technology Co., Ltd. Address before: 310052 Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province, 4, 7 stories Applicant before: NetEase (Hangzhou) Network Co., Ltd. |
|
TA01 | Transfer of patent application right |