CN117274517A - 基于三维模型的城市建筑物轻量化体框模型的生成方法 - Google Patents
基于三维模型的城市建筑物轻量化体框模型的生成方法 Download PDFInfo
- Publication number
- CN117274517A CN117274517A CN202311229019.9A CN202311229019A CN117274517A CN 117274517 A CN117274517 A CN 117274517A CN 202311229019 A CN202311229019 A CN 202311229019A CN 117274517 A CN117274517 A CN 117274517A
- Authority
- CN
- China
- Prior art keywords
- point
- building
- points
- point cloud
- local
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000011218 segmentation Effects 0.000 claims abstract description 43
- 238000005520 cutting process Methods 0.000 claims abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 238000001914 filtration Methods 0.000 claims description 29
- 238000009826 distribution Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims description 12
- 230000002146 bilateral effect Effects 0.000 claims description 10
- 238000012805 post-processing Methods 0.000 claims description 7
- 238000004220 aggregation Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 238000007667 floating Methods 0.000 claims description 4
- 102000002423 Octamer Transcription Factor-6 Human genes 0.000 claims description 3
- 108010068113 Octamer Transcription Factor-6 Proteins 0.000 claims description 3
- 239000006185 dispersion Substances 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 238000006116 polymerization reaction Methods 0.000 claims description 3
- 230000001939 inductive effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005184 irreversible process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A30/00—Adapting or protecting infrastructure or their operation
- Y02A30/60—Planning or developing urban green infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出一种基于三维模型的城市建筑物轻量化体框模型的生成方法,将城市三维模型进行垂直投影生成栅格化的DSM数据;使用二维数字线划图裁切局部DSM数据;使用建筑物的局部DSM数据生成建筑物的顶面点云数据;对顶面点云数据进行预处理,使用双重聚类对建筑物的顶面点云进行特征分割,将建筑物分割为多个局部部件;生成局部部件的体框模型;所有的局部部件进行空间布尔并运算,合并的结果即为建筑物的体框模型。本发明使用城市三维模型和二维数字线划图作为数据源,能全自动且高效的并行生产建筑物的体框模型,大幅减少人工参与度,同时尽可能的保留了城市建筑物的顶面特征,为城市三维信息展示的单体化和语义化提供更好的数据基底。
Description
技术领域
本发明属于测绘技术领域,特别涉及到一种基于三维模型的城市建筑物轻量化体框模型的生成方法。
背景技术
《实景三维中国建设技术大纲(2021版)》引起了测绘地理信息行业的广泛关注,随着新型基础测绘的理念逐渐普及以及实景三维中国的技术与标准体系的不断完善,各级建设路径逐渐清晰,实景三维作为新型基础测绘标准化产品逐渐成为行业聚焦。
建筑物单体化是新型基础测绘的概念中相当重要的一部分,也是城市信息语义化的基础;城市建筑单体化有多个表达形式,有通过建筑物外轮廓在城市倾斜模型中使用模型切割方法直接将建筑物切割下来的切割单体化,也有通过人工手动作业,通过三维编辑软件,结合城市三维模型,生产出建筑物的单体化模型的手工单体化;但是上述方法均有明显的缺点:切割单体化运行效率高,可以全自动化大规模并行生产,但是切割单体化的结果本质上和倾斜模型具有相同的分辨率,导致单个建筑物的数据量相对较大,应用于城市级别的场景时往往整个城市的单体化建筑数据量级将达到TB甚至PB级别,这样的数据级别无论是存储管理还是加载演示都是极大的负荷;手工单体化细节保持完好,几何结构也能最大程度简化以压缩数据量,广泛地应用于各个展示平台中,但是由于手工单体化自动化程度低,将产生大量的人力成本负担,往往需要大量的从业人员长期投入,导致生产周期拉长。
根据《城市三维模型快速构建工作方案》中提出的LOD1.0,LOD1.3,LOD2.0级别建筑物单体化成果需求,城市建筑物的轻量化体框模型(LOD1.0,LOD1.3,LOD2.0)的生成方法逐渐成为测绘领域中的焦点技术。传统的模型简化方法主要存在简化力度很难控制(QEM,Quadric Error Metrics),以及简化特征丢失(拉普拉斯平滑简化算法)等等问题。
发明内容
本发明提出一种基于三维模型的城市建筑物轻量化体框模型的生成方法,使用城市三维模型和二维数字线划图作为数据源,能全自动且高效的并行生产建筑物的体框模型,大幅减少人工参与度,同时尽可能的保留了城市建筑物的顶面特征,为城市三维信息展示的单体化和语义化提供更好的数据基底。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于三维模型的城市建筑物轻量化体框模型的生成方法,包括:
S1、将城市三维模型进行垂直投影生成栅格化的DSM数据;
S2、使用二维数字线划图裁切出栅格化的DSM数据的每个建筑物的局部DSM数据;
S3、对每个建筑物的局部DSM数据并行进行下列步骤S4-S8的处理;
S4、使用建筑物的局部DSM数据生成建筑物的顶面点云数据;
S5、对顶面点云数据进行预处理,使用点云的离群滤波去除孤立点,使用点云双边滤波去噪方法进行初步点云去噪处理;
S6、使用双重聚类对建筑物的顶面点云进行特征分割,将建筑物分割为多个局部部件;
S7、局部部件使用基于平面特征空间分割方法以及基于拟合能量函数的混合线性模型的最优优化方法生成局部部件的体框模型;
S8、建筑物的所有的局部部件进行空间布尔并运算,合并的结果即为建筑物的体框模型。
进一步的,步骤S1中,将原始的城市三维模型数据使用三角面线性内插算法转化为栅格化的DSM数据。
进一步的,步骤S2中,将栅格化的DSM数据的每个建筑物的局部DSM数据从整体的DSM数据中通过建筑物的数字线划图图版进行裁切,获取每个建筑物的局部DSM数据和自身的外轮廓数据。
进一步的,步骤S3中,包括根据每个建筑物的局部DSM数据和外轮廓数据,获取建筑物的基本信息,每个建筑物单独独立处理。
进一步的,步骤S5具体包括:
S51、设定邻域K值,计算点云中每个点K邻域范围内点的距离,由此计算每个点与其K邻域范围内点的平均距离,然后计算每个点K邻域范围内点的距离与平均距离的差的平方的分布,计算该分布的中误差,将中误差大于阈值的点标记为孤立点,最后删除点云中的孤立点完成离群滤波算法;
S52、根据每个点与其K邻域范围内点的平均距离计算每个点的法向量,使用K邻域范围的点拟合出一个拟合平面S2,引入双边滤波调整距离的计算方法:
;
其中:N(P)为点P的K邻域,,P'是P点在S2上的投影,/>为P的法向量,/>是Pi的法向量,Wc和Ws分别是不同标准差σc和σs的高斯核函数,分别代表空间域权重和特征域权重;
计算每个点的d值,与阈值判断,大于阈值的则标记为噪点并删除,完成点云的双边滤波去噪。
进一步的,步骤S6具体包括:
S61、高程聚类:
对建筑物的顶面点云数据以高程为聚类依据,将互相之间高程较为接近的点聚为一类:从某个种子点出发,遍历剩下的点,将其中与种子点高程差小于阈值的点加入到种子点的一类中形成种子点集,然后再对剩下的点遍历,将其中与种子点集中的所有点至少有一个点满足高程差小于阈值的点加入到种子点集中,如此循环,直至剩余的点中找不到满足条件的点加入种子点集,则本轮迭代结束;将种子点集中的点全部标记同一类;然后就从剩下的点中随机选择一个点作为新的种子点,重复上述过程,直至所有点都被标记,则完成了点云的高程聚类;
S62、空间聚类:
对高程聚类后的每一类的顶面点云数据,以空间距离为聚类依据,将互相之间空间距离较为接近的点聚为一类:每一类的顶面点云数据,从某个种子点出发,遍历剩下的点,将其中与种子点空间距离小于阈值的点加入到种子点的一类中形成种子点集,然后再对剩下的点遍历,将其中与种子点集中的所有点至少有一个点满足空间距离小于阈值的点加入到种子点集中,如此循环,直至剩余的点中找不到满足条件的点加入种子点集,则本轮迭代结束;将种子点集中的点全部标记同一类;然后就从剩下的点中随机选择一个点作为新的种子点,重复上述过程,直至所有点都被标记,则完成了点云的空间聚类;
S63、经过高程聚类再经过空间聚类后的点云,被分为多个聚类点集合,每个集合则视为一个局部部件。
进一步的,步骤S7具体包括:
S701、局部部件基底判断:
首先对全部的局部部件进行按最低高程进行自下而上排序,然后按高程自下而上依次进行判断,最先满足局部部件点云的水平投影面积大于等于整个建筑物的水平面积的一定比例阈值即可判断为建筑物基底;如果全部局部部件都不满足上述条件,则利用所有局部部件中最低高程的部件的最低高程构造一个虚拟的水平面点云作为基底;
S702、局部部件外轮廓生成:
对于在步骤S701中判断为基底的局部部件,直接用建筑物的外轮廓作为基底局部部件的外轮廓;
对于非基底的局部部件,先对局部部件的点云进行水平投影,投影到XY轴上,得到平面点云数据,再对所述平面点云数据进行AlphaShape算法,提取边界点,形成非基底的局部部件的外轮廓;
S703、局部部件外轮廓后处理:对每个局部部件外轮廓用基底局部部件的外轮廓约束和矫正;
S704、局部部件虚拟立面生成:使用一定采样间隔将局部部件的轮廓线的每个线段等分,然后从整个建筑物的最低高程开始,使用同样的采样间隔向上垂直采样,直到局部部件点云的最低点为止,每个采样点即为虚拟的立面点,然后与顶面点云进行合并;
S705、局部部件增强型平面区域分割:通过基于能量函数的增强型的平面提取和区域分割算法进行平面特征的提取,将每个局部部件的点云区域分割为多个平面区域;
S706、局部部件区域空间分割方案预处理整合以及空间分割:
每个局部部件的点云区域分割为多个平面区域,每个平面区域拟合出一个平面,两两比对,如果拟合的平面类似,则将其合并;
S707、空间分割后备选面能量函数计算:
用每个平面切割整个空间,顺次两两相交,相交出来的每个面称之为备选面,得到备选面的切割方案,计算每一个备选面的能量函数如下:
;
;
;
;
;
上式中E为备选面的能量函数,是一个三个值的数组,ωc、ωf、ωo分别是三个权值系数,分别代表聚合度Ec权值,覆盖度Ef权值,复杂度Eo权值,对应的是各自类型能量函数,nv是备选面的顶点个数,zi是当前顶点的z坐标,zmax是顶点最大z坐标,zmin是顶点最小z坐标,r是点云分辨率,是当前备选面的面积,ne是备选面的边的个数,le是当前边的长度,是当前边和下一个邻接边的夹角;
S708、备选面混合线性模型生成:根据备选面切割方案的空间分割结果,备选面的能量函数,备选面的边的邻接关系构建混合线性模型;
S709、使用开源的数学解算库SCIP解算所述混合线性模型的最优优化;
S710、将最优优化的结果转为局部部件的体框模型:
根据S709解算的二值化未知数解,得到所有备选面中保留的备选面,将每个备选面进行拓扑求交得到最终的局部部件的体框模型。
更进一步的,步骤S703所述后处理的具体步骤包括:
S731、提取建筑物主方向;提取和归纳建筑物基底局部部件的外轮廓的主方向分布,先将其外轮廓分解成多个截线,再求解每个截线的法向量,再对法向量按方向分布做聚类处理,再将方向分布的占比大于某个阈值方向作为主方向之一,同向方向和反向方向都认为是同一方向;
S732、外轮廓简化:采用DP简化算法将每个建筑物部件的外轮廓顶点数压缩,减小后续规则化步骤的计算量;
S733、根据建筑物主方向进行部件外轮廓规则化:将简化后的外轮廓,根据所述主方向进行多边形的规则化,使线段与主方向平行或者垂直,最后将所有的截线段按最开始顺序顺次相交,得到新的规则化后的多边形。
更进一步的,步骤S705所述增强型的平面提取和区域分割算法具体步骤如下:
S751、使用RegionGrow算法得到初始的区域分割结果;
S752、计算能量函数;
计算方式如下:
;
;
;
;
;
其中E(p)是点p的能量函数,ωd、ωi、ωt分别是三个权值系数,分别代表局部平均离散度Ed的权值,区域点集密集度Ei的权值,区域点集整体聚合度Et的权值,N(p)是点p所属于的区域的点集合,n是区域点个数,pi、pj是点集合N(p)中两个点,S2是该区域点拟合出来的平面,是集合中点pi在高斯分布中对应的概率密度权值,/>是pi点到拟合出来的平面S2的距离,/>是两点的距离,/>是点p的平均点间距,/>是pi点自己的法向量,/>是pj点自己的法向量;
S753、更新点云法向量;重新求解每个点云点的法向量;
S754、计算点位移,进行导向滤波;
根据每个点的能量函数计算其在法向量上的移动距离,其计算方式为:
;
是点p到拟合出来的平面S2的距离;
然后使用导向滤波沿着法向量更改点的坐标:
;
其中,点为点/>在法向量/>上移动距离/>后的新坐标;
S755、各个区域边界点投票重定归属;
对于每个分好的区域,在其内部进行投票,计算点p所在区域的点集中所有点的平均能量函数,然后计算点p所属区域的邻域的平均能量函数,将点p归于能量函数更接近的那一类;
S756、判断是否满足迭代条件;
每个点完成重新投票后,再更新一遍所有点的能量函数做两个判断:
a.当前迭代次数大于预设值;
b.更新后的所有点能量函数之和大于迭代前的能量函数之和;
满足其中一个则停止迭代,否者回到步骤S753重新迭代。
更进一步的,步骤S708所述构建混合线性模型的步骤包括:
S781、建立未知数模型:
建立三种类型的未知数解,设解集为一个bool型的二值化数组X,则:
;
其中表示备选面的二值解,/>为边的二值解,/>为二面角的二值解,nf是备选面个数,ne是邻接边个数;T代表转置;
S782、添加线性项以及约束项:
添加好未知数之后向混合线性模型中添加对应位置的系数,首先建立一个邻接表,所述邻接表表达每个备选面之间的邻接关系以及相邻面的公共边;
遍历邻接关系,添加每个邻接二面角对应的系数,系数为该二面角对应的两个备选面的复杂度的加权能量值ωo·Eo 的平均值;混合线性模型添加一行:
;
再遍历每个备选面,添加备选面系数,添加每个面的覆盖度的加权能量值ωf·Ef:
;
再遍历一次每个备选面,添加备选面系数,添加每个面的聚合度的加权能量值ωc·Ec:
;
然后将上述三行系数作为浮点项加入模型,接下来添加约束项;
遍历邻接关系添加一行系数作为约束型系数:
;
再遍历每个邻接关系,在每个邻接关系中,遍历每个备选面,每个备选面都构建一行约束型系数,形式如上式,每个备选面与该邻接关系做判断,如果该备选面涉及该邻接关系则赋予系数2.0,否则赋予系数-1.0;本次迭代一共产生nf·ne个约束型系数;
至此完成混合线性模型的构建。
与现有技术相比,本发明具有如下的有益效果:
(1)本发明提出的方法相对于手工单体化而言,基本不需要人手动参与,源数据输入并参与运算之后即可全自动并行处理,而且平均每个建筑物的运行时长较短,对于特征结构较为简单的建筑物,需要的运行时长为0.1s-5s,平均2.9s;对于结构特征较为复杂的建筑物,需要时长为1min-5min,平均4.1min。但是相对于手动处理,全自动化流程无论是在大规模并行效率上还是人力成本上都有相当的优势;
(2)相对于传统切割单体化,本发明提出的方法生成的体框模型相对于原始的倾斜三维模型,大幅度简化了非必要的局部特征,大幅减少了三维模型mesh结构中的顶点以及三角面个数,达到了理想的数据压缩比,使其在城市级的应用场景中拥有更好的前景;
(3)本发明提出的方法,适用于国家近年提出的城市级体框模型的需求,同时将立面部分与顶面部分分开处理,相对于传统mesh模型简化方法,可以在不同尺度上压缩原始建筑物的特征(对于立面等非重点特征完成最大尺度简化以最少的边和顶点表达立面,对于房顶或者多结构特征则尽可能保存原有的形状特征),相对于传统的体框生成方案(使用定向包围盒表示建筑,丢失了部分建筑的斜顶特征),保留了建筑顶部的基本特征,在展示中与原始数据更加贴合,失真较少;
(4)本发明使用的是一种改进的增强型的平面区域分割方法,相对于传统的平面生长区域分割算法和Fast RANSAC算法,在区域的交界处争议点更少,而且每次增强迭代会调整点的位置,会在提取平面区域特征的同时强化平面区域特征,使后续的混合线性模型的优化解算更加鲁棒。
附图说明
图1是本发明实施例的整体流程图;
图2是本发明实施例的单个建筑物生成体框模型流程图;
图3是本发明实施例的基于能量函数的增强型平面提取算法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为使本发明专利的目的、特征更明显易懂,下面结合附图以及实施例作进一步的说明。
本发明提出了一种基于城市三维模型的建筑物轻量化体框模型生成方法,核心设计思想是将三维模型转化为DSM以强化建筑物部件结构特征,通过轮廓线向上垂直采样形成虚拟立面替代原有的立面数据,再通过基于平面特征的区域分割方法找到对应特征面的切割平面,通过每个特征面的切割平面进行三维空间分割,最后针对空间分割的结果,对分割出来的每个平面,每个边赋予对应的权值和能量函数来构造混合线性模型,通过解算混合线性模型的全局最优优化来确定最贴合原始建筑物形状的最优空间分割,分割的结果就是最终的体框模型;对于有复杂结构特征的建筑物,采取基于高程的空间特征分割将建筑物分割成多个建筑物部件,再使用上述方法得到每个部件的体框模型,最后再将每个部件进行空间布尔运算得到多部件合并结果也即整个建筑物的体框模型。
本发明的理论基础在于使用建筑物的平面特征作为特征基底,将空间平面分割为多个待选区块和待选面,通过能量函数给每个区块和待选面赋予权值和对应的约束,将模型的简化问题转化为了对于待选面基于能量函数的线性规划的最优优化解问题,通过使用开源的数学混合线性解算库求解最优解。
由于混合线性模型的最优优化解随着模型规模的扩充,其所需要的运算算力急速膨胀,对于未知数个数较少的情况解算时长通常在毫秒级别,随着模型未知数的变多,其运算时间甚至高达数十小时;故本发明同时提出了建筑物的特征分割,增强型平面区域提取等预处理算法步骤,将模型需要解算的未知数的个数限制在可控范围内,从而实现了上述算法的工程化的理论基础。
本发明的具体实现过程如下:
一、将城市三维模型进行垂直投影生成栅格化的DSM数据;
首先对原始数据进行预处理,将原始的城市三维模型数据进行导向滤波以及平滑滤波,然后转化为栅格DSM数据。城市三维模型一般以倾斜三维模型为主,mesh模型;数据特征为mesh格网数据,三角格网(TriMesh)为主,数据中记录顶点坐标信息,以及由顶点索引构成的面信息,一般以OBJ文件,OSGB文件等作为数据载体;DSM(Digital Surface Model)是栅格化的数字表面模型,一般用tiff或者GeoTiff等储存高程信息的图像作为数据载体。
本步骤中将mesh转化为DSM的原因是:
1、后续的步骤中需要将建筑物和城市三维模型中其他地物实体分离开来,直接使用外轮廓在mesh模型上进行拓扑切割,运行的效率远低于直接在栅格数据上进行图像切割处理的效率;
2、栅格化后的数据,可以转化为离散的点云,转化后的点云XY坐标规则排列,在后续的操作中无论是离群滤波,还是点云的聚类,栅格化的XY坐标在上述算法中均要提速不少;
3、在新型基础测绘理念中提到的建筑物体框模型,对于建筑物顶面信息和建筑物立面信息所需要的简化尺度是不同的,对于立面部分,体框模型的需要其立面在满足外轮廓的前提下尽最大可能简化,但是对于顶面部分,需要控制简化力度,尽可能保留主要结构特征,保留主体建筑部件;传统方法将二者一起处理很难掌控简化的程度,简化力度过小立面很多非必要细节会保留下来达不到体框模型的要求,简化力度过大时虽然立面达到要求,但是顶面信息丢失严重也达不到要求;将mesh转化为DSM则很好的滤去了立面的信息仅保留顶面信息(DSM数据的特征);
本步骤中将Mesh模型转化为DSM的方法使用的是三角面的线性内插算法,是一种经典的DSM生成算法,DSM分辨率一般取值0.1-0.3范围内;
二、使用二维数字线划图裁切出每个建筑物的局部DSM数据;
本步骤的目标是将建筑物的局部DSM从原始的场景中切割出来,城市级别的地理场景中,为了方便并行化处理,需要将每个建筑物的局部DSM数据从整体的DSM数据中通过建筑物的数字线划图图版进行裁切后获取每个建筑物的局部DSM数据和自身的外轮廓数据,执行后续的操作步骤互不干扰。
三、对每个建筑物的局部DSM数据进行工程化整理;
为了最大化利用计算机的算力,同时最大化地提高运行效率,每个建筑物需要单独独立处理,并根据局部DSM和外轮廓,获取建筑物的基本信息,如水平面积,最大高程,最小高程等等。后续的步骤皆可以并行进行,建筑物之间相互独立。下述的步骤四至步骤八皆阐述的对每个建筑物的处理步骤。
四、使用建筑物的局部DSM数据生成建筑物的顶面点云数据;
本步骤将DSM数据转化成离散的点云数据,此时得到的点云数据是滤去了大部分立面点的数据,转化为离散点云的原因是以图像为载体的DSM数据对于三维信息的利用率不足,需要将其转化为三维点云,后续步骤才可以更好的使用空间三维特征信息;
不直接从mesh模型转化为离散点云的原因是,mesh模型转化点云的过程是不可逆过程,而mesh模型转DSM数据由于每个三角面的拓扑关系保存完好,所以转成DSM数据的过程中很方便的就可以去除立面信息,相反,直接从mesh模型转化为点云会破坏点面之间的拓扑连续性,而转成点云之后,点云的特征后处理算法又很难较好的去除立面点云,故本发明使用mesh模型->DSM数据->点云的数据转化巧妙的滤除了立面点。
五、对顶面点云进行预处理,使用点云的离群滤波去除明显的孤立点,使用双边滤波方法进行初步点云去噪处理;
本步骤对上一步骤得到的点云数据进行预处理算法,预处理算法包括使用离群滤波除去明显的孤立点后再使用RANSAC算法进行初步的去噪处理;
a.点云离群滤波:
使用点云的离群滤波的目的是去除离散点云中的孤立点,其具体的处理方法如下:
首先设定好邻域K值,此处K默认取K = 10,计算点云中每个点K邻域范围内点的距离,由此计算每个点与其K邻域范围内点的平均距离,然后计算每个点K邻域范围内的距离与平均距离的差的平方的分布,计算该分布的中误差,将中误差大于阈值(阈值一般取0.25)的点标记为孤立点,最后删除点云中的孤立点完成离群滤波算法;
b.点云双边滤波去噪:
与点云离群滤波一致,点云的去噪仍然以K邻域作为邻域搜索方法(K=10),计算每个点在其K邻域范围内的平均距离d,并计算每个点的法向量,使用邻域范围的点拟合出一个拟合平面S2,现引入双边滤波调整距离的计算方法:
;
其中:N(P)为点P的K邻域,,P'是P点在S2上的投影。/>为P的法向量,/>是Pi的法向量,Wc和Ws分别是不同标准差σc和σs的高斯核函数,分别代表空间域权重和特征域权重;
计算每个点的d值与阈值判断(一般设为0.15)大于阈值的则标记为噪点并删除,完成点云的双边滤波去噪。
六、使用双重聚类方案对建筑物的顶面点云进行特征分割,将建筑物分割为多个局部部件;
在本步骤内将完成特征分割,复杂的建筑物往往具有多个结构特征,例如居民区建筑物,很多小区的建筑物楼栋之间有低层连廊,而且临街的居民楼通常带有底商建筑结构以及高层结构,复杂的建筑物处理的时候往往具有复杂的空间分割方案,此时如果对整体建筑物直接使用空间分割的方式生成体框模型的话往往会产生过于复杂的混合线性模型,大大增加了解算最优解的难度。基于以上前提,本文会对建筑物的顶面点云进行特征分割,将整个建筑物拆分成多个建筑物部件,每个建筑物部件再在下面步骤七中使用基于平面特征空间分割方法以及基于拟合能量函数的混合线性模型的最优优化方法生成局部部件的体框模型。
经过预处理的建筑物点云,基本已经没有立面的点云数据,此时数据中剩下的部分都是建筑物每个部件的顶面点云,所以这些顶面点云在高程上具有明显的分布断层,同时处于同一高程分段的不同的建筑物部件点云之间往往空间不连续,所以,本发明使用的是空间双重聚类算法对建筑物点云完成特征分割,即先通过高程聚类将建筑物数据分为不同高程段,再通过欧式距离的空间聚类将同一高程段的不同部件相互分开,具体实施步骤如下:
a.高程聚类:
高程聚类指的是仅仅以高程为聚类依据,将互相之间高程较为接近的点聚为一类,从某个种子点出发,遍历剩下的点,将其中与种子点高程差小于阈值(一般设置为2.0)的点加入到种子点的一类中形成种子点集,然后在对剩下的点遍历,将其中与种子点集中的所有点至少有一个点满足高程差小于阈值的点加入到种子点集中,如此循环,直至剩余的点中找不到满足条件的点可以加入种子点集,则本轮迭代结束,将种子点集中的点全部标记同一类;然后就从剩下的点中随机选择一个点作为新的种子点,重复上述过程,直至所有点都被标记,则完成了点云的高程聚类。
b.空间聚类:
空间聚类的本质以及聚类过程和高程聚类类似,只不过上述的阈值判断方式更改为空间距离小于阈值(一般设置为0.5)即满足聚类条件。
经过高程聚类再经过空间聚类后的点云,被分为多个聚类点集合,每个集合则视为一个建筑物的局部部件,至此建筑物被分为多个局部部件。
七、局部部件使用基于平面特征空间分割方法以及基于拟合能量函数的混合线性模型的最优优化方法生成局部部件的体框模型;
本步骤处理的对象是建筑物的每个单独的局部部件,目的是将建筑物的单个部件生成对应的体框模型。生成体框模型的步骤如图2所示,包括:
(1)建筑物的局部部件基底判断:
首先需要对每个局部部件进行判断,判断该部件是否是建筑物的基底,建筑物的基底与其他部件不同,其代表着建筑物主要的结构特征,代表了建筑物的整体的主方向朝向。所以需要在建筑物的多个部件中选出一个部件作为整个建筑物的基底,然后其他局部部件的主方向皆向其对齐。
局部部件的基底判断方法如下:首先对全部局部部件进行按最低高程进行自下而上排序,然后按高程自下而上依次进行判断,最先满足局部部件点云的水平投影面积(此处也体现出将mesh模型转化为DSM数据在转化成点云的优势,经DSM转化而来的点云,在XY轴上规则排列,在Z轴上无重复叠加,所以其水平投影面积可以通过点数和分辨率很方便求出,相比随机离散点云却只能通过拓扑算法求得外轮廓再计算多边形水平面积,本方法运算效率得到极大的提升)大于等于整个建筑物的水平面积(建筑物整体水平面积可通过外轮廓求得)的一定比例阈值(该比例阈值一般取0.125)即可判断为建筑物基底。此处,如果全部局部部件都不满足上述条件,则利用所有部件中最低高程的部件的最低高程构造一个虚拟的水平面点云作为基底。
(2)局部部件外轮廓生成:
本步骤将直接生成每个局部部件的外轮廓,因为局部部件的体框模型需要构建虚拟立面,所以需要对每个部件提取各自的外轮廓,本步骤可以和上一步同时进行。
对于在上一步中判断为基底的局部部件,直接用建筑物的外轮廓作为建筑物基底部件的外轮廓;
对于非基底部件,先对局部部件的点云进行水平投影,投影到XY轴上,在对该平面点云数据进行AlphaShape算法,提取边界点,形成部件的外轮廓。
(3)局部部件外轮廓后处理:
本步骤对于上一步生成的各个部件的外轮廓进行后处理,本发明提出的体框模型对于一定程度数据缺失具有较强的抵抗性,而且为了保证特征处理的精确性,对于噪点离群点和失效点的判断约束准则很严格,有部分边界点或者有效点也被一起删除,这个情况本身不会对生成体框模型产生影响,但是对于局部部件而言部分点的缺失会影响外轮廓提取的完整性,同时大部分建筑物其局部部件基本上与其外轮廓保持同向或者垂直,故对每个局部部件外轮廓都会用建筑物基底的外轮廓去约束和矫正。其处理步骤如下:
3.1)提取建筑物主方向:
对于局部部件中的基底部件,其外轮廓需要作为其他部件的约束准则,故先提取和归纳建筑物基底的外轮廓的主方向分布,先将其外轮廓分解成多个截线,再求解每个截线的法向量,再对法向量按方向分布做聚类处理,再将方向分布的占比大于某个阈值(一般设为30%)的方向作为主方向之一,此处应注意,同向方向和反向方向都认为是同一方向,即:
;
其中为角度阈值,一般取值为10;n i ,n j 为在N(n)个主方向集合中的第i,j个主方向。
3.2)外轮廓简化:
本发明采用传统的DP(Douglas-Peucker)简化算法,将每个局部部件的外轮廓顶点数压缩,减小后续规则化步骤的计算量。
3.3)根据建筑物主方向进行部件外轮廓规则化:
本步骤将简化后的外轮廓,根据整体的主方向进行多边形的规则化。尽可能多的使线段与主方向平行或者垂直。首先,将多边形断开成多个截线段;然后,对每个截线段,分别和所有主方向进行判断,如果该线段和该主方向或者主方向的垂直方向的夹角小于某个阈值(一般取15度)则将该截线段绕中点旋转至该主方向或其垂直方向;最后将所有的截线段按最开始顺序顺次相交,即可得到新的规则化后的多边形;
(4)局部部件虚拟立面生成:
之前的流程中所处理的点云由DSM转化而来,是无立面信息的,现在需要生成体框模型,需要补齐局部部件的立面信息,本发明所采取的的方法就是使用外轮廓来垂直采样的到虚拟的立面点云,再和局部部件的顶面点云合并成为完整的局部部件点云。
本步骤处理步骤如下:使用一定采样间隔(默认取0.25),将部件的轮廓线的每个线段等分,然后从整个建筑物的最低高程开始,向上垂直采样,采样间隔与上述一致,直到局部部件点云的最低点为止,每个采样点即为虚拟的立面点,然后与顶面点云进行合并。
(5)局部部件增强型平面区域分割:
本步骤的目的是通过平面特征的提取,确定后续空间分割的方案依据,方法是以平面为特征基底,认为建筑的简化模型应是由建筑物的一系列面特征组合而成的,凡是无法形成面特征的细节,应当被简化省略。
所以面特征提取是本发明的理论根本之一,同时平面特征提取结果的好坏将直接影响后续步骤的结果的好坏。本发明提到的方法中对比了常规的RANSAC算法和RegionGrow算法提取平面,提出并使用了一种基于能量函数的增强型的平面提取算法;算法具体步骤如图3所示,包括:
①使用RegionGrow算法得到初始的区域分割结果:
本发明使用平面提取和区域分割算法是一种增强型算法,需要有先验的初始结果作为起点,再通过迭代在初始结果之上逐步优化得到比原始算法更好的结果,本发明使用的初始结果是传统的区域生长RegionGrow算法;
②计算能量函数:
能量函数是一个衡量各个区域是否达到理想分割结果的函数,当每次的迭代无法使能量函数减少时即可认为达到理想的平面提取和区域分割结果;计算方式如下:
;/>
;
;
;
;
其中E(p)是点p的能量函数,ωd、ωi、ωt分别是三个权值系数,分别代表局部平均离散度Ed的权值,区域点集密集度Ei的权值,区域点集整体聚合度Et的权值,N(p)是点p所属于的区域的点集合,n是区域点个数,p i 、p j 是点集合N(p)中两个点,S2是该区域点拟合出来的平面,是集合中点p i 在高斯分布中对应的概率密度权值,/>是p i 点到拟合出来的平面S2的距离,/>是两点的距离,/>是点p的平均点间距,/>是p i 点自己的法向量,/>是p j 点自己的法向量;
③更新点云法向量:
本步骤需要重新求解每个点云点的法向量。
④计算点位移,进行导向滤波:
本步骤根据每个点的能量函数计算其在法向量上的移动距离,其计算方式为:
;
是点p到拟合出来的平面S2的距离;
然后使用导向滤波沿着法向量更改点的坐标:
;
其中,点为点/>在法向量/>上移动距离/>后的新坐标;
⑤各个区域边界点投票重定归属:
对于每个分好的区域,在其内部进行投票,计算点p所在区域的点集中所有点的平均能量函数,然后计算点p所属区域的邻域的平均能量函数,将点p归于能量函数更接近的那一类。
⑥判断是否满足迭代条件:
每个点完成重新投票后,再更新一遍所有点的能量函数做两个判断:
a.迭代次数大于预设值(一般为5次或者7次);
b.更新后的所有点能量函数之和大于迭代前的能量函数之和;
满足其中一个可停止迭代,否者回到第③步重新迭代。
(6)局部部件区域空间分割方案预处理整合以及空间分割:
由上一步处理的结果,每个局部部件的点云被区域分割为多个平面区域,每个区域可以拟合出一个平面,每个平面都是一个切割方案,在这一步骤中进行分割方案的预处理。主要是合并相互之间较为接近的切割方案。其处理步骤如下:
上述区域分割的结果,每个区域的点集对应一个由其拟合出来的平面,对于所有的区域和对应的拟合平面,两两作比对,如果两个区域的拟合平面类似,则将其合并,比对判断方法如下:
有一组对比,点集a和平面A,以及点集b和平面B,将a中的点投影到B平面上,统计距离小于设定值(一般设为0.1)的比例Ra,同理统计b中点到A的距离小于设定值的比例Rb,若Ra和Rb均大于阈值(一般设为80%),则将二者合并。
(7)空间分割后备选面能量函数计算:
上一步中每个拟合平面代表了空间分割的方案,现用每个平面切割整个空间,顺次两两相交,相交出来的每个面称之为备选面,得到备选面的切割方案。此步骤需要计算每一个备选面的能量函数如下:
;
;
;
;
;
上式中E为备选面的能量函数,是一个三个值的数组,ωc、ωf、ωo分别是三个权值系数,分别代表聚合度Ec权值,覆盖度Ef权值,复杂度Eo权值,对应的是各自类型能量函数,nv是备选面的顶点个数,zi是当前顶点的z坐标,zmax是顶点最大z坐标,zmin是顶点最小z坐标,r是点云分辨率,是当前备选面的面积,ne是备选面的边的个数,le是当前边的长度,是当前边和下一个邻接边的夹角;
(8)备选面混合线性模型生成:
现在每个备选面的能量函数已经生成完毕,本步骤将根据备选面切割方案的空间分割结果,备选面的能量函数,备选面的边的邻接关系构建混合线性数学模型,混合线性数学模型是一种方差分量模型,其中既含有固定效应,又含有随机效应,直观来说,本发明的方法构建出一个特殊的矩阵方程,解的类型既包括固定值解(bool值,仅拥有true和false两个固定可能值,用于标记备选未知数的是否保留),也包括浮点值解。现在求解该混合模型基于能量函数的最优优化解,即为最佳的备选面的选取方案;
现对于备选面的空间分割方案,直观地使用一个三维模型来表示,如图,在本步骤中将构建出对应的混合线性模型,步骤如下:
a.建立未知数模型:
在本发明所提到的模型中,将模型的解定义为,选取特定的备选面,选取特定的边,选择对应的二面角结构,这三个组成部分相互之间具有强约束(混合线性模型中称之为hard constrains),例如,最终方案中选择了备选面a,那么该备选面的每个边都应该被选中,如果选择了两个相邻的备选面a,b,那么他们形成的二面角结构也应该被选中,等等,建立这么多强约束的原因是要使混合线性模型最终结算结果是水密(water tide,也即模型是密封的)的,缺失强约束的后果是,虽然最终结果的能量函数是最低值,但是最终的结果是破碎的。所以本场景中同时建立三种类型的未知数解。
假设解集为一个bool型的二值化数组X,
那么有:
;
其中表示备选面的二值解,/>为边的二值解,/>为二面角的二值解,nf是备选面个数,ne是邻接边个数;T代表转置。
b.添加线性项以及约束项:
添加好未知数之后需要向混合线性模型中添加对应位置的系数,首先需要建立一个邻接表,该邻接表表达了每个备选面之间的邻接关系以及相邻面的公共边,类似于无向图的邻接矩阵;
先遍历邻接关系,添加每个邻接二面角对应的系数,系数为该二面角对应的两个备选面的复杂度的加权能量值ωo·Eo 的平均值;混合线性模型添加一行:
;
再遍历每个备选面,添加备选面系数,添加每个面的覆盖度的加权能量值ωf·Ef:
;
再遍历一次每个备选面,添加备选面系数,添加每个面的聚合度的加权能量值ωc·Ec:
;
然后将上述三行系数作为浮点项加入模型,接下来添加约束项;
遍历邻接关系添加一行系数作为约束型系数:
;
再遍历每个邻接关系,在每个邻接关系中,遍历每个备选面,每个备选面都构建一行约束型系数,形式如上式,每个备选面与该邻接关系做判断,如果该备选面涉及该邻接关系则赋予系数1.0,否则赋予系数0.0;本次迭代一共产生nf·ne个约束型系数。
至此,完成了混合线性模型的构建。
(9)使用开源数学解算器进行最优优化解算:
针对上一步完成混合线性模型,在本步骤中使用开源的数学解算库SCIP解算上一步骤中的混合线性模型的最优优化。
(10)将最有优化的结果转为局部部件的体框模型:
根据解算的二值化未知数解,可以得到所有备选面中哪些备选面可以保留,哪些需要抛弃,本步骤将每个备选面进行拓扑求交得到最终的局部部件的体框模型。
八、建筑物的所有的局部部件进行空间布尔并运算,合并的结果即为建筑物的体框模型;
经过前面步骤,每个建筑物的部件均形成了各自的体框模型,在本步骤,要把每个局部部件合并到一起,此处使用三维拓扑并运算合并多个部件,该方法在开源图形库CGAL中有适合的算法可以达到目标。
经过本步骤,本建筑物最终的体框模型即生成完毕。
上述本发明所提及的整个技术流程方法,是为了响应新型基础测绘理念中的相关需求,完成建筑物体框模型(LOD1.0,LOD1.3,LOD2.0)的全自动化生产,同时也可以应用于更早的时候已经兴起的建筑物单体化的城市三维信息化的需求中,本发明提到的方法流程同样可以广泛地应用于城市级数据的轻量化整理中,更加轻量级的数据可以更加广泛地展示与各大性能不一的平台中,一改过去“有数据存不了,有数据展示不了”的瓶颈,在城市三维地图的生产中将发挥极大的作用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,包括:
S1、将城市三维模型进行垂直投影生成栅格化的DSM数据;
S2、使用二维数字线划图裁切出栅格化的DSM数据的每个建筑物的局部DSM数据;
S3、对每个建筑物的局部DSM数据并行进行下列步骤S4-S8的处理;
S4、使用建筑物的局部DSM数据生成建筑物的顶面点云数据;
S5、对顶面点云数据进行预处理,使用点云的离群滤波去除孤立点,使用点云双边滤波去噪方法进行初步点云去噪处理;
S6、使用双重聚类对建筑物的顶面点云进行特征分割,将建筑物分割为多个局部部件;
S7、局部部件使用基于平面特征空间分割方法以及基于拟合能量函数的混合线性模型的最优优化方法生成局部部件的体框模型;
S8、建筑物的所有的局部部件进行空间布尔并运算,合并的结果即为建筑物的体框模型。
2.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S1中,将原始的城市三维模型数据使用三角面线性内插算法转化为栅格化的DSM数据。
3.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S2中,将栅格化的DSM数据的每个建筑物的局部DSM数据从整体的DSM数据中通过建筑物的数字线划图图版进行裁切,获取每个建筑物的局部DSM数据和自身的外轮廓数据。
4.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S3中,包括根据每个建筑物的局部DSM数据和外轮廓数据,获取建筑物的基本信息,每个建筑物单独独立处理。
5.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S5具体包括:
S51、设定邻域K值,计算点云中每个点K邻域范围内点的距离,由此计算每个点与其K邻域范围内点的平均距离,然后计算每个点K邻域范围内点的距离与平均距离的差的平方的分布,计算该分布的中误差,将中误差大于阈值的点标记为孤立点,最后删除点云中的孤立点完成离群滤波算法;
S52、根据每个点与其K邻域范围内点的平均距离计算每个点的法向量,使用K邻域范围的点拟合出一个拟合平面S2,引入双边滤波调整距离的计算方法:
;
其中:N(P)为点P的K邻域,,P'是P点在S2上的投影;/>为P的法向量,/>是Pi的法向量,Wc和Ws分别是不同标准差σc和σs的高斯核函数,分别代表空间域权重和特征域权重;
计算每个点的d值,与阈值判断,大于阈值的则标记为噪点并删除,完成点云的双边滤波去噪。
6.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S6具体包括:
S61、高程聚类:
对建筑物的顶面点云数据以高程为聚类依据,将互相之间高程较为接近的点聚为一类:从某个种子点出发,遍历剩下的点,将其中与种子点高程差小于阈值的点加入到种子点的一类中形成种子点集,然后再对剩下的点遍历,将其中与种子点集中的所有点至少有一个点满足高程差小于阈值的点加入到种子点集中,如此循环,直至剩余的点中找不到满足条件的点加入种子点集,则本轮迭代结束;将种子点集中的点全部标记同一类;然后就从剩下的点中随机选择一个点作为新的种子点,重复上述过程,直至所有点都被标记,则完成了点云的高程聚类;
S62、空间聚类:
对高程聚类后的每一类的顶面点云数据,以空间距离为聚类依据,将互相之间空间距离较为接近的点聚为一类:每一类的顶面点云数据,从某个种子点出发,遍历剩下的点,将其中与种子点空间距离小于阈值的点加入到种子点的一类中形成种子点集,然后再对剩下的点遍历,将其中与种子点集中的所有点至少有一个点满足空间距离小于阈值的点加入到种子点集中,如此循环,直至剩余的点中找不到满足条件的点加入种子点集,则本轮迭代结束;将种子点集中的点全部标记同一类;然后就从剩下的点中随机选择一个点作为新的种子点,重复上述过程,直至所有点都被标记,则完成了点云的空间聚类;
S63、经过高程聚类再经过空间聚类后的点云,被分为多个聚类点集合,每个集合则视为一个局部部件。
7.根据权利要求1所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S7具体包括:
S701、局部部件基底判断:
首先对全部的局部部件进行按最低高程进行自下而上排序,然后按高程自下而上依次进行判断,最先满足局部部件点云的水平投影面积大于等于整个建筑物的水平面积的一定比例阈值即可判断为建筑物基底;如果全部局部部件都不满足上述条件,则利用所有局部部件中最低高程的部件的最低高程构造一个虚拟的水平面点云作为基底;
S702、局部部件外轮廓生成:
对于在步骤S701中判断为基底的局部部件,直接用建筑物的外轮廓作为基底局部部件的外轮廓;
对于非基底的局部部件,先对局部部件的点云进行水平投影,投影到XY轴上,得到平面点云数据,再对所述平面点云数据进行AlphaShape算法,提取边界点,形成非基底的局部部件的外轮廓;
S703、局部部件外轮廓后处理:对每个局部部件外轮廓用基底局部部件的外轮廓约束和矫正;
S704、局部部件虚拟立面生成:使用一定采样间隔将局部部件的轮廓线的每个线段等分,然后从整个建筑物的最低高程开始,使用同样的采样间隔向上垂直采样,直到局部部件点云的最低点为止,每个采样点即为虚拟的立面点,然后与顶面点云进行合并;
S705、局部部件增强型平面区域分割:通过基于能量函数的增强型的平面提取和区域分割算法进行平面特征的提取,将每个局部部件的点云区域分割为多个平面区域;
S706、局部部件区域空间分割方案预处理整合以及空间分割:
每个局部部件的点云区域分割为多个平面区域,每个平面区域拟合出一个平面,两两比对,如果拟合的平面类似,则将其合并;
S707、空间分割后备选面能量函数计算:
用每个平面切割整个空间,顺次两两相交,相交出来的每个面称之为备选面,得到备选面的切割方案,计算每一个备选面的能量函数如下:
;
;
;
;
;
上式中E为备选面的能量函数,是一个三个值的数组,ωc、ωf、ωo分别是三个权值系数,分别代表聚合度Ec权值,覆盖度Ef权值,复杂度Eo权值,对应的是各自类型能量函数,nv是备选面的顶点个数,zi是当前顶点的z坐标,zmax是顶点最大z坐标,zmin是顶点最小z坐标,r是点云分辨率,是当前备选面的面积,ne是备选面的边的个数,le是当前边的长度,/>是当前边和下一个邻接边的夹角;
S708、备选面混合线性模型生成:根据备选面切割方案的空间分割结果,备选面的能量函数,备选面的边的邻接关系构建混合线性模型;
S709、使用开源的数学解算库SCIP解算所述混合线性模型的最优优化;
S710、将最优优化的结果转为局部部件的体框模型:
根据S709解算的二值化未知数解,得到所有备选面中保留的备选面,将每个备选面进行拓扑求交得到最终的局部部件的体框模型。
8.根据权利要求7所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S703所述后处理的具体步骤包括:
S731、提取建筑物主方向;提取和归纳建筑物基底局部部件的外轮廓的主方向分布,先将其外轮廓分解成多个截线,再求解每个截线的法向量,再对法向量按方向分布做聚类处理,再将方向分布的占比大于某个阈值方向作为主方向之一,同向方向和反向方向都认为是同一方向;
S732、外轮廓简化:采用DP简化算法将每个建筑物部件的外轮廓顶点数压缩,减小后续规则化步骤的计算量;
S733、根据建筑物主方向进行部件外轮廓规则化:将简化后的外轮廓,根据所述主方向进行多边形的规则化,使线段与主方向平行或者垂直,最后将所有的截线段按最开始顺序顺次相交,得到新的规则化后的多边形。
9.根据权利要求7所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S705所述增强型的平面提取和区域分割算法具体步骤如下:
S751、使用RegionGrow算法得到初始的区域分割结果;
S752、计算能量函数;
计算方式如下:
;
;
;
;
;
其中E(p)是点p的能量函数,ωd、ωi、ωt分别是三个权值系数,分别代表局部平均离散度Ed的权值,区域点集密集度Ei的权值,区域点集整体聚合度Et的权值,N(p)是点p所属于的区域的点集合,n是区域点个数,pi、pj是点集合N(p)中两个点,S2是该区域点拟合出来的平面,是集合中点pi在高斯分布中对应的概率密度权值,/>是pi点到拟合出来的平面S2的距离,/>是两点的距离,/>是点p的平均点间距,/>是pi点自己的法向量,/>是pj点自己的法向量;
S753、更新点云法向量;重新求解每个点云点的法向量;
S754、计算点位移,进行导向滤波;
根据每个点的能量函数计算其在法向量上的移动距离,其计算方式为:
;
是点p到拟合出来的平面S2的距离;
然后使用导向滤波沿着法向量更改点的坐标:
;
其中,点为点/>在法向量/>上移动距离/>后的新坐标;
S755、各个区域边界点投票重定归属;
对于每个分好的区域,在其内部进行投票,计算点p所在区域的点集中所有点的平均能量函数,然后计算点p所属区域的邻域的平均能量函数,将点p归于能量函数更接近的那一类;
S756、判断是否满足迭代条件;
每个点完成重新投票后,再更新一遍所有点的能量函数做两个判断:
a.当前迭代次数大于预设值;
b.更新后的所有点能量函数之和大于迭代前的能量函数之和;
满足其中一个则停止迭代,否者回到步骤S753重新迭代。
10.根据权利要求7所述的基于三维模型的城市建筑物轻量化体框模型的生成方法,其特征在于,步骤S708所述构建混合线性模型的步骤包括:
S781、建立未知数模型:
建立三种类型的未知数解,设解集为一个bool型的二值化数组X,则:
;
其中表示备选面的二值解,/>为边的二值解,/>为二面角的二值解,nf是备选面个数,ne是邻接边个数;T代表转置;
S782、添加线性项以及约束项:
添加好未知数之后向混合线性模型中添加对应位置的系数,首先建立一个邻接表,所述邻接表表达每个备选面之间的邻接关系以及相邻面的公共边;
遍历邻接关系,添加每个邻接二面角对应的系数,系数为该二面角对应的两个备选面的复杂度的加权能量值ωo·Eo 的平均值;混合线性模型添加一行:
;
再遍历每个备选面,添加备选面系数,添加每个面的覆盖度的加权能量值ωf·Ef:
;
再遍历一次每个备选面,添加备选面系数,添加每个面的聚合度的加权能量值ωc·Ec:
;
然后将上述三行系数作为浮点项加入模型,接下来添加约束项;
遍历邻接关系添加一行系数作为约束型系数:
;
再遍历每个邻接关系,在每个邻接关系中,遍历每个备选面,每个备选面都构建一行约束型系数,形式如上式,每个备选面与该邻接关系做判断,如果该备选面涉及该邻接关系则赋予系数2.0,否则赋予系数-1.0;本次迭代一共产生nf·ne个约束型系数;
至此完成混合线性模型的构建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229019.9A CN117274517A (zh) | 2023-09-22 | 2023-09-22 | 基于三维模型的城市建筑物轻量化体框模型的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229019.9A CN117274517A (zh) | 2023-09-22 | 2023-09-22 | 基于三维模型的城市建筑物轻量化体框模型的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117274517A true CN117274517A (zh) | 2023-12-22 |
Family
ID=89207553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311229019.9A Pending CN117274517A (zh) | 2023-09-22 | 2023-09-22 | 基于三维模型的城市建筑物轻量化体框模型的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274517A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117934764A (zh) * | 2024-03-18 | 2024-04-26 | 武汉大势智慧科技有限公司 | 一种基于mesh模型的模型简化方法及系统 |
-
2023
- 2023-09-22 CN CN202311229019.9A patent/CN117274517A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117934764A (zh) * | 2024-03-18 | 2024-04-26 | 武汉大势智慧科技有限公司 | 一种基于mesh模型的模型简化方法及系统 |
CN117934764B (zh) * | 2024-03-18 | 2024-06-25 | 武汉大势智慧科技有限公司 | 一种基于mesh模型的模型简化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111932688B (zh) | 一种基于三维点云的室内平面要素提取方法、系统及设备 | |
CN111508074B (zh) | 一种基于屋顶轮廓线的三维建筑模型简化方法 | |
CN110176018B (zh) | 一种保持结构化地物轮廓特征的图斑合并方法 | |
CN107292276B (zh) | 一种车载点云聚类方法及系统 | |
CN112070769B (zh) | 一种基于dbscan的分层点云分割方法 | |
CN113781667B (zh) | 三维结构简化重建方法、装置、计算机设备和存储介质 | |
CN111915730A (zh) | 一种顾及语义从点云自动生成室内三维模型的方法及系统 | |
CN105354883A (zh) | 基于点云的3ds Max快速精细三维建模方法及系统 | |
CN109615581B (zh) | 一种融合扩展高斯球和颜色几何特征的三维碎片的拼接复原方法 | |
CN112785710B (zh) | Osgb三维模型建筑物快速单体化方法、系统、存储器及设备 | |
CN111667574B (zh) | 从倾斜摄影模型自动重建建筑物规则立面三维模型的方法 | |
CN117274517A (zh) | 基于三维模型的城市建筑物轻量化体框模型的生成方法 | |
CN111243091A (zh) | 基于分布式系统的海量dem金字塔切片并行构建方法 | |
CN114926602B (zh) | 基于三维点云的建筑物单体化方法及系统 | |
CN115222625A (zh) | 一种基于多尺度噪声的激光雷达点云去噪方法 | |
CN111340723A (zh) | 一种地形自适应的机载LiDAR点云正则化薄板样条插值滤波方法 | |
CN111858810A (zh) | 一种面向道路dem构建的建模高程点筛选方法 | |
CN108986218A (zh) | 一种基于pmvs的建筑物密集点云快速重建方法 | |
CN114119902A (zh) | 一种基于无人机倾斜三维模型的建筑物提取方法 | |
CN115222883A (zh) | 一种基于地基LiDAR点云的电力杆塔重建方法 | |
CN110660027B (zh) | 一种针对复杂地形的激光点云连续剖面地面滤波方法 | |
CN113409332B (zh) | 一种基于三维点云的建筑物平面分割方法 | |
CN116721228B (zh) | 一种基于低密度点云的建筑物高程提取方法及系统 | |
CN116071530B (zh) | 一种基于机载激光点云的建筑物屋顶体素化分割方法 | |
CN111582156A (zh) | 一种基于倾斜摄影城市三维模型的高大植被提取方法 |
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 |