BIM模型相似度计算方法
2020-09-01苏鼎丁周小平陆一昕
王 佳,苏鼎丁,周小平,陆一昕
BIM模型相似度计算方法
王 佳1,2,苏鼎丁1,周小平1,2,陆一昕3
(1. 北京建筑大学电气与信息工程学院,北京 100044;2. 建筑大数据智能处理方法研究北京市重点实验室,北京 102616;3. 盈嘉互联(北京)科技有限公司,北京 100041)
针对从业者不论是想从本地模型库还是线上共享网站获取所需的BIM模型只能靠逐个查找、人工识读的方法,而模型的数量越来越多,获取符合需求的模型需要花费大量的时间和人力的问题,提出了一种构件级BIM模型相似度计算方法。从模型的构件出发,以BIM通用交互格式工业基础类(IFC)文件作数据源,以通用数据标准IFC 2×3为数据基础,首先提取模型中构件的几何信息、语义信息等,并利用改进的方向包围盒(OBB)碰撞检测算法查找相连构件;然后以构件为顶点、构件间连接关系为边将BIM模型构建为邻接图模型,并用图编辑距离算法计算邻接图模型的编辑距离;最后即可计算出不同模型之间的相似度。该方法以构件级BIM模型的相似度为依据可以大大提升BIM模型的检索速度与准确率。
建筑信息模型;相似模型;相似度计算;方向包围盒算法;图编辑距离
建筑的全生命周期中,建筑信息模型(building information modeling,BIM)是重要的业务载体,从设计到施工,再到管理,都基于模 型[1],因此在不同阶段会产生大量的不同版本的BIM模型。如何从各种模型库中找到最符合业务需求的BIM模型就成为一种广泛的需求。目前的做法是人工查找,通过模型命名,根据模型的建立时间、所处业务阶段等基础信息进行初步筛选,再逐个打开筛选过的模型进行人工识读,最终找到最符合需求的BIM模型。要在巨大的模型库中做此工作,需要花费大量的时间和人力,工作量巨大。目前国内外建立了越来越多的BIM共享资源库,如BIM产品网站、BIM共享社区等,如何通过快速检索技术,让使用者快速获得所需的模型,也成为一种迫切的需求。本文提出用计算BIM模型相似度的方法来解决该问题。
目前国内外对于BIM模型相似度计算有了一定的研究,其方法主要有2种:第一种是针对同一BIM模型的不同版本,追踪其版本间模型的信息变化,可采用基于形状分布的比对[2]、基于点的收敛性比对、基于骨架的比对和Creo Parametric的几何比较的方法;第二种是基于模型结构所得出的相似度,主要是通过分析模型的结构得出的,基本方法是通过分析房间及房间之间的连通性来衡量建筑模型间的相似度。例如,LANGENHAN等[3]分析了房间的功能及房间之间的连通性,以此对模型进行分类;樊永生等[4]在分析了房间的功能、重要性及连通性的基础上对模型进行了分类。但随着建筑行业的发展,建筑物的设计感越来越强,房间的功能、连通性等无法体现出有设计感的建筑模型的特点,所以现有方法已无法满足人们对获取相似模型的需求。
因此本文根据BIM模型的构件及构件间连接关系来计算模型相似度,充分考虑了构件数量和构件的连接方式对模型的影响,使得计算更加精确。BIM模型中包含了建筑的全部信息,如几何、空间关系[5]、数量和属性等信息[6],均可以作为构件的语义、几何信息等被提取,根据其与构件间的关联关系,可将BIM模型构建为邻接图模型,再用图编辑距离算法计算邻接图的编辑距离,最终可计算出BIM模型的相似度。具体流程如图1所示。
图1 BIM模型相似度计算方法流程图
1 查找相连构件
BIM模型包含了建筑的全部信息,彼此关联,且在建模时就已经存在。本文BIM模型的源文件为工业基础类(industry foundation classes,IFC)文件,其中包含了BIM模型的全部信息,如构件信息以及构件之间的关联关系、连接关系,然而一些模型在建立时并不规范,所以IFC文件在解析完成后会丢失一部分连接关系,而本文则利用构件的位置关系规避了该问题。
1.1 几何信息提取
IFC文件包含了BIM模型中构件的语义、几何以及建筑构件间的连接关系等信息,目前国内外约有100家软件开发商的产品支持通过IFC标准格式共享和交换BIM数据[7]。IFC标准IFC 2×3包括600多个实体(entity)以及300多个枚举、选择等类,还包含各种建筑部件间的语义连接关系[8]。基于IFC存储多种类型的几何模型数据[9],IFC文件内采用计算几何实体表达方法,经过解析之后可以将实体几何表达转换为三角网格(triangle mesh)数据[10]。三角网格结构简单清晰、易于读取,是目前在图形研究上比较通用的几何表达格式。本文对构件的几何要求是基本轮廓与位置信息,因此,需提取构件的三角网格顶点。然而IFC标准中定义的构件位置与坐标系包含了绝对坐标与相对坐标,提取的数据还需进行处理方可使用[11]。
本文采用小红砖开放平台[12]对BIM模型进行了解析研究。从该平台中获取的几何数据有位置坐标矩阵positions、索引矩阵index和旋转矩阵matrix。将位置坐标矩阵与旋转矩阵相乘即可得到世界坐标下的位置矩阵。
1.2 包围盒算法以查找相连构件
包围盒技术的基本思想是先使用简单的几何体来代替复杂的几何体,再根据包围盒在分离轴上是否有重叠来判断其包围的几何体是否发生碰撞。包围体类包括球体(sphere)、轴对齐包围盒(axis-aligned bounding box,AABB)、方向包围盒(oriented bounding box,OBB)和固定方向凸包(fixed directions hulls,FDH)。
目前AABB和OBB应用比较广泛,其中OBB始终沿着物体的主成分方向生成一个最小的矩形包围盒,其可以随物体旋转,能够用于比较精确的碰撞检测。所以,本文采用了OBB算法。
OBB算法原理是根据物体表面的顶点,通过主成分分析获得特征向量,也就是OBB主轴。在查找相连构件的算法中,通过遍历表达构件几何的三角网格顶点,分析主成分即可获得始终沿构件主体方向的OBB主轴。主成分分析中引入协方差矩阵[13],即
其中,与为构件内任意三角网格点,通过计算其,,值的协方差表达2个三角网格点相关性。再将协方差矩阵对角化、计算得出特征向量,此特征向量即为凸多面体的OBB方向轴,再计算得到中心点,此时OBB形成。
OBB的轴线为其自身的边的垂线。判定OBB是否发生碰撞主要采用了分离轴定律。
定义1. 分离轴定律[14]。如果存在一个向量,使得被检测的几何体在该轴上的投影不相交,那么该轴即是一根分离轴;如果找不到分离轴,那么被检测的几何体相交。
图3为二维实例,分别对组成构件A与B的三角网格顶点的位置坐标P=(x,y)与P=(x,y)进行主成分分析、包围盒构建,由此可得到4个潜在分离轴A1,A2和B1,B2以及2个构件的包围盒;再根据分离轴定律进行碰撞检测,即检测4个潜在分离轴上的投影是否均发生重叠。若未发生碰撞的构件为灰色,发生碰撞时改变构件颜色为红色,则OBB算法效果如图3(a)所示,图中的构件A与B分别有2个方向轴A1,A2和B1,B2,但是2个构件在轴A2和B2上的投影未发生重叠,所以轴A2和B2为构件A和B的分离轴,2个构件未发生碰撞。
图2 OBB算法流程图
图3 改进OBB包围盒算法查找相连构件
对于三维空间中的BIM模型构件而言,则需要分别给构件B在,和轴3个方向的微小偏移量,然后再将构件A与B进行主成分分析、构建包围盒及碰撞检测,即可获得相连构件。然而BIM模型中门构件只是嵌入某一墙构件中,所以检测门构件的相连构件时直接构建包围盒然后进行碰撞检测即可。
2 相似度计算
图的相似度计算即图匹配问题,近年来,国内外学者对于解决图匹配问题提出了大量的算法,且各有优劣。本文根据构件及其连接关系构建的邻接图为无向无权图,可用三元组=(,,)表示,标签中存储了构件的“type”信息。根据研究发现,图编辑距离算法可以很好地考虑到标签信息的差异,并具有良好的容错性。选用图编辑距离算法计算邻接图的相似度可以得到比较准确的结果。
2.1 提取构件语义信息
本文提取的语义信息主要是指BIM模型中构件的类型信息,即以IFC文件为源文件,通过自身的属性机制对实体对象的信息进行概括。IFC文件解析完成后,BIM模型中所包含的所有构件及其类型均可以提取出来。但是IFC标准中定义了大量的实体类型,如家具、管道、孔洞等,所以解析后获得的BIM模型中包含了各种不同类型的构件,但这些类型中只有少数几种关键类型对模型结构的影响比较大,如墙等对结构的影响比较大,而家具对模型的结构影响不大。本文对构件类型的提取借鉴了空间路网[13]中提取的构件类型,见表1。
表1 BIM模型构件与IFC实体对应表
BIM模型解析完成后,根据类型信息对表1中6种关键构件进行筛选,即完成了对模型的处理。
2.2 构建图模型
图模型被广泛应用于各种数据的建模,为不同领域的数据处理提供了有效途径,BIM模型包含了建筑的全部信息,可以建立无向无权邻接图模型,为BIM模型相似度计算提供基础。
以BIM模型中构件作为邻接图的顶点,构件的“type”信息为顶点标记,构件间连接关系作为邻接图的边,并为每个顶点分配一个索引(=1,2,...,||),称之为顶点编号。图4为一居室BIM模型构建邻接图模型示意图(为了便于查看,省略了楼板),BIM模型中构件A与B分别对应于邻接图模型中的顶点与,边(,)表示构件A与B相连。
图4 构建邻接图模型
2.3 相似度计算
邻接图模型构建完成后,BIM模型的相似度计算即转化为邻接图模型的相似度计算问题。本文采用了图编辑距离算法计算邻接图的相似度。
图编辑距离主要通过度量图之间的不相似度来衡量图之间的匹配程度,通过距离值进行不相似度衡量,距离值越大则越不相似,即相似度越低。对于给定的2个无向图和,其中,=(,,),={1,2,...,u};=(,,),={1,2,...,v}。通过计算邻接图的相似度,将其记为(,)。
本文通过基于树的搜索方法,为图的顶点之间建立映射,计算编辑代价最小的编辑路径的距离,最后得到图的相似度。
2.3.1 建立映射
2.3.2 建立搜索树
计算图*和′的编辑距离通常利用基于树的搜索过程,该过程需搜索所有可能的图形映射。该搜索空间可以组织为有序搜索树,其中内部节点表示部分图映射,叶子节点表示完整图映射。搜索树是在运行时通过迭代生成的,且由边链接到当前的节点后续动态创建的。
本文采用了集束栈(beam stack)搜索方法[16],其是通过改良一般搜索方法后得到的,可以在建立过程中对搜索树进行修剪,快速找到最优编辑路径。对于搜索树中的节点,其总编辑代价为()=1()+2()[15],其中1()为从根节点root到节点的编辑代价;2()为从节点到叶节点的估计编辑代价,且邻接图均为无向无权图,每次操作(顶点、边的增删及顶点标签的变化)的代价值均为1。并规定了集束宽度为,在每一步深度扩展前,均先对2()进行估算,对节点的总编辑距离进行排序,取总编辑距离值最小的个节点进行下一步深度扩展。
搜索树建立完成后,取编辑距离值最小的编辑路径为最终编辑路径,根据该路径计算得到最小编辑距离值(*,′)。
2.3.3 计算相似度
定义3. 图的相似度。图=(,,)和′=(′,′,′)的相似度为
3 BIM模型相似度计算实例
本文通过2组模型来验证相似度计算的可行性。如图5所示,图5(a)为带家具的1居室A和2居室B的模型;图5(b)为相同的居室但没有家居的模型C和D;图5(c)为模型C去掉一堵墙的模型E。并分别计算A与B、A与C、A与D、B与C、B与D以及C与E模型的相似度。
首先对BIM模型进行处理,提取模型构件的“type”信息,选取其中对模型结构贡献度比较大的6种构件类型所包含的构件进行后续处理。然后提取各个构件的几何信息,通过改进后的OBB算法进行碰撞检测,得到构件间的连接关系,并以构件为顶点、构件“type”信息为顶点标记、连接关系为边构建邻接图模型,由BIM模型A,B,C,D和E构建的邻接图模型分别记为G,G,G,G和G,如图6所示。
计算邻接图G,G,G,G和G两两之间相似度即为计算5个BIM模型两两之间的相似度。根据本文的集束栈搜索算法进行图编辑距离的计算,计算结果见表2。
图5 进行实例验证的5个BIM模型
图6 邻接图模型
表2 5个邻接图模型两两之间编辑距离表
根据式(2)可分别计算得出图G,G,G,G和G之间的相似度,即5个BIM模型之间的相似度。计算结果见表3。
表3 5个BIM模型两两之间相似度表
分析表2和表3中的计算结果,由于A和B分别为带家具的1居室和2居室模型,C和D分别为相同的房间但没有家具的1居室和2居室模型,E为C模型少一堵墙的对照模型,所以构建的邻接图G和G相同,G和G相同,则编辑距离(G,G)=0,(G,G)=0,相似度(G,G)=1,(G,G)=1,与本研究中的计算结果相同,所以本文相似度计算方法正确。而(G,G)=(G,G)=17,(G,G)=(G,G)=0.754,可以看出带家具的1居室与房间相同,但没有家具的1居室的相似度比带家具的1居室与2居室的相似度高,编辑距离(G,G)=(G,G)=6,(G,G)=(G,G)=16,相似度(G,G)=(G,G)= 0.885,(G,G)=(G,G)=0.758,可以看出少了一堵墙的模型E与A,C的相似度仍高于E与B,D的相似度,所以计算结果准确。因此本BIM模型相似度计算方法可行。
4 总结与展望
针对BIM从业者无法快速准确获得所需BIM模型的问题,本文以IFC文件作为BIM模型的源文件,以通用数据标准IFC 2×3为数据基础,提出了一种将BIM模型构建为邻接图模型,并通过计算邻接图模型的相似度来计算BIM模型相似度的方法。该方法从模型的构件及构件间的连接关系出发,考虑了构件的数量和构件的连接方式对模型的影响,对BIM模型相似度的计算更加准确,不仅为本地BIM模型库中模型的查找提供了解决方法,还为线上BIM共享网站的模型检索提供了思路。
本文进行相似度计算时只考虑了构件、构件类型、构件的连接关系,并未将构件的面积、周长等信息作为参考,在进一步的研究中将引入更多的构件特点加入相似度的计算。
[1] 葛晶, 周世光. 基于Revit平台BIM工作系统二次开发应用实例[J]. 建筑技术, 2017, 48(12): 1317-1319. GE J, ZHOU S G. Revit-based secondary development and application of BIM working system[J]. Architecture Technology, 2017, 48(12): 1317-1319 (in Chinese).
[2] OSADA R, FUNKHOUSER T, CHAZELLE B, et al. Matching 3D models with shape distributions[C]// Proceedings International Conference on Shape Modeling and Applications. Washington: IEEE Computer Society, 2001: 154-166.
[3] LANGENHAN C, WEBER M, LIWICKI M, et al. Graph-based retrieval of building information models for supporting the early design stages[J]. Advanced Engineering Informatics, 2013, 27(4): 413-426.
[4] 樊永生, 李昌华, 李智杰, 等. 一种建筑信息模型分类方法[J]. 计算机工程与应用, 2015, 51(4): 148-153.FAN Y S, LI C H, LI Z J, et al. Classification method of building information modeling [J]. Computer Engineering and Applications, 2015, 51(4): 148-153 (in Chinese).
[5] ZHOU X P, ZHAO J C, WANG J, et al. OutDet: an algorithm for extracting the outer surfaces of building information models for integration with geographic information systems[J]. International Journal of Geographical Information Science, 2019, 33(7): 1444-1470.
[6] BAZJANAC V. Virtual building environments (VBE) – applying information modeling to buildings[M]//eWork and eBusiness in Architecture, Engineering and Construction. London: Taylor & Francis, 2004: 41-48.
[7] BuildingSMART. The building SMART data model [Z/OL]. (2013-05-31) [2019-11-10]. https://standards. buildingsmart.org/IFC/DEV/IFC2x3/FINAL/HTML/.
[8] 张建平, 张洋, 张新. 基于IFC的BIM三维几何建模及模型转换[J]. 土木建筑工程信息技术, 2009, 1(1): 40-46. ZHANG J P, ZHANG Y, ZHANG X. Methodology of 3D geometric modeling and model conversion of IFC-based BIM[J]. Journal of Information Technology in Civil Engineering and Architecture, 2009, 1(1): 40-46 (in Chinese).
[9] 汤圣君, 朱庆, 赵君峤. BIM与GIS数据集成: IFC与CityGML建筑几何语义信息互操作技术[J]. 土木建筑工程信息技术, 2014, 6(4): 11-17. TANG S J, ZHU Q, ZHAO J Q. Towards interoperating of BIM and GIS model: geometric and semantic integration of CityGML and IFC building models[J]. Journal of Information Technology in Civil Engineering and Architecture, 2014, 6(4): 11-17 (in Chinese).
[10] ZHOU X P, WANG J, GUO M, et al. Cross-platform online visualization system for open BIM based on WebGL[J]. Multimedia Tools and Applications, 2019, 78(20): 28575-28590.
[11] 施平望, 林良帆, 邓雪原. 基于IFC标准的建筑构件表达与管理方法研究[J]. 图学学报, 2016, 37(2): 249-256. SHI P W, LIN L F, DENG X Y. Research on representation and management of IFC-based building components[J]. Journal of Graphics, 2016, 37(2): 249-256 (in Chinese).
[12] Boswinner. Red brick[EB/OL]. (2019-05-10) [2020-02-05]. https://www.bos.xyz/.
[13] 黄楠鑫, 王佳, 李智, 等. 基于IFC的室内地图模型构建研究[J]. 图学学报, 2019, 40(1): 186-192.HUNAG N X WANG J, LI Z, et al. Research on the construction of indoor map model based on IFC[J]. Journal of Graphics, 2019, 40(1): 186-192 (in Chinese).
[14] 陈尚飞. 基于分离轴理论的有向包围盒重叠测试算法[J]. 广西科学院学报, 2005, 21(3): 196-198. CHEN S F. Algorithm of overlap test to oriented bounding boxes based on separation axis theory[J]. Journal of Guangxi Academy of Sciences, 2005, 21(3): 196-198 (in Chinese).
[15] CHEN X Y, HUO H W, HUAN J, et al. An efficient algorithm for graph edit distance computation[J]. Knowledge-Based Systems, 2019, 163: 762-775.
[16] ZHOU R, HANSEN E A. Beam-stack search: integrating backtracking with beam search[C]//Fifteenth International Conference on Automated Planning & Scheduling. Palo Alto: AAAI Press, 2005: 90-98.
[17] 王子璇, 闻立杰, 汪抒浩, 等. 基于变迁标签图编辑距离的过程模型相似性度量[J]. 计算机集成制造系统, 2016, 22(2): 343-352. WANG Z X, WEN L J, WANG S H, et al. Similarity measurement for process models based on transition-labeled graph edit distance[J]. Computer Integrated Manufacturing Systems, 2016, 22(2): 343-352 (in Chinese).
Similarity calculation method of BIM model
WANG Jia1,2, SU Ding-ding1, ZHOU Xiao-ping1,2, LU Yi-xin3
(1. School of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China; 2. Beijing Key Laboratory of Intelligent Processing for Building Big Data, Beijing 102616, China;3. BOS Winner (Beijing) Technology Co. Ltd., Beijing 100041, China)
At present, whether in a local BIM model library or on an online BIM model sharing website, practitioners can only obtain the required BIM models by searching and reading them one by one manually. With the increasing number of models, it takes much time and labor to obtain models that meet the requirements. In this light, a component-level BIM model similarity calculation method was proposed. Based on the components of the model, this method used the industry foundation classes (IFC) files in the BIM universal interactive format as the data source and the universal data standard IFC 2×3 as the data foundation. First, the geometric information and semantic information of the components in the model were extracted, and the improved oriented bounding box (OBB) collision detection algorithm was used to find connected components. Then the BIM model was built as an adjacency graph model with the components as vertexes and the connection relationship among components as edges, and he graph editing distance algorithm was used to calculate the edit distance of the adjacency graphs. Finally, the similarity between different BIM models was calculated. Based on the similarity of component-level BIM models, the retrieval speed and accuracy of BIM models can be greatly improved.
building information modeling;similarity model;similarity calculation;oriented bounding box;graph edit distance
TP 391
10.11996/JG.j.2095-302X.2020040624
A
2095-302X(2020)04-0624-08
2020-01-02;
2020-02-25
25 February, 2020
2 January, 2020;
国家自然科学基金项目(71601013);北京市自然科学基金项目(4202017);北京市青年拔尖人才培育项目(CIT&TCD201904050);北京建筑大学青年英才项目
National Natural Science Foundation of China (71601013);Beijing Municipal Natural Science Foundation (4202017); Beijing Youth Talent Training Project (CIT&TCD201904050);Young Elite of Beijing University of Civil Engineering and Architecture
王 佳(1969–),女,北京人,教授,博士,硕士生导师。主要研究方向为BIM技术、建筑消防等。E-mail:wangjia@bucea.edu.cn
WANG Jia (1969–), female, professor, Ph.D. Her main research interests cover BIM technology and building fire protection.E-mail: wangjia@bucea.edu.cn
周小平(1985–),男,福建宁德人,副教授,博士,硕士生导师。主要研究方向为大数据挖掘、人工智能和建筑信息模型。E-mail:lukefchou@gmail.com
ZHOU Xiao-ping (1985–), male, associate professor, Ph.D. His main research interests coverbig data mining, artificial intelligence and building information modeling.E-mail: lukefchou@gmail.com