技术领域
本发明涉及数据处理技术领域,具体涉及一种基于高精地图中的点云数据的渐进式传输方法和系统。
背景技术
传统汽车自经问世给人们出行提供了不少方便,但随着科技的发展,它逐渐开始暴露出功能上的限制以及安全隐患等弊端;无人汽车及其相关技术在恰好克服这些弊端的同时还节约了各种资源。高精地图作为为无人汽车定位与导航的地图,是无人驾驶中不可或缺的一部分;为了满足无人驾驶的标准,高精地图精度要比传统地图更高、包含更多语义与道路信息,也正是因为其精度,一般的高精地图数据量十分巨大,现有的网络并不能满足其高速传输的要求,甚至可能会造成重大延误,这严重制约了高精地图的实时性,极大威胁了无人驾驶的行车安全。因此,高精地图的传输时延应尽可能地缩短。
发明内容
本发明通过传统地图的渐进式传输方式以及点云数据结构特性,构造了一种渐进式传输完整模型,包括了数据压缩,传输时间以及数据还原的数学模型,以此探讨高精地图的传输方式。
根据第一方面,本申请提供一种基于高精地图中的点云数据的渐进式传输方法,包括:
S100:获取点云数据;
S200:将点云数据中每个点的坐标转换为对应的morton码;
S300:将所述morton码进行排序并用八叉树存储;
S400:对点云数据进行压缩;
S500:传输压缩后的数据,通过morton码对数据进行还原。
在一些实施例,所述点云数据进行压缩步骤包括:
S410:从第一个点云数据开始,每八个相邻点云组合在一起进行提取,得到8个连续的单元;
S420:为每个所述单元分配一个morton码,比较所述单元与morton码的属性值;若属性值的误差在预设范围内,则选择MD码最小的单元,将其属性值以及MD码记录入栈中,否则对这所述8个单元进行排序,按MD码的值从小到大的先后顺序,依次分别将所述8个单元的MD码以及属性值记录入栈中,并记录此时栈顶的指针;
S430:栈顶指针到达预设的值且8个栈顶数据的MD码以及属性值都相同时,对前七个数据进行出栈操作,出栈后的数据另行保存,以在后续传输过程中能继续传输;
S440:重复步骤S310-S330直到包围盒的大小符合所预设的阈值,完成点云数据的压缩。
在一些实施例,所述S500步骤包括:在传输开始,先传输经过以上压缩过程所获得的最简略的数据,再渐进式传输中进行数据的补全。
在一些实施例,所述数据补全方法包括以下步骤:
S510:对保存八叉树结构的栈的栈顶数据的MD码经过逆变换算,得出每个栅格的编号;
S520:将栈顶数据的MD码以及属性值赋给此栅格数据,栈顶数据的MD码与其下一数据的MD码的差为我们中间精简的数据的个数;
S530:对栈顶数据的下一数据的MD码加一,通过补全每层精简的数据完成数据的还原。
根据第二方面,本申请一种基于高精地图中的点云数据的渐进式传输系统,包括:
用于获取点云数据的模块;
用于将点云数据中每个点的坐标转换为对应的morton码的模块;
用于将所述morton码进行排序并用八叉树存储的模块;
用于对点云数据进行压缩的模块;
用于传输压缩后的数据,通过morton码对数据进行还原的模块。
根据第三方面,本申请一种基于高精地图中的点云数据的渐进式传输系统,包括:
存储器,用于存储程序;
处理器,用于通过执行所述存储器存储的程序以实现如第一方面所述的方法。
根据第四方面,本申请一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如第一方面所述的方法。
本发明的主要优点是:本发明在传统数据的渐进式传输的基础上结合点云数据特性提出了一种点云均分状态下的渐进式模型并从压缩、传输时间以及还原三个步骤建立了详细数学模型;从建立的模型我们可以获得渐进式传输每层所需时间以及传输的总时间,这些信息可以确定最简图像传输时间以及每层进行补全所需要的时间,根据实际需要,我们可以自由调整传输精度,得到最佳传输方案。
附图说明
图1为本申请的基于高精地图中的点云数据的渐进式传输方法流程图;
图2为一种实施例的点云渐进式传输方法流程图。
图3为一种实施例的点云模型在均匀模型中进行精简的效果。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请主要针对点云数据的传输,在传统数据的渐进式传输的基础上结合点云数据特性提出了一种点云均分状态下的渐进式模型并从压缩、传输时间以及还原三个步骤建立了详细数学模型;从建立的模型我们可以获得渐进式传输每层所需时间以及传输的总时间,这些信息可以确定最简图像传输时间以及每层进行补全所需要的时间,根据实际需要,我们可以自由调整传输精度,得到最佳传输方案。
什么是点云数据?
高精地图当中的点云数据是数据采集车通过激光LiDAR获取采集的一种数据,点云以点记录图像,将图像以点的形式组织起来,一般是对物体外表面的表示,可以显示出表示对象的具体形态;与别的数据格式不同,点云数据没有边面关系,因此表达更加灵活;由于收集这些点云数据的机器的收集特性,一般的点云数据排列上也有着自己的规律,每个点包括其x,y,z三维的坐标,有的点云数据甚至还能表示一个点的颜色;如果将一个点表示为Pi{x,y,z},点云数据则是这些点的集合,表示为{P1,P2...Pn},将点云数据通过软件以及硬件处理之后可以得到原图像的点阵表示,这些点很好的还原了原本图像的形状以及基本结构,这对于机器的图像处理是十分方便的。
点云数据的存储——八叉树结构
八叉树顾名思义是一种树形结构,节点表示了其代表的立方体的体积元素,由于对立方体进行等分我们能得到8个一样大小的立方体,因此八叉树的8个子节点就是对于原有立方体的分割,根据完满八叉树的定义,对于每个父节点要么有8个子节点,要么没有子节点,8个子节点所表示的体积元素进行累加,其和就是他们父节点所代表的立方体的体积;这种数据结构很方便的就能对三维数据进行分割压缩等操作。
参考图1,本发明提出了基于高精地图中的点云数据的渐进式传输方法的一实施例,所述估计方法包括以下步骤:
S100:得到完整的点云数据G
S200:将点云数据中每个点的坐标转换为对应的morton码,计算公式为Mq=q
S300:将处理后得到的morton码进行排序并用八叉树存储;
S400:对点云数据进行压缩;
在压缩过程中包括以下步骤:
S410:从第一个点云数据开始,每八个相邻点云组合在一起进行提取,得到8个连续的单元;
S420:为每个所述单元分配一个morton码,比较所述单元与morton码的属性值;若属性值的误差在预设范围内,则选择MD码((十进制morton码))最小的单元,将其属性值以及MD码记录入栈中,否则对这所述8个单元进行排序,按MD码的值从小到大的先后顺序,依次分别将所述8个单元的MD码以及属性值记录入栈中,并记录此时栈顶的指针;
S430:栈顶指针到达预设的值且8个栈顶数据的MD码以及属性值都相同时,对前七个数据进行出栈操作,出栈后的数据另行保存,以在后续传输过程中能继续传输;
S440:重复步骤S310-S330直到包围盒的大小符合所预设的阈值,完成点云数据的压缩。
S500:在传输开始,先传输经过以上压缩过程所获得的最简略的数据G
数据补全方法包括以下步骤:
S510:对保存八叉树结构的栈的栈顶数据的MD码经过逆变换算,得出每个栅格的编号;
S520:将栈顶数据的MD码以及属性值赋给此栅格数据,栈顶数据的MD码与其下一数据的MD码的差为我们中间精简的数据的个数;
S530:对栈顶数据的下一数据的MD码加一,通过补全每层精简的数据完成数据的还原,即G
综上,本发明是从传统地图的几种压缩方法入手,通过了解数据压缩以及还原方式,理解传统地图的渐进式传输模型并提出了它们详细的传输时延数学模型。从其中一种结构对于点云数据的存储——八叉树结构入手,选择一种精简质量判定方法对这种方式的压缩效果进行评判,在这种结构以及传统数据的渐进式传输的基础上结合点云数据特性提出了一种点云均分状态下的渐进式模型并从压缩、传输时间以及还原三个步骤建立了详细数学模型。
相应地,本申请还提供一种基于高精地图中的点云数据的渐进式传输系统,包括:
用于获取点云数据的模块;
用于将点云数据中每个点的坐标转换为对应的morton码的模块;
用于将所述morton码进行排序并用八叉树存储的模块;
用于对点云数据进行压缩的模块;
用于传输压缩后的数据,通过morton码对数据进行还原的模块。
相应地,本申请还提供一种基于高精地图中的点云数据的渐进式传输系统,包括:
存储器,用于存储程序;
处理器,用于通过执行所述存储器存储的程序以实现上述的方法。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上步骤流程仅为说明本发明的技术思想,并不用以限制本发明,凡是在本发明提出的技术方案、技术思想、引进方法上所做的任何改动、改进等,均落入本发明保护范围之内。
机译: 点云数据通信系统,点云数据传输装置和点云数据传输方法
机译: 点云数据通信系统,点云数据传输装置和点云数据传输方法
机译: 点云数据通信系统,点云数据传输设备和点云数据传输方法