基于多特征约束的室外场景建筑物提取方法

文档序号:31774798发布日期:2022-10-12 08:06阅读:164来源:国知局
基于多特征约束的室外场景建筑物提取方法

1.本发明属于点云场景分割技术领域,涉及基于多特征约束的室外场景建筑物提取方法。


背景技术:

2.数字化城市的最终目标是将提取到的建筑物信息转化并描述成计算机能够理解的数字化模型。从点云三维重建的规模来看,当前对于小规模室内场景的重建和小型物体的重构已经取得了很多研究成果,但对于大规模室外场景中的物体重建仍然存在许多亟需解决的问题。
3.建筑物提取作为建筑物重建的前提和基础,是指将给定的数据集划分为不重叠的同质区域,并从这些区域中识别出建筑物的任务,使得建筑物在重建过程中不会受到其它因素的影响。建筑物提取需要充分考虑建筑物对象区别于其它类别物体的特征,从而将建筑物与非建筑物进行分离。长期以来,大规模复杂室外场景中包含着大量不同类别的地物,如植被、车辆、与建筑物高度类似的树木、在空间距离上非常接近建筑物甚至与建筑物连在一起的树木等,导致建筑物的自动提取一直很难实现,传统的提取方法存在提取精度差和效率低的问题,这将进一步影响建筑物重建模型的质量。


技术实现要素:

4.本发明的目的是提供基于多特征约束的室外场景建筑物提取方法,有效地提高了传统方法存在的提取精度低的问题。
5.本发明所采用的技术方案是,基于多特征约束的室外场景建筑物提取方法,具体按照如下步骤实施:
6.步骤1,数据预处理:输入原始点云数据,使用体素网格滤波方法对原始场景进行下采样得到预处理后的点云数据;
7.步骤2,地面点滤除:使用布料滤波算法将场景中的地面点进行滤除;
8.步骤3,非地面点聚类:构建kd(k-dimensional)树,使用索引方法查找邻域点,通过基于密度聚类算法实现非地面点聚类;
9.步骤4,建筑物点提取:从点云的高度特征、点云体积特征、方向特征、维度特征和颜色特征五个方面考虑,区分建筑物和非建筑物,完成建筑物点提取。
10.本发明的特点还在于,
11.步骤1具体为:
12.步骤1.1,计算每个体素网格的中心点
13.在原始点云数据上绘制体素网格,假设当前输入点为pi(xi,yi,zi),体素网格边长l
grid
,则体素网格的中心点坐标w(x
cen
,y
cen
,z
cen
)为,
[0014][0015]
根据体素网格的边长和体素网格的中心点坐标得到每个体素网格在空间中的位置;
[0016]
步骤1.2,计算每个体素网格的重心点
[0017]
假设网格的重心点为g(x,y,z),则对于含有n个点的体素网格,每个体素网格的重心点表示为:
[0018][0019]
步骤1.3,使每个体素网格的重心点替换对应体素网格内的所有点,过滤掉重心点以外的剩余点,得到预处理后的点云数据。
[0020]
步骤2具体为:
[0021]
步骤2.1,将预处理后的点云数据进行反转,设置初始布料网格边长,构造初始布料格网,假设粒子只在垂直方向上移动;
[0022]
步骤2.2,将格网粒子与点云投影到同一水平面,找到格网中每个粒子的邻近点并记录对应点的高程值hiv;
[0023]
步骤2.3,对每一个可移动的粒子,计算其位置受到重力影响后产生的移动距离,计算公式如式(3);
[0024][0025]
式(3)中,x(t)表示粒子在t时刻的位置,δt表示时间步长,g表示万有引力常数,m表示粒子质量;
[0026]
步骤2.4,将移动后粒子所在的位置与其对应近邻点的高程值hiv进行比较:如果粒子的所在高度小于等于邻近点的高程值hiv,则把粒子移动到hiv高度处并设置为不可移动点;
[0027]
步骤2.5,对于每个粒子,计算受到内部驱动因素影响所产生的移动距离;如果两个相连接的粒子都为可移动粒子,则将两粒子移动到两粒子的平均高程值处;若一个为不可移动点,另一个为可移动粒子,则移动可移动粒子;若两个粒子都为不可移动点,则不移动;
[0028]
粒子移动产生的距离由式(4)计算得到;
[0029][0030]
式(4)中,表示粒子的位移向量,b表示为可移动粒子时,该值为1否则为0,表示可移动粒子的位置,表示当前粒子邻近粒子的位置,表示垂直方向上的单位向量;
[0031]
步骤2.6,迭代步骤2.3至2.5,直到所有粒子的最大高程变化小于阈值m
hv
或者迭代次数到达预设的值,则停止模拟过程;
[0032]
步骤2.7:计算点云与粒子之间的高度差异,如果点云中的点与粒子之间的距离小于高度阈值,则认为点云中的点是地面点,反之则认为是非地面点。
[0033]
步骤3具体为,
[0034]
步骤3.1,构建kd树;
[0035]
步骤3.2,从点云中选取一个未被处理的点p0,未被处理的点指未被标记已处理的点,根据索引查找p0ε邻域内的点,如果邻域内至少包含t
min
个点,证明p0为核心点,此时,将该点标记为已处理并创建新簇c,将p0的ε邻域点加入到c中,否则将该点标记为已处理并重新选取新的点,直到选取到核心点;
[0036]
步骤3.3,遍历簇c中未被处理的点,若遍历过程中存在点在给定的阈值下也是核心点,则将该点的ε邻域内的所有点加入到簇c中,并将该点标记为已处理;
[0037]
步骤3.4,重复步骤3.3直到没有新的点加入到簇c;
[0038]
步骤3.5,重复步骤3.2至3.4,直至点云中的点都被处理完毕,即可完成聚类。
[0039]
步骤4具体为:
[0040]
步骤4.1,使用高程值剔除场景中的低矮植被:高程值小于2m的点簇为低矮地物,需将其剔除,而高于2m的点簇为建筑物和树木等较高地物,将这些点簇保留进行下一步计算,高程值计算如式(5);
[0041]
h=z
max-z
ground
ꢀꢀ
(5)
[0042]
式(5)中,h表示高程值,z
max
表示点云在垂直于地面方向上的最大值,z
ground
表示点云地面点z坐标,用地面点z坐标的平均值代替;
[0043]
步骤4.2,使用最小凸包体积剔除场景中面积较小且高度高于低矮植被但不高于建筑物的地物:求解聚类后点簇的最小凸包,进一步计算最小凸包的体积来区分建筑物与其他地物,体积阈值vb根据不同场景中的建筑物体积而定;
[0044]
步骤4.3,使用方向特征剔除场景中的高大树木:构造并分析点云法向量与z轴方向向量夹角的余弦值来确定当前点簇所属类别;
[0045]
步骤4.4,使用维度特征剔除场景中表现为线状结构和球面结构的地物,根据主成分分析方法对点云进行分析;
[0046]
步骤4.5,使用颜色特征剔除场景中密度较稀疏的树木以及和建筑物连接在一起的树木。
[0047]
步骤4.3具体为:
[0048]
步骤4.3.1,首先将点云法向量与z轴方向向量夹角的余弦值划分为多个区间,区间大小在[0,1]范围内,设置组距μ=0.1,然后构造夹角余弦值的分布直方图;
[0049]
步骤4.3.2,计算点云法向量与z轴方向向量夹角的余弦值分布中每个区间的概率以及所有概率的标准差,统计概率大于标准差的区间个数p
num
和概率小于标准差的区间个数n
num
,如果p
num
》n
num
,证明该点簇余弦值分布较为离散为非建筑物,将其剔除。
[0050]
步骤4.4具体为:
[0051]
步骤4.4.1,计算每个点簇的协方差矩阵的特征值γ1、γ2、γ3(γ1≥γ2≥γ3);
[0052]
步骤4.4.2,令使用式(6)计算空间中的点分别属于三类维度的概率;
[0053][0054]
式(6)中,表示线性度,即点云属于一维特征的概率,表示平面度,即点云属于二维特征的概率,表示散乱度,即点云属于三维特征的概率;
[0055]
步骤4.4.3,根据不同的概率值大小获得当前点的维度特征,进一步得到该点所属的类别,如果一个点簇中面状点占比最高,则认定属于建筑物,反之如果散乱点或者线状点占比高于面状点,则认定属于非建筑物,由此提取出场景中的所有建筑物点云。
[0056]
步骤4.5具体为:
[0057]
步骤4.5.1,将过绿指数exg(excess green)引入三维点云场景中作为剔除稀疏树木的依据,其计算公式如式(7);
[0058]
exg=2g-r-b(7)
[0059]
式(7)中,r=r/(r+g+b)、g=g/(r+g+b)、b=b/(r+g+b),r、g、b分别表示点云的颜色值;
[0060]
步骤4.5.2,如果exg指数大于阈值e,则判断该点r邻域内所有点的exg指数并统计其个数n,如果n大于点数阈值n,则该点为树木点,否则为建筑物点,将阈值e设置为0.08,阈值n自适应的设置为邻域内点云个数的一半,保留建筑物点完成建筑物点提取。
[0061]
本发明的有益效果是:
[0062]
本发明基于多特征约束的室外场景建筑物提取方法,将下采样后的场景通过布料滤波算法将地面点滤除,其适用性更强且能适用于多种具有复杂特征的地形,在对非地面点进行聚类后选取有较强区分能力的特征进行建筑物提取,可以有效剔除低矮且面积较小的地物,对密度稀疏以及和建筑物相连接的树木也有很好的剔除效果,有效提高了使用传统方法提取精度低的问题,并且对室外场景中大部分建筑物都能成功提取,为大规模场景中的建筑物提取提供了相应的处理思路。
附图说明
[0063]
图1是基于多特征约束的室外场景建筑物提取方法框图;
[0064]
图2是基于多特征约束的室外场景建筑物提取方法通过布料滤波算法滤除地面点的结果;
[0065]
图3是基于多特征约束的室外场景建筑物提取方法结合密度聚类算法和kd树进行非地面点聚类的结果;
[0066]
图4是基于多特征约束的室外场景建筑物提取方法最小凸包构建的结果;
[0067]
图5是基于多特征约束的室外场景建筑物提取方法是不同点簇夹角余弦值分布直方图;
[0068]
图6是基于多特征约束的室外场景建筑物提取方法不同点簇中的点类别分布情况
直方图;
[0069]
图7是基于多特征约束的室外场景建筑物提取方法对建筑物点提取的结果。
具体实施方式
[0070]
下面结合附图和具体实施方式对本发明进行详细说明。
[0071]
实施例
[0072]
本实施例提供基于多特征约束的室外场景建筑物提取方法,如图1所示,具体按照如下步骤实施:
[0073]
步骤1,数据预处理:输入原始点云数据,使用体素网格滤波方法对原始场景进行下采样得到预处理后的点云数据;
[0074]
步骤1.1,计算每个体素网格的中心点
[0075]
在原始点云数据上绘制体素网格,假设当前输入点为pi(xi,yi,zi),体素网格边长l
grid
,则体素网格的中心点坐标w(x
cen
,y
cen
,z
cen
)为,
[0076][0077]
根据体素网格的边长和体素网格的中心点坐标得到每个体素网格在空间中的位置;
[0078]
步骤1.2,计算每个体素网格的重心点
[0079]
假设网格的重心点为g(x,y,z),则对于含有n个点的体素网格,每个体素网格的重心点表示为:
[0080][0081]
步骤1.3,使每个体素网格的重心点替换对应体素网格内的所有点,过滤掉重心点以外的剩余点,得到预处理后的点云数据。
[0082]
步骤2,地面点滤除:使用布料滤波算法将场景中的地面点进行滤除;
[0083]
步骤2.1,将预处理后的点云数据进行反转,设置初始布料网格边长,构造初始布料格网,假设粒子只在垂直方向上移动;
[0084]
步骤2.2,将格网粒子与点云投影到同一水平面,找到格网中每个粒子的邻近点并记录对应点的高程值hiv;
[0085]
步骤2.3,对每一个可移动的粒子,计算其位置受到重力影响后产生的移动距离,计算公式如式(3);
[0086][0087]
式(3)中,x(t)表示粒子在t时刻的位置,δt表示时间步长,g表示万有引力常数,m
表示粒子质量;
[0088]
步骤2.4,将移动后粒子所在的位置与其对应近邻点的高程值hiv进行比较:如果粒子的所在高度小于等于邻近点的高程值hiv,则把粒子移动到hiv高度处并设置为不可移动点;
[0089]
步骤2.5,对于每个粒子,计算受到内部驱动因素影响所产生的移动距离;如果两个相连接的粒子都为可移动粒子,则将两粒子移动到两粒子的平均高程值处;若一个为不可移动点,另一个为可移动粒子,则移动可移动粒子;若两个粒子都为不可移动点,则不移动;
[0090]
粒子移动产生的距离由式(4)计算得到;
[0091][0092]
式(4)中,表示粒子的位移向量,b表示为可移动粒子时,该值为1否则为0,表示可移动粒子的位置,表示当前粒子邻近粒子的位置,表示垂直方向上的单位向量;
[0093]
步骤2.6,迭代步骤2.3至2.5,直到所有粒子的最大高程变化小于阈值m
hv
或者迭代次数到达预设的值,则停止模拟过程;
[0094]
步骤2.7:计算点云与粒子之间的高度差异,如果点云中的点与粒子之间的距离小于高度阈值,则认为点云中的点是地面点,反之则认为是非地面点,布料滤波的结果如图2所示。
[0095]
步骤3,非地面点聚类:构建kd(k-dimensional)树,使用索引方法查找邻域点,通过基于密度聚类算法实现非地面点聚类;
[0096]
步骤3.1,构建kd树;
[0097]
步骤3.2,从点云中选取一个未被处理的点p0,未被处理的点指未被标记已处理的点,根据索引查找p0ε邻域内的点,如果邻域内至少包含t
min
个点,证明p0为核心点,此时,将该点标记为已处理并创建新簇c,将p0的ε邻域点加入到c中,否则将该点标记为已处理并重新选取新的点,直到选取到核心点;
[0098]
步骤3.3,遍历簇c中未被处理的点,若遍历过程中存在点在给定的阈值下也是核心点,则将该点的ε邻域内的所有点加入到簇c中,并将该点标记为已处理;
[0099]
步骤3.4,重复步骤3.3直到没有新的点加入到簇c;
[0100]
步骤3.5,重复步骤3.2至3.4,直至点云中的点都被处理完毕,即可完成聚类,聚类的结果如图3所示。
[0101]
步骤4,建筑物点提取:从点云的高度特征、点云体积特征、方向特征、维度特征和颜色特征五个方面考虑,区分建筑物和非建筑物,完成建筑物点提取;
[0102]
步骤4.1,使用高程值剔除场景中的低矮植被:高程值小于2m的点簇为低矮地物,需将其剔除,而高于2m的点簇为建筑物和树木等较高地物,将这些点簇保留进行下一步计算,高程值计算如式(5);
[0103]
h=z
max-z
ground
ꢀꢀ
(5)
[0104]
式(5)中,h表示高程值,z
max
表示点云在垂直于地面方向上的最大值,z
ground
表示点云地面点z坐标,用地面点z坐标的平均值代替;
[0105]
步骤4.2,使用最小凸包体积剔除场景中面积较小且高度高于低矮植被但不高于
建筑物的地物:求解聚类后点簇的最小凸包,最小凸包的构建结果如图4所示,进一步计算最小凸包的体积来区分建筑物与其他地物,体积阈值vb根据不同场景中的建筑物体积而定;
[0106]
步骤4.3,使用方向特征剔除场景中的高大树木:构造并分析点云法向量与z轴方向向量夹角的余弦值来确定当前点簇所属类别;
[0107]
步骤4.3具体为:
[0108]
步骤4.3.1,首先将点云法向量与z轴方向向量夹角的余弦值划分为多个区间,区间大小在[0,1]范围内,设置组距μ=0.1,然后构造夹角余弦值的分布直方图如图5所示;
[0109]
步骤4.3.2,计算点云法向量与z轴方向向量夹角的余弦值分布中每个区间的概率以及所有概率的标准差,统计概率大于标准差的区间个数p
num
和概率小于标准差的区间个数n
num
,如果p
num
》n
num
,证明该点簇余弦值分布较为离散为非建筑物,将其剔除。
[0110]
步骤4.4,使用维度特征剔除场景中表现为线状结构和球面结构的地物,根据主成分分析方法对点云进行分析;
[0111]
步骤4.4具体为:
[0112]
步骤4.4.1,计算每个点簇的协方差矩阵的特征值γ1、γ2、γ3(γ1≥γ2≥γ3);
[0113]
步骤4.4.2,令使用式(6)计算空间中的点分别属于三类维度的概率;
[0114][0115]
式(6)中,表示线性度,即点云属于一维特征的概率,表示平面度,即点云属于二维特征的概率,表示散乱度,即点云属于三维特征的概率;
[0116]
步骤4.4.3,根据不同的概率值大小获得当前点的维度特征,进一步得到该点所属的类别,不同点簇中的点类别分布情况如图6所示,点簇1和点簇2中面状点占比最高,而其它三个点簇中的散乱点占比较高,因此认为点簇1和点簇2属于建筑物,而点簇3、点簇4和点簇5为非建筑物,由此提取出场景中的所有建筑物点云。
[0117]
步骤4.5,使用颜色特征剔除场景中密度较稀疏的树木以及和建筑物连接在一起的树木;
[0118]
步骤4.5具体为:
[0119]
步骤4.5.1,将过绿指数exg(excess green)引入三维点云场景中作为剔除稀疏树木的依据,其计算公式如式(7);
[0120]
exg=2g-r-b(7)
[0121]
式(7)中,r=r/(r+g+b)、g=g/(r+g+b)、b=b/(r+g+b),r、g、b分别表示点云的颜色值;
[0122]
步骤4.5.2,如果exg指数大于阈值e,则判断该点r邻域内所有点的exg指数并统计其个数n,如果n大于点数阈值n,则该点为树木点,否则为建筑物点,将阈值e设置为0.08,阈值n自适应的设置为邻域内点云个数的一半,保留建筑物点完成建筑物点提取。
[0123]
通过上述方式可知,本发明基于多特征约束的室外场景建筑物提取方法,首先使用体素网格滤波方法对大规模点云场景进行下采样,对于下采样后的场景用布料滤波算法去除地面点。然后,结合基于密度聚类算法和kd树对非地面点进行聚类,将非地面点聚为不同的点簇。最后,结合点云高度、体积、方向、维度以及颜色特征将建筑物点云与非建筑物点云进行分离,最终从室外场景中提取出建筑物点云。本发明有效提高了使用传统方法提取精度低的问题,技术路线完整,并且对室外场景中大部分建筑物都能成功提取,为大规模场景中的建筑物提取提供了相应的处理思路。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1