1.本发明涉及三维扫描建模技术领域,尤其涉及一种基于激光雷达点云数据的城市三维自动建模方法。
背景技术:
2.近年来,随着智慧城市建设的不断深入,数字城市、城市规划等行业对于三维模型数据的需求日益增加,大型城市三维环境的重建和建模已成为城市管理、国防安全、建筑规划、轨道交通、导航系统、管线规划、虚拟现实等许多应用场景的核心需求。与此同时,激光雷达等传感器大量运行在城市公路和轨道交通等交通场景,为数字城市建模提供了海量数据。
3.城市建筑具有数量大、形状复杂多样等特点,并且需要对其中的单独建筑几何进行准确的还原和建模。而单独建筑几何数据主要由激光雷达产生的点云数据中获取。由于点云数据数量巨大,并且室外扫描不完善,如多次反射、分层等,并且受树木、车辆影响干扰较多,往往需要人工手动对建筑物的特征进行拾取,其人力财力成本较高,耗时费力,自动化程度较低,相应的数据处理方法也不能满足城市建模的需求,因此,基于激光雷达点云数据的城市自动重建三维模型具有重大的现实意义。
技术实现要素:
4.针对点云数据城市建模的需求和问题,本发明提出了一种基于激光雷达点云数据的城市三维自动建模方法,可准确分割出点云数据中各个单栋建筑物,并对其进行精确的几何特征自动提取,最后实现城市点云的整体重建和建模,旨在提高自动化程度和建模效率,以解决目前城市建模人工成本高、自动化程度低的问题。
5.为解决上述问题,本发明提供的一种基于激光雷达点云数据的城市三维自动建模方法,包括:步骤1,通过激光雷达扫描获取城市的点云数据并滤除地面,对所述点云数据中各建筑物进行聚类和分割,得到单栋建筑物的点云数据。
6.步骤2,对每个所述单栋建筑物的点云数据进行边界点的提取和高度方向上的分层分割,获得所述单栋建筑物在每个分层的点云数据。
7.步骤3,将进行分层分割后的边界点作为截面轮廓点,进行聚类分类和约束拟合,得到各个截面的几何轮廓。
8.步骤4,将所述各个截面的几何轮廓变换回点云数据进行特征建模,得到城市三维模型。
9.进一步地,在一种实现方式中,所述步骤1,包括:步骤1
‑
1,将所述点云数据中高度低于第一高度阈值的点云数据作为地面滤除。具体的,本发明中,所述第一高度阈值可以根据实际情况确定,如地面的地形高度变化较小,一般设定为2m。
10.步骤1
‑
2,对水平方向的所述点云数据进行统计,将所述水平方向的点云数据中高度高于第二高度阈值的点云数据视为建筑物的点云数据,对所述建筑物的点云数据进行聚类,生成点云聚类。本发明中,每个阈值均根据实际情况进行调整,在本发明中不做具体限定。
11.步骤1
‑
3,根据每个所述点云聚类的参数,判断所述每个点云聚类是否为单栋建筑物点云,获得所述单栋建筑物的点云数据。所述点云聚类的参数包括:点云点数、点云聚类在垂直地面方向上的高度以及每个点云聚类之间的最小距离。
12.进一步地,在一种实现方式中,所述步骤1
‑
3,包括:若所述点云聚类的参数同时满足:所述点云聚类内点云点数大于点数阈值、所述点云聚类在垂直地面方向上的高度大于第三高度阈值、各个所述点云聚类之间的最小距离大于第一距离阈值,则将所述点云聚类作为单栋建筑物的点云数据,获得所述单栋建筑物的点云数据。
13.进一步地,在一种实现方式中,所述步骤2,包括:步骤2
‑
1,计算每个所述单栋建筑物的点云数据的法向量,其中,表示单栋建筑物的点云数据中任意坐标点的序号,表示单栋建筑物的点云数据中第点对应的法向量,表示单栋建筑物的点云数据的总数量,根据以下公式计算获得建筑垂直地面向上的向量:其中,式中,表示对所述单栋建筑物的点云数据随机采样的两点计算的正交单位向量,表示预设的误差值。
14.步骤2
‑
2,将所述点云数据的所有法线归一化成单位法向量,起始点平移到原点,向量终点投影在单位高斯球进行映射,映射后的单位高斯球分别沿垂直方向和水平方向划分为多个均匀的四边形网格,计算映射到各个网格中的法线作为各个网格的投票。具体的,本发明中,可将所述单位高斯球划分为360个四边形网格。
15.步骤2
‑
3,将投票少于预设票数阈值的网格视为噪声去除,将去除噪声后的网格按照法线方向分为不同的组,使用最小二乘法,将每组所述网格拟合一个平面到所在高斯球网格内的点上,并将所述每组网格对应的点云数据,以所述步骤2
‑
1计算获得的向量作为投影方向,投影到拟合的平面上。
16.步骤2
‑
4,对所述点云数据投影到平面的点计算凸包多边形,计算所述凸包多边形内每个点到凸包多边形最近边的距离,若所述距离小于第二距离阈值,则将所述点作为边界,构建投影点的凸包边界多边形,计算所有所述投影点到凸包边界多边形的几何距离,将几何距离小于第三距离阈值的点作为提取的边界点。
17.步骤2
‑
5,对所述提取的边界点在高度方向上以预设组距宽度建立直方图,以所述直方图中边界点数量局部峰值处作为分界线,将所述每个单栋建筑物的点云数据进行分层
分割,获得所述单栋建筑物在每个分层的点云数据,即获得建筑截面点云。
18.进一步地,在一种实现方式中,所述步骤3,包括:步骤3
‑
1,计算关联度矩阵和相似度矩阵,将所述建筑截面点云映射到子空间中进行聚类,获得的所述聚类中,每个不同的所述聚类表示映射后的建筑截面点云属于不同的直线。具体的,本发明中,本步骤根据高斯核函数对建筑截面点云计算关联度矩阵,将点云映射到不同子空间中,其中近似于一条直线上的点属于同一子空间,将关联度矩阵乘以其转置矩阵获得相似度矩阵,其将属于不同子空间的点云进行聚类。
19.步骤3
‑
2,分别对所述截面轮廓点的聚类用最小二乘法进行直线拟合,获得每个不同类别的聚类中点云所在的直线参数,即获得轮廓线段。
20.步骤3
‑
3,在考虑所述轮廓线段之间的连接性的前提下,相邻的轮廓线间相互垂直,使用约束函数进行全局拟合,获得所述各个截面的轮廓。
21.进一步地,在一种实现方式中,所述步骤3
‑
3,包括使用如下约束函数进行全局拟合:其中,为建筑轮廓线段编号,为第个建筑轮廓线段对应的向量,为建筑轮廓线段数量,为第个建筑轮廓线对应的点云数据中的第点,为建筑轮廓线段对应的点云数据中点的数量,为约束条件,相邻的轮廓线段的向量乘积为零。
22.进一步地,在一种实现方式中,所述步骤4,包括:步骤4
‑
1,将每个所述单栋建筑物的截面的轮廓变换到步骤1获取的点云数据对应的坐标系下。
23.步骤4
‑
2,对所述单栋建筑物在每个分层的点云数据进行高度的拉伸,完成对所述单栋建筑物的建模,获得所述单栋建筑物的模型。
24.步骤4
‑
3,对所有所述单栋建筑物的模型执行布尔并集操作,将每个所述单栋建筑物的模型组装完成最终的城市三维模型。
25.进一步地,在一种实现方式中,所述步骤4
‑
2,包括:步骤4
‑2‑
1,根据所述单栋建筑物在每个分层的点云数据,计算所述单栋建筑物在每个分层的高度。
26.步骤4
‑2‑
2,使用开源cad平台,对所述单栋建筑物在第一层截面的轮廓,在高度方向进行拉伸,拉伸到第二层截面的轮廓位置终止。具体的,所述开源cad平台包括但不限定于开源库opencascade。
27.步骤4
‑2‑
3,对所述第二层截面的轮廓在高度方向上进行拉伸,直至第三层截面的轮廓终止,以此类推,直至拉伸到最后一层截面的轮廓位置,完成对所述单栋建筑物的建模。
28.由以上技术方案可知,本发明提供一种基于激光雷达点云数据的城市三维自动建模方法,包括:首先,通过激光雷达获取城市建筑扫描点云数据并滤除地面,对各建筑进行聚类和分割。然后对聚类获取的每个单独建筑点云,进行边界点的提取和高度方向上的分
块分割,获取建筑每个分层的点云数据。然后,基于分层分割后的截面轮廓点进行聚类分类和约束拟合,获得各个截面的几何轮廓。最后,将拟合后的截面几何轮廓变换回原始点云中,进行特征建模操作。
29.现有技术中,城市建模的自动化程度较低,而采用前述方法,可准确分割出点云中各个单栋建筑物,并对其进行精确的几何特征自动提取,最后实现城市点云的整体重建和建模,为城市建筑的激光雷达点云提供了高效准确的自动建模方法。
附图说明
30.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明实施例部分提供的一种基于激光雷达点云数据的城市三维自动建模方法的工作流程示意图。
32.图2是本发明实施例部分提供的聚类分割的单栋建筑物的点云示意图。
33.图3是本发明实施例部分提供的使用globfit三维重建技术对图2中建筑点云的重建结果示意图。
34.图4是本发明实施例部分提供的使用rapter三维重建技术对图2中建筑点云的重建结果的效果示意图。
35.图5是本发明实施例部分提供的使用一种基于激光雷达点云数据的城市三维自动建模方法中对图2中建筑点云的重建结果示意图。
具体实施方式
36.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
37.本发明实施例公开一种基于激光雷达点云数据的城市三维自动建模方法,应用于数字孪生城市三维场景重建、城市场景快速侦查等应用场景,为解决现有方法中城市三维建模需要人工手动建模,自动化程度低的问题。
38.如图1所示,本发明实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法,包括:步骤1,通过激光雷达扫描获取城市的点云数据并滤除地面,对所述点云数据中各建筑物进行聚类和分割,得到单栋建筑物的点云数据。
39.步骤2,对每个所述单栋建筑物的点云数据进行边界点的提取和高度方向上的分层分割,获得所述单栋建筑物在每个分层的点云数据。
40.步骤3,将进行分层分割后的边界点作为截面轮廓点,进行聚类分类和约束拟合,得到各个截面的几何轮廓。
41.步骤4,将所述各个截面的几何轮廓变换回点云数据进行特征建模,得到城市三维模型。
42.应用本发明实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法,可以自动地将点云中的建筑进行分类分割,通过法向量投影法提取建筑立面特征线,通过
约束拟合实现分层几何轮廓提取,以实现对建筑的自动建模。本技术的城市三维自动建模方法的自动化程度高且建模效果较好。
43.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤1,包括:步骤1
‑
1,将所述点云数据中高度低于第一高度阈值的点云数据作为地面滤除。具体的,本发明中,所述第一高度阈值可以根据实际情况确定,如地面的地形高度变化较小,一般设定为2m。
44.步骤1
‑
2,对水平方向的所述点云数据进行统计,将所述水平方向的点云数据中高度高于第二高度阈值的点云数据视为建筑物的点云数据,对所述建筑物的点云数据进行聚类,生成点云聚类。本实施例中,每个阈值均根据实际情况进行调整,在本实施例中不做具体限定。
45.步骤1
‑
3,根据每个所述点云聚类的参数,判断所述每个点云聚类是否为单栋建筑物点云,获得所述单栋建筑物的点云数据。所述点云聚类的参数包括:点云点数、点云聚类在垂直地面方向上的高度以及每个点云聚类之间的最小距离。
46.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤1
‑
3,包括:若所述点云聚类的参数同时满足:所述点云聚类内点云点数大于点数阈值、所述点云聚类在垂直地面方向上的高度大于第三高度阈值、各个所述点云聚类之间的最小距离大于第一距离阈值,则将所述点云聚类作为单栋建筑物的点云数据,获得所述单栋建筑物的点云数据。
47.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤2,包括:步骤2
‑
1,计算每个所述单栋建筑物的点云数据的法向量 ,其中,表示单栋建筑物的点云数据中任意坐标点的序号,表示单栋建筑物的点云数据中第点对应的法向量,表示单栋建筑物的点云数据的总数量,根据以下公式计算获得建筑垂直地面向上的向量:其中,式中,表示对所述单栋建筑物的点云数据随机采样的两点计算的正交单位向量,表示预设的误差值。
48.步骤2
‑
2,将所述点云数据的所有法线归一化成单位法向量,起始点平移到原点,向量终点投影在单位高斯球进行映射,映射后的单位高斯球分别沿垂直方向和水平方向划分为多个均匀的四边形网格,计算映射到各个网格中的法线作为各个网格的投票。具体的,本实施例中,可将所述单位高斯球划分为360个四边形网格。
49.步骤2
‑
3,将投票少于预设票数阈值的网格视为噪声去除,将去除噪声后的网格按
照法线方向分为不同的组,使用最小二乘法,将每组所述网格拟合一个平面到所在高斯球网格内的点上,并将所述每组网格对应的点云数据,以所述步骤2
‑
1计算获得的向量作为投影方向,投影到拟合的平面上。
50.步骤2
‑
4,对所述点云数据投影到平面的点计算凸包多边形,计算所述凸包多边形内每个点到凸包多边形最近边的距离,若所述距离小于第二距离阈值,则将所述点作为边界,构建投影点的凸包边界多边形,计算所有所述投影点到凸包边界多边形的几何距离,将几何距离小于第三距离阈值的点作为提取的边界点。
51.步骤2
‑
5,对所述提取的边界点在高度方向上以预设组距宽度建立直方图,以所述直方图中边界点数量局部峰值处作为分界线,将所述每个单栋建筑物的点云数据进行分层分割,获得所述单栋建筑物在每个分层的点云数据,即获得建筑截面点云。
52.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤3,包括:步骤3
‑
1,计算关联度矩阵和相似度矩阵,将所述建筑截面点云映射到子空间中进行聚类,获得的所述聚类中,每个不同的所述聚类表示映射后的建筑截面点云属于不同的直线。具体的,本实施例中,本步骤根据高斯核函数对建筑截面点云计算关联度矩阵,将点云映射到不同子空间中,其中近似于一条直线上的点属于同一子空间,将关联度矩阵乘以其转置矩阵获得相似度矩阵,其将属于不同子空间的点云进行聚类。
53.步骤3
‑
2,分别对所述截面轮廓点的聚类用最小二乘法进行直线拟合,获得每个不同类别的聚类中点云所在的直线参数,即获得轮廓线段。
54.步骤3
‑
3,在考虑所述轮廓线段之间的连接性的前提下,相邻的轮廓线间相互垂直,使用约束函数进行全局拟合,获得所述各个截面的轮廓。
55.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤3
‑
3,包括使用如下约束函数进行全局拟合:其中,为建筑轮廓线段编号,为第个建筑轮廓线段对应的向量,为建筑轮廓线段数量,为第个建筑轮廓线对应的点云数据中的第点,为建筑轮廓线段对应的点云数据中点的数量,为约束条件,相邻的轮廓线段的向量乘积为零。
56.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步骤4,包括:步骤4
‑
1,将每个所述单栋建筑物的截面的轮廓变换到步骤1获取的点云数据对应的坐标系下。
57.步骤4
‑
2,对所述单栋建筑物在每个分层的点云数据进行高度的拉伸,完成对所述单栋建筑物的建模,获得所述单栋建筑物的模型。
58.步骤4
‑
3,对所有所述单栋建筑物的模型执行布尔并集操作,将每个所述单栋建筑物的模型组装完成最终的城市三维模型。
59.本实施例提供的一种基于激光雷达点云数据的城市三维自动建模方法中,所述步
骤4
‑
2,包括:步骤4
‑2‑
1,根据所述单栋建筑物在每个分层的点云数据,计算所述单栋建筑物在每个分层的高度。具体的,本实施例中,所述分层高度可通过步骤2
‑
5中建立的直方图计算获得,其中,分层高度,即单层建筑高度为该层所在高度方向直方图中峰值间的间距(高度差)。
60.步骤4
‑2‑
2,使用开源cad平台,对所述单栋建筑物在第一层截面的轮廓,在高度方向进行拉伸,拉伸到第二层截面的轮廓位置终止。具体的,所述开源cad平台包括但不限定于开源库opencascade。
61.步骤4
‑2‑
3,对所述第二层截面的轮廓在高度方向上进行拉伸,直至第三层截面的轮廓终止,以此类推,直至拉伸到最后一层截面的轮廓位置,完成对所述单栋建筑物的建模。
62.实施例:如图2至图5所示,以某城区的三维激光扫描点云数据为测试示例,包含4栋建筑物,表示为表格中的urban buildings
‑
1至urban buildings
‑
4,将本发明方法与现有的globfit、rapter三维重建技术进行对比,计算三种方法重建结果的均方根误差rmse,将其作为重建结果质量评价指标,具体对比结果如下:由表格比对结果可以得知,本发明提供的一种基于激光雷达点云数据的城市三维自动建模方法相较于现有的三维重建方法,能够有效降低重建误差,提升重建质量,因此,本发明针对城市建筑的激光雷达点云提供了高效准确的自动建模方法。进一步地,由于本发明步骤简单,便于操作,并能针对大量的激光雷达扫描点云数据进行快速的自动建模,从而减少城市三维建模时的时间成本和人力成本,从而提高城市建模的效率,因此适合在城市数字化领域推广应用。
63.具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种基于激光雷达点云数据的城市三维自动建模方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read
‑
only memory,rom)或随机存储记忆体(random access memory,ram)等。
64.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
65.本说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。
转载请注明原文地址:https://doc.8miu.com/read-1450200.html