建筑工程图中构件的识别方法、装置、和电子设备

文档序号:32037799发布日期:2022-11-03 04:05阅读:48来源:国知局
建筑工程图中构件的识别方法、装置、和电子设备

1.本发明涉及建筑工程领域,尤其涉及一种建筑工程图中构件的识别方法、装置和电子设备。


背景技术:

2.建筑工程图是建筑行业一类基础且重要的数据,反应了建筑物从最初的设计、施工到后期的运维一系列的领域知识及基础的数据信息。由于带签章的pdf格式的像素建筑工程图是目前唯一具有法定效力的交付图纸形态,针对于pdf像素建筑工程图进行自动化智能审查是现阶段行业内的一个研究热点。
3.在建筑工程图的构件识别领域,现有技术只能识别建筑工程图中平行于平面直角坐标系x轴和y轴的构件,无法直接应用于识别与平面直角坐标系x轴和y轴成任意角度的构件。


技术实现要素:

4.本发明实施例提供一种建筑工程图中构件的识别方法、装置、和电子设备,可以识别建筑工程图中与平面直角坐标系x轴和y轴成任意角度的构件。
5.第一方面,本发明实施例提供了一种建筑工程图中构件的识别方法,所述方法包括:
6.将待检测建筑工程图切分成多个图像切片;
7.采用基于旋转roi的倾斜构件识别模型对所述图像切片中的倾斜方向构件进行识别,在所述图像切片中存在倾斜构件的情况下,获取第一识别结果;所述第一识别结果包括倾斜构件的识别边框和倾斜构件的识别类别;
8.基于水平竖直构件识别模型对所述图像切片中的水平方向和竖直方向的构件进行识别,获取第二识别结果;
9.对所述第一识别结果和第二识别结果,按预设的合成规则进行合成处理,获得多角度构件的目标识别结果;所述合成规则用于筛选冗余的构件识别结果。
10.第二方面,本发明实施例提供了一种建筑工程图中构件的识别装置,包括:
11.切片模块,用于将待检测建筑工程图切分成多个图像切片;
12.倾斜构件识别模块,用于采用基于旋转roi的倾斜构件识别模型对所述图像切片中的倾斜方向构件进行识别,在所述图像切片中存在倾斜构件的情况下,获取第一识别结果;所述第一识别结果包括倾斜构件的识别边框和倾斜构件的识别类别;
13.水平竖直构件识别模块,基于水平竖直构件识别模型对所述图像切片中的水平方向和竖直方向的构件进行识别,获取第二识别结果;
14.合成模块,用于对所述第一识别结果和第二识别结果,按预设的合成规则进行合成处理,获得多角度构件的目标识别结果;所述合成规则用于筛选冗余的构件识别结果。
15.第三方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器
执行存储在所述存储器中的计算机程序,实现如第一方面所述的方法。
16.针对在先技术,本发明具备如下优点:
17.本发明实施例中,首先对建筑工程图进行切分,然后分别对切分的图像切片进行倾斜构件识别和水平竖直构件的识别。其中倾斜构件的识别采用了基于旋转roi的倾斜构件识别模型,并创造性的在特征提取部分使用了e2cnn函数库进行卷积处理,然后结合rpn网络、roi transformer网络进行旋转roi生成和对应特征的提取生成第一特征图,并再次创造性的对第一特征图进行对齐处理,生成第二特征图,完成了构件的特征图在空间和方向上的一致性,根据第二特征图完成倾斜构件的分类和识别边框的回归,完成了倾斜构件的识别。然后结合水平竖直构件的识别结果,按照预设的规则进行合并,最终获得多角度构件的目标识别结果。大大提高了建筑工程图自动化审查的效率和准确率,促进了建筑行业的发展。
附图说明
18.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。并且,需要说明的是,本技术实施例中获取各种数据相关过程,都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
19.图1示出了本发明的一种建筑工程图中构件的识别方法实施例的流程图;
20.图2示出了本发明的一种建筑工程图中构件识别结果的合成方法实施例的流程图;
21.图3示出了本发明的一种建筑工程图中构件的识别装置实施例的结构框图;
22.图4为本发明实施例提供的电子设备的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.建筑工程图是建筑行业一类基础且重要的数据,反应了建筑物从最初的设计、施工到后期的运维一系列的领域知识及基础的数据信息。由于带签章的pdf格式的像素建筑工程图是目前唯一具有法定效力的交付图纸形态,针对于pdf像素建筑工程图进行自动化智能审查是现阶段行业内的一个研究热点。
25.在先技术中,只能识别建筑工程图中平行于平面直角坐标系x轴和y轴的构件,无法直接应用于识别与平面直角坐标系x轴和y轴成任意角度的构件,为了解决上述问题,本发明提出了一种建筑工程图中构件的识别方法、装置、电子设备和可读存储介质。
26.参照图1,示出了本发明的一种建筑工程图中构件的识别方法实施例的流程图,所述方法可以包括:
27.步骤101、将待检测建筑工程图切分成多个图像切片。
28.建筑工程图是用投影的方法来表达工程物体的形状和大小,按照国家工程建设标准有关规定绘制的图样。它能准确的表达出房屋的建筑,结构和设备等设计的内容和技术要求。本发明实施例中的待检测建筑工程图包括但不仅限于jpg、png、gif等图片格式或pdf格式。
29.在本发明的实施例中,基于建筑工程图的像素进行多角度识别工作,所述像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。
30.因为整个建筑工程图的像素过多,整体识别会导致运算量过大,识别时间过长的问题,因此需要同时兼顾识别准确率和效率,将所述待检测建筑工程图进行水平和垂直方向上的分割处理,将待检测建筑工程图切分成多个图像切片。
31.可以采用长1024像素、宽1024像素大小的切片,步长为400像素,以长13339像素、宽9494像素的jpg格式的建筑工程图a为例,对工程图a进行分割时第一个切片b对应a中的区域为左上角点坐标(0,0)、右下角点坐标(1024,1024)围合的矩形区域。与切片b紧邻的右侧下一个切片c对应a中的区域为左上角点坐标(400,0)、右下角点坐标(1424,1024)围合的矩形区域。与切片b紧邻的下方下一个切片d对应a中的区域为左上角点坐标(0,400)、右下角点坐标(1024,1424)围合的矩形区域。为保证每个切片的大小相同,对工程图a进行切分时,与切片b位于同一水平方向上最右侧的切片e对应a中的区域为左上角点坐标(12315,1024),右下角点坐标(13339,1024)围合的矩形区域。以上示例仅用于说明建筑工程图图像切片的分割处理,所述切片的像素大小、步长、建筑工程图像素大小均不受上述内容限制,可以根据实际情况调整。
32.步骤102、采用基于旋转roi的倾斜构件识别模型对所述图像切片中的倾斜方向构件进行识别,在所述图像切片中存在倾斜构件的情况下,获取第一识别结果;所述第一识别结果包括倾斜构件的识别边框和倾斜构件的识别类别。
33.所述倾斜构件是指建筑工程图中不平行于平面直角坐标系x轴和y轴的构件。
34.所述roi(region of interest)是指感兴趣区域。在机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域。一般来说,roi可以用矩形勾勒出需要处理的区域,当勾勒出的矩形的长边与直角坐标系中的x轴平行时,则可以被称为水平roi,当勾勒出的矩形的长边不与同一个直角坐标系中的x轴平行,或者说与同一个直角坐标系中的x轴存在一定角度时,则可以被称为旋转roi。
35.当所述图像切片中存在倾斜构件时,本发明实施例通过对图像切片进行特征提取,生成图像切片的特征图,然后可以根据提取到的图像切片的特征图生成图像切片中构件的识别候选区域即旋转roi,并基于所述旋转roi从上述图像切片的特征图中提取旋转roi中的构件的第一特征图,然后将第一特征图输入分类模型输出构件的类别,加上所述旋转roi从而获取到倾斜构件的识别结果即第一识别结果。
36.可选地,为了识别出的构件的类别更加准确,可以对所述第一特征图进行空间和方向上的对齐处理,获得旋转roi的第二特征图,使得分类模型在对构件进行分类时不必考虑构件在切片中空间位置和方向的不同,提高了分类的效率和准确率。
37.可选地,上述图像切片的特征图、第一特征图和第二特征图均可以以矩阵的形式表示。
38.本发明实施例搭建了基于旋转roi的倾斜构件识别模型,用于基于上述方法对图像切片中的倾斜构建进行识别。
39.可选地,所述倾斜构件识别模型可以包括特征提取单元、旋转roi生成单元、旋转roi对齐单元和分类与边框回归单元。
40.所述特征提取单元用于对所述图像切片进行特征提取,生成图像切片的特征图。其中,本发明实施例可以通过卷积的方式对所述图像切片进行基于像素的特征提取,如resnet18、resnet50等残差网络、特征金字塔网络(fpn,feature pyramid network)等。
41.所述旋转roi生成单元用于根据特征提取单元中生成的图像切片的特征图,生成图像切片中的构件的候选识别区域即旋转roi。可选地,该单元可以通过区域生成网络模型(rpn,region proposal network)以及roi transformer网络模型实现。
42.所述旋转roi对齐单元用于实现图像切片中的各个构件在空间和方向上保持一致,获取构件的旋转roi的第二特征图。所述对齐是指使得各个构件在空间和方向上保持一致,那么用于构件识别分类的特征便可以减少方向和空间上的变量,使得分类更准确。可选地,用于对齐的方式可以通过特征图中的通道变换实现,当然具体地对齐方式要根据模型的训练效果进行选择。
43.所述分类与边框回归单元用于根据第二特征图对构件的旋转roi进行微调以及对构件进行分类,获取工程图中倾斜构件的识别边框和识别类别,即第一识别结果。其中分类的结果还包括倾斜构件的识别类别对应的概率即置信度。
44.可选地,所述倾斜构件识别模型可以采用带有冲量的随机梯度下降法、l2范数正则化等多种方法进行训练。模型的样本集为根据实际指导施工的建筑平面图构造用于训练倾斜构件识别模型和水平竖直构件识别模型的数据集。例如,数据集中每个图片的大小可以为024像素x1024像素,利用labelimg软件和labelme软件人工对数据集中的每个图片中的构件进行标注,标注的构件类别至少可以包括:双扇门、单扇门、推拉门、窗、柱、楼梯、电梯等中的一类,但不限于这7类。在采用带有冲量的随机梯度下降法进行模型训练时,模型训练的优化器(optimizer)可以选择sgd优化器,学习率、冲量和权重衰减系数可以视情况进行调整。优选地,例如,在本发明实施例中,学习率为0.001,冲量为0.9,权重衰减系数0.0001便可以达到较好的识别效果。
45.可选地,模型训练中损失函数可以包括交叉熵损失函数、smooth l1损失函数等多种损失函数,训练截止条件可以为训练周期达到一定数值也可以是模型训练的准确率,本发明实施例对此不作限定,以实际情况中效果较好的训练截止条件为准。
46.步骤103、基于水平竖直构件识别模型对所述图像切片中的水平方向和竖直方向的构件进行识别,获取第二识别结果。
47.所述第二识别结果包括水平与竖直构件的识别边框和水平与竖直构件的识别类别。
48.所述水平竖直构件识别模型用于识别图像切片中的水平构件和竖直构件,是采用标准的faster-rcnn模型构建的,其中在特征提取网络部分使用了resnet50和fpn网络,其他部分可以与标准的faster-rcnn相同。将所述图像切片输入水平竖直构件识别模型进行处理,获得识别结果即第二识别结果。
49.可选地,步骤103所述基于水平竖直构件识别模型对所述图像切片中的水平方向和竖直方向的构件进行识别,获取第二识别结果,包括:
50.步骤s301,依次利用残差网络和fpn网络提取所述图像切片的特征图。
51.残差网络是一种卷积神经网络,其特点是容易优化,并且能够通过增加相当的深度来提高准确率,因此本发明实施例首先使用残差网络对所述图像切片进行基于像素的卷积处理,常用的残差网络包括resnet50、resnet18等。
52.考虑到经过残差网络的卷积后,图像切片数据可能会损失,因此本技术实施例将残差网络的输出结果输入至fpn网络生成所述图像切片的特征图。所述fpn网络不仅可以弥补经过卷积后的图像切片数据所损失的数据,而且经过fpn网络提取出的图像切片的特征图是不受所述图像切片中待识别目标大小的影响的,例如两辆大小不同的汽车在同一个图像中,经过fpn网络提取出的特征图会同时保留两辆汽车的特征。
53.经过残差网络和fpn网络的处理,所提取的图像切片的特征图能最大限度的保留图像切片的数据,并且可以减少因为大小不同而导致相同类别的构件的识别结果不同的错误,提高构件识别的准确率。
54.步骤s302,根据步骤s301生成的图像切片的特征图,利用rpn网络生成输入的图像切片中水平和竖直的构件的roi。
55.所述roi用图像切片中水平和竖直构件的候选识别边框,由4个参数表示(x,y,w,h),其中x,y表示边框中心点横纵坐标,w,h表示边框的宽度和高度。
56.步骤s303,对步骤s302中生成的每个边框进行空间池化。
57.所述空间池化是指每个候选识别边框从对应的图像切片的特征图区域提取固定长度的特征向量。每个所述特征向量,都会被输送到全连接层序列中,这个全连接层分支成两个同级输出层。其中一层的功能是进行分类,对图像切片中输出每一个roi的类别和置信度;另一层是为了输出k个对象中每一个类的四个实数值,每四个是数值编码k个类中的每个类的精确的边框位置即候选识别边框参数,用于对步骤s302生成的构件的roi进行调整。
58.步骤s304,利用步骤s303生成的固定大小的特征向量,对步骤10生成的候选框进行微调,生成图像切片中水平竖直构件的识别边框和对应类别判定。
59.本发明实施例中,利用步骤s303生成的特征向量,通过回归目标识别边框相对于候选识别边框的偏移量和缩放尺度来预测目标的准确位置,生成图像切片中水平竖直构件的识别边框;同时通过softmax方法对候选框中的图像进行分类,获取水平竖直构件的识别结果即第二识别结果。
60.上述水平竖直构件的识别过程中,步骤302、303、304均与faster-rcnn模型的实现过程相同,仅在步骤301特征提取部分采用了基于残差网络的fpn模型。
61.步骤104、对所述第一识别结果和第二识别结果,按预设的合成规则进行合成处理,获得多角度构件的目标识别结果。所述合成规则用于筛选冗余的构件识别结果。
62.所述合成处理是指将所述第一识别结果和第二识别结果进行合并到一起,然后通
过筛选、删除冗余的识别结果,最终生成目标建筑工程图的多角度构件识别结果。
63.所述冗余的构件识别结果可以包括针对同一个构件的重复的、多余的识别结果,这种冗余结果在本发明实施例可以通过构件之间重叠比例的计算或构件的类别对应的置信度的高低进行筛选删除。
64.所述冗余的构件识别结果还可以包括水平竖直构件识别中对于建筑工程图中的倾斜构件的识别结果,当然还有类似于双扇门识别结果中包含单扇门识别结果的特殊情况,也要进行筛选删除。
65.可选地,步骤102所述采用基于旋转roi的倾斜构件识别模型对所述图像切片中的倾斜方向构件进行识别,在所述图像切片中存在倾斜构件的情况下,获取第一识别结果,包括:
66.步骤s201,使用残差网络和特征金字塔网络提取所述图像切片的特征图。
67.该步骤与水平竖直构件识别模型类似,也可以采用基于残差网络的特征金字塔网络(fpn)对所述图像切片进行特征提取,通过该方法生成的特征图可以有效保留图像切片中倾斜构件的特征,不会因为卷积等处理造成过多的数据丢失。
68.步骤s202,基于所述图像切片的特征图,利用区域生成网络和roi transformer网络生成所述图像切片中构件的旋转roi结果;所述旋转roi结果包括所述图像切片中构件的旋转roi和所述旋转roi的第一特征图。
69.区域生成网络(rpn,region proposal network)在faster-rcnn网络中用于提取目标对象的候选边框。本发明实施例中,根据图像切片的特征图在图像切片中提取构件的候选边框,生成构件的水平roi。
70.所述roi transformer是一个用于旋转目标检测的三阶段检测模型,核心思想是把rpn输出的水平roi转换为旋转roi,其主要包括rroi leaner和rroi wraping两部分。
71.本发明实施例通过使用roi transformer网络模型中的rroi learner部分,在rpn产生的水平roi基础上进行旋转角度建模,进而生成旋转roi。旋转roi使用5个参数表示(x,y,w,h,θ),其中x,y表示候选边框中心点横纵坐标,w,h表示候选边框的宽度和高,θ候选框边旋转角度。然后使用roi transformer网络模型中的rroi wraping部分,从图像切片的特征图中提取旋转roi对应的特征结果,即所述旋转roi的第一特征图,经过rroi wraping提取到的旋转roi对应的第一特征图包含了旋转roi的参数信息以及用于构件分类的特征信息。
72.步骤s203,基于所述旋转roi的第一特征,进行对齐处理,获取所述旋转roi的第二特征图。
73.所述对齐处理是指通过处理特征图使得图像切片中的各个构件达到空间和方向上的一致,顾名思义就是使得不同构件的第二特征图中的空间和方向信息均相同,更多地保留构件自身的相关特征信息,提高后续分类识别的准确率和效率。
74.步骤s204,利用所述第二特征图,获取倾斜构件的第一识别结果。
75.所述第一识别结果包括倾斜构件的识别类别和识别边框。
76.可选地,本技术实施例通过对所诉第二特征图进行矩阵拉直运算,获取到用于对构件的旋转roi进行进一步调整的第一特征向量和用于对构件进行分类的第二特征向量。其中,所述第一特征向量包含了相对于roi transformer生成的旋转roi的5个参数信息(x,
y,w,h,θ)来说更加细致准确的信息,用于对构件的旋转roi进行微调即更细致、准确的调整。所述第二特征向量则是包含了构件自身的特征信息,用于构件的分类。最后分别利用所述第一特征向量和第二特征向量,获取倾斜构件的第一识别结果。
77.可选地,所述步骤s201所述基于残差网络和特征金字塔网络提取所述图像切片的特征图,包括:
78.步骤s2011,基于残差网络结合函数库e2cnn对所述图像切片进行卷积,获得卷积数据;
79.步骤s2012,基于特征金字塔网络结合函数库e2cnn对所述卷积数据进行运算,生成所述图像切片的特征图。
80.可选地,本发明实施例中提供一种可行的结合函数库e2cnn的fpn网络模型。步骤s2011中resnet50网络在第11层的计算结果f1、第23层的计算结果f2、第41层的计算结果f3、第50层的计算结果f4会保留下来传给fpn网络。fpn网络首先利用python函数库e2cnn中提供的卷积运算函数分别对f1、f2、f3、f4执行卷积运算,得到计算结果c1、c2、c3、c4,采用的卷积核大小为1x1,输出通道为256;利用python函数库e2cnn中提供的上采样函数分别对c4执行上采样运算,得到计算结果u4,上采样使用的比例尺因子为2;对c3和u4执行按位加运算,得到p3;对p3执行上采样运算,得到计算结果u3,上采样使用的比例尺因子为2;对u3和c2执行按位加运算,得到p2;对p2执行上采样运算,得到计算结果u2,上采样使用的比例尺因子为2;对u2和c1执行按位加运算,得到p1;利用python函数库e2cnn中提供的卷积运算函数分别对p1、p2、p3、c4执行卷积运算,得到计算结果o1、o2、o3、o4;利用python函数库e2cnn中提供的最大池化函数对o4执行最大池化运算得到p4,最大池化运算的运算核大小为1x1,步长为2;最后o1、o2、o3、o4、p4共同作为fpn网络的输出结果。o1的形状为(k,n,h,w),其中k为图像通道数量,n为方向通道数量,h为高,w为宽。o2、o3、o4、p4的形状与o1相同,但在具体的数值上有差异。fpn网络的输出结果是输入切片的不同层次特征提取结果,即图像切片的特征图(feature map)。
81.本发明实施例在特征提取步骤s2011和s2012中采用e2cnn函数库进行卷积和运算。通过采用e2cnn函数库,保证了在输入经过卷积等变换的情况下输入的特征空间的指定变换行为,使得图像切片的特征图有效地保留了输入切片中不同尺寸构件的旋转等变特征。
82.当运算f对于t(x)的输出结果与t对于f(x)的输出结果相同,即f(t(x))=t(f(x))时,其中t表示一种变换,则运算f具有等变性。所述旋转等变性是指构件的特征信息在经过旋转变换的情况下,构件也会发生指定对应的变化,旋转等变性保证了后续构件在空间和方向上的对齐处理的合理性,使得对所述第一特征图的对齐处理仅使得不同构件在空间和方向上保持了一致,不影响特征图中其他特征信息。
83.可选地,步骤s202所述基于所述图像切片的特征图,利用区域生成网络和roi transformer网络生成所述图像切片中构件的旋转roi结果,包括:
84.步骤s2021,基于所述图像切片的特征图,利用区域生成网络生成构件的水平roi。
85.所述区域生成网络与水平竖直构件识别中的区域生成网络相同,根据图像切片的特征图在图像切片中提取构件的候选边框,生成构件的水平roi。
86.步骤s2022,基于所述水平roi,利用roi transformer网络中的rroi learner部分
生成所述图像切片中构件的旋转roi。
87.步骤s2023,基于roi transformer网络中的rroi wraping部分,从所述图像切片的特征图中提取所述旋转roi的第一特征图;所述第一特征图为所述旋转roi对应的特征图。
88.所述第一特征图为所述旋转roi对应的构件的特征图,其中包含了旋转roi的五个参数信息(x,y,w,h,θ)以及用于构件分类的特征信息。
89.可选地,步骤s203所述基于所述旋转roi的第一特征图,进行对齐处理,获取所述旋转roi的第二特征图,包括:
90.步骤s2031,基于所述旋转roi及第一特征图,计算所述第一特征图方向通道上的通道下标,将所述通道下标对应的方向通道,调整到第一个方向通道位置,计算公式如下:
[0091][0092]
其中,r为所述第一特征图方向通道上的通道下标,θ为旋转roi的旋转角度,n为旋转roi的第一特征图的方向通道总数。
[0093]
步骤s2032,基于所述通道下标按如下公式对所述第一特征图中的每个方向通道进行插值运算,获取所述第二特征图:
[0094][0095]
其中,表示方向通道上第i个通道对应的特征结果;表示插值后的方向通道上第i个通道对应的计算结果,i,i+1∈[1,n];α是权重参数,
[0096]
本发明实施例通过上述步骤实现了不同构件在空间和方向上的对齐,而且步骤s2032通过差值的方式使得旋转roi的参数信息更加准确,用于后续倾斜构件的识别边框的回归。
[0097]
可选地,步骤s204所述利用所述第二特征图,获取倾斜构件的第一识别结果,包括:
[0098]
步骤s2041,对所述第二特征图进行矩阵拉直运算,获取第一特征向量和第二特征向量。
[0099]
所述矩阵拉直运算指的是将矩阵根据需要转化为一个长的列向量,从而提取到需要的向量信息。本发明实施例通过矩阵拉直获取到第一特征向量和第二特征向量,所述第一特征向量如前文所述包含旋转roi的参数信息,用于倾斜构件的识别边框的回归;所述第二特征向量则用于构件的分类。
[0100]
步骤s2042,基于所述第一特征向量,对所述旋转roi进行微调,从而获取到倾斜构件的识别边框。
[0101]
所述微调是指利用第一特征向量中构件的旋转roi的参数信息对rroi learner部分生成的旋转roi的参数进行调整,获取倾斜构件的识别边框。
[0102]
步骤s2043,利用交叉熵损失函数分类器根据所述第二特征向量对所述倾斜构件进行分类,获取所述倾斜构件的类别和对应的置信度。
[0103]
可选地,在对倾斜构件进行分类时,交叉熵损失函数分类器、均方差损失函数分类
器(mse)或其他分类器均可用于构件的分类,实际使用时可以根据分类效果择优选择。
[0104]
可选地,步骤104所述对所述第一识别结果和第二识别结果,按预设的合成规则进行合成处理,获得多角度构件的目标识别结果,包括:
[0105]
步骤s401,合并所述第一识别结果和第二识别结果,获取第一合并识别结果。
[0106]
所述第二识别结果包括水平竖直构件的识别类别和水平竖直构件的识别边框。
[0107]
所述合并所述第一识别结果和第二识别结果是指将工程图上的水平竖直构件的识别结果的集合和倾斜构件的识别结果集合进行合并,放在同一张建筑工程图中。
[0108]
可选地,在合并的过程中,可以对所述合并的识别结果进行预处理,所述预处理可以包括筛选并删除水平构件的识别结果中倾斜构件的识别结果。
[0109]
步骤s402,基于所述第一合并识别结果,针对同一类别的构件,计算所述同一类别的构件的识别边框之间的重叠比例,当所述重叠比例大于第一重叠比例时,删除类别的置信度小于第一置信度的构件对应的识别结果,获取第二合并识别结果。
[0110]
所述构件之间的识别边框的重叠比例按如下公式进行计算:
[0111][0112]
其中,ratio表示两个构件的识别边框之间的重叠比例,obb1和obb2分别表示两个构件识别结果对应的识别边框所包围的区域。
[0113]
当两个同类别构件的重叠比例过大时,则表示可能是对同一个构件进行了重复识别,一般来说,可以删除类别置信度较小的构件的识别结果,也可以通过预先设定置信度的阈值即第一置信度进行筛选、删除。
[0114]
步骤s403,利用非极大值抑制算法,结合建筑领域构件的分类,对所述第二合并识别结果进行去重处理,获得多角度构件的目标识别结果。
[0115]
所述去重处理是指去除第二合并识别结果中可能存在的的识别结果。去重处理按照预设的合成规则进行去重,所述预设的合成规则中可以包括对构件的识别边框与x轴的角度、构件的识别类别、构件的识别类别的置信度以及构件的识别边框之间的重叠比例等任意一项的限定。
[0116]
所述非极大值抑制算法的核心思路是搜索局部最大值,抑制极大值,因此本发明实施例可以利用非极大值抑制算法对合成规则中的变量的控制,实现对第二合并识别结果的去重处理。
[0117]
至于为什么要结合建筑领域构件的分类,是因为构件中可能存在如单扇门和双扇门这样结构重叠的构件类别,导致识别不准确,因此若识别结果为双扇门的结果中还存在单扇门的识别结果,那么可以只保留双扇门的识别结果。
[0118]
可选地,所述去重处理至少包括如下任意一项:
[0119]
删除所述第二合并识别结果中识别类别的置信度小于第二置信度的构件识别结果;所述第二置信度为预先设定的用于去除第二合并识别结果中置信度较低的识别结果;
[0120]
仅保留所述第二合并识别结果中识别类别属于第一类别且识别类别相同、识别边框重叠的构件识别结果中的一个构件识别结果;
[0121]
删除所述第二合并识别结果中识别类别为单扇门,并且与识别类别为双扇门的构件的识别边框的重叠比例大于第二重叠比例的构件识别结果;所述第二重叠比例为预先设
定的,用于去除双扇门中可能存在的重复的单扇门的识别结果。
[0122]
其中,所述构件识别结果包括构件的识别类别和构件的识别边框。
[0123]
可选地,在步骤104所述获得多角度构件的目标识别结果之后还包括:
[0124]
步骤105,基于所述多角度构件的目标识别结果,结合建筑领域知识库,获取所述多角度构件的特定语义信息。
[0125]
基于工程图多角度构件的目标识别结果,结合领域知识,针对于每一类构件进行“宽度”、“包围盒”等多种特定语义信息的计算。
[0126]
例如:为说明本步骤中特定语义信息的计算过程,下面以建筑工程图“双扇门”和“楼梯”构件识别为例进行说明,但该说明例不用于限制本发明。根据建筑领域知识,在获得“双扇门”和“楼梯”的识别边框之后,分别计算识别边框的长边和短边长度。“双扇门”识别边框长边长度是其“宽度”语义信息对应的数值;“楼梯”识别边框的短边长度是其“宽度”语义信息对应的数值。在获得“双扇门”的识别边框之后,在识别边框的四条边上进行采样,获得采样点,可以在获得授权的情况下,结合已有的或是公开的像素工程图墙体识别结果,判断采样点与墙体识别结果相交情况,进一步判断“双扇门”识别边框与墙体识别结果相连接的边,进一步计算“双扇门”“门开向”语义信息。
[0127]
可选地,在步骤105所述基于所述多角度构件的目标识别结果,结合建筑领域知识库,获取所述多角度构件的特定语义信息,之后还包括:
[0128]
步骤106,将所述语义信息数据和多角度构件的目标识别结果数据结构化。
[0129]
将步骤105获得的语义信息添加到步骤104得到的建筑工程图多角度构件的目标识别识别结果中,然后将全部数据以构件为单位进行组织,生成对应的结构化json数据或其他可用于可视化的数据。
[0130]
步骤107,根据生成的结构化json数据或其他结构的数据,将json数据或其他结构的数据和可视化结果共同返回给前端,在前端界面展示。
[0131]
可选地,如图2所示,本发明实施例根据步骤104所述的合成处理,提供了一种具体的实施方法,包括:
[0132]
对应于步骤s401,合并所述第一识别结果和第二识别结果,获取第一合并识别结果,可以包括:
[0133]
步骤s4011,从第一识别结果的集合中选择一个识别结果,计算该识别结果中识别边框的四条边与x轴的夹角的最小值。
[0134]
步骤s4012,若所述夹角的最小值大于15
°
,删除第二识别结果的集合中与该识别结果有交集的识别结果,并更新第二识别结果的集合,若所述夹角的最小值不大于15度,则不作处理。
[0135]
步骤s4013,按照步骤s4011和s4012所述的方法,遍历第一识别结果的集合中的所有识别结果直到第二识别集合没有更新。
[0136]
步骤s4014,合并第一识别结果的集合和更新后的第二识别结果的集合,获取第一合并识别结果的集合。
[0137]
对应于步骤s402,基于所述第一合并识别结果,针对同一类别的构件,计算所述同一类别的构件的识别边框之间的重叠比例,当所述重叠比例大于第一重叠比例时,删除置信度小于第一置信度的构件的类别对应的识别结果,获取第二合并识别结果,可以包括:
[0138]
步骤s4021,按照下述公式(1)计算第一合并识别结果的集合中同类别构件之间识别边框的重叠比例:
[0139][0140]
其中,ratio表示两个构件的识别边框之间的重叠比例,obb1和obb2分别表示两个构件识别结果对应的识别边框所包围的区域。
[0141]
步骤s4022,当两个同类别构件之间的重叠比例大于0.7时,删除二者之中类别置信度较低的识别结果,获得第二合并识别结果的集合。
[0142]
对应于步骤s403,利用非极大值抑制算法,结合建筑领域构件的分类,对所述第二合并识别结果进行去重处理,获得多角度构件的目标识别结果,可以包括:
[0143]
步骤s4031,从第二合并识别结果的集合中选择一个识别结果a,当该识别结果a的置信度小于0.6时,从第二合并识别结果中删除该识别结果a,并更新第二合并识别结果的集合;当该识别结果的置信度不小于0.6时,继续下一步骤。
[0144]
步骤s4032,判断当识别结果a的识别类别为“窗”或“楼梯”或“推拉门”时,删除所有与识别结果a相同识别类别的识别结果,并设置a的识别边框为与a同类别的所有识别结果和识别结果a中最小的外接识别边框,同时设置a的置信度为与a同类别的所有识别结果和识别结果a中置信度的最大值,更新第二合并识别结果的集合;当识别结果a的识别类别不是“窗”、“楼梯”和“推拉门”中的任何一种时,继续下一步骤。
[0145]
步骤s4033,判断当识别结果a的识别类别为双扇门时,利用上述公式(1)计算第二合并识别结果的集合中所有类别为单扇门的识别边框与a的识别边框的重叠比例,保留其中与a的识别边框的重叠比例大于0.7的识别结果,删除其中与a的识别边框的重叠比例不大于0.7的识别结果;当识别结果a的识别类别不为双扇门时,保留识别结果a,不作处理。
[0146]
步骤s4034,按照步骤s4031、s4032和s4033所述的方法,遍历第二合并识别结果的集合中所有的识别结果,直到第二合并识别结果的集合没有更新,输出更新后的第二合并识别结果的集合为最终的多角度构件的目标识别结果。
[0147]
综上所述,本发明实施例提供了一种建筑工程图中构件的识别方法。本发明实施例中,首先对建筑工程图进行切分,然后分别对切分的图像切片进行倾斜构件识别和水平竖直构件的识别。其中倾斜构件的识别采用了基于旋转roi的倾斜构件识别模型,并创造性的在特征提取部分使用了e2cnn函数库进行卷积处理,然后结合rpn网络、roi transformer网络进行旋转roi生成和对应特征的提取生成第一特征图,并再次创造性的对第一特征图进行对齐处理,生成第二特征图,完成了构件的特征图在空间和方向上的一致性,根据第二特征图完成倾斜构件的分类和识别边框的回归,完成了倾斜构件的识别。然后结合水平竖直构件的识别结果,按照预设的规则进行合并,最终获得多角度构件的目标识别结果。大大提高了建筑工程图自动化审查的效率和准确率,促进了建筑行业的发展。
[0148]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0149]
参照图3,示出了本发明的一种建筑工程图中构件的识别装置实施例的结构框图,所述装置200可以包括:
[0150]
切片模块201,用于将待检测建筑工程图切分成多个图像切片;
[0151]
倾斜构件识别模块202,用于采用基于旋转roi的倾斜构件识别模型对所述图像切片中的倾斜方向构件进行识别,在所述图像切片中存在倾斜构件的情况下,获取第一识别结果;所述第一识别结果包括倾斜构件的识别边框和倾斜构件的识别类别;
[0152]
水平竖直构件识别模块203,基于水平竖直构件识别模型对所述图像切片中的水平方向和竖直方向的构件进行识别,获取第二识别结果;
[0153]
合成模块204,用于对所述第一识别结果和第二识别结果,按预设的合成规则进行合成处理,获得多角度构件的目标识别结果;所述合成规则用于筛选冗余的构件识别结果。
[0154]
可选地,所述倾斜构件识别模块,可以包括:
[0155]
图像切片特征图提取模块,用于使用残差网络和特征金字塔网络提取所述图像切片的特征图;
[0156]
旋转roi模块,用于基于所述图像切片的特征图,利用区域生成网络和roi transformer网络生成所述图像切片中构件的旋转roi结果;所述旋转roi结果包括所述图像切片中构件的旋转roi和所述旋转roi的第一特征图;
[0157]
对齐模块,用于基于所述旋转roi的第一特征,进行对齐处理,获取所述旋转roi的第二特征图;
[0158]
第一识别结果获取模块,用于利用所述第二特征图,获取倾斜构件的第一识别结果。
[0159]
可选地,所述图像切片特征图提取模块,可以包括:
[0160]
残差网络模块,用于基于残差网络结合函数库e2cnn对所述图像切片进行卷积,获得卷积数据;
[0161]
fpn网络模块,用于基于特征金字塔网络结合函数库e2cnn对所述卷积数据进行运算,生成所述图像切片的特征图。
[0162]
可选地,所述旋转roi模块,可以包括;
[0163]
水平roi生成模块,用于基于所述图像切片的特征图,利用区域生成网络生成构件的水平roi;
[0164]
旋转roi生成模块,用于基于所述水平roi,利用roi transformer网络中的rroi learner部分生成所述图像切片中构件的旋转roi;
[0165]
第一特征图提取模块,用于基于roi transformer网络中的rroi wraping部分,从所述图像切片的特征图中提取所述旋转roi的第一特征图;所述第一特征图为所述旋转roi对应的特征图。
[0166]
可选地,所述对齐模块,可以包括:
[0167]
方向通道模块,用于基于所述旋转roi及第一特征图,计算所述第一特征图方向通道上的通道下标,将所述通道下标对应的方向通道,调整到第一个方向通道位置,计算公式如下:
[0168]
[0169]
其中,r为所述第一特征图方向通道上的通道下标,θ为旋转roi的旋转角度,n为旋转roi的第一特征图的方向通道总数;
[0170]
插值模块,用于基于所述通道下标按如下公式对所述第一特征图中的每个方向通道进行插值运算,获取所述第二特征图:
[0171][0172]
其中,表示方向通道上第i个通道对应的特征结果;表示插值后的方向通道上第i个通道对应的计算结果,i,i+1∈[1,n];α是权重参数,
[0173]
可选地,所述第一识别结果获取模块,可以包括:
[0174]
矩阵运算模块,用于对所述第二特征图进行矩阵拉直运算,获取第一特征向量和第二特征向量;
[0175]
倾斜构件的识别边框生成模块,用于基于所述第一特征向量,对所述旋转roi进行微调,获取到倾斜构件的识别边框;
[0176]
倾斜构件的分类模块,用于利用交叉熵损失函数分类器根据所述第二特征向量对所述倾斜构件进行分类,获取所述倾斜构件的类别和对应的置信度。
[0177]
可选地,所述合成模块,可以包括:
[0178]
合并模块,用于合并所述第一识别结果和第二识别结果,获取第一合并识别结果;
[0179]
简处理模块,用于基于所述第一合并识别结果,针对同一类别的构件,计算所述同一类别的构件的识别边框之间的重叠比例,当所述重叠比例大于第一重叠比例时,删除置信度小于第一置信度的构件的类别对应的识别结果,获取第二合并识别结果;
[0180]
去重模块,用于利用非极大值抑制算法,结合建筑领域构件的分类,对所述第二合并识别结果进行去重处理,获得多角度构件的目标识别结果。
[0181]
可选地,所述去重处理至少包括如下任意一项:
[0182]
删除所述第二合并识别结果中识别类别的置信度小于第二置信度的构件识别结果;
[0183]
仅保留所述第二合并识别结果中识别类别属于第一类别且识别类别相同、识别边框重叠的构件识别结果中的一个构件识别结果;
[0184]
删除所述第二合并识别结果中识别类别为单扇门,并且与识别类别为双扇门的构件的识别边框的重叠比例大于第二重叠比例的构件识别结果;
[0185]
其中,所述构件识别结果包括构件的识别类别和构件的识别边框。
[0186]
可选地,所述装置还可以包括:
[0187]
语义信息获取模块,用于基于所述多角度构件的目标识别结果,结合建筑领域知识库,获取所述多角度构件的特定语义信息。
[0188]
可选地,所述装置还可以包括:
[0189]
数据结构化模块,用于将语义信息获取模块中获取的语义信息添加到合成模块中得到的建筑工程图多角度构件的目标识别识别结果中,然后将全部数据以构件为单位进行组织,生成对应的结构化json数据或其他可用于可视化的数据;
[0190]
可视化模块,用于根据生成的结构化json数据或其他结构的数据,将json数据或
其他结构的数据和可视化结果共同返回给前端,在前端界面展示。
[0191]
综上所述,本发明实施例提供了一种建筑工程图中构件的识别装置。本发明实施例中,首先对建筑工程图进行切分,然后分别对切分的图像切片进行倾斜构件识别和水平竖直构件的识别。其中倾斜构件的识别采用了基于旋转roi的倾斜构件识别模型,并创造性的在特征提取部分使用了e2cnn函数库进行卷积处理,然后结合rpn网络、roi transformer网络进行旋转roi生成和对应特征的提取生成第一特征图,并再次创造性的对第一特征图进行对齐处理,生成第二特征图,完成了构件的特征图在空间和方向上的一致性,根据第二特征图完成倾斜构件的分类和识别边框的回归,完成了倾斜构件的识别。然后结合水平竖直构件的识别结果,按照预设的规则进行合并,最终获得多角度构件的目标识别结果。大大提高了建筑工程图自动化审查的效率和准确率,促进了建筑行业的发展。
[0192]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0193]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0194]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0195]
参考图4,其示出了本技术实施例提供的一种电子设备500,包括:处理器501、存储器502及存储在存储器502上并可在处理器501上运行的计算机程序,计算机程序被处理器501执行时实现如方法实施例中所述的建筑工程图中构件的识别方法的步骤。
[0196]
本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的建筑工程图中构件的识别方法。
[0197]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0198]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
[0199]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0200]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
[0201]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地
改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0202]
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的排序设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0203]
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0204]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0205]
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
[0206]
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1