掌桥专利:专业的专利平台
掌桥专利
首页

大规模点云数据处理方法、系统、电子设备及存储介质

文献发布时间:2024-04-18 19:52:40


大规模点云数据处理方法、系统、电子设备及存储介质

技术领域

本发明涉及点云数据加载领域,更具体地,涉及一种大规模点云数据处理方法、系统、电子设备及存储介质。

背景技术

随着自动驾驶日新月异的高速发展,对点云的精度要求越来越高,以致点云场景文件的体积越来越大,加载速度越来越慢,计算资源消耗越来越大。

发明内容

本发明针对现有技术中存在的技术问题,提供一种大规模点云数据处理方法、系统、电子设备及存储介质。

根据本发明的第一方面,提供了一种大规模点云数据处理方法,包括:

加载点云文件中所有的点云数据;

根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据;

对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理;

对稀释处理后的点云数据进行绘制渲染。

在上述技术方案的基础上,本发明还可以作出如下改进。

可选的,所述加载点云文件中所有的点云数据,之后包括:

初始化相机,设置相机参数、垂直长度、纵横比、近平面和远平面,所述相机参数包括摄像机在竖直方向上的张角fov、屏幕的宽高比asp、近裁切面距离near、远裁切面距离far和摄像机世界坐标矩阵matCamera。

可选的,所述根据相机参数,计算视椎体,包括:

基于摄像机在竖直方向上的张角fov和屏幕的宽高比asp,分别计算所述视椎体的上下侧面与xz平面和yz平面的偏移量;

基于所述摄像机世界坐标矩阵matCamera以及所述所述视椎体的上下侧面与xz平面和yz平面的偏移量,计算所述视椎体四个侧边的方向向量;

根据所述近裁切面距离near、远裁切面距离far、摄像机世界坐标矩阵matCamera以及所述视椎体四个侧边的方向向量,计算所述视椎体的8个顶点。

可选的,所述基于摄像机在竖直方向上的张角fov和屏幕的宽高比asp,分别计算所述视椎体的上下侧面与xz平面和yz平面的偏移量,包括:

视锥体的上下侧面与xz平面的偏移量y=tan(fov/2);

视锥体的左右侧面与yz平面的偏移量x=y*asp。

可选的,所述基于所述摄像机世界坐标矩阵matCamera以及所述所述视椎体的上下侧面与xz平面和yz平面的偏移量,计算所述视椎体四个侧边的方向向量,包括:

side0=matCamera·(-x,-y,1);

side1=matCamera·(-x,y,1);

side2=matCamera·(x,-y,1);

side3=matCamera·(x,y,1)。

可选的,所述根据所述近裁切面距离near、远裁切面距离far、摄像机世界坐标矩阵matCamera以及所述视椎体四个侧边的方向向量,计算所述视椎体的8个顶点,包括:

远端左下角matCamera+far·side0;

远端左上角matCamera+far·side1;

远端右下角matCamera+far·side2;

远端右上角matCamera+far·side3;

近端左下角matCamera+near·side0;

近端左上角matCamera+near·side1;

近端右下角matCamera+near·side2;

近端右上角matCamera+near·side3。

可选的,所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理,包括:

根据所述摄像机世界坐标矩阵matCamera的朝向,将从相机出发,朝向方向的射线对所述视椎体组成的包围盒进行等比例分段,每段使用射线的垂平面分层,垂平面与射线的交点为p;

为每一层编号,从相机开始,编号依次为0,1,2,...,n,每层均切割为大小相同的立方体,设定系数coefficient,每一层的立方体内的保留的点云数据不超过coefficient/n,n为每一层的编号。

根据本发明的第二方面,提供一种大规模点云数据处理系统,包括:

加载模块,用于加载点云文件中所有的点云数据;

过滤模块,用于根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据;

稀释处理模块,用于对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理;

绘制渲染模块,用于对稀释处理后的点云数据进行绘制渲染。

根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现大规模点云数据处理方法的步骤。

根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现大规模点云数据处理方法的步骤。

本发明提供的一种大规模点云数据处理方法、系统、电子设备及存储介质,对加载的点云数据根据相机的视锥体排除掉在视锥体组成的包围盒之外的点,并采用金字塔内存分层优化技术,稀释点云数据量,减少计算机实时运算数据量,提高渲染速度,而视觉效果几乎不受影响。

附图说明

图1为本发明提供的一种大规模点云数据处理方法流程图;

图2为绘制渲染后的效果图;

图3为本发明提供的一种大规模点云数据处理系统的结构示意图;

图4为本发明提供的一种可能的电子设备的硬件结构示意图;

图5为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

基于背景技术中的缺陷,本发明采用包围盒场景裁切,金字塔内存分层优化技术,稀释点云数据量,减少计算机实时运算数据量。

图1为本发明提供的一种大规模点云数据处理方法流程图,如图1所示,方法包括:

S1,加载点云文件中所有的点云数据。

S2,根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据。

可理解的是,对于获取的点云数据,由于规模比较庞大,后续加载、绘制渲染的效率低,因此需要对大规模的点云数据进行处理,来减少点云数据的处理量,同时使得最终绘制渲染后的效果几乎没有影响。因此,对原始点云数据进行过滤。

作为实施例,所述加载点云文件中所有的点云数据,之后包括:初始化相机,设置相机参数、垂直长度、纵横比、近平面和远平面,所述相机参数包括摄像机在竖直方向上的张角fov、屏幕的宽高比asp、近裁切面距离near、远裁切面距离far和摄像机世界坐标矩阵matCamera。

其中,所述根据相机参数,计算视椎体,包括:基于摄像机在竖直方向上的张角fov和屏幕的宽高比asp,分别计算所述视椎体的上下侧面与xz平面和yz平面的偏移量;基于所述摄像机世界坐标矩阵matCamera以及所述所述视椎体的上下侧面与xz平面和yz平面的偏移量,计算所述视椎体四个侧边的方向向量;根据所述近裁切面距离near、远裁切面距离far、摄像机世界坐标矩阵matCamera以及所述视椎体四个侧边的方向向量,计算所述视椎体的8个顶点。

可理解的是,本发明在过滤点云数据时,充分利用相机参数,采用包围盒场景裁切,包围盒外的点不在视野内,所以不参与绘制渲染。其中,根据相机参数可计算视椎体,然后根据视椎体确定包围盒。

其中,根据相机参数计算视椎体的8个顶点的方法为:

视锥体的上下侧面与xz平面的偏移量y=tan(fov/2),视锥体的左右侧面与yz平面的偏移量x=y*asp,其中,xyz平面为相机世界坐标。

视锥体四个侧边的方向向量为:side0=matCamera·(-x,-y,1),side1=matCamera·(-x,y,1),side2=matCamera·(x,-y,1),side3=matCamera·(x,y,1)。

那么视锥体的8个顶点分别为:远端左下角matCamera+far·side0,远端左上角matCamera+far·side1,远端右下角matCamera+far·side2,远端右上角matCamera+far·side3,近端左下角matCamera+near·side0,近端左上角matCamera+near·side1,近端右下角matCamera+near·side2,近端右上角matCamera+near·side3。

计算出相机的视椎体后,过滤掉在视椎体组成的包围盒之外的点云数据。

S3,对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理。

可理解的是,对于步骤S2中过滤后的点云数据,再进行稀释处理,本发明基于相机所在位置,将点云数据由近及远进行分层,将层切割成小矩形,距离近平面越远的层,小矩形内保留点的比例越小。

作为实施例,所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理,包括:根据所述摄像机世界坐标矩阵matCamera的朝向,将从相机所在位置出发,朝向方向的射线对所述视椎体组成的包围盒进行等比例分段,每段使用射线的垂平面分层,垂平面与射线的交点为p;为每一层编号,从相机所在位置开始,编号依次为0,1,2,...,n,每层均切割为大小相同的立方体,设定系数coefficient,每一层的立方体内的保留的点云数据不超过coefficient/n,n为每一层的编号。

其中,垂平面方程的求法:

matCamera.x(x+p.x)+matCamera.y(y+p.y)+matCamera.z(z+p.z)=0。

可理解的是,对于过滤后保留下来的点云数据,采用金字塔分层,将点云数据由近及远分为一层一层,将每一层由近及远进行编号,距离相机所在位置越远的层,保留的点云数据越少,进一步减少点云的计算量,相反,距离相机所在位置越近的层,保留的点云数据越多,近处的点数单位体积更多,远处的点数单位体积更少,但远处的点显示的面积小,所以看起来没有太大差别。对点云数据进行稀释处理,使点云数据的数量成量级减少,大幅度减少了计算量,提高渲染速度,而视觉效果几乎不受影响。

经过包围盒场景裁切,金字塔内存分层优化技术调整后得到新的点云点阵。

S4,对稀释处理后的点云数据进行绘制渲染。

可理解的是,对过滤和稀释处理后的点云数据进行绘制渲染,绘制渲染后的效果图可参见图2,可以看出,其视觉效果几乎不受影响。

图3为本发明实施例提供的一种大规模点云数据处理系统结构图,如图3所示,一种大规模点云数据处理系统,包括加载模块301、过滤模块302、稀释处理模块303和绘制渲染模块304,其中:

加载模块301,用于加载点云文件中所有的点云数据;

过滤模块302,用于根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据;

稀释处理模块303,用于对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理;

绘制渲染模块304,用于对稀释处理后的点云数据进行绘制渲染。

可以理解的是,本发明提供的一种大规模点云数据处理系统与前述各实施例提供的大规模点云数据处理方法相对应,大规模点云数据处理系统的相关技术特征可参考大规模点云数据处理方法的相关技术特征,在此不再赘述。

请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。如图4所示,本发明实施例提了一种电子设备400,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:加载点云文件中所有的点云数据;根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据;对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理;对稀释处理后的点云数据进行绘制渲染。

请参阅图5,图5为本发明提供的一种计算机可读存储介质的实施例示意图。如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:加载点云文件中所有的点云数据;根据相机参数,计算视椎体,过滤掉在所述视椎体组成的包围盒之外的点云数据;对所述视椎体组成的包围盒之内的点云数据进行金字塔分层,对每一层内的点云数据进行稀释处理;对稀释处理后的点云数据进行绘制渲染。

本发明实施例提供的一种大规模点云数据处理方法、系统、电子设备及存储介质,对加载的点云数据根据相机的视锥体排除掉在视锥体组成的包围盒之外的点,并采用金字塔内存分层优化技术,稀释点云数据量,减少计算机实时运算数据量,提高渲染速度,而视觉效果几乎不受影响。

需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

相关技术
  • 区块链数据共识处理方法、系统、存储介质和电子设备
  • 流数据处理方法、系统、电子设备及可读存储介质
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 路由数据处理方法、装置、电子设备及存储介质
  • 数据处理方法及装置、电子设备、存储介质
  • 一种点云数据的处理方法、系统、存储介质和电子设备
  • 一种点云数据的处理方法、系统、存储介质和电子设备
技术分类

06120116333161