CN114937051A - 一种bim模型的轮廓确定方法、装置、终端和存储介质 - Google Patents
一种bim模型的轮廓确定方法、装置、终端和存储介质 Download PDFInfo
- Publication number
- CN114937051A CN114937051A CN202210687801.4A CN202210687801A CN114937051A CN 114937051 A CN114937051 A CN 114937051A CN 202210687801 A CN202210687801 A CN 202210687801A CN 114937051 A CN114937051 A CN 114937051A
- Authority
- CN
- China
- Prior art keywords
- calculated
- bim model
- coordinate
- bim
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20116—Active contour; Active surface; Snakes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种BIM模型的轮廓确定方法、装置、终端和存储介质,该方法包括:获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数;将所述待计算的BIM模型导入到预先设置的图形引擎中;在所述图形引擎中创建虚拟相机;利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像;对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。该方案,通过在BIM模型的体量较大的情况下,采用图像识别的方法确定BIM模型的轮廓,能够减小计算难度。
Description
技术领域
本发明属于建造工程信息化技术领域,具体涉及一种BIM模型的轮廓确定方法、装置、终端和存储介质,尤其涉及一种基于图像识别的BIM模型二维轮廓快速计算方法、装置、终端和存储介质,更具体涉及一种基于图像识别算法对BIM三维模型批量、快速计算出其二维外轮廓的方法、装置、终端和存储介质。
背景技术
在建造工程信息化领域,原生的BIM模型(Building Information Modeling,建筑信息模型)通常有较大的体量。原生的BIM模型,指建模人员通过Revit等软件建立的原始BIM模型,没有经过轻量化等后续处理。BIM模型包括组成建筑的所有构件的几何信息与工程信息,由建筑、结构、机电等多专业模型集合而成。以上海某医院BIM模型为例,构件数量在十万量级,三维模型的三角面片数量在千万量级,如该医院的儿综楼(项目面积57670平方米)以rvt格式储存的机电模型,就占用了1.6GB的储存空间。
一些方案中采用几何方法计算BIM模型的轮廓,如果建筑的BIM模型的网格数据较为复杂(如单个阀门的三角面的数量可以到三万个左右),且当建筑的体量增大时BIM模型的体量也随着增大,此时计算BIM模型的轮廓的难度较大。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的目的在于,提供一种BIM模型的轮廓确定方法、装置、终端和存储介质,以解决在BIM模型的体量较大的情况下,采用几何方法计算BIM模型的轮廓的难度较大的问题,达到通过在BIM模型的体量较大的情况下,采用图像识别的方法确定BIM模型的轮廓,能够减小计算难度的效果。
本发明提供一种BIM模型的轮廓确定方法,包括:获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数;将所述待计算的BIM模型导入到预先设置的图形引擎中;在所述图形引擎中创建虚拟相机;利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像;对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。
在一些实施方式中,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道;利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像,包括:调整所述虚拟相机的相机视角到相机外轮廓的应用平面;基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数;在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数;根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理;根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。
在一些实施方式中,其中,基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数;和/或,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质;将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
在一些实施方式中,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓,包括:对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合;对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合;分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合;将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合;根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系;在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓;优选地,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合,包括:针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离;若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中;若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。
与上述方法相匹配,本发明另一方面提供一种BIM模型的轮廓确定装置,包括:获取单元,被配置为获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数;确定单元,被配置为将所述待计算的BIM模型导入到预先设置的图形引擎中;所述确定单元,还被配置为在所述图形引擎中创建虚拟相机;所述确定单元,还被配置为利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像;所述确定单元,还被配置为对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。
在一些实施方式中,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道;所述确定单元,利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像,包括:调整所述虚拟相机的相机视角到相机外轮廓的应用平面;基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数;在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数;根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理;根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。
在一些实施方式中,其中,所述确定单元,基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数;和/或,所述确定单元,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质;将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
在一些实施方式中,所述确定单元,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓,包括:对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合;对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合;分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合;将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合;根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系;在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓;优选地,所述确定单元,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合,包括:针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离;若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中;若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。
与上述装置相匹配,本发明再一方面提供一种终端,包括:以上所述的BIM模型的轮廓确定装置。
与上述方法相匹配,本发明再一方面提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行以上所述的BIM模型的轮廓确定方法。
由此,本发明的方案,通过对待计算的BIM模型,进行渲染二值化图像和边缘计算及矢量化处理,能够得到BIM模型的轮廓,从而,通过在BIM模型的体量较大的情况下,采用图像识别的方法确定BIM模型的轮廓,能够减小计算难度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的BIM模型的轮廓确定方法的一实施例的流程示意图;
图2为本发明的方法中对所述待计算的BIM模型进行渲染的一实施例的流程示意图;
图3为本发明的方法中对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理的一实施例的流程示意图;
图4为本发明的方法中分别对所述第一子集合和所述第二子集合进行筛选处理的一实施例的流程示意图;
图5为本发明的BIM模型的轮廓确定装置的一实施例的结构示意图;
图6为本发明的基于图像识别的BIM模型二维轮廓快速计算方法的一实施例的流程示意图;
图7为图形引擎中的BIM模型的结构示意图,其中,(a)为图形引擎中的机电模型的结构示意图,(b)为图形引擎中的机电与建筑模型的结构示意图;
图8为虚拟相机视角调整示意图;
图9为虚拟相机视图的示意图;
图10为虚拟相机参数示意图;
图11为二值化图像示意图;
图12为轮廓点json结构及文件的示意图,其中,(a)为输出的json文件(包含模型名称、编号、轮廓点集合等信息)的示意图,(b)为计算机中保存的输出文件的示意图;
图13为2.5D引擎应用效果示意图;
图14为几何方法与本发明的基于图像识别的BIM模型二维轮廓快速计算方案的效果对比表的示意图。
结合附图,本发明实施例中附图标记如下:
102-获取单元;104-控制单元。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到,当前受限于浏览器与移动设备的性能,如果使用原生的三维模型,当BIM模型体量较大时(项目面积超过5万平方米),会出现加载缓慢、模型面片撕裂、用户交互卡顿等情况,使得原生的BIM模型不便于Web浏览器、移动端等多平台应用。因此,一些方案,针对Web浏览器提出了一种2.5D网页端模型,其中BIM模型的交互主要依赖其在应用视图平面的二维轮廓实现。2.5D网页端模型是将三维模型转换为一系列可交互的二维模型:提前将用户需要查看的模型状态(如某楼某层的空调设备状态)渲染为二维图片,计算每个设备在该图片平面的二维轮廓,并存在服务器;当用户查看时,加载相应的图片及轮廓信息(当用户点击图片中的某个设备时,可以通过判断点击的位置在哪个设备的轮廓范围内,从而完成交互)。
但当前BIM模型的网格数据较为复杂(单个阀门的三角面的数量可以到三万个左右),且当建筑的体量增大,BIM模型的体量也随着增大,此时使用一些方案中的几何方法计算BIM模型的轮廓,将耗费大量的计算资源与时间,不利于BIM模型的快速转化和多平台应用。
一些方案中的几何方法,需要多次遍历三维模型的点、线数据,具体包括:步骤S1、将模型的所有点、线投影到应用图片的平面上;步骤S2、以y值最小的点作为当前点;步骤S3、遍历与当前点相连的所有点,计算出两者连线与x轴正方向夹角最小的线L,将该点作为当前点;步骤S4、遍历该模型所有线,计算是否与线L有交点,如果有交点,则以交点为当前点,将当前点加入轮廓数组;步骤S5、如果当前点和起始点相同,则结束,否则重复步骤S3。可见,一些方案中的几何方法是一种精确的计算方法,但会多次遍历模型网格数据,时间复杂度较高,当BIM模型网格数据复杂时,计算时间会大幅度增加。
根据本发明的实施例,提供了一种BIM模型的轮廓确定方法,如图1所示本发明的方法的一实施例的流程示意图。该BIM模型的轮廓确定方法可以包括:步骤S110至步骤S150。
在步骤S110处,获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数。所述待计算的BIM模型,包括:建筑模型及机电模型。
在步骤S120处,将所述待计算的BIM模型导入到预先设置的图形引擎中。
在步骤S130处,在所述图形引擎中创建虚拟相机。创建虚拟相机这个步骤可以通过编写程序完成。本发明的方案所提供的方法主要是通过图形引擎获取二值化图像,然后对二值化图像进行边缘检测并相应处理。创建虚拟相机是获取二值化图像中的一个可自动化的具体的步骤
在步骤S140处,利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像。
其中,步骤S110至步骤S140所示的方法,可以通过编程自动化实现。在编写好后,用户只需要将BIM模型导入到图形引擎中、运行代码脚本,就可以输出包含BIM模型轮廓信息的文件。具体地,先将BIM模型导入到图形引擎中,按照步骤S110至步骤S140所示的方法预先编码,运行代码脚本就可以自动化地完成读取模型数据、创建相机、渲染等后续操作。
在一些实施方式中,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道。
步骤S140中利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像的具体过程,参见以下示例性说明。
下面结合图2所示本发明的方法中对所述待计算的BIM模型进行渲染的一实施例流程示意图,进一步说明步骤S140中对所述待计算的BIM模型进行渲染的具体过程,包括:步骤S210至步骤S250。
步骤S210,调整所述虚拟相机的相机视角到相机外轮廓的应用平面。
图6为本发明的基于图像识别的BIM模型二维轮廓快速计算方法的一实施例的流程示意图。如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体包括以下步骤:
第一步、渲染二值化图像,具体参见以下示例性说明。
步骤1、将待计算的BIM模型导入到图形引擎中。引擎,是借用机器工业的同名术语,表明在整个系统中的核心地位。也可以称之为“支持应用的底层函数库”或者说是对特定应用的一种抽象。图形引擎中比较出色的有OGRE、OpenGVS、Vtree、OSG等。
BIM模型在计算机中以点、线空间数据的形式存储,而图形引擎可以将点、线数据渲染为可视的图像,本发明的方案的方法可用于当前市面上主流的图形引擎,如:unity、虚幻引擎等。
图7为图形引擎中的BIM模型的结构示意图。以某医院门诊大楼1F的BIM模型为例,步骤1具体可以是将待计算的BIM模型导入到图形引擎中,包括该医院1F的建筑模型及机电模型,如图7。
步骤2、虚拟相机处理。
步骤2.1、创建虚拟相机,并调整创建所得虚拟相机的Rotation(相机视角)到外轮廓的应用平面。
其中,调整创建所得虚拟相机的Rotation(相机视角)到外轮廓的应用平面,可以通过预先编码和用户需要的应用平面,设置图形引擎中虚拟相机的参数。相当于调整相机拍照的角度,使相机正对应用平面。如图8中Rotation(x,y,z)的三个数值。具体的计算,需要用到应用平面的法向量,使得相机的朝向向量与应用平面的法向量方向一致。
二维轮廓是模型投影到一个平面产生,用户需要轮廓信息的平面即应用平面。如需要在1楼的俯视图中使用轮廓信息,则应用平面为1楼楼板水平面。
图8为虚拟相机视角调整示意图。以某医院门诊大楼1F的BIM模型为例,步骤2.1具体可以是创建虚拟相机,并调整Rotation(相机视角)到外轮廓的应用平面,如图8。此处应用平面的视角为(45,-45,0),尺寸为8192*8192像素,采用坐标原点在左下角的右手坐标系。
步骤S220,基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数。
在一些实施方式中,步骤S220中基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤2.2、提取待计算BIM模型的BoundingBox(包围盒)信息,将虚拟相机的坐标设置为BoundingBox中心,视图范围设置为BoundingBox中max坐标及min坐标的距离,该步骤使虚拟相机可以刚好包含待计算的BIM模型。
图9为虚拟相机视图的示意图。以某医院门诊大楼1F的BIM模型为例,步骤2.2具体可以是提取待计算BIM模型的BoundingBox(包围盒)信息,将虚拟相机的坐标设置为BoundingBox中心,此处为(39.6566,106.9695,-92.6413),视图范围设置为BoundingBox中max坐标及min坐标的距离,此处为1.017491,该步骤使虚拟相机可以刚好包含待计算的BIM模型,相机视图如图9。
步骤2.3、虚拟相机的视图背景设置为黑色(RGB(0,0,0))。
以某医院门诊大楼1F的BIM模型为例步骤2.3具体可以是虚拟相机的视图背景设置为黑色(RGB(0,0,0))。
步骤2.4、相机的Culling Mash(剔除遮罩)设置为仅包含待计算的BIM模型的图层(“待计算”),记录当前相机的参数。
图10为虚拟相机参数示意图。以某医院门诊大楼1F的BIM模型为例步骤2.4具体可以是相机的Culling Mash(剔除遮罩)设置为仅包含待计算的BIM模型的图层(“待计算”),记录当前相机参数(包括Position、orthographicSize),参数如图10。
步骤S230,在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数。
在一些实施方式中,步骤S230中基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质。将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤3、BIM模型处理。
步骤3.1、编写运行于图形处理器的Shader(着色器),将Fragment Shader(片元着色器)编写为常量值-白色(RGB(255,255,255)),创建使用该Shader的材质。
步骤3.2、获取待计算的BIM模型的所有材质通道,并全部赋予步骤3.1中创建的材质。
其中,一个模型可能由多个部分组成,且材质不同。比如:雨伞的伞柄是金属材质,伞面是布料,就可以通过两个材质通道把这两个材质赋给物体。步骤3.2中把所有材质通道都赋予相同的材质,是为了使整个模型为一个颜色,和背景色有效区分,即为了图像的“二值化”,方便后续的边缘检测。
步骤3.3、将待计算的BIM模型的图层设置为“待计算”。
步骤S240,根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理,以实现对所述待计算的BIM模型的模型材质的预处理。
步骤S250,根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤4、读取虚拟相机画面。
步骤4.1、新建渲染纹理,将当前虚拟相机的画面渲染到目标渲染纹理上,经过对虚拟相机及模型材质的预处理,此时渲染的图片已经是严格的二值化图像,且没有噪点。
图11为二值化图像示意图。以某医院门诊大楼1F的BIM模型为例步骤4.1具体可以是新建渲染纹理,此处尺寸为500*500像素,将当前虚拟相机的画面渲染到目标渲染纹理上,经过对虚拟相机及模型材质的预处理,此时渲染的图片已经是严格的二值化图像,且没有噪点,如图11。
步骤4.2、新建不含透明通道的Texture2D(纹理),写入渲染纹理的像素,保存为位图,如位图g。
其中,渲染纹理是图形引擎渲染的中间产物,Texture2D可以接收它的像素值,这个过程由计算机完成,需要指定纹理的色彩格式。例如:在使用例中指定为RGB24格式,这种格式不含透明通道。
步骤4中渲染二值化图像的分辨率可调节,分辨率越高,轮廓计算约精确,耗时越长。可见,本发明的方案,精度可控,可根据需求调节精度节约时间。本发明的方案中,二值化图像是自行渲染得到,图像的分辨率可调节,影响需要做卷积运算的数据量,因此轮廓精度与生产时间可控。相比于一些方案中的几何方法计算过程固定,本发明的方案可以根据实际项目生产状况做出决策。
其中,步骤4.1中的渲染纹理尺寸可以预先在程序代码中指定,如果实际生产项目时间充足,可以任意自行指定更高的分辨率,如1080*1080像素;反之,则可以指定更低的分辨率以减小计算量。卷积运算及矢量化的计算量与图像的分辨率有关。分辨率越高,则图像像素点的数量越多,卷积运算的计算量越大;同时产生的边缘点也越多,后续进行的边缘点集合矢量化的计算量也会增大。
在步骤S150处,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。
考虑到,相关方案的几何计算方法,受BIM模型三角面数影响。为了应对总体量大、单个模型三角面数量多的BIM模型,快速计算其二维轮廓,本发明的方案,提供一种基于图像识别技术快速计算BIM模型二维外轮廓的方法,用于BIM模型的轻量化多平台应用,能利用图像识别技术,快速计算复杂BIM模型的二维轮廓。本发明的方案,采用图像识别的方法,避免了几何方法遍历模型网格数据、时间复杂度高的问题,因而取得了提升计算效率的效果。
在一些实施方式中,步骤S150中对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓的具体过程,参见以下示例性说明。
下面结合图3所示本发明的方法中对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理的一实施例流程示意图,进一步说明步骤S150中对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理的具体过程,包括:步骤S310至步骤S350。
步骤S310,对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合。所述待计算的BIM模型的轮廓点坐标集合,如轮廓点坐标集合contours。
步骤S320,对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合。第一子集合如集合Q1,第二子集合如集合Q2。
步骤S330,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合。
在一些实施方式中,步骤S330中分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合的具体过程,参见以下示例性说明。
下面结合图4所示本发明的方法中分别对所述第一子集合和所述第二子集合进行筛选处理的一实施例流程示意图,进一步说明步骤S330中分别对所述第一子集合和所述第二子集合进行筛选处理的具体过程,包括:步骤S410至步骤S430。
步骤S410,针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离。
步骤S420,若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中。
步骤S430,若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤6.2、将曲线的起始点p0和终点pn连成直线L(p0,pn),计算曲线上所有其他点与直线L(p0,pn)的距离,找出距离最大的点pm及其距离dmax。如果dmax小于阈值(2像素),则当前点集合中仅保留起始点p0、pn,舍弃其他点,并进行步骤6.4。否则,进行步骤6.3。
步骤6.3、从点pm处,将该曲线的点集合分为两段,对两段曲线点集合分别进行步骤6.2。
步骤6.4将保留的各坐标点按原顺序存入集合approx中。
步骤S340,将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合。所述新轮廓点坐标集合,如集合approx。
步骤S350,根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系。在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
第二步、边缘计算及矢量化,具体参见以下示例性说明。
步骤5、对步骤4.2中得到的位图进行卷积运算,此处采用Roberts算子:遍历像素点,将像素值按公式(1)计算,并将结果与阈值(此处取100)比较,将超过阈值的像素点坐标储存在集合contours中。
其中,X为像素点的横坐标,Y为像素点的纵坐标,F(x,y)为像素点(x,y)的像素值,G(x,y)为像素点(x,y)卷积运算的结果。
本发明的方案中,图像识别方法是通过像素值卷积计算,可以计算出设备中间的镂空的情况。相比于一些方案中的几何方法只能算出外围轮廓,本发明的方案,支持镂空的模型,可以解决用户点击构件镂空部分而判断错误的问题。
步骤6、边缘点矢量化,如利用Douglas-Peukcer算法矢量化处理像素点轮廓。
步骤6.0、有序集合contours已经可以描述该模型的二维封闭轮廓,但描述一个轮廓只需要轮廓的顶点坐标,而集合中还存在大量冗余的点。大量冗余的点会带来更大的数据量,不利于BIM模型的轻量化应用,且这些冗余的点还可能会导致轮廓出现锯齿,因此需要对边缘点进行矢量化操作。
步骤6.1、轮廓点坐标集合contours组成了一个封闭轮廓,将集合contours拆分为集合Q1和集合Q2,使得Q1∪Q2=contours,且集合Q1和集合Q2的数量相等,且集合Q1、集合Q2中所含的点都是连续点,对两段曲线点集合分别进行步骤6.2。
其中,拆分,通常从中间拆分为数量相等的两个子集合,这样的迭代效率较高,类似于“二分法”。本文用例中也是如此。如集合contours由有序点1、点2…点2000组成,则从中间拆分为Q1为有序点1、点2…点1000;Q2为有序点1001、点1002…点2000。
步骤7、根据步骤2.2中保存的虚拟相机参数,将集合approx中所有点的坐标,从二值化位图坐标转换到应用平面坐标。将集合approx中的点在应用坐标平面坐标系下,按顺序连接,即勾勒出了该BIM模型的二维轮廓。这些点可以准确描述出模型的轮廓,包括镂空的模型,且轮廓点的数量较为精简。
图12为轮廓点json结构及文件的示意图。以某医院门诊大楼1F的BIM模型为例步骤7具体可以是:根据步骤2.2中保存的虚拟相机参数,将集合approx中所有点的坐标pi,从二值化位图坐标转换到应用平面坐标,具体参见公式(2)。
其中,wu为应用平面像素宽度,wi为该轮廓的二值化图像像素宽度,Lu为应用平面视图尺寸,Li为二值化图像所使用虚拟相机的视图尺寸,O′i为二值化图像原点在应用平面坐标系下的坐标。最后以json文件格式储存,如图12。
图13为2.5D引擎应用效果示意图。将集合approx中的点在应用坐标平面坐标系下,按顺序连接,即勾勒出了该BIM模型的二维轮廓。计算结果应用于2.5D图形引擎效果较好,如图13。
图14为一些几何方法与本发明的方案的效果对比表。一些方案中,几何方法会受单个BIM模型三角面数的影响,当BIM模型的总量增多、BIM模型的精细度增加时,计算时间大幅增长。而本发明的方案,基于图像识别,与BIM模型的三角面数无关,在BIM模型复杂的情况下,效率更高,不受复杂模型约束,如可以提升一倍以上的计算效率,如图14中的时间对比。另外,本发明的方案,是一种支持多线程可并行的算法,具有可落地性、可推广性。
采用本实施例的技术方案,通过对待计算的BIM模型,进行渲染二值化图像和边缘计算及矢量化处理,能够得到BIM模型的轮廓,从而,通过在BIM模型的体量较大的情况下,采用图像识别的方法确定BIM模型的轮廓,能够减小计算难度。
根据本发明的实施例,还提供了对应于BIM模型的轮廓确定方法的一种BIM模型的轮廓确定装置。参见图5所示本发明的装置的一实施例的结构示意图。该BIM模型的轮廓确定装置可以包括:获取单元102和确定单元104。
其中,获取单元102,被配置为获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数。所述待计算的BIM模型,包括:建筑模型及机电模型。该获取单元102的具体功能及处理参见步骤S110。
确定单元104,被配置为将所述待计算的BIM模型导入到预先设置的图形引擎中。该确定单元104的具体功能及处理参见步骤S120。
所述确定单元104,还被配置为在所述图形引擎中创建虚拟相机。该确定单元104的具体功能及处理还参见步骤S130。
所述确定单元104,还被配置为利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像。该确定单元104的具体功能及处理还参见步骤S140。
在一些实施方式中,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道。
所述确定单元104,利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像,包括:
所述确定单元104,具体还被配置为调整所述虚拟相机的相机视角到相机外轮廓的应用平面。该确定单元104的具体功能及处理还参见步骤S210。
图6为本发明的基于图像识别的BIM模型二维轮廓快速计算方法的一实施例的流程示意图。如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体包括以下步骤:
第一步、渲染二值化图像,具体参见以下示例性说明。
步骤1、将待计算的BIM模型导入到图形引擎中。引擎,是借用机器工业的同名术语,表明在整个系统中的核心地位。也可以称之为“支持应用的底层函数库”或者说是对特定应用的一种抽象。图形引擎中比较出色的有OGRE、OpenGVS、Vtree、OSG等。
BIM模型在计算机中以点、线空间数据的形式存储,而图形引擎可以将点、线数据渲染为可视的图像,本发明的方案的方法可用于当前市面上主流的图形引擎,如:unity、虚幻引擎等。
图7为图形引擎中的BIM模型的结构示意图。以某医院门诊大楼1F的BIM模型为例,步骤1具体可以是将待计算的BIM模型导入到图形引擎中,包括该医院1F的建筑模型及机电模型,如图7。
步骤2、虚拟相机处理。
步骤2.1、创建虚拟相机,并调整创建所得虚拟相机的Rotation(相机视角)到外轮廓的应用平面。
其中,通过预先编码和用户需要的应用平面,设置图形引擎中虚拟相机的参数。相当于调整相机拍照的角度,使相机正对应用平面。如图8中Rotation(x,y,z)的三个数值。具体的计算,需要用到应用平面的法向量,使得相机的朝向向量与应用平面的法向量方向一致。
图8为虚拟相机视角调整示意图。以某医院门诊大楼1F的BIM模型为例,步骤2.1具体可以是创建虚拟相机,并调整Rotation(相机视角)到外轮廓的应用平面,如图8。此处应用平面的视角为(45,-45,0),尺寸为8192*8192像素,采用坐标原点在左下角的右手坐标系。
所述确定单元104,具体还被配置为基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数。该确定单元104的具体功能及处理还参见步骤S220。
在一些实施方式中,所述确定单元104,基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:所述确定单元104,具体还被配置为将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤2.2、提取待计算BIM模型的BoundingBox(包围盒)信息,将虚拟相机的坐标设置为BoundingBox中心,视图范围设置为BoundingBox中max坐标及min坐标的距离,该步骤使虚拟相机可以刚好包含待计算的BIM模型。
图9为虚拟相机视图的示意图。以某医院门诊大楼1F的BIM模型为例,步骤2.2具体可以是提取待计算BIM模型的BoundingBox(包围盒)信息,将虚拟相机的坐标设置为BoundingBox中心,此处为(39.6566,106.9695,-92.6413),视图范围设置为BoundingBox中max坐标及min坐标的距离,此处为1.017491,该步骤使虚拟相机可以刚好包含待计算的BIM模型,相机视图如图9。
步骤2.3、虚拟相机的视图背景设置为黑色(RGB(0,0,0))。
以某医院门诊大楼1F的BIM模型为例步骤2.3具体可以是虚拟相机的视图背景设置为黑色(RGB(0,0,0))。
步骤2.4、相机的Culling Mash(剔除遮罩)设置为仅包含待计算的BIM模型的图层(“待计算”),记录当前相机的参数。
图10为虚拟相机参数示意图。以某医院门诊大楼1F的BIM模型为例步骤2.4具体可以是相机的Culling Mash(剔除遮罩)设置为仅包含待计算的BIM模型的图层(“待计算”),记录当前相机参数(包括Position、orthographicSize),参数如图10。
所述确定单元104,具体还被配置为在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数。该确定单元104的具体功能及处理还参见步骤S230。
在一些实施方式中,所述确定单元104,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:所述确定单元104,具体还被配置为将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质。将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤3、BIM模型处理。
步骤3.1、编写运行于图形处理器的Shader(着色器),将Fragment Shader(片元着色器)编写为常量值-白色(RGB(255,255,255)),创建使用该Shader的材质。
步骤3.2、获取待计算的BIM模型的所有材质通道,并全部赋予步骤3.1中创建的材质。
步骤3.3、将待计算的BIM模型的图层设置为“待计算”。
所述确定单元104,具体还被配置为根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理,以实现对所述待计算的BIM模型的模型材质的预处理。该确定单元104的具体功能及处理还参见步骤S240。
所述确定单元104,具体还被配置为根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。该确定单元104的具体功能及处理还参见步骤S250。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤4、读取虚拟相机画面。
步骤4.1、新建渲染纹理,将当前虚拟相机的画面渲染到目标渲染纹理上,经过对虚拟相机及模型材质的预处理,此时渲染的图片已经是严格的二值化图像,且没有噪点。
图11为二值化图像示意图。以某医院门诊大楼1F的BIM模型为例步骤4.1具体可以是新建渲染纹理,此处尺寸为500*500像素,将当前虚拟相机的画面渲染到目标渲染纹理上,经过对虚拟相机及模型材质的预处理,此时渲染的图片已经是严格的二值化图像,且没有噪点,如图11。
步骤4.2、新建不含透明通道的Texture2D(纹理),写入渲染纹理的像素,保存为位图,如位图g。
步骤4中渲染二值化图像的分辨率可调节,分辨率越高,轮廓计算约精确,耗时越长。可见,本发明的方案,精度可控,可根据需求调节精度节约时间。本发明的方案中,二值化图像是自行渲染得到,图像的分辨率可调节,影响需要做卷积运算的数据量,因此轮廓精度与生产时间可控。相比于一些方案中的几何方法计算过程固定,本发明的方案可以根据实际项目生产状况做出决策。
所述确定单元104,还被配置为对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。该确定单元104的具体功能及处理还参见步骤S150。
考虑到,相关方案的几何计算方法,受BIM模型三角面数影响。为了应对总体量大、单个模型三角面数量多的BIM模型,快速计算其二维轮廓,本发明的方案,提供一种基于图像识别技术快速计算BIM模型二维外轮廓的方法,用于BIM模型的轻量化多平台应用,能利用图像识别技术,快速计算复杂BIM模型的二维轮廓。本发明的方案,采用图像识别的方法,避免了几何方法遍历模型网格数据、时间复杂度高的问题,因而取得了提升计算效率的效果。
在一些实施方式中,所述确定单元104,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓,包括:
所述确定单元104,具体还被配置为对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合。所述待计算的BIM模型的轮廓点坐标集合,如轮廓点坐标集合contours。该确定单元104的具体功能及处理还参见步骤S310。
所述确定单元104,具体还被配置为对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合。第一子集合如集合Q1,第二子集合如集合Q2。该确定单元104的具体功能及处理还参见步骤S320。
所述确定单元104,具体还被配置为分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合。该确定单元104的具体功能及处理还参见步骤S330。
在一些实施方式中,所述确定单元104,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合,包括:
所述确定单元104,具体还被配置为针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离。该确定单元104的具体功能及处理还参见步骤S410。
所述确定单元104,具体还被配置为若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中。该确定单元104的具体功能及处理还参见步骤S420。
所述确定单元104,具体还被配置为若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。该确定单元104的具体功能及处理还参见步骤S430。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
步骤6.2、将曲线的起始点p0和终点pn连成直线L(p0,pn),计算曲线上所有其他点与直线L(p0,pn)的距离,找出距离最大的点pm及其距离dmax。如果dmax小于阈值(2像素),则当前点集合中仅保留起始点p0、pn,舍弃其他点,并进行步骤6.4。否则,进行步骤6.3。
步骤6.3、从点pm处,将该曲线的点集合分为两段,对两段曲线点集合分别进行步骤6.2。
步骤6.4将保留的各坐标点按原顺序存入集合approx中。
所述确定单元104,具体还被配置为将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合。所述新轮廓点坐标集合,如集合approx。该确定单元104的具体功能及处理还参见步骤S340。
所述确定单元104,具体还被配置为根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系。在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓。该确定单元104的具体功能及处理还参见步骤S350。
如图6所示,本发明的方案提供的一种基于图像识别的BIM模型二维轮廓快速计算方法,具体还包括以下步骤:
第二步、边缘计算及矢量化,具体参见以下示例性说明。
步骤5、对步骤4.2中得到的位图进行卷积运算,此处采用Roberts算子:遍历像素点,将像素值按公式(1)计算,并将结果与阈值(此处取100)比较,将超过阈值的像素点坐标储存在集合contours中。
本发明的方案中,图像识别方法是通过像素值卷积计算,可以计算出设备中间的镂空的情况。相比于一些方案中的几何方法只能算出外围轮廓,本发明的方案,支持镂空的模型,可以解决用户点击构件镂空部分而判断错误的问题。
步骤6、边缘点矢量化,如利用Douglas-Peukcer算法矢量化处理像素点轮廓。
步骤6.0、有序集合contours已经可以描述该模型的二维封闭轮廓,但描述一个轮廓只需要轮廓的顶点坐标,而集合中还存在大量冗余的点。大量冗余的点会带来更大的数据量,不利于BIM模型的轻量化应用,且这些冗余的点还可能会导致轮廓出现锯齿,因此需要对边缘点进行矢量化操作。
步骤6.1、轮廓点坐标集合contours组成了一个封闭轮廓,将集合contours拆分为集合Q1和集合Q2,使得Q1∪Q2=contours,且集合Q1和集合Q2的数量相等,且集合Q1、集合Q2中所含的点都是连续点,对两段曲线点集合分别进行步骤6.2。
步骤7、根据步骤2.2中保存的虚拟相机参数,将集合approx中所有点的坐标,从二值化位图坐标转换到应用平面坐标。将集合approx中的点在应用坐标平面坐标系下,按顺序连接,即勾勒出了该BIM模型的二维轮廓。这些点可以准确描述出模型的轮廓,包括镂空的模型,且轮廓点的数量较为精简。
图12为轮廓点json结构及文件的示意图。以某医院门诊大楼1F的BIM模型为例步骤7具体可以是:根据步骤2.2中保存的虚拟相机参数,将集合approx中所有点的坐标pi,从二值化位图坐标转换到应用平面坐标,具体参见公式(2)。
其中,wu为应用平面像素宽度,wi为该轮廓的二值化图像像素宽度,Lu为应用平面视图尺寸,Li为二值化图像所使用虚拟相机的视图尺寸,O′i为二值化图像原点在应用平面坐标系下的坐标。最后以json文件格式储存,如图12。
图13为2.5D引擎应用效果示意图。将集合approx中的点在应用坐标平面坐标系下,按顺序连接,即勾勒出了该BIM模型的二维轮廓。计算结果应用于2.5D图形引擎效果较好,如图13。
图14为一些几何方法与本发明的方案的效果对比表。一些方案中,几何方法会受单个BIM模型三角面数的影响,当BIM模型的总量增多、BIM模型的精细度增加时,计算时间大幅增长。而本发明的方案,基于图像识别,与BIM模型的三角面数无关,在BIM模型复杂的情况下,效率更高,不受复杂模型约束,如可以提升一倍以上的计算效率,如图14中的时间对比。另外,本发明的方案,是一种支持多线程可并行的算法,具有可落地性、可推广性。
由于本实施例的装置所实现的处理及功能基本相应于前述方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
采用本发明的技术方案,通过对待计算的BIM模型,进行渲染二值化图像和边缘计算及矢量化处理,能够得到BIM模型的轮廓,能利用图像识别技术,快速计算复杂BIM模型的二维轮廓。
根据本发明的实施例,还提供了对应于BIM模型的轮廓确定装置的一种终端。该终端可以包括:以上所述的BIM模型的轮廓确定装置。
由于本实施例的终端所实现的处理及功能基本相应于前述装置的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
采用本发明的技术方案,通过对待计算的BIM模型,进行渲染二值化图像和边缘计算及矢量化处理,能够得到BIM模型的轮廓,可根据需求调节精度,能够节约时间。
根据本发明的实施例,还提供了对应于BIM模型的轮廓确定方法的一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行以上所述的BIM模型的轮廓确定方法。
由于本实施例的存储介质所实现的处理及功能基本相应于前述方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
采用本发明的技术方案,通过对待计算的BIM模型,进行渲染二值化图像和边缘计算及矢量化处理,能够得到BIM模型的轮廓,在BIM模型复杂的情况下,计算效率更高。
综上,本领域技术人员容易理解的是,在不冲突的前提下,上述各有利方式可以自由地组合、叠加。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种BIM模型的轮廓确定方法,其特征在于,包括:
获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数;
将所述待计算的BIM模型导入到预先设置的图形引擎中;
在所述图形引擎中创建虚拟相机;
利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像;
对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。
2.根据权利要求1所述的BIM模型的轮廓确定方法,其特征在于,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道;
利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像,包括:
调整所述虚拟相机的相机视角到相机外轮廓的应用平面;
基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数;
在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数;
根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理;
根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。
3.根据权利要求2所述的BIM模型的轮廓确定方法,其特征在于,其中,
基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:
将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数;
和/或,
基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:
将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质;将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
4.根据权利要求2或3所述的BIM模型的轮廓确定方法,其特征在于,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓,包括:
对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合;
对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合;
分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合;
将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合;
根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系;在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓;
优选地,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合,包括:
针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离;
若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中;
若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。
5.一种BIM模型的轮廓确定装置,其特征在于,包括:
获取单元,被配置为获取待计算的BIM模型,并获取所述待计算的BIM模型的模型参数;
确定单元,被配置为将所述待计算的BIM模型导入到预先设置的图形引擎中;
所述确定单元,还被配置为在所述图形引擎中创建虚拟相机;
所述确定单元,还被配置为利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像;
所述确定单元,还被配置为对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓。
6.根据权利要求5所述的BIM模型的轮廓确定装置,其特征在于,所述待计算的BIM模型的模型参数,包括:所述待计算的BIM模型的包围盒信息、以及所述待计算的BIM模型的所有材质通道;
所述确定单元,利用所述虚拟相机,结合所述待计算的BIM模型的模型参数,对所述待计算的BIM模型进行渲染,得到所述待计算的BIM模型的二值化图像,包括:
调整所述虚拟相机的相机视角到相机外轮廓的应用平面;
基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数;
在所述虚拟相机的图形处理器运行的情况下,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数;
根据所述图形参数新建渲染纹理,利用所述渲染纹理,将所述虚拟相机的当前画面渲染到预设的目标渲染纹理上,得到所述虚拟相机的当前渲染纹理;
根据所述当前渲染纹理新建不含透明通道的纹理,在所述不含透明通道的纹理中写入所述当前渲染纹理的像素后,保存为位图,作为所述待计算的BIM模型的二值化图像。
7.根据权利要求6所述的BIM模型的轮廓确定装置,其特征在于,其中,
所述确定单元,基于所述待计算的BIM模型的包围盒信息,设置所述虚拟相机的相机参数,包括:
将所述虚拟相机的坐标确定为所述待计算的BIM模型的包围盒信息中包围盒的中心,将所述虚拟相机的视图范围确定为所述待计算的BIM模型的包围盒信息中的最大坐标与最小坐标之间的距离,将所述虚拟相机的视图背景确定为第一设定颜色,并将所述虚拟相机的剔除遮罩使用层确定为仅包含所述待计算的BIM模型的图层,得到所述虚拟相机的相机参数;
和/或,
所述确定单元,基于所述待计算的BIM模型的所有材质通道,确定所述图形处理器的图形参数,包括:
将所述图形处理器的片元着色器的着色颜色确定为第二设定颜色,并创建使用所述片元着色器的材质;将所述待计算的BIM模型的所有材质通道,全部赋予所述片元着色器的材质,得到所述图形处理器的图形参数。
8.根据权利要求6或7所述的BIM模型的轮廓确定装置,其特征在于,所述确定单元,对所述待计算的BIM模型的二值化图像进行边缘计算及矢量化处理,得到所述待计算的BIM模型的二维轮廓,包括:
对所述待计算的BIM模型的二值化图像进行卷积运算,以确定所述待计算的BIM模型的二值化图像中所有像素点的像素值超过设定阈值的像素点,并将该像素点的坐标形成集合,记为所述待计算的BIM模型的轮廓点坐标集合;
对所述待计算的BIM模型的轮廓点坐标集合中的边缘点进行矢量化操作,得到第一子集合和第二子集合;
分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合;
将所述顶点坐标点集合中的各坐标点,按所述轮廓点坐标集合中的原顺序进行存储,形成新轮廓点坐标集合;
根据所述虚拟相机的相机参数,将所述新轮廓点坐标集合中所有坐标点的坐标,从二值化位图坐标系转换到应用平面坐标系;在所述应用平面坐标系下,将所述新轮廓点坐标集合中所有坐标点按顺序连接,以勾勒出所述待计算的BIM模型的二维轮廓;
优选地,所述确定单元,分别对所述第一子集合和所述第二子集合进行筛选处理,得到顶点坐标点集合,包括:
针对所述第一子集合和所述第二子集合中的每一个子集合,按该子集合中各坐标点的顺序,将起始点的坐标点与终点的坐标点连成直线,并确定起始点的坐标点与终点的坐标点之间的其它坐标点与该直线的距离,确定距离最大的坐标点及该最大距离;
若该最大距离小于预设的距离阈值,则在该子集合中,仅保留起始点的坐标点和终点的坐标点,并舍弃其它坐标点,将保留的坐标点,存入顶点坐标点集合中;
若该最大距离大于或等于预设的距离阈值,则对于该子集合,从该距离最大的坐标点处划分为两个二级子集合,并按针对所述第一子集合和所述第二子集合中的每一个子集合进行筛选处理的方式,继续针对该两个二级子集合中每一个二级子集合进行筛选处理。
9.一种终端,其特征在于,包括:如权利要求5至8中任一项所述的BIM模型的轮廓确定装置。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任一项所述的BIM模型的轮廓确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210687801.4A CN114937051A (zh) | 2022-06-17 | 2022-06-17 | 一种bim模型的轮廓确定方法、装置、终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210687801.4A CN114937051A (zh) | 2022-06-17 | 2022-06-17 | 一种bim模型的轮廓确定方法、装置、终端和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114937051A true CN114937051A (zh) | 2022-08-23 |
Family
ID=82868642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210687801.4A Pending CN114937051A (zh) | 2022-06-17 | 2022-06-17 | 一种bim模型的轮廓确定方法、装置、终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114937051A (zh) |
-
2022
- 2022-06-17 CN CN202210687801.4A patent/CN114937051A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Delicate textured mesh recovery from nerf via adaptive surface refinement | |
US10748324B2 (en) | Generating stylized-stroke images from source images utilizing style-transfer-neural networks with non-photorealistic-rendering | |
Chen et al. | Research on image inpainting algorithm of improved total variation minimization method | |
US10726599B2 (en) | Realistic augmentation of images and videos with graphics | |
CN108389251A (zh) | 基于融合多视角特征的投影全卷积网络三维模型分割方法 | |
CN111401266B (zh) | 绘本角点定位的方法、设备、计算机设备和可读存储介质 | |
CN110688947B (zh) | 一种同步实现人脸三维点云特征点定位和人脸分割的方法 | |
CN107369204B (zh) | 一种从单幅照片恢复出场景基本三维结构的方法 | |
CN111127631B (zh) | 基于单图像的三维形状和纹理重建方法、系统及存储介质 | |
US10347052B2 (en) | Color-based geometric feature enhancement for 3D models | |
CN112669436B (zh) | 一种基于3d点云的深度学习样本生成方法 | |
CN109671039B (zh) | 基于分层特征的图像矢量化方法 | |
Kawai et al. | Diminished reality for AR marker hiding based on image inpainting with reflection of luminance changes | |
CN111027538A (zh) | 一种基于实例分割模型的集装箱检测方法 | |
CN116805356A (zh) | 建筑模型的构建方法、设备及计算机可读存储介质 | |
CN110033507A (zh) | 模型贴图的内描线绘制方法、装置、设备及可读存储介质 | |
CN115984441A (zh) | 一种基于神经着色器的快速重建带纹理三维模型的方法 | |
CN117710603B (zh) | 一种直线几何结构约束下无人机图像三维建筑物建模方法 | |
Gaber et al. | The role of artificial intelligence and machine learning in preserving cultural heritage and art works via virtual restoration | |
US20230334729A1 (en) | Image generation method, apparatus, and device, and storage medium | |
CN114708382A (zh) | 基于增强现实的三维建模方法、装置、存储介质、设备 | |
CN114782645A (zh) | 虚拟数字人制作方法、相关设备及可读存储介质 | |
Wu et al. | DeferredGS: Decoupled and Editable Gaussian Splatting with Deferred Shading | |
CN113628170A (zh) | 一种基于深度学习的激光线提取方法及系统 | |
US11107257B1 (en) | Systems and methods of generating playful palettes from images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |