当前位置: 首页 > 专利查询>刘秀萍专利>正文

插件式架构的大规模三维点云可视化平台制造技术

技术编号:28378906 阅读:34 留言:0更新日期:2021-05-08 00:06
本发明专利技术提出的插件式架构的大规模三维点云可视化平台,提出复合式点云组织与存储结构,不仅能快捷方便地访问点云数据,并且具有极高的检索效率,也非常有利于后期大规模三维点云的可视化;提出大规模三维场景的可视化多层次渲染的优化方法,利用点云的八叉树存储结构实现大规模点云渲染中的视域体裁剪调度和多细节层次表示方法,对大规模三维点云的渲染效率大幅提高;在QT插件架构的基础上,设计实现功能全面丰富的平台插件架构和灵活快捷的点云插件接口,实现不同类型的点云数据的读写,也使三维点云算法的开发更便利;提出基于插件的大规模三维点云可视化平台,平台插件架构具有可扩展性,提高平台开发效率。

【技术实现步骤摘要】
插件式架构的大规模三维点云可视化平台
本专利技术涉及一种大规模三维点云可视化平台,特别涉及一种插件式架构的大规模三维点云可视化平台,属于三维点云可视化平台

技术介绍
点云是在某种坐标系下若干数据点的集合,在三维坐标系下,这些数据点用点的三维几何坐标信息定义,点云还可以带有颜色、光照法向量、强度等其它信息,随着点云技术的发展,点云的获取变得越来越简单便捷,成本也大幅降低。如今获取点云的方式多种多样,既可通过硬件传感器,也可通过软件合成的方式获取,本专利技术主要是使用各类三维扫描仪获取的点云。三维点云获取技术的日渐成熟,也推进了点云在各行业的应用,当前点云已被广泛利用在测绘、数字城市建设、逆向工程、工业设计、文物修复等领域,并有向影视动画、机器人、工业质量控制等新领域拓展的趋势,点云在各领域的广泛应用,也使对点云数据的处理与分析成为研发和运用热门。点云技术的发展涉及计算机图形学、地学、测绘学、逆向工程等多个学科领域,各领域对点云技术的发展方向和应用各有不同,关注点有所差异,但是还是存在很多普遍共通的研发内容,而除了算法的研发,点云的可视化也是一个非常重要的研发热点,也是后续算法研发的基础。但由于现有技术点云获取方式的局限性和缺陷性,点云数据在用于实际分析之前要做前置处理,以最大程度还原三维物体真实性,例如通过三维激光扫描仪获取点云过程中,由于受测量设备测量范围限制以及被测物体外形复杂性等原因,扫描一次只能得到物体某一部分的数据,这样通过多次扫描最终得到的是物体不同角度多次定位测量的点云数据,必须经过点云配准拼接才能得到物体整体的点云数据。同样,点云的去噪平滑、点云精简等也是点云前置处理的重要内容,点云数据包含三维物体的几何、颜色等丰富信息,由于点云具有数据量大的特征,使得点云可视化成为一个具有挑战性的问题,现有技术中,技术人员需要自己开发针对点云的可视化系统并且将自己的算法集成进去,或只进行算法的开发,然后使用第三方的点云可视化平台观察处理后的点云,前者费时费力,工作效率很低,技术人员往往不具备开发点云可视化系统的时间和精力;而后者则只能够利用第三方可视化系统观察处理后的点云,将算法集成进系统中还需要大量的额外工作,具有一定的难度,且大量第三方可视化系统并非开源,无法获取源码以便二次开发。现有技术依然没有从根本上解决大规模三维点云可视化问题,现有技术的难点和本专利技术解决的问题主要集中在以下方面:第一,三维点云一般数据量较大,给点云数据的高效可视化带来较大难度,现有技术的点云可视化平台由于缺少扩展性,造成点云算法的研发和点云的可视化互相独立,技术人员必须先将算法处理结果写入到文件,再使用可视化系统观察结果;并且点云的算法处理也分为几个步骤进行,技术人员对点云数据进行处理的过程中,会产生很多中间数据和中间结果,这些中间数据以独立文件的方式存储,而中间结果得不到完整保存;在技术人员编写算法过程中,为了得到最理想的结果,需要多次修改程序中的参数,比较不同参数下得到的处理结果,由于算法处理与可视化之间互相独立,技术人员需要不断的重新编译运行程序,并将不同参数状态下的算法处理结果写入到不同的文件中,不仅效率极低,也大幅增加了后期将算法集成到现有平台进行生产应用的工作量;第二,现有技术点云获取方式局限性和缺陷性较大,点云数据在用于实际分析之前要做前置处理,以最大程度还原三维物体真实性,通过三维激光扫描仪获取点云过程中,由于受测量设备测量范围限制以及被测物体外形复杂性等原因,扫描一次只能得到物体某一部分的数据,这样通过多次扫描最终得到的是物体不同角度多次定位测量的点云数据,必须经过点云配准拼接才能得到物体整体的点云数据,由于点云具有数据量大的特征,使得点云可视化成为一个具有挑战性的问题,现有技术中,技术人员需要自己开发针对点云的可视化系统并且将自己的算法集成进去,或只进行算法的开发,然后使用第三方的点云可视化平台观察处理后的点云,前者费时费力,工作效率很低,技术人员往往不具备开发点云可视化系统的时间和精力;而后者则只能够利用第三方可视化系统观察处理后的点云,将算法集成进系统中还需要大量的额外工作,具有一定的难度,且大量第三方可视化系统并非开源,无法获取源码以便二次开发;第三,现有技术的点云可视化平台研发存在明显短板,计算机图形领域的点云可视化软件倾向于片面的显示,普遍采用单文件的方式,平台没有良好的可扩展性,无法进行灵活的定制;测绘学和地学领域大部分只关注Lidar数据,对其它数据类型的点云支持程度不够,激光扫描仪硬件制造商的配套软件也只专注于单一数据的可视化、数据处理、校准修正等功能,针对点云的算法模块相对薄弱,且无法灵活的进行算法扩展;对于逆向工程领域,点云规模较小,且只针对逆向工程中点云数据的曲线曲面拟合,功能相对单一;第四,现有技术的穷举法求解网络服务组合问题,列举出所有的网络服务组合方案,然后计算比较它们的服务质量性能并从中找出服务质量性能最优的网络服务组合方案,但随着问题规模的增大,穷举法所需占用的资源也就越多,当问题规模达到一定程度时,就很可能出现计算机内存溢出、计算时间过长等问题,采用穷举法解决服务质量优选的网络服务组合问题有很大的局限性;第五,现有技术利用演化算法求解网络服务组合问题,包括人工神经网络、蚁群算法、可能组合方案一一列出后,再将这些组合方案两两对比,这个过程需要的计算资源非常大,对于这类高维组合问题,专注于寻求全局最优组合方案的做法是不可取的,应该专注于在众多组合方案中寻找满足自己需求的组合方案。
技术实现思路
针对现有技术的不足,本专利技术提供一种基于插件的点云可视化系统,提供一种高扩展性的点云可视化平台,让点云算法人员可以在其基础上进行算法的相关可视化开发和应用,达到提高研发效率的目的,并且尽量的保存算法研发过程中的阶段性数据和结果,为点云算法研发提供保障。为达到以上技术效果,本专利技术所采用的技术方案如下:插件式架构的大规模三维点云可视化平台,基于点云数据规模大的特征,提出一种灵活快捷的复合式三维点云组织与存储结构,提出大规模三维点云的可视化多层次渲染优化方法,基于插件式系统的设计方法,在QT插件架构的基础上提出灵活快捷的插件接口和功能全面丰富的系统插件架构,在此基础上,使用插件式平台将点云算法处理和可视化平台融合,开发基于插件的大规模三维点云可视化平台,本专利技术主要包括:第一,基于大规模三维点云,提出复合式三维点云组织与存储结构,以顺序存储方式为基础,辅助使用索引八叉树和k-d树存储方式满足特定需求;第二,在复合式点云组织与存储结构基础上,提出大规模三维点云的可视化多层次渲染优化方法,利用点云的八叉树存储结构实现大规模点云渲染中的视域体裁剪调度和多细节层次表示方法,提高大规模三维点云的渲染效率,大规模三维点云的可视化多层次渲染优化方法具体包括基于树形层次场景组织的视域体裁剪调度、多细节层次表示方法、改进的视域体裁剪调度和多细节层次表示方法;第三,在QT插件架构的基础上,设计实现功能全面丰富的平台插件架构和灵活快捷的点云本文档来自技高网
...

【技术保护点】
1.插件式架构的大规模三维点云可视化平台,其特征在于,基于点云数据规模大的特征,提出一种灵活快捷的复合式三维点云组织与存储结构,提出大规模三维点云的可视化多层次渲染优化方法,基于插件式系统的设计方法,在QT插件架构的基础上提出灵活快捷的插件接口和功能全面丰富的系统插件架构,在此基础上,使用插件式平台将点云算法处理和可视化平台融合,开发基于插件的大规模三维点云可视化平台,本专利技术主要包括:/n第一,基于大规模三维点云,提出复合式三维点云组织与存储结构,以顺序存储方式为基础,辅助使用索引八叉树和k-d树存储方式满足特定需求;/n第二,在复合式点云组织与存储结构基础上,提出大规模三维点云的可视化多层次渲染优化方法,利用点云的八叉树存储结构实现大规模点云渲染中的视域体裁剪调度和多细节层次表示方法,提高大规模三维点云的渲染效率,大规模三维点云的可视化多层次渲染优化方法具体包括基于树形层次场景组织的视域体裁剪调度、多细节层次表示方法、改进的视域体裁剪调度和多细节层次表示方法;/n第三,在QT插件架构的基础上,设计实现功能全面丰富的平台插件架构和灵活快捷的点云插件接口,并在平台点云IO插件架构的搭配下,根据不同类型的点云数据自动选取相应的读写插件进行点云的读写;基于点云算法设计点云的算法插件接口,并为该接口设计可视化界面,实现开发者可视化的进行算法输入数据及输入参数的调整,插件式点云可视化平台设计具体包括QT插件架构、插件架构与接口类;/n第四,基于本专利技术的点云数据组织存储结构、场景渲染方法和平台插件架构,提出基于插件的大规模三维点云可视化平台,本专利技术的文件IO插件能加载包括点云数据的多类数据,平台插件架构具有扩展性,并保留算法处理的结果和数据,插件式三维点云可视化平台的实现具体包括开发平台与开发工具、点云可视化平台界面设计、工程文件设计、属性查看与更新、插件管理器、场景可视化窗口、日志窗口。/n...

【技术特征摘要】
1.插件式架构的大规模三维点云可视化平台,其特征在于,基于点云数据规模大的特征,提出一种灵活快捷的复合式三维点云组织与存储结构,提出大规模三维点云的可视化多层次渲染优化方法,基于插件式系统的设计方法,在QT插件架构的基础上提出灵活快捷的插件接口和功能全面丰富的系统插件架构,在此基础上,使用插件式平台将点云算法处理和可视化平台融合,开发基于插件的大规模三维点云可视化平台,本发明主要包括:
第一,基于大规模三维点云,提出复合式三维点云组织与存储结构,以顺序存储方式为基础,辅助使用索引八叉树和k-d树存储方式满足特定需求;
第二,在复合式点云组织与存储结构基础上,提出大规模三维点云的可视化多层次渲染优化方法,利用点云的八叉树存储结构实现大规模点云渲染中的视域体裁剪调度和多细节层次表示方法,提高大规模三维点云的渲染效率,大规模三维点云的可视化多层次渲染优化方法具体包括基于树形层次场景组织的视域体裁剪调度、多细节层次表示方法、改进的视域体裁剪调度和多细节层次表示方法;
第三,在QT插件架构的基础上,设计实现功能全面丰富的平台插件架构和灵活快捷的点云插件接口,并在平台点云IO插件架构的搭配下,根据不同类型的点云数据自动选取相应的读写插件进行点云的读写;基于点云算法设计点云的算法插件接口,并为该接口设计可视化界面,实现开发者可视化的进行算法输入数据及输入参数的调整,插件式点云可视化平台设计具体包括QT插件架构、插件架构与接口类;
第四,基于本发明的点云数据组织存储结构、场景渲染方法和平台插件架构,提出基于插件的大规模三维点云可视化平台,本发明的文件IO插件能加载包括点云数据的多类数据,平台插件架构具有扩展性,并保留算法处理的结果和数据,插件式三维点云可视化平台的实现具体包括开发平台与开发工具、点云可视化平台界面设计、工程文件设计、属性查看与更新、插件管理器、场景可视化窗口、日志窗口。


2.根据权利要求1所述的插件式架构的大规模三维点云可视化平台,其特征在于,复合式三维点云组织与存储结构:融合顺序存储、八叉树存储和k-d树存储方式,实现插件式架构的大规模三维点云可视化平台中的点云组织与存储;
平台采用顺序存储作为最基础的三维点云组织与存储结构,在顺序存储的基础上采用储存点索引值的八叉树,基于k-d树在点云范围搜索和近邻搜索上的优势,在索引值八叉树的基础上采用k-d树存储八叉树叶结点的点云索引数据,融合顺序存储、八叉树存储和k-d树存储三种方式,便于实现渲染的优化;
点云的顺序存储采用分块连续内存方法,采用一次申请一小块连续内存,然后模拟操作系统通过记录管理这些连续小内存的地址手动进行这些小块连续内存的管理,通过将这些小块内存的地址记录在一个数组中的方式进行管理和访问,基于迭代器设计模式实现对分块连续内存的迭代访问器,同时,在分块连续内存的连续存储方式基础上,采用存储索引的一对八式八叉树,即八叉树中不直接存储点云数据,只存储点云的索引,真正的点云数据只存储于分块连续内存中,既保留进行点云基础操作的便利性,又得以利用八叉树的优点进行平台后续的渲染优化,在构建八叉树时,不对八叉树的深度进行限制,仅根据叶结点最大点云数目的临界值建立八叉树,对于八叉树的每个叶结点的点云数据,采用k-d树的存储方式,利用k-d树范围搜索和近邻搜索的优点。


3.根据权利要求1所述的插件式架构的大规模三维点云可视化平台,其特征在于,视域体裁剪调度:在应用程序端进行一次手动的裁剪,如果一个物体不在视域内,则直接在应用程序端将它剔除掉,不进行绘制,节省结点计算消耗的资源;
视域在OpenGL中以视景体定义,视景体即从当前视点观察场景的可见部分,在透视投影情形下,视景体的形状为一个被截去顶端的金字塔,金字塔的顶端是虚拟摄像机的位置,底端是视景体的远裁面,平截金字塔的平面为近裁面,近裁面也是透视投影的投影面,金字塔的近裁面和远裁面中间的部分为视景体,所有处于该区域的物体在当前视点下可见,视域体裁剪调度问题被转换为确定一个物体相对于视景体的包含关系,即物体完全被视景体包含、物体部分被视景体包含、物体处于视景体之外,确定包含问题首先确定视景体空间,视景体空间由六个面决定,分别为上下左右裁面、近裁面和远裁面,确定视景体空间演变为确定这六个面的方程;
首先假设一种更为简单的情形,即模型视图矩阵是单位矩阵,相机处在世界坐标系的原点,相机的upvector指向世界坐标系的y轴正方向,相机看向世界坐标系的z轴负方向,假设一个点u在相机坐标系中的坐标是u=(xyzw=1)T,模型视图矩阵为单位矩阵,该点在世界坐标系和相机坐标系下坐标一致,Q=(qij)为4×4的投影矩阵,点u经过投影变换后的坐标为u′=(x′y′z′w′)T,经过投影变换,点u′位于齐次的裁剪空间内,视景体是一个轴对齐的立方体,它的尺寸由图形API预先定义,;OpenGL中尺寸为-w′<x′<w′,-w′<y′<w′,-w′<z′<w′,如果点u′在变换后的这个立方体里,投影变换之前的点u也应当是在未变换的盒子,即视景体内,由此能推导出以下结论:一是如果-w′<x′,则x′在左裁剪面的内半平面内;二是如果x′<w′,则x′在右裁剪面的内半平面内;三是如果-w′<y′,则y′在下裁剪面的内半平面内;四是如果y′<w′,则y′在上裁剪面的内半平面内;五是如果-w′<z′,则z′在近裁剪面的内半平面内;六是如果z′<w′,则z′在远剪面的内半平面内;
如果平面的方程用f*x+e*y+s*z+g=0表示,得出左裁剪平面的方程:
x(q11+q41)+y(q12+q42)+z(q13+q43)+w(q14+q44)=0
因为w=1,因此方程写成:
x(q11+q41)+y(q12+q42)+z(q13+q43)+(q14+q44)=0
则方程的四个参数分别为:
f=q11+q41
e=q12+q42
s=q13+q43
g=q14+q44
重复上面的步骤得出其它五个裁剪平面的方程,裁剪面对应平面方程参数总结为:
左:f=q11+q41,e=q12+q42,s=q13+q43,g=q14+q44
右:f=q41-q11,b=q42-q12,c=q43-q13,g=q44-q14
上:f=q41-q21,b=q42-q22,c=q43-q23,g=q44-q24
下:f=q21+q41,e=q22+q42,s=q23+q43,g=q24+q44
近:f=q31+q41,e=q32+q42,s=q33+q43,g=q44+q44
远:f=q41-q31,b=q42-q32,c=q43-q33,g=q44-q34
通过视景体,即这六个裁剪平面确定一个物体是否在视景体内,将这个问题转换成确定一个物体的轴对齐包围盒与视景体的包含关系,确定轴对齐包围盒相对于视景体的位置,先确定一个点是否在视景体内,假设点u=(xuyuzu)T,点u位于视景体内等价于该点同时满足处于六个裁剪平面的正半空间内,确定点与平面之间的相对位置关系将点的坐标代入到平面方程中求值,并判断值的正负,即:
G=fxu+eyu+szu+g
若G>0,则表示该点位于平面的正半空间内,若G=0,则表示该点位于平面上,若G<0,则表示该点位于平面的负半空间内,判断轴对齐包围盒与视景体的包含关系的方法:依次判断包围盒的每个顶点,如果全部位于视景体内,则该包围盒被视景体完全包含;如果只有部分顶点在视景体内,则该包围盒与视景体相交;如果所有顶点均处于视景体外,则该包围盒在视景体之外,判断场景中的物体是否在可视范围内,如果不在可视范围,直接将其剔除掉。


4.根据权利要求1所述的插件式架构的大规模三维点云可视化平台,其特征在于,利用树形层次场景组织加速渲染:基于轴对称包围盒裁剪,当使用八叉树组织场景时,从根结点开始检查根结点的轴对齐包围盒与视景体之间的包含关系,如果轴对齐包围盒不在视景体内,则不...

【专利技术属性】
技术研发人员:刘秀萍
申请(专利权)人:刘秀萍
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1