徐照;康蕊;孙宁
【摘 要】为了实现既有建筑结构三维快速建模的过程,提出了一种由原始点云数据采集到形成IFC数据模型的处理流程,为实现网页可视化管理提供基础.原始点云数据经过初步分离、精细切割处理后,利用去噪优化方法有效降低数据大小,优化点云空间位置关系,进而进行高质量点云曲面重构.使用表面重建算法完成中间格式OBJ数据的生成,实现由点到面的转换.接着提出一种面向建筑构件的编码体系,将编码与几何信息一起扩展转换为符合IFC标准的数据格式,进一步进行网页端渲染和信息管理.结果表明,所提出的转换和处理方法可以压缩点云数据模型文件,形成网格表面,实现构件实体化,并最终转换成为IFC标准格式数据模型文件,从而验证了整个分析方法的有效性和可行性. 【期刊名称】《东南大学学报(自然科学版)》
【年(卷),期】2018(048)006
【总页数】8页(P1068-1075)
【关键词】点云;IFC;数据映射;建筑构件;可视化
【作 者】徐照;康蕊;孙宁
【作者单位】东南大学土木工程学院,南京211189;东南大学土木工程学院,南京211189;东南大学土木工程学院,南京211189
【正文语种】中 文
【中图分类】TU205
在建筑信息化研究领域,众多学者围绕建筑信息模型(BIM)和点云技术做了大量研究改进,针对二者的融合也提出了一些方法.例如文献[1]利用点云数据获取建筑构件尺寸,在相关建模软件中进行逆向建模;文献[2]基于Revit平台,提出了一种利用插件的融合无人机影像数据和点云数据的建筑物BIM模型快速重建方法;文献[3]利用点云数据逆向构建BIM“族”,进而最终建立古建筑模型;文献[4]提出了一种精确可靠高效的方法,用三维激光扫描仪采集原始数据,并对点云数据进行处理,再利用Autodesk Revit软件创建建筑物模型;文献[5]提出一种帮助工程师将逐步捕获的点云数据组合在一起的方法,这种方法可以获得更多的几何信
息并能够消除由于冗余点云导致的文件太大情况.文献[6]将点云作为拓展属性融入IFC中;文献[7]通过分割识别点云数据信息,将识别的点云数据模型转化为BIM模型.
目前,BIM与点云技术结合的研究多聚焦于建模结果展示方面,而随着实时化建模技术需求的增长,点云数据格式和IFC(industry foundation classes)标准之间的具体映射关系和实际应用成为工程领域模型信息处理的重要研究方向.本文以建筑结构构件的点云模型为研究对象,提出了一种由建筑物结构构件原始点云数据采集到形成IFC数据模型的处理流程,为实现网页可视化管理提供基础.首先,原始点云数据经过初步分离、精细切割处理后,利用Poisson-disk sampling算法有效降低数据大小,优化点云空间位置关系,进而进行高质量点云曲面重构;进一步使用BPA(ball pivoting algorithm)表面重建算法完成中间格式OBJ数据的生成,实现由点到面的转换;最后提出一种面向建筑构件的编码体系,将编码与几何信息一起扩展转换为符合IFC标准的数据格式,进行网页端渲染和信息管理.通过点云相关异构数据格式之间的关系映射提升数据可视化的处理效果,为建立Web端信息化管理平台提供显示处理机制.
1 点云数据生成IFC模型方法
点云建模技术已经成为建筑行业数字化领域一种重要的信息处理方法,随着建筑物建模体量越来越大,对点云数据的处理研究也越来越完善,从原始数据的去噪、抽稀、切割到识别均有合适的方法可供选择,但是点云信息处理与实际工程应用之间的结合少有涉及.因此本文针对这一问题,提出了一个从点云数据搜集到最终转换为IFC数据模型并实现网页端可视化的标准化流程.整体框架如图1所示.
图1 整体系统框架
本文以福建省南靖县图书馆为例进行研究,首先对点云数据进行初步切割处理,然后提出了一种分层级(数据层面和模型层面)的点云信息处理流程.在数据层面,分析点云数据与其他数据格式之间的映射关系,将简单的仅有相对坐标(x,y,z)的点云数据通过实体化处理转换为三角片索引的OBJ文件,进而拓展为更高级、信息量更大的BIM通用格式IFC数据模型,从而实现点云数据与BIM模型数据的关联.在模型层面,将分割处理后的建筑构件点云模型从整体点云模型中进行提取,为IFC数据模型的扩展、数据库开发以及Web端可视化平台的构建提供基础模型.
2 数据处理与转换
2.1 原始点云处理
2.1.1 点云数据
点云数据是通过在建筑物三维建模中使用测量仪器得到的物体外观表面的点的数据形成的集合,通常包含点的三维坐标(x, y, z)和颜信息(RGB),即使仅包含点的三维坐标的TXT文件也可以称之为点云数据.图2所示为南靖图书馆女儿墙点云数据及局部放大图,可以清晰地看到点云形成图像.
2.1.2 点云分割
点云分割是点云处理的基本需求.采集得到的原始点云是一个建筑整体,一般会含有很多如树木、路灯等干扰物数据信息,本文采集建筑的原始点云后需要将构件点云信息单独提取出来以进行后续转换,进一步形成IFC数据模型.本文涉及的点云分割主要分为两部分:构件范围界定和噪点隔离.图3中以柱构件为例展示点云处理过程.
图2 点云局部放大图
(a) 点云原始数据
(b) 初步分割结果(c) 精细分割结果图3 点云分割过程
图3所示的柱构件处理过程分为2步:首先将柱构件从建筑整体中识别出范围,进行粗略分割,将其提取出来;然后对含有噪点的点云进行精细处理.点云中三维空间点信息可以分为3类:线状点、面状点和散乱点.通过主成分分析法[8]识别平面拟合待定点邻域,其协方差矩阵的3个特征值(λ0≥λ1≥λ2)即为其在3个方向上的拟合平方差.利用公式,,表示3个方向的拟合残差,则有:当δ0≫δ1,δ2时,该拟合区域仅在一个方向上存在较大的拟合残差,该点为线状点;当δ0,δ1≫δ2时,该点为面状点,此时λ2对应特征向量即为该点法向量;当δ0≈δ1≈δ2时,该点为散乱点.图4为门构件各维度点示意图.
在精细处理中,以柱与墙面、楼板共同边即线状点为分界线,沿此线将构件与整体剥离.同时识别散乱点,进行分割操作去除散乱点.重复上述过程,将建筑整体分割为一个个构件,就能实现对每个构件的编码等操作,形成实体模型.将点云数据进行分割处理后,提取出来的建筑构件可以在此时进行自动识别.针对这一工作已有许多国外学者进行了研究,如文献[9]在对点云进行传统识别的基础上加入对环境的判断,从而提升了识别的精确度.
图4 点云信息面状点与散乱点
2.1.3 点云去噪
经过对原始点云的分割处理之后得到的点云数据已经具有较为完整的形态,但是点云模型显示质量较低,形成的网格表面粗糙复杂,不利于生成实体表面,如图5所示.为了便于表示未处理点云的复杂程度,图5中生成了处理前后两种网格表面以表达几何信息.可以看出去噪前点信息分布特点不仅数量多,而且点之间垂直距离大,形成的表面凹凸不平.本文利用Poisson-disk sampling算法[10]对点云模型进行去噪优化.
(a) 去噪后点云分布(b) 去噪前点云分布图5 去噪前后点云分布对比
Poisson-disk sampling算法首先根据点的重要程度,通过下式计算出某点生成的圆形区域大小:
式中,r(v)为区域半径;v为点的重要程度;k为密度因子;rk,r/k分别为最大密度和最小密度;vsup,vinf分别为最小密度因子和最大密度因子.为了在减少点云数量的同时,保证点云形成的实体形状质量,根据此区域半径r删除半径内其他单元点.本文点云去噪后的顶点数量、三角面片数量、点云文件大小、OBJ文件大小和文件打开速度等指标数据如表1所示,结果显示去噪效果良好,不仅有效降低了点的数量,而且生成了更光滑的实体表面.
表1 去噪压缩结果对比参数去噪优化前去噪优化后压缩比/%顶点数量127 96036 33228.39三角面片数量212 02571 11533.54点云文件大小/kb7 6502 18028.50OBJ文件大小/kb17 1386 10535.62文件打开速度/ms1 70268540.25
经过点云去噪优化后不仅实体表面形状更接近实物,而且有效降低了顶点和三角面片的数量和文件的大小.如表1所示,顶点数量压缩至28.39%,面片数量压缩至33.54%,点云文件和形成的OBJ格式文件分别压缩至原文件的28.50%和35.62%.
2.2 形成OBJ实体
2.2.1 OBJ数据结构
目前三维显示领域主流的实体模型表达方式以表面网格(Mesh)为主.与点云数据有明显不同,Mesh数据格式由顶点、边和面构成,用于3D建模中的多面体形状表示,面通常由三角形(三角形网格)组成,通过点、线、面的逐层连接构建最终形成三维物体表面,达到建模形成实体的目的.以图6中点云数据模型的点、线、面为例,单个点的坐标均以x,y,z坐标轴投影表示;2个点之间的线长度即为2个空间坐标之间的距离,该距离为无量纲数值,图
6示例距离(Distance)为0.141 482;3个空间点相连组成三角形拼接体即一个三角面片,三角面片的面积为无量纲数值,图6示例面积(Area)为0.011 283.将多个空间点相连接形成三角面片拼接体可以表现出物体的几何特征,其中三角面片的面积越小,模型越精细.另一方面,OBJ是Mesh格式的一种,由于其代码构成简单,只包括几何信息和贴图信息,因此具有更轻量化的优点.本文用OBJ格式模型作为点云转换IFC的中间过渡格式.OBJ模型数据中存在大量重复使用的顶点,本文使用三角形索引的方法来进行描述,即face-vertex mesh索引显示方式,通过连接顶点形成三角形面从而完成三维模型的显示搭建,如图7所示.
图6 Mesh构成示意图
图7 Face-vertex mesh索引显示方式示例
通过储存顶点的坐标v,建立顶点索引f,每3个顶点组成一个三角形面片,众多面片形成实体表面,进而构成完整三维模型.索引方式如图7所示,v代表储存点的三维坐标,f代表储存一个三角面片的3个顶点,例如f1储存的1,3,6表示此三角形由v1,v3,v6三点连接形成.最终展示结果为图7的女儿墙栏杆扶手.
2.2.2 点云转换OBJ模型
首先对点云的每个点根据不同的周边点的数量计算点之间构成的虚拟面的法线.这样就实现了点云坐标点(x,y,z)到OBJ格式模型的顶点法线位置的计算转换.同时,点云每个点的坐标作为OBJ格式模型的顶点存入文件中,完成点对点映射.本文使用BPA(ball pivoting algorithm)算法创建几何表面,结合计算所得的法线的位置,形成给定点云的三角形网格.如图8所示,假设S是构成三维物体外表轮廓的点集,选定一个半径为P的球体,选取与小球接触的3个点作为起始点,始终保持让半径为P的球接触其中2个点,滚动小球直到接触到第3个点[11].