CN113129444B - 一种同时考虑网格和结构的三维建筑物简化方法及系统 - Google Patents
一种同时考虑网格和结构的三维建筑物简化方法及系统Info
- Publication number
- CN113129444B CN113129444B CN202110465043.7A CN202110465043A CN113129444B CN 113129444 B CN113129444 B CN 113129444B CN 202110465043 A CN202110465043 A CN 202110465043A CN 113129444 B CN113129444 B CN 113129444B
- Authority
- CN
- China
- Prior art keywords
- building
- components
- simplification
- grid
- component
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 230000009467 reduction Effects 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 5
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000019771 cognition Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000012732 spatial analysis Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013441 quality evaluation Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Abstract
本发明创新地提出了一种同时考虑网格和结构的三维建筑物简化方法及系统。本发明将三维建筑物分为主体结构和辅助结构、连接结构、组合结构三种子结构,并根据结构间的依赖关系,将其用结构树的数据结构进行组织。在建筑物简化时,根据边折叠引起的体积变化和结构的视觉显著性,确定是进行网格简化还是结构移除操作。实验结果表明,与传统方法相比,本发明提出的方法与传统方法相比具有更好的简化效果,能有效避免过度网格简化引起的模型破坏问题。同时,在保持简化质量的同时,本发明提出的方法可以达到较高的简化率。此外,使用本发明得到的高度简化的三维建筑物模型能与原模型在某些空间分析中取得基本一致的结论。
Description
技术领域
本发明属于计算机图形学与虚拟地理环境领域,具体涉及一种同时考虑模型网格和建筑物结构的三维建筑物简化方法及系统。
背景技术
最常见的通用三维模型简化方法包括顶点聚类、顶点删除、边折叠、面折叠等,他们的基本思想是不断对模型网格中的点、线、面等几何图元进行删除、合并等操作,以减少模型数据量。这些方法通常需要构建一个误差函数,来评估简化操作带来的影响,其中最具代表性的是Garland et al.提出的针对边折叠算法的二次误差度量(QEM)算法,其能在保持简化模型质量的同时,大幅提升算法执行效率。
由于建筑物本身的复杂性,将通用简化方法直接应用于建筑物,可能破坏建筑物的几何约束和拓扑约束,故学者们对通用简化方法进行了一系列改进:Du et al.和Zhu etal.提出了感知驱动的建筑物简化方法,通过图像分析的方式识别建筑物中不易感知的部分并重点简化这些部分,减少对建筑物中显著部分的简化。J.Chen et al.和She et al.在简化时综合考虑几何误差和纹理误差,显著减少了建筑物简化时引起的纹理扭曲。
参考二维制图综合的思想,一种常见的建筑物简化方法是将三维建筑物投影到平面上得到建筑物基底,对基底简化后垂直向上拉伸并叠加屋顶得到简化结果。Fan et al.提出了三步走的简化策略,在基底各边平行垂直等几何约束的限制下,逐步移除基底中较短的边,并通过基底与屋顶的相交检测来避免屋顶与拉伸后的基底不匹配的问题,但此方法无法处理建筑群屋顶的简化。为解决此问题,Ge et al.将建筑物屋顶分为F-type,G-type,P-type三种类型,并根据建筑物组件之间的空间关系来对建筑物群的屋顶进行综合和简化。基于建筑物基底的简化方法更多应用在大规模城市场景建筑物群的可视化中,Maoet al.提出了一种称为CityTree的多分辨率大场景建筑物模型数据组织结构,在可视化过程中,根据视距动态地选择CityTree中的结点进行加载,以提高渲染效率。为保证简化后城市场景的易读性,L.Yang et al.在简化的过程中,引入格式塔心理学,提出了一种考虑空间认知的多尺度城市建筑物模型简化方法,简化得到的建筑物轮廓模型更符合人类的认知习惯。基于投影特征的简化本质是二维地图的综合,仅适用于低细节层次、屋顶结构简单的城市建筑群,只能应用于地图等特定场景,无法应用于结构复杂的单个精细建筑物模型。
三维建筑物模型由各种结构组合而成,从结构维度对建筑物进行简化,符合建筑物建模规律,更容易处理结构间的拓扑关系,简化结果也更符合人类的认知规律。Thiemannet al.提出利用分割平面将建筑物分解成有意义的单元,并将其存储在CSG树中,通过CSG树的深度控制LoD层级。Kada提出的单元分解算法使用建筑物墙面的近似平面分解建筑物,通过移除分解得到的墙面上的凸起和凹陷结构来简化建筑物。Zhao et al.使用扩展到三维空间的形态学操作方法,消除建筑物中小的凸起、凹陷或孔洞等结构。Li et al.利用拓展属性邻接图将建筑物结构分为嵌入结构、组合结构、连接结构,在简化时,不断删除这些结构,以达到简化的目的。Fan et al.利用CityGML模型中的语义信息识别建筑物的内部和外部组件,并通过删除建筑物的内部组件的方式简化建筑物。目前结构的分类没有明确的标准,且基于结构的简化方法只能适用于结构较为简单的建筑物。此外,结构简化后的建筑物仍然有网格简化的空间,可以通过网格简化进一步提高简化率。
综上所述,将通用三维模型简化方法直接应用于建筑物模型,当简化率较高时,可能因为几何和拓扑关系的破坏而严重影响模型外观。已有的三维建筑物简化方法只适用于结构较简单的建筑物,且简化后的建筑物仍可以通过网格简化进一步减少数据量。因此,本发明尝试在网格简化的同时,考虑建筑物组件形成的结构,对可能造成模型破坏的结构及时移除,从而在尽可能提高模型的简化率的同时,保证模型简化质量。
发明内容
发明目的:针对现有的网格简化和结构简化方法存在的不足,本发明目的在于提供一种综合考虑模型网格简化和建筑物结构简化的三维建筑物模型简化方法及系统,可以有效避免三维建筑物组件分离、坍塌等不合理情况的出现,且能达到较高的简化率。
技术方案:为实现上述发明目的,本发明提供的一种同时考虑网格和结构的三维建筑物简化方法,包括以下步骤:
根据建筑物组件间的拓扑连接关系,提取建筑物的主体结构、辅助结构、连接结构和组合结构,并根据结构间的依赖关系,将其用结构树的数据结构进行组织;
在对建筑物模型进行网格简化时,根据边折叠引起的体积误差和结构中组件的视觉显著性,决定组件的移除顺序,当边折叠引起的体积误差大于移除阈值时,对结构树中视觉显著性较低的结构进行移除,防止过度的网格简化对模型造成破坏;其中结构的视觉显著性为结构中所有组件的体积和。
进一步地,针对不存在语义和组件分组信息的建筑物模型的组件提取方法为:
遍历建筑物模型中的所有三角形将其存储在一个集合L中,集合中的每个三角形都存在于一个独立的子网格中;从L中拿出一个三角形ti,寻找所有与该三角形相邻的三角形并将其加入ti所在的子网格;继续重复上一步骤,直到所有的三角形都被遍历,在同一个子网格中的三角形组成的模型被认为是一个组件。
进一步地,对于两个组件,判断一个组件是否可以通过一个变换矩阵与另一个组件完全重合;如果能完全重合,就说明这两个组件为同类组件;对所有的组件进行此类判断,最终将同类组件组合为一个组件。
进一步地,建筑物的主体结构的提取方法为:
将组件间接触面积作为搜索条件,从建筑物的基底开始自下而上搜索来提取主体结构,每次搜索时,选出与当前提取到的结构顶部接触面积最大的组件加入主体结构,直到高度最高的组件;若搜索路径出错,则回退重新搜索。
进一步地,建筑物的辅助结构的提取方法为:
将建筑物组件间的拓扑图中度为1的组件结点移除,并不断移除度为1的组件结点后直到拓扑图中除了主体结构结点外没有度为1的组件结点,则所有被移除的组件都为辅助结构;再将主体结构组件移除,剩下的独立组件结点也为辅助结构。
进一步地,建筑物的连接结构和组合结构的提取方法为:
将建筑物组件间的拓扑图中主体结构组件与辅助结构组件删除,根据剩下的连通子图类型判断;若连通子图中不存在环或存在的环可以通过删除一条边而去除环,则该连通子图中的组件组成的结构为连接结构;除了连接结构外,剩下的连通子图中的组件组成的结构均为组合结构。
进一步地,以多叉树的形式对主体结构、辅助结构、连接结构和组合结构进行组织,其中,主体结构为树的根结点,若结构P依赖于结构Q,则令P的父结点为Q。
进一步地,结构的移除阈值为结构中所包含的组件的体积的最小值。
进一步地,对建筑物模型进行结构和网格两个维度的简化,具体方法为:
(1)在每次边折叠时计算体积误差,如果体积误差小于所有结构移除阈值的最小值,则执行步骤(3);否则,设最小移除阈值对应的结构为S,显著性为Ss,执行步骤(2);
(2)每次都从结构树中拿出一个显著性最低的叶子结点,直到拿出的所有结构的显著性之和小于Ss的情况下,结点个数最多;如果移除所有这些结构仍无法达到目标简化率,则移除这些结构和S,并更新结构树,执行步骤(3);如果移除这些结构后,可以达到目标简化率,则按照这些结构显著性从小到大的顺序,不断移除建筑物中的结构并更新结构树,直到达到目标简化率,结束简化;
(3)判断当前简化率是否达到目标简化率,如达到目标简化率则结束简化,否则继续执行步骤(1)。
基于相同发明构思,本发明提供的同时考虑网格和结构的三维建筑物简化系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的同时考虑网格和结构的三维建筑物简化方法。
有益效果:与传统的只在网格层面进行简化的边折叠简化算法相比,本发明将建筑物分为主体结构和辅助结构、连接结构、组合结构三种附属结构,并将这些结构用结构树的数据结构组织,每次边折叠时,通过边折叠引起的体积变化及时移除可能发生坍塌的结构。实验结果表明,本发明提出的方法能有效避免建筑物组件脱离,坍塌等不合理的现象,且能达到较高的简化率。
附图说明
图1是本发明实施例的方法流程图。
图2是本发明实施例中组件提取结果示意图:(a)原模型;(b)组件提取结果;(c)同类组件组合结果。
图3是本发明实施例中主体结构提取流程图。
图4是本发明实施例中子结构提取示意图:(a)建筑物组件连接图;(b)度为1的结点所在的结构为辅助结构;(c)断开主体结构中的组件与其他组件之间的连接关系后,根据子图的特征提取结构;(d)根据结构之间的依赖关系构建结构树。
图5是本发明实施例中半边折叠引起的体积变化示意图。
图6是本发明实施例的简化结果和传统方法的对比结果图。
图7是本发明实施例中阴影分析评价的阴影误差计算示意图。
具体实施方式
下面结合具体实例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明实施例公开的一种同时考虑模型网格和建筑物结构的三维建筑物简化方法,主要流程包括建筑物组件提取、结构识别和组织和模型简化。具体步骤如下:
1.建筑物组件提取
目前广泛使用在建筑物建模领域的程序建模方法中,建筑物模型通常是由多个组件逐步组装而得到的。这些组件中,一部分组件用来表现建筑模型的细节特征(如中国古建筑物屋脊上的神兽),其重要性较低,移除后不会显著影响模型外观;另一部分用于表现建筑物的整体外观,对建筑物的识别至关重要。如能识别出这两类组件,并在保持建筑物的整体外观的前提下,按照一定的规则移除重要性较低的组件,就能达到模型简化的目的。对于没有组件语义信息的建筑物模型,根据建筑物由多个组件组装建模的特点,利用模型三角形网格之间的连接关系,使用广度优先搜索的方法进行预处理,将所有相连的三角形聚合在一起,将这些相连三角形网格构成的部分认为是一个组件。
本实施例中针对不存在语义信息和组件分组信息的建筑物模型,使用一种广度优先遍历的方法提取建筑物组件。遍历建筑物模型中的所有三角形将其存储在一个集合L中。集合中的每个三角形都存在于一个独立的子网格中,从L中拿出一个三角形ti,寻找所有与该三角形相邻的三角形并将其加入ti所在的子网格。继续重复这一步骤,直到所有的三角形都被遍历。此时,在同一个子网格中的三角形组成的模型被认为是一个组件。根据组件的外观和功能,将同类组件进行组合,保证接下来组件移除过程中的一致性。具体算法流程下:
Step 1遍历模型中的每个三角形ti,初始化其组件编号为i,将其存入到集合TriangleList中。
Step 2从TriangleList中取出一个未被访问的三角形,标志其为已访问,并将其存入到队列queue中,执行Step 3。
Step 3从queue中取出一个三角形tj,假设其组件编号为j,将其标志为已访问。遍历tj所有未被访问的相邻的三角形,设置其组件编号为j,并存入queue中。不断执行Step3,直到queue为空,然后执行Step 4。
Step 4继续执行Step2,直到TriangleList中的所有三角形都被访问。
图2中(a)所示的模型提取得到的建筑物组件如图2中(b)所示,从图中可以看到建筑物组件被非常完整地提取了出来。一栋建筑物中,可能存在大量同类组件(如图(b)中的柱子),他们外观一致,作用相同,在简化时,为保持简化前后的一致性,应该同时存在或移除,故需要将其组合为一个组件。对于两个组件,判断一个组件是否可以通过一个变换矩阵(如旋转变换、平移变换)与另一个组件完全重合。如果能完全重合,就说明这两个组件为同类组件。对所有的组件进行此类判断,最终将同类组件组合为一个组件对同类组件组合后的结果如(c)所示,图中不同的颜色表示不同的组件。对于已经存在语义信息和组件分组信息的建筑物模型,可以跳过本步骤。
2.结构提取和组织
可以将一栋建筑物粗略地分为主体部分和附属部分,其中主体部分作为建筑物的主要组成部分,决定了建筑物的大致外观,可以用来最粗略地表示建筑物模型。根据建筑物的建造规律,发明使用了一种将组件间接触面积作为搜索条件,从建筑物的基底开始自下而上搜索的试探算法来提取主体结构,算法流程如图3所示。从建筑物的基底组件开始,自下而上搜索。首先将基底作为当前组件ti,自下往上搜索。每次搜索时,先根据组件间的拓扑连接关系找到与当前组件ti顶部相连的所有组件,并将这些组件按照底部切片面积降序排列存储到数组A中。再从A中,选择第一个未访问的,即组件间接触面积最大且未访问的组件作为下一个组件。不断执行此操作,直到ti为建筑物组件中高度最高的组件。
搜索过程中,可能出现一种情况:没有与ti相连的其他组件,但ti不是最高组件。这种情况下,将无法继续搜索,说明当前搜索路径是错误的,从这条搜索路径出发,无法搜索到建筑物主体部分。此时,搜索需要回退到前一个组件。故先将ti标志为已访问,并将ti赋值为前一个搜索到的组件,并重新进行搜索,直到搜索完成。最终搜索得到的组件组成的模型,称之为建筑物的主体结构。
除主体结构外,剩余的建筑物组件均属于附属部分。附属部分主要负责对主体部分进行协调和装饰。根据组件间拓扑关系,将建筑物附属部分中的组件分为三种结构:辅助结构、连接结构和组合结构。
(1)辅助结构:建筑物中的一些组件,只是简单的贴合在一个单独的组件之上,贴合的组件与其他组件没有连接关系,如中国古建筑屋檐上的神兽。被贴合的组件既可以是主体结构中的组件,也可以是附属部分的组件。这类组件只是为了表现建筑物的细节而存在,在建筑物中主要起装饰作用,将这类结构称为辅助结构,这类结构大量存在于建筑物中,移除这类组件,对建筑物外观的影响不大。
(2)连接结构:建筑物主体结构间,通常存在多个组件相互联通的情况。他们间的连接较为简单,不存在其他的附属结构构成的连接关系,如中国传统建筑物中石鼓和柱子组合形成的结构。这些组件需要划分为一个整体结构,否则会出现结构悬空的情况,将这样的结构称为连接结构。
(3)组合结构:和上面提到的连接结构类似,主体结构间还存在一类结构,他们也与主体结构相互连接,但与连接结构相比,组合结构中的组件间的连接关系通常更复杂,而且组合结构往往能自成一个更小的独立于主体结构的建筑物系统。重新对这个部分进行结构提取,就能得到新的辅助结构,连接结构。
根据以上三种结构的特征,利用组件间的拓扑图和已提取得到的主体结构,设计针对这三种结构的提取方法,并用结构树的数据结构对提取得到的结构进行组织。以图4中的组件拓扑图为例,M1~M4组成的M为识别得到的主体结构中的组件,C1~C11为附属组件,整个提取流程如下:
首先提取最简单的辅助结构。这类结构只是简单的贴附在主体结构组件或附属组件上,此外,与其他组件没有连接关系,如图(b)中的C1和C3。这类辅助结构在拓扑图中表现为度为1的结点,故这类辅助结构可通过查找度为1的结点快速得到。每次找到度为1的结点,就将其从拓扑中移除,然后再判断与移除的附属结构相连的结点的度是否因为结点的移除变为1,如是,继续移除,直到图中除了主体结构结点外没有度为1的结点。如图(b)中C3移除后,C2结点的度变为1,则需要继续移除C2结点。移除的过程中,需要记录该附属结构所依赖的结点,以便构建结构树,如C1依赖于C5所在的结构,C3则依赖于C2。
根据附属组件对主体结构协调和装饰的特点,为了简化附属组件和主体结构间的连接关系,更清晰地观察附属结构间的连接关系,首先将拓扑图中的主体部件结点与附属部件结点间的连接边全部断开,并将主体部件结点和前面提取出来的附属结构从拓扑图中删除,如图(c)所示。删除结点后,剩下的组件结点会构成多个连通子图,且每个连通子图均依赖于主体结构,根据每个连通子图中结点的连接特征,判断子图的结构类型:
·如果子图中只有一个独立结点,表明该结点只与多个主体结构相连,故该结点对应的组件为辅助结构,如图(c)中的C6结点。
·如果连通子图中的结点间的连接关系较为简单,连通子图中不存在环或存在的环比较简单,可以通过删除一条边而去除环,就认为这个子图中的组件组成的结构为连接结构,这些组件必须看成一个整体,否则会出现组件悬空的情况,如图(c)中由C4和C5组成的A结构。
·除辅助结构和连接结构外,剩下的连通子图组成的结构均属于组合结构。组合结构的连通子图中,结点间的连接关系较为复杂,往往存在多个环,且无法通过简单的删除环中的某条边去除环,如图(c)中由C7~C11组成的B结构。组合结构往往可以形成一个独立于其他结构的建筑物部分,为更进一步对此类结构细分,再将组合结构看作为一个新的建筑物部分,再对其进行主体结构和辅助结构、连接结构提取,提取得到的结构均依赖于组合结构中的主体结构。
结构提取完成后,根据不同结构间的依赖关系,用一个用多叉树实现的结构树对结构进行组织。其中,主体结构为树的根结点,若结构P依赖于结构Q,则令P的父结点为Q。结构提取后得到的结构树如图(d)所示。
3.模型简化
使用半边折叠算法对模型网格简化时,每次折叠都会带来网格表面体积的变化,且随着简化率的提高,网格体积的变化会越来越大。如图5所示,当图(a)网格中的A点折叠到B后,会形成图(b)的网格,因为边折叠导致的体积误差如图(c)所示。体积误差可以通过以折叠目的点B为顶点,以被折叠点A为顶点的三角形①~④为底面的三棱锥体积和粗略表示(因A到以AB为边的三角形的距离为0,故此处不计算以AB为边的两个三角形),故每次半边折叠引起的体积误差可用公式表示为:
其中d为半边折叠的边AB的长度,t表示其中一个顶点为被折叠点A,且三边均不为折叠的边AB的所有三角形。
当边折叠引起的体积误差大于等于建筑物组件中某个组件的体积时,则说明该组件可能出现坍塌,需要将此组件移除。单个组件的移除可能导致与移除组件相连的组件出现悬空的情况,为避免这种情况出现,移除时需要将该组件所在的结构整体移除。因此,对于每个结构S来说,其移除阈值的计算方式为:
tS=MIN(Vc)(c∈S)
其中Vc为结构S所包含的组件。
如仅根据移除阈值确定结构的移除顺序,可能出现的一种情况是:某个结构因为其中的一个组件体积较小,导致计算得到的该结构的移除阈值较小,故在简化时,会很早被移除。但如果该结构中其他组件体积较大,整个结构的视觉显著性就会很高,这个结构的移除可能会引起较大的视觉跳变,故这种结构的过早移除明显是不合理的。为避免这种情况的出现,结构的视觉显著性也应作为结构移除的一个考虑因素。三维场景中,三维模型的体积是视觉显著性最重要的度量因素之一,因此,将每个结构中所有组件的体积和作为该结构的视觉显著性,故结构S的视觉显著性W的计算公式为:
其中c为结构S中所包含的建筑物组件。
根据计算得到的结构移除阈值和结构显著性,对建筑物模型进行结构和网格两个维度的简化。使用一个集合Ht按照移除阈值升序来存储所有结构,然后按照如下步骤进行简化:
Step1.使用半边折叠方法对建筑物模型进行简化,每次边折叠,都利用上述的公式计算此次边折叠带来的体积误差,如果体积误差小于Ht中的最小值,则执行Step3;否则,说明该次折叠操作可能会引起建筑物组件破坏,假设此最小值对应的结构为S,显著性为Ss,执行Step2。
Step2.每次都从结构树中拿出一个显著性最低的叶子结点Sm,直到所有结构的显著性和sum小于Ss的情况下,结点个数最多。将这些结点存储到容器C中
·如果移除容器C中的所有结构仍无法达到目标简化率,则移除C中所有的结构和S,并更新结构树和Ht。执行Step3。
·如果移除容器C中的结构后,可以达到目标简化率,则按照结构显著性从小到大的顺序,不断移除C中的结构并更新结构树和Ht,直到达到目标简化率,结束简化。
Step3.判断当前简化率是否达到目标简化率,如达到目标简化率则结束简化,否则继续执行Step1。
图6为使用本方法与传统QEM算法对三维建筑物模型进行简化的结果。从图中可以看到,当简化率达到50%时,用QEM算法简化的建筑物栏杆部分已经出现了明显的组件脱离情况,本发明提出的算法的简化结果因为移除了部分组件,避免了这种情况的出现。当简化率达到70%和90%时,用QEM算法简化的建筑物已经完全被破坏,但本研究提出的算法的简化结果仍能保持建筑物模型的主要外观特征。
基于相同发明构思,本发明实施例公开的一种同时考虑网格和结构的三维建筑物简化系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述实施例公开的一种同时考虑网格和结构的三维建筑物简化方法。
为体现本发明的效果,下面从监护模型外观和空间分析结论一致性保持两个方面评价简化质量。
外观评价中,使用基于二维图像的简化质量评价方法。评价的原理为:将原模型和简化后的模型放置在同一位置,然后在多个不同的位置分别放置相机,然后分别对原模型和简化的模型在相机位置离屏渲染,获取该相机位置的原模型和简化模型的渲染图像;接着将每一张同一位置的原模型和简化模型的图像逐像素对比,计算误差,最后再计算所有误差的平均值RMS,作为简化模型的视觉质量评价。RMS计算公式为:
其中,Yhij和Y′hij分别表示第h个相机渲染的图像,在(i,j)位置处的亮度值。l表示相机的数量,m和n分别表示离屏渲染得到的图像的长宽。计算得到的RMS值越小,说明简化模型和原模型的相似程度越高,简化质量也相对越好。实验结果表明,在简化率较高时,本发明提出的方法相比传统方法,RMS值更小,说明本发明提出的方法简化质量更高。
空间分析结论一致性保持评价中,使用阴影分析作为评价方法。使用SketchUp中的阴影模拟功能,模拟三个实验模型不同时段投射在地面上的阴影情况,将简化率为90%的简化模型放置和原模型放置在同一位置,从上午9:00到下午15:00,每隔一个小时获取一张原模型和简化率为90%的模型的阴影。然后,用下面的公式计算简化模型的阴影误差E:
其中ao为原模型的阴影面积,ad为简化后模型与原模型阴影不相同的部分的面积,如图7所示,假设图(a)中,A部分为原模型在某一时刻的阴影,B部分为简化模型在同一时刻同一位置的阴影,ad则为图(b)中深灰色的面积。E的值越小,说明和原模型空间分析得到的计算结果越接近,空间分析结论的一致性越高。实验表明,本发明提出的方法具有较高的空间分析结论一致性。
Claims (9)
1.一种同时考虑网格和结构的三维建筑物简化方法,其特征在于,包含以下步骤:
根据建筑物组件间的拓扑连接关系,提取建筑物的主体结构、辅助结构、连接结构和组合结构,并根据结构间的依赖关系,将其用结构树的数据结构进行组织;
在对建筑物模型进行网格简化时,根据边折叠引起的体积误差和结构中组件的视觉显著性,决定组件的移除顺序,当边折叠引起的体积误差大于移除阈值时,对结构树中视觉显著性较低的结构进行移除;其中结构的视觉显著性为结构中所有组件的体积和;对建筑物模型进行结构和网格两个维度的简化,具体方法为:
(1)在每次边折叠时计算体积误差,如果体积误差小于所有结构移除阈值的最小值,则执行步骤(3);否则,设最小移除阈值对应的结构为S,显著性为Ss,执行步骤(2);
(2)每次都从结构树中拿出一个显著性最低的叶子结点,直到拿出的所有结构的显著性之和小于Ss的情况下,结点个数最多;如果移除所有这些结构仍无法达到目标简化率,则移除这些结构和S,并更新结构树,执行步骤(3);如果移除这些结构后,可以达到目标简化率,则按照这些结构显著性从小到大的顺序,不断移除建筑物中的结构并更新结构树,直到达到目标简化率,结束简化;
(3)判断当前简化率是否达到目标简化率,如达到目标简化率则结束简化,否则继续执行步骤(1)。
2.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,针对不存在语义和组件分组信息的建筑物模型的组件提取方法为:
遍历建筑物模型中的所有三角形将其存储在一个集合L中,集合中的每个三角形都存在于一个独立的子网格中;从L中拿出一个三角形ti,寻找所有与该三角形相邻的三角形并将其加入ti所在的子网格;继续重复上一步骤,直到所有的三角形都被遍历,在同一个子网格中的三角形组成的模型被认为是一个组件。
3.根据权利要求2所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,对于两个组件,判断一个组件是否可以通过一个变换矩阵与另一个组件完全重合;如果能完全重合,就说明这两个组件为同类组件;对所有的组件进行此类判断,最终将同类组件组合为一个组件。
4.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,建筑物的主体结构的提取方法为:
将组件间接触面积作为搜索条件,从建筑物的基底开始自下而上搜索来提取主体结构,每次搜索时,选出与当前提取到的结构顶部接触面积最大的组件加入主体结构,直到高度最高的组件;若搜索路径出错,则回退重新搜索。
5.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,建筑物的辅助结构的提取方法为:
将建筑物组件间的拓扑图中度为1的组件结点移除,并不断移除度为1的组件结点后直到拓扑图中除了主体结构结点外没有度为1的组件结点,则所有被移除的组件都为辅助结构;再将主体结构组件移除,剩下的独立组件结点也为辅助结构。
6.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,建筑物的连接结构和组合结构的提取方法为:
将建筑物组件间的拓扑图中主体结构组件与辅助结构组件删除,根据剩下的连通子图类型判断;若连通子图中不存在环或存在的环可以通过删除一条边而去除环,则该连通子图中的组件组成的结构为连接结构;除了连接结构外,剩下的连通子图中的组件组成的结构均为组合结构。
7.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,以多叉树的形式对主体结构、辅助结构、连接结构和组合结构进行组织,其中,主体结构为树的根结点,若结构P依赖于结Q,则令P的父结点为Q。
8.根据权利要求1所述的同时考虑网格和结构的三维建筑物简化方法,其特征在于,结构的移除阈值为结构中所包含的组件的体积的最小值。
9.一种同时考虑网格和结构的三维建筑物简化系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-8任一项所述的同时考虑网格和结构的三维建筑物简化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110465043.7A CN113129444B (zh) | 2021-04-28 | 一种同时考虑网格和结构的三维建筑物简化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110465043.7A CN113129444B (zh) | 2021-04-28 | 一种同时考虑网格和结构的三维建筑物简化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113129444A CN113129444A (zh) | 2021-07-16 |
CN113129444B true CN113129444B (zh) | 2024-07-02 |
Family
ID=
Non-Patent Citations (1)
Title |
---|
3D building model simplification method considering both model mesh and building;Jiangfeng She, Bo Chen, Junzhong Tan, Qiang Zhao, Rongcun Ge;Transactions in GIS;20220214;第26卷(第3期);1182-1203 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Architectural modeling from sparsely scanned range data | |
CN112070769B (zh) | 一种基于dbscan的分层点云分割方法 | |
US8798965B2 (en) | Generating three-dimensional models from images | |
CN109242862B (zh) | 一种实时的数字表面模型生成方法 | |
CN109410332A (zh) | 基于点线面的三维空间几何虚拟模型细节层次裁剪方法 | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及系统 | |
Lee et al. | Perceptual organization of 3D surface points | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
Han et al. | Vectorized indoor surface reconstruction from 3D point cloud with multistep 2D optimization | |
CN114926602B (zh) | 基于三维点云的建筑物单体化方法及系统 | |
CN106251331A (zh) | 一种倾斜测量场景中地物的提取方法 | |
CN115797592B (zh) | 一种基于倾斜摄影三维模型自动生成建筑物体块的方法和装置 | |
CN116051759B (zh) | 一种生成倾斜摄影lod简化模型的方法 | |
She et al. | 3D building model simplification method considering both model mesh and building structure | |
CN114241325A (zh) | 基于街景图片的空调挂机空间分布自动识别方法及系统 | |
CN115861247A (zh) | 一种高分辨率遥感影像轮廓多级正则化方法、系统及应用 | |
CN115937461A (zh) | 多源融合模型构建及纹理生成方法、装置、介质及设备 | |
CN108062758B (zh) | 一种基于图像分割算法的人群生成仿真方法及系统 | |
He et al. | Footprint-based 3d generalization of building groups for virtual city visualization | |
CN113129443A (zh) | 一种拓扑关系保持的三维建筑物简化方法及系统 | |
Wang et al. | StructuredMesh: 3D Structured Optimization of Fa\c {c} ade Components on Photogrammetric Mesh Models using Binary Integer Programming | |
CN113129444B (zh) | 一种同时考虑网格和结构的三维建筑物简化方法及系统 | |
Zhao et al. | A 3D modeling method for buildings based on LiDAR point cloud and DLG | |
He et al. | Footprint-based generalization of 3D building groups at medium level of detail for multi-scale urban visualization | |
CN115033972B (zh) | 一种建筑主体结构批量单体化方法、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |