基于贪婪投影三角化的体积确定方法、系统、设备及介质转让专利

申请号 : CN202211404837.3

文献号 : CN115564820B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘军刘闯张美娟刘睿瑞裴生昌

申请人 : 武汉工程大学

摘要 :

本发明公开了一种基于贪婪投影三角化的体积确定方法、系统、设备及介质,涉及体积计算技术领域,方法包括:获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积。

权利要求 :

1.一种基于贪婪投影三角化的体积确定方法,其特征在于,包括:

步骤S1,获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;

步骤S2,根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;

步骤S3,利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;

步骤S4,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积;

其中,每个所述目标点云数据包含各自在预先建立的多维空间坐标系中对应的点云位置信息;

所述步骤S2包括:

从多个所述目标点云数据中提取多个边界点云数据,每个所述边界点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

根据多个所述目标点云数据和多个所述边界点云数据,确定表面点云数据,每个所述表面点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

对于每个所述表面点云数据,以所述目标对象的底部作为投影方向,对所述表面点云数据进行垂直投影,得到所述表面点云数据对应的底部点云数据,所述底部点云数据表征对应的所述表面点云数据投影到所述目标对象底面的点的点云数据,每个所述底部点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

对于每个所述边界点云数据,根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据;

根据多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据,得到完整点云数据。

2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,对每个所述原始点云数据进行预处理,得到多个目标点云数据,包括:对于每个所述原始点云数据,通过VoxelGrid滤波器对所述原始点云数据进行下采样处理,得到所述原始点云数据对应的目标点云数据。

3.根据权利要求1所述的方法,其特征在于,所述目标对象底面的各个点在所述多维空间坐标系中对应有第一点位置信息,所述第一点位置信息包括横坐标值、纵坐标值和高度值,每个所述边界点云数据各自对应的点云位置信息包括点云横坐标、点云纵坐标和点云竖坐标;

所述根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据,包括:将所述边界点云数据对应的点云横坐标作为第一坐标值,将所述边界点云数据对应的点云纵坐标作为第二坐标值;

获取所述目标对象底面中横坐标值等于所述第一坐标值、纵坐标值等于所述第二坐标值的点的高度值,将所述高度值作为目标高度值;

根据所述边界点云数据对应的点云竖坐标、所述目标高度值和所述步长,确定所述边界点云数据对应的四周点云数据的个数;

根据所述边界点云数据对应的点云位置信息、所述步长和所述个数,得到多个四周点云数据,每个所述四周点云数据包含各自在所述多维空间坐标系中对应的点云位置信息。

4.根据权利要求1所述的方法,其特征在于,所述步骤S3包括:

对于所述完整点云数据中的每个所述点云数据,通过预设的最邻近参数计算所述点云数据对应的协方差矩阵,根据所述协方差矩阵,计算所述点云数据对应的法向量;

对于所述完整点云数据中的每个所述点云数据,根据所述点云数据对应的所述协方差矩阵和所述法向量,确定所述点云数据对应的法向量的方向;

利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。

5.根据权利要求4所述的方法,其特征在于,所述利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型,包括:步骤A1,确定迭代次数 ;

步骤A2,在超参数空间中随机选择参数集合,所述贪婪投影三角化算法使用所述参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到所述参数集合对应的初始曲面模型;

步骤A3,重复 次所述步骤A2,得到 个初始曲面模型;

步骤A4,对于每个所述参数集合,确定所述参数集合对应的所述初始曲面模型与预先构建好的标准曲面模型的相似度;

步骤A5,根据所述相似度,确定目标参数集合;

步骤A6,所述贪婪投影三角化算法使用所述目标参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。

6.根据权利要求1所述的方法,其特征在于,每个所述目标点包含各自在预先建立的多维空间坐标系中对应的点云位置信息,每个所述目标点各自对应的点云位置信息包括目标点横坐标、目标点纵坐标和目标点竖坐标;

所述步骤S4包括:

根据多个所述目标点,构建多个目标面,每个所述目标面由多个所述目标点的连线组成;

对于每个所述目标面,确定组成所述目标面的每个所述目标点各自对应的点云位置信息;

对于每个所述目标面,以所述目标对象的底部作为投影方向,对所述目标面进行垂直投影,得到所述目标面对应的多个底面点,所述底面点表征对应的所述目标点投影到所述目标对象底面的点,每个所述底面点包含各自在所述多维空间坐标系中对应的第二点位置信息,所述第二点位置信息包括横坐标值、纵坐标值和高度值;

对于每个目标面,根据组成所述目标面的多个所述目标点和所述目标面对应的多个所述底面点,构建几何体,根据所述目标点对应的点云位置信息和所述底面点对应的第二点位置信息,计算所述几何体的体积,根据所述几何体的体积确定所述目标面对应的体积;

将多个所述目标面对应的体积相加,得到所述目标对象的体积。

7.一种基于贪婪投影三角化的体积确定系统,其特征在于,包括:

第一数据处理模块,用于获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;

第二数据处理模块,用于根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;

模型构建模块,用于利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;

体积确定模块,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积;

其中,每个所述目标点云数据包含各自在预先建立的多维空间坐标系中对应的点云位置信息;所述第二数据处理模块还用于从多个所述目标点云数据中提取多个边界点云数据,每个所述边界点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

所述第二数据处理模块包括:

第一处理单元,用于根据多个所述目标点云数据和多个所述边界点云数据,确定表面点云数据,每个所述表面点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

第二处理单元,用于对于每个所述表面点云数据,以所述目标对象的底部作为投影方向,对所述表面点云数据进行垂直投影,得到所述表面点云数据对应的底部点云数据,所述底部点云数据表征对应的所述表面点云数据投影到所述目标对象底面的点的点云数据,每个所述底部点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;

第三处理单元,用于对于每个所述边界点云数据,根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据;

第四处理单元,用于根据多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据,得到完整点云数据。

8.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于贪婪投影三角化的体积确定方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于贪婪投影三角化的体积确定方法。

说明书 :

基于贪婪投影三角化的体积确定方法、系统、设备及介质

技术领域

[0001] 本发明涉及体积计算技术领域,具体涉及一种基于贪婪投影三角化的体积确定方法、系统、设备及介质。

背景技术

[0002] 近年来,随着新能源汽车的兴起,人们越来越关注其中电池的重要组成部分——锂元素。锂元素主要生产于盐湖,但除了锂元素,人类已经从盐湖中大量开采盐,以及钾、镁、硼、溴等工业原料。盐作为一个国家的重要资源,不仅是人们日常生活的必需品,同时也是工业上的重要原材料,因此,合理规划并利用盐湖产盐区中的盐也就显得十分必要。
[0003] 合理规划并利用产盐区中的盐的前提是获取其中盐堆的体积,将盐堆作为需要进行体积计算的目标对象,传统的获取盐堆体积的方法主要是通过人工对盐堆外形进行规整,然后拉尺测量盐堆的尺寸数据,最后根据测得的尺寸数据确定盐堆的体积。然而,在对盐堆进行规整过程中,往往会存在盐堆表面不水平等问题,在进行拉尺测量过程中,也容易存在测量误差,最终导致盐堆体积的计算精度不高。并且,一般情况下,产盐区中盐堆体积大、数量多,利用传统方法获取盐堆的体积不仅耗费人力,而且也难以快速、精确地测量出盐堆的体积,导致不能很好地满足工业需求。
[0004] 因此,目前亟需一种确定目标对象体积的效率及准确率高的方法,使之能够快速、精确地计算出目标对象的体积。

发明内容

[0005] 本发明所要解决的技术问题为:现有方法确定目标对象体积的人力成本高,效率及准确率低。为解决该技术问题,本发明提供了一种基于贪婪投影三角化的体积确定方法、系统、设备及介质。
[0006] 本发明解决上述技术问题的技术方案如下:
[0007] 一种基于贪婪投影三角化的体积确定方法,包括:
[0008] 步骤S1,获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;
[0009] 步骤S2,根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;
[0010] 步骤S3,利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;
[0011] 步骤S4,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积。
[0012] 本发明的有益效果是:通过对原始点云数据进行预处理,可降低点云密度,缩短后续曲面重建时间,提高目标对象体积的计算效率;通过对目标点云数据进行点云补全,可消除激光雷达只能采集目标对象表面点云的缺陷,从而得到完整点云数据,便于后续构建针对于目标对象的目标曲面模型;通过对完整点云数据使用贪婪投影三角化的曲面重建方法,可生成更精确的曲面模型,保证了目标对象体积计算的准确率;基于目标曲面模型中包含的目标点,利用几何体计算公式即可确定目标对象的体积,计算速度快,且计算精度高。
[0013] 在上述技术方案的基础上,本发明还可以做如下改进。
[0014] 进一步,所述步骤S1中,对每个所述原始点云数据进行预处理,得到多个目标点云数据,包括:
[0015] 对于每个所述原始点云数据,通过VoxelGrid滤波器对所述原始点云数据进行下采样处理,得到所述原始点云数据对应的目标点云数据。
[0016] 采用上述进一步方案的有益效果是:通过利用VoxelGrid滤波器对原始点云数据进行下采样处理,既能筛除不属于目标对象的点云噪声,又能降低点云密度、缩短后续曲面重建时间,提高了目标对象体积的计算效率。
[0017] 进一步,每个所述目标点云数据包含各自在预先建立的多维空间坐标系中对应的点云位置信息;
[0018] 所述步骤S2包括:
[0019] 从多个所述目标点云数据中提取多个边界点云数据,每个所述边界点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0020] 根据多个所述目标点云数据和多个所述边界点云数据,确定表面点云数据,每个所述表面点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0021] 对于每个所述表面点云数据,以所述目标对象的底部作为投影方向,对所述表面点云数据进行垂直投影,得到所述表面点云数据对应的底部点云数据,所述底部点云数据表征对应的所述表面点云数据投影到所述目标对象底面的点的点云数据,每个所述底部点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0022] 对于每个所述边界点云数据,根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据;
[0023] 根据多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据,得到完整点云数据;
[0024] 所述目标对象底面的各个点在所述多维空间坐标系中对应有第一点位置信息,所述第一点位置信息包括横坐标值、纵坐标值和高度值,每个所述边界点云数据各自对应的点云位置信息包括点云横坐标、点云纵坐标和点云竖坐标;
[0025] 所述根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据,包括:
[0026] 将所述边界点云数据对应的点云横坐标作为第一坐标值,将所述边界点云数据对应的点云纵坐标作为第二坐标值;
[0027] 获取所述目标对象底面中横坐标值等于所述第一坐标值、纵坐标值等于所述第二坐标值的点的高度值,将所述高度值作为目标高度值;
[0028] 根据所述边界点云数据对应的点云竖坐标、所述目标高度值和所述步长,确定所述边界点云数据对应的四周点云数据的个数;
[0029] 根据所述边界点云数据对应的点云位置信息、所述步长和所述个数,得到多个四周点云数据,每个所述四周点云数据包含各自在所述多维空间坐标系中对应的点云位置信息。
[0030] 采用上述进一步方案的有益效果是:通过对目标点云数据进行点云补全,可消除激光雷达只能采集目标对象表面点云的缺陷,从而得到完整点云数据,为后续构建针对于目标对象的目标曲面模型奠定了基础。
[0031] 进一步,所述步骤S3包括:
[0032] 对于所述完整点云数据中的每个所述点云数据,通过预设的最邻近参数计算所述点云数据对应的协方差矩阵,根据所述协方差矩阵,计算所述点云数据对应的法向量;
[0033] 对于所述完整点云数据中的每个所述点云数据,根据所述点云数据对应的所述协方差矩阵和所述法向量,确定所述点云数据对应的法向量的方向;
[0034] 利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。
[0035] 采用上述进一步方案的有益效果是:利用贪婪投影三角化算法对完整点云数据进行曲面重建,保证了构建出的目标曲面模型的完整性,且构建出的目标曲面模型精度高。
[0036] 进一步,所述利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型,包括:
[0037] 步骤A1,确定迭代次数 ;
[0038] 步骤A2,在超参数空间中随机选择参数集合,所述贪婪投影三角化算法使用所述参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到所述参数集合对应的初始曲面模型;
[0039] 步骤A3,重复 次所述步骤A2,得到 个初始曲面模型;
[0040] 步骤A4,对于每个所述参数集合,确定所述参数集合对应的所述初始曲面模型与预先构建好的标准曲面模型的相似度;
[0041] 步骤A5,根据所述相似度,确定目标参数集合;
[0042] 步骤A6,所述贪婪投影三角化算法使用所述目标参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。
[0043] 采用上述进一步方案的有益效果是:通过利用随机搜索算法进行超参数调优,能更详细地搜索曲面重建过程中的参数,便于得到更好的曲面模型。
[0044] 进一步,每个所述目标点包含各自在预先建立的多维空间坐标系中对应的点云位置信息,每个所述目标点各自对应的点云位置信息包括目标点横坐标、目标点纵坐标和目标点竖坐标;
[0045] 所述步骤S4包括:
[0046] 根据多个所述目标点,构建多个目标面,每个所述目标面由多个所述目标点的连线组成;
[0047] 对于每个所述目标面,确定组成所述目标面的每个所述目标点各自对应的点云位置信息;
[0048] 对于每个所述目标面,以所述目标对象的底部作为投影方向,对所述目标面进行垂直投影,得到所述目标面对应的多个底面点,所述底面点表征对应的所述目标点投影到所述目标对象底面的点,每个所述底面点包含各自在所述多维空间坐标系中对应的第二点位置信息,所述第二点位置信息包括横坐标值、纵坐标值和高度值;
[0049] 对于每个目标面,根据组成所述目标面的多个所述目标点和所述目标面对应的多个所述底面点,构建几何体,根据所述目标点对应的点云位置信息和所述底面点对应的第二点位置信息,计算所述几何体的体积,根据所述几何体的体积确定所述目标面对应的体积;
[0050] 将多个所述目标面对应的体积相加,得到所述目标对象的体积。
[0051] 采用上述进一步方案的有益效果是:通过根据目标点构建目标面,对目标面进行垂直投影,再基于投影结果计算目标面的体积,从而确定目标对象的体积,计算速度快且计算精度高,避免了因目标对象表面不水平而导致计算精度低的问题。
[0052] 为解决上述技术问题,本发明还提供了一种基于贪婪投影三角化的体积确定系统,包括:
[0053] 第一数据处理模块,用于获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;
[0054] 第二数据处理模块,用于根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;
[0055] 模型构建模块,用于利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;
[0056] 体积确定模块,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积。
[0057] 为解决上述技术问题,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述的基于贪婪投影三角化的体积确定方法。
[0058] 为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的基于贪婪投影三角化的体积确定方法。

附图说明

[0059] 图1为本发明中基于贪婪投影三角化的体积确定方法的流程示意图;
[0060] 图2为本发明实施例中不规则几何体的示意图;
[0061] 图3为本发明中基于贪婪投影三角化的体积确定系统的结构示意图;
[0062] 图4为本发明中电子设备的结构示意图。

具体实施方式

[0063] 以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。为了便于对本申请方案的理解,对本申请中涉及的名词和原理进行解释,在本发明中,目标对象可以是盐堆,也可以是矿石、物料等可获取其点云数据、且自身的底面具有一定面积的实体,实体由多个面闭合包裹形成,每个面由多个点组成。组成所述目标对象的各个点在多维空间坐标系中对应有位置信息,所述完整点云数据包含的每个点云数据在多维空间坐标系中对应有位置信息(包括点云横坐标、点云纵坐标和点云竖坐标),所述目标对象的底面表征所述完整点云数据中,最小的点云竖坐标对应的所述点云数据在所述目标对象上所在的面,所述目标对象的底面即为所述目标对象的底部。
[0064] 实施例一
[0065] 为解决现有技术中存在的技术问题,本实施例提供了一种基于贪婪投影三角化的体积确定方法,如图1所示,包括:
[0066] 步骤S1,获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;
[0067] 步骤S2,根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;
[0068] 步骤S3,利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;
[0069] 步骤S4,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积。
[0070] 本实施例中,以盐堆作为目标对象,通过激光雷达在盐堆上方采集多个原始点云数据,每个所述原始点云数据包含X、Y、Z三个维度的位置信息;在通过激光雷达获取原始点云数据后,人工限定点云区域,将不属于点云区域的原始点云数据(即不属于盐堆部分的原始点云数据)删除,得到最终用于进行预处理的原始点云数据。
[0071] 其中,所述步骤S1中,对每个所述原始点云数据进行预处理,得到多个目标点云数据,包括:
[0072] 对于每个所述原始点云数据,通过VoxelGrid滤波器对所述原始点云数据进行下采样处理,得到所述原始点云数据对应的目标点云数据。本实施例中,所述VoxelGrid滤波器进行下采样处理的体素大小为1cm×1cm×1cm的立方体。
[0073] 其中,每个所述目标点云数据包含各自在预先建立的多维空间坐标系中对应的点云位置信息;本实施例中,所述多维空间坐标系为三维坐标系;
[0074] 所述步骤S2包括:
[0075] 从多个所述目标点云数据中提取多个边界点云数据,每个所述边界点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0076] 根据多个所述目标点云数据和多个所述边界点云数据,确定表面点云数据,每个所述表面点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0077] 对于每个所述表面点云数据,以盐堆的底部作为投影方向,对所述表面点云数据进行垂直投影,得到所述表面点云数据对应的底部点云数据,所述底部点云数据表征对应的所述表面点云数据投影到盐堆底面的点的点云数据,每个所述底部点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0078] 对于每个所述边界点云数据,根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据;
[0079] 根据多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据,得到完整点云数据。
[0080] 其中,对于所述边界点云数据的提取,本实施例采用边界提取算法BoundaryEstimation提取点云边界,得到多个边界点云数据,以补全盐堆不能被激光雷达获取到的部分点云。其中,BoundaryEstimation中表示某个点的最近邻点的数量的参数的值,可以为20;
[0081] 对于所述表面点云数据的确定,本实施例通过遍历所述目标点云数据,将不属于所述边界点云数据的目标点云数据确定为表面点云数据;
[0082] 盐堆底面的各个点在所述多维空间坐标系中对应有第一点位置信息,所述第一点位置信息包括横坐标值、纵坐标值和高度值,每个所述边界点云数据各自对应的点云位置信息包括点云横坐标、点云纵坐标和点云竖坐标;
[0083] 对于所述完整点云数据的确定,本实施例通过将多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据合并的方式,确定完整点云数据,目的是得到一个盐堆的三维模型,而不是只有盐堆表面的曲面模型;
[0084] 所述根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据,包括:
[0085] 将所述边界点云数据对应的点云横坐标作为第一坐标值,将所述边界点云数据对应的点云纵坐标作为第二坐标值;
[0086] 获取盐堆底面中横坐标值等于所述第一坐标值、纵坐标值等于所述第二坐标值的点的高度值,将所述高度值作为目标高度值;
[0087] 根据所述边界点云数据对应的点云竖坐标、所述目标高度值和所述步长,确定所述边界点云数据对应的四周点云数据的个数;
[0088] 根据所述边界点云数据对应的点云位置信息、所述步长和所述个数,得到多个四周点云数据,每个所述四周点云数据包含各自在所述多维空间坐标系中对应的点云位置信息,每个所述四周点云数据各自对应的点云位置信息包括点云横坐标、点云纵坐标和点云竖坐标。
[0089] 例如,将所述步长设置为1mm,表示沿盐堆底面的方向,高度每间隔1mm,便生成1个边界点云数据对应的四周点云数据,直至生成的四周点云数据对应的点云竖坐标小于或等于基于该边界点云数据对应的点云位置信息所确定的盐堆底面的点的高度值。
[0090] 其中,所述步骤S3包括:
[0091] 对于所述完整点云数据中的每个所述点云数据,通过预设的最邻近参数计算所述点云数据对应的协方差矩阵,根据所述协方差矩阵,计算所述点云数据对应的法向量;
[0092] 对于所述完整点云数据中的每个所述点云数据,根据所述点云数据对应的所述协方差矩阵和所述法向量,确定所述点云数据对应的法向量的方向;
[0093] 利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于盐堆的目标曲面模型。
[0094] 其中,所述利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于盐堆的目标曲面模型,包括:
[0095] 步骤A1,确定迭代次数 ;
[0096] 步骤A2,在超参数空间中随机选择参数集合,所述贪婪投影三角化算法使用所述参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到所述参数集合对应的初始曲面模型;
[0097] 步骤A3,重复 次所述步骤A2,得到 个初始曲面模型;
[0098] 步骤A4,对于每个所述参数集合,确定所述参数集合对应的所述初始曲面模型与预先构建好的标准曲面模型的相似度;
[0099] 步骤A5,根据所述相似度,确定目标参数集合;
[0100] 步骤A6,所述贪婪投影三角化算法使用所述目标参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于盐堆的目标曲面模型。
[0101] 本实施例中,利用随机搜索算法RandomizedSearch在超参数空间中随机选择参数集合。具体地,RandomizedSearch通过在超参数空间中搜索几十至几百个点,通过比对曲面重建后的初始曲面模型和标准曲面模型,将相似度最高的参数集合作为最优的参数集合(即目标参数集合),根据最优的参数集合,从而确定目标曲面模型。
[0102] 其中,每个所述目标点包含各自在所述多维空间坐标系中对应的点云位置信息,每个所述目标点各自对应的点云位置信息包括目标点横坐标、目标点纵坐标和目标点竖坐标;所述目标面可以为三角面;
[0103] 以三角面为例,所述步骤S4包括:
[0104] 根据多个所述目标点,通过所述贪婪投影三角化算法构建多个三角面,每个所述三角面由3个所述目标点的连线组成;
[0105] 对于每个所述三角面,确定组成所述三角面的3个所述目标点各自对应的点云位置信息;
[0106] 对于每个所述三角面,以盐堆的底部作为投影方向,对所述三角面进行垂直投影,得到所述三角面对应的3个底面点,所述底面点表征对应的所述目标点投影到盐堆底面的点,每个所述底面点包含各自在所述多维空间坐标系中对应的第二点位置信息,所述第二点位置信息包括横坐标值、纵坐标值和高度值;
[0107] 对于每个三角面,通过将组成所述三角面的3个所述目标点连接成三角形、将所述三角面对应的3个所述底面点连接成三角形、将每个所述目标点与各自对应的所述底面点连接,构建出所述三角面对应的几何体,根据所述目标点对应的点云位置信息和所述底面点对应的第二点位置信息,计算所述几何体的体积,所述三角面对应的体积等于所述几何体的体积;
[0108] 将多个所述三角面对应的体积相加,得到盐堆的体积。
[0109] 其中,所述几何体可以是规则的三棱柱,也可能是不规则几何体。例如,组成某一三角面的3个目标点(每个目标点即对应完整点云数据中包含的一个经点云补全后的点云数据)分别为H、G、F,将目标点H、G、F分别向盐堆底面垂直投影,得到3个底面点,分别为A、B、C,如图2所示。将目标点H、G、F连接成三角形,将底面点A、B、C连接成三角形,将目标点H与对应的底面点A连接、将目标点G与对应的底面点B连接、将目标点F与对应的底面点C连接,从而构建出该三角面对应的不规则几何体H‑G‑F‑C‑B‑A。在多维空间坐标系中,目标点H、G、F,以及底面点A、B、C各自对应有位置信息,根据各个目标点、各个底面点的坐标位置,通过添加辅助线的方式,新增两个辅助点,分别为D、E,不规则几何体H‑G‑F‑C‑B‑A即由三棱锥H‑DFG、三棱锥G‑DEF和三棱柱ABC‑DEF组成。对于三棱锥H‑DFG,通过第一公式计算三棱锥H‑DFG的体积 ,第一公式为:
[0110]
[0111] 上式中, 表示由三棱锥H‑DFG的四个顶点坐标,通过行列式计算三棱锥H‑DFG的体积; 表示三棱锥H‑DFG各顶点在所述多维空间坐标系中对应的位置信息;
[0112] 三棱锥G‑DEF体积 的计算方法与三棱锥H‑DFG体积 的计算方法相同,相同之处不再赘述;
[0113] 通过第二公式计算三棱柱ABC‑DEF的体积 ,第二公式为:
[0114]
[0115] 上式中,表示三棱柱ABC‑DEF的底面积, 表示三棱柱ABC‑DEF的高;
[0116] 通过第三公式计算不规则几何体H‑G‑F‑C‑B‑A的体积 ,第三公式为:
[0117]
[0118] 不规则几何体H‑G‑F‑C‑B‑A的体积 即为该三角面对应的体积。
[0119] 实施例二
[0120] 基于与实施例一中基于贪婪投影三角化的体积确定方法相同的原理,本实施例提供了一种基于贪婪投影三角化的体积确定系统,如图3所示,包括:
[0121] 第一数据处理模块,用于获取多个针对于目标对象的原始点云数据,对每个所述原始点云数据进行预处理,得到多个目标点云数据;
[0122] 第二数据处理模块,用于根据多个所述目标点云数据进行点云补全,得到完整点云数据,所述完整点云数据包括多个点云补全后的点云数据;
[0123] 模型构建模块,用于利用贪婪投影三角化算法,对所述完整点云数据进行曲面重建,得到针对于所述目标对象的目标曲面模型,所述目标曲面模型包含多个目标面,每个所述目标面包括多个目标点,每个所述目标点表征一个点云数据;
[0124] 体积确定模块,根据所述目标曲面模型包含的多个所述目标面,确定所述目标对象的体积。
[0125] 其中,所述第一数据处理模块包括数据预处理单元,所述数据预处理单元用于通过VoxelGrid滤波器对每个所述原始点云数据进行下采样处理,得到每个所述原始点云数据各自对应的目标点云数据。
[0126] 其中,所述第二数据处理模块包括:
[0127] 第一处理单元,用于根据多个所述目标点云数据和多个所述边界点云数据,确定表面点云数据,每个所述表面点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0128] 第二处理单元,用于确定每个所述表面点云数据各自对应的底部点云数据,即:
[0129] 对于每个所述表面点云数据,以所述目标对象的底部作为投影方向,对所述表面点云数据进行垂直投影,得到所述表面点云数据对应的底部点云数据,所述底部点云数据表征对应的所述表面点云数据投影到所述目标对象底面的点的点云数据,每个所述底部点云数据包含各自在所述多维空间坐标系中对应的点云位置信息;
[0130] 第三处理单元,用于确定每个所述边界点云数据各自对应的四周点云数据,即:
[0131] 对于每个所述边界点云数据,根据所述边界点云数据对应的点云位置信息和预设的步长,得到所述边界点云数据对应的多个四周点云数据;
[0132] 第四处理单元,用于根据多个所述目标点云数据、多个所述底部点云数据和多个所述四周点云数据,得到完整点云数据;
[0133] 对于每个所述边界点云数据,所述第三处理单元具体用于:
[0134] 将所述边界点云数据对应的点云横坐标作为第一坐标值,将所述边界点云数据对应的点云纵坐标作为第二坐标值;
[0135] 获取所述目标对象底面中横坐标值等于所述第一坐标值、纵坐标值等于所述第二坐标值的点的高度值,将所述高度值作为目标高度值;
[0136] 根据所述边界点云数据对应的点云竖坐标、所述目标高度值和所述步长,确定所述边界点云数据对应的四周点云数据的个数;
[0137] 根据所述边界点云数据对应的点云位置信息、所述步长和所述个数,得到多个四周点云数据,每个所述四周点云数据包含各自在所述多维空间坐标系中对应的点云位置信息。
[0138] 其中,所述模型构建模块具体用于:
[0139] 对于所述完整点云数据中的每个所述点云数据,通过预设的最邻近参数计算所述点云数据对应的协方差矩阵,根据所述协方差矩阵,计算所述点云数据对应的法向量;
[0140] 对于所述完整点云数据中的每个所述点云数据,根据所述点云数据对应的所述协方差矩阵和所述法向量,确定所述点云数据对应的法向量的方向;
[0141] 利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。
[0142] 其中,所述目标模型构建模块在利用贪婪投影三角化算法,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型时,包括:
[0143] 第五处理单元,用于确定迭代次数 ;
[0144] 第六处理单元,用于在超参数空间中随机选择参数集合,所述贪婪投影三角化算法使用所述参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到所述参数集合对应的初始曲面模型;
[0145] 第七处理单元,用于重复执行 次所述第六处理单元的处理过程,得到 个初始曲面模型;
[0146] 第八处理单元,用于确定每个所述参数集合对应的相似度;具体地,对于每个所述参数集合,确定所述参数集合对应的所述初始曲面模型与预先构建好的标准曲面模型的相似度;
[0147] 第九处理单元,用于根据所述相似度,确定目标参数集合;
[0148] 第十处理单元,用于所述贪婪投影三角化算法使用所述目标参数集合,根据所述完整点云数据中每个所述点云数据对应的法向量和所述法向量的方向进行曲面重建,得到针对于所述目标对象的目标曲面模型。
[0149] 其中,所述体积确定模块具体用于:
[0150] 根据多个所述目标点,构建多个目标面,每个所述目标面由多个所述目标点的连线组成;
[0151] 对于每个所述目标面,确定组成所述目标面的每个所述目标点各自对应的点云位置信息;
[0152] 对于每个所述目标面,以所述目标对象的底部作为投影方向,对所述目标面进行垂直投影,得到所述目标面对应的多个底面点,所述底面点表征对应的所述目标点投影到所述目标对象底面的点,每个所述底面点包含各自在所述多维空间坐标系中对应的第二点位置信息,所述第二点位置信息包括横坐标值、纵坐标值和高度值;
[0153] 对于每个目标面,根据组成所述目标面的多个所述目标点和所述目标面对应的多个所述底面点,构建几何体,根据所述目标点对应的点云位置信息和所述底面点对应的第二点位置信息,计算所述几何体的体积,根据所述几何体的体积确定所述目标面对应的体积;
[0154] 将多个所述目标面对应的体积相加,得到所述目标对象的体积。
[0155] 实施例三
[0156] 基于与实施例一中基于贪婪投影三角化的体积确定方法相同的原理,本实施例提供了一种电子设备,如图4所示,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如实施例一所述的基于贪婪投影三角化的体积确定方法。
[0157] 实施例四
[0158] 基于与实施例一中基于贪婪投影三角化的体积确定方法相同的原理,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一所述的基于贪婪投影三角化的体积确定方法。
[0159] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。