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

一种基于三维扫描点云的建筑物平面图生成方法与流程

2021-12-12 22:54:00 来源:中国专利 TAG:


1.本发明涉及计算机视觉三维感知与三维点云处理技术领域,具体涉及一种基于三维扫描点云的建筑物平面图生成方法。


背景技术:

2.随着三维扫描技术、摄影测量和深度传感器的发展与普及,我们能够便捷地获得到海量的三维点云信息。相比于二维图像信息,三维点云能够更为准确直观地描述物体的几何属性。事实上,生活与工业产品的几何外形由平面、球面、柱面及锥面等几何基元构成的。从含丰富信息的点云数据利用计算机自动高效地分析出零件的几何基元是三维点云处理领域的一个重要部分。
3.平面作为基本几何基元是最常见、最有特点的一类物体,大量存在于生活与工业产品中。从无序点云中高效识别其中的所有平面,获取其准确几何属性是点云处理中的关键问题。有效解决平面拟合问题可以降低计算机的运算难度,确定目标物体的姿态和属性,进而使机器能够更好的感知世界。
4.在三维重建后,对重建后的点云会有各种应用,其中主要是在建筑领域,有一种需求是对一个楼层进行扫描后,能够高效地生成该楼层的二维矢量平面图。由于扫描过程中由于遮挡、二次装修等原因不可避免地会产生结构的缺漏与谬误,因此目前较为可靠的是加入人工手动修补的半自动化方案。对于人工识别前的初识别阶段,目前现有的技术方案主要可以分为两类:一种是基于随机抽样一致性算法或区域增长的面识别方案,另一种基于二维投影后通过霍夫变换检测线段的方案。
5.上述两种方案存在不少问题:
6.1、不可交互的面识别方案难以适应所有的数据情况,具有不同层高、不同规模堆积物的数据可能会导致大量的错识别,从而显著增加人工修补步骤的工作量。
7.2、基于二维投影检测线段的方案难以获得完整、连续的一面墙。在投影过程中难以排除杂物的影响并仅投影墙面,从而会使堆积物的边缘投影严重阻碍墙面的检测;霍夫变换检测线时,如调大线段内点间隔等参数,则会使相近的两段墙面连到一起,如调小参数,则会受到投影与扫描过程中稀疏性的影响,从而打断线段。
8.3、两种方法都不可避免地需要对墙面的方向进行二次优化,因为检测出来的墙面方向都与彼此无关,所以在全局结构图中会表现出散乱的特点。这时往往需要根据曼哈顿世界(场景中的几何结构仅包含平行、正交和共面关系)假设,将所有线段的方向拉到与坐标轴平行或垂直的方向,但这会极大地限制所能生成的结构。
9.因此,有必要提供一种在三维点云基础上的建筑物二维平面的识别方法,能够有效避免了在识别过程中信息的损失,使得完整、连续墙面的提取成为可能。


技术实现要素:

10.解决的技术问题
11.本发明提供了一种基于三维扫描点云的建筑物平面图生成方法,应用于建筑物的平面图生成,该生成方法能够有效避免在生成过程中数据的损失,使得完整、连续的建筑物平面图的提取成为可能。
12.技术方案
13.为实现以上目的,本发明通过以下技术方案予以实现:
14.本发明提供一种基于三维扫描点云的建筑物平面图生成方法,包括:
15.对一建筑物进行三维扫描融合,得到所述建筑物的三维点云坐标数据;
16.对所述三维点云坐标数据进行数据预处理,所述数据预处理包括降采样和使用主成分分析来计算点云的法向量值;
17.基于所述数据预处理后的三维点云坐标数据进行平面拟合,所述平面拟合限制所述建筑物的朝向的数量,通过所述平面拟合得到初始平面结构;
18.对所述初始平面结构进行手动修复;
19.对手动修复后的所述初始平面结构进行结构优化,生成二维矢量平面图。
20.进一步地,所述对一建筑物进行扫描融合基于三维传感器以及相应slam算法。
21.进一步地,所述降采样包括:
22.通过输入的所述三维点云坐标数据创建一个三维体素栅格;
23.在每个所述三维体素栅格内,用所述三维体素栅格的所有点的重心来近似显示所述三维体素栅格中其他点。
24.进一步地,所述使用主成分分析来计算点云的法向量值具体包括:
25.对所述降采样之后的所述三维点云坐标数据进行去中心化,所述去中心化指每个特征维度减去各自的平均值;
26.计算协方差矩阵;
27.用特征值分解方法求所述协方差矩阵的特征值与特征向量,并按特征值从大到小排序特征向量,其中,最小的特征向量即为法向量。
28.进一步地,所述平面拟合包括对目标函数的优化,所述目标函数为:
[0029][0030]
其中,n是点的数量,n
i
是第i个点的邻域点集合,v是优化后的法向量集合,z
i
是第i个点的法向量在v中的序号,i是预处理阶段计算得到的法向量集合,i
i
是第i个点的原始法向量,λ表示离群值惩罚系数;
[0031]
所述对目标函数的优化包括对下列(1)、(2)式的优化;
[0032][0033][0034]
对(1)式的优化包括:
[0035]
计算合并两个子域时目标函数的变化δe,
[0036][0037]
其中,v
i
和v
j
分别表示两个子域,c
ij
为两个子域中相连单元的个数,w
i
为域i的点集数量,w
j
为域j的点集数量,λ0表示初始取值:计算各点与其邻点距离中位数,取该中位数集合中的最小值;
[0038]
若δe为正,则合并两子域,否则不合并;
[0039]
合并后新子域的法向量为:
[0040][0041]
对(2)式的优化包括:
[0042]
构建满足f(x∪{x})

f(x)≥f(y∪{x})

f(y)for any的次模函数:
[0043][0044]
其中,φ是不相连区域的集合,是第i个子区域的法向量,v
φ
是包含的法向量集合;
[0045]
进行初始化:y

φ;
[0046]
遍历区域内点数量大于阈值的所有区域,对第i个区域φ
i
,若f(x∪{φ
i
})

f(x)≥f(y\{φ
i
})

f(y)则x

x∪{s
i
},反之y

y\{φ
i
},得到的v即为优化结果。
[0047]
进一步地,所述平面拟合还包括:
[0048]
若区域内点在法向量的方向上的长度大于0.1m,则将其在该方向上投影以0.01m为宽度统计点数量直方图,取两个最高点的中点为分界,将该区域分为两子区域;
[0049]
对每一子区域,用主成分分析的方法计算其内点在空间中的分布,得到对应特征值最大的特征向量;
[0050]
结合该部分法向量,得到子区域坐标系到全局坐标系的旋转矩阵以及全局坐标系到子区域坐标系的旋转矩阵;
[0051]
用所述全局坐标系到子区域坐标系的旋转矩阵将区域内点旋转到子区域坐标系内,排序得到z轴坐标值为中位数的点,将其用所述子区域坐标系到全局坐标系的旋转矩阵旋转回全局坐标系,得到平面在全局坐标系中经过的点p
median

[0052]
进一步地,所述通过所述平面拟合得到初始平面结构包括:
[0053]
对任一子区域,通过其三维法向量获得二维方向向量为:
[0054][0055]
其中,n1、n2和n3分别表示x轴、y轴和z轴方向上的方向分量;
[0056]
根据计算得到二维墙面的角度值θ=arccos(d1);
[0057]
将所有点的x轴和y轴坐标根据二维旋转矩阵:
[0058][0059]
旋转到局部坐标系;
[0060]
根据x轴方向上的最大值x
max
和最小值x
min
,以及p
median
旋转后得到的y值y
median
,得到全局坐标系下的两个端点:
[0061][0062]
对于θ≤45或θ>135的墙面线段,取x值小的作为起点,x值大的作为终点;对于45<θ≤135的线段,取y值小的作为起点,y值大的作为终点;
[0063]
根据点云在z轴上的最大最小值,得到高度的范围(h
min
,h
max
);
[0064]
过滤所有n3>0.1的平面,调整墙面高度的范围,设定有阀值(h
low
,h
high
),保留高度的范围(h
min
,h
max
)在阀值(h
low
,h
high
)内的求墙面,得到初始平面结构的二维图像。
[0065]
进一步地,所述手动修复包括在所述二维图像上画线,根据两点来生成一条线,并同时计算θ,数据,或选择多余的线段,将其删除,得到修复后的草图。
[0066]
进一步地,所述对手动修复后的所述初始平面结构进行结构优化包括:
[0067]
计算所述修复后的草图上的各点是否能够通过伸缩5个像素来使图像闭合,若能,则将线段替换为闭合的优化后线段;若不能,则保留原线段。
[0068]
有益效果
[0069]
本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
[0070]
本发明通过基于l0限制的方法,所述l0限制表示用来度量向量中非零元素的个数,即这里限制法向量的个数:两个法向量相减是否全为0,而不是计算法向量距离。对环境中面方向的数量做出限制,从而在不强制限制各面方向的情况下,在各方向的面之间建立了关联,保证了结果的一致性与稳定性,并且避免了对方向进行二次优化;此外,该方法直接作用于三维数据,避免了在投影过程中信息的损失,使得完整、连续墙面的提取成为可能。
附图说明
[0071]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0072]
图1为本发明一实施例提供的基于三维扫描点云的建筑物平面图生成方法的流程示意图;
[0073]
图2本发明一实施例提供的基于三维扫描点云的建筑物平面图生成方法的系统架构如图;
[0074]
图3本发明一实施例提供的基于三维扫描点云的建筑物平面图生成方法的流程结构图。
具体实施方式
[0075]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0076]
下面结合实施例对本发明作进一步的描述。
[0077]
参阅图1

3,本发明一实施例提供了一种基于三维扫描点云的建筑物平面图生成方法,包括:
[0078]
s100、对一建筑物进行三维扫描融合,得到所述建筑物的三维点云坐标数据。
[0079]
在本实施例中,所需的输入数据为基于三维传感器以及相应slam算法扫描融合得到的三维点云坐标数据,原始数据中并不需要具备法向量(normal)值,因为首先需要对数据进行降采样。
[0080]
s200、对所述三维点云坐标数据进行数据预处理,所述数据预处理包括降采样和使用主成分分析来计算点云的法向量值;
[0081]
在本实施例中,采用的降采样方法是体素滤波,其通过输入的点云数据创建一个三维体素栅格,然后在每个体素(即三维立方体)内,用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有点就用一个重心点最终表示,对于所有体素处理后得到过滤后的点云。在本实施例中中,选择体素立方体的长宽高大小可以为0.05m,这是一个相对较大的值,因为本实施例的处理对象是墙面在平面图上的结构,不需要检测一些特别微小的结构,而点云的数量规模对于后续面检测步骤的速度具有十分巨大的影响。
[0082]
在本实施例中,降采样后,本实施例使用主成分分析来计算点云的法向量值,该方法目前被普遍地应用于三维空间中数据集分布的计算。其主要步骤为:
[0083]
(1)对所述三维点云坐标数据数据集x={x1,x2,

,x
n
}进行去中心化,即每个特征维度减去各自的平均值;
[0084]
(2)计算协方差矩阵
[0085]
(3)用特征值分解方法求协方差矩阵的特征值与特征向量,并按特征值从大到小排序得到特征值λ1,λ2,λ3与特征向量其中即为法向量。
[0086]
而法向量能用这种统计中的方法计算的原因则是该点与其临近点的连线(平面上的某个方向)与法向量的方向应该垂直,即:
[0087][0088]
s300、基于所述数据预处理后的三维点云坐标数据进行平面拟合,所述平面拟合
限制所述建筑物的朝向的数量,通过所述平面拟合得到初始平面结构。
[0089]
在本实施例中,平面拟合包括对目标函数的优化,目标函数为:
[0090][0091]
其中,n是点的数量,n
i
是第i个点的邻域点集合,v是优化后的法向量集合,z
i
是第i个点的法向量在v中的序号,i是预处理阶段计算得到的法向量集合,i
i
是第i个点的原始法向量,λ是离群值惩罚系数,即一个点和其邻域点应该具有相近的法向量值,否则可能是离群点导致,该系数控制占比大小,在1到10之间取值。
[0092]
在该能量函数中,||v
zi

i
i
||2是为了引导输出的法向量能够尽可能的与输入一致,则是限制空间中相邻的点最后被分配到同样的法向量,该式前的λ是限制在能量函数中所占的比重,通常根据数据情况在1到10之间调整。为了便于优化,该问题被拆分为了两个子问题,即对目标函数的优化包括对下列(1)、(2)式的优化;
[0093][0094][0095]
对(1)式的优化包括:
[0096]
通过合并相邻平面域(构成一个平面的点集)的方法进行优化,其计算合并两个子域时能量函数的变化δe,
[0097][0098]
其中,v
i
和v
j
分别表示两个子域,c
ij
为两个子域中相连单元的个数,w
i
为域i的点集数量,w
j
为域j的点集数量,λ0表示初始取值:计算各点与其邻点距离中位数,取该中位数集合中的最小值。在优化的迭代循环中每次取上一次值的1.2倍,来促使目标函数表达,使子域合并。
[0099]
若δe为正,则合并两子域,否则不合并;
[0100]
合并后新子域的法向量为:
[0101][0102]
对(2)式的优化包括:
[0103]
构建满足f(x∪{x})

f(x)≥f(y∪{x})

f(y)for any的次模函数:
[0104][0105]
其中,φ是不相连区域的集合,是第i个子区域的法向量,v
φ
是包含的法向量集合;
[0106]
进行初始化:y

φ;
[0107]
遍历区域内点数量大于阈值的所有区域,对第i个区域φ
i
,若f(x∪{φ
i
})

f(x)≥f(y\{φ
i
})

f(y)则x

x∪{s
i
},反之y

y\{φ
i
},得到的v即为优化结果。
[0108]
但是,上述方法有一个问题,就是双层墙在扫描的结果中会是间隔极近的两面平行的墙,但因为方法中限制了法向量的数量,因此它们会被归到一起去。
[0109]
所以,本实施例为了解决这一问题,若区域内点在法向量的方向上的长度大于0.1m,则将其在该方向上投影,以0.01m为宽度统计点数量直方图,取两个最高点的中点为分界,将该区域分为两个子区域。
[0110]
之后,在本实施例中,对每一区域,用主成分分析(pca)计算其内点在空间中的分布,得到对应特征值最大的特征向量结合该区域法向量则可得到子区域坐标系到全局坐标系的旋转矩阵r
wn
与从全局坐标系到子区域坐标系的旋转矩阵r
nw

[0111][0112][0113]
用r
nw
将区域内点旋转到子区域坐标系内,排序得到z值为中位数z=median(z
i
)的点,将其用r
wn
旋转回全局坐标系,则得到平面在全局坐标系中经过的点p
median

[0114]
至此,用优化步骤得到的法向量与经过点即可表示平面。
[0115]
此外,在本实施例中,所述通过所述平面拟合得到初始平面结构包括:
[0116]
对任一子区域,通过其三维法向量获得二维方向向量为:
[0117][0118]
其中,n1、n2和n3分别表示x轴、y轴和z轴方向上的方向分量;
[0119]
根据计算得到二维墙面的角度值θ=arccos(d1);
[0120]
将所有点的x轴和y轴坐标根据二维旋转矩阵:
[0121][0122]
旋转到局部坐标系;
[0123]
根据x轴方向上的最大值x
max
和最小值x
min
,以及p
median
旋转后得到的y值y
median
,得到全局坐标系下的两个端点:
[0124][0125]
对于θ≤45或θ>135的墙面线段,取x值小的作为起点,x值大的作为终点;对于45<θ≤135的线段,取y值小的作为起点,y值大的作为终点;
[0126]
根据点云在z轴上的最大最小值,得到高度的范围(h
min
,h
max
);
[0127]
过滤所有n3>0.1的平面,调整墙面高度的范围,设定有阀值(h
low
,h
high
),保留高度的范围(h
min
,h
max
)在阀值(h
low
,h
high
)内的求墙面,得到初始平面结构的二维图像。
[0128]
s400、对所述初始平面结构进行手动修复;
[0129]
在本实施例中,在初始结构生成后,手动地在二维图像上画线,根据两点来生成一条线,并同时计算相应的θ,等数据;或是选择多余的线段,将其删除,并且,本过程中并不要求线段闭合无误。
[0130]
s500、对手动修复后的所述初始平面结构进行结构优化,生成二维矢量平面图。
[0131]
在本实施例中,对手动修复后的所述初始平面结构进行结构优化包括:计算所述修复后的草图上的各点是否能够通过伸缩5个像素来使图像闭合,具体为:
[0132]
(1)判断θ≤45或θ>135则为横线,45<θ≤135则为竖线;
[0133]
(2)对d=0,1,2,3,4,5,重复步骤s300与步骤s400,若与其它原始线段相交则跳出;
[0134]
(3)横线则起点原始x值减小d,原始y值减小d2/d1·
d,终点原始x值增大d,原始y值增大d2/d1·
d;竖线则起点原始y值减小d,原始x值减小d1/d2·
d,终点原始y值增大d,原始x值增大d1/d2·
d。
[0135]
(4)横线则起点原始x值增大d,原始y值增大d2/d1·
d,终点原始x值减小d,原始y值减小/d1·
d;竖线则起点原始y值增大d,原始x值增大d1/d2·
d,终点原始y值减小d,原始x值减小d1/d2·
d。
[0136]
(5)若未闭合,则保留原始线段。由此,则结构优化完毕,生成最终二维矢量平面图。
[0137]
如图3所示,分别为在平面拟合后所绘的全部线段、经过交互调整高度阈值后把桌子等地面对方物品过滤掉后的结构、手动修复去掉多识别的线并补上缺少的线后的结构和优化后的最终结构。
[0138]
本发明的优点在于通过基于l0限制的方法,对环境中面方向的数量做出限制,从而在不强制限制各面方向的情况下,在各方向的面之间建立了关联,保证了结果的一致性与稳定性,并且避免了对方向进行二次优化;进一步地,该方法直接作用于三维数据,避免了在投影过程中信息的损失,使得完整、连续墙面的提取成为可能;进一步地,不对方向做出强制性限制,使其能够适应一些非曼哈顿的结构,例如“人”字型的建筑楼层;再进一步地,半自动化的交互流程使其能够适应各种场景,例如,如果场景中堆放了很多杂物,则可以设置关注的上下界为1.5m到2m,避免过多杂物的影响;最后,以结构的闭合为目标进行优化,为下一步计算面积等提供便利。
[0139]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
再多了解一些

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

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

相关文献