基于Web端的点云渲染方法、系统及存储介质转让专利

申请号 : CN202210662556.1

文献号 : CN114756798B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周勋

申请人 : 中汽创智科技有限公司

摘要 :

本申请公开一种基于Web端的点云渲染方法、系统及存储介质,涉及图像数据处理技术领域,解决了点云渲染效率较低的问题。具体方案包括:获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围;根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求;向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据;接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据进行渲染操作,生成目标场景。

权利要求 :

1.一种基于Web端的点云渲染方法,其特征在于,应用于终端设备,所述方法包括:获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取所述目标场景的上一渲染场景的参考坐标范围;

根据所述目标坐标范围和所述参考坐标范围,确定新增坐标范围和重复坐标范围,并根据所述新增坐标范围和所述目标视角高度生成数据调用请求;

向服务器发送所述数据调用请求,所述数据调用请求用于请求所述新增坐标范围和所述目标视角高度对应的新增点云数据;所述新增点云数据为查找目标数据库中存储的点云数据获得,所述点云数据为包括不同的文件格式的多个初始点云文件解析后得到的各所述初始点云文件中的点云数据;

接收所述服务器发送的所述新增点云数据,并基于所述新增点云数据和预设的所述重复坐标范围对应的重复点云数据进行渲染操作,生成所述目标场景。

2.根据权利要求1所述的方法,其特征在于,所述上一渲染场景的参考点云数据包括对应的多个级别的数据标识,每个所述数据标识用于标识对应的坐标范围;

所述获取当前待渲染的目标场景的目标坐标范围和目标视角高度之前,所述方法还包括:获取所述参考点云数据的数据标识;

根据所述目标坐标范围和所述参考坐标范围,确定新增坐标范围和重复坐标范围,包括:根据所述目标坐标范围和所述参考点云数据的数据标识,确定所述新增坐标范围和所述重复坐标范围。

3.根据权利要求1所述的方法,其特征在于,所述接收所述服务器发送的所述新增点云数据之后,所述方法还包括:对所述新增点云数据进行解压处理,并对解压后的新增点云数据进行反序列化处理,得到中间点云数据;

将所述中间点云数据以二进制的格式进行存储,得到目标新增点云数据;

基于所述新增点云数据和预设的所述重复坐标范围对应的重复点云数据进行渲染操作,生成所述目标场景,包括:基于所述目标新增点云数据和所述重复点云数据进行渲染操作,生成所述目标场景。

4.根据权利要求3所述的方法,其特征在于,所述基于所述目标新增点云数据和所述重复点云数据,生成所述目标场景,包括:根据所述目标新增点云数据和所述重复点云数据得到目标点云数据;

获取所述目标点云数据的强度信息,根据所述目标点云数据的强度信息得到所述目标点云数据的对应的像素值;

根据所述目标点云数据的坐标数据和像素值,生成所述目标场景。

5.一种基于Web端的点云渲染方法,其特征在于,应用于服务器,所述方法包括:接收终端设备发送的数据调用请求,所述数据调用请求中包括新增坐标范围和目标视角高度;

根据所述新增坐标范围和所述目标视角高度中调用目标数据库中存储的点云数据对应的新增点云数据,所述点云数据为包括不同的文件格式的多个初始点云文件解析后得到的各所述初始点云文件中的点云数据;

向所述终端设备发送所述新增点云数据,以使所述终端设备基于所述新增点云数据和重复坐标范围对应的重复点云数据进行渲染操作,生成目标场景;

所述新增坐标范围和所述重复坐标范围是根据当前待渲染场景的目标场景的目标坐标范围和所述目标场景的上一渲染场景的参考坐标范围确定的。

6.根据权利要求5所述的方法,其特征在于,所述接收终端设备发送的数据调用请求之前,所述方法还包括:获取多个初始点云文件,所述初始点云文件包括不同的文件格式;

对所述初始点云文件进行解析,得到各所述初始点云文件中的点云数据,并将各所述点云数据存储至目标数据库中。

7.根据权利要求6所述的方法,其特征在于,所述目标数据库中包括多个级别的数据标识,每个第i级数据标识指示的坐标范围由多个第(i+1)级坐标标识指示的坐标范围组成,i为正整数;

所述将各所述点云数据存储至目标数据库中,包括:根据各所述数据标识对应的坐标范围,将获取到的点云数据存储至所述目标数据库中。

8.根据权利要求7所述的方法,其特征在于,所述服务器中还存储有每个视角高度对应的最后一级数据标识的数量;

根据所述新增坐标范围和所述目标视角高度中调用对应的新增点云数据,包括:根据所述目标坐标范围确定对应的目标数据标识,根据所述目标视角高度确定最后一级数据标识的目标数量;

调用所述目标数据标识的最后一级数据标识中目标数量的点云数据。

9.根据权利要求6所述的方法,其特征在于,所述方法还包括:对所述目标数据库中包括的点云数据压缩后存储至缓存空间中;

向所述终端设备发送所述新增点云数据,包括:从所述缓存空间中,通过多线程向所述终端设备发送所述新增点云数据。

10.一种基于Web端的点云渲染系统,其特征在于,所述系统包括:终端设备和服务器;

所述终端设备用于执行权利要求1‑4任一项所述的基于Web端的点云渲染方法,所述服务器用于执行权利要求5‑9任一项所述的基于Web端的点云渲染方法。

11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑4任一项所述的基于Web端的点云渲染方法,或者,所述计算机程序被处理器执行时实现权利要求5‑9任一所述的基于Web端的点云渲染方法。

说明书 :

基于Web端的点云渲染方法、系统及存储介质

技术领域

[0001] 本申请涉及图像数据处理技术领域,尤其涉及一种基于Web端的点云渲染方法、系统及存储介质。

背景技术

[0002] 点云是一种常见的空间几何结构表达方式,通过激光雷达在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,即为“点云”。包括三维坐标、激光反射强度和颜色信息。点云在计算机视觉、自动驾驶领域等都有着广泛的应用。近年来,随着3D传感器的不断出现和发展,降低了点云数据的获取成本,获取数据也变得越来越便利。目前,自动驾驶等领域产生了对点云的数据高效存储和渲染的需求。高精地图的制作主要是依赖激光点云,通常都是海量的数据,例如,高精地图中一个路口的点云数据量就可能上亿。这就对点云数据的渲染处理提出了更高的要求。
[0003] 目前,基于web端的点云渲染方法相较于基于桌面端点云渲染方法的具有兼容性好,便携性好,数据管理方便等优势。但目前基于web端的点云渲染方法只能读取预定义的数据格式的点云数据,对于其他格式的点云数据转换为预定义的数据格式,这样严重影响了点云数据的处理效率,且无法快捷实时的对点云数据进行编辑。

发明内容

[0004] 本申请提供一种基于Web端的点云渲染方法、系统及存储介质,能够提高点云渲染效率。
[0005] 为达到上述目的,本申请采用如下技术方案:
[0006] 本申请实施例第一方面,提供一种基于Web端的点云渲染方法,该方法包括:
[0007] 获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围;
[0008] 根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求;
[0009] 向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据;
[0010] 接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据进行渲染操作,生成目标场景。
[0011] 在一个实施例中,上一渲染场景的参考点云数据包括对应的多个级别的数据标识,每个数据标识用于标识对应的坐标范围;
[0012] 获取当前待渲染的目标场景的目标坐标范围和目标视角高度之前,方法还包括:获取参考点云数据的数据标识;
[0013] 根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,包括:根据目标坐标范围和参考点云数据的数据标识,确定新增坐标范围和重复坐标范围。
[0014] 在一个实施例中,接收服务器发送的新增点云数据之后,方法还包括:
[0015] 对新增点云数据进行解压处理,并对解压后的新增点云数据进行反序列化处理,得到中间点云数据;
[0016] 将中间点云数据以二进制的格式进行存储,得到目标新增点云数据;
[0017] 基于新增点云数据和预设的重复坐标范围对应的重复点云数据,生成目标场景,包括:基于目标新增点云数据和重复点云数据,生成目标场景。
[0018] 在一个实施例中,基于目标新增点云数据和重复点云数据,生成目标场景,包括:
[0019] 根据目标新增点云数据和重复点云数据得到目标点云数据;
[0020] 获取目标点云数据的强度信息,根据目标点云数据的强度信息得到目标点云数据的对应的像素值;
[0021] 根据目标点云数据的坐标数据和像素值,生成目标场景。
[0022] 本申请实施例还提供了一种基于Web端的点云渲染方法,该方法包括:
[0023] 接收终端设备发送的数据调用请求,数据调用请求中包括新增坐标范围和目标视角高度;
[0024] 根据新增坐标范围和目标视角高度中调用对应的新增点云数据;
[0025] 向终端设备发送新增点云数据。
[0026] 在一个实施例中,接收终端设备发送的数据调用请求之前,方法还包括:
[0027] 获取多个初始点云文件,初始点云文件包括不同的文件格式;
[0028] 对初始点云文件进行解析,得到各初始点云文件中的点云数据,并将各点云数据存储至目标数据库中。
[0029] 在一个实施例中,目标数据库中包括多个级别的数据标识,每个第i级数据标识指示的坐标范围由多个第(i+1)级坐标标识指示的坐标范围组成,i为正整数;
[0030] 将各点云数据存储至目标数据库中,包括:根据各数据标识对应的坐标范围,将获取到的点云数据存储至目标数据库中。
[0031] 在一个实施例中,服务器中还存储有每个视角高度对应的最后一级数据标识的数量;
[0032] 根据新增坐标范围和目标视角高度从目标数据库中调用对应的新增点云数据,包括:
[0033] 根据目标坐标范围确定对应的目标数据标识,根据目标视角高度确定最后一级数据标识的目标数量;
[0034] 调用目标数据标识的最后一级数据标识中目标数量的点云数据。
[0035] 在一个实施例中,方法还包括:
[0036] 对目标数据库中包括的点云数据压缩后存储至缓存空间中;
[0037] 向终端设备发送新增点云数据,包括:从缓存空间中,通过多线程向终端设备发送新增点云数据。
[0038] 本申请实施例第三方面,提供了一种基于Web端的点云渲染系统,该系统包括:终端设备和服务器;
[0039] 终端设备用于执行本申请实施例第一方面中的基于Web端的点云渲染方法,服务器用于执行本申请实施例第二方面中的基于Web端的点云渲染方法。
[0040] 本申请实施例第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面中的基于Web端的点云渲染方法,或者,计算机程序被处理器执行时实现本申请实施例第二方面中的基于Web端的点云渲染方法。
[0041] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0042] 本申请实施例提供的基于Web端的点云渲染方法,通过获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围,根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求,向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据,接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据,生成目标场景。本申请实施例提供的基于Web端的点云渲染方法,通过根据新增坐标范围和目标视角高度从服务器中直接调用所需的点云数据,服务器中已经对点云数据进行预先解析和分类存储,这样可以提高点云数据的获取效率,进而可以提高点云的渲染效率。

附图说明

[0043] 图1为本申请实施例提供的一种Web端的点云渲染方法的流程图一;
[0044] 图2为本申请实施例提供的一种Web端的点云渲染方法的流程图二;
[0045] 图3为本申请实施例提供的一种场景渲染效果的示意图;
[0046] 图4为本申请实施例提供的一种Web端的点云渲染系统的结构图。

具体实施方式

[0047] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0049] 另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出的值。
[0050] 点云是一种常见的空间几何结构表达方式,通过激光雷达在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,即为“点云”。包括三维坐标、激光反射强度和颜色信息。点云在计算机视觉、自动驾驶领域等都有着广泛的应用。近年来,随着3D传感器的不断出现和发展,降低了点云数据的获取成本,获取数据也变得越来越便利。目前,自动驾驶等领域产生了对点云的数据高效存储和渲染的需求。高精地图的制作主要是依赖激光点云,通常都是海量的数据,例如,高精地图中一个路口的点云数据量就可能上亿。这就对点云数据的渲染处理提出了更高的要求。
[0051] 目前,基于web端的点云渲染方法相较于基于桌面端点云渲染方法的具有兼容性好,便携性好,数据管理方便等优势。但目前基于web端的点云渲染方法只能读取预定义的数据格式的点云数据,对于其他格式的点云数据转换为预定义的数据格式,这样严重影响了点云数据的处理效率,且无法快捷实时的对点云数据进行编辑。
[0052] 为了解决上述问题,本申请实施例提供的基于Web端的点云渲染方法,通过获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围,根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求,向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据,接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据,生成目标场景。本申请实施例提供的基于Web端的点云渲染方法,通过根据新增坐标范围和目标视角高度从服务器中直接调用所需的点云数据,服务器中已经对点云数据进行预先解析和分类存储,这样可以提高点云数据的获取效率,进而可以提高点云的渲染效率。
[0053] 如图1所示,本申请实施例提供了一种基于Web端的点云渲染方法,应用于终端设备,该方法包括以下步骤:
[0054] 步骤101、获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围。
[0055] 其中,目标视角高度是指在不同高度的视角下观测目标场景,目标视角高度的数值可以用来表示距离目标场景的距离大小,当目标视角高度的数值较大,也就是距离目标场景较远时,观测到的目标场景较小;当目标视角高度的数值较小,也就是距离目标场景较近时,观测到的目标场景较大。
[0056] 可以理解的是,在进行点云渲染时通常是一个连续渲染的过程,因此上一渲染场景可以理解为当前渲染操作的上一渲染操作所要渲染的场景。
[0057] 可选的,可以在Web页面中通过构建三维空间体系的视椎体和控制器来监听待渲染场景的坐标范围变化,并在监听到坐标范围变化时,获取当前待渲染的目标场景的目标坐标范围和目标视角高度。
[0058] 步骤102、根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求。
[0059] 需要说明的是,在进行连续渲染操作时,通常会有重复的渲染场景,这时也就包括了重复渲染的坐标范围,因此这时可以根据当前渲染场景的目标坐标范围和上一渲染场景的参考坐标范围来确定出新增坐标范围和重复坐标范围。然后只需要获取新增坐标范围对应的点云是数据即可,不需要再调动重复坐标范围对应的点云数据,这样可以提高点云数据的获取效率。
[0060] 同时,在根据当前渲染场景的目标坐标范围和上一渲染场景的参考坐标范围来确定出新增坐标范围和重复坐标范围的同时,还可能确定出了多余的坐标范围,针对多余的坐标范围可以删除该多余的坐标范围对应的点云数据。也就是说,当视锥体的视角范围再次变化时,比对下一次需要的数据和已加载数据的情况,不需要的数据进行清除,从而避免不必要的渲染开销,未加载的数据通过线程进行获取。
[0061] 步骤103、向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据。
[0062] 其中,点云数据存储在服务器的目标数据库中,目标数据库中包括多个级别的数据标识,每个第i级数据标识指示的坐标范围由多个第(i+1)级坐标标识指示的坐标范围组成,i为正整数。
[0063] 具体的,该目标数据库可以为对象‑关系型数据库(PostgreSQL)。
[0064] 也就是说,服务器的目标数据库包括多级索引标识,每一级索引标识用来指示对应的坐标范围。示例的,目标数据库中包括三级索引标识,其中,第一级别的索引标识,第一级别的索引标识下又包括多个第二级别的索引标识,第二级别的索引标识下又包括多个第三级别的索引标识,点云数据按照第三级别索引标识的范围,存储在对应的第三级别的索引标识下。
[0065] 同时,服务器中预设了视角高度与最后一级数据标识的数量之间的映射关系,根据映射关系可以从最后一级的点云数据中向终端设备推送对应层数的点云数据。这样根据新增坐标范围和目标视角高度调用对应的新增点云数据的过程可以为:根据目标坐标范围确定对应的目标数据标识,根据目标视角高度确定最后一级数据标识的目标数量,然后确定并向终端设备推送目标数据标识的最后一级数据标识中目标数量的点云数据,这样可以提高数据的查找效率。
[0066] 步骤104、接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据进行渲染操作,生成目标场景。
[0067] 终端设备在接收到服务器发送的新增点云数据后,利用新增点云数据以及终端设备中存储的重复点云数据进行渲染操作,从而得到目标场景。
[0068] 可选的,上一渲染场景的参考点云数据包括对应的多个级别的数据标识,每个数据标识用于标识对应的坐标范围;
[0069] 获取待渲染的目标场景的目标坐标范围和目标视角高度之前,方法还包括:获取参考点云数据的数据标识。因此,根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围的过程可以为:根据目标坐标范围和参考点云数据的数据标识,确定新增坐标范围和重复坐标范围。这样只需要将数据标识进行比对就可以确定出新增坐标范围和重复坐标范围,可以提高确定效率。
[0070] 在一个实施例中,终端设备在接收服务器发送的新增点云数据之后,还包括:对新增点云数据进行解压处理,并对解压后的新增点云数据进行反序列化处理,得到中间点云数据,然后将中间点云数据以二进制的格式进行存储,得到目标新增点云数据。对应的,基于新增点云数据和预设的重复坐标范围对应的重复点云数据,生成目标场景的过程就可以为:基于目标新增点云数据和重复点云数据,生成目标场景。这样可以满足渲染程序所需的数据格式要求,并基于该格式的点云数据可以直接进行渲染操作,从而生成目标场景。
[0071] 具体的,在渲染过程中,可以根据目标新增点云数据和重复点云数据得到目标点云数据,然后通过获取目标点云数据的强度信息,根据目标点云数据的强度信息得到目标点云数据的对应的像素值,最后根据目标点云数据的坐标数据和像素值,生成目标场景。这样根据点云数据的强度信息就可以生成对应的像素值,用于区别渲染得到的物体即可,不需要再获取实际物体的像素值,可以简化数据采集过程。
[0072] 如图2所示,本申请实施还提供了一种基于Web端的点云渲染方法,应用于服务器,该方法包括:
[0073] 步骤201、接收终端设备发送的数据调用请求。
[0074] 其中,数据调用请求中包括新增坐标范围和目标视角高度。
[0075] 步骤202、根据新增坐标范围和目标视角高度中调用对应的新增点云数据。
[0076] 步骤203、向终端设备发送新增点云数据。
[0077] 可选的,接收终端设备发送的数据调用请求之前还包括:获取多个初始点云文件,其中,初始点云文件包括不同的文件格式,对初始点云文件进行解析,得到各初始点云文件中的点云数据,并将各点云数据存储至目标数据库中。
[0078] 可以理解的是,通过采集装置采集得到点云数据文件可能为各种不同的文件格式,因此需要对采集到的初始点云文件进行解析,得到各初始点云文件中的点云数据,并将点云数据存储至目标数据库中,用于终端设备的调用渲染。
[0079] 具体的,目标数据库中包括多个级别的数据标识,每个第i级数据标识指示的坐标范围由多个第(i+1)级坐标标识指示的坐标范围组成,i为正整数;因此,将各点云数据存储至目标数据库中的过程可以为:根据各数据标识对应的坐标范围,将获取到的点云数据存储至目标数据库中。
[0080] 也就是说,服务器的目标数据库包括多级索引标识,每一级索引标识用来指示对应的坐标范围。示例的,目标数据库中包括三级索引标识,其中,第一级别的索引标识,第一级别的索引标识下又包括多个第二级别的索引标识,第二级别的索引标识下又包括多个第三级别的索引标识,点云数据按照第三级别索引标识的范围,存储在对应的第三级别的索引标识下。
[0081] 可选的,服务器中还存储有每个视角高度对应的最后一级数据标识的数量;
[0082] 对应的,根据新增坐标范围和目标视角高度从目标数据库中调用对应的新增点云数据,包括:根据目标坐标范围确定对应的目标数据标识,根据目标视角高度确定最后一级数据标识的目标数量,调用目标数据标识的最后一级数据标识中目标数量的点云数据。
[0083] 在一个实施例中,服务器还会对目标数据库中包括的点云数据压缩后存储至缓存空间中。对应的,服务器向终端设备发送新增点云数据的过程可以为:从缓存空间中,通过多线程向终端设备发送新增点云数据。通过将点云数据压缩后存储至缓存空间,且利用多线程的方式向终端设备发送点云数据,可以提高点云数据的发送效率。
[0084] 具体的,该缓存空间可以为redis数据库,Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key‑Value数据库,并提供多种语言的API。
[0085] 为了便于本领域技术人员的理解,本申请实施例还提供了一种压差传感器的故障检测方法,具体的,该方法包括:
[0086] (1)服务器获取多个初始点云文件,初始点云文件包括不同的文件格式;
[0087] (2)服务器对初始点云文件进行解析,得到各初始点云文件中的点云数据,并将各点云数据存储至目标数据库中。
[0088] (3)服务器根据各数据标识对应的坐标范围,将获取到的点云数据存储至目标数据库中。
[0089] (4)服务器对目标数据库中包括的点云数据压缩后存储至缓存空间中;
[0090] (5)终端设备获取参考点云数据的数据标识;
[0091] (6)终端设备获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围;
[0092] (7)终端设备根据目标坐标范围和参考点云数据的数据标识,确定新增坐标范围和重复坐标范围。
[0093] (8)终端设备根据新增坐标范围和目标视角高度生成数据调用请求;
[0094] (9)终端设备向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据;
[0095] (10)服务器接收终端设备发送的数据调用请求,数据调用请求中包括新增坐标范围和目标视角高度;
[0096] (11)服务器根据新增坐标范围和目标视角高度中调用对应的新增点云数据;
[0097] (12)服务器从缓存空间中,通过多线程向终端设备发送新增点云数据。
[0098] (13)接收服务器发送的新增点云数据,
[0099] (14)对新增点云数据进行解压处理,并对解压后的新增点云数据进行反序列化处理,得到中间点云数据;
[0100] (15)基于目标新增点云数据和重复点云数据进行渲染操作,生成目标场景。
[0101] 本申请实施例提供的基于Web端的点云渲染方法,通过获取当前待渲染的目标场景的目标坐标范围和目标视角高度,并获取目标场景的上一渲染场景的参考坐标范围,根据目标坐标范围和参考坐标范围,确定新增坐标范围和重复坐标范围,并根据新增坐标范围和目标视角高度生成数据调用请求,向服务器发送数据调用请求,数据调用请求用于请求新增坐标范围和目标视角高度对应的新增点云数据,接收服务器发送的新增点云数据,并基于新增点云数据和预设的重复坐标范围对应的重复点云数据,生成目标场景。本申请实施例提供的基于Web端的点云渲染方法,通过根据新增坐标范围和目标视角高度从服务器中直接调用所需的点云数据,服务器中已经对点云数据进行预先解析和分类存储,这样可以提高点云数据的获取效率,进而可以提高点云的渲染效率。
[0102] 通过对不同大小数据的图幅测试,针对10GB,20GB,30GB等大小的一幅点云数据分别执行上述流程,在8核处理器,4g独显的机器配置下,可以达到流畅渲染的效果。在千兆宽带下,点云通过websocket通信协议的传输处理渲染可以达到100m/s。可同时支持上亿个点的点云数据加载,同时通过渲染调度策略可以对大数据的点云图幅数据进行加载。根据对一幅20G大小的点云图幅数据加载,在web浏览器端可以达到60fps的帧率,对于比较密集的路口,也能达到30fps以上的稳定帧率加载,同时支持在渲染的图幅数据中进行绘制,编辑等操作。如图3所示,采用本申请实施例提供的基于Web端的点云渲染方法的实际渲染效果示意图。
[0103] 同时,本申请实施例提供的Web端的点云渲染方法,在进行渲染过程中,直接将所有点云数据存入数据库,存储后可基于web端实现海量点云实时渲染,同时满足基于渲染的其他编辑扩展能力。且,由于点云数据是存储在数据库中的,因此可以实时快捷的对点云数据进行编辑,同时可以随时随地对点云数据进行访问,且数据具有共享性,任意一个符合要求的终端设备的浏览器即可通过访问服务器来获取到所需的点云数据。
[0104] 如图4所示,本申请实施例还提供了一种基于Web端的点云渲染系统,该系统包括:终端设备10和服务器20。具体的,对于该终端设备10和服务器20可以执行上述方法实施例,其实现原理和技术效果与上述方法实施例类似,在此不再多加赘述。其实现原理和技术效果类似,在此不再多加赘述。
[0105] 本申请另一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本申请实施例的基于Web端的点云渲染方法的步骤。
[0106] 本申请另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在终端设备或者服务器中运行时,使得终端设备或者服务器执行上述方法实施例所示的方法流程中基于Web端的点云渲染方法执行的各个步骤。
[0107] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0108] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0109] 以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。