发明内容
本申请实施例的目的在于提供一种二维图纸构件的识别方法、系统、电子设备及计算机可读存储介质,可以实现提高识别准确率的技术效果。
第一方面,本申请实施例提供了一种二维图纸构件的识别方法,包括:
获取二维图纸数据;
根据所述二维图纸数据获得矢量结构数据库,所述矢量结构数据库包括构件结构信息和结构引用信息;
将所述构件结构信息与预设信息特征库进行比对,获得与所述构件结构信息相对应的构件类别信息;
根据所述矢量结构数据库中的结构引用信息获得构件位置信息;
根据所述构件类别信息和所述构件位置信息获得构件识别结果。
在上述实现过程中,该二维图纸构件的识别方法可以通过对二维图纸数据中的构件进行检测、识别,同时解析出构件的相关属性,无需依赖于将DWG图纸转为JPEG、PNG或是PDF格式文件,构件识别结果包括构建的各种属性,可以实现对构件识别的同时对构件的描述文字、朝向等属性进行精准识别,此外,构件位置信息可解决图纸中部分构件因为重叠导致的构件无法检测识别问题;从而,该二维图纸构件的识别方法可以实现提高识别准确率的技术效果。
进一步地,所述根据所述二维图纸数据获得矢量结构数据库的步骤,包括:
判断所述二维图纸数据是否为多图框数据,若是,则对所述二维图纸数据进行拆解,获得多个单图框二维图纸数据;若否,将所述二维图纸数据标记为单图框二维图纸数据;
将所述单图框二维图纸数据逆向转化为所述矢量结构数据库。
在上述实现过程中,将二维图纸数据逆向转化为可分析的矢量结构数据库的步骤包括图框拆解部分和解析转化部分。
进一步地,在将所述构件结构信息与预设信息特征库进行比对,获得与所述构件结构信息相对应的构件类别信息的步骤之前,所述方法还包括:
对所述矢量结构数据库进行信息提取,获得所述构件结构信息。
在上述实现过程中,对矢量结构数据库进行信息提取即对矢量结构数据库进行数据解析,可以提取构件结构信息,得到构件的相关结构信息。
进一步地,所述对所述矢量结构数据库进行信息提取,获得构件结构信息的步骤,包括:
遍历所述矢量结构数据库中的所有构件,获得结构引用变换信息和结构引用句柄信息;
根据所述结构引用变换信息构建对应的仿射变换矩阵;
根据所述仿射变换矩阵和所述结构引用句柄信息构建对应的结构点集信息;
对所述结构点集信息进行特征转化,获得所述构件结构信息,所述构件结构信息包括具有旋转不变性、缩放不变性的特征信息。
进一步地,所述将所述构件结构信息与预设信息特征库进行比对,获得与所述构件结构信息相对应的构件类别信息的步骤,包括:
根据所述构件结构信息与所述预设信息特征库中对应的所述特征信息进行距离计算,获得距离信息;
根据所述距离信息判断所述构件结构信息是否满足预设条件,若否,则匹配失败,并将所述构件结构信息相对应的构件类别信息标记为空;
若是,则匹配成功,将匹配到的所述特征信息与所述构件结构信息进行绑定,获得所述构件类别信息。
在上述实现过程中,对构件结构信息进行特征转化后的结构特征与预设信息特征库进行比对,以此可得到构件类别信息,即该结构的所属类别以及具体的标签信息。
进一步地,所述仿射变换矩阵包括平移、旋转、缩放、翻转中的一种或多种信息,所述根据所述矢量结构数据库中的结构引用信息获得构件位置信息的步骤,包括:
根据所述仿射变换矩阵对所述结构点集信息中的所有点或者最小外接矩的四个定位点进行变换,获得所述构件位置信息。
进一步地,在所述根据所述构件类别信息和所述构件位置信息获得构件识别结果的步骤之前,所述方法还包括:
对所述构件类别信息和所述构件位置信息进行缓存,生成构件缓存信息。
在上述实现过程中,对构件类别信息进行缓存,可以把已经完成匹配的结构元进行记录,后续查询到相关的引用信息时只需要在信息缓存模块中进行查找匹配即可,从而为数据解析节省时间;对构件位置信息进行缓存,可以对构件进行分类并存储为缓存文件,避免图纸的二次解析,同时方便按类别进行提取。
第二方面,本申请实施例提供了一种二维图纸构件的识别系统,包括:
获取模块,用于获取二维图纸数据;
数据库模块,用于根据所述二维图纸数据获得矢量结构数据库,所述矢量结构数据库包括构件结构信息和结构引用信息;
构件比对模块,用于将所述构件结构信息与预设信息特征库进行比对,获得与所述构件结构信息相对应的构件类别信息;
构件位置模块,用于根据所述矢量结构数据库中的结构引用信息获得构件位置信息;
构件识别模块,用于根据所述构件类别信息和所述构件位置信息获得构件识别结果。
进一步地,所述数据库模块包括:
多图框判断单元,用于判断所述二维图纸数据是否为多图框数据,若是,则对所述二维图纸数据进行拆解,获得多个单图框二维图纸数据;若否,将所述二维图纸数据标记为单图框二维图纸数据;
逆向转化单元,用于将所述单图框二维图纸数据逆向转化为所述矢量结构数据库。
进一步地,所述二维图纸构件的识别还包括:
构件提取模块,用于对所述矢量结构数据库进行信息提取,获得所述构件结构信息。
进一步地,所述构件提取模块包括:
遍历单元,用于遍历所述矢量结构数据库中的所有构件,获得结构引用变换信息和结构引用句柄信息;
变换矩阵单元,用于根据所述结构引用变换信息构建对应的仿射变换矩阵;
结构点集单元,用于根据所述仿射变换矩阵和所述结构引用句柄信息构建对应的结构点集信息;
特征转换单元,用于对所述结构点集信息进行特征转化,获得所述构件结构信息,所述构件结构信息包括具有旋转不变性、缩放不变性的特征信息。
进一步地,所述构件比对模块包括:
距离计算单元,用于根据所述构件结构信息与所述预设信息特征库中对应的所述特征信息进行距离计算,获得距离信息;
匹配单元,用于根据所述距离信息判断所述构件结构信息是否满足预设条件,若否,则匹配失败,并将所述构件结构信息相对应的构件类别信息标记为空;若是,则匹配成功,将匹配到的所述特征信息与所述构件结构信息进行绑定,获得所述构件类别信息。
进一步地,所述仿射变换矩阵包括平移、旋转、缩放、翻转中的一种或多种信息,所述构件位置模块包括:
根据所述仿射变换矩阵对所述结构点集信息中的所有点或者最小外接矩的四个定位点进行变换,获得所述构件位置信息。
进一步地,所述二维图纸构件的识别系统还包括:
缓存模块,用于对所述构件类别信息和所述构件位置信息进行缓存,生成构件缓存信息。
第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提供了一种二维图纸构件的识别方法、系统、电子设备及计算机可读存储介质,可以应用于对建筑结构图纸、建筑装修图纸、机电图纸、给排水图纸等平面图进行解析,完成构件识别;该二维图纸构件的识别方法可以通过对二维图纸数据中的构件进行检测、识别,同时解析出构件的相关属性,无需依赖于将DWG图纸转为JPEG、PNG或是PDF格式文件,构件识别结果包括构建的各种属性,可以实现对构件识别的同时对构件的描述文字、朝向等属性进行精准识别,此外,构件位置信息可解决图纸中部分构件因为重叠导致的构件无法检测识别问题;从而,该二维图纸构件的识别方法可以实现提高识别准确率的技术效果。
请参见图1,图1为本申请实施例提供的一种二维图纸构件的识别方法的流程示意图,该二维图纸构件的识别方法包括如下步骤:
第一方面,本申请实施例提供了一种二维图纸构件的识别方法,包括:
S100:获取二维图纸数据。
示例性地,二维图纸数据可以是CAD图纸,即DWG格式文件;可选地,本申请实施例可以对二维图纸数据的构件(以建筑图纸为例,如:门窗、卫生间用具、厨房用具、家具、灯具、给排水用具、停车位、消火栓、开关、插座等,其他行业的CAD图纸同样适用)进行检测、识别,同时解析出构件的相关属性(以建筑图纸为例,如:门的开门方式、构件的材料编号、构件朝向等,其他行业的CAD图纸同样适用)。
S200:根据二维图纸数据获得矢量结构数据库,矢量结构数据库包括构件结构信息和结构引用信息。
示例性地,在构件识别之前将二维图纸数据转换为矢量结构数据库,通过矢量结构数据库和相应的算法进行分析,获得构件结构信息和结构引用信息,进而可识别出构件所属类别、位置及其内在属性等信息。
S300:将构件结构信息与预设信息特征库进行比对,获得与构件结构信息相对应的构件类别信息。
示例性地,对矢量结构数据库中提取到的构件结构信息与预设信息特征库进行比对,获得构件类别信息,以此得到该构件结构信息的所属类别以及具体的标签信息。
S400:根据矢量结构数据库中的结构引用信息获得构件位置信息。
示例性地,构件位置信息即构件的具体位置坐标;在定义构件时,构件的相关结构定位是相对于图纸原点坐标而定义的,使用构件时需要通过几何变换信息将已定义的构件变换到指定的位置并充当图纸中实际的构件;其中,几何变换信息可以由结构引用信息解析获得。
S500:根据构件类别信息和构件位置信息获得构件识别结果。
在一些实施方式中,该二维图纸构件的识别方法可以通过对二维图纸数据中的构件进行检测、识别,同时解析出构件的相关属性,无需依赖于将DWG图纸转为JPEG、PNG或是PDF格式文件,构件识别结果包括构建的各种属性,可以实现对构件识别的同时对构件的描述文字、朝向等属性进行精准识别,此外,构件位置信息可解决图纸中部分构件因为重叠导致的构件无法检测识别问题;从而,该二维图纸构件的识别方法可以实现提高识别准确率的技术效果。
请参见图2,图2为本申请实施例提供的另一种二维图纸构件的识别方法的流程示意图。
示例性地,S200:根据二维图纸数据获得矢量结构数据库的步骤,包括:
S210:判断二维图纸数据是否为多图框数据;
若是,S211:则对二维图纸数据进行拆解,获得多个单图框二维图纸数据;
若否,S212:将二维图纸数据标记为单图框二维图纸数据;
S220:将单图框二维图纸数据逆向转化为矢量结构数据库。
示例性地,将二维图纸数据逆向转化为可分析的矢量结构数据库的步骤包括图框拆解部分和解析转化部分。
在一些实施场景中,设计师使用CAD软件绘制二维图纸时,通常会将整个工程的、同一专业的所有图纸放到一起,作为一套图纸进行记录,一套图纸包括设计说明图、大样图、平面图、立面图等,其中需要进行构件识别的图纸主要为平面图。在构件识别之前,需要将一套图纸拆解成单图框图纸,然后将需要进行构件识别的单图框图纸逆向分析转化矢量结构数据库后,可通过算法对该数据库进行分析进而识别出构件所属类别、位置及其内在属性。图纸解析的具体步骤示例如下:
步骤1.1:输入一张的待识别的二维图纸数据(CAD图纸);当该二维图纸数据中包含多图框,则通过图框拆解部分对图纸进行拆解,将包含一套图纸的DWG格式文件拆解成多个仅包含单图框的DWG格式文件,并根据图框名称进行文件命名;
步骤1.2:根据文件命名判断当前单图框二维图纸数据是否需要进行构件识别;由于某些类型的图纸是不存在构件信息的,在进行图纸解析前可以根据图名进行判别,筛选出需要进行构件识别的图纸进行解析,这样可以有效减少一套图纸构件识别所需要消耗的时间;
步骤1.3:对需要进行构件识别的单图框二维图纸数据传入到解析转化部分,将单图框二维图纸数据逆向转化为矢量结构数据库,该矢量结构数据库包括单图框二维图纸数据中的所有元素信息以及元素之间的相互关系。
示例性地,在S300:将构件结构信息与预设信息特征库进行比对,获得与构件结构信息相对应的构件类别信息的步骤之前,该二维图纸构件的识别方法还包括:
S230:对矢量结构数据库进行信息提取,获得构件结构信息。
示例性地,对矢量结构数据库进行信息提取即对矢量结构数据库进行数据解析,可以提取构件结构信息,得到构件的相关结构信息。
请参见图3,图3为本申请实施例提供的对矢量结构数据库进行信息提取的流程示意图。
示例性地,S230:对矢量结构数据库进行信息提取,获得构件结构信息的步骤,包括:
S231:遍历矢量结构数据库中的所有构件,获得结构引用变换信息和结构引用句柄信息;
S232:根据结构引用变换信息构建对应的仿射变换矩阵;
S233:根据仿射变换矩阵和结构引用句柄信息构建对应的结构点集信息;
S234:对结构点集信息进行特征转化,获得构件结构信息,构件结构信息包括具有旋转不变性、缩放不变性的特征信息。
在一些实施方式中,对矢量结构数据库进行数据解析具体包括如下步骤:
步骤2.1:数据读取,读取矢量结构数据库和相应的特征数据库,并暂存至计算机内存中,以供后续解析使用;
步骤2.2:引用信息解析,针对矢量结构数据库中所有构件的结构引用信息进行解析,如可以以任意的遍历方式,获取相关结构引用中的变换信息(结构引用变换信息,包括:平移、缩放、旋转、翻转等)以及引用相关结构的句柄(结构引用句柄信息),根据结构引用变换信息构建出对应的仿射变换矩阵;
步骤2.3:结构点阵化,根据引用路径上通过递归原则进行搜索,根据结构引用句柄信息查询对应的相关结构,对构件相关结构的属性(如:线段、圆弧等)进行几何解析,从而构建出当前相关结构的结构点集信息,结构点集信息中每个点以一个二维坐标进行表示;
步骤2.4:特征转化,根据特征不变矩算法将结构点集信息转化为能够使得点集具有旋转不变性、缩放不变性的特征信息。
在一些实施场景中,本申请实施例提供的二维图纸构件的识别方法还包括结构属性解析;结构属性解析主要用于对S230中结构点阵化部分输出的结构点集信息和矢量结构数据库中的构件结构信息利用属性解析算法(可根据实际情况进行设置)分析出构件的相关属性;结构属性解析属于对构件属性的识别,使得计算机对构件内在属性进行了解。
可选地,结构属性解析中提及的属性解析算法需要根据待解析的构件属性进行对应的研发;以建筑行业的门编号属性为例,步骤如下:
步骤3.1:优先判断该构件对应的结构信息中是否包含文字属性;若存在则记录该文字,然后该算法结束;
步骤3.2:若不存在文字属性,则在识别完所有的门后,将矢量结构数据中所有的门编号文字进行提取。
步骤3.3:通过逐个计算门的包围框与所有文字包围框之间的DIOU(DistanceIntersection over Union),取DIOU值最大的文字为对应的门编号。
示例性地,S300:将构件结构信息与预设信息特征库进行比对,获得与构件结构信息相对应的构件类别信息的步骤,包括:
S310:根据构件结构信息与预设信息特征库中对应的特征信息进行距离计算,获得距离信息;
S320:根据距离信息判断构件结构信息是否满足预设条件;
若否,S321:则匹配失败,并将构件结构信息相对应的构件类别信息标记为空;
若是,S322:则匹配成功,将匹配到的特征信息与构件结构信息进行绑定,获得构件类别信息。
示例性地,对构件结构信息进行特征转化后的结构特征与预设信息特征库进行比对,以此可得到构件类别信息,即该结构的所属类别以及具体的标签信息。
在一些实施方式中,S310-S322的具体应用步骤如下:
步骤4.1:构造矩阵,求解当前输入的相关结构特征(构件结构信息)与预设信息特征库中每一特征的欧式距离,距离最小且小于特定阈值的两特征即为匹配成功的特征;若最小距离不小于特定阈值则表示为匹配失败;
步骤4.2:匹配成功的相关结构则被定义为结构元,同时将匹配到的特征的类别和标签与结构元进行绑定,获得构件类别信息;匹配失败的相关结构则定义当前相关结构为非结构元,非结构元的构件类别信息标记为空。
示例性地,特征匹配所需要的预设信息特征库需要提前进行人工构建;每当有新的结构元特征需要记录到特征库时,则通过结构的句柄获取结构内容,然后通过S230解析步骤中的结构点阵化和特征转化得到需要存储的特征信息,将该特征信息及其对应的类别和标签记录到特征库即可。可选地,完成特征匹配的相关结构需要将对应的相关结构句柄以及类别和标签作为一组映射记录到信息缓存模块。
示例性地,仿射变换矩阵包括平移、旋转、缩放、翻转中的一种或多种信息,S400:根据矢量结构数据库中的结构引用信息获得构件位置信息的步骤,包括:
S410:根据仿射变换矩阵对结构点集信息中的所有点或者最小外接矩的四个定位点进行变换,获得构件位置信息。
示例性地,构件位置信息包括相应构件的具体位置坐标。
可选地,在定义构件时,相关结构定位是相对于图纸原点坐标而定义的,使用构件时需要通过几何变换信息将已定义的构件变换到指定的位置充当图纸中实际的构件,几何变换信息主要记录在数据解析步骤的引用信息中;S410的具体步骤示例如下:
步骤5.1:根据相关结构引用信息构建仿射变换矩阵,仿射变换矩阵中需要囊括:平移、旋转、缩放、翻转相关信息;
步骤5.2:根据仿射变换矩阵对已定义的构件点阵中所有点(或者最小外接矩的四个定位点)进行变换,得到构件在图纸中的实际位置,生成构件位置信息。
示例性地,在S500:根据构件类别信息和构件位置信息获得构件识别结果的步骤之前,方法还包括:
S420:对构件类别信息和构件位置信息进行缓存,生成构件缓存信息。
示例性地,对构件类别信息进行缓存,可以把已经完成匹配的结构元进行记录,后续查询到相关的引用信息时只需要在信息缓存模块中进行查找匹配即可,从而为数据解析节省时间;对构件位置信息进行缓存,可以对构件进行分类并存储为缓存文件,避免图纸的二次解析,同时方便按类别进行提取。
在一些实施方式中,S420的具体步骤示例如下:
步骤6.1:已定义构件识别结果即为第四步特征匹配后的结果,信息缓存可以将已定义构件的句柄及其识别结果作为一对映射进行记录;
步骤6.2:构件实体即为结构坐标定位后的结果,经过对构件实体进行具体分类并分析其内在属性后,按照具体的类别对已识别的构件实体进行暂时存储。
在一些实施场景中,可以对构件识别结果进行记录;例如,可通过图像绘制的方式将构件识别结果绘制出来,从而更加直观地反馈结果的准确性。对构件识别结果进行记录的具体步骤示例如下:
步骤7.1:构件识别结果即为第五步对图纸分析得到的构件的结构坐标定位记录结果,需将所有构件实体的属性以键值对的形式存储为一个实体,然后存储至缓存文件,避免图纸的二次解析。
步骤7.2:针对存在图纸缓存文件的内容则无需解析图纸进行构件识别,直接加载对应的缓存文件提取构件识别结果。
可选地,根据实际需求从缓存文件中筛选对应类型的构件记录至任意一种格式的文件。
示例性地,目前使用的构件识别技术多为基于深度学习的构件识别技术,其需依赖于AutoCAD软件将DWG图纸转为JPEG或PNG的图片或是PDF格式文件,经过转化后图纸会因为分辨率问题导致精度下降,无法精准获得构件属性。
通过本申请实施例提供的二维图纸构件的识别方法,解析DWG图纸,解析结果中会包含构建的各种属性,最终可以实现对构件识别的同时对构件的描述文字、朝向等属性进行精准识别;可以对二维图纸中的构件(以建筑图纸为例,如:门窗、卫生间用具、厨房用具、家具、灯具、给排水用具、停车位、消火栓、开关、插座等,其他行业的CAD图纸同样适用)进行检测、识别,同时解析出构件的相关属性(以建筑图纸为例,如:门的开门方式、构件的材料编号、构件朝向等,其他行业的CAD图纸同样适用)。
示例性地,现有方案中基于深度学习的目标检测算法在损失函数方面多以交并比的形式实现,并通过交并比计算选择一系列检测框中交并比最大的检测框作为最终输出结果。但是,由于交并比无法恒等于1,深度神经网络输出的定位框与真实构件所在位置存在差异,无法得到精准定位。
通过本申请实施例提供的二维图纸构件的识别方法,直接对包含了构件坐标信息的矢量结构数据库进行处理,可以输出基本精准的识别结果,较少存在误判别和漏识别。
示例性地,现有方案中基于深度学习的目标检测算法在图像检测是需要严重依赖于图层信息进行干扰信息的剔除,设计师在绘制图纸的时候会在图纸中标注大量的辅助信息(如:大样符号、标注线、延伸线、标高符号、各种文字以及数字等),通过图层剔除往往会因为设计师的不规范行为导致剔除不干净。这会使得识别准确率大大降低,漏检情况严重。
通过本申请实施例提供的二维图纸构件的识别方法,利用本申请专利所描述的方法,避免构件识别对图纸图层信息的依赖;该二维图纸构件的识别方法不是基于深度学习进行构件识别,所以不存在因为图纸分辨率而造成定位不精确等情况;该二维图纸构件的识别方法直接对DWG图纸解析的矢量结构数据库中的矢量关系进行处理,图纸的大小、构件的大小等因素不影响构件识别的准确率,且对临近的小构件(如:开关、插座)也能够精准识别。
示例性地,现有方案中基于深度学习的构件检测算法无法完成存在构件重叠情况下的构件识别;例如,存在洗衣机台时洗衣机会被置于洗衣机台下,煤气灶具会置于抽油烟机下,椅子置于吊灯下等。
通过本申请实施例提供的二维图纸构件的识别方法,可解决图纸中部分构件因为重叠(以建筑图纸为例,如:洗衣机置于洗衣机台下、椅子置于吊灯下等)导致的构件无法检测识别问题;因此,根据图元的特征信息创建特征数据库,最后进行特征匹配,即使DWG图纸中存在构建重叠情况,也可以准确识别。
相较于现有的主流技术,本申请实施例不使用基于深度学习的图像目标检测技术进行构件识别,避免了图纸转换成PDF或图片过程中出现的精度损失。本申请实施例提供的二维图纸构件的识别方法,可使用现有的图纸DWG原始结构解析技术对图纸进行矢量解析,基于矢量结构数据库的图纸数据完成构件定义分析,构件点集构建,构件引用数据分析、点集变换,从而实现构件识别同时对构件的相关属性进行解析。
请参见图4,图4为本申请实施例提供的二维图纸构件的识别系统的结构框图,该二维图纸构件的识别系统包括:
获取模块100,用于获取二维图纸数据;
数据库模块200,用于根据二维图纸数据获得矢量结构数据库,矢量结构数据库包括构件结构信息和结构引用信息;
构件比对模块300,用于将构件结构信息与预设信息特征库进行比对,获得与构件结构信息相对应的构件类别信息;
构件位置模块400,用于根据矢量结构数据库中的结构引用信息获得构件位置信息;
构件识别模块500,用于根据构件类别信息和构件位置信息获得构件识别结果。
示例性地,数据库模块200包括:
多图框判断单元,用于判断二维图纸数据是否为多图框数据,若是,则对二维图纸数据进行拆解,获得多个单图框二维图纸数据;若否,将二维图纸数据标记为单图框二维图纸数据;
逆向转化单元,用于将单图框二维图纸数据逆向转化为矢量结构数据库。
示例性地,二维图纸构件的识别还包括:
构件提取模块,用于对矢量结构数据库进行信息提取,获得构件结构信息。
示例性地,构件提取模块包括:
遍历单元,用于遍历矢量结构数据库中的所有构件,获得结构引用变换信息和结构引用句柄信息;
变换矩阵单元,用于根据结构引用变换信息构建对应的仿射变换矩阵;
结构点集单元,用于根据仿射变换矩阵和结构引用句柄信息构建对应的结构点集信息;
特征转换单元,用于对结构点集信息进行特征转化,获得构件结构信息,构件结构信息包括具有旋转不变性、缩放不变性的特征信息。
示例性地,构件比对模块300包括:
距离计算单元,用于根据构件结构信息与预设信息特征库中对应的特征信息进行距离计算,获得距离信息;
匹配单元,用于根据距离信息判断构件结构信息是否满足预设条件,若否,则匹配失败,并将构件结构信息相对应的构件类别信息标记为空;若是,则匹配成功,将匹配到的特征信息与构件结构信息进行绑定,获得构件类别信息。
示例性地,仿射变换矩阵包括平移、旋转、缩放、翻转中的一种或多种信息,构件位置模块400包括:
根据仿射变换矩阵对结构点集信息中的所有点或者最小外接矩的四个定位点进行变换,获得构件位置信息。
示例性地,二维图纸构件的识别系统还包括:
缓存模块,用于对构件类别信息和构件位置信息进行缓存,生成构件缓存信息。
本申请还提供一种电子设备,请参见图5,图5为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器510可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子设备可以执行上述图1至图3方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
所述存储器530、存储控制器、处理器510、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。