一种基于网络的三维点云可视化方法以及装置的制造方法

文档序号:10725138阅读:466来源:国知局
一种基于网络的三维点云可视化方法以及装置的制造方法
【专利摘要】本发明公开一种基于网络的三维点云可视化方法以及装置。其中,所述方法包括:获取来自扫描设备的不同格式的点云数据,并对所述点云数据进行处理,及将处理后的点云数据存储至数据库中;基于Ajax技术和Webservice技术对所述数据库中的点云数据进行网络数据交换,并将交换后的点云数据传输至浏览器;以及结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三维场景并进行可视化。通过本发明,能够为在线用户在浏览器中提供流畅的交互三维可视化体验,而且针对多种点云数据格式进行数据库集成。此外,在进行网络可视化时无需下载任何插件,并保证了三维显示的速度。
【专利说明】
一种基于网络的三维点云可视化方法以及装置
技术领域
[0001]本发明涉及三维可视化领域,具体地,涉及一种基于网络的三维点云可视化方法 以及装置。
【背景技术】
[0002] 作为一种新型的测量手段,三维激光扫描技术使得快速大量地获取空间点位信息 成为可能,并以其非接触、快速、连续获得目标物信息的特性,迅速成为了现今获取三维空 间信息的重要方法,被广泛应用于古建筑保护、特大异性结构变形监测以及城市测量等方 面。扫描获取的待处理的点云数据是后续数据分析、生成格网模型及进行三维可视化展示 的基础。因此,寻求一种远程、交互良好的网络点云可视化工具对于快速获取和评价点云数 据质量及点云处理进度规划具有重要意义。
[0003] 目前,国外基于Web的3D模型浏览工具较多,但是针对点云的却不多。在线点云浏 览器主要是由三维激光扫描仪生产商开发,例如,Faro的Scene Web Share,Leica的Tru View以及Allpoint Insight,Point Cab web Export等。但是,这些点云在线浏览器基本都 是针对各厂商定制的,最大的困扰是几乎每个厂商开发的标准都需要自己插件的支持,这 些插件需要下载安装且适配性较差,在带宽不理想的条件下会给使用者带来了诸多不便。 此外,各仪器厂商的扫描仪所获取的点云数据的格式多样繁杂,必须在可视化进程前进行 数据转换,也成为了一大问题。
[0004] 随着WebGL图形库的出现,以之为基础的图形引擎,如three. j s和Ces ium等被逐渐 应用到点云数据的可视化领域。Potree作为开源的网络点云浏览器,需要在本地对数据进 行转换并上传至服务器,自动化程度较低且转换耗时较长。点云网络浏览器Online LIDAR point cloud viewer支持服务器点云读取,用户需要将点云置于自己的服务器上,但是仅 支持ASPRS LAS 1.2及XYZ格式。Oscar Martinez-Rubi等人以Potree为原型系统基于WebGL 和和HTML5开发了一个开源的网站,但是数据只限于机载Lidar数据。而在国内,基于Web的 点云可视化研究较少,曾珣提出了一种基于WebGL的机载激光雷达点云数据可视化方法,但 仍没解决数据格式多样繁杂的问题。

【发明内容】

[0005] 本发明的目的是提供一种基于网络的三维点云可视化方法以及装置。其中,所述 方法不仅在可视化过程中实现去插件化,避免复杂的插件安装及环境配置,而且解决了数 据格式转换的诸多问题,能为用户在网络浏览器中提供良好的三维可视化体验。
[0006] 为了实现上述目的,本发明提供一种基于网络的三维点云可视化方法。所述方法 包括:
[0007] 获取来自扫描设备的不同格式的点云数据,并对所述点云数据进行处理,及将处 理后的点云数据存储至数据库中;
[0008] 基于Ajax技术和Webservice技术对所述数据库中的点云数据进行网络数据交换, 并将交换后的点云数据传输至浏览器;以及
[0009] 结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三维场景并进 行可视化。
[0010]可选地,所述获取来自扫描设备的不同格式的点云数据,并对所述点云数据进行 处理,及将处理后的点云数据存储至数据库中,包括:
[0011]针对不同的点云数据格式的特征,统一数据结构,并提取所有点云数据的基本属 性数据;
[0012] 建立数据库,设计存储表并将所述基本属性数据以数据库对象的形式存储至所述 数据库中。
[0013] 可选地,所述方法还包括:
[0014] 采用八叉树方法对所述数据库中的点云数据建立三维空间索引。
[0015]可选地,所述基于Ajax技术和Webservice技术对所述数据库中的点云数据进行网 络数据交换,并将交换后的点云数据传输至浏览器,包括:
[0016]将所述数据库的存取接口嵌入WebServices,并采用数据异步传输的方式和Ajax 请求机制从脚本中调用WebServices;
[0017] 通过所述浏览器的HTML页面中的脚本回调函数调用所述WebService交换后的点 云数据。
[0018] 可选地,所述结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三 维场景并进行可视化,包括:
[0019] 在HTML页面中创建WebGL渲染器,用于进行场景加载渲染;
[0020]基于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转 及缩放操作;
[0021] 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者 从不同角度和详细程度观察所述场景中的渲染对象;
[0022] 对所述渲染器、所述三维物体以及所述摄像机进行初始化,并启动所述场景,开始 渲染,从而显示得到基于所述点云数据的三维场景,
[0023] 其中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。
[0024] 可选地,所述方法还包括:
[0025]在投影变换时进行视景体的裁切。
[0026] 可选地,所述浏览器包括交互界面。
[0027]相应地,本发明还提供一种基于网络的三维点云可视化装置。所述装置包括:
[0028]处理单元,用于获取来自扫描设备的不同格式的点云数据,并对所述点云数据进 行处理,及将处理后的点云数据存储至数据库中;
[0029]数据交换单元,用于基于Ajax技术和Webservice技术对所述数据库中的点云数据 进行网络数据交换,并将交换后的点云数据传输至浏览器;以及
[0030] 可视化单元,用于结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创 建三维场景并进行可视化。
[0031] 可选地,所述处理单元,具体用于:
[0032] 针对不同的点云数据格式的特征,统一数据结构,并提取所有点云数据的基本属 性数据;
[0033] 建立数据库,设计存储表并将所述基本属性数据以数据库对象的形式存储至所述 数据库中。
[0034] 可选地,所述可视化单元,具体用于:
[0035] 在HTML页面中创建WebGL渲染器,用于进行场景加载渲染;
[0036]基于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转 及缩放操作;
[0037] 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者 从不同角度和详细程度观察所述场景中的渲染对象;
[0038] 对所述渲染器、所述三维物体以及所述摄像机进行初始化,并启动所述场景,开始 渲染,从而显示得到基于所述点云数据的三维场景,
[0039] 其中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。
[0040] 通过上述技术方案,获取来自扫描设备的不同格式的点云数据,并对点云数据进 行处理,及将处理后的点云数据存储至数据库中;并基于Ajax技术和Webservice技术对数 据库中的点云数据进行网络数据交换,并将交换后的点云数据传输至浏览器;及结合WebGL 技术和HTML5技术对传输至浏览器的点云数据创建三维场景并进行可视化,不仅在可视化 过程中实现去插件化,避免复杂的插件安装及环境配置,而且解决了数据格式转换的诸多 问题,能为用户在网络浏览器中提供良好的三维可视化体验。
【附图说明】
[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些图获得其他的附图。
[0042]图1是本发明一实施例提供的基于网络的三维点云可视化方法的平台架构示意 图;
[0043]图2是本发明一实施例提供的基于网络的三维点云可视化方法的流程图;
[0044]图3是本发明一实施例提供的数据库的构建流程图;
[0045]图4是本发明一实施例提供的前后台数据交换的示意图;
[0046]图5是本发明一实施例提供的基于网络的三维点云可视化装置的结构示意图。
【具体实施方式】
[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0048] 在本实施例中,采集北京建筑大学大兴校区部分地面的激光雷达扫描数据,对采 集的建筑物点云数据进行处理,并存入数据库,及利用相应的可视化技术实现无插件的网 络浏览器点云可视化。其环境和工具如表1所示。
[0049] 表1环境配置表
[0050]
[0051 ] 在本实例中,采用Windows 8.1专业版CPU@3.60GHZ,16.0GB内存的PC电脑,以 PostgreSQL作为数据库,利用Micosoft Visual Studio 13 C#中的ASP.NET Web应用程序 搭建平台架构,最后基于WebGL可视化编程技术,利用Javascript语言编写可视化窗口及界 面。
[0052]图1是本发明一实施例提供的基于网络的三维点云可视化方法的平台架构示意 图。如图1所示,本发明一实施例提供的基于网络的三维点云可视化方法所涉及的平台,包 括数据库端,服务器端,客户端三大部分。
[0053]其中,数据库端通过空间数据库PostgreSQL所提供的接口将后台系统和数据库连 接起来,实现点云的空间数据和属性数据的统一组织和管理。该数据库端的作用是为前端 提供所需的数据,空间数据库PostgreSQL所提供的接口为点云数据入库和出库的桥梁。在 这一过程中,数据库PostgreSQL只是一个存取空间数据的容器,而存取接口则是数据处理 的转换通道。数据库接收服务器端发送的libpq接口请求,并根据所述libpq接口请求返回 格式为XML的数据。
[0054]其中,服务器端是由Web服务器IIS 6.0提供支持。Web服务器为开发、部署、运行以 及管理网络应用服务(WebService)提供了运行环境。Web服务器提供了对空间数据库的管 理和支持,提供数据获取及组织功能。Web服务器从客户端接收回调函数请求,同时用 WebService对数据库中返回的XML数据进行处理,并将处理后的XML数据返回客户端。
[0055]其中,客户端的浏览器通过发起Ajax访问WebService提供的数据获取接口, WebService负责获取后台数据库中的数据,并将处理后的数据发送给浏览器。客户端作为 用户与平台的交互界面,是这个平台的最前端,用户通过它来获得WebGIS提供的功能。现有 的WebGIS客户端一般只负责接受用户请求,并返回结果,而本申请通过HTML5技术实现对点 云数据的显示,通过Ajax技术和WebService技术实现空间数据的传输,并将部分分析功能 转移到客户端,这样可以增加 WebGIS的交互体验并减轻Web服务器的压力。
[0056]图2是本发明一实施例提供的基于网络的三维点云可视化方法的流程图。如图2所 示,本发明一实施例提供的基于网络的三维点云可视化方法包括:
[0057]在步骤S101中,获取来自扫描设备的不同格式的点云数据,并对所述点云数据进 行处理,及将处理后的点云数据存储至数据库中。
[0058]具体地,该步骤包括:针对不同的点云数据格式的特征,统一数据结构,并提取所 有点云数据的基本属性数据;建立数据库,设计存储表并将所述基本属性数据以数据库对 象的形式存储至所述数据库中。其中,基本属性数据包括测站号、旋转变换参数、坐标、颜色 信息、外包框、测站以及点云配准的参考站等信息。
[0059]优选地,所述方法还包括:采用八叉树方法对所述数据库中的点云数据建立三维 空间索引。藉此,能够对数据库中点云数据进行动态调度。
[0060] 在具体的实施方式中,针对原始点云数据的不同格式,设计统一的数据结构进行 存取操作,建立数据库,并对其中的数据库对象建立空间索引。更为具体地,分析不同的点 云格式的特点,将所有数据提取保存基本属性数据,设计统一的数据结构;建立项目数据 库,并在数据库中建立表以存储数据,将上述的基本属性数据以数据库对象的形式存储到 PostgreSQL数据库中;对数据库中的数据库对象进行八叉树的构建,建立三维空间索引。
[0061] 其中,建立三维空间索引采用八叉树方法,其过程如下:计算出点云数据的最小外 包框,即空间包围盒,选取它作为八叉树结构的根节点;沿X,Y,Z三个方向将空间包围盒均 分为八个大小相同的子立方体,每个子立方体成为子节点;随后每个子立方体继续进行递 归运算,空间物体分别位于这些子立方体的不同部分,处在不同的立方体之中。对子立方体 和点云对象位置关系进一步判断,达到精度结束划分。递归划分判断步骤如下,若该节点 (立方体)完全被物体包围(FULL节点)或者该节点为空(NULL ),那么该节点无需进行剖分; 若该节点(立方体)部分被物体包围(PART IAL ),那么该节点仍然需要沿着X,Y,Z方向剖分成 更小的8个立方体。上述步PARTIAL节点应称为中间节点,而这8个更小的立方体称为该中间 节点的下一级叶子节点,它的级数需要增加1,直到所有的节点完全被物体所填充或者完全 为空结束。
[0062]图3是本发明一实施例提供的数据库的构建流程图。如图3所示,为不同格式的点 云数据设计数据结构,并在PostgreSQL中新建工程,建表存储点云的相关信息。在调用数据 库中的点云数据的情况下,利用基于VC2013.Net编写的数据库接口选择数据信息,并根据 选择的数据信息判断数据库中点云数据的测站号是否为所需的测站号,如果为所需的测站 号,则取出数据。在用户对测站号没有要求的情况下,还可以利用基于VC2013.Net编写的数 据库接口直接调用数据库中的点云数据。
[0063]接着,在步骤S102中,基于Ajax技术和Webservice技术对所述数据库中的点云数 据进行网络数据交换,并将交换后的点云数据传输至浏览器。
[0064]具体地,该步骤包括:将所述数据库的存取接口嵌入WebServices,并采用数据异 步传输的方式和Ajax请求机制从脚本中调用WebServices;通过所述浏览器的HTML页面中 的脚本回调函数调用所述Web Serv i c e交换后的点云数据。
[0065] 在具体的实施方式中,基于建立的点云数据库进行网络数据交换,将数据通过服 务器传输至浏览器,如图4所示。数据库构建完毕之后,需要将其中存储的基本属性数据传 输到浏览器端以供绘制。此处使用Web service来完成。Web Services可以将应用程序转换 为网络应用程序,可以被其他应用程序利用。基本的Web Services平台是XML+HTTP。将数据 库存取接口嵌入WebService,用ASP.NET AJAX从脚本中调用WebService。
[0066] 在前台页面的Javascript调用WebService,方法如下:
[0067] <asp:ScriptManager ID = 〃ScriptManager1〃runat = 〃server〃>
[0068] 〈Services〉
[0069] 〈asp: ServiceReferencePath = 〃WebService .asmx〃InlineScript = 〃True〃/>
[0070] 〈/Services〉
[0071] </asp:ScriptManager>
[0072] 然后,就可以通过页面中的脚本回调函数(callback)进行调用从而获取数据。 [0073] 最后,在步骤S103中,结合WebGL技术和HTML5技术对传输至所述浏览器的点云数 据创建三维场景并进行可视化。
[0074]具体地,该步骤包括:在HTML页面中创建WebGL渲染器,用于进行场景加载渲染;基 于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转及缩放操作; 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者从不同角 度和详细程度观察所述场景中的渲染对象;对所述渲染器、所述三维物体以及所述摄像机 进行初始化,并启动所述场景,开始渲染,从而显示得到基于所述点云数据的三维场景,其 中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。
[0075]在具体的实施方式中,获取的传输数据在网络浏览器中结合WebGL及HTML5技术创 建三维场景并进行可视化。展示完整的三维场景需要以下必要的组件:场景,渲染器,三维 物体,相机。利用Three . js搭建WebGL场景首先需创建一个html页面,在〈head〉中添加对 Three, js库的引用,并在〈body〉标签中创建WebGL植染器用来进行场景加载植染。场景是一 个容器,用来保存并跟踪所需要渲染的物体。而渲染器完成从计算机中的三维空间到显示 窗口二维平面的转换过程,经过渲染器渲染后的场景即可展示在用户面前。三维渲染元素 准备完毕后在Javascript脚本处编写相关代码。在代码开始,通过回调函数获取数据库所 提供的点云的坐标及色彩信息。
[0076]三维渲染过程中通过矩阵的乘法变换顶点在世界坐标系中的位置,而观察者需要 的是以眼睛为中心的视点坐标系,所以要将顶点展示在观察者的面前,就需要将世界坐标 系转换为视点(相机)坐标系,这个过程就成为视图矩阵的变换。
[0077]世界坐标系向相机坐标系的转换矩阵的推导过程如下,定义相机(眼睛)在世界坐 标系中的位置为(X,y,z),则视图变换矩阵为公式(1):
[0079]
。经过视图矩阵的变换,就确定了物体 在相机坐标系中的位置,最后需要将物体显示在屏幕上,这还需要从相机坐标系到屏幕的 投影矩阵的变换,将物体正确的显示在屏幕上。
[0080] 投影矩阵分为两种,一种是正视投影,一种是透视投影。如图所示为透视投影模 型,由于受屏幕大小的限制,其视野的空间是一个截头锥体,跟人眼视野相类似,视野较远 处的物体投影到屏幕上成像较小。在WebGL中,假定相机的视线与裁剪面成90°的角,透视投 影又将截头锥体(视野空间)内物体的坐标正交化成立方体的坐标,再将立方体的坐标压缩 投影到屏幕中。
[0081 ] 截头锥体的两个顶点Pi的坐标为(Xlrft,ybotton,-Z_r ),P2的坐标为(Xright,ytop,-znear),截头锥体大截面的深度可以表示为,则投影矩阵的公式可以表示为(2):
[0083] 要实现将世界坐标系中的点投影到二维屏幕上,就需要经过模型视图矩阵以及透 视投影矩阵的变换,实现三维可视化中顶点在屏幕上的显示。
[0084] 场景加载时需要创建三维世界所需的三维物体。本方法是基于粒子系统 (Particle System)中的pointcloud类进行点云绘制,可将点云作为一个整体,并因此允许 高效地操作点云来进行平移、旋转及缩放操作。而这些交互操作需要模型视图矩阵以及透 视投影矩阵的变换。其原理如下:
[0085]在三维环境中,对于对象位置的变化,是通过控制对象模型的矩阵变化而实现的, 如平移、缩放、旋转等。此过程中,采取的是齐次坐标系的方式表示物体在世界坐标系中的 位置,用n+1维向量表示η维向量,比如用(x,y,z,h)作为可变参数,(x/h,y/h,z/h)则就表示 三维空间中的坐标,运用齐次坐标系表示物体:
[0086] 1)可以通过矩阵的加法和乘法运算表示坐标平移(矩阵相加)、坐标缩放与旋转 (矩阵相乘)。
[0087] 2)如果定义h = 0,则表示无穷远处,可以将无穷远处通过矩阵表示出来。
[0088] 下面公式中,(3),(4)分别表示齐次坐标系中顶点的平移、缩放矩阵,(5),(6),(7) 分别表示绕X轴、Y轴、Z轴的旋转矩阵。

[0094]以上各个组件对象进行初始化并启动场景,开始渲染。至此,运行系统即可在浏览 器的网页中看到所构建的三维场景。
[0095]优选地,所述方法还包括:在投影变换时进行视景体的裁切。上述基于网络的三维 点云可视化方法中的三维场景构建场景还包括视景体裁切过程。通过判断空间实体是否被 包含(或部分包含)在视景体中来决定这个空间实体是否被显示和渲染。
[0096] 视景体是点云后期绘制在投影变换时需要用到的方法,有两种用途,其一,它决定 了一个物体是是通过何种投影方式(正射投影和透视投影)投影到屏幕上,其二,视景体确 定了场景里的物体的哪一部分被裁剪到图像外。所述裁切过程根据投影方式的不同分为: 透视投影裁切和平行投影裁切。
[0097] 透视投影中的视景体裁切过程:视景体由左、右、上、下四个侧面和顶面以及底面6 个裁剪平面构成,用6个裁剪平面方程,使视景体和经过八叉树结构组织后的点云的外包框 信息进行相交测试(重叠区域测试),其思想是:用长方体(外包框)和视锥体的6个平面分别 进行测试相交与否,若该长方体在某一平面的外部,那么这个长方体就在视锥体的外部。如 果长方体都在6个平面的内部,认为截锥体与外包框长方体相交(实际上可能在截锥体的外 部一部分)。
[0098] 平行投影中的视景体裁切过程:视景体是一个长方体,它和点云的最小外包盒都 是平行于坐标轴的(Axis-Aligned Bounding Box,AABB),因此只需要比较边长的最大值和 最小值属性即可。
[0099]优选地,所述浏览器包括交互界面。为了方便使用上述技术,本实例还设计了交互 界面。平台支持对多种点云格式的读取及显示。在平台前端界面中,左上方为实时渲染帧数 监视器,页面右上方为操作菜单,可以调整点云粒子的大小、颜色、透明度、旋转速度等属 性。
[0100]本实施例首先在PostgreSQL中建立项目数据库对象表以存储点云的坐标、颜色信 息以及测站、外包框、测站、点云配准的参考站等信息。数据库构建完毕,并对其进行三维八 叉树空间索引构建以完成点云的动态调度。然后,将存储的点云数据信息传输到浏览器端, 此处使用AJAX技术结合Web service技术来完成。最后基于WebGL可视化编程技术利用 Javascript脚本语言搭建三维场景,开发无插件点云数据网络可视化平台,不仅在可视化 过程中实现去插件化,避免复杂的插件安装及环境配置,而且解决了数据格式转换的诸多 问题,能为用户在网络浏览器中提供良好的三维可视化体验。
[0101]对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域 技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施 例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书 中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。 [0102]图5是本发明一实施例提供的基于网络的三维点云可视化装置的结构示意图。如 图5所示,本发明一实施例提供的基于网络的三维点云可视化装置包括:
[0103]处理单元201,用于获取来自扫描设备的不同格式的点云数据,并对所述点云数据 进行处理,及将处理后的点云数据存储至数据库中;
[0104]数据交换单元202,用于基于Ajax技术和Webservice技术对所述数据库中的点云 数据进行网络数据交换,并将交换后的点云数据传输至浏览器;以及
[0105] 可视化单元203,用于结合WebGL技术和HTML5技术对传输至所述浏览器的点云数 据创建三维场景并进行可视化。
[0106] 在本发明一可选实施例中,所述处理单元201,具体用于:
[0107]针对不同的点云数据格式的特征,统一数据结构,并提取所有点云数据的基本属 性数据;
[0108] 建立数据库,设计存储表并将所述基本属性数据以数据库对象的形式存储至所述 数据库中。
[0109] 在本发明一可选实施例中,所述可视化单元203,具体用于:
[0110] 在HTML页面中创建WebGL渲染器,用于进行场景加载渲染;
[0111]基于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转 及缩放操作;
[0112] 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者 从不同角度和详细程度观察所述场景中的渲染对象;
[0113] 对所述渲染器、所述三维物体以及所述摄像机进行初始化,并启动所述场景,开始 渲染,从而显示得到基于所述点云数据的三维场景,
[0114] 其中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。
[0115]对于本发明一实施例提供的基于网络的三维点云可视化装置还涉及的具体细节 已在本发明一实施例提供的基于网络的三维点云可视化方法中作了详细的描述,在此不再 赘述。
[0116] 应当注意的是,在本发明的系统的各个部件中,根据其要实现的功能而对其中的 部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或 者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的 子部件。
[0117] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的系统中的一些或者全部部 件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全 部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序 可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以 从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0118] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在未 列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这样的 元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实 现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项 来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名 称。
[0119]以上实施方式仅适于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有 等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1. 一种基于网络的三维点云可视化方法,其特征在于,所述方法包括: 获取来自扫描设备的不同格式的点云数据,并对所述点云数据进行处理,及将处理后 的点云数据存储至数据库中; 基于Ajax技术和Webservice技术对所述数据库中的点云数据进行网络数据交换,并将 交换后的点云数据传输至浏览器;以及 结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三维场景并进行可 视化。2. 根据权利要求1所述的基于网络的三维点云可视化方法,其特征在于,所述获取来自 扫描设备的不同格式的点云数据,并对所述点云数据进行处理,及将处理后的点云数据存 储至数据库中,包括: 针对不同的点云数据格式的特征,统一数据结构,并提取所有点云数据的基本属性数 据; 建立数据库,设计存储表并将所述基本属性数据以数据库对象的形式存储至所述数据 库中。3. 根据权利要求1所述的基于网络的三维点云可视化方法,其特征在于,所述方法还包 括: 采用八叉树方法对所述数据库中的点云数据建立三维空间索引。4. 根据权利要求1所述的基于网络的三维点云可视化方法,其特征在于,所述基于Ajax 技术和Webservice技术对所述数据库中的点云数据进行网络数据交换,并将交换后的点云 数据传输至浏览器,包括: 将所述数据库的存取接口嵌入WebServices,并采用数据异步传输的方式和Ajax请求 机制从脚本中调用WebServices; 通过所述浏览器的HTML页面中的脚本回调函数调用所述WebService交换后的点云数 据。5. 根据权利要求1所述的基于网络的三维点云可视化方法,其特征在于,所述结合 WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三维场景并进行可视化,包 括: 在HTML页面中创建WebGL渲染器,用于进行场景加载渲染; 基于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转及缩 放操作; 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者从不 同角度和详细程度观察所述场景中的渲染对象; 对所述渲染器、所述三维物体以及所述摄像机进行初始化,并启动所述场景,开始渲 染,从而显示得到基于所述点云数据的三维场景, 其中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。6. 根据权利要求5所述的基于网络的三维点云可视化方法,其特征在于,所述方法还包 括: 在投影变换时进行视景体的裁切。7. 根据权利要求1-6中任意一项权利要求所述的基于网络的三维点云可视化方法,其 特征在于,所述浏览器包括交互界面。8. -种基于网络的三维点云可视化装置,其特征在于,所述装置包括: 处理单元,用于获取来自扫描设备的不同格式的点云数据,并对所述点云数据进行处 理,及将处理后的点云数据存储至数据库中; 数据交换单元,用于基于Ajax技术和Webservice技术对所述数据库中的点云数据进行 网络数据交换,并将交换后的点云数据传输至浏览器;以及 可视化单元,用于结合WebGL技术和HTML5技术对传输至所述浏览器的点云数据创建三 维场景并进行可视化。9. 根据权利要求8所述的基于网络的三维点云可视化装置,其特征在于,所述处理单 元,具体用于: 针对不同的点云数据格式的特征,统一数据结构,并提取所有点云数据的基本属性数 据; 建立数据库,设计存储表并将所述基本属性数据以数据库对象的形式存储至所述数据 库中。10. 根据权利要求8所述的基于网络的三维点云可视化装置,其特征在于,所述可视化 单元,具体用于: 在HTML页面中创建WebGL渲染器,用于进行场景加载渲染; 基于粒子系统中的点云类创建所需的三维点云物体,以便高效地进行平移、旋转及缩 放操作; 将摄像机添加到所述场景中并调整相关参数,及使用多种变换矩阵,使得观察者从不 同角度和详细程度观察所述场景中的渲染对象; 对所述渲染器、所述三维物体以及所述摄像机进行初始化,并启动所述场景,开始渲 染,从而显示得到基于所述点云数据的三维场景, 其中,所述场景是一个容器,用于保存并跟踪需要渲染的物体。
【文档编号】G06T15/00GK106096016SQ201610471575
【公开日】2016年11月9日
【申请日】2016年6月24日
【发明人】危双丰, 叶梦轩
【申请人】北京建筑大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1