CN111915720A - 一种建筑物Mesh模型到CityGML模型的自动转换方法 - Google Patents
一种建筑物Mesh模型到CityGML模型的自动转换方法 Download PDFInfo
- Publication number
- CN111915720A CN111915720A CN202010709479.1A CN202010709479A CN111915720A CN 111915720 A CN111915720 A CN 111915720A CN 202010709479 A CN202010709479 A CN 202010709479A CN 111915720 A CN111915720 A CN 111915720A
- Authority
- CN
- China
- Prior art keywords
- patch
- model
- semantic
- building
- patches
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 22
- 239000013598 vector Substances 0.000 claims abstract description 49
- 230000014509 gene expression Effects 0.000 claims abstract description 12
- 238000012805 post-processing Methods 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 abstract description 4
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000012800 visualization Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- MQTOSJVFKKJCRP-BICOPXKESA-N azithromycin Chemical compound O([C@@H]1[C@@H](C)C(=O)O[C@@H]([C@@]([C@H](O)[C@@H](C)N(C)C[C@H](C)C[C@@](C)(O)[C@H](O[C@H]2[C@@H]([C@H](C[C@@H](C)O2)N(C)C)O)[C@H]1C)(C)O)CC)[C@H]1C[C@@](C)(OC)[C@@H](O)[C@H](C)O1 MQTOSJVFKKJCRP-BICOPXKESA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种建筑物Mesh模型到CityGML模型的自动转换方法,首先将构建的建筑物Mesh模型转换为PLY格式,然后根据面片上的顶点,计算PLY格式的模型中包含的每个面片的法向量以及面片到原点的距离;接着根据面片的法向量和顶点坐标,确定判别规则,基于判别规则对PLY格式的模型中的建筑物进行语义对象识别;再对识别出的语义平面对象进行后处理;对后处理后的语义平面对象,采用CityGML模型的表达和存储规范生成几何语义一体化模型。本发明的方法支持绝大部分常规三维几何模型格式,算法效率高,人工交互少,建模成本低,自动构建的语义模型精度高,互操作性强,能够满足三维GIS环境下的专题检索和空间分析等深层次应用需求。
Description
技术领域
本发明涉及地理信息系统技术领域,具体涉及一种建筑物Mesh模型到CityGML模型的自动转换方法。
背景技术
在三维地理信息系统(Three-Dimensional Geographic Information System,简称3DGIS)、数字城市和智慧城市等应用驱动下,近年来许多行业的相关部门利用各种计算机辅助设计软件、工业设计软件、艺术设计和三维动画软件等交互建模平台构建了大量以三角格网(Triangle Mesh)或多边形格网(PolygonMesh)形式表达的虚拟三维模型,用于城市局部区域的三维仿真。而随着空间信息获取和计算机视觉等技术的快速发展,城市大范围三维建模得到了广泛深入的应用。利用倾斜摄影测量或机载激光雷达(LightDetectionandRanging,简称LiDAR)点云数据快速构建了大量以几何轮廓形式表达出来的建筑物三维模型,虽然建模速度快,自动化程度高,但模型精度低。此外,现有的这些三维模型以几何表达为主,仅限于三维可视化应用,无法满足空间数据挖掘、专题查询和空间分析等深层次应用需求。并且,这些三维GIS模型大都面向特定领域,语义表达较差,导致三维GIS系统利用率低,难以满足动态更新以及综合分析的需要。而赋予建筑物及其构件语义信息和实体间拓扑关系能够充分发挥现有建筑物模型数据的价值。
针对建筑物的三维数字化建模,国内外进行了大量研究,但大部分都侧重于利用三维激光扫描和数字摄影测量等技术进行数据驱动下的几何模型构建,建模结果也以Mesh模型表达为主。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
针对部分建筑物的三维精细建模,当前主流方法仍然是利用建模软件交互式生成,建模工作量大,成本高、效率低,得到的也是以三角网或多边形格网表达的几何模型。这些方法构建的Mesh模型仅限于三维可视化,互操作性差,忽略了建筑物结构的语义信息,不利于建筑物资源的精细化管理和三维分析等深层次应用。在语义模型构建方面,虽然建筑领域的BIM(Building Information Modeling)模型语义信息丰富,但其模型构建主要基于BIM软件的交互式人工建模,构建的IFC模型可用于单个建筑的生命周期管理,但是缺乏与GIS标准数据的集成,难以在三维GIS系统进行统一管理和应用。GIS领域的开放模型标准CityGML提供了建筑物多细节层次语义表达的规范,但是没有提供相关建模方法,市场上也缺乏直接构建CityGML语义模型的相关软件。部分商业软件虽然提供了Mesh模型、CityGML和IFC等各种数据格式的读写支持,但仍然缺乏从几何模型到语义模型的自动转换功能。总体来说,目前已经构建的建筑物高精度几何模型数据量巨大,但应用范围受限,且无法将这些复杂几何模型自动转换为较高细节层次语义模型。
发明内容
本发明提出一种建筑物Mesh模型到CityGML模型的自动转换方法,用于解决或者至少部分解决现有技术中的方法存在的无法实现Mesh模型到CityGML模型的自动转换的技术问题。
为了解决上述技术问题,本发明提供了一种建筑物Mesh模型到CityGML模型的自动转换方法,包括:
S1:将构建的建筑物Mesh模型转换为PLY格式,其中,PLY格式的模型包括多个面片,每个面片由三角形组成,包括三个顶点;
S2:根据面片上的顶点,计算PLY格式的模型中包含的每个面片的法向量以及面片到原点的距离;
S3:根据面片的法向量和顶点坐标,确定判别规则,基于判别规则对PLY格式的模型中的建筑物进行语义对象识别;
S4:对识别出的语义平面对象进行后处理;
S5:对后处理后的语义平面对象,采用CityGML模型的表达和存储规范生成几何语义一体化模型:CityGML模型。
在一种实施方式中,S3具体包括:
S3.1:根据每个面片的法向量与垂直方向的夹角θ,其中,垂直方向为Z轴方向,0°≤θ<180°,计算每个面片上各顶点坐标在Z轴方向的极值(zmin,zmas),其中,zmin表示某一个面片的最小z值,zmax表示某一个面片的最大z值,并根据顶点坐标在Z轴方向的极值计算面片垂直高度h,其中h其zmax-zmin;
S3.2:根据夹角θ的范围以及面片垂直高度判别LOD2层次下的建筑物的语义对象,LOD2层次下的建筑物的语义对象包括墙面、地面、平屋顶和斜屋顶;
S3.3:根据面片到原点的距离判断同一个面上的墙面、门和窗;
S3.4:确定所有面片的高程值范围(zg,ztop),其中,zg为PLY格式的模型中所有顶点的最小Z值,ztop为PLY格式的模型中所有顶点的最大Z值,计算每个面片的横向宽度,横向宽度为与Z轴垂直的宽度;
S3.5:根据夹角θ的范围、高程值与顶点坐标在Z轴方向的极值之间的关系、面片垂直高度以及横向宽度判别LOD3层次下的建筑物的语义对象,LOD3层次下的建筑物的语义对象包括门、窗、水平台阶和垂直台阶。
在一种实施方式中,S3.2具体包括:
S3.2.1:根据夹角θ的范围是否在85°到95°之间,判定面片属于墙面或者非墙面;
S3.2.2:计算出所有属于墙面的面片的高度的最小值hmin;
S3.2.3:将未归类为墙面的面片根据hmin与zmin之间的关系,划分为屋顶和地面。
在一种实施方式中,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面不超过1米:zmin-zg<1.0m,其垂直高度在1.5米到3米之间,其横向宽度大于1米且小于其垂直高度,则将其识别为门。
在一种实施方式中,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面大于0.8米:zmin-zg>0.8m,面片上边缘离屋顶距离大于1米:ztop-zmax>1m,其垂直高度在0.5米到2.4米之间,其横向宽度大于其0.3倍且小于其3倍垂直高度,则将其识别为窗。
在一种实施方式中,S4包括:
S4.1:依据语义对象的结构特征进行二次判断,修正部分语义类别赋值错误的情况;
S4.2:对同类型且共面共边的面片进行合并处理,删除冗余的顶点和边。
在一种实施方式中,S4.1中的判别条件包括:形状是否为矩形,是否有依附墙面。
在一种实施方式中,S4.2中采用区域增长算法实现,具体包括:
S4.2.1:在某个法向量方向的面片中随机选择一个面片作为种子点S;
S4.2.2:在所有与S法向量相近且语义类别相同的面片集合F中,寻找出与S共边的最近邻面片T,作为种子点S的最近邻集合KNN元素,将T添加到待合并区域R中,同时将T的相邻面片添加到KNN集合中,S法向量相近的条件为法向量之间的夹角相差5°以内;循环上述过程,直到F中没有可合并的面片;
S4.2.3:对R中的面片计算其最外层边界点组成合并后的多边形,作为最终要写入CityGML的一个语义实体的几何信息,对于与初始种子点S法向量相近但语义类别不同的面片,则作为一个新的种子点,重复以上区域增长过程,形成新的语义实体几何对象;
S4.2.4:循环检查每个法向量方向可合并的面片,直到所有语义实体对象所在平面上再无可合并的小面片为止。
在一种实施方式中,S5包括:采用边界表示法,通过描述对象的面、边缘、顶点及它们之间的关系来表达三维对象的形状细节。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供了一种建筑物Mesh模型到CityGML模型的自动转换方法,首先将构建的建筑物Mesh模型转换为PLY格式,然后根据面片上的顶点,计算PLY格式的模型中包含的每个面片的法向量以及面片到原点的距离;接着根据面片的法向量和顶点坐标,确定判别规则,基于判别规则对PLY格式的模型中的建筑物进行语义对象识别;再对识别出的语义平面对象进行后处理;对后处理后的语义平面对象,采用CityGML模型的表达和存储规范生成几何语义一体化模型。本方法能够快速地从Mesh中提取建筑物的平面特征(面片的法向量以及面片到原点的距离),并依据相关规则识别语义对象,最终建立几何、语义和拓扑一体化的CityGML模型。本发明的方法支持绝大部分常规三维几何模型格式,算法效率高,人工交互少,建模成本低,自动构建的语义模型精度高,互操作性强,能够满足三维GIS环境下的专题检索和空间分析等深层次应用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种建筑物Mesh模型到CityGML模型的自动转换方法流程图;
图2为本发明实施例中建筑物Mesh模型(三维几何模型)的示意图;
图3为本发明实施例中PLY格式Mesh模型可视化示意图;
图4为本发明实施例中CityGML模型面片合并前后效果对比示意图;
图5为本发明实施例中CityGML LOD3建筑物对象几何表达UML图;
图6转换后的CityGML LOD2模型可视化结果示意图;
图7转换后的CityGML LOD3模型可视化结果示意图。
具体实施方式
城市地理标记语言(City Geography Markup Language,简称CityGML)是开放地理空间信息联盟(OGC)推出的一种用于虚拟三维城市模型存储和交换的国际开放标准,也是一种表达城市三维对象的通用语义信息模型,为建筑物三维信息的共享交换和深入应用带来了契机。CityGML可以从语义上对城市建筑物三维模型进行描述,并可以在广域网环境下实现建筑物三维模型的传输、共享和互操作。这将使城市建筑物三维模型具有可重用性,也将大大降低城市三维建模的成本,从而推进三维数字城市的发展。然而,当前绝大部分批量构建的CityGML模型都是较低细节层次(Level ofDetail,简称LOD)的模型,如通过拉伸二维多边形轮廓得到的LOD1模型。少量高细节层次模型则是通过建筑领域的IFC(IndustryFoundation Classes,工业基础类)语义模型转换而来。
本申请发明人通过大量的研究与实践发现,基于CityGML的多细节层次三维建筑物模型快速构建还缺乏相关算法和软件支撑,尤其是建筑物几何模型转换为语义模型的研究成果非常少,缺乏行之有效的自动化语义信息提取方法。因此,以CityGML标准为基础,研究将高精度建筑物Mesh模型自动转换为CityGML模型的方法,不仅能够增强建筑物三维模型的语义和拓扑表达能力,而且能够大大提高现有建筑物模型数据的应用价值,对于实现城市建筑物三维模型数据的标准化管理与共享,提高建筑物三维模型重用性,并满足特定的查询、分析和深层次应用需求具有重要意义。
基于此,本发明提供了一种建筑物Mesh模型到CityGML模型的自动转换方法,实现了几何模型到语义模型的自动转换功能。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种建筑物Mesh模型到CityGML模型的自动转换方法,请参见图1,该方法包括:
S1:将构建的建筑物Mesh模型转换为PLY格式,其中,PLY格式的模型包括多个面片,每个面片由三角形组成,包括三个顶点。
具体来说,现有的各种建筑物三维几何模型由于使用的建模软件不同,可能存在多种不同格式(OBJ,PLY,3DS,COLLADA,STL,FBX,X3D等),其中,有些为二进制格式,有些为文本格式。为了便于后续程序的读写和处理,首先利用MeshLab等开源软件平台将不同格式的建筑物模型转换为统一的PLY格式。
PLY文件格式是Stanford大学开发的一套三维Mesh模型数据格式,是计算机图形学研究领域的一种常用格式。PLY作为一种多边形模型数据格式,不同于三维引擎中常用的场景图文件格式和脚本文件,每个PLY文件只用于描述一个多边形模型对象(Object),该Object可以通过诸如顶点(Vertices)、面(Faces)等数据进行描述,每一类这样的数据被称作一种元素(Element)。PLY文件结构简单:文件头加上元素数据列表。其中,文件头中以行为单位描述文件类型、格式与版本、元素类型、元素的属性等,然后根据在文件头中所列出元素类型的顺序及其属性,依次记录各个元素的属性数据。PLY文件允许以ASCII码或二进制形式存储文件。本技术主要采用文本存储的PLY文件。
例如,针对图2所示的某建筑物几何模型,将其转换为PLY格式后的可视化效果(WireFrame模式)如图3所示,共包含2417个顶点,1651个面片,所有面片都是由三角形组成。
S2:根据面片上的顶点,计算PLY格式的模型中包含的每个面片的法向量以及面片到原点的距离。
具体来说,对于普通建筑物,存在大量平面特征信息。依据PLY文件中存储的平面顶点坐标索引可以获取平面上各个顶点的坐标数据,依据每个面片上的三个及以上顶点便可求解该平面的法向量。假设PLY模型的某个平面用如下方程表示:
ax+by+cz+d其0
其中,a,b,c,d统称为平面系数,平面的法向量表示为d为该平面到坐标系原点的距离。假设该平面上任意3个顶点的坐标分别为v1其(x1,y1,z1),v2其(x2,y2,z2),v3其(x3,y3,z3),这3个顶点坐标的平均值为设:
列矩阵X其[a b c]T,则满足AX其0。对矩阵A做奇异值分解(SingularValueDecomposition,SVD),最小奇异值对应的特征向量就是拟合平面的法向量,然后对其进行归一化处理,使得a2+b2+c2其1。a,b,c求解后即可利用如下公式计算出d:
利用SVD分解方法可以快速求出Mesh模型各个面片的法向量和面片到原点的距离。对于法向量相同的面片,可进一步利用平面参数d来区分这些面片是否完全共面。
S3:根据面片的法向量和顶点坐标,确定判别规则,基于判别规则对PLY格式的模型中的建筑物进行语义对象识别。
具体来说,三维模型中不同平面对象的几何特征和拓扑规则是进行建筑物语义信息识别的基础。获取Mesh模型中各个面片的顶点坐标和平面法向量系数等信息后,基于一定的判别规则可以初步确定各个面片所属的语义类别。由于本发明主要关注建筑物外部几何模型的转换,目标是生成CityGML LOD2或LOD3建筑物模型,主要涉及的语义对象包括屋顶、墙面、地面、门、窗、台阶等。对于屋顶、墙面和地面等LOD2和LOD3都需要表达的语义对象,主要依据面片的法向量和顶点Z坐标范围来判断。
S4:对识别出的语义平面对象进行后处理。
具体来说,基于规则的语义平面对象识别后,需要对提取的语义平面对象进行后处理,包括基于面对象形状特征和拓扑关系的语义类型纠错,以及对共面且共边的相同语义对象进行形状合并等处理。
S5:对后处理后的语义平面对象,采用CityGML模型的表达和存储规范生成几何语义一体化模型:CityGML模型。
在一种实施方式中,S3具体包括:
S3.1:根据每个面片的法向量与垂直方向的夹角θ,其中,垂直方向为Z轴方向,0°≤θ<180°,计算每个面片上各顶点坐标在Z轴方向的极值(zmin,zmax),其中,zmin表示某一个面片的最小z值,zmax表示某一个面片的最大z值,并根据顶点坐标在Z轴方向的极值计算面片垂直高度h,其中h其zmax-zmin;
S3.2:根据夹角θ的范围以及面片垂直高度判别LOD2层次下的建筑物的语义对象,LOD2层次下的建筑物的语义对象包括墙面、地面、平屋顶和斜屋顶;
S3.3:根据面片到原点的距离判断同一个面上的墙面、门和窗;
S3.4:确定所有面片的高程值范围(zg,ztop),其中,zg为PLY格式的模型中所有顶点的最小Z值,ztop为PLY格式的模型中所有顶点的最大Z值,计算每个面片的横向宽度,横向宽度为与Z轴垂直的宽度;
S3.5:根据夹角θ的范围、高程值与顶点坐标在Z轴方向的极值之间的关系、面片垂直高度以及横向宽度判别LOD3层次下的建筑物的语义对象,LOD3层次下的建筑物的语义对象包括门、窗、水平台阶和垂直台阶。
其中,LOD2层次的语义判别规则中,每个面片上各顶点坐标在Z轴方向的极值zmin,zmax的含义是:假设每个面片是一个三角形,则有3个顶点,每个顶点都有x/y/z这3个坐标,求3个z坐标里面的最小值就是zmin,最大值就是zmax。
zg是代表地面的高程,相对于所有面片(整个模型)里面的最小Z坐标,zmin只是具体某一个面片的最小z值。同理,ztop是模型所有顶点的最大Z值,zmax就是当前要判断的某一个小面片(三角形)的最大高程值。一个模型可能有上千个小面片,zg和ztop是统计所有这些面片的一个总体极值,而zmin和zmax则是其中的第i个小面片的极值。
在一种实施方式中,S3.2具体包括:
S3.2.1:根据夹角θ的范围是否在85°到95°之间,判定面片属于墙面或者非墙面;
S3.2.2:计算出所有属于墙面的面片的高度的最小值hmin;
S3.2.3:将未归类为墙面的面片根据hmin与zmin之间的关系,划分为屋顶和地面。
具体来说,对于屋顶、墙面和地面等LOD2和LOD3都需要表达的语义对象,主要依据面片的法向量和顶点Z坐标范围来判断。首先计算每个面片的法向量与垂直方向(Z轴[00 1]T)的夹角θ(0°≤θ<180°),每个面片上各顶点坐标在Z轴方向的极值(zmin,zmax)及面片垂直高度h(h其zmax-zmin),然后依据相关规则来区分屋顶、立面和地面。
本实施方式主要针对常规建筑物的语义提取,假定所有的墙面都是与水平面垂直,屋顶要么与水平面平行(平屋顶),要么呈一定倾斜角度(Gable、Hip或Pyramid等斜屋顶),地面与水平面平行。由于原始几何模型构建时存在不可避免的误差,对于这些平行或垂直的约束条件给予一定的阈值,从而保证具有一定误差的面片可以正确识别。屋顶、墙面和地面的判别有一定的先后顺序,首先依据面片法向量是否与Z轴垂直(85°<θ<95°),可快速确定面片属于建筑物墙面或非墙面;其次,计算出所有属于墙面的面片高度的最小值hmin;最后,将未分类为墙面的面片根据法向量和Z坐标范围进一步区分为屋顶或地面。屋顶、墙面和地面的具体判别规则如表1所示,要求同时满足夹角θ和Z坐标两项约束。
表1屋顶、墙面和地面语义判别规则
基于表1的语义判别规则可以实现LOD2层次下的建筑物主要语义信息的提取。如果建筑物几何模型还包括门、窗、外部台阶等细节,则需要设定更多的规则来进一步提取LOD3层次下的语义对象。
在一种实施方式中,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面不超过1米:zmin-zg<1.0m,其垂直高度在1.5米到3米之间,其横向宽度大于1米且小于其垂直高度,则将其识别为门。
在一种实施方式中,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面大于0.8米:zmin-zg>0.8m,面片上边缘离屋顶距离大于1米:ztop-zmax>1m,其垂直高度在0.5米到2.4米之间,其横向宽度大于其0.3倍且小于其3倍垂直高度,则将其识别为窗。
具体来说,门窗等细节特征存在于建筑物立面上,门窗包含的几何特征信息如法向量等信息和墙面的几何特征信息近乎相等。对于存在一定墙面厚度的几何模型,转换为PLY模型后,可能存在门窗与所在墙面平行但有一定间距的情况,可以通过比较这些面片各自平面系数中的距离d来区分。台阶既可能是立面也有可能是水平面。对立面中的门、窗、台阶以及水平面上的台阶等面片的语义分类是通过面片Z值范围(zmin,zmax)、面片垂直高度h(h其zmax-zmin),以及面片横向(与Z轴垂直)宽度(w)等特征作为判断条件。Mesh模型的最大高度为所有顶点Z坐标的最大值,用ztop表示。
依据表1提供的判别规则识别地面后,计算该平面上所有顶点z坐标的最小值,用zg表示。门、窗、台阶不同语义对象的具体判别规则如表2所示,要求同时满足θ,z,h,w这4项约束条件。例如,如果某个面片垂直地面(85°<θ<95°),且面片的下边缘离地面不超过1米,其高度在1.5米到3米之间,其宽度大于1米且小于其高度,则将其识别为门。
表2门、窗和台阶语义判别规则
需要说明的是,由于现代建筑物的复杂性和多样性,以上列举的这些规则和阈值仅适用于大部分规则建筑物语义平面提取。针对部分造型独特或门窗设计不规则(弧形、圆形等)的建筑物,如商业写字楼、博物馆或教堂等,本发明提供的规则和方法不一定能准确识别各个语义对象,但是可以根据实际情况调整上述规则中的阈值,或者增加新的约束条件,从而提高自动识别的准确率。
在一种实施方式中,S4包括:
S4.1:依据语义对象的结构特征进行二次判断,修正部分语义类别赋值错误的情况;
S4.2:对同类型且共面共边的面片进行合并处理,删除冗余的顶点和边。
在一种实施方式中,S4.1中的判别条件包括:形状是否为矩形,是否有依附墙面。
具体来说,首先基于上一步获取的面片初始语义类别,依据语义对象的结构特征进行二次精确判断,从而修正部分语义类别赋值错误的情况。二次检查依据的条件是:门、窗、台阶不会以单独的一个三角形形状出现在墙面上;门、窗不会单独在一个平面上,必须有依附的墙面,且组成门或窗的每个三角形都必须是直角三角形,共斜边的两个三角形构成必须矩形;台阶不需要依附任何墙面。若平面类型不符合上述检查规则,将类型为门、窗、台阶的平面修改为墙面类型。门、窗和台阶的检查规则如表3所示。
表3门窗和台阶检查规则
检查规则 | 门 | 窗 | 台阶 |
形状 | 矩形 | 矩形 | 矩形 |
是否有依附墙面 | 是 | 是 | 否 |
在一种实施方式中,S4.2中采用区域增长算法实现,具体包括:
S4.2.1:在某个法向量方向的面片中随机选择一个面片作为种子点S;
S4.2.2:在所有与S法向量相近且语义类别相同的面片集合F中,寻找出与S共边的最近邻面片T,作为种子点S的最近邻集合KNN元素,将T添加到待合并区域R中,同时将T的相邻面片添加到KNN集合中,S法向量相近的条件为法向量之间的夹角相差5°以内;循环上述过程,直到F中没有可合并的面片;
S4.2.3:对R中的面片计算其最外层边界点组成合并后的多边形,作为最终要写入CityGML的一个语义实体的几何信息,对于与初始种子点S法向量相近但语义类别不同的面片,则作为一个新的种子点,重复以上区域增长过程,形成新的语义实体几何对象;
S4.2.4:循环检查每个法向量方向可合并的面片,直到所有语义实体对象所在平面上再无可合并的小面片为止。
具体来说,部分错分的面片类型纠正之后,对同类型且共面共边的面片进行合并处理,删除冗余的顶点和边,从而减少冗余面片在CityGML模型文件中的存储。此步骤采用区域增长算法来实现,算法的思路以及实现方式如步骤S4.2.1~4.2.4所示。
对R中的面片计算其最外层边界点组成合并后的多边形,R中的面片是指三角网。面片合并前后CityGML模型的对比效果如图4所示,可以看到大量三角形片面合并形成了多边形表达。
在一种实施方式中,S5包括:采用边界表示法,通过描述对象的面、边缘、顶点及它们之间的关系来表达三维对象的形状细节。
在提取了建筑物Mesh中各个面片的语义类别并进行纠错和面片合并处理之后,最后一步就是根据CityGML中建筑物模型的相关表达和存储规范来生成几何语义一体化模型。CityGML模型主要采用边界表示法(Boundary Representation,简称B-Rep),通过描述对象的面、边缘、顶点及它们之间的关系来表达三维对象的形状细节。对一个建筑物CityGML LOD2或LOD3模型来说,它的每个语义对象的边界均通过gml:MultiSurface几何结构来表达。其中,每个几何表面(MultiSurface)由多个平面gml:SurfaceMember构成,每个平面则由一个gml:Polygon对象表达,Polygon采用其外部轮廓闭合环(gml:LinearRing)来表达,最终对应一个由首尾相连的顶点组成的坐标串(gml:posList)。CityGML中存储建筑物屋顶(RoofSurface)、墙面(WallSurface)、地面(GroundSurface)、门(Door)和窗(Window)等不同语义对象的几何类型及其层次关系如图5所示。其中,RoofSurface、GroundSurface和WallSurface是LOD2和LOD3层级中均需要表达的对象;Door、Window和BuildingInstallation(室外台阶、立柱统一用BuildingInstallation抽象表达)需要在LOD3层级中才显示表达。并且,门和窗这两种对象一定要依附于特定墙面,作为墙面的Opening对象,并通过gml_parent_id属性来建立门窗与墙面的隶属关系。
此外,如果输入的几何模型有真实地理坐标或进行过地理配准后,可以将使用的空间参考系统(srsName)、模型边界范围(gml:boundedBy)等属性或Element写入CityGML文件,有利于与GIS数据进行集成,并在三维GIS系统中展示。
如果Mesh模型只需要转换为LOD2层级CityGML模型,则只需要将提取的屋顶、墙面和地面分别转换为RoofSurface、WallSurface和GroundSurface元素即可,对应为Lod2MultiSurface;若要转换为LOD3层级建筑物模型,还需要进一步将门、窗的面片用Window和Door等语义对象及其几何信息表达,将台阶存储为BuildingInstallation对象,并全部使用Lod3MultiSurface来标记。
对于图2所示的建筑物Mesh模型,依据本技术自动构建的CityGML LOD2和LOD3模型可视化结果分别如图6和图7所示,屋顶、墙面、门、窗、台阶等不同语义实体分别用不同颜色进行了渲染。
本发明中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (9)
1.一种建筑物Mesh模型到CityGML模型的自动转换方法,其特征在于,包括:
S1:将构建的建筑物Mesh模型转换为PLY格式,其中,PLY格式的模型包括多个面片,每个面片由三角形组成,包括三个顶点;
S2:根据面片上的顶点,计算PLY格式的模型中包含的每个面片的法向量以及面片到原点的距离;
S3:根据面片的法向量和顶点坐标,确定判别规则,基于判别规则对PLY格式的模型中的建筑物进行语义对象识别;
S4:对识别出的语义平面对象进行后处理;
S5:对后处理后的语义平面对象,采用CityGML模型的表达和存储规范生成几何语义一体化模型:CityGML模型。
2.如权利要求1所述的转换方法,其特征在于,S3具体包括:
S3.1:根据每个面片的法向量与垂直方向的夹角θ,其中,垂直方向为Z轴方向,0°≤θ<180°,计算每个面片上各顶点坐标在Z轴方向的极值(zmin,zmax),其中,zmin表示某一个面片的最小z值,zmax表示某一个面片的最大z值,并根据顶点坐标在Z轴方向的极值计算面片垂直高度h,其中h=zmax-zmin;
S3.2:根据夹角θ的范围以及面片垂直高度判别LOD2层次下的建筑物的语义对象,LOD2层次下的建筑物的语义对象包括墙面、地面、平屋顶和斜屋顶;
S3.3:根据面片到原点的距离判断同一个面上的墙面、门和窗;
S3.4:确定所有面片的高程值范围(zg,ztop),其中,zg为PLY格式的模型中所有顶点的最小Z值,ztop为PLY格式的模型中所有顶点的最大Z值,计算每个面片的横向宽度,横向宽度为与Z轴垂直的宽度;
S3.5:根据夹角θ的范围、高程值与顶点坐标在Z轴方向的极值之间的关系、面片垂直高度以及横向宽度判别LOD3层次下的建筑物的语义对象,LOD3层次下的建筑物的语义对象包括门、窗、水平台阶和垂直台阶。
3.如权利要求2所述转换方法,其特征在于,S3.2具体包括:
S3.2.1:根据夹角θ的范围是否在85°到95°之间,判定面片属于墙面或者非墙面;
S3.2.2:计算出所有属于墙面的面片的高度的最小值hmin;
S3.2.3:将未归类为墙面的面片根据hmin与zmin之间的关系,划分为屋顶和地面。
4.如权利要求2所述转换方法,其特征在于,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面不超过1米:zmin-zg<1.0m,其垂直高度在1.5米到3米之间,其横向宽度大于1米且小于其垂直高度,则将其识别为门。
5.如权利要求2所述转换方法,其特征在于,S3.5包括:
如果某个面片垂直地面,即夹角θ的范围是在85°到95°之间,且面片的下边缘离地面大于0.8米:zmin-zg>0.8m,面片上边缘离屋顶距离大于1米:ztop-zmax>1.0m,其垂直高度在0.5米到2.4米之间,其横向宽度大于其0.3倍且小于其3倍垂直高度,则将其识别为窗。
6.如权利要求1所述转换方法,其特征在于,S4包括:
S4.1:依据语义对象的结构特征进行二次判断,修正部分语义类别赋值错误的情况;
S4.2:对同类型且共面共边的面片进行合并处理,删除冗余的顶点和边。
7.如权利要求6所述转换方法,其特征在于,S4.1中的判别条件包括:形状是否为矩形,是否有依附墙面。
8.如权利要求6所述转换方法,其特征在于,S4.2中采用区域增长算法实现,具体包括:
S4.2.1:在某个法向量方向的面片中随机选择一个面片作为种子点S;
S4.2.2:在所有与S法向量相近且语义类别相同的面片集合F中,寻找出与S共边的最近邻面片T,作为种子点S的最近邻集合KNN元素,将T添加到待合并区域R中,同时将T的相邻面片添加到KNN集合中,S法向量相近的条件为法向量之间的夹角相差5°以内;循环上述过程,直到F中没有可合并的面片;
S4.2.3:对R中的面片计算其最外层边界点组成合并后的多边形,作为最终要写入CityGML的一个语义实体的几何信息,对于与初始种子点S法向量相近但语义类别不同的面片,则作为一个新的种子点,重复以上区域增长过程,形成新的语义实体几何对象;
S4.2.4:循环检查每个法向量方向可合并的面片,直到所有语义实体对象所在平面上再无可合并的小面片为止。
9.如权利要求1所述转换方法,其特征在于,S5包括:采用边界表示法,通过描述对象的面、边缘、顶点及它们之间的关系来表达三维对象的形状细节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010709479.1A CN111915720B (zh) | 2020-07-22 | 2020-07-22 | 一种建筑物Mesh模型到CityGML模型的自动转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010709479.1A CN111915720B (zh) | 2020-07-22 | 2020-07-22 | 一种建筑物Mesh模型到CityGML模型的自动转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111915720A true CN111915720A (zh) | 2020-11-10 |
CN111915720B CN111915720B (zh) | 2023-08-15 |
Family
ID=73280570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010709479.1A Active CN111915720B (zh) | 2020-07-22 | 2020-07-22 | 一种建筑物Mesh模型到CityGML模型的自动转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111915720B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569331A (zh) * | 2021-09-23 | 2021-10-29 | 泰瑞数创科技(北京)有限公司 | 一种建筑物三维模型语义化的方法及系统 |
CN117421373A (zh) * | 2023-09-05 | 2024-01-19 | 泰瑞数创科技(北京)股份有限公司 | 一种人工模型转换为语义模型的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050168460A1 (en) * | 2002-04-04 | 2005-08-04 | Anshuman Razdan | Three-dimensional digital library system |
CN105825550A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院沈阳应用生态研究所 | 顾及一致性的复杂三维建筑物模型剖切建模方法 |
CN105931294A (zh) * | 2016-04-19 | 2016-09-07 | 西南交通大学 | 一种将bim实体模型转换为多细节层次gis标准化模型的方法 |
CN109918751A (zh) * | 2019-02-26 | 2019-06-21 | 华中师范大学 | 一种基于CityGML扩展的建筑物三维语义建模方法 |
CN110807835A (zh) * | 2019-10-25 | 2020-02-18 | 南京工业大学 | 一种建筑物bim模型和实景三维模型的融合方法 |
-
2020
- 2020-07-22 CN CN202010709479.1A patent/CN111915720B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050168460A1 (en) * | 2002-04-04 | 2005-08-04 | Anshuman Razdan | Three-dimensional digital library system |
CN105825550A (zh) * | 2016-03-15 | 2016-08-03 | 中国科学院沈阳应用生态研究所 | 顾及一致性的复杂三维建筑物模型剖切建模方法 |
CN105931294A (zh) * | 2016-04-19 | 2016-09-07 | 西南交通大学 | 一种将bim实体模型转换为多细节层次gis标准化模型的方法 |
CN109918751A (zh) * | 2019-02-26 | 2019-06-21 | 华中师范大学 | 一种基于CityGML扩展的建筑物三维语义建模方法 |
CN110807835A (zh) * | 2019-10-25 | 2020-02-18 | 南京工业大学 | 一种建筑物bim模型和实景三维模型的融合方法 |
Non-Patent Citations (1)
Title |
---|
赵霞 等: "语义约束的RVT模型到CityGML模型的转换方法", 《地理信息世界》, vol. 22, no. 2, pages 15 - 20 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569331A (zh) * | 2021-09-23 | 2021-10-29 | 泰瑞数创科技(北京)有限公司 | 一种建筑物三维模型语义化的方法及系统 |
CN113569331B (zh) * | 2021-09-23 | 2022-01-04 | 泰瑞数创科技(北京)有限公司 | 一种建筑物三维模型语义化的方法及系统 |
CN117421373A (zh) * | 2023-09-05 | 2024-01-19 | 泰瑞数创科技(北京)股份有限公司 | 一种人工模型转换为语义模型的方法 |
CN117421373B (zh) * | 2023-09-05 | 2024-04-30 | 泰瑞数创科技(北京)股份有限公司 | 一种人工模型转换为语义模型的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111915720B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993827B (zh) | 一种将建筑图纸转换为三维bim模型的立面图识别方法 | |
CN107045526B (zh) | 一种电子建筑施工图的图形识别方法 | |
CN109815604B (zh) | 基于建筑要素拓扑关系的bim室内空间连通图构建方法 | |
CN111915730B (zh) | 一种顾及语义从点云自动生成室内三维模型的方法及系统 | |
CN111008422B (zh) | 一种建筑物实景地图制作方法及系统 | |
Zhou et al. | 2.5 d dual contouring: A robust approach to creating building models from aerial lidar point clouds | |
CN113487730B (zh) | 一种基于激光雷达点云数据的城市三维自动建模方法 | |
CN113158288A (zh) | 一种基于构件复用与重装配的信息模型几何轻量化方法 | |
CN114169055B (zh) | 使bim模型轻量化的方法及系统 | |
CN111915720B (zh) | 一种建筑物Mesh模型到CityGML模型的自动转换方法 | |
Yang et al. | Semantic decomposition and recognition of indoor spaces with structural constraints for 3D indoor modelling | |
Zhao et al. | A 3D modeling method for buildings based on LiDAR point cloud and DLG | |
CN115186347A (zh) | 户型平面图与倾斜模型相结合的建筑物CityGML建模方法 | |
CN117523125A (zh) | 一种建筑物三维体块模型快速构建方法 | |
Forlani et al. | Building reconstruction and visualization from lidar data | |
Zhou | 3D urban modeling from city-scale aerial LiDAR data | |
Otero et al. | Semi-automatic roof modelling from indoor laser-acquired data | |
CN115393542B (zh) | 一种广义建筑三维几何重建方法 | |
Lu et al. | Fast and robust generation of city-scale seamless 3D urban models | |
CN116152451A (zh) | 多维参数化城市信息模型构建方法、系统及计算机设备 | |
Xiong | Reconstructing and correcting 3d building models using roof topology graphs | |
Xue | As-built building information modeling: joint effort of 3D reconstruction and semantic enrichment | |
CN117422810B (zh) | 结构与参数引导的室内要素规则化与关系推理方法及终端 | |
CN110807797B (zh) | 顾及全局寻优的多源异构面实体与点实体的匹配方法及其存储介质 | |
CN112989458B (zh) | 一种BIM模型到3DTiles文件的转换方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |