CN112241998A - 基于点云的快速剖切方法、智能终端及云平台 - Google Patents
基于点云的快速剖切方法、智能终端及云平台 Download PDFInfo
- Publication number
- CN112241998A CN112241998A CN202011107623.0A CN202011107623A CN112241998A CN 112241998 A CN112241998 A CN 112241998A CN 202011107623 A CN202011107623 A CN 202011107623A CN 112241998 A CN112241998 A CN 112241998A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- data
- point
- intelligent terminal
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于点云的快速剖切方法、智能终端及云平台,其中方法包括以下步骤:上传点云数据,以使云平台将点云数据转换为八叉树二进制进行存储,获得点云文件;获得查看指令后,根据查看指令从云平台中异步加载点云文件,根据点云文件可视化渲染点云;上传感兴趣区域和参数,以使云平台评估感兴趣区域内的点云数量,并返回点数;上传生成指令,以使云平台计算感兴趣区域内的点云数量,得到目标数据;上传下载指令,以使云平台将目标数据转换为相应的输出数据类型,并返回输出数据类型。本发明基于浏览器,支持pc端和移动端等客户端,由云平台存储点云数据及进行数据运算,降低了客户端的硬件要求,可广泛应用于三维可视领域。
Description
技术领域
本发明涉及三维可视化、三维逆向、工程制图及数字化建设技术领域,尤其涉及一种基于点云的快速剖切方法、智能终端及云平台。
背景技术
云点数据是指扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息。由于点云数据的数据量大,需要较大的存储空间,传输时需要占用较大网络宽带、硬盘、内存等,且对于大数据集点云没有较好的管理,不易分享。用户需要在大场景中提取感兴趣的数字资产信息。另外,点云数据的数据处理可能存在多种数据转换格式,数据冗余,目前对于点云的展示交互大多基于安装客户端,拷贝分享比较困难,且对硬件的要求高。
术语解释:
Spacing:点间距,点云之间的空间距离。
LOD(level of detail):细节层次。
Level:细节层次的级别。
Mesh:三维网格模型。
AABB(Axis-aligned Bounding Box)轴对齐包围盒。
OBB(Oriented bounding box)方向包围盒。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于点云的快速剖切方法、智能终端及云平台,基于浏览器的点云处理,兼容多种设备终端和操作***,能够按需快速产生多种数据模型。
本发明所采用的技术方案是:
一种基于点云的快速剖切方法,包括以下步骤:
上传点云数据,以使云平台将所述点云数据转换为八叉树二进制进行存储,获得点云文件;
获得查看指令后,根据查看指令从所述云平台中异步加载所述点云文件,根据所述点云文件可视化渲染点云;
上传感兴趣区域和参数,以使云平台评估所述感兴趣区域内的点云数量,并返回点数;
上传开始生成指令,以使云平台对所述感兴趣区域进行剖切,获得目标数据;
上传下载指令,以使云平台将所述目标数据转换为相应的输出数据类型,并返回所述输出数据类型。
进一步,所述点云数据包括点坐标格式数据和三维网格格式数据,当点云数据为三维网格格式数据,在存储点云数据前还包括格式转换步骤:
计算三维网格格式数据中所有三角形的面积,根据计算到的三角形面积建立累计分布函数;
根据所述累计分布函数对每个三角形进行点云均衡采样,获得顶点信息;
根据顶点信息将三维网格格式数据转换为点坐标格式数据;
其中,顶点信息包括顶点坐标P、顶点颜色信息C以及顶点法线信息N。
进一步,所述根据查看指令从所述云平台中异步加载所述点云文件,包括:
根据查看指令在Javascript主线程设置任务队列,由XMLHttpRequest产生的若干个回调函数同时加载点云文件;
XMLHttpRequest从云平台加载点云文件后,使用Web Workers在并行线程中解析准备加载的数据。
进一步,所述根据所述点云文件可视化渲染点云,包括:
基于相机的视锥体模型,确定可见区域范围;
基于相机的距离,根据所述可见区域范围动态加载所述点云文件的子节点;
加载约束条件,使适配不同内存、显示等性能的设备终端;
基于浏览器的WEBGL渲染技术渲染点云,使兼容不同的操作***。
进一步,还包括设置感兴趣区域的步骤:
获取由用户输入的相机调整参数,根据所述相机调整参数获取屏幕范围的点云区域;
根据所述点云区域,采用长方体来获取感兴趣目标区域,以及获得长方体变换矩阵T;
保存所述长方体变换矩阵T,根据所述长方体变换矩阵T设置投影面参数和数据品质参数;
所述相机调整参数包括调整相机的位置、角度或远近视点的至少之一。
进一步,所述对所述感兴趣区域进行剖切,获得目标数据,包括:
根据所述数据品质参数获取八叉树子节点的细节层数深度;
根据所述细节层数深度估算点云节点的点数;
根据所述长方体变换矩阵T获取长方体包围盒OBB;
采用所述长方体包围盒OBB对八叉树进行碰撞检测,获取目标区域的点云数据作为目标数据。
进一步,所述将所述目标数据转换为相应的输出数据类型,并返回所述输出数据类型,包括:
根据所述目标数据获取子点云数据,所述子点云数据包括点坐标P和颜色信息C;
根据所述子点云数据输出二维正射图投影图像;
根据所述子点云数据重建三维网格表面,以及输出Mesh模型数据。
本发明所采用的另一技术方案是:
一种智能终端,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述的一种基于点云的快速剖切方法。
本发明所采用的另一技术方案是:
一种基于点云的快速剖切方法,包括以下步骤:
获得智能终端上传的点云数据,将所述点云数据转换为八叉树二进制进行存储,获得点云文件;
获得智能终端上传的查看指令,根据查看指令将所述点云文件发送至所述智能终端,以使所述智能终端根据所述点云文件可视化渲染点云;
获得智能终端上传的设置的感兴趣区域和参数后,评估所述感兴趣区域内的点云数量,并返回点数至所述智能终端;
获得智能终端上传的开始生成指令,对所述感兴趣区域进行剖切,获得目标数据;
获得智能终端上传的下载指令,将所述目标数据转换为相应的输出数据类型,并将所述输出数据类型发送至所述智能终端。
本发明所采用的另一技术方案是:
一种云平台,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明的有益效果是:本发明基于浏览器,有利于数据的分享,支持pc端和移动端等客户端,由云平台存储点云数据及进行数据运算,减少大数据冗余,能够快速按需剖切得到多种类型的模型数据,降低了客户端的硬件要求。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种基于点云的快速剖切***的数据交互图;
图2是本发明实施例中基于智能终端的一种基于点云的快速剖切方法的步骤流程图;
图3是本发明实施例中点云文件存储的示意图;
图4是本发明实施例中异步加载点云数据的结构示意图;
图5是本发明实施例中相机斜率视锥模型的示意图;
图6是本发明实施例中获取目标点云的步骤流程图;
图7是本发明实施例中基于云平台的一种基于点云的快速剖切方法的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供一种基于点云的快速剖切***,包括***前端(比如电脑、手机和平板等)和***后端(比如云平台的服务器等),用户可通过***前端上传点云数据,将点云数据存储在***后端(即云端),***后端对点云数据进行存储并返回***。根据该***,轻松分析点云数据(比如将***发送给其他的智能终端,其他智能终端通过浏览器打开并查看点云数据);而且用户可轻松地在不同的***前端查看该点云数据,而无需每台***前端都存储点云数据,极大地节约了存储空间。
参见图1,快速剖切***的交互过程包括输入部分、可视化操作部分、云计算部分及输出部分,各部分中***前端和***后端之间的数据交互具体如下。
输入部分:
当用户需上传点云数据时,将点云数据先传至***前端,***前端根据HTTP协议将点云数据上传至***后端。***后端接收到点云数据后,统一点云数据的格式,将点云数据转为八叉树二进制存储,并在存储完成后返回***至***前端。***前端可根据该***访问点云数据。
可视化操作部分:
当用户需要访问查看点云数据时,通过***前端加载点云文件,***前端从***后端处下载到点云数据后,渲染并显示点云,用户通过***前端的显示屏即可查看点云。同时用户还可设置感兴趣区域和参数,这些设置的参数通过***前端上传至***后端,***前端根据设置的参数评估区域内点云数量,并返回点数。
云计算部分:
用户设置完参数,确定需要生成的类型数据,通过***前端上传开始生成指令至***后端。***后端接到指令后,对感兴趣区域进行剖切,得到目标数据,生成并反馈输出数据链接至***前端。
输出部分:
当用户需要下载目标文件时,通过***前端发送下载请求至***后端,***后端将目标数据转换为相应的输出数据类型,并返回切片、点云或者MESH类型数据至***前端,用户可通过***前端的显示屏查看,可以下载到本地。
上述***中,***前端基于浏览器查看点云,需要***后端存储点云数据,节约了存储空间,当需要分享点云时,只需发送链接数据,无需发送点云数据,节约网络宽带。由于大部分数据由***后端进行运算处理,极大地降低了***前端的硬件要求。另外,本***能够快速输出二维数字图像,点云子模块和三维网格模型,能够大量应用于自动工程制图、数字化存档、测绘、三维重建和逆向、云服务、三维场景数据等。
参见图2,本实施例还提供了一种基于点云的快速剖切方法,本方法由智能终端(比如电脑、手机、平板等)执行,包括但不限于以下步骤:
S101、上传点云数据,以使云平台将点云数据转换为八叉树二进制进行存储,获得点云文件。
点云数据包括点坐标格式数据(包括txt,xyz,pcd,pts,ply等格式)和三维网格格式数据(包括gltf,obj,ply,stl等格式)。点坐标格式数据由点坐标(x,y,z)、颜色信息(r,g,b)组成,可能还包括亮度信息(I),法线信息(Nx,Ny,Nz)等一些可选的信息。该格式文件可以由激光雷达扫描出来经过采样转换得到,也可以通过三维软件导出如MeshLab、cloudcompare等。
三维网格格式数据可以通过三维建模软件来导出。用户上传该格式文件后,云平台会先转换为基于点坐标的格式,再进行存储。三维网格模型简称Mesh,由于Mesh由顶点和三角面组成,需要对Mesh进行均衡补点,然后提取相应的顶点信息。其中,格式转换的步骤包括A1-A5:
A1、给定Mesh总的采样点数number_of_points。
A2、计算三维网格格式数据中所有三角形的面积,根据计算到的三角形面积建立累计分布函数。分布函数为:
FX(x)=P(X≤x)
其中,P表示点数,x表示三角形的索引。
A3、根据所述累计分布函数对每个三角形进行点云均衡采样,获得顶点信息。
对于给定任意三角形顶点A、B、C,按照如下公式产生三角形内的均衡点;
其中,r1,r2为范围[0,1]的随机数。
A4、提取Mesh顶点信息包括顶点坐标P(x,y,z),顶点颜色信息C(r,g,b),顶点法线信息N(x,y,z)。
A5、转化为基于点坐标格式的数据。
接收到上传的点云数据后,将点云数据按照场景或者站点空间位置分别生成八叉树,并将结果存储在文件***上,每个八叉树有一个文件夹,每个节点有一个文件。将八叉树的点按照点距离划分细节层次。
节点文件命名方法为:
根节点定义为r,使用8位分别定义它的子叶子节点,同理,子叶子节点的子叶子节点也是使用8位来表示。参见图3,r10叶子节点的所有点都在r10.bin文件中。
其中,将点云数据转换为八叉树二进制进行存储的过程如下:
1、八叉树由单个根节点R组成,将点逐个添加到根节点R。
2、如果点达到最小点间距SPACING,则内部节点保留该点,否则传递给其他节点。
3、每个级别LEVEL的点间距SPACING减半。
4、叶节点首先保持所有点。
5、如果节点的点数达到设定的某个阈值,则扩展叶节点。它成为一个内部节点,并将所有存储的点添加到自身。具有某一最小距离的点保留在前叶节点中,并且所有其它点被向下传递到其新创建的子节点。
6、将数据定期刷新存储到磁盘,例如每次处理1000万个点进行储存。
7、如果自上次刷新以来尚未触及节点,则其数据将在下一次刷新期间从存储器中移除。
8、如果一个点即将添加到已从内存中删除的节点,数据将首先从磁盘读回到内存。
S102、获得查看指令后,根据查看指令从云平台中异步加载点云文件,根据点云文件可视化渲染点云。
步骤S102具体包括步骤S1021-S1023:
S1021、异步加载点云和并行执行。
参见图4,基于Javascript代码(Web Workers除外)是单线程的性质,所有任务都在一个主线程中执行。XMLHttpRequest函数的异步版本加载资源产生的回调函数可以和主线程并行执行。Web Workers是与主线程并行运行的Javascript代码。本***中在Javascript主线程设置任务队列,由XMLHttpRequest产生的一个或者多个回调函数同时加载点云文件。XMLHttpRequest从远程服务器加载点云文件后,使用Web Workers在并行线程中解析准备加载的数据。其中,图4中,1代表主线程运行任务队列;2代表XMLHttpRequest异步加载节点数据;3代表加载完成,将数据返回主线程;4代表Web Workers并行解析数据;5代表解析完成,返回主线程,准备渲染。
S1022、可见性动态加载。该步骤包括步骤C1-C3:
C1、基于相机的视锥体模型,确定可见区域范围。
所有加载的点云数据都应该在相机平头视锥体范围之内。由相机参数得到视锥模型,判断节点包围盒AABB的所有顶点在视锥模型六个面的法线方向投影最大距离是否存在小于0的顶点,若是,则该节点在视锥体之外,否则该节点可见。
判断八叉树节点在视锥体范围的方法:
每个八叉树节点都有一个正方体包围盒AABB(lx,ly,lz,ux,uy,uz),从根节点(即最大的包围盒)开始判断,如果AABB在视锥体范围内,则该节点可见,否则标记为不可见。如果该节点可见,则遍历它的子节点,判断各个子节点的正方体包围盒AABB是否在视锥体范围内,如是,继续遍历直到最后的叶子节点或者受到其他约束条件的限制(比如细节层级LOD的最大级数,总的点数预算,节点大小等)才停止,否则该节点将被标记为不可见。标记为不可见的节点将被丢弃,并且其子节点不会被遍历。
C2、基于相机的距离,动态加载子节点。
计算相机到子节点的距离,首先获取子节点的正方体包围盒的最小外接圆,由外接圆获得中心点Pc和半径radius,camPos为相机的位置,相机到子节点的距离为:
distance=sqrt((camPos.x-Pc.x)^2+(camPos.y-Pc.y)^2+(camPos.z-Pc.z)^2)
参见图5,根据相机斜率视锥模型,由相机的FOV,渲染窗口高度ScreenHeight等可以得到子节点在屏幕投影像素的大小。
slope=tan(fov/2)
screenPixelRadius=(ScreenHeight/2)/(slope*distance)*radius
如果子节点在屏幕投影的像素大小小于给定值,则丢弃该节点,否则加载该子节点。这样保证当八叉树距离相机较远时,只加载较低层次的节点(接近根节点),当距离相机较近时,加载较高层次的子节点(接近叶子节点),由相机距离决定看到节点的细节多少,并且靠近相机的区域有更高的细节水平。
屏幕中的节点的可见性会随着相机的位置的变化,视场角FOV,远近视点以及方向的改变而变化。
C2、加载约束条件。
同时加载一个或者多个八叉树数据,八叉树由根节点开始加载,然后到子节点,依次类推。具有不同级别的八叉树节点重叠加载并且联合渲染以增加细节水平,增加总的点数限制,满足不同性能的设备要求,针对不同的设备,定义显示点数的可选区间。设置最高层次细节水平,可以限定加载八叉树的深度。八叉树可以看做是一个正方体包围盒,它的子节点相当于把正方体分成八份,依次类推。更高的细节水平表示该区域有更多的细节,有更细的正方体。
S1023、渲染点云。
使用基于浏览器的WEBGL渲染技术,通过顶点缓冲对象VBO向着色器Shader传递点云数据信息,顶点着色器对点云坐标信息进行模型空间变换,片元着色器对点云颜色进行像素化,渲染管线处理整个渲染显示过程。
S103、上传感兴趣区域和参数,以使云平台评估感兴趣区域内的点云数量,并返回点数。
其中,设置感兴趣区域和参数的步骤包括S1031-S1033:
S1031、用户可以调整相机的位置,角度,远近视点等参数,获取屏幕范围的点云区域。
S1032、使用长方体来获取更精细的感兴趣目标区域。
新建由空间八个顶点坐标定义中点为原点,边长为1的长方体,如下:
[
{-0.5,-0.5,-0.5},
{-0.5,-0.5,+0.5},
{-0.5,+0.5,-0.5},
{-0.5,+0.5,+0.5},
{+0.5,-0.5,-0.5},
{+0.5,-0.5,+0.5},
{+0.5,+0.5,-0.5},
{+0.5,+0.5,+0.5}
]
用户通过鼠标或键盘输入等交互方式缩放、旋转、平移操作长方体。由于齐次变换矩阵可以合并缩放、旋转、平移等变换,最终长方体的缩放、旋转、平移变换可以使用四维齐次变换矩T来表示:
S1033、保存长方体变换矩阵T,设置投影面、数据品质等参数。
S104、上传开始生成指令,以使云平台对感兴趣区域进行剖切,获得目标数据。
云平台的服务器对用户设置的感兴趣区域进行剖切处理,得到目标区域数据。包括步骤S1041-S1045:
S1041、由数据品质参数获取八叉树子节点的细节层数深度.
S1042、由点云节点深度估算点数。
S1043、由长方体矩阵T得到长方体包围盒OBB。
S1044、参见图6,使用长方体包围盒OBB对八叉树进行碰撞检测。
S1045、获取目标区域点云数据。
S105、上传下载指令,以使云平台将目标数据转换为相应的输出数据类型,并返回输出数据类型。
其中,步骤S105包括步骤S1051-S1053:
S1051、直接输出子点云数据,包含点坐标P(x,y,z),颜色信息C(r,g,b)等。
S1052、输出二维正射图投影图像。
由自定义的包围盒OBB,求出OBB最小外接长方体包围盒AABB(lx,ly,lz,ux,uy,uz),点云数据按照预设的投影面向最小外接长方体包围盒AABB相应的面进行投影,包围盒AABB内部的点P,投影面Plane,投影面的法线Normal,点P在投影面Plane的投影的计算公式为:
D=dot(P,Normal)
Projected=P–Normal*D
其中dot表示点乘,D为点P到投影面的距离,Projected为点P在经过投影之后的点坐标。由缩放因子调整投影面的比例大小,最后可以得到正射图投影。
S1053、输出网络模型。
由点云数据重建三维网格表面,输出Mesh模型数据,使用BGA(Ball-PivotingAlgorithm)滚球算法来实现重建的过程,类似地,也可以使用AlphaShape,Passion等方法来完成此过程。
滚动球算法(BPA)的思想是模拟使用虚拟球从点云生成网格。首先假设给定的点云由从对象表面采样的点组成。基于这个假设,可以想象在点云表面滚动一个小球。小球大小取决于网格的比例,略大于点云的平均距离。将小球放到点云表面上时,小球会首先击中三个点,这三个点会形成一个三角形面并作为种子三角形的三个点。从该位置开始,小球沿着三角形两顶点组成的一边滚动。小球每击中三个点便创建一个三角形,并将三角形添加到网格中。继续滚动小球,直到网格全部创建。
上述方法,用户的使用流程为:
用户使用主要有三部分,一是上传模型文件,二是选取目标区域的数据,三导出数据模型。
1上传三维文件
基于浏览器直接上传到服务器并编辑相关的模型信息。上传模型文件包括点云格式文件(txt,xyz,pcd,pts,ply)等以点坐标的形式存储的文件和三维Mesh网格数据模型(gltf,obj,ply,stl)以顶点、三角面、材质等组成的三维网格数据。如果是上传的三维Mesh模型,本***会转换为点云格式文件,该转换过程不需要用户干预。
2选取目标区域
在模型的可视化界面中,用户使用鼠标拖拉或者键盘输入参数来缩放、旋转、平移方向包围盒OBB,选取目标区域。
3导出数据模型
用户选取目标区域后,设置投影面、图像品质参数、输出数据类型等参数,***会估算目标区域的点数并返回给用户,用户确认后,便可以生成相关的模型数据。
综上所述,本实施例的方法相对于现有的技术方案,至少具有如下有益效果:
(1)、基于浏览器,支持多种终端设备和操作***,兼容性好。
(2)、避免大数据冗余,节省存储空间。
(3)、基于可视区域范围流式加载,轻量化加载渲染,用户体验较好。
(4)、基于八叉树截取快速检索提取,提高检索速度。
(5)、基于感兴趣区域输出多种数据模型,形成数字资产。
(6)、基于点云的数据处理,精度高。
(7)、本实施基于云服务的大数据管理,易分享,能够快速提供三维数字素材、平面图、数字存档、模型信息,为智慧城市建设提供更多数字化基础的同时提高效率。
本实施例还提供了一种智能终端,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图2所示的一种基于点云的快速剖切方法。
本实施例的一种智能终端,可执行本发明方法实施例所提供的一种基于点云的快速剖切方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
如图7所示,本实施例还提供了一种基于点云的快速剖切方法,由云平台执行,包括但不限于以下步骤:
S201、获得智能终端上传的点云数据,将点云数据转换为八叉树二进制进行存储,获得点云文件;
S202、获得智能终端上传的查看指令,根据查看指令将点云文件发送至智能终端,以使智能终端根据点云文件可视化渲染点云;
S203、获得智能终端上传的设置的感兴趣区域和参数后,评估感兴趣区域内的点云数量,并返回点数至智能终端;
S204、获得智能终端上传的开始生成指令,对感兴趣区域进行剖切,获得目标数据;
S205、获得智能终端上传的下载指令,将目标数据转换为相应的输出数据类型,并将输出数据类型发送至智能终端。
本实施例还提供了本实施例还提供了一种云平台,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图7所示的一种基于点云的快速剖切方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于点云的快速剖切方法,其特征在于,包括以下步骤:
上传点云数据,以使云平台将所述点云数据转换为八叉树二进制进行存储,获得点云文件;
获得查看指令后,根据查看指令从所述云平台中异步加载所述点云文件,根据所述点云文件可视化渲染点云;
上传感兴趣区域和参数,以使云平台评估所述感兴趣区域内的点云数量,并返回点数;
上传开始生成指令,以使云平台对所述感兴趣区域进行剖切,获得目标数据;
上传下载指令,以使云平台将所述目标数据转换为相应的输出数据类型,并返回所述输出数据类型。
2.根据权利要求1所述的一种基于点云的快速剖切方法,其特征在于,所述点云数据包括点坐标格式数据和三维网格格式数据,当点云数据为三维网格格式数据,在存储点云数据前还包括格式转换步骤:
计算三维网格格式数据中所有三角形的面积,根据计算到的三角形面积建立累计分布函数;
根据所述累计分布函数对每个三角形进行点云均衡采样,获得顶点信息;
根据顶点信息将三维网格格式数据转换为点坐标格式数据;
其中,顶点信息包括顶点坐标P、顶点颜色信息C以及顶点法线信息N。
3.根据权利要求1所述的一种基于点云的快速剖切方法,其特征在于,所述根据查看指令从所述云平台中异步加载所述点云文件,包括:
根据查看指令在Javascript主线程设置任务队列,由XMLHttpRequest产生的若干个回调函数同时加载点云文件;
XMLHttpRequest从云平台加载点云文件后,使用Web Workers在并行线程中解析准备加载的数据。
4.根据权利要求1所述的一种基于点云的快速剖切方法,其特征在于,所述根据所述点云文件可视化渲染点云,包括:
基于相机的视锥体模型,确定可见区域范围;
基于相机的距离,根据所述可见区域范围动态加载所述点云文件的子节点;
加载约束条件,使适配不同内存性能及显示性能的设备终端;
基于浏览器的WEBGL渲染技术渲染点云,使兼容不同的操作***。
5.根据权利要求4所述的一种基于点云的快速剖切方法,其特征在于,还包括设置感兴趣区域的步骤:
获取由用户输入的相机调整参数,根据所述相机调整参数获取屏幕范围的点云区域;
根据所述点云区域,采用长方体来获取感兴趣目标区域,以及获得长方体变换矩阵T;
保存所述长方体变换矩阵T,根据所述长方体变换矩阵T设置投影面参数和数据品质参数;
所述相机调整参数包括调整相机的位置、角度或远近视点的至少之一。
6.根据权利要求5所述的一种基于点云的快速剖切方法,其特征在于,所述对所述感兴趣区域进行剖切,获得目标数据,包括:
根据所述数据品质参数获取八叉树子节点的细节层数深度;
根据所述细节层数深度估算点云节点的点数;
根据所述长方体变换矩阵T获取长方体包围盒OBB;
采用所述长方体包围盒OBB对八叉树进行碰撞检测,获取目标区域的点云数据作为目标数据。
7.根据权利要求1所述的一种基于点云的快速剖切方法,其特征在于,所述将所述目标数据转换为相应的输出数据类型,并返回所述输出数据类型,包括:
根据所述目标数据获取子点云数据,所述子点云数据包括点坐标P和颜色信息C;
根据所述子点云数据输出二维正射图投影图像;
根据所述子点云数据重建三维网格表面,以及输出Mesh模型数据。
8.一种智能终端,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-7任一项所述的一种基于点云的快速剖切方法。
9.一种基于点云的快速剖切方法,其特征在于,包括以下步骤:
获得智能终端上传的点云数据,将所述点云数据转换为八叉树二进制进行存储,获得点云文件;
获得智能终端上传的查看指令,根据查看指令将所述点云文件发送至所述智能终端,以使所述智能终端根据所述点云文件可视化渲染点云;
获得智能终端上传的设置的感兴趣区域和参数后,评估所述感兴趣区域内的点云数量,并返回点数至所述智能终端;
获得智能终端上传的开始生成指令,对所述感兴趣区域进行剖切,获得目标数据;
获得智能终端上传的下载指令,将所述目标数据转换为相应的输出数据类型,并将所述输出数据类型发送至所述智能终端。
10.一种云平台,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求9所述的一种基于点云的快速剖切方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107623.0A CN112241998A (zh) | 2020-10-16 | 2020-10-16 | 基于点云的快速剖切方法、智能终端及云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011107623.0A CN112241998A (zh) | 2020-10-16 | 2020-10-16 | 基于点云的快速剖切方法、智能终端及云平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112241998A true CN112241998A (zh) | 2021-01-19 |
Family
ID=74169348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011107623.0A Withdrawn CN112241998A (zh) | 2020-10-16 | 2020-10-16 | 基于点云的快速剖切方法、智能终端及云平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241998A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749502A (zh) * | 2021-01-27 | 2021-05-04 | 天津博迈科海洋工程有限公司 | 油气平台模块分区域虚拟化装配轻量化方法 |
CN112927292A (zh) * | 2021-03-19 | 2021-06-08 | 南京市测绘勘察研究院股份有限公司 | 一种超快速las格式点云坐标转换方法 |
CN113240786A (zh) * | 2021-05-10 | 2021-08-10 | 北京奇艺世纪科技有限公司 | 一种视频点云渲染方法、装置、电子设备及存储介质 |
CN116029254A (zh) * | 2023-01-06 | 2023-04-28 | 中山大学 | 一种基于路径优化的集成电路版图自动布线方法及*** |
CN116109470A (zh) * | 2023-04-13 | 2023-05-12 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
CN116188660A (zh) * | 2023-04-24 | 2023-05-30 | 深圳优立全息科技有限公司 | 一种基于流式渲染的点云数据处理方法及相关装置 |
US12051147B1 (en) | 2022-05-04 | 2024-07-30 | Apple Inc. | Techniques for point cloud representation |
-
2020
- 2020-10-16 CN CN202011107623.0A patent/CN112241998A/zh not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749502A (zh) * | 2021-01-27 | 2021-05-04 | 天津博迈科海洋工程有限公司 | 油气平台模块分区域虚拟化装配轻量化方法 |
CN112927292A (zh) * | 2021-03-19 | 2021-06-08 | 南京市测绘勘察研究院股份有限公司 | 一种超快速las格式点云坐标转换方法 |
CN113240786A (zh) * | 2021-05-10 | 2021-08-10 | 北京奇艺世纪科技有限公司 | 一种视频点云渲染方法、装置、电子设备及存储介质 |
CN113240786B (zh) * | 2021-05-10 | 2023-06-13 | 北京奇艺世纪科技有限公司 | 一种视频点云渲染方法、装置、电子设备及存储介质 |
US12051147B1 (en) | 2022-05-04 | 2024-07-30 | Apple Inc. | Techniques for point cloud representation |
CN116029254A (zh) * | 2023-01-06 | 2023-04-28 | 中山大学 | 一种基于路径优化的集成电路版图自动布线方法及*** |
CN116029254B (zh) * | 2023-01-06 | 2024-04-12 | 中山大学 | 一种基于路径优化的集成电路版图自动布线方法及*** |
CN116109470A (zh) * | 2023-04-13 | 2023-05-12 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
CN116109470B (zh) * | 2023-04-13 | 2023-06-20 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
CN116188660A (zh) * | 2023-04-24 | 2023-05-30 | 深圳优立全息科技有限公司 | 一种基于流式渲染的点云数据处理方法及相关装置 |
CN116188660B (zh) * | 2023-04-24 | 2023-07-11 | 深圳优立全息科技有限公司 | 一种基于流式渲染的点云数据处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112241998A (zh) | 基于点云的快速剖切方法、智能终端及云平台 | |
Schütz | Potree: Rendering large point clouds in web browsers | |
US9852544B2 (en) | Methods and systems for providing a preloader animation for image viewers | |
CN108564527B (zh) | 基于神经网络的全景图内容补全和修复的方法及装置 | |
JP6725110B2 (ja) | レーザスキャンデータの画像レンダリング | |
Wimmer et al. | Instant Points: Fast Rendering of Unprocessed Point Clouds. | |
US20130321413A1 (en) | Video generation using convict hulls | |
US9208610B2 (en) | Alternate scene representations for optimizing rendering of computer graphics | |
US20200058164A1 (en) | Point cloud rendering on gpu using dynamic point retention | |
US9679349B2 (en) | Method for visualizing three-dimensional data | |
US20220375152A1 (en) | Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes | |
Schmohl et al. | Stuttgart city walk: A case study on visualizing textured dsm meshes for the general public using virtual reality | |
JP2023178274A (ja) | メッシュ頂点位置についての求根および反復を用いて表面を近似するポリゴンメッシュを生成する方法およびシステム | |
Tefera et al. | 3DNOW: Image-based 3D reconstruction and modeling via WEB | |
WO2023056879A1 (zh) | 一种模型处理方法、装置、设备及介质 | |
WO2023088059A1 (zh) | 三维模型可见度数据的存储方法、装置、设备及存储介质 | |
Christen et al. | Visualisation of complex 3D city models on mobile webbrowsers using cloud-based image provisioning | |
US9007374B1 (en) | Selection and thematic highlighting using terrain textures | |
CN115830212A (zh) | 三维模型展示方法及相关设备 | |
Romphf et al. | Resurrect3D: An open and customizable platform for visualizing and analyzing cultural heritage artifacts | |
Santana Núñez et al. | Visualization of large point cloud in unity | |
CN112215959A (zh) | 一种利用图片切割的三维模型贴图*** | |
CN112802183A (zh) | 一种三维虚拟场景重建的方法、装置以及电子设备 | |
Ellul et al. | LOD 1 VS. LOD 2–Preliminary investigations into differences in mobile rendering performance | |
Conde et al. | LiDAR Data Processing for Digitization of the Castro of Santa Trega and Integration in Unreal Engine 5 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210119 |