室内地图自动构建方法及系统与流程

文档序号:18752469发布日期:2019-09-24 21:20阅读:214来源:国知局
室内地图自动构建方法及系统与流程

本发明涉及室内测量制图技术领域,尤其涉及一种基于消费级rgb-d传感器或lidar传感器采集的点云数据,进行室内栅格地图和矢量地图的自动构建的方法和系统。



背景技术:

室内环境是人类生产生活的主要场景,针对室内环境包括但不限于如机场航站楼、购物中心、体育馆、艺术馆、仓库、室内停车场等的位置服务(location-basedservice)目前得到了广泛的应用,并成为许多新兴商业服务模式的重要技术支撑,如室内导航、目标定位、广告与推介等。楼层平面图是室内位置服务的基础,最直接的获取方法是将建筑规划/设计图进行数字化。

由于管理问题,甚至是管理不善等问题,建筑规划/设计图常常难以获取;此外相关建筑物交付使用过程中,常常会发生局部整修或构建,建筑规划/设计图的时效性较差,无法及时反应建筑物的变更;因此,为了获得建筑物当前的室内地图,首先需要进行实地测量,然后根据测量数据进行制图。现有技术的实地测量采用专业的测量设备如激光扫描仪(lidar)、专业级测量相机、全站仪等,不仅设备昂贵且需要经验丰富的技术人员进行操作,测量周期长,成本高。室内地图对测量成本和时效性要求较高,为了快速获取和更新室内环境的测量数据,近年来基于消费级传感器的室内测量方案受到广泛关注。例如:公开号为cn104897161a,发明名称为《基于激光测距的室内平面地图制图方法》的专利文献公开了一种采用消费级惯性导航单元(imu)和lidar的数据采集方法,包括步骤:步骤1,移动传感器平台采集室内环境数据;步骤2,创建多分辨率的栅格相似度地图;步骤3,结合室内环境数据和栅格相似度地图,获得各历元下传感器平台最佳的位置和姿态;步骤4,根据最佳的位置和姿态更新栅格相似度地图;步骤5,在本地坐标系下到导出栅格相似度地图;上述发明数据采集操作简单,且无需预先了解环境空间结构;成本低廉,成图速度快,可实现室内地图的多次和快速更新,有效解决室内制图的效率瓶颈问题。公开号为cn106767820a,发明名称为《一种室内移动定位与制图方法》公开了一种仅采用lidar,不依赖gps和imu的室内测量方案,主要步骤包括:按要求输入采集的点云数据;点云初步处理,具体包含点云滤波、点云坐标变换及非线性插值和下采样;利用粒子滤波的方法进行轨迹的姿态预测;子地图生成、标靶添加以及约束计算,具体包含动态子地图的生成、虚拟标靶和全局标靶添加、局部捆集和全局约束计算;利用图优化进行全局优化,减小逐帧匹配造成的累积误差;更新结果,包含更新子地图数据、轨迹数据和根据轨迹生成的全局地图数据;保存结果数据;上述发明不依赖gps和imu,数据处理速度快,易于并行处理;制图精度高,实现厘米级精度。文献(durrant-whyte,h.andt.bailey."simultaneouslocalizationandmapping:parti."2006)和(bailey,t.andh.durrant-whyte."simultaneouslocalizationandmapping(slam):partii."2006)系统总结了同步定位与制图技术(slam),文献(tsai,g.j.,chiang,k.w.,etal.“theperformanceanalysisofanindoormobilemappingsystemwithrgb-dsensor.”2015)中对应用消费级rgb-d设备进行室内制图的可行性和数据采集精度进行了分析。总体来看,利用消费级传感器进行室内测量,数据精度较专业设备差,噪声水平较高,但具有成本低、效率高的优点。

相对于数据采集技术的不断成熟与完善,室内制图方法还显滞后。传统方法一般在制图软件如常用的autocad,microstation等软件内中,由作业员根据测量数据手工勾画出建筑物的外部边框和内部墙体,作业量大,效率低。正如前述公开号为cn104897161a的专利文献中所给出的一种由扫描点云生成平面栅格图的方法,但并没有涉及建筑物结构的提取,仅是将扫描点云栅格化;而前述文献(ochmann,s.,etal."automaticreconstructionofparametricbuildingmodelsfromindoorpointclouds."2016)中所提出的一种实验环境下的建筑物几何结构提取和参数化建模的方法,但采用的是专业设备采集的高精度点云数据,但却并未考虑消费级设备采集的质量较差的点云数据如何处理。

综上所述,从现有技术的发展来看,如何利用消费级设备采集的低精度数据,自动进行室内制图,已成为制约室内位置服务发展的重要瓶颈,公开发表的文献和专利文献中并没有涉及解决这一问题的方法和技术方案,因此,一种新的且有效的实现利用消费级设备采集的低精度数据,自动进行室内制图的室内地图自动构建方法和系统地发明是势在必行的。



技术实现要素:

本发明的目的旨在提供一种基于有效的实现利用消费级设备采集的低精度数据或者是专业级设备采集的精度质量水平不等的数据,自动进行室内制图的室内地图自动构建方法和系统。

依据上述目的,本发明提供一种室内地图自动构建系统,其包括:

数据采集模块,获取室内环境的点云数据;

点云预处理模块,自室内环境点云数据中提取室内环境的几何结构,

地图构建模块,基于点云预处理模块的处理结果自动构建室内栅格地图或室内矢量地图;

所述地图构建模块包括:栅格图构建单元,对点云预处理模块得到的墙面分割点集和墙面参数进行处理,生成室内栅格地图;或,

矢量图构建单元,对点云预处理模块得到的墙面分割点集和墙面参数,以及顶面点集进行处理,生成室内矢量地图。

所述的室内地图自动构建系统,所述数据采集模块包括:

即时定位与地图构建单元,通过设备采集数据,将数据整理为点云数据;点云读写单元,提供读写接口,按照指定的点云格式对点云数据进行读写操作;

所述点云预处理模块包括:

点云分类单元,分类包括:墙面点云、顶面点云和待定点云,提取顶面点集、墙面点集;

平面探测单元,对墙面点云进行初始分割并提取平面参数;

墙面精化单元,对初始分割得到的平面点集进行过滤和平面合并,生成墙面分割点集和墙面参数。

所述的室内地图自动构建系统,其所述墙面精化单元还包括:墙面过滤,基于点的空间分布统计方法提取可靠墙面,过滤掉不可靠墙面;通过计算墙面点云的平面拟合误差、点云高度范围、点云占据面积和稀疏度,构建级联分类器对墙面点云进行分类以区分墙面和非墙面;

所述点云占据面积:利用八叉树网格进行点集连通性分析方法计算统计平面内存在数据点的区域的面积。

所述的室内地图自动构建系统,其所述稀疏度为平面占据面积占整个平面面积的比例,所述整个平面面积由当前平面点集中距离最远的两点来确定平面范围,统计平面穿过的八叉树网格数量作为整个平面面积。

所述的室内地图自动构建系统,其采用轴对齐变换方式将各个墙面的点云数据进行旋转和平移转换到统一的坐标系下进行统计;

所述轴对齐变换方式包括:保持墙面点云数据的z轴方向不变,将点云数据绕z轴旋转使得长度方向与x轴平行,宽度方向与y轴平行。

所述的室内地图自动构建系统,其所述轴对齐变换方式的实现包括:

计算旋转角,平面法向量的前两个分量比值取负的反正切函数;

点云变换,旋转角构成的旋转矩阵同原始点云坐标与当前点云数据的几何中心坐标的差作相乘运算。

所述的室内地图自动构建系统,所述栅格图构建单元,对墙面精化单元得到的墙面分割点集和墙面参数进行点云栅格化处理,生成栅格地图;

所述点云栅格化处理包括:将墙面分割点集投影到平面二维,平面栅格的灰度值设定为墙高,按照墙高进行点云栅格化。

所述的室内地图自动构建系统,所述所述点云栅格化处理包括:以八叉树网络索引进行平面栅格内插以及按照给定精度过滤噪声网格;平面栅格内插同时进行空洞填充,沿平面方向填充墙面内部不存在的数据网格。

所述的室内地图自动构建系统,所述矢量图构建单元,对墙面精化单元得到的墙面分割点集和墙面参数,以及点云分类单元得到的顶面点集进行矢量图构建处理,生成矢量地图;

所述矢量图构建处理包括:

平面划分,用墙面参数生成投影直线,用投影直线对平面二维进行划分,计算投影直线间的交点得到初始点图元,用交点将投影直线划分为线段形成初始线图元,连接各初始线图元得到初始面图元;

属性计算,分别对初始线图元及初始面图元计算属性值;

标签优化,将面图元按照内部或外部进行标记,提取内、外面图元的边界,用图割法优化求解最优化的面图元标签;

面图元合并,将上步所得结果中相同标签的相邻面图元进行合并;

边界简化,面图元合并后提取内部面图元的边界得到室内矢量图。

所述的室内地图自动构建系统,所述标签优化还包括:将面图元作为网络节点,将面图元间的公共边作为网络节点间的连接边,构造无向图,其中,每个网络节点对应于平面划分中的初始面图元,每条连接边对应于平面划分中相应于初始面图元的之间的公共边。

所述的室内地图自动构建系统,其所述标签优化还包括:

构造能量函数对面图元的标签进行建模;

遍历无向图中的网络节点,计算其稀疏度,计算稀疏度的自然指数的倒数作为节点的权值;

遍历无向图中的连接边,计算连接边的稀疏度以及以当前连接边相连的两个节点之间稀疏度的差值,加权平均后作为连接边的权值;

对无向图进行图割计算,将所有网络节点分成两类,每类节点对应于相同的标签。

一种室内地图自动构建方法,其包括如下步骤:

数据采集,获取室内环境的点云数据;

点云预处理,自室内环境点云数据中提取室内环境的几何结构,

基于点云预处理的处理结果自动构建室内栅格地图或室内矢量地图;对点云预处理得到的墙面分割点集和墙面参数进行处理,生成室内栅格地图;或,对点云预处理得到的墙面分割点集和墙面参数,以及顶面点集进行处理,生成室内矢量地图。

所述的室内地图自动构建方法,所述数据采集包括:

通过设备采集数据,将数据整理为点云数据;

提供读写接口,按照指定的点云格式对点云数据进行读写操作;

所述点云预处理包括:

点云分类,分类包括:墙面点云、顶面点云和待定点云,提取顶面点集、墙面点集;

平面探测,对墙面点云进行初始分割并提取平面参数;

墙面精化,对初始分割得到的平面点集进行过滤和平面合并,生成墙面分割点集和墙面参数。

所述的室内地图自动构建方法,其所述墙面精化还包括:墙面过滤,基于点的空间分布统计方法提取可靠墙面,过滤掉不可靠墙面;通过计算墙面点云的平面拟合误差、点云高度范围、点云占据面积和稀疏度,构建级联分类器对墙面点云进行分类以区分墙面和非墙面;

所述点云占据面积:利用八叉树网格进行点集连通性分析方法计算统计平面内存在数据点的区域的面积。

所述的室内地图自动构建方法,其所述稀疏度为平面占据面积占整个平面面积的比例,所述整个平面面积由当前平面点集中距离最远的两点来确定平面范围,统计平面穿过的八叉树网格数量作为整个平面面积。

所述的室内地图自动构建方法,还包括如下步骤:其采用轴对齐变换方式将各个墙面的点云数据进行旋转和平移转换到统一的坐标系下进行统计;

所述轴对齐变换方式包括:保持墙面点云数据的z轴方向不变,将点云数据绕z轴旋转使得长度方向与x轴平行,宽度方向与y轴平行。

所述的室内地图自动构建方法,所述轴对齐变换方式的实现包括:

计算旋转角,平面法向量的前两个分量比值取负的反正切函数;

点云变换,旋转角构成的旋转矩阵同原始点云坐标与当前点云数据的几何中心坐标的差作相乘运算。

所述的室内地图自动构建方法,所述栅格图构建,对墙面精化得到墙面分割点集和墙面参数进行点云栅格化处理,生成栅格地图;

所述点云栅格化处理包括:将墙面分割点集投影到平面二维,平面栅格的灰度值设定为墙高,按照墙高进行点云栅格化。

所述的室内地图自动构建方法,其所述所述点云栅格化处理包括:以八叉树网络索引进行平面栅格内插以及按照给定精度过滤噪声网格;平面栅格内插同时进行空洞填充,沿平面方向填充墙面内部不存在的数据网格。

所述的室内地图自动构建方法,所述矢量图构建,对墙面精化得到的墙面分割点集和墙面参数,以及点云分类得到的顶面点集进行矢量图构建处理,生成矢量地图;

所述矢量图构建处理包括:

平面划分,用墙面参数生成投影直线,用投影直线对平面二维进行划分,计算投影直线间的交点得到初始点图元,用交点将投影直线划分为线段形成初始线图元,连接各初始线图元得到初始面图元;

属性计算,分别对初始线图元及初始面图元计算属性值;

标签优化,将面图元按照内部或外部进行标记,提取内、外面图元的边界,用图割法优化求解最优化的面图元标签;

面图元合并,将上步所得结果中相同标签的相邻面图元进行合并;

边界简化,面图元合并后提取内部面图元的边界得到室内矢量图。

所述的室内地图自动构建方法,其所述标签优化还包括:将面图元作为网络节点,将面图元间的公共边作为网络节点间的连接边,构造无向图,其中,每个网络节点对应于平面划分中的初始面图元,每条连接边对应于平面划分中相应于初始面图元的之间的公共边。

所述的室内地图自动构建方法,其所述标签优化还包括:

构造能量函数对面图元的标签进行建模;

遍历无向图中的网络节点,计算其稀疏度,计算稀疏度的自然指数的倒数作为节点的权值;

遍历无向图中的连接边,计算连接边的稀疏度已及以当前连接边相连的两个节点之间稀疏度的差值,加权平均后作为连接边的权值;

对无向图进行图割计算,将所有网络节点分成两类,每类节点对应于相同的标签。

依据上述技术特征,采用了本发明的技术方案,可以有效的利用消费级rgb-d设备或者是专业级设备采集的室内场景三维点云数据,采用自动化方法提取建筑物内部的几何结构,生成建筑物内部的平面栅格地图和矢量地图,可以解决目前室内地图制作方面的难题,提高室内制图效率,降低室内制图成本。

附图说明

在本发明中,相同的附图标记始终表示相同的特征,其中:

图1是本发明实施例室内地图自动构建系统数据框架示意图;

图2是本发明实施例室内地图自动构建系统流程示意图;

图3是本发明实施例点云预处理流程示意图;

图4是本发明实施例扫描数据误差显示示意图;

图5是本发明实施例栅格图构建流程示意图;

图6是本发明实施例矢量图构建流程示意图;

图7是本发明实施例平面划分流程示意图;

图8是本发明实施例室内环境自动制图系统的模块结构示意图。

具体实施方式

下面结合附图和实施例进一步说明本发明的技术方案。

本发明提供了一种利用设备包括专业级及消费级设备采集的室内建筑环境数据,自动生成室内楼层平面栅格地图和矢量地图的方法和系统。如下将分为两个部分分别阐述本发明室内地图自动构建方法及系统的技术内容:

本实施例提供了一种室内地图自动构建方法,即,室内楼层平面栅格地图和矢量地图的自动构建方法,该方法包括如下步骤:获取由消费级rgb-d设备例如常见的如kinect,tangephone等或者是专业级设备采集的室内环境点云数据;对点云数据进行分类,得到属于建筑物墙面的点、属于建筑物顶面的点和待定点等至少三类;对属于墙面的点进行平面检测,得到一组平面点集和相对应的平面参数;对平面点集进行过滤和合并,得到精化后的墙面点集和相对应的墙面参数,利用精化后的墙面点集和相对应的墙面参数,对点云进行栅格化,构建室内栅格地图;利用精化后的墙面点集、对应的墙面参数以及分类得到的顶面点集,进行平面划分、属性计算、标签优化、面图元合并和边界简化等一些列处理,构建室内矢量地图。具体而言:

结合附图所示表述,本发明室内地图自动构建系统及方法的整体框架结构以及处理流程如附图1、附图2所示,包括:数据采集模块,获取室内环境的点云数据;点云预处理模块,自室内环境点云数据中提取室内环境的几何结构,地图构建模块,自动构建室内栅格地图或室内矢量地图;输出模块,将所构建的地图输出。

如下将以较佳实施例阐述具体处理步骤如下:

步骤1,室内数据采集:采用消费级rgb-d设备采集室内空间数据。采集时需要尽可能保证数据的完整性,即要求采集建筑物内部的墙面和顶面数据,且数据分布均匀,无明显空洞。rgb-d设备采集的原始数据是rgb影像和深度影像,需要利用slam(simultaneouslocalizationandmapping),也称为cml(concurrentmappingandlocalization),即时定位与地图构建,或并发建图与定位技术进行处理,转换为带有三维空间信息的室内点云。本发明重点解决基于室内点云的制图问题,slam采用现有的成熟模块进行处理。或者,采用设备包括采用专业级或消费级激光扫描仪,直接获取采集的点云数据数据质量水平更好,而无需经过利用slam处理转换,可以直接整理使用,使用本发明方法及系统处理效果更好。

步骤2,点云预处理:点云预处理主要目的是从设备采集而来的原始的点云数据中提取室内环境的几何结构,处理流程见附图3所示,本步骤进一步包括:

2.1点云分类

对原始点云数据进行分类,分别提取墙面点云和顶面点云。一般来说,建筑物墙面都与地面垂直,因此墙面点的法向量应与铅直方向垂直,我们利用这一先验知识来提取墙面点云。

(1)具体计算方法如下:

第一步计算待求点处的协方差矩阵c(公式1),p0为待求点,pi为p0点的指定邻域内的第i个点,k为指定邻域内的总点数。本发明中采用球形邻域,即以待求点为中心,以指定半径r提取所有落入球中的点。半径r可定义为原始点云平均采样距离的5-10倍。

第二步对协方差矩阵c进行特征值分解,选择最小特征值对应的特征向量作为待求点的法向量。

(2)得到每个点的法向量后,判断当前点的法向量与铅直方向向量的夹角:

当夹角大于给定阈值时(本发明实施例中给定80°),将当前点分类为墙面点云;

当夹角小于给定阈值时(本发明实施例中给定15°),将当前点分类为水平点云;

以上两个条件都不满足时,将当前点分类为待定点云。

将所有墙面点云导出到墙面点集中。

室内环境中,水平点一般位于桌面或建筑物顶面。在均匀采样条件下,顶面点采样数要远大于桌面点。对所有分类为水平点,按照z方向进行直方图统计,并选取直方图最大区间的中心值记为z0,将所有z值位于(z0-0.1,z0+0.1)区间内的水平点分类为顶面点云,其他不满足条件的水平点分类为待定点云。

将所有顶面点云导出到顶面点集中。

2.2平面探测

在墙面点集中检测局部的几何平面,根据检测到的平面,将墙面点集划分成一系列相互独立的平面分割点集,每个平面分割点集中保存属于当前分割的墙面点云;并对每个平面分割点集进行最小二乘平面拟合,确定平面参数,平面方程的形式见公式3,其中(x,y,z)为属于平面内某点的三维坐标,(a,b,c,d)为平面参数,其中(a,b,c)为平面的法向量。

a·x+b·y+c·z+d=0公式3

2.3墙面精化

在平面探测阶段,目标是找到尽可能多的潜在平面,不可能保证所有检测出的平面都是真实的墙面。此外,由消费级设备采集的数据精度较差,数据中存在较大噪声和局部变形,主要表现为同一个墙面出现多个重影,双面墙中相对的两个面不平行且两个面之间存在空隙等,具体如附图4所示,这些问题都会影响最终的地图构建结果。为了提取出真实可靠的墙面结构,需要对平面探测结果进行墙面精化。

墙面过滤:过滤掉不可靠的平面

通常情况下,建筑物的墙面是平坦、连续的,且具有一定高度和面积以区别于柱子和房梁等建筑结构。本发明中采用一种基于点的空间分布统计方法来提取可靠的墙面。主要通过计算点云的平面拟合误差(对应平坦度),点云高度范围(对应墙面高度),点云占据面积(对应墙面面积)和稀疏度(对应连续性)来区分墙面和非墙面。利用平面拟合误差、点云高度范围、点云占据面积和稀疏度四种特征指标,构建一个级联分类器对检测的平面点云进行分类,提取满足条件的平面。

具体计算方法如下:

平面拟合误差

平面拟合误差rms可根据平面内所有点到平面的距离统计得到。n为平面内的总点数,di为第i个点到平面的距离,可根据公式5计算。(xi,yi,zi)为平面内第i个点的坐标,(a,b,c,d)为平面参数。

点云高度范围

为了避免少量离群点对高度范围统计值的影响,采用直方图统计的方法,统计平面内点云的高程分布,找到累计直方图满足条件的区间。

zscope为点云高度范围,zi,zj为连续高程区间的最小值和最大值,通过查找累计直方图中满足阈值的最小和最大区间来确定,hc(zi)和hc(zj)为第i和j块累计直方图值,h0为给定累计直方图阈值,本发明中设为0.025。

点云占据面积

统计平面内存在数据点的区域的面积。由于单个点在几何学上没有大小的概念,采用八叉树方法对空间进行规则划分,根据给定的网格大小将空间划分为一些列独立的立方体网格,将离散点云根据其空间坐标分配到对应的立方体网格中,统计包含点云的立方体总数作为点云占据面积。网格大小可以根据点云的平均采样密度来设置,本发明实施例中给定为0.2米。

稀疏度

表示平面内存在数据的区域占整个平面的比例,可以反映检测平面的连续性。

o(pl)为平面pl的占据面积,t(pl)为平面pl的总面积。t(pl)可由当前平面点集中距离最远的两点来确定平面的范围,然后统计平面穿过的八叉树网格数量,作为当前平面的总面积。

由于建筑物内部墙面的方向多种多样,为了方便统计,本发明采用轴对齐变换方式,逐个将墙面的点云进行旋转,使得墙面的长度方向与x轴平行,宽度方向与y轴平行。在标准坐标轴下进行数据统计和分析,可以简化计算过程,提高计算效率。

轴对齐变换只是对数据进行旋转和平移,并不会改变点云分布的统计结果。

其具体处理步骤为:

(1)计算平面旋转角θ

tan-1是反正切函数,(a,b)为平面法向量的前两个分量。

(2)点云变换

[x',y',z']t为轴对齐变换后的点云坐标;

[x,y,z]t为原始点云坐标;

为当前平面点云的几何中心坐标;

为旋转角θ构成的旋转矩阵。

墙面合并:合并墙面重影以及双面墙的相对两个面

墙面合并时需要分析墙面之间的邻接程度,本发明提供了一种基于八叉树格网的点云连通性分析方法,对点云平面之间的邻接程度进行定量描述。具体实现方法为:对所有检测到的平面点云按照统一的格网大小进行八叉树网格划分,遍历落入每个网格中的点并记录该点所属平面的编号。如果一个网格中包含多个平面编号的点,则表示存在多个不同的平面在该网格处相交。利用一个邻接矩阵来记录各个平面之间的邻接关系。设存在n个平面,邻接矩阵matneighbor是一个n阶对称方阵,矩阵元素matneighbor[i][j]记录第i和第j个平面之间共用网格的个数,为0则表示两个平面不相交,矩阵对角线元素记录每个平面的占据面积。

进行墙面合并时,首先判断两个平面之间共用网格的个数是否超过两者之中任何一个占据面积的80%,如果成立则继续判断连个平面之间法向量的夹角是否小于15°,如果都满足则将两个平面的点云合并到同一个点云分割中,并重新计算平面参数。计算合并前两平面法向量的点积,如果点积大于0,将合并后的平面标记为单面墙(合并部分为重影);如果点积小于0,将合并后的平面标记为双面墙(合并部分为同一墙体的两个面)。

步骤3,室内地图构建:本步骤的目的是基于室内点云数据制作栅格地图和矢量地图,具体包括:

3.1栅格地图构建

利用步骤2得到的墙面分割点集和墙面参数进行栅格地图构建的处理流程如附图5所示。具体处理方法为:

将得到的墙面分割点集投影到xoy平面上,并按照给定的墙高进行点云栅格化,每个平面栅格的灰度值设置为给定墙高。栅格化时可以直接利用步骤2中得到的八叉树网格索引进行对应的平面栅格内插;按给定精度过滤掉噪声网格,如给定精度为0.2米时,将点面距离大于0.2米的网格过滤掉,不参与内插;内插的同时进行空洞填充,沿着平面方向填充墙面内部不存在数据的网格。

3.2矢量地图构建

目前很多gis应用依赖于矢量地图,与栅格地图相比,矢量地图需要明确表示点、线、面等几何图元,还需要确定各图元之间的几何关系和拓扑关系。本发明所述的矢量图构建流程如附图6所示,具体处理步骤包括:

平面划分:通常在室内环境中,墙面都垂直于水平面xoy,从墙面方程中去掉第三个参数即可得到其在xoy平面上的投影直线方程。如墙面方程的参数为(a,b,c,d)则对应于xoy平面上的投影直线方程为(a,b,d)。利用步骤2中得到的墙面参数文件,生成一组对应的投影直线。利用投影直线对xoy平面进行划分如附图7所示,计算直线之间的交点得到初始点图元,利用交点将原始投影直线划分为一系列线段形成初始线图元,顺序连接各线图元得到一系列封闭/未封闭的多边形构成初始面图元。分别对点、线、面图元进行顺序编号,方便后续查询。

属性计算:分别对初始线图元和面图元计算属性值。

线图元属性设计为:

oel为线段的占据长度,tel为线段的总长度。

计算方法为对步骤2中得到的墙面点集投影到xoy平面后,按照给定的网格大小进行四叉树划分,得到一组包含墙面点的平面网格,计算线段穿过的网格数记做tel,穿过的网格中包含数据点的网格数记做oel。

面图元属性设计为:

ofa为面的占据面积,tfa为面的总面积。

计算方法为对步骤2中得到的顶面点集投影到xoy平面后,按照给定的网格大小进行四叉树划分,得到一组包含顶面点的平面网格,计算面图元覆盖的平面网格数记做tfa,面图元覆盖的含有数据点的平面网格数记做ofa。

标签优化:为了实现矢量图构建,需要找到墙面在xoy平面上投影的外部边界,该问题可描述为:首先将所有面图元按其是否位于建筑物内部或外部,分别标记为inner或outer;然后提取inner面图元和outer面图元之间的边界。将所有面图元看做独立的网络节点,将面图元之间的公共边作为网络节点之间的连接边,可以构造一个无向图g(v,e),其中v={v1,v2,...,vm},每个节点对应于平面划分中的一个面图元;e={e1,e2,...,en},每条边对应平面划分中相应面图元之间的公共边。构造一个能量函数对面图元的标签进行建模。

其中uv(lv)是数据项,表示节点v被标记为lv的代价,我们采用公式11计算,e为自然常数(naturalconstant),v{ofa}是面图元v的占据面积,v{tfa}是面图元v的总面积,两者的比值反应了面图元v的稀疏度。

bv,w(lv,lw)是光滑项,表示边ev,w的代价,可以理解为ev,w的值越大,节点v,w越可能被标记为不同类型。我们采用公式12计算。节点v,w之间的光滑代价可以看成是公共边ev,w的稀疏度和节点v,w之间稀疏度差异的平均值。

能量函数中的λ为平衡因子,用来调节数据项和光滑项。

为了获得一组标签l使得总能量e(l)最小,我们采用图割法(graphcut)进行优化求解。

面图元合并:得到最优化的面图元标签后,需要将具有相同标签的相邻面图元进行合并,具体处理方法为:逐个遍历平面内的边,比较当前边两侧的面图元标签,如果标签相同则删除当前边,并合并两个面。

边界简化:面图元合并完成后,提取inner面图元的外边界即可得到矢量地图。在标签求解过程中可能存在错误的标签,会造成边界的不光滑,我们采用douglas-peucker算法,对提取的边界进行化简,并将结果输出为矢量地图。

本发明还提供了一种室内环境自动制图系统,具体如附图8所示,该系统主要包括两大部分即数据采集部分和数据处理部分,至于前述两部分本发明系统至少包括四个主要模块:数据采集模块、点云预处理模块、地图构建模块以及产品输出模块。

所述数据采集模块:接收由消费级rgb-d设备获取的数据进行处理,采集设备工作时,应保持设备匀速平稳运动,并尽可能完整的采集室内环境数据,尤其是墙面和顶面数据。将设备采集到的rgb影像、距离影像、传感器轨迹等信息输入到本发明提供的数据采集模块中进行处理,具体包括:slam模块:将输入的rgb影像、距离影像、传感器轨迹等原始数据转化为带有空间坐标的三维点云。本发明系统中的slam模块采用开源的rtabmap实现;点云读写模块:提供标准的读写接口,将得到的点云数据按照目前常用的点云格式导入和导出。支持的点云格式有“las”,“ply”,“pcd”,“xyz”。

所述点云预处理模块:提供点云分类、平面探测、墙面精化等功能,按照本发明提供的步骤2中的方法编程实现,此处不再赘述;具体包括:点云分类子模块:读入原始点云数据,将点云分为墙面点、顶面点和待定点并分别输出;平面探测子模块:输入墙面点云,按照本发明中提供的方法进行平面探测,将墙面点云划分成一系列相互独立的平面点集,并计算每个平面的参数,将平面点集和平面参数输出;以及,墙面精化子模块:输入检测到的初始平面点集和平面参数,按照本发明中提供的方法进行平面过滤和平面合并,输出精化后的墙面分割点集和墙面参数。

所述地图构建模块:提供栅格图构建和矢量图构建两个功能,按照前述本发明方法中所提供的步骤3中的方法编程实现,具体包括:栅格图构建:输入精化后的墙面分割点集和墙面参数,按照本发明中提供的栅格化方法进行处理,输出栅格地图;以及,矢量图构建:输入精化后的墙面分割点集、墙面参数以及点云分类得到的顶面点集,按照本发明中提供的平面划分、属性计算、标签优化、面图元合并和边界简化方法进行处理,输出矢量地图。

所述产品输出模块:接收地图构建模块的结果,按照通用的栅格数据格式和矢量数据格式进行输出,便于和gis系统进行数据交换和集成。本发明中的产品输出模块,能够支持现有的绝大多数gis数据格式,具体包括:栅格输出:输入栅格图构建结果,支持bmp,grid,gtiff,jpeg等栅格文件格式进行输出;以及,矢量输出:输入矢量图构建结果,支持dwg,dxf,esrishapefile,dgn等矢量文件进行输出。

综上所述:本发明室内地图自动构建方法和系统利用消费级rgb-d设备采集的室内场景三维点云数据,采用自动化方法提取建筑物内部的几何结构,生成建筑物内部的平面栅格地图和矢量地图,可以解决目前室内地图制作方面的难题,提高室内制图效率,降低室内制图成本。

所属领域的技术人员应当认识到,以上的说明书仅是本发明众多实施例中的一种或几种实施方式,而并非用对本发明的限定。任何对于以上所述实施例的均等变化、变型以及等同替代等技术方案,只要符合本发明的实质精神范围,都将落在本发明的权利要求书所保护的范围内。

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