点云存储方法、装置、设备及存储介质

文档序号:1937570 发布日期:2021-12-07 浏览:29次 >En<

阅读说明:本技术 点云存储方法、装置、设备及存储介质 (Point cloud storage method, device, equipment and storage medium ) 是由 王钟绪 冯乐满 韩旭 于 2021-08-27 设计创作,主要内容包括:本发明涉及图像处理领域,公开了点云存储方法、装置、设备及存储介质,用于提高点云的加载存储速率,避免卡顿。本发明方法包括:获取目标感兴趣区域的初始点云;根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;按照采样半径序列对初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;按照层级顺序将多个目标点云层进行顺序堆叠并存储。(The invention relates to the field of image processing, and discloses a point cloud storage method, a point cloud storage device, point cloud storage equipment and a point cloud storage medium, which are used for improving the point cloud loading and storage rate and avoiding blockage. The method comprises the following steps: acquiring an initial point cloud of a target region of interest; determining the sampling radius of each level according to a preset level sequence and the corresponding requirement of each level to obtain a sampling radius sequence, wherein the sampling radius sequence comprises a plurality of sampling radii which are arranged from small to large, and the lower the level is, the smaller the corresponding sampling radius is; performing iteration processing on the initial point cloud according to the sampling radius sequence, and determining the point cloud after each iteration processing as a corresponding point cloud layer to obtain a plurality of target point cloud layers; and sequentially stacking and storing the target point cloud layers according to the hierarchical order.)

点云存储方法、装置、设备及存储介质

技术领域

本发明涉及图像处理技术领域,尤其涉及一种点云存储方法、装置、设备及存储介质。

背景技术

随着点云技术在自动驾驶和机器人等许多领域的广泛应用,近来引起了越来越多的关注。在自动驾驶领域,通常会采用点云地图进行导航,而要实现高度自动驾驶就需要依赖高精度的点云地图。

目前在自动驾驶场景中,需要实时读取高精度点云地图以实现自动驾驶的目的,而点云地图的数据量大,在实时查看大规模点云地图时会出现卡顿问题。

发明内容

本发明提供了一种点云存储方法、装置、设备及存储介质,用于提高点云的加载存储速率,避免卡顿。

本发明实施例的第一方面提供了一种点云存储方法,包括:获取目标感兴趣区域的初始点云;根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,所述采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;按照所述采样半径序列对所述初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;按照所述层级顺序将所述多个目标点云层进行顺序堆叠并存储。

在一种可行的实施方式中,所述按照所述采样半径序列对所述初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层,包括:对所述初始点云进行聚类,得到第一聚类点云;调用所述采样半径序列中位于队首的第一采样半径对所述第一聚类点云进行采样,得到第一采样点云层;对所述第一采样点云层进行迭代处理,得到每次迭代处理对应的点云层,所述迭代处理包括聚类并采用其他采样半径对聚类结果进行采样,所述其他采样半径包括除第一采样半径外的剩余采样半径;将所述每次迭代处理后的点云层和所述第一采样点云层合并为多个目标点云层。

在一种可行的实施方式中,所述调用所述采样半径序列中位于队首的第一采样半径对所述第一聚类点云进行采样,得到第一采样点云层,包括:在所述第一聚类点云中任意选择一个类别点云作为目标待采样点云;调用所述采样半径序列中位于队首的第一采样半径对所述目标待采样点云进行采样,得到目标采样点云;根据所述第一采样半径依次对多个其他待采样点云进行采样,得到多个其他采样点云,所述其他待采样点云的类别与所述目标待采样点云的类别不同;将所述目标采样点云和所述多个其他采样点云组合为第一采样点云层。

在一种可行的实施方式中,所述调用所述采样半径序列中位于队首的第一采样半径对所述目标待采样点云进行采样,得到目标采样点云,包括:确定所述第一采样半径为r,并确定所述目标待采样点云中数据点所在采样空间的维度为n,其中,r大于0,n为正整数;按照预置长度L在所述采样空间中生成预置数量的网格,其中,每个网格至多包含一个数据点,任意不接触的两个网格之间的数据点的距离大于r,其中,随机生成一个候选数据点,创建处理数组和结果数组,并将所述目标待采样点云中数据点和所述候选数据点导入所述处理数组,所述处理数组用于存储待采样的数据点,所述结果数组用于存储已采样的数据点;当所述处理数组为非空时,依次从所述处理数组中随机选择一个数据点作为候选中心点,并以所述候选中心点进行采样,直至所述处理数据为空;当所述处理数组为空时,将所述结果数组中的数据点确定为目标采样点云。

在一种可行的实施方式中,所述当所述处理数组为非空时,依次从所述处理数组中随机选择一个数据点作为候选中心点,并以所述候选中心点进行采样,直至所述处理数据为空,包括:当所述处理数组为非空时,从所述处理数组中随机选择一个数据点作为候选中心点,并从所述处理数组中删除所述候选中心点;以所述候选中心点为圆心,按照预置的最小距离为内环半径,预置的最大距离为外环半径生成采样圆环区域;对所述采样圆环区域进行初次采样,得到初次采样结果;按照所述预置采样次数中剩余次数对所述采样圆环区域进行多次采样,得到剩余采样结果;若所述初次采样结果和所述剩余采样结果都为失败,则确定所述候选中心点对应的采样结果为失败,将所述候选中心点存储到所述结果数组,若所述初次采样结果和所述剩余采样结果中任意一次采样结果为成功,则确定所述候选中心点对应的采样结果为成功,将所述候选中心点和成功采样的数据点存储到所述处理数组;重复从所述处理数组中随机选择一个数据点作为新的候选中心点并继续进行采样,直至所述处理数组为空。

在一种可行的实施方式中,所述获取聚类点云,所述对所述初始点云进行聚类,得到第一聚类点云,包括:对所述初始点云进行聚类,得到多个初始类别点云;更新所述多个初始类别点云的聚类中心,将更新后的类别点云合并为第一聚类点云。

在一种可行的实施方式中,所述对所述初始点云进行聚类,得到多个初始类别点云,包括:根据所述初始点云的点云密度选择k个数据点作为聚类中心,得到k个初始聚类中心,k为正整数;计算所述初始点云中每个数据点到所述k个初始聚类中心的距离;遍历所述初始点云中每个数据点,将每个数据点划分到对应最近的初始聚类中心所属的类别,得到多个初始类别点云,每个初始类别点云包括多个划分后的数据点。

本发明实施例的第二方面提供了一种点云存储装置,包括:获取模块,用于获取目标感兴趣区域的初始点云;半径确定模块,用于根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,所述采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;迭代模块,用于按照所述采样半径序列对所述初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;点云堆叠模块,用于按照所述层级顺序将所述多个目标点云层进行顺序堆叠并存储。

在一种可行的实施方式中,迭代模块包括:第一聚类子模块,用于对所述初始点云进行聚类,得到第一聚类点云;第一采样子模块,用于调用所述采样半径序列中位于队首的第一采样半径对所述第一聚类点云进行采样,得到第一采样点云层;迭代处理子模块,用于对所述第一采样点云层进行迭代处理,得到每次迭代处理对应的点云层,所述迭代处理包括聚类并采用其他采样半径对聚类结果进行采样,所述其他采样半径包括除第一采样半径外的剩余采样半径;合并子模块,用于将所述每次迭代处理后的点云层和所述第一采样点云层合并为多个目标点云层。

在一种可行的实施方式中,第一采样子模块包括:选择单元,用于在所述第一聚类点云中任意选择一个类别点云作为目标待采样点云;第一采样单元,用于调用所述采样半径序列中位于队首的第一采样半径对所述目标待采样点云进行采样,得到目标采样点云;第二采样单元,用于根据所述第一采样半径依次对多个其他待采样点云进行采样,得到多个其他采样点云,所述其他待采样点云的类别与所述目标待采样点云的类别不同;组合单元,用于将所述目标采样点云和所述多个其他采样点云组合为第一采样点云层。

在一种可行的实施方式中,第一采样单元包括:确定子单元,用于确定所述第一采样半径为r,并确定所述目标待采样点云中数据点所在采样空间的维度为n,其中,r大于0,n为正整数;网格生成子单元,用于按照预置长度L在所述采样空间中生成预置数量的网格,其中,每个网格至多包含一个数据点,任意不接触的两个网格之间的数据点的距离大于r,其中,生成创建子单元,用于随机生成一个候选数据点,创建处理数组和结果数组,并将所述目标待采样点云中数据点和所述候选数据点导入所述处理数组,所述处理数组用于存储待采样的数据点,所述结果数组用于存储已采样的数据点;采样子单元,用于当所述处理数组为非空时,依次从所述处理数组中随机选择一个数据点作为候选中心点,并以所述候选中心点进行采样,直至所述处理数据为空;确定子单元,用于当所述处理数组为空时,将所述结果数组中的数据点确定为目标采样点云。

在一种可行的实施方式中,采样子单元具体用于:当所述处理数组为非空时,从所述处理数组中随机选择一个数据点作为候选中心点,并从所述处理数组中删除所述候选中心点;以所述候选中心点为圆心,按照预置的最小距离为内环半径,预置的最大距离为外环半径生成采样圆环区域;对所述采样圆环区域进行初次采样,得到初次采样结果;按照所述预置采样次数中剩余次数对所述采样圆环区域进行多次采样,得到剩余采样结果;若所述初次采样结果和所述剩余采样结果都为失败,则确定所述候选中心点对应的采样结果为失败,将所述候选中心点存储到所述结果数组,若所述初次采样结果和所述剩余采样结果中任意一次采样结果为成功,则确定所述候选中心点对应的采样结果为成功,将所述候选中心点和成功采样的数据点存储到所述处理数组;重复从所述处理数组中随机选择一个数据点作为新的候选中心点并继续进行采样,直至所述处理数组为空。

在一种可行的实施方式中,第一聚类子模块包括:聚类单元,用于对所述初始点云进行聚类,得到多个初始类别点云;更新单元,用于更新所述多个初始类别点云的聚类中心,将更新后的类别点云合并为聚类点云。

在一种可行的实施方式中,聚类单元具体用于:根据所述初始点云的点云密度选择k个数据点作为聚类中心,得到k个初始聚类中心,k为正整数;计算所述初始点云中每个数据点到所述k个初始聚类中心的距离;遍历所述初始点云中每个数据点,将每个数据点划分到对应最近的初始聚类中心所属的类别,得到多个初始类别点云,每个初始类别点云包括多个划分后的数据点。

本发明实施例的第三方面提供了一种点云存储设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述点云存储设备执行上述的点云存储方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的点云存储方法。

本发明实施例提供的技术方案中,获取目标感兴趣区域的初始点云;根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;按照采样半径序列对初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;按照层级顺序将多个目标点云层进行顺序堆叠并存储。本发明实施例,提高了点云的加载存储速率,避免卡顿,在保证点云特征质量的基础上,最大限度的呈现高质量的点云可视化效果。

附图说明

图1为本发明实施例中点云存储方法的一个实施例示意图;

图2为本发明实施例中点云存储方法的另一个实施例示意图;

图3为本发明实施例中采样过程的一个实施例示意图;

图4为本发明实施例中采样过程的一个实施例示意图;

图5为本发明实施例中点云存储装置的一个实施例示意图;

图6为本发明实施例中点云存储装置的另一个实施例示意图;

图7为本发明实施例中点云存储设备的一个实施例示意图。

具体实施方式

本发明提供了一种点云存储方法、装置、设备及存储介质,用于提高点云的加载存储速率,避免卡顿。

可以理解的是,本发明可以应用在点云存储设备上,作为示例而非限定的是,点云存储设备可为服务器,本申请以服务器为例进行说明。

请参阅图1,本发明实施例提供的点云存储方法的流程图,具体包括:

101、获取目标感兴趣区域的初始点云。

具体的,服务器首先对激光发射器接收的信号进行处理,得到目标感兴趣区域的原始点云,其中,原始点云为表达地表三维形态的、离散的、密度不均匀的数据点集。例如,服务器可以首先通过点云采集装置(例如,激光发射器,或者其他具有发送激光和接收激光反射信号功能的装置)对感兴趣区域进行采集,得到原始点云,然后对原始点云进行去噪处理,得到目标感兴趣区域的初始点云。

作为示例而非限定的是,可以先采用直通滤波器采集感兴趣区域(即目标区域)的原始点云,然后通过统计滤波器对原始点云中的噪声点(例如,离群点)进行去除,生成目标感兴趣区域的初始点云。

需要说明的是,统计滤波器对每个点的邻域进行一个统计分析,并删除掉那些不符合一定标准的点。本发明实施例可以基于点到临近点的距离作为判断标准,通过计算每个点到其最近的N个点平均距离,N为正整数,那么平均距离在标准范围之外的点,可以被定义为离群点并从原始点云中去除。还可以采用其他滤波器进行去噪处理,具体此处不作限定。

102、根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小。

具体的,根据展示需求,将每一个层级对应设置不同的分辨率,分辨率要求越高,那么对应要求的采样的点云越稠密,对应需要采样的数据点也越多,即采样半径越小。本实施例中,将最小的采样半径对应分辨率要求高的层级,对应金字塔结构的最底层,而随着采样半径逐渐增大,对应的分辨率要求降低,对应的金字塔层级增高,而金字塔结构的最高层级,对应最大采样半径和最低的分辨率要求,最后将每个层级的采样半径按照从小到大顺序进行排序,得到采样半径序列。需要说明的是,除了可以采用金字塔结构,还可以采用点云索引或点云压缩的方式对点云进行管理,具体此处不作限定。

需要说明的是,每一层级对应的要求,可以根据实际情况进行设置,例如,可以按照分辨率要求进行设定,还可以按照图像大小要求进行设定,或者是其他要求进行设定,本实施例中以分辨率要求为例进行说明。

103、按照采样半径序列对初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层。

具体的,服务器对初始点云进行聚类,得到第一聚类点云;然后根据采样半径序列的先后顺序,先基于位于队首的最小采样半径,对第一聚类点云中每个类别点云分别进行采样,生成基于最小采样半径的点云层(即第一采样点云层),该基于最小采样半径的点云层中包含每个类别点云的采样点云,然后进行迭代处理,即依次进行聚类并增大采样半径对每个类别点云分别进行采样,生成基于更大采样半径的点云层,基于更大采样半径的点云层包含每个类别点云的采样点云;将每个采样半径对应的采样点云层作为目标点云层。

需要说明的是,基于更大采样半径的点云层的层数由半径数量决定,例如,若采样半径序列中包括3个采样半径,依次为第一采样半径、第二采样半径和第三采样半径,且第一采样半径最小,第三采样半径最大,那么在第一采样半径采样完成得到第一采样半径的采样点云层后,更大采样半径的点云层有2个,分别对应第二采样半径的采样点云层和第三采样半径的采样点云层。其中,每个采样半径对应的采样点云层中包含对每个类别点云先聚类后采样得到的采样点云。

104、按照层级顺序将多个目标点云层进行顺序堆叠并存储。

具体的,将每个采样半径对应的目标点云层按照预置的层级顺序依次进行叠加并存储,其中,在存储之前,还可以将叠加后的目标点云层按照Draco格式进行压缩。以使得,在使用端(终端)可以直接获取整体金字塔结构并根据镜头的移动情况选择读取相应的层级点云,通过这种方式能保证每次的读取占用少量的开销,配合人眼的特性达到最终流畅查看点云的效果。

本发明实施例,提高了点云的加载存储速率,避免卡顿,在保证点云特征质量的基础上,最大限度的呈现高质量的点云可视化效果。

请参阅图2,本发明实施例提供的点云存储方法的另一个流程图,具体包括:

201、获取目标感兴趣区域的初始点云。

步骤201与步骤101类似,此处不再赘述。

202、根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小。

步骤202与步骤102类似,具体此处不再赘述。

203、对初始点云进行聚类,得到多个初始类别点云。

具体的,服务器根据初始点云的点云密度在初始点云中选择k个数据点作为聚类中心,得到k个初始聚类中心,分别为a=a1,a2,a3…,ak,k为正整数;服务器计算初始点云(以xi表示每个数据点,i为正整数)中每个数据点到k个初始聚类中心的距离;服务器遍历初始点云中每个数据点,将每个数据点划分到对应最近的初始聚类中心所属的类别,得到多个初始类别点云,每个初始类别点云包括多个划分后的数据点。

需要说明的是,目标感兴趣区域的初始点云中数据点的分布是依据扫描物体或环境得到的,因此部分区域的点云稠密,部分区域的点云稀疏,可以根据稠密程度先将目标区域的点云划分为不同的区域,然后对每个区域进行调整,得到多个类别点云,一个类别点云即一个点云区域,不同的类别点云代表着不同稠密程度的点云区域,将所有类别点云合称为聚类点云。根据点云密度(稠密程度)划分成不同的k个区域,k的大小由当前层级的精细程度(例如,分辨率)来决定。

204、更新多个初始类别点云的聚类中心,将更新后的类别点云合并为第一聚类点云。

具体的,服务器重新计算每个初始类别点云的聚类中心,得到k个候选聚类中心;服务器判断k个候选聚类中心与k个初始聚类中心是否完全一致;若完全一致,则服务器将k个初始聚类中心对应的k个类别点云组合成第一聚类点云;若不完全一致,则服务器计算每个数据点分别到k个候选聚类中心的实际距离,并将每个数据点划分到对应实际距离最小的候选聚类中心所属的类别,更新每个类别(以aj表示每个类别的聚类中心,j为正整数)的聚类中心(计算公式为:以ci表示任意一个更新后的类别点云),直至每个类别更新后的聚类中心与上一次更新的聚类中心完全一致,将最后一次更新的多个聚类中心对应的多个更新后的类别点云组合为第一聚类点云。

205、调用采样半径序列中位于队首的第一采样半径对第一聚类点云进行采样,得到第一采样点云层。

具体的,服务器在第一聚类点云中任意选择一个类别点云作为目标待采样点云;服务器调用采样半径序列中位于队首的第一采样半径(即最小采样半径)对目标待采样点云进行采样,得到目标采样点云;服务器根据第一采样半径依次对多个其他待采样点云进行采样,得到多个其他采样点云,其他待采样点云的类别与目标待采样点云的类别不同;服务器将目标采样点云和多个其他采样点云组合为第一采样点云层。

其中,第一采样半径的点云层包括按照第一采样半径对聚类点云中每个类别点云的采样点云,即包括了多个采样点云,这多个采样点云都是基于第一采样半径采样得到的。

在一种可行的实施方式中,服务器调用采样半径序列中位于队首的第一采样半径对目标待采样点云进行采样,得到目标采样点云具体包括:

服务器确定第一采样半径为r,并确定目标待采样点云中数据点所在采样空间的维度为n,其中,r大于0,n为正整数;服务器按照预置长度L在采样空间中生成预置数量的网格,其中,每个网格至多包含一个数据点,任意不接触的两个网格之间的数据点的距离大于r,其中,服务器随机生成一个候选数据点,创建处理数组和结果数组,并将目标待采样点云中数据点和候选数据点导入处理数组,处理数组用于存储待采样的数据点,结果数组用于存储已采样的数据点;当处理数组为非空时,服务器依次从处理数组中随机选择一个数据点作为候选中心点,并以候选中心点进行采样,直至处理数据为空;当处理数组为空时,服务器将结果数组中的数据点确定为目标采样点云。

在一种可行的实施方式中,当处理数组为非空时,服务器依次从处理数组中随机选择一个数据点作为候选中心点,并以候选中心点进行采样,直至处理数据为空,包括:

当处理数组为非空时,服务器从处理数组中随机选择一个数据点作为候选中心点,并从处理数组中删除候选中心点;服务器以候选中心点为圆心,按照预置的最小距离为内环半径,预置的最大距离为外环半径生成采样圆环区域;服务器对采样圆环区域进行初次采样,得到初次采样结果;服务器按照预置采样次数中剩余次数对采样圆环区域进行多次采样,得到剩余采样结果;若初次采样结果和剩余采样结果都为失败,则服务器确定候选中心点对应的采样结果为失败,将候选中心点存储到结果数组,若初次采样结果和剩余采样结果中任意一次采样结果为成功,则确定候选中心点对应的采样结果为成功,将候选中心点和成功采样的数据点存储到处理数组;服务器重复从处理数组中随机选择一个数据点作为新的候选中心点并继续进行采样,直至处理数组为空。

在一种可行的实施方式中,服务器对采样圆环区域进行初次采样,得到初次采样结果,具体可以包括:

如图3所示,服务器在采样圆环区域中随机生成一个待确认点(即图3中的D1点),并确定待确认点(即图3中的D2点)所在的候选网格;服务器判断候选网格以及与候选网格相邻的八个网格中是否存在相邻的数据点,相邻的数据点为与待确认点之间距离小于第一采样半径的数据点;若不存在,则服务器确定初次采样成功,若存在,则服务器确定初次采样失败。可以理解的是,当以D1点为中心,在预置的最大距离(图3中最大距离为2r)的圆环上取待确认点D2,只需要判断D2点所在网格周围的八个网格中是否存在数据点,由图3中可以看出,存在一个数据点D4,因此,数据点D2不能被采样,采样失败。需要说明的是,图3仅为各个数据点的一个实施例示意图,未严格按照L与r的最优比例关系进行展示,图3不作为对L、r的大小以及数据点位置及比例关系的限定。例如,当n为2时,比例关系如图4所示。

206、对第一采样点云层进行迭代处理,得到每次迭代处理对应的点云层,迭代处理包括聚类并采用其他采样半径对聚类结果进行采样,其他采样半径包括除第一采样半径外的剩余采样半径。

例如,服务器先对第一采样点云层进行聚类,得到第二聚类点云,然后基于位于采样半径序列第二位的第二采样半径,对第二聚类点云中每个类别点云分别进行采样,生成基于第二采样半径的点云层,即第二采样点云层;继续对第二采样点云层进行聚类,得到第三聚类点云,然后基于位于采样半径序列第三位的第三采样半径,对第三聚类点云中每个类别点云分别进行采样,生成基于第三采样半径的点云层,即第三采样点云层。以此类推,依次增大采样半径对上一次聚类后的点云进行采样,生成每个采样半径对应的采样点云层。

需要说明的是,基于更大采样半径的点云层的层数由半径数量决定。例如,在采用第一采样半径完成采样后,若还剩5个采样半径,那么此时需要对除第一采样半径之外的其他4个采样半径进行采样,得到4个采样点云层,每个采样点云层对应不同的采样半径。例如,若采样半径序列中包括10个采样半径,依次为第一采样半径、第二采样半径至第十采样半径,且第一采样半径最小,第十采样半径最大,那么在第一采样半径采样完成得到第一采样半径的采样点云层后,更大采样半径的点云层有9个,分别对应第二采样半径的采样点云层至第十采样半径的采样点云层。其中,每个采样半径对应的采样点云层中又包含对每个类别点云进行采样得到的采样点云。

可以理解的是,随着采样半径的增大,在上一层级的采样点云层基础上,再进行聚类,得到的点云类别数量会减少,即不同类别的点云会逐渐聚拢,直至只有一个聚类中心。假设,第一次聚类时得到的第一聚类点云存在10个聚类中心,经过第一次采样后,得到第一采样点云层,对第一采样点云层进行第二次聚类时,得到的第二聚类点云可能存在7个聚类中心,聚类中心的数量会减少。每一次进行聚类时,聚类中心的数量可以根据实际稠密程度进行设置,此处不做限定。

207、将每次迭代处理后的点云层和第一采样点云层合并为多个目标点云层。

具体的,将第一采样半径对应的第一采样点云层,与多个迭代处理后的其他采样点云层并为多个目标点云层。其中,当采样半径数量为3时,其他采样点云层为第二采样半径对应的第二采样点云层和第三采样半径对应的第三采样点云层;当采样半径数量为5时,其他采样点云层为第二采样半径对应的第二采样点云层、第三采样半径对应的第三采样点云层、第四采样半径对应的第四采样点云层和第五采样半径对应的第五采样点云层。

需要说明的是,采样后的多个点云层效果好,可以满足数据点均匀、保留细节部分情况较好,具有较好的蓝噪声特性。

208、按照层级顺序将多个目标点云层进行顺序堆叠并存储。

步骤208与步骤104类似,具体此处不再赘述。

本发明实施例,提高了点云的加载存储速率,避免卡顿,在保证点云特征质量的基础上,最大限度的呈现高质量的点云可视化效果。

上面对本发明实施例中点云存储方法进行了描述,下面对本发明实施例中点云存储装置进行描述,请参阅图5,本发明实施例中点云存储装置的一个实施例包括:

获取模块501,用于获取目标感兴趣区域的初始点云;

半径确定模块502,用于根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,所述采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;

迭代模块503,用于按照所述采样半径序列对所述初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;

点云堆叠模块504,用于按照所述层级顺序将所述多个目标点云层进行顺序堆叠并存储。

本发明实施例,提高了点云的加载存储速率,避免卡顿,在保证点云特征质量的基础上,最大限度的呈现高质量的点云可视化效果。

请参阅图6,本发明实施例中点云存储装置的另一个实施例包括:

获取模块501,用于获取目标感兴趣区域的初始点云;

半径确定模块502,用于根据预置的层级顺序和每一层级对应的要求确定每一层级的采样半径,得到采样半径序列,其中,所述采样半径序列包括按照从小到大顺序排列的多个采样半径,层级越低对应的采样半径越小;

迭代模块503,用于按照所述采样半径序列对所述初始点云进行迭代处理,并将每次迭代处理后的点云确定为对应的点云层,得到多个目标点云层;

点云堆叠模块504,用于按照所述层级顺序将所述多个目标点云层进行顺序堆叠并存储。

可选的,迭代模块503包括:

第一聚类子模块5031,用于对所述初始点云进行聚类,得到第一聚类点云;

第一采样子模块5032,用于调用所述采样半径序列中位于队首的第一采样半径对所述第一聚类点云进行采样,得到第一采样点云层;

迭代处理子模块5033,用于对所述第一采样点云层进行迭代处理,得到每次迭代处理对应的点云层,所述迭代处理包括聚类并采用其他采样半径对聚类结果进行采样,所述其他采样半径包括除第一采样半径外的剩余采样半径;

合并子模块5034,用于将所述每次迭代处理后的点云层和所述第一采样点云层合并为多个目标点云层。

可选的,第一采样子模块5032包括:

选择单元50321,用于在所述第一聚类点云中任意选择一个类别点云作为目标待采样点云;

第一采样单元50322,用于调用所述采样半径序列中位于队首的第一采样半径对所述目标待采样点云进行采样,得到目标采样点云;

第二采样单元50323,用于根据所述第一采样半径依次对多个其他待采样点云进行采样,得到多个其他采样点云,所述其他待采样点云的类别与所述目标待采样点云的类别不同;

组合单元50324,用于将所述目标采样点云和所述多个其他采样点云组合为第一采样点云层。

可选的,第一采样单元50322包括:

确定子单元503221,用于确定所述第一采样半径为r,并确定所述目标待采样点云中数据点所在采样空间的维度为n,其中,r大于0,n为正整数;

网格生成子单元503222,用于按照预置长度L在所述采样空间中生成预置数量的网格,其中,每个网格至多包含一个数据点,任意不接触的两个网格之间的数据点的距离大于r,其中,

生成创建子单元503223,用于随机生成一个候选数据点,创建处理数组和结果数组,并将所述目标待采样点云中数据点和所述候选数据点导入所述处理数组,所述处理数组用于存储待采样的数据点,所述结果数组用于存储已采样的数据点;

采样子单元503224,用于当所述处理数组为非空时,依次从所述处理数组中随机选择一个数据点作为候选中心点,并以所述候选中心点进行采样,直至所述处理数据为空;

确定子单元503225,用于当所述处理数组为空时,将所述结果数组中的数据点确定为目标采样点云。

在一种可行的实施方式中,采样子单元503224具体用于:

当所述处理数组为非空时,从所述处理数组中随机选择一个数据点作为候选中心点,并从所述处理数组中删除所述候选中心点;

以所述候选中心点为圆心,按照预置的最小距离为内环半径,预置的最大距离为外环半径生成采样圆环区域;

对所述采样圆环区域进行初次采样,得到初次采样结果;

按照所述预置采样次数中剩余次数对所述采样圆环区域进行多次采样,得到剩余采样结果;

若所述初次采样结果和所述剩余采样结果都为失败,则确定所述候选中心点对应的采样结果为失败,将所述候选中心点存储到所述结果数组,若所述初次采样结果和所述剩余采样结果中任意一次采样结果为成功,则确定所述候选中心点对应的采样结果为成功,将所述候选中心点和成功采样的数据点存储到所述处理数组;

重复从所述处理数组中随机选择一个数据点作为新的候选中心点并继续进行采样,直至所述处理数组为空。

可选的,第一聚类子模块5031包括:

聚类单元50311,用于对所述初始化的点云样本进行聚类,得到多个初始类别点云;

更新单元50312,用于更新所述多个初始类别点云的聚类中心,将更新后的类别点云合并为聚类点云。

可选的,聚类单元50311包括:

中心选择子单元503111,用于根据所述初始点云的点云密度选择k个数据点作为聚类中心,得到k个初始聚类中心,k为正整数;

计算子单元503112,用于计算所述初始点云中每个数据点到所述k个初始聚类中心的距离;

遍历子单元503113,用于遍历所述初始点云中每个数据点,将每个数据点划分到对应最近的初始聚类中心所属的类别,得到多个初始类别点云,每个初始类别点云包括多个划分后的数据点。

本发明实施例,提高了点云的加载存储速率,避免卡顿,在保证点云特征质量的基础上,最大限度的呈现高质量的点云可视化效果。

图7是本发明实施例提供的一种点云存储设备的结构示意图,该点云存储设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对点云存储设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在点云存储设备700上执行存储介质730中的一系列指令操作。

点云存储设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的点云存储设备结构并不构成对点云存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述点云存储方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于海量地理位置信息的索引库建立及检索方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!