发明内容
基于此,有必要针对上述技术问题,提供一种能够提高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所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102获取待识别BIM模型构件的文本数据和图像数据;分别对文本数据和图像数据进行特征提取和编码,得到对应的文本属性特征和视觉外观特征;确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量;对文本属性特征和视觉外观特征进行融合,得到融合特征向量;根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种BIM模型构件识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取待识别BIM模型构件的文本数据和图像数据。
其中,待识别BIM模型构件包括在建筑信息模型的制作与使用中放置的各类构件,例如,管道系统,机械设备,消防设备中各类构件;BIM模型构件的名称按照指定的形式进行命名,并确定模型构件的构件编码名称,构件名称的组成可以是一维、二维,最多为三维,即“系统分类名称-元素类型名称-组成材质名称”;例如,文本数据中包括构件的系统分类名称(例如,“排烟”、“消火栓系统”、“人防污水”、“战时排风”等)、构件的元素类型名称(例如,“弯头”、“地漏”、“三通”等)和构件的组成材质名称(“镀锌钢板”、“球墨铸铁管”、“PVC-U”等)等;例如,确定的构件编码包括“污水-管道-PVC-U”、“给水-可曲挠橡胶接头”、“喷淋-三通-球墨铸铁管”、“给水-可曲挠橡胶接头-衬塑加厚镀锌钢管”、“消火栓系统-蝶阀”、“废水-地漏-PVC-U”、“给水-三通-衬塑镀锌钢管”、“给水-截止阀-衬塑加厚镀锌钢管”、“冷凝水-三通-PVC-U”、“喷淋-三通-镀锌钢管”、“消防强电-槽式-垂直等径上弯通”。
待识别BIM模型构件的文本数据包括但不限于构件的系统分类、元素类型、组成材质等属性文本数据;BIM模型构件的图像数据包括构件包含不同角度的视图,即可以但不仅限于主视图、侧视图与俯视图。
具体地,从Revit文件中到处待识别BIM模型构件的文本数据,以及基于Revit文件中参数,导出构件线条和点并基于视图角度绘制图形,得到图像数据,并对图像数据中各视图进行裁剪,得到设定尺寸的目标视图;如图3所示,为一个实施例中待识别BIM模型构件的图像数据,图像数据中包括三个不同角度的视图。
步骤204,分别对文本数据和图像数据进行特征提取和编码,得到对应的文本属性特征和视觉外观特征。
具体地,终端对文本数据中表征待识别BIM模型构件的属性特征进行提取,并对提取的特征进行编码,得到文本属性特征;文本属性特征是指可以表征构件类别和下游任务需求的特征;以及对图像数据中不同角度视图进行特征提取和编码处理,得到视觉外观特征。
也就是说,对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征;目标文本数据用于表征构件类别和下游任务需求的数据;以及对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征。
步骤206,确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量。
其中,各构件的标签文本数据,即预先存储的各BIM模型构件的构件编码;语义相似度向量的确定方式可以但不仅限于是TF-IDF(Term Frequency-inverse DocumentFrequency)+fuzzy匹配的方式来实现。
具体地,删除文本数据中停用词和数字、英文、特殊符号等字符后,将处理后的文本数据与BIM模型中各构件的标签文本数据进行模糊匹配,计算模糊字符串匹配度,将匹配度乘以权重系数得到各对应的第一语义相似度向量,即引入先验语义知识;其中,权重系数是预先设定的,是根据所有同一体系下的所有训练数据,祛除停用词和数字、英文、特殊符号等字符后,通过计算每条样本中每个词的TF-IDF值确定的;停用词是根据实际需求定义的,例如,定义“设备”、“系统”等为停用词。
步骤208,对文本属性特征和视觉外观特征进行融合,得到融合特征向量。
其中,融合可以是指通过transformer将不同模态的信息(可以但不仅限于是文本属性特征和视觉外观特征)进行融合,得到融合特征向量。
步骤210,根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据。
具体地,将融合特征向量和文本属性特征进行加权后,得到中间特征向量;对中间特征向量进行残差与层归一化处理后,得到的目标融合特征向量;对目标融合特征向量与各第一语义相似度向量进行处理,即引入先验语义知识,得到融合标签数据的语义知识向量;识别出语义知识向量隶属各预设标签数据的概率值,确定待识别的BIM模型构件的标签数据;其中,目标融合特征向量和第一语义相似度向量的尺寸相同。
上述BIM模型构件识别方法,根据获取待识别的BIM模型构件的文本属性特征和视觉外观特征,对文本属性特征和视觉外观特征进行融合,得到融合特征向量;以及文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别的BIM模型构件的标签数据,即通过融合图像和文本信息进行构件识别,避免存在信息缺失或单一模态信息不能确定构件的标签数据,提高了BIM模型构件的准确性。
在另一个实施例中,如图4所示,提供了一种BIM模型构件识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤402,获取待识别BIM模型构件的初始文本数据。
其中,初始文本数据包括但不限于构建的类型、系统分类、类型注释、族、族名称、类型名称、id、系统类型、粗糙度、管段等;文本数据可以是从记录构件的Revit文件中获取的;例如,“FS_消火栓箱,SG24A50-P,X 13,湿式消防系统,标高:ST-2F,机械设备,ST-2F”。
步骤404,以无监督的方式对初始文本数据进行目标特征筛选,得到目标特征对应的目标特征数据。
其中,无监督的方式包括但不仅限于通过计算文本特征的线性相关度,根据线性相关度进行特征筛选,和/或,删除文本数据中的噪声信息。
具体地,对初始文本数据进行分词以及祛除停用词操作处理后,得到词汇集,计算词汇集中各文本特征的线性相关度;根据各线性相关度对初始文本数据进行筛选处理,得到候选文本数据;对候选文本数据进行预处理,得到删除噪声信息的文本数据;噪声信息包括全数字字符、特殊符号和字符缺失率大于预设率的字符中至少一种。其中,线性相关度可以基于皮尔森系数来计算的。
可选地,在一个实施例中,对初始文本数据先进行正则匹配处理,删去初始文本数据中的全数字与特殊符号(包含但不限于除去φ、<、>、%、*、×、/、≈、≥、≤等常规包含数学意义的其他符号)特征之后,基于皮尔森系数,计算初始文本数据中各文本特征之间的线性相关度,删除文本特征之间线性相关度大于阈值(如,0.75)中的任意一个文本特征,得到候选文本数据;基于预设的规则对候选文本数据再次进行筛选处理,得到目标特征数据;其中,预设的规则是指基于先验知识决策和已有项目数据进行有监督的贡献度分析,划定范围,保留少部分核心特征和删去部分确定无用的特征(例如,程序中使用的URL地址等无用的特征)。
步骤406,将各目标特征数据按照预设拼接方式进行拼接,得到文本数据。
其中,预设拼接方式可以但不仅限于通过中文逗号将目标特征数据进行拼接,得到文本数据。
步骤408,对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征。
其中,目标文本数据用于表征构件类别和下游任务需求的数据。
具体地,将按照预设拼接方式进行拼接,得到文本数据转为token,作为训练好的构件识别模型的文本特征处理模块(即,BERT模块)的输入;通过BERT模块对输入的包含系统分类、元素类型和组成材质中至少一种的目标文本数据进行特征提取和编码,得到文本属性特征。
步骤410,对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征。
步骤412,对文本属性特征和视觉外观特征进行融合,得到融合特征向量。
步骤414,确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量。
具体地,确定文本数据对应的词表;根据词表中各词汇的词频和逆文档频率之间的乘积,从词表确定目标词表;将目标词表与各构件的标签文本数据依次进行模糊匹配,得到对应的相似度向量;将各相似度向量进行拼接,得到第一语义相似度向量;词频是指词条(关键字)在文本中出现的频率。
步骤416,根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据。
具体地,将融合特征向量和文本属性特征进行加权后,得到中间特征向量;对中间特征向量进行残差与层归一化处理后,得到的目标融合特征向量;对目标融合特征向量与各第一语义相似度向量进行处理,得到融合标签数据的语义知识向量;识别出语义知识向量隶属各预设标签数据的概率值,确定待识别的BIM模型构件的标签数据。
上述BIM模型构件识别方法中,通过对待识别的BIM模型构件的初始文本数据,以无监督的方式对初始文本数据进行目标特征筛选,得到文本数据,删除无用特征;通过特征提取编码,分别得到待识别的BIM模型构件的文本属性特征和视觉外观特征;通过融合图像和文本信息进行构件识别,即融合多模态信息,避免了信息缺失或不足以判断构件所属编码时无法识别构件的情况,提升构件识别准确率。
在一个实施例中,如图5所示,提供了一种构件识别模型的训练方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤502,构建构件识别模型。
其中,构件识别模型的组成包括用于文本特征处理的文本特征处理模块(如,BERT模型)、用于提取图像特征的图像特征处理模块(如,VGG16模型)、特征融合模块(如,Multi-head Attention)、残差加归一化层(如,Add&Norm)前馈层(FeedForward)、分类器(由线性层Linear和softmax确定的),如图6所示;Add&Norm是指让该层的输入和输出结果相加,然后经过LayerNorm模块进行归一化处理,Norm指此处使用的是一个LayerNormalization,其公式为
(μ为均值,σ为标准差),其实现原理与transformer的原理图相似,在此不做赘述。
步骤504,确定构件识别模型的训练数据;训练数据包括文本样本数据集和图像样本数据集。
具体地,从revit程序中直接导出的某一项目各构件的属性文本,属性文本包含有BIM模型中所有构件的文本类属性,即构件的初始文本数据;从各初始文本数据中获取文本样本数据,并将文本样本数据转化为构件对所属的构件编码,得到文本样本数据集;选取相同项目构件,从Revit程序中导出各构件的图像样本数据(即不同角度视图,如三视图,包含但不限于主视图、侧视图与俯视图),对各图像样本数据进行预处理(如,对图像的尺寸进行处理,达到构件识别模型输入图像的大小,如224×224×3),以及通过人工标注方式对各图像样本数据进行标注,标注的内容为该构件所属的构件编码,得到图像样本数据集。
可选地,在一个实施例中,从revit程序中直接导出的A项目各构件的初始文本数据时,计算初始文本数据中各文本特征的线性相关度;根据各线性相关度对初始文本数据进行筛选处理之后,删除其中的全数字字符、特殊符号和字符缺失率大于预设率的字符中至少一种噪声信息,得到文本样本数据集;通过对文本数据进行去噪处理,提高训练数据的准确性。
步骤506,通过文本特征处理模块对文本样本数据集中各文本样本数据进行特征提取,得到文本属性样本特征。
具体地,通过文本特征处理模块BERT对文本样本数据集中各文本样本数据进行特征提取和编码,即对BERT编码后输出的句向量,取最后一层transformer的输出作为文本样本数据提取的结果,也就是说文本属性样本特征。如图6中所示,经过一系列的特征提取与编码后BERT结构的输出为N*T*d,其中,N为batchsize,T表示文本最大长度,d为字embedding,BERT为预训练模型,此处的T和d的值为定值,无需修改。
步骤508,通过图像特征处理模块对图像样本数据集中对应的图像样本数据进行特征提取,得到视觉外观样本特征。
具体地,通过图像特征处理模块VGG16对图像样本数据集中对应的图像样本数据进行特征提取(如,构件的三视图进行编码和特征提取),每个视图提取出一个指定大小(如,1*768)的的向量,将三个视图的向量拼成3*768作为后续12头的attention的K向量、V向量输入。如图6所示,在图6下方,三视图中每张图片经VGG16的输出为768的编码,并拼接成N*3*768的向量,与BERT结构的输出做Multi-head Attention,即进行特征融合。
步骤510,确定文本样本数据集中各文本样本数据与预设标签数据的第二语义相似度。
具体地,确定文本样本数据集中各文本样本数据对应的样本词表,根据样本词表中各样本词汇的词频和逆文档频率之间的乘积,从样本词表确定目标样本词表;将目标样本词表与各构件的标签文本数据依次进行模糊匹配,得到对应的相似度向量;将各相似度向量进行拼接,得到第二语义相似度向量;也就是说,通过融合文本先验证语义知识,避免某些标签下的小样本数据训练不充分的情况下,模型还无法联系某些浅层词汇与标签语义间的联系,导致的模型识别准确性低以模型收敛效果差的问题。
其中,各文本样本数据对应的词表是通过对获取待识别的BIM模型构件的初始文本样本数据;以无监督的方式进行目标特征筛选,将得到目标特征对按照预设拼接方式进行拼接确定的;例如,获取的初始文本数据为“FS_消火栓箱,SG24A50-P,X 13,湿式消防系统,标高:ST-2F,机械设备,ST-2F”,对初始文本数据经过分词及祛除停用词操作后获得的词表为:[“消火栓箱”,“湿式”,“消防”,“系统”,“标高”,“机械”,“设备”]
词频(TF)表示词条(关键字)在文本中出现的频率,可以表示为:
其中ni,j是该词在样本中出现的次数,分母则是样本中所有词汇出现的次数总和。
逆文档频率可以表示为:
词频和逆文档频率之间的乘积TF-IDF可以表示为TF(词频)*IDF(逆文档频率);例如,根据样本词表中各样本词汇的词频和逆文档频率之间的乘积,根据样本词表中各样本词汇的词频和逆文档频率之间的乘积,计算获得上述词汇的TF-IDF值分别为:
[('消火栓箱',0.7766456639170732),('湿式',0.2075853759756098),('消防',0.33904091834146344),(′系统′,0.01224549666585366),(′标高′,O.1315796951926829),(′机械′,0.18561616464),(′设备′,0.00916516456131)];取排名靠前的60%词汇,最终留下词表W为:[“消火栓箱”,“湿式”,“消防”,“机械”];将W拼成句子“消火栓箱湿式消防系统”;将该句子与各构件的标签文本数据(例如,238个标签文本数据)依次进行fuzzy匹配,得到238个相似度并拼成一个1*238的向量,即得到第二语义相似度向量。其中,第一语义相似度向量和第二语义相似度向量的处理方法相同。
步骤512,通过特征融合模块对文本属性样本特征和视觉外观样本特征进行融合,得到融合样本特征向量。
其中,特征融合模块,即Multi-headAttention,如图7所示,为特征融合模块的结构示意图;其中,q向量为文本属性样本特征,k,v向量为视觉外观样本特征,层输出Y为:
Y=MultiHead(K,V,Q)=MultiHead(Xa,Xa,Xt)
MultiHead(Q,K,V)=Concat(head1,…,headn)Wo
headi=Attention(QWi Q,KWi K,VWi V)
Q、K、V即为上图中的q、k、v的集合,即Q为BERT的编码结果(文本属性样本特征),K、V为VGG16的编码结果(视觉外观样本特征);MultiHead即为多头attention运算,Wi Q、Wi K和Wi V三个W是三个不同的待训练的权值参数矩阵,由于特征融合模块有h个头,所以有h个维度,每个维度又是一个向量,Wi Q指的是W矩阵的第i个维度,是一个向量。an和tn分别表示VGG16和BERT的编码输出结果。
具体地,基于注意力机制,根据文本属性特征作确定特征融合模块的第一向量Q;根据视觉外观特征确定特征融合模块的第二向量K和第三向量V;基于Multi-headAttention对第一向量、第二向量和第三向量进行融合,得到融合特征向量。
步骤514,根据各第二语义相似度向量、融合样本特征向量和文本属性样本特征进行训练,直到构件识别模型的损失函数收敛,完成构件识别模型的训练。
具体地,基于Multi-head Attention对第一向量、第二向量和第三向量进行融合,得到融合特征向量,与文本属性样本特征进行相加,经过LayerNorm模块进行残差加归一化处理后,经前馈网络与线性层后的初始输出,即目标融合特征向量,在线性层与softmax中间输入第二语义相似度向量,对目标融合特征向量融合标签的语义知识,得到融合标签数据的样本语义知识向量,识别出样本语义知识向量隶属各预设标签数据的概率值,确定构件识别模型的损失函数收敛效果,当构件识别模型的损失函数收敛,完成构件识别模型的训练。
上述构件识别模型的训练方法中,通过将BIM模型构件的文本属性样本特征和视觉外观样本特征,对构件识别模型进行训练;通过确定文本样本数据集中各文本样本数据与预设标签数据的语义相似度度,提升模型的收敛速度;将文本属性样本特征和视觉外观样本特征作为构件识别的依据,提高构件识别模型的识别效率以及准确性。
在另一个实施例中,如图8所示,提供了一种BIM模型构件识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤802,获取待识别BIM模型构件的文本数据和图像数据。
步骤804,通过训练好的构件识别模型的文本特征处理模块,对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征。
其中,目标文本数据用于表征构件类别和下游任务需求的数据;目标文本数据包括构件所属的系统分类、元素类型和组成材质中至少一种。
具体地,通过训练好的构件识别模型的文本特征处理模块BERT对文本数据进行特征提取和编码,输出N*T*d的文本属性特征,其中,N为batchsize,T表示文本最大长度,d为字embedding。
步骤806,通过训练好的构件识别模型的图像特征处理模块,对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征。
具体地,通过图像特征处理模块对图像数据中不同角度的三个目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征;目标视图包括但不仅限于是待识别BIM模型构件的俯视图、侧视图和正视图。也就是说,通过VGG16对构件的三个目标视图进行编码和特征提取,每个视图提取出一个1*768的向量,将三个视图的向量拼成3*768的视觉外观特征。
步骤808,基于注意力机制,根据文本属性特征确定构件识别模型的特征融合模块的第一向量。
步骤810,根据视觉外观特征确定特征融合模块的第二向量和第三向量。
步骤812,对第一向量、第二向量和第三向量进行融合,得到融合特征向量。
步骤814,获取文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量。
步骤816,根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别的BIM模型构件的标签数据。
具体地,基于Multi-head Attention对第一向量、第二向量和第三向量进行融合,得到融合特征向量,与文本属性样本特征进行相加,经过LayerNorm模块进行残差加归一化处理后,经前馈网络与线性层后的初始输出,即目标融合特征向量,在线性层与softmax中间输入第一语义相似度向量,在融合特征向量中融合标签的语义知识,得到融合标签数据的语义知识向量,识别出样本语义知识向量隶属各预设标签数据的概率值,根据概率值的大小(可以是概率值最大,也可以是概率值最小,在此不做限定)确定待识别的BIM模型构件的标签数据。
以下为一个实施例中,如图9所示,为BIM模型构件识别方法的流程结构示意图,包括模型训练部分和预测部分;构建构件识别模型,构件识别模型中至少包括用于文本特征处理的文本特征处理模块(BERT模型)、用于提取图像特征的图像特征处理模块(VGG16模型)、特征融合模块(Multi-head Attention)其他模块(包括残差加归一化层(如,Add&Norm)前馈层(FeedForward)、分类器)。
获取用于训练的文本样本数据集和图像样本数据集,通过VGG16模型对文本样本数据集中各文本样本数据进行特征提取,得到文本属性样本特征;通过BERT模型对图像样本数据集中对应的图像样本数据进行特征提取,得到视觉外观样本特征;通过特征融合模块对文本属性样本特征和视觉外观样本特征进行融合,得到融合样本特征向量;确定文本样本数据集中各文本样本数据与预设标签数据的第二语义相似度,根据各第二语义相似度向量、融合样本特征向量和文本属性样本特征进行训练,直到构件识别模型的损失函数收敛,完成构件识别模型的训练,得到训练好的构件识别模型。
获取待识别BIM模型构件的文本数据和图像数据,通过VGG16模型对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征,以及BERT模型对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征,对文本属性特征和视觉外观特征进行融合,得到融合特征向量;确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量,进行语义相似度向量相加,根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据。
上述BIM模型构件识别方法中,通过获取待识别BIM模型构件的文本数据和图像数据,通过VGG16模型和BERT模型分别对文本数据和图像数据进行特征提取,得到对应的文本属性特征和视觉外观特征并进行融合得到融合特征向量;确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量,进行语义相似度向量相加,根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据,通过融合图像和文本信息进行构件识别,避免存在信息缺失或单一模态信息不足以判断构件的材质、用途或元素名称的情况,提高了BIM模型构件的准确性。
应该理解的是,虽然图2、图4、图5和图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4、图5和图8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种BIM模型构件识别装置,包括:获取模块1002、特征提取模块1004、特征融合模块1006、确定模块1008和识别模块1010,其中:
获取模块1002,用于获取待识别BIM模型构件的文本数据和图像数据。
特征提取模块1004,用于分别对文本数据和和图像数据进行特征提取和编码,得到对应的文本属性特征和视觉外观特征。
特征融合模块1006,用于对文本属性特征和视觉外观特征进行融合,得到融合特征向量。
确定模块1008,用于确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量。
识别模块1010,用于根据各第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别BIM模型构件的标签数据。
上述BIM模型构件识别方法、装置、计算机设备和存储介质,根据获取待识别的BIM模型构件的文本属性特征和视觉外观特征,对文本属性特征和视觉外观特征进行融合,得到融合特征向量;以及文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量、融合特征向量和文本属性特征,识别出待识别的BIM模型构件的标签数据,即通过融合图像和文本信息进行构件识别,避免存在信息缺失或单一模态信息不足以确定构件的标签数据,提高了BIM模型构件的准确性。
在另一个实施例中,提供了一种BIM模型构件识别装置,除包括获取模块1002、特征提取模块1004、特征融合模块1006、确定模块1008和识别模块1010之外,还包括:筛选模块、拼接模块、计算模块、预处理模块、模糊匹配模块、处理模块和训练模块,其中:
在一个实施例中,获取模块1002还用于获取待识别BIM模型构件的初始文本数据。
筛选模块,用于以无监督的方式对初始文本数据进行目标特征筛选,得到目标特征对应的目标特征数据。
拼接模块,用于将各目标特征数据按照预设拼接方式进行拼接,得到文本数据。
计算模块,用于计算初始文本数据中各文本特征的线性相关度。
筛选模块还用于根据各线性相关度对初始文本数据进行筛选处理,得到候选文本数据。
预处理模块,用于对候选文本数据进行预处理,得到删除噪声信息的文本数据;噪声信息包括全数字字符、特殊符号和字符缺失率大于预设率的字符中至少一种。
在一个实施例中,特征提取模块1004还用于对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征;目标文本数据用于表征构件类别和下游任务需求的数据;以及对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征。
在一个实施例中,特征提取模块1004还用于通过训练好的构件识别模型的文本特征处理模块,对系统分类、元素类型和组成材质中至少一种进行特征提取和编码,得到文本属性特征;构件识别模型还包括用于提取图像特征的图像特征处理模块、特征融合模块。
在一个实施例中,特征提取模块1004还用于通过图像特征处理模块对图像数据中不同角度的三个目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征;目标视图包括但不仅限于是待识别BIM模型构件的俯视图、侧视图和正视图。
在一个实施例中,确定模块1008还用于基于注意力机制,根据文本属性特征作确定特征融合模块的第一向量;根据视觉外观特征确定特征融合模块的第二向量和第三向量。
在一个实施例中,特征融合模块1006还用于对第一向量、第二向量和第三向量进行融合,得到融合特征向量。
确定模块1008还用于确定文本数据对应的词表;根据词表中各词汇的词频和逆文档频率之间的乘积,从词表确定目标词表。
模糊匹配模块,用于将目标词表与各构件的标签文本数据依次进行模糊匹配,得到对应的相似度向量。
在一个实施例中,拼接模块还用于将各相似度向量进行拼接,得到第一语义相似度向量。
在一个实施例中,确定模块1008还用于根据词汇集中各词汇中关键字在文本数据出现的频率,确定各词汇的词频;根据各词汇的词频和逆文档频率之间的乘积大小,从词汇集确定目标词汇集。
处理模块,用于将融合特征向量和文本属性特征进行加权后,得到中间特征向量;对中间特征向量进行残差与层归一化处理后,得到的目标融合特征向量;对目标融合特征向量与各第一语义相似度向量进行处理,得到融合标签数据的语义知识向量。
在一个实施例中,识别模块1010还用于识别出语义知识向量隶属各预设标签数据的概率值,确定待识别的BIM模型构件的标签数据。
构建模块,用于构建构件识别模型。
在一个实施例中,确定模块1008还用于确定构件识别模型的训练数据;训练数据包括文本样本数据集和图像样本数据集。
在一个实施例中,特征提取模块1004还用于通过文本特征处理模块对文本样本数据集中各文本样本数据进行特征提取,得到文本属性样本特征;以及
通过图像特征处理模块对图像样本数据集中对应的图像样本数据进行特征提取,得到视觉外观样本特征。
确定模块1008还用于确定文本样本数据集中各文本样本数据与预设标签数据的第二语义相似度。
在一个实施例中,特征融合模块1006还用于通过特征融合模块对文本属性样本特征和视觉外观样本特征进行融合,得到融合样本特征向量。
训练模块,用于根据各第二语义相似度向量、融合样本特征向量和文本属性样本特征进行训练,直到构件识别模型的损失函数收敛,完成构件识别模型的训练。
在一个实施例中,获取用于训练的文本样本数据集和图像样本数据集,通过VGG16模型对文本样本数据集中各文本样本数据进行特征提取,得到文本属性样本特征;通过BERT模型对图像样本数据集中对应的图像样本数据进行特征提取,得到视觉外观样本特征;通过特征融合模块对文本属性样本特征和视觉外观样本特征进行融合,得到融合样本特征向量;确定文本样本数据集中各文本样本数据与预设标签数据的第二语义相似度,根据各第二语义相似度向量、融合样本特征向量和文本属性样本特征进行训练,直到构件识别模型的损失函数收敛,完成构件识别模型的训练,得到训练好的构件识别模型。
获取待识别BIM模型构件的文本数据和图像数据,通过VGG16模型对文本数据中目标文本数据进行特征提取和编码,得到文本属性特征,以及BERT模型对图像数据中的不同角度的目标视图进行特征提取和编码,将得到的每个视图对应的特征向量进行拼接,得到视觉外观特征,对文本属性特征和视觉外观特征进行融合,得到融合特征向量;确定文本数据与BIM模型中各构件的标签文本数据的第一语义相似度向量,进行语义相似度向量相加,融合特征向量和文本属性特征进行加权后,得到中间特征向量;对中间特征向量进行残差与层归一化处理后,得到的目标融合特征向量;对目标融合特征向量与各第一语义相似度向量进行处理,得到融合标签数据的语义知识向量;识别出语义知识向量隶属各预设标签数据的概率值,确定待识别的BIM模型构件的标签数据;即通过融合图像和文本信息进行构件识别,避免存在信息缺失或单一模态信息不足以确定构件的标签数据,提高了BIM模型构件的准确性。
关于BIM模型构件识别装置的具体限定可以参见上文中对于BIM模型构件识别方法的限定,在此不再赘述。上述BIM模型构件识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种BIM模型构件识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。