一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

建筑体量数据的估算方法、装置、设备及存储介质与流程

2022-02-22 07:05:21 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其是涉及一种建筑体量数据的估算方法、装置、终端设备及计算机可读存储介质。


背景技术:

2.建筑体量是指建筑物在空间上的体积,包括建筑物的长度、宽度、高度。建筑物的体量大小对于城市空间有着很大的影响,同样大小的空间,被大体量的建筑物围合,和被小体量的建筑物围合,给人的空间感受完全不同,因此获取建筑区域内的建筑体量数据对城市规划有着十分重大的意义。
3.目前获取建筑区域内的建筑体量数据主要通过人工的手段,利用全站仪或入户测量等房屋测量手段需要消耗大量的人力,且数据生产周期较长;除此之外,也有通过无人机倾斜航空摄影测量来获取建筑区域内的建筑体量数据,虽然采用无人机倾斜航空摄影测量技术在数据获取效率方面已有较大提升,但是在线划图生产阶段,仍需要通过人机交互绘制,缺乏自动化的手段。综上所述,现有技术获取建筑区域内的建筑体量数据的手段存在投入成本大和效率低下的问题。


技术实现要素:

4.本发明提供了一种建筑体量数据的估算方法、装置、设备及存储介质,以解决现有技术获取建筑体量数据的手段存在投入成本大和效率低下的问题,能够实现对建筑体量数据进行自动化估算,大大提高了获取建筑体量数据的效率,且无需消耗大量的人力,大大降低了投入成本。
5.为了解决上述技术问题,本发明实施例第一方面提供了一种建筑体量数据的估算方法,包括:
6.获取建筑区域的密集匹配点云,对所述密集匹配点云进行地面点滤波,获得非地面点云,所述非地面点云包括水平点云和立面点云;
7.对所述水平点云进行聚类,获得至少一个点云面片,将所述点云面片投影至栅格平面,并对所述栅格平面上的所述点云面片进行识别,剔除所述水平点云中的非屋顶面点云;
8.基于所述栅格平面,确定所述点云面片之间的拓扑关系,基于所述拓扑关系对所述点云面片进行建筑栋划分,并对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围;
9.根据所述水平方向分布范围和所述竖直方向分布范围,将位于所述水平方向分布范围内的栅格位置且高程值在所述竖直方向分布范围内的立面点云加入所述建筑单体的点云集合中,并根据所述拓扑关系,将属于同一个建筑栋的建筑单体的点云集合加入同一个建筑栋的点云集合中,获得每一个建筑栋的点云提取结果;
10.基于所述点云提取结果,提取每一个建筑栋的外边缘点,并对所述外边缘点进行
轮廓规则化,获得每一个建筑栋的轮廓矢量化结果;
11.基于所述轮廓矢量化结果,对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果;
12.对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,其中,所述结构信息包括阳台结构信息和飘楼结构信息;
13.根据所述点云提取结果和所述结构矢量化结果,对所述建筑区域的建筑体量数据进行估算。
14.作为其中一种改进,所述对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,具体包括:
15.基于屋檐改正后的轮廓矢量化结果,对每一个建筑栋的每一个建筑单体进行屋檐改正,获得每一个建筑单体的规则矢量轮廓;
16.根据预设高度间隔,对每一个建筑单体自上而下进行剖分,获得至少一个单体剖面,并对所述单体剖面进行轮廓规则化,获得规则剖面轮廓;
17.将每一个建筑单体的所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行拓扑对比分析,获得差异轮廓;
18.采用连通域分析对每一个建筑单体的所述差异轮廓进行聚类,获得差异轮廓集合;
19.根据每一个建筑单体的所述规则矢量轮廓的差集,获得所述建筑栋的屋顶面轮廓;
20.根据所述差异轮廓集合和所述屋顶面轮廓的交集,获得每一个建筑栋的具有结构信息的结构矢量化结果。
21.作为其中一种改进,所述将每一个建筑单体的所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行拓扑对比分析,获得差异轮廓,具体包括:
22.对所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行二维图像重采样,获得所述规则剖面轮廓的第一多边形和所述建筑单体的规则矢量轮廓的第二多边形;
23.获取所述第一多边形和所述第二多边形的差集区域,并结合形态学对所述差集区域去噪,获得所述差异轮廓。
24.作为其中一种改进,所述对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果,具体包括:
25.对每一个所述建筑栋的屋顶面点云进行轮廓规则化,获得规则屋顶面轮廓;
26.获取所述屋顶面点云下方的建筑立面所构成的水平轮廓,根据所述规则屋顶面轮廓和所述水平轮廓的交集,去除所述屋顶的屋檐部分,获得屋檐改正后的规则矢量轮廓。
27.作为其中一种改进,所述提取每一个建筑栋的外边缘点,并对所述外边缘点进行轮廓规则化,获得每一个建筑栋的轮廓矢量化结果,具体包括:
28.采用基于圆形邻域约束的凸包算法提取每一个建筑栋的外边缘点;
29.利用基于最小二乘的直线增长算法和权重均值聚类方法对所述外边缘点进行轮廓规则化,并获得每一个建筑栋的轮廓矢量化结果。
30.作为其中一种改进,所述基于所述栅格平面,确定所述点云面片之间的拓扑关系,具体包括:
31.基于所述栅格平面,通过栅格之间在八连通域上相邻的栅格数目判断得到所述点云面片之间的邻接关系,获得所述点云面片的邻接面片集合;
32.根据所述邻接面片集合,确定所述点云面片之间的拓扑关系。
33.作为其中一种改进,所述对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围,具体包括:
34.对每一个建筑栋的屋顶面点云面片根据高程值进行降序排序,获得所述屋顶面点云面片的排序顺序;
35.根据所述排序顺序,依次创建每一个屋顶面点云面片的轮廓面片集合;
36.根据所述屋顶面点云面片的所述邻接面片集合,判断是否存在最大平均高程值点云面片,所述最大平均高程值点云面片在所述屋顶面点云面片的下方;
37.若所述最大平均高程值点云面片存在,根据所述屋顶面点云面片和所述最大平均高程值点云面片之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
38.将所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合加入所述最大平均高程值点云面片的轮廓面片集合;
39.根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围;
40.若所述最大平均高程值点云面片不存在,根据所述屋顶面点云面片和地面之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
41.根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围。
42.本发明实施例第二方面提供了一种建筑体量数据的估算装置,包括:
43.地面点滤波模块,用于获取建筑区域的密集匹配点云,对所述密集匹配点云进行地面点滤波,获得非地面点云,所述非地面点云包括水平点云和立面点云;
44.非屋顶面点云剔除模块,用于对所述水平点云进行聚类,获得至少一个点云面片,将所述点云面片投影至栅格平面,并对所述栅格平面上的所述点云面片进行识别,剔除所述水平点云中的非屋顶面点云;
45.分布范围获取模块,用于基于所述栅格平面,确定所述点云面片之间的拓扑关系,基于所述拓扑关系对所述点云面片进行建筑栋划分,并对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围;
46.点云提取模块,用于根据所述水平方向分布范围和所述竖直方向分布范围,将位于所述竖直方向分布范围内的栅格位置以及高程值在所述竖直方向分布范围内的立面点云加入所述建筑单体的点云集合中,并根据所述拓扑关系,将属于同一个建筑栋的建筑单体的点云集合加入同一个建筑栋的点云集合中,获得每一个建筑栋的点云提取结果;
47.轮廓规则化模块,用于基于所述点云提取结果,提取每一个建筑栋的外边缘点,并
对所述外边缘点进行轮廓规则化,获得每一个建筑栋的轮廓矢量化结果;
48.屋檐改正模块,用于基于所述轮廓矢量化结果,对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果;
49.结构识别模块,用于对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,其中,所述结构信息包括阳台结构信息和飘楼结构信息;
50.体量数据估算模块,用于根据所述点云提取结果和所述结构矢量化结果,对所述建筑区域的建筑体量数据进行估算。
51.本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的建筑体量数据的估算方法。
52.本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一项所述的建筑体量数据的估算方法。
53.相比于现有技术,本发明实施例的有益效果在于,本发明实施例能够实现对建筑体量数据进行自动化估算,大大提高了获取建筑体量数据的效率,且无需消耗大量的人力,大大降低了投入成本,此外,在建筑体量数据估算过程中,对建筑物的阳台结构、飘楼结构和屋檐结构进行识别,提高了建筑体量数据估算结果的准确性。
附图说明
54.图1是本发明实施例提供的建筑体量数据的估算方法的流程示意图;
55.图2是本发明实施例提供的原始点云数据的示意图;
56.图3是本发明实施例提供的提取图2点云的结果示意图;
57.图4是本发明实施例提供的包含飘楼结构的建筑栋模型的结构示意图;
58.图5是本发明实施例提供的图4中的上层建筑单体屋顶面的轮廓示意图;
59.图6是本发明实施例提供的图4中的中层建筑单体屋顶面的轮廓示意图;
60.图7是本发明实施例提供的图4中的下层建筑单体屋顶面的轮廓示意图;
61.图8是本发明实施例提供的图5中的屋顶面轮廓经过求交计算得到的轮廓示意图;
62.图9是本发明实施例提供的图6中的屋顶面轮廓经过求交计算得到的轮廓示意图;
63.图10是本发明实施例提供的图7中的屋顶面轮廓经过求交计算得到的轮廓示意图;
64.图11是本发明实施例提供的包含阳台、飘楼识别结果的结构矢量化结果示意图;
65.图12是本发明实施例提供的建筑体量数据的估算装置的结构示意图。
具体实施方式
66.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.参见图1,本发明实施例第一方面提供了一种建筑体量数据的估算方法,包括步骤s1至步骤s8,具体如下:
68.步骤s1:获取建筑区域的密集匹配点云,对所述密集匹配点云进行地面点滤波,获得非地面点云,所述非地面点云包括水平点云和立面点云。
69.具体地,本发明实施例利用布料拟合滤波(cloth simulation filtering,csf)方法进行地面滤波,剔除地面点的影响。屋顶面作为建筑物的典型特征,首先提取屋顶面可将建筑物提取的复杂度大大降低。因此,本发明实施例根据法向量将非地面点云分为水平点云和立面点云两类,此时屋顶面点云保留在水平点云集合内,而建筑立面点云保留在立面点云集合内。
70.步骤s2:对所述水平点云进行聚类,获得至少一个点云面片,将所述点云面片投影至栅格平面,并对所述栅格平面上的所述点云面片进行识别,剔除所述水平点云中的非屋顶面点云。
71.具体地,本发明实施例对水平点云进行欧式空间聚类,得到若干点云面片,其中仍包含部分非屋顶点云面片,需要对点云面片进行识别,剔除非屋顶点云面片。
72.需要说明的是,在点云面片识别过程中将点云的三维特性做降维处理是一个减少处理过程中的数据冗余现象并且提高处理效率的手段,为实现点云面片的识别,首先将点云面片投影至二维栅格平面,对杂乱无章的点云数据建立栅格索引。由于密集匹配过程中会在遮挡区域进行插值计算,导致在间距较近的两栋建筑之间产生插值点,通过空间聚类后形成错误连接面,对建筑物点云的提取造成较大的影响。
73.基于屋顶面的四周必然与建筑立面邻接,而对于错误连接面而言,其下方不存在立面点或其立面信息较少的先验信息,通过判断点云面片的边缘位置是否存在立面点云与其邻接,就可将屋顶面点云面片和建筑间错误连接面点云区分开。为了防止密集匹配过程中产生的噪声点对算法造成影响,首先采用统计分析滤波法剔除立面点云中的噪声点。根据点云栅格的投影结果,获取该点云面片的边缘栅格及其数目m,由于建筑立面点仅存在于屋顶面下方,计算各边缘栅格内点的平均高程后,统计立面点云落在各栅格范围内且高程值低于该平均高程的点数kj,按下式计算立面信息量参数fi,将fi小于阈值的点云面片视为错误连接面,将其剔除。
[0074][0075]
进一步地,剔除了建筑间的错误连接面后,剩余的点云面片仍包含部分非屋顶面部分,基于点云面片的几何特征及立面信息,构造形状特征描述值,进行剔除,典型且常见的该类非屋顶面有如下几种:
[0076]
(1)女儿墙作为建筑体量数据估算中的干扰部分,基于女儿墙的几何特性将其形成的点云面片剔除。一般情况下,女儿墙顶部呈现多折角的条带形状,针对此形状特征,以凸包多边形面积与其自身面积的比值作为其形状特征描述值,因此,首先计算点云面片的凸包多边形及其面积sc,由于女儿墙面片自身的面积与点云面片o的点数成正比,统计点数o,按下式计算其形状特征描述值r
p

[0077]rp
=o/sc[0078]
(2)支柱支撑的建筑结构的点云面片仅在支柱位置存在立面点云。对于屋顶面而
言,若其面片与其他面片在二维水平面上存在邻接栅格,则该栅格位置在两面片的高程区间内理应存在建筑立面点云。由于该建筑结构仅在支柱位置存在立面点云,因此实际存在立面点云的栅格数目na小于理论存在立面点云的栅格数目n
t
。因此,以na与n
t
的比值作为其形状特征描述值。
[0079]
(3)屋顶上存在由较小的建筑体或杂物等形成的非屋顶面点云面片可直接通过面片大小进行过滤,面片大小可转化为其点云栅格的数目以及栅格大小进行计算,若计算的面片大小小于阈值,则为非屋顶面片;除此之外,还有上下重叠面片,可通过统计重叠的栅格数目进行识别。
[0080]
步骤s3:基于所述栅格平面,确定所述点云面片之间的拓扑关系,基于所述拓扑关系对所述点云面片进行建筑栋划分,并对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围。
[0081]
作为其中一种改进,所述基于所述栅格平面,确定所述点云面片之间的拓扑关系,具体包括:
[0082]
基于所述栅格平面,通过栅格之间在八连通域上相邻的栅格数目判断得到所述点云面片之间的邻接关系,获得所述点云面片的邻接面片集合;
[0083]
根据所述邻接面片集合,确定所述点云面片之间的拓扑关系。
[0084]
作为其中一种改进,所述对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围,具体包括:
[0085]
对每一个建筑栋的屋顶面点云面片根据高程值进行降序排序,获得所述屋顶面点云面片的排序顺序;
[0086]
根据所述排序顺序,依次创建每一个屋顶面点云面片的轮廓面片集合;
[0087]
根据所述屋顶面点云面片的所述邻接面片集合,判断是否存在最大平均高程值点云面片,所述最大平均高程值点云面片在所述屋顶面点云面片的下方;
[0088]
若所述最大平均高程值点云面片存在,根据所述屋顶面点云面片和所述最大平均高程值点云面片之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
[0089]
将所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合加入所述最大平均高程值点云面片的轮廓面片集合;
[0090]
根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围;
[0091]
若所述最大平均高程值点云面片不存在,根据所述屋顶面点云面片和地面之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
[0092]
根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围。
[0093]
具体地,通过点云面片的识别将非屋顶面点云剔除后,为了进一步获取各个屋顶面对应的单体点云,基于点云面片的栅格图像,通过栅格之间在八连通域上相邻的栅格数目来判断面片之间的邻接关系,得到邻接面片集合k,从而确定点云面片之间的拓扑关系,将具有相邻关系的点云面片视为一个建筑栋。基于点云面片的拓扑关系,对建筑单体进行
结构化分割,得到各结构单体在水平方向和竖直方向的分布空间。具体流程如下:
[0094]
(1)对建筑栋bi的屋顶面点云面片按高程值进行降序排序,假设为按高度降序排序后的顺序;
[0095]
(2)依次遍历bi中的屋顶面点云面片,对于屋顶面点云面片创建其轮廓面片集合
[0096]
(3)在的邻接面片集合且在下方的点云面片中找到平均高程值最大的点云面片
[0097]
(4)若存在,则所对应的建筑单体在竖直方向上的分布范围为与之间的区域范围,进入步骤5;若不存在,则其竖直方向上的分布范围为与地面之间的区域范围,并跳过步骤5;
[0098]
(5)将加入的轮廓面片集合同时将的轮廓面片集合加入集合中;
[0099]
(6)所对应建筑单体在水平方向上的分布区域即为及其轮廓面片集合中的所有点云面片的水平分布区域的并集;
[0100]
(7)重复步骤(2)-(6),直至所有面片均处理完毕;
[0101]
步骤s4:根据所述水平方向分布范围和所述竖直方向分布范围,将位于所述水平方向分布范围内的栅格位置且高程值在所述竖直方向分布范围内的立面点云加入所述建筑单体的点云集合中,并根据所述拓扑关系,将属于同一个建筑栋的建筑单体的点云集合加入同一个建筑栋的点云集合中,获得每一个建筑栋的点云提取结果。
[0102]
需要说明的是,由于点云本身具备坐标值和高程值等信息,因此可直接判断其是否位于水平方向分布范围内的栅格位置且高程值是否在所述竖直方向分布范围内。图2的原始点云数据在经过上述步骤s4后,得到如图3所示的点云提取结果。
[0103]
步骤s5:基于所述点云提取结果,提取每一个建筑栋的外边缘点,并对所述外边缘点进行轮廓规则化,获得每一个建筑栋的轮廓矢量化结果;
[0104]
作为其中一种改进,所述提取每一个建筑栋的外边缘点,并对所述外边缘点进行轮廓规则化,获得每一个建筑栋的轮廓矢量化结果,具体包括:
[0105]
采用基于圆形邻域约束的凸包算法提取每一个建筑栋的外边缘点;
[0106]
利用基于最小二乘的直线增长算法和权重均值聚类方法对所述外边缘点进行轮廓规则化,并获得每一个建筑栋的轮廓矢量化结果。
[0107]
具体地,建筑物矢量化是建筑体量计算的必要步骤,本发明实施例利用基于圆形邻域约束的凸包算法对点云的外边缘点进行跟踪,找到其凸包点集,此时跟踪检测的外边缘点连接所构成的外轮廓线呈不规则折线形式,与建筑物的实际轮廓不符,不满足建筑物矢量化的要求,因此,以建筑物轮廓线通常为相互垂直的两个方向为准则,基于边缘线特征实现规则化轮廓的重建,其算法主要包括了线特征提取、主轴方向确定、轮廓线重定向以及轮廓线重定位四个关键步骤。
[0108]
在线特征提取阶段,基于最小二乘拟合方法,根据外边缘点计算拟合直线,并根据
垂距阈值判断是否加入两侧相邻的边缘点重新拟合计算,实现直线增长,得到若干边缘线特征。
[0109]
由于此时得到的边缘线方向十分杂乱且精度较差,需要对线特征进行重定向,在重定向之前需要确定建筑主轴方向,作为线特征重定向的依据。考虑较长的边缘线具有更高的可靠性,将边缘线长度作为权重,对边缘线方向进行二均值聚类,以两聚类簇中最长的线特征所在方向及其正交方向作为主轴方向;进一步,以最邻近分类方法将所有线特征分至两主轴方向进行重定向;为了满足求解的轮廓线可以将所有点云包含在内,利用叉乘性质,假设重定向后的线特征经过其边缘点p0,其方向向量为则所有在该线特征右边的点p均满足若对该线特征中所有边缘点均满足此条件,则将线特征平移至经过p0,得到规则化后的边缘线后,依次对相邻边缘线计算交点,作为规则化轮廓的角点坐标,以顺时针方向依次连接角点,其所包围的闭合多边形即为最终规则化后的建筑外轮廓。
[0110]
步骤s6:基于所述轮廓矢量化结果,对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果。
[0111]
作为其中一种改进,所述对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果,具体包括:
[0112]
对每一个所述建筑栋的屋顶面点云进行轮廓规则化,获得规则屋顶面轮廓;
[0113]
获取所述屋顶面点云下方的建筑立面所构成的水平轮廓,根据所述规则屋顶面轮廓和所述水平轮廓的交集,去除所述屋顶的屋檐部分,获得屋檐改正后的规则矢量轮廓。
[0114]
具体地,在建筑体量数据的估算过程中,屋檐结构部分会对估算结果造成影响,而建筑单体的提取无法将屋檐结构进行区分。为提高建筑体量估算结果的精度,本发明实施例采用屋檐改正实现建筑栋局部结构的感知识别。
[0115]
由于建筑栋的点云提取结果是以建筑屋顶面作为特征进行提取的,而屋顶面通常包含了屋檐区域,若不剔除屋檐的影响将造成建筑总体统计误差。屋檐改正过程首先需要对屋顶面点云进行建筑轮廓规则化,求取屋顶面轮廓,在此基础上,仅需要获取屋檐下方的建筑立面所构成的水平轮廓,即可通过两轮廓的交集去除屋檐部分的影响。
[0116]
步骤s7:对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,其中,所述结构信息包括阳台结构信息和飘楼结构信息。
[0117]
作为其中一种改进,所述对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,具体包括:
[0118]
基于屋檐改正后的轮廓矢量化结果,对每一个建筑栋的每一个建筑单体进行屋檐改正,获得每一个建筑单体的规则矢量轮廓;
[0119]
根据预设高度间隔,对每一个建筑单体自上而下进行剖分,获得至少一个单体剖面,并对所述单体剖面进行轮廓规则化,获得规则剖面轮廓;
[0120]
将每一个建筑单体的所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行拓扑对比分析,获得差异轮廓;
[0121]
采用连通域分析对每一个建筑单体的所述差异轮廓进行聚类,获得差异轮廓集
合;
[0122]
根据每一个建筑单体的所述规则矢量轮廓的差集,获得所述建筑栋的屋顶面轮廓;
[0123]
根据所述差异轮廓集合和所述屋顶面轮廓的交集,获得每一个建筑栋的具有结构信息的结构矢量化结果。
[0124]
作为其中一种改进,所述将每一个建筑单体的所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行拓扑对比分析,获得差异轮廓,具体包括:
[0125]
对所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行二维图像重采样,获得所述规则剖面轮廓的第一多边形和所述建筑单体的规则矢量轮廓的第二多边形;
[0126]
获取所述第一多边形和所述第二多边形的差集区域,并结合形态学对所述差集区域去噪,获得所述差异轮廓。
[0127]
具体地,在建筑体量的估算过程中,阳台和飘楼这两个建筑结构也会对计算结果造成影响,而建筑单体的提取无法将阳台和飘楼这两个建筑结构进行区分。
[0128]
为了将各建筑单体矢量轮廓中的主体部分与阳台、飘楼部分进行区分,以阳台、飘楼结构的几何结构特征作为先验信息,即阳台、飘楼区域通常不落在建筑基底区域,造成建筑基底的轮廓相比于建筑剖面轮廓具有向内凹进的差异特征,而该差异部分即为阳台、飘楼区域。
[0129]
因此,本发明实施例采用了一种建筑剖面特征追踪方法,并利用基于图像方法的轮廓多边形拓扑对比分析方法定位阳台、飘楼结构轮廓。在获得屋檐改正后的矢量轮廓结果的基础上,从屋顶面高度自上而下,每隔一定高度获取该高度下的建筑剖面,利用矢量轮廓重建方法计算该剖面的规则化轮廓,将该轮廓与屋檐改正后的建筑矢量轮廓进行拓扑对比分析,将两轮廓多边形进行二维图像重采样,基于图像方法求取两多边形的交集区域和差集区域,并结合形态学处理,去除细小区域,减小噪声的影响,找到该剖面轮廓中相比于建筑矢量轮廓的凹进部分。综上可见,阳台、飘楼的识别算法可以主要分为两块核心部分:基于图像的轮廓拓扑对比分析方法以及基于建筑剖分的阳台、飘楼识别流程。
[0130]
由于点云数据本身的精度及采样问题或建筑立面上的空调或窗户等影响,建筑矢量轮廓和剖面轮廓除了在阳台、飘楼区域存在差异以外,还存在较多细小差异,直接利用几何计算方式计算将导致算法极其复杂,因此,本发明实施例采用了一种基于图像处理的方式,将建筑单体轮廓和建筑剖面轮廓转变为栅格图像,进而计算差集区域,并采用形态学处理,可以很方便地剔除细小差异,进而得到阳台、飘楼的轮廓区域。
[0131]
本发明实施例在点云提取结果的基础上,采用一种从上至下的建筑剖分方法提取阳台、飘楼部分轮廓。对于各建筑单体,可以得到以下信息:建筑单体的屋顶面点云,建筑单体的立面点云,建筑单体竖直方向的分布范围,基于这些已有信息,对建筑栋进行阳台、飘楼的识别。
[0132]
以图4中的建筑栋模型为例,该建筑栋包含上、中和下三部分建筑单体b1、b2、b3,分别进行屋檐改正后计算各建筑单体的整体轮廓bb1、bb2、bb3。然后,利用从上至下的建筑剖分方法,首先构建差异轮廓集合fb={},并对上面部分的建筑单体b1进行剖分,计算剖面高度获取立面点云v1中高程在区间[h
p-δd/2,h
p
δd/2]的剖面点云,计算其剖
面轮廓对bb1与进行拓扑对比分析,由于bb1与轮廓一致,不存在差异区域,故继续向下剖分,计算下一个剖面高度h
p
=h
p-dh,重复该过程,直至剖面高度小于对b2和b3重复剖分过程,在对b3进行剖分的过程中,依次得到剖面轮廓此时,对与bb3进行拓扑对比分析时,得到差异轮廓fb1以及与bb3的差异轮廓fb2,将fb1和fb2加入差异轮廓集合fb,此时fb={fb1,fb2}。
[0133]
由于密集匹配点云的精度问题,在某个剖面下计算得到的差异轮廓并不能完整地表现阳台、飘楼轮廓形状,因此需要对各个剖面下获得的差异轮廓进行整合,对fb中的差异轮廓进行叠加后利用连通分析对其聚类,并将各聚类簇中的差异轮廓进行合并和统计,得到合并的差异轮廓集合cfb={cfbi},i=1,2,...,n,n为聚类数。以cfbi对应的聚类簇中最低的差异轮廓高程作为cfbi的参考高程。
[0134]
为了计算建筑栋的结构矢量化结果,需要获取各建筑单体屋顶面的准确轮廓,因此在已有各建筑单体整体轮廓的基础上,计算与其拓扑关联的建筑单体轮廓的差集作为其屋顶面轮廓。如图5所示,由于b1无拓扑关联的建筑单体,因此建筑单体b1的屋顶面轮廓rb1=bb1;图6为建筑单体b2的屋顶面轮廓rb2,此时rb2=bb
2-bb1;图7为建筑单体b3的屋顶面轮廓rb3,此时rb3=(bb
3-bb2)-bb1。
[0135]
最后将建筑单体的屋顶面轮廓rbi依次与合并的差异轮廓cfbj进行求交运算,其中交集区域rbi∩cfbj为屋顶面轮廓rbi中的阳台、飘楼轮廓,cfbj在rbi的差集区域rb
i-cfbj为去除阳台、飘楼部分后的屋顶面轮廓rbi。图5、图6和图7的屋顶面轮廓分别与合并差异轮廓cfbj进行求交运算,分别得到如图8、图9和图10中各建筑单体屋顶面中的阳台、飘楼轮廓以及更新后的屋顶面轮廓。结合各建筑单体在竖直方向的分布区间,即可得到如图11所示的包含阳台、飘楼等局部结构语义信息的结构矢量结果。
[0136]
步骤s8:根据所述点云提取结果和所述结构矢量化结果,对所述建筑区域的建筑体量数据进行估算。
[0137]
具体地,获取点云提取结果后,按照各建筑单体的高程分布计算其对应高度,以3米作为层高经验值估计建筑层数,并结合其结构矢量结果计算其面积作为其单层面积,进而统计各建筑单体的建筑面积,将属于同一个建筑栋的建筑单体面积组合起来即可得到各栋房屋的建筑面积,从而得到该建筑区域的建筑体量数据估算结果。
[0138]
采用本发明实施例提供的一种建筑体量数据的估算方法,能够实现对建筑体量数据进行自动化估算,大大提高了获取建筑体量数据的效率,且无需消耗大量的人力,大大降低了投入成本,此外,在建筑体量数据估算过程中,对建筑物的阳台结构、飘楼结构和屋檐结构进行识别,提高了建筑体量数据估算结果的准确性。
[0139]
参见图12,本发明实施例第二方面提供了一种建筑体量数据的估算装置,包括:
[0140]
地面点滤波模块1301,用于获取建筑区域的密集匹配点云,对所述密集匹配点云进行地面点滤波,获得非地面点云,所述非地面点云包括水平点云和立面点云;
[0141]
非屋顶面点云剔除模块1302,用于对所述水平点云进行聚类,获得至少一个点云面片,将所述点云面片投影至栅格平面,并对所述栅格平面上的所述点云面片进行识别,剔除所述水平点云中的非屋顶面点云;
[0142]
分布范围获取模块1303,用于基于所述栅格平面,确定所述点云面片之间的拓扑
关系,基于所述拓扑关系对所述点云面片进行建筑栋划分,并对所述建筑区域内的每一个建筑栋中的每一个建筑单体进行结构化分割,获得每一个建筑单体的水平方向分布范围和竖直方向分布范围;
[0143]
点云提取模块1304,用于根据所述水平方向分布范围和所述竖直方向分布范围,将位于所述竖直方向分布范围内的栅格位置以及高程值在所述竖直方向分布范围内的立面点云加入所述建筑单体的点云集合中,并根据所述拓扑关系,将属于同一个建筑栋的建筑单体的点云集合加入同一个建筑栋的点云集合中,获得每一个建筑栋的点云提取结果;
[0144]
轮廓规则化模块1305,用于基于所述点云提取结果,提取每一个建筑栋的外边缘点,并对所述外边缘点进行轮廓规则化,获得每一个建筑栋的轮廓矢量化结果;
[0145]
屋檐改正模块1306,用于基于所述轮廓矢量化结果,对每一个建筑栋进行屋檐改正,去除屋顶的屋檐部分,获得每一个建筑栋进行屋檐改正后的轮廓矢量化结果;
[0146]
结构识别模块1307,用于对每一个建筑栋进行剖分,获得每一个建筑栋的剖面轮廓,根据所述剖面轮廓与屋檐改正后的轮廓矢量化结果,获得每一个建筑栋的具有结构信息的结构矢量化结果,其中,所述结构信息包括阳台结构信息和飘楼结构信息;
[0147]
体量数据估算模块1308,用于根据所述点云提取结果和所述结构矢量化结果,对所述建筑区域的建筑体量数据进行估算。
[0148]
作为其中一种改进,所述结构识别模块1307还用于:
[0149]
基于屋檐改正后的轮廓矢量化结果,对每一个建筑栋的每一个建筑单体进行屋檐改正,获得每一个建筑单体的规则矢量轮廓;
[0150]
根据预设高度间隔,对每一个建筑单体自上而下进行剖分,获得至少一个单体剖面,并对所述单体剖面进行轮廓规则化,获得规则剖面轮廓;
[0151]
将每一个建筑单体的所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行拓扑对比分析,获得差异轮廓;
[0152]
采用连通域分析对每一个建筑单体的所述差异轮廓进行聚类,获得差异轮廓集合;
[0153]
根据每一个建筑单体的所述规则矢量轮廓的差集,获得所述建筑栋的屋顶面轮廓;
[0154]
根据所述差异轮廓集合和所述屋顶面轮廓的交集,获得每一个建筑栋的具有结构信息的结构矢量化结果。
[0155]
作为其中一种改进,所述结构识别模块1307还用于:
[0156]
对所述规则剖面轮廓与所述建筑单体的规则矢量轮廓进行二维图像重采样,获得所述规则剖面轮廓的第一多边形和所述建筑单体的规则矢量轮廓的第二多边形;
[0157]
获取所述第一多边形和所述第二多边形的差集区域,并结合形态学对所述差集区域去噪,获得所述差异轮廓。
[0158]
作为其中一种改进,所述屋檐改正模块1306还用于:
[0159]
对每一个所述建筑栋的屋顶面点云进行轮廓规则化,获得规则屋顶面轮廓;
[0160]
获取所述屋顶面点云下方的建筑立面所构成的水平轮廓,根据所述规则屋顶面轮廓和所述水平轮廓的交集,去除所述屋顶的屋檐部分,获得屋檐改正后的规则矢量轮廓。
[0161]
作为其中一种改进,所述轮廓规则化模块1305还用于:
[0162]
采用基于圆形邻域约束的凸包算法提取每一个建筑栋的外边缘点;
[0163]
利用基于最小二乘的直线增长算法和权重均值聚类方法对所述外边缘点进行轮廓规则化,并获得每一个建筑栋的轮廓矢量化结果。
[0164]
作为其中一种改进,所述分布范围获取模块1303还用于:
[0165]
基于所述栅格平面,通过栅格之间在八连通域上相邻的栅格数目判断得到所述点云面片之间的邻接关系,获得所述点云面片的邻接面片集合;
[0166]
根据所述邻接面片集合,确定所述点云面片之间的拓扑关系。
[0167]
作为其中一种改进,所述分布范围获取模块1303还用于:
[0168]
对每一个建筑栋的屋顶面点云面片根据高程值进行降序排序,获得所述屋顶面点云面片的排序顺序;
[0169]
根据所述排序顺序,依次创建每一个屋顶面点云面片的轮廓面片集合;
[0170]
根据所述屋顶面点云面片的所述邻接面片集合,判断是否存在最大平均高程值点云面片,所述最大平均高程值点云面片在所述屋顶面点云面片的下方;
[0171]
若所述最大平均高程值点云面片存在,根据所述屋顶面点云面片和所述最大平均高程值点云面片之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
[0172]
将所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合加入所述最大平均高程值点云面片的轮廓面片集合;
[0173]
根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围;
[0174]
若所述最大平均高程值点云面片不存在,根据所述屋顶面点云面片和地面之间的区域范围,获得所述屋顶面点云面片所属的建筑单体的竖直方向分布范围;
[0175]
根据所述屋顶面点云面片和所述屋顶面点云面片的轮廓面片集合,获得所述屋顶面点云面片所属的建筑单体的水平方向分布范围。
[0176]
需要说明的是,本发明实施例所提供的一种建筑体量数据的估算装置,能够实现上述任一实施例所述的建筑体量数据的估算方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述实施例所述的建筑体量数据的估算方法的作用以及实现的技术效果对应相同,这里不再赘述。
[0177]
本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的建筑体量数据的估算方法。
[0178]
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0179]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
[0180]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0181]
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一实施例所述的建筑体量数据的估算方法。
[0182]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0183]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
[0184]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献