一种具有结构语义的室内三维模型自动重构方法及系统与流程

文档序号:18170373发布日期:2019-07-13 09:49阅读:828来源:国知局
一种具有结构语义的室内三维模型自动重构方法及系统与流程

本发明涉及室内三维模型构建技术领域,尤其涉及的是一种具有结构语义的室内三维模型自动重构方法及系统。



背景技术:

近年来,具有结构语义信息的室内三维模型成为室内定位、室内导航、建筑管理、虚拟现实等应用重要的数据源。当前,大量的研究集中在如何基于三维点云自动分割及重建室内部件,进而获取几何与语义一致的室内三维模型。激光扫描是获取高精度三维点云最广泛使用的技术,该方法通常需要针对目标环境设置不同的测量站点,进而通过算法对不同站点获取的三维点云进行拼接获取全局三维点云。目前,一些消费机的三维扫描仪,例如深度传感器,该三维扫描仪可以很大程度上减少数据采集的时间并提供完整的彩色三维点云。

目前,在实现自动化室内三维模型的重构,基本都是从三维点云中提取房间,地板,天花板,门窗等部件以及部件之间的关联关系,因此将非结构化的三维点云转化为具有语义信息的室内三维模型需要大量计算几何及计算机视觉相关算法支持。但是,当前具有结构语义的室内三维模型重构存在以下问题:1)室内复杂环境下,三维数据扫描过程中由于遮挡问题容易产生数据不完整的情况,需要处理算法;2)重复数据扫描容易产生数据冗余,导致数据密度不一致,处理耗时等问题;3)获取的室内部件难以保持原始的关联关系,影响模型构建精度。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种具有结构语义的室内三维模型自动重构方法及系统,旨在解决现有技术中三维点云在用于室内语义部件提取中准确性不高的问题。

本发明解决技术问题所采用的技术方案如下:

一种具有结构语义的室内三维模型自动重构方法,其种,所述方法包括:

通过移动式深度扫描设备采集室内的三维点云数据,并对三维点云数据进行预处理;

将经预处理后的三维点云数据按照不同的功能空间进行组织,分割出独立的功能空间数据,并采用平面分割算法、场景内部过滤算法提取功能空间的墙面部件;

将获取到的墙面部件的点云数据投影到二维平面,对每个投影后的墙面部件点云数据进行线性拟合,并采用线段求交迭代算法获取功能空间边界;

根据经语义标记的特定数据帧恢复包含门窗部件的三维点云数据,并集合凸包提取算法、octree结构算法以及欧几里得聚类算法提取门窗部件,并参数化;

对全局点云数据进行平面分割,得到全局平面,依据平面结构全局优化算法对墙面部件、门窗部件的几何与关联关系进行优化;

将参数化的数据输出具有结构语义的室内三维模型。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述移动式深度扫描设备为移动式深度传感器。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述对三维点云数据进行预处理的步骤,包括:通过体素化网格算法进行点云数据降采样;通过稀疏噪声过滤算法剔除原始点云数据噪声。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述将经预处理后的三维点云数据按照不同的功能空间进行组织,分割出独立的功能空间数据,并采用平面分割算法、场景内部过滤算法提取功能空间的墙面部件的步骤,包括:

结合经过起始和结束标记的深度数据帧,对室内空间进行空间剖分,获取独立的功能空间数据;

针对独立功能空间的三维点云数据,采用区域分割算法获取点云三维平面及平面参数;

选取候选墙面,并通过内部元素剔除算法剔除候选墙面中的非墙面要素;

采用平面分割算法、场景内部过滤算法,从所述候选墙面中获取功能空间的墙面部件。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述采用平面分割算法、场景内部过滤算法,从所述候选墙面中获取功能空间的墙面部件的步骤,包括:

将所有点云数据投影到水平面,计算空间凸包,获取凸包多边形;

将所有候选墙面投影到水平面,进行线性拟合,获取对应的拟合线段,对每条线段分别以两个端点为起点做射线,且定义与凸包多边形交点为奇数个数量的端点在多边形内部,与凸包多边形交点为偶数个数量的端点在多边形外部;

当两个端点均在多边形内部时,将该点云数据剔除,当两端点均在多边形外部时,将该点云数据保留,获取功能空间的墙面部件。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述采用平面分割算法、场景内部过滤算法,从所述候选墙面中获取功能空间的墙面部件的步骤,还包括:

当其中一个端点在多边形内部时,获取线段与多边形的交点,计算位于多边形内部与位于线段长度比值,当比值大于阈值时,将该点云数据作为内部点云数据进行剔除;否则保留。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述将获取到的墙面部件的点云数据投影到二维平面,对每个投影后的墙面部件点云数据进行线性拟合,并采用线段求交迭代算法获取功能空间边界的步骤,包括:

将所有墙面部件点云数据投影到水平面,并进行线性拟合,获取最优线段,通过计算端点之间的距离确定每条线段的两个相邻线;

从任意一条线段开始,将其最邻近线段加入,获取两线段的交点放入,迭代完成交点计算直到回到起始线段;

当两墙面拟合线角度接近90度,通过线求交算法可以获取正确的空间边界节点;

当两墙面的拟合线中间有丢失墙面,则将对应的线段顶点最为另一墙面的起始点,重新构建一个墙面;

根据边界提取算法获取功能空间的完整边界。

所述的具有结构语义的室内三维模型自动重构方法,其中,所述根据经语义标记的特定数据帧恢复包含门窗部件的三维点云数据,并集合凸包提取算法、octree结构算法以及欧几里得聚类算法提取门窗部件,并参数化的步骤,包括:

对门窗点云进行凸包计算,获取平面的外轮廓,并构建当前门窗点云octree结构;

获取凸包多边形的外包盒,根据设定的密度在外包盒中均匀布设点,采用射线法判断外包盒中的点是否在凸包多边形内,并对凸包多边形件进行点云数据填充,将填充点云数据构建octree结构;

统一门窗平面点云octree与填充点云octree结构叶子节点大小,通过迭代比较进行两点云间的变化检测;

基于欧几里得聚类算法,将提取后的门窗点云进行点云数据聚类,获取独立门窗部件;

将提取到的门窗点云数据投影到二维平面,进行线性拟合,获取门窗部件参数。

一种具有结构语义的室内三维模型自动重构系统,其中,所述系统包括:

数据预处理模块,用于通过移动式深度扫描设备采集室内的三维点云数据,并对三维点云数据进行预处理;

墙面部件提取模块,用于将经预处理后的三维点云数据按照不同的功能空间进行组织,分割出独立的功能空间数据,并采用平面分割算法、场景内部过滤算法提取功能空间的墙面部件;

空间边界提取模块,用于将获取到的墙面部件的点云数据投影到二维平面,对每个投影后的墙面部件点云数据进行线性拟合,并采用线段求交迭代算法获取功能空间边界;

门窗部件提取模块,用于根据经语义标记的特定数据帧恢复包含门窗部件的三维点云数据,并集合凸包提取算法、octree结构算法以及欧几里得聚类算法提取门窗部件,并参数化;

全局平面优化模块,用于对全局点云数据进行平面分割,得到全局平面,依据平面结构全局优化算法对墙面部件、门窗部件的几何与关联关系进行优化;

模型输出模块,用于将参数化的数据输出具有结构语义的室内三维模型。

所述的具有结构语义的室内三维模型自动重构系统,其中,所述移动式深度扫描设备为移动式深度传感器。

本发明的有益效果:本发明基于移动式深度扫描设备,融合低精度点云、语义标记后的相机轨迹进行具有结构语义的室内模型快速三维重建,具有更好的鲁棒性与重建精度。

附图说明

图1是本发明的具有结构语义的室内三维模型自动重构方法的较佳实施例的流程图。

图2是本发明的具有结构语义的室内三维模型自动重构方法的具体应用应用时的流程图。

图3是本发明的具有结构语义的室内三维模型自动重构方法中功能空间内部点云过滤方法示意图。

图4是本发明的具有结构语义的室内三维模型自动重构方法中的功能空间边界提取方法示意图。

图5是本发明的具有结构语义的室内三维模型自动重构方法中的门窗部件提取方法示意图

图6是本发明的具有结构语义的室内三维模型自动重构方法中全局优化的示意图.

图7是本发明的具有结构语义的室内三维模型自动重构系统的功能原理款图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的一种具有结构语义的室内三维模型自动重构方法,可以应用于智能终端中。其中,智能终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。本发明的智能终端采用多核处理器。其中,智能终端的处理器可以为中央处理器(centralprocessingunit,cpu),图形处理器(graphicsprocessingunit,gpu)、视频处理单元(videoprocessingunit,vpu)等中的至少一种。

由于现有的具有结构语义的室内三维模型重构存在数据不完整、重复数据扫描容易产生数据冗余,导致数据密度不一致、获取的室内部件难以保持原始的关联关系,影响模型构建精度等问题。为了解决上述问题,本实施例提供一种具有结构语义的室内三维模型自动重构方法,目的在于克服现有三维点云在用于室内语义部件提取中准确性不高的问题,采用移动式深度扫描设备获取数据,联合多种类型数据集,更好的实现室内语义部件的快速提取和三维建模。如图1所示,具体包括如下步骤:

步骤s100、通过移动式深度扫描设备采集室内的三维点云数据,并对三维点云数据进行预处理;

步骤s200、将经预处理后的三维点云数据按照不同的功能空间进行组织,分割出独立的功能空间数据,并采用平面分割算法、场景内部过滤算法提取功能空间的墙面部件;

步骤s300、将获取到的墙面部件的点云数据投影到二维平面,对每个投影后的墙面部件点云数据进行线性拟合,并采用线段求交迭代算法获取功能空间边界;

步骤s400、根据经语义标记的特定数据帧恢复包含门窗部件的三维点云数据,并集合凸包提取算法、octree结构算法以及欧几里得聚类算法提取门窗部件,并参数化;

步骤s500、对全局点云数据进行平面分割,得到全局平面,依据平面结构全局优化算法对墙面部件、门窗部件的几何与关联关系进行优化;

步骤s600、将参数化的数据输出具有结构语义的室内三维模型。

具体实施时,如图2中所示,本实施例中通过深度传感器采集到数据集并获取彩色三维点云,进而对全局模型进行平面分割。基于彩色三维点云进行空间分割以及提取出门窗三维点云,然后基于门窗三维点云进行门窗部件提取,基于空间分割进行功能空间提取,最后输出citygml3.0模型,即具有结构语义的室内三维模型。具体地,本实施例首先采用移动式深度传感器进行数据采集,获取室内的彩色三维点云数据,由于获取的三维点云数据通常具有各个区域密度不一致,点云数据量过大以及噪声等问题,需要采用数据降采样及点云滤波算法对三维点云数据进行数据预处理。具体地,本实施例采用稀疏噪声过滤算法被用于剔除原始点云噪声,该方法通过计算点云相邻空间中最邻近距离中值以及标准差来实现噪声点的剔除。首先需要定义邻接空间的大小,以邻近点个数为尺度标准,邻近点用于计算距离中值及标准差参数,假设距离为高斯分布,因此距离在范围之外的点将被剔除。根据实验确定,设置为设置为50,根据本方法将剔除大约1%的噪声点。其次,针对数据冗余问题,采用体素化网格算法用于点云降采样,降低数据冗余度,一致化点云数据密度。降采样率取决于体素节点大小,因此根据需求设定特定的值。

进一步地,利用移动式深度扫描系统可交互式建模特点,将深度传感器的轨迹按照不同的功能空间进行组织,进而可分割出独立的功能空间数据,进而采用平面分割算法、场景内部过滤算法实现功能空间墙面部件提取。具体地,如图3中所示,结合经过起始和结束为止标记的深度数据帧,对复杂室内空间进行空间剖分,获取独立功能空间数据,针对独立功能空间三维点云数据,采用区域分割算法获取点云三维平面及平面参数。然后将平面按照垂直与水平平面进行组织,定义法向量阈值与面积阈值,当平面方向与垂直方向角度小于法向量阈值并面积大于面积阈值时,将其作为候选墙面。获取的候选墙面中有大量的非墙面元素,一个内部元素剔除算法被用于剔除候选墙面中非墙面要素。然后参照如下算法1描述,将所有点云投影到水平面,计算空间凸包,获取凸包多边形。将所有候选墙面投影到水平面,进行线性拟合,获取对应的拟合线段,对每条线段以分别以两个端点为起点做射线,与凸包多边形交点为奇数个数量的点在多边形内部,与凸包多边形交点为偶数个数量的点在多边形外部,当两点均在多边形内部时(如图3中的a),将该点云剔除,当两点均在多边形外部时(如图3中的b),将该点云保留。当其中一个点在多边形内部时(如图3中的c),获取线段与多边形的交点,计算位于多边形内部与位于线段长度比值,当比值大于阈值时,将该点云作为内部点云进行剔除,否则保留。根据以上方法,可获取到功能空间的墙面部件点云数据。

具体地,算法1:空间内部要素过滤算法

输入:

投影后潜在墙面

投影后点云凸包:

多边形内部线段长度与总长度比值:

基于ransac线段拟合函数:

拟合的线段:

距离计算函数:

线段顶点到交点的距离:

线段求交函数:

两线段交点:

点在多边形内部判断函数:

射线与多边形交点个数:

输出:

内部平面要素索引:;墙面索引:;

1.

2.while非空do

3.,

4.线性拟合

5.

6.检测射线与多边形交点个数

7.,

8.if为奇数&&为偶数then

9.

10.elseif为奇数&&为偶数then

11

12.else

13拟合线段与多边形求交

14.

15.分别计算之间的距离,

16.,

17.if(为奇数&&)||为偶数&&)then

18.

19.else

20.

21.endif

22.endif

23.endwhile

24.return,

进一步地,将获取的墙面部件投影到二维平面,对每个投影后的墙面点云进行线性拟合,进而采用线段求交迭代算法获取功能空间边界。具体地,所有墙面点云投影到水平面,并进行线性拟合,获取最优线段,通过计算端点之间的距离确定每条线段的两个相邻线。从任意一条线段开始,将其最邻近线段加入,与此同时,获取两线段的交点放入,迭代完成交点计算直到回到起始线段。然而,在数据扫描过程中,部分墙面没有获取到,参照图4中的a,将产生情况1和情况2,情况1(图4中的a)中,两墙面拟合线角度接近90度,通过线求交算法可以获取正确的空间边界节点,情况2中,由于墙线1与墙线2中间有丢失墙面,因此无法根据求交法则获取对应的顶点,需要将对应的线段顶点最为另一墙面的起始点,重新构建一个墙面。当两条线的法向量小于一定阈值时,为情况2(图4中的b),否则为情况1。最终根据边界提取算法可获取功能空间的完整边界。

进一步地,考虑到进行移动式深度扫描设备测图时门为开的状态,窗户为透明玻璃,因此门窗部件提取问题转换为如何对点云空洞进行边界探测。重新参照图2,对于门窗部件的提取,主要包括:平面分割、门窗部件检测、平面全局优化、门窗提取、二维投影以及门窗重构。具体地,本实施例中基于交互式定义的特定数据帧,构建门窗独立的三维点云,结合凸包算法、octree算法、欧几里得聚类算法以及点云变化检测算法完成门窗部件的提取。具体地,参照图5,根据经过语义标记的特定数据帧恢复包含门窗部件的三维点云,采用平面分割算法获取门窗平面。首先,图5(a)中对门窗点云进行凸包计算,获取平面的外轮廓,并构建当前门窗点云octree结构。其次获取凸包多边形的外包围盒,根据设定的密度在外包盒中均匀布设点,采用射线法判断包围盒中的点是否在凸包多边形内,进而在凸包多边形内部的填充点云数据,即凸包填充完毕,并将填充点云构建octree结构。最后统一门窗平面点云octree与填充点云octree结构叶子节点大小,通过迭代比较进行两点云间的变化检测,由于填充点云包含门窗部件,因此通过变化检测后得到的点云即门窗部件点云,基于欧几里得聚类算法,将提取后的门窗点云进行点云聚类,获取独立门窗部件。最后将提取到的门窗点云投影到二维平面,进行线性拟合,获取门窗部件参数。

进一步地,由于点云分割算法容易受点云精度影响,各个独立点云的分割结果与全局点云结果容易产生不一致的情况,本方法根据检测的全局墙面与独立空间墙面,独立空间墙面与门窗平面的角度与距离,确定墙面与墙面,墙面与门窗间的关联关系,进而对其进行一致化处理,保证模型的几何与语义一致性。具体地,参照图6,对全局点云进行平面分割可得到全局平面,由于点云误差影响,全局平面与墙面间容易产生不一致的情况,图中墙面1与墙面2共享同一全局平面1,而通过平面分割算法获取的三者平面参数不一致,为保证两其一致性,需要首先获取与当前墙面对应的全局平面。首先通过迭代检查当前墙面,与所有全局平面之间的角度,当小于一定的角度阈值时,确定当前墙面的候选全局平面,进而将当前平面法相参数一致化为,根据以下公式:

计算一致化后墙面与全局平面间的距离,当距离最小时,将该平面定义为该墙面的全局平面。迭代所有墙面,获取对应的全局平面。最后将墙面投影到全局平面中,保证其一致性。通过相同算法判断门窗部件与墙面间的关系,将门窗部件投影到对应的墙面中,保证一致性。

进一步地,将获取的室内墙面边界、门窗边界及通过水平平面高差即参数化墙面,地板和天花板以及门窗部件,并依照citygml3.0标准存储,输出具有语义结构的室内三维模型。本发明首先进行点云数据降采样与噪声过滤处理;其次将预处理后的三维点云用于墙面部件的提取,将提取后的墙面投影到二维平面并进行线性拟合后构建空间边界;融合凸包提取、octree结构以及基于欧几里得聚类算法实现门窗部件点云提取,并参数化;考虑到平面间不一致情况,提出平面全局优化算法对墙面,门窗部件几何与关联关系进行优化;最后将参数化后的数据输出为标准citygml3.0数据模型,从而实现快速地构建具有结构语义的室内模型,并且具有更好的鲁棒性与重建精度。

基于上述实施例,本发明还提供一种具有结构语义的室内三维模型自动重构系统,如图7中所示,该系统包括:数据预处理模块710、墙面部件提取模块720、空间边界提取模块730、门窗部件提取模块740、全局平面优化模块750、模型输出模块760。

具体地,数据预处理模块710,用于通过移动式深度扫描设备采集室内的三维点云数据,并对三维点云数据进行预处理;

墙面部件提取模块720,用于将经预处理后的三维点云数据按照不同的功能空间进行组织,分割出独立的功能空间数据,并采用平面分割算法、场景内部过滤算法提取功能空间的墙面部件;

空间边界提取模块730,用于将获取到的墙面部件的点云数据投影到二维平面,对每个投影后的墙面部件点云数据进行线性拟合,并采用线段求交迭代算法获取功能空间边界;

门窗部件提取模块740,用于根据经语义标记的特定数据帧恢复包含门窗部件的三维点云数据,并集合凸包提取算法、octree结构算法以及欧几里得聚类算法提取门窗部件,并参数化;

全局平面优化模块750,用于对全局点云数据进行平面分割,得到全局平面,依据平面结构全局优化算法对墙面部件、门窗部件的几何与关联关系进行优化;

模型输出模块760,用于将参数化的数据输出具有结构语义的室内三维模型。

优选地,本实施例中移动式深度扫描设备为移动式深度传感器。本系统首先进行点云数据降采样与噪声过滤处理;其次将预处理后的三维点云用于墙面部件的提取,将提取后的墙面投影到二维平面并进行线性拟合后构建空间边界;融合凸包提取、octree结构以及基于欧几里得聚类算法实现门窗部件点云提取,并参数化;考虑到平面间不一致情况,提出平面全局优化算法对墙面,门窗部件几何与关联关系进行优化;最后将参数化后的数据输出为标准citygml3.0数据模型,从而实现快速地构建具有结构语义的室内模型,并且具有更好的鲁棒性与重建精度。具体的步骤以及效果参照上述方法的实施例所示。

综上所述,本发明公开了一种具有结构语义的室内三维模型重构方法及系统,方法包括:通过移动式深度扫描设备采集室内的三维点云数据,并对三维点云数据进行预处理;提取功能空间的墙面部件;获取功能空间边界;提取门窗部件,并参数化;对全局点云数据进行平面分割,得到全局平面,依据平面结构全局优化算法对墙面部件、门窗部件的几何与关联关系进行优化;将参数化的数据输出具有结构语义的室内三维模型。本发明基于移动式深度扫描设备,融合低精度点云、语义标记后的相机轨迹进行具有结构语义的室内模型快速三维重建,具有更好的鲁棒性与重建精度。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1