基于GIS系统的三维模型子包围盒构建方法及装置与流程

文档序号:26947702发布日期:2021-10-12 20:14阅读:235来源:国知局
基于GIS系统的三维模型子包围盒构建方法及装置与流程
基于gis系统的三维模型子包围盒构建方法及装置
技术领域
1.本发明涉及三维模型构建领域,尤其是涉及一种基于gis系统的三维模型子包围盒构建方法及装置。


背景技术:

2.三维重建是指利用三维激光扫描技术、合成孔径雷达及数字全景摄像等空间数据采集技术采集研究区的点云数据,利用三角网生成算法在三维gis平台对地面、城市道路和建筑进行三维建模,得到研究区的三维模型,从而便于在三维gis平台进行空间分析和研究。
3.在对三维模型进行空间分析时,为了降低三维模型分析的运算数据量,通常会通过对三维模型进行分割并构建子包围盒,以提高空间分析的效率。然而,现有技术中通常仅根据三角面片的类别进行子包围盒的构建,构建的子包围盒的紧凑型较低,利用该子包围盒进行空间分析准确性和较低。


技术实现要素:

4.本发明的目的在于克服现有技术的缺点与不足,提供一种基于gis系统的三维模型子包围盒构建方法及装置,可以有效获得更加紧凑的子包围盒,提高三维模型空间分析的准确性。
5.本技术的第一方面,提供了一种基于gis系统的三维模型子包围盒构建方法,所述gis系统上设有包括若干个三角面片的三维模型;所述方法包括以下步骤:获取所述若干个三角面片各顶点的位置信息;按照预设的分类规则,将所述若干个三角面片分为若干个类别;基于快速三角形相交检测算法,根据所述若干个三角面片各顶点的位置信息获取各三角面片之间的空间关系; 其中,所述空间关系包括共点、共线及相离;根据所述空间关系对所述若干个类别的三角面片进行分类,获取若干个分类集合;其中,每一个所述分类集合包括若干个相同类别且空间关系相同的三角面片;基于三角面片增长算法,对所述若干个分类集合进行聚类,获取聚类集合;基于所述聚类集合构建所述三维模型的子包围盒,在gis系统显示所述三维模型的若干个子包围盒。
6.本技术的第二方面,提供了一种基于gis系统的三维模型子包围盒构建装置,所述gis系统上设有包括若干个三角面片的三维模型;所述装置包括:位置信息获取模块,用于获取所述若干个三角面片各顶点的位置信息;第一分类模块,用于按照预设的分类规则,将所述若干个三角面片分为若干个类别;
空间关系获取模块,用于基于快速三角形相交检测算法,根据所述若干个三角面片各顶点的位置信息获取各三角面片之间的空间关系; 其中,所述空间关系包括共点、共线及相离;第二分类模块,用于根据所述空间关系对所述若干个类别的三角面片进行分类,获取若干个分类集合;其中,每一个所述分类集合包括若干个相同类别且空间关系相同的三角面片;聚类模块,用于基于三角面片增长算法,对所述若干个分类集合进行聚类,获取聚类集合;子包围盒构建模块,用于基于所述聚类集合构建所述三维模型的子包围盒,在gis系统显示所述三维模型的若干个子包围盒。
7.本技术的第三方面,提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的基于gis系统的三维模型子包围盒构建方法的步骤。
8.本技术的第四方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的基于gis系统的三维模型子包围盒构建方法的步骤。
9.在本技术实施例中,通过获取gis系统上三维模型的三角面片各顶点的位置信息,结合三角面片的类别及空间关系对三角面片进行更加精准的分类,基于三角面片增长算法对若干个分类集合进行聚类,得到更加紧凑的聚类集合,再基于所述聚类集合构建具有紧凑结构的三维模型的子包围盒并在gis系统进行显示,相比较现有技术,本技术中构建的子包围盒的结构更加紧凑,当该子包围盒被运用在相交计算或空间分析时,可以有效提高计算效率和准确性。
10.为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
11.图1为本发明一个实施例中一种基于gis系统的三维模型子包围盒构建方法的流程图;图2为本发明一个实施例中分类集合的示意图;图3为本发明一个实施例中获取聚类集合的过程示意图;图4为本发明一个实施例中基于gis系统的三维模型子包围盒构建装置的结构示意图;图5为现有的牛模型、椅子模型和瓶子模型的原始模型图;图6为利用本技术所述方法及现有的原始模型进行相交实验的耗时统计图。
具体实施方式
12.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
13.应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下
所获得的所有其它实施例,都属于本技术实施例保护的范围。
14.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
15.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
16.此外,在本技术的描述中,除非另有说明,“若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a 和/或b,可以表示:单独存在a,同时存在a 和b,单独存在b 这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
17.本发明提供了一种基于gis系统的三维模型子包围盒构建方法,应用在gis系统上,其中,所述gis系统设有包括若干个三角面片的三维模型,所述三维模型可以为根据研究区的点云数据生成的包括研究区的地面、城市道路和建筑的三维模型。
18.在一个实施例中,所述三维模型生成的步骤具体包括:获取研究区的点云数据;基于三角网生成算法,生成研究区的三维模型;其中,点云数据可以通过利用三维激光扫描技术、合成孔径雷达及数字全景摄像等空间数据采集技术对研究区进行探测得到在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合。其中,根据激光测量原理得到的点云,包括三维坐标和激光反射强度;根据摄影测量原理得到的点云,包括三维坐标和颜色信息;结合激光测量和摄影测量原理得到点云,包括三维坐标、激光反射强度和颜色信息。在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”。
19.三角网生成算法是将多个相邻点进行连接,形成多个互相邻接且不重叠的三角形网络的算法,其中,所述三角网生成算法可以是分而治之算法、数据点渐次插入算法、三角网生长算法等常见的三角网生成算法。
20.如图1所示,所述基于gis系统的三维模型子包围盒构建方法包括以下步骤:步骤s1: 获取所述若干个三角面片各顶点的位置信息;步骤s2: 按照预设的分类规则,将所述若干个三角面片分为若干个类别;所述预设的分类规则可以根据所述三维模型的几何特征或者属性确定,例如,若三维模型为包括道路和建筑物,可以将涉及道路的三角面片分为一类,将建筑物分为一类,或者,根据道路和/或建筑物几何特征进行进一步细分。具体的分类规则可以根据用户研究需求进行设置。
21.步骤s3: 基于快速三角形相交检测算法,根据所述若干个三角面片各顶点的位置信息获取各三角面片之间的空间关系; 其中,所述空间关系包括共点、共线及相离;
快速三角形相交检测算法是指通过三角形各顶点构成的行列式正负的几何意义来判断两个三角形之间的相对位置关系的算法。具体地,当一个三角面片的一个顶点与另一个三角面片的一个顶点的位置相同时,判断两个三角面片共点,当一个三角面片的两个顶点与另一个三角面片的两个顶点的位置相同时,判断两个三角面片共线,当一个三角面片的每一个顶点与另一个三角面片的每一个顶点的位置均不相同时,判断两个三角面片相离。
22.步骤s4: 根据所述空间关系对所述若干个类别的三角面片进行分类,获取若干个分类集合;其中,每一个所述分类集合包括若干个相同类别且空间关系相同的三角面片;如图2所示,在一个实施例中,根据所述空间关系可以将所述若干个类别的三角面片分为以下六类:(1)类别相同,空间共线;(2)类别相同,空间共点;(3)类别相同,空间相离;(4)类别不同,空间共线;(5)类别不同,空间共点;(6)类别不同,空间相离。
23.步骤s5: 基于三角面片增长算法,对所述若干个分类集合进行聚类,获取聚类集合;所述三角面片增长算法可以是用户预先设置的聚类规则,在本技术实施例中,利用三角面片增长算法对相同类别且空间内相邻的三角面片进行聚类。具体地,获取聚类集合的步骤包括:从每一个分类集合中选取一个三角面片作为种子三角面片;将所述种子三角面片各顶点的位置信息作为队列信息;搜索与所述种子三角面片属于相同类别,且至少一个顶点的位置信息与所述队列信息中包括的位置信息相同的三角面片,将所述三角面片标识为相邻三角面片,并将该相邻三角面片的各顶点的位置信息添加至所述队列信息;将所述种子三角面片及所述相邻三角面片进行聚类,获取聚类集合。
24.如图3所示,在一个实施例中,所述分类集合有c个,每一个分类集合选取的种子三角面片有c个,在初始时,令,第k个种子三角面片包括顶点p1、 p2、 p3,初始队列信息包括顶点p1、 p2、 p3的位置信息,当搜索到另一个三角面片与种子三角面片存在相同的顶点p2时,将该三角面片的其他顶点p5、p6添加至队列信息,令;当搜索到另一个三角面片与种子三角面片存在相同的顶点p2、p3时,将该三角面片的其他顶点p4添加至队列信息,再按照更新后的队列信息搜索相同类别的相邻三角面片,令,直至,从而实现相同类别且空间内相邻的三角面片的聚类。
25.在一个实施例中,在搜索与所述种子三角面片属于相同类别,且至少一个顶点的位置信息与所述队列信息中包括的位置信息相同的三角面片的步骤之后,还包括:若所述三角面片各顶点的位置信息均与所述队列信息包括的位置信息不同,将该三角面片作为种子三角面片,将所述种子三角面片各顶点的位置信息作为队列信息;搜索与所述种子三角面片属于相同类别,且至少一个顶点的位置信息与所述队列信息中包括的位置信息相同的三角面片,将所述三角面片标识为相邻三角面片,并将该相邻三角面片的各顶点的位置信息添加至所述队列信息;
将所述种子三角面片及所述相邻三角面片进行聚类,获取聚类集合。
26.在一个实施例中,还包括以下步骤:获取属于相同类别且不具有相邻三角面片的种子三角面片;将所述属于相同类别且不具有相邻三角面片的种子三角面片进行聚类。
27.通过将各顶点的位置信息不被包含在队列信息的三角面片设为种子三角面片并重新进行相邻三角面片的搜索,提高聚类的准确性,通过对于属于相同类别且不具有相邻三角面片的种子三角面片进行聚类,实现所有三角面片的聚类,便于后续根据聚类集合构建三维模型的子包围盒。
28.步骤s6: 基于所述聚类集合构建所述三维模型的子包围盒,在gis系统显示所述三维模型的若干个子包围盒。
29.子包围盒是一个简单的几何空间,里面可以包含着若干个复杂形状的物体,通过将外形不规则或具有复杂外形的三维模型以子包围盒的方式进行分割,从而降低后续对三维模型分析的数据量,提高分析效率。
30.在本技术实施例中,通过获取gis系统上三维模型的三角面片各顶点的位置信息,结合三角面片的类别及空间关系对三角面片进行更加精准的分类,基于三角面片增长算法对若干个分类集合进行聚类,得到更加紧凑的聚类集合,再基于所述聚类集合构建具有紧凑结构的三维模型的子包围盒并在gis系统进行显示,相比较现有技术,本技术中构建的子包围盒的结构更加紧凑,当该子包围盒被运用在相交计算或空间分析时,可以有效提高计算效率和准确性。
31.请参阅图4,本发明还提供了一种基于gis系统的三维模型子包围盒构建装置, 所述gis系统上设有包括若干个三角面片的三维模型;所述装置包括:位置信息获取模块1,用于获取所述若干个三角面片各顶点的位置信息;第一分类模块2,用于按照预设的分类规则,将所述若干个三角面片分为若干个类别;空间关系获取模块3,用于基于快速三角形相交检测算法,根据所述若干个三角面片各顶点的位置信息获取各三角面片之间的空间关系; 其中,所述空间关系包括共点、共线及相离;第二分类模块4,用于根据所述空间关系对所述若干个类别的三角面片进行分类,获取若干个分类集合;其中,每一个所述分类集合包括若干个相同类别且空间关系相同的三角面片;聚类模块5,用于基于三角面片增长算法,对所述若干个分类集合进行聚类,获取聚类集合;子包围盒构建模块6,用于基于所述聚类集合构建所述三维模型的子包围盒,在gis系统显示所述三维模型的若干个子包围盒。
32.在一个实施例中,所述聚类模块5包括:第一种子三角面片获取单元,用于从每一个分类集合中选取一个三角面片作为种子三角面片;队列信息获取单元,用于将所述种子三角面片各顶点的位置信息作为队列信息;
搜索单元,用于搜索与所述种子三角面片属于相同类别,且至少一个顶点的位置信息与所述队列信息中包括的位置信息相同的三角面片,将所述三角面片标识为相邻三角面片,并将该相邻三角面片的各顶点的位置信息添加至所述队列信息;第一聚类单元,用于将所述种子三角面片及所述相邻三角面片进行聚类,获取聚类集合。
33.在一个实施例中,所述聚类模块5包括:第二搜索单元,用于若所述三角面片各顶点的位置信息均与所述队列信息包括的位置信息不同,将该三角面片作为种子三角面片,将所述种子三角面片各顶点的位置信息作为队列信息;搜索与所述种子三角面片属于相同类别,且至少一个顶点的位置信息与所述队列信息中包括的位置信息相同的三角面片,将所述三角面片标识为相邻三角面片,并将该相邻三角面片的各顶点的位置信息添加至所述队列信息;第二聚类单元,用于将所述种子三角面片及所述相邻三角面片进行聚类,获取聚类集合。
34.在一个实施例中,所述聚类模块5包括:第二种子三角面片获取单元,用于获取属于相同类别且不具有相邻三角面片的种子三角面片;第三聚类单元,用于将所述属于相同类别且不具有相邻三角面片的种子三角面片进行聚类。
35.本技术实施例还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述基于gis系统的三维模型子包围盒构建方法的步骤。
36.本技术实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
37.本技术实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述基于gis系统的三维模型子包围盒构建方法的步骤。
38.如图6所示,其为一个实施例中利用本技术所述三维模型子包围盒构建方法在如图5所示的牛模型、椅子模型和瓶子模型上进行三角面片相交实验及利用原始模型进行三角面片相交实验的耗时统计图;其中,牛模型、椅子模型和瓶子模型的顶点数量、三角面片数量、子包围盒数量及文件大小等模型参数如表1所示。
39.表1 牛模型、椅子模型和瓶子模型的模型参数
如图6所示,利用本技术所述三维模型子包围盒构建方法构建子包围盒之后,再进行三角面片相交实验的效率得到了较大幅度的提高。其中,在未构建子包围盒之前,对于牛模型、椅子模型和瓶子模型的三角面片相交测试平均耗时分别为7.3787毫秒、11.9397毫秒及15.7556毫秒,三角面片相交测试算法的耗时随着三角面片的数量增长而增长。而在利用本技术所述三维模型子包围盒构建方法构建子包围盒之后之后,相交实验测试平均耗时分别下降为3.3156毫秒、6.0005毫秒和7.8773毫秒。由此可以看出,在构建子包围盒之后,模型三角面片求交算法的耗时约降至子包围盒构建之前的50%,其效率获得了大幅提升。
40.本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1