图例识别方法、装置、设备及存储介质与流程

文档序号:29522161发布日期:2022-04-06 23:35阅读:167来源:国知局
图例识别方法、装置、设备及存储介质与流程

1.本技术涉及计算机领域,尤其涉及一种图例识别方法、装置、设备及存储介质。


背景技术:

2.在建筑设计领域的图纸文件设计中,通常会使用图例表来描述不同图例符号对应的名称信息。但不同设计人员的设计风格不同,导致不同图纸文件中,相同的图例符号可能具有不同的含义,或者相同的名称信息具有多种图例符号。因此,在审核设计图纸文件时,需快速地识别出不同的图例,而快速地进行图例识别,有利于提升图纸文件审核的工作效率。
3.当前在对图纸文件上的图例进行识别时,需要将图纸文件打印成图像,并基于打印的图像进行图例的识别。然而,由于图像中图例的像素较小,所以会存在识别精度不高的问题。


技术实现要素:

4.本技术提供了一种图例识别方法、装置、设备及存储介质,用以解决基于图纸的图像进行图例识别时存在的识别精度不高的问题。
5.第一方面,提供一种图例识别方法,包括:
6.获取待识别的图纸文件;
7.识别所述图纸文件中的图框数据;
8.从所述图框数据中筛选包括图例符号表的目标图框;
9.从所述目标图框对应的图框信息中筛选所述图例符号表;
10.提取所述图例符号表中的至少一个图例块;
11.确定所述至少一个图例块中各图例块所属的单元格的行数据和列数据;
12.基于所述行数据和所述列数据,分别确定与各图例块各自对应的图例名称;
13.关联相互对应的图例块和图例名称。
14.可选地,获取待识别的图纸文件,包括:
15.获取所述图纸文件的文件哈希值;
16.基于所述文件哈希值所指示的存储位置,获取所述图纸文件。
17.可选地,从所述图框数据中筛选包括图例符号表的目标图框,包括:
18.获取所述图框数据中至少一个图框;
19.获取所述至少一个图框中各图框的图框类型;
20.基于所述图框类型,从所述至少一个图框筛选得到图框类型指示图例类的图框;
21.将所述指示图例类的图框作为所述目标图框。
22.可选地,从所述目标图框对应的图框信息中筛选所述图例符号表,包括:
23.从所述图框信息中筛选与预设的指示图例符号表的关键字匹配的目标表格;
24.将所述目标表格作为所述图例符号表。
25.可选地,确定所述至少一个图例块中各图例块所属的单元格的行数据和列数据之前,还包括:
26.确定各所述图例块所属的单元格;
27.对于任一所述图例块所属的单元格,确定所属图例块所属单元格中不包括非图例块的图元。
28.可选地,确定所述至少一个图例块中各图例块所属的单元格的行数据和列数据,包括:
29.获取各所述图例块所属的单元格的坐标范围;
30.基于所述坐标范围,分别确定各所述单元格各自的左边界和上边界;
31.基于所述左边界和所述上边界,按照左边界从左到右、以及上边界从上到下的方式,对各所述单元格排序;
32.按照排序后的结果,确定各所述单元格各自的行数据和列数据。
33.可选地,基于所述行数据和所述列数据,分别确定与各图例块各自对应的图例名称,包括:
34.对于任一所述图例块,执行以下处理:
35.采用指示图例名称的预设关键词,从所述图例符号表中提取指示所述图例名称的列表格;
36.从所述列表格中获取与所述图例块的行数据和列数据相同的目标表格;
37.将所述目标表格中的文本信息,作为与所述图例块对应的图例名称。
38.第二方面,提供一种图例识别装置,包括:
39.获取单元,用于获取待识别的图纸文件;
40.识别单元,用于识别所述图纸文件中的图框数据;
41.第一筛选单元,用于从所述图框数据中筛选包括图例符号表的目标图框;
42.第二筛选单元,用于从所述目标图框对应的图框信息中筛选所述图例符号表;
43.提取单元,用于提取所述图例符号表中的至少一个图例块;
44.第一确定单元,用于确定所述至少一个图例块中各图例块所属的单元格的行数据和列数据;
45.第二确定单元,用于基于所述行数据和所述列数据,分别确定与各图例块各自对应的图例名称;
46.关联单元,用于关联相互对应的图例块和图例名称。
47.第三方面,提供一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;
48.所述存储器,用于存储计算机程序;
49.所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的图例识别方法。
50.第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的图例识别方法。
51.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本实施例提供的技术方案中,获取待识别的图纸文件;识别图纸文件中的图框数据;从图框数据中筛选包
括图例符号表的目标图框;从目标图框对应的图框信息中筛选图例符号表;提取图例符号表中的至少一个图例块;确定至少一个图例块中各图例块所属的单元格的行数据和列数据;基于行数据和列数据,分别确定与各图例块各自对应的图例名称;关联相互对应的图例块和图例名称。本实施例在对图例块进行识别时,可以直接对图纸文件进行识别,无需将图纸文件转换成图像,因此识别精度较高。
附图说明
52.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
54.图1为本技术实施例中网络系统架构的示意图;
55.图2为本技术实施例中图例识别方法的流程示意图;
56.图3为本技术实施例中图例识别装置的结构示意图;
57.图4为本技术实施例中电子设备的结构示意图。
具体实施方式
58.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
60.为了便于理解本技术的实施例,下面对本技术涉及的部分术语进行解释说明。
61.图元:一般指基本图形元素。基本图形元素是指点、线、圆(圆弧)、区域填充和字符等。
62.图框:工程制图中图纸上限定绘图区域的线框。
63.图例:对图纸上表示符号的说明。
64.首先举例介绍本技术实施例的方案可能应用到的网络系统架构。
65.请参见图1,图1为本技术实施例提供的一种网络系统的架构图,如图1所示,该网络系统包括终端101、审图服务器102和数据库103。
66.其中,该网络系统通过有线或无线的网络连接,可以是虚拟专用网、局域网、广域网或城域网等,具体通信传输协议不作限定。
67.终端101可以用于通过程序代码或触控信号向审图服务器102提交待识别的图纸文件,以此请求审图服务器102执行图例识别的相关步骤。
68.审图服务器102作为执行主体,在一些实施例中,审图服务器102可以是智能审图平台的后台服务器,智能审图平台通过将建筑行业设计图纸审查标准等规则化,自动进行电气图纸审查,审图服务器102通过处理器执行程序代码来进行一系列网络模型的处理,例如构建卷积神经网络等等。
69.数据库103可用于存储待识别的图纸文件、文件哈希值(file_hash)等信息,开发人员可通过终端101输入条件查询语句从数据库103中提取需要的信息,例如:文件哈希值。该数据库103可以是本地数据库,如万科的van-bu数据库,也可以是独立于审图服务器102的第三方数据库,如一些设计院的数据库,或者还可以是云端数据库。
70.应理解,本实施例中的终端101可以是桌上电脑、平板电脑、超级计算机等设备;审图服务器102可以是本地服务器,也可以是云端服务器,或者也可以是服务器集群。
71.应理解,图1所示的网络系统架构仅仅是一种示例,其还可以包括如路由器、交换机等更多的组成部分。
72.基于图1所示的网络系统架构,以下结合相关附图对本技术实施例提出的图例识别方法进行详细阐述。请参阅图2,图2为本技术实施例提供的图例识别方法的流程示意图,该方法应用于图1所示的审图服务器102,该图例识别方法具体可以包括以下步骤:
73.步骤201、获取待识别的图纸文件。
74.本实施例中,可以在需要进行图纸文件的图例识别时,通过终端101实时的将待识别的图纸文件上传至审图服务器102;也可以预先将图纸文件存储至数据库103,并当需要进行图纸文件的图例识别时,基于图纸文件的文件哈希值从数据库103中获取图纸文件,其中文件哈希值用于指示图纸文件在数据库103中的存储位置。
75.应理解,在终端101的本地存储有各图纸文件的文件哈希值,因此审图服务器101所获取的文件哈希值可以由用户通过终端101指示。
76.本实施例中的图纸文件包括但不限于dwg文件。
77.步骤202、识别图纸文件中的图框数据。
78.本实施例中,图框数据具体指示图纸文件中的图元。如图框数据可以为图纸文件中的图框、文本、图例块、线段和点等数据。
79.本实施例中,审图服务器102中部署有cad图纸图块解析服务,在识别图纸文件中的图框数据时,访问cad图纸图块解析服务,由该cad图纸图块解析服务对图纸文件进行分析,得到图纸文件中的图框数据。
80.步骤203、从图框数据中筛选包括图例符号表的目标图框。
81.应用中,根据图纸文件所涉及的领域的不同,图纸文件中的图框可以有图例表类图框、设计说明类图框、电气类图框等类型的图框。不同类型的图框在图纸文件中的表现形式有所不同,比如图框线条的粗细不同等。因此当cad图纸图块解析服务对图纸文件进行解析时,可以基于图框的表现形式识别出图框是哪类图框,并标记其图框类型。所以当需要从图框数据中筛选某一类图框时,可以通过对图框类型进行检索匹配的方式对图框数据中的图框进行筛选。
82.一个具体实施例中,当从图框数据中筛选包括图例符号表的目标图框时,获取图
框数据中至少一个图框;获取至少一个图框中各图框的图框类型;基于图框类型,从至少一个图框筛选得到图框类型指示图例类的图框;将指示图例类的图框作为目标图框。
83.步骤204、从目标图框对应的图框信息中筛选图例符号表。
84.应用中,目标图框中除了包括图例符号表还可能包括其它表格,但是由于图例符号表中的具体内容与非图例符号表中的具体内容不同,因此可以基于具体内容对目标图框中的图框信息进行筛选,以便筛选到图例符号表。
85.一个具体实施例中,从图框信息中筛选与预设的指示图例符号表的关键字匹配的目标表格;将目标表格作为图例符号表。
86.应用中,预设的指示图例符号表的关键字能够唯一指示图例符号表。如该关键字可以为图例、符号、图例符号等关键字。
87.步骤205、提取图例符号表中的至少一个图例块。
88.应用中,图例块相对于图纸文件中的其它图元具有唯一确定的表达格式,因此可以基于图例块的表达格式提取图例符号表中的图例块。
89.应用中,某些图例块存在与非图例块的图元组合使用的情况,如在图例块上组合有文本,在图例块上组合有某些线段等,由于在对这类图例块识别时,只能识别到图例块本身,而并不能识别到图例块上所组合的图元,所以导致识别不准确。为了避免这种情况的发生,在提取图例符号表中的至少一个图例块后,还可以对至少一个图例块进行过滤,以滤除与图元组合使用的图例块。
90.由于与图元组合使用的图例块中,图例块所在的单元格中必然存在除图例块之外的其它图元,因此可以通过图例块所在的图元中是否存在其它图元,来判断该图例块是否为与其它图元组合使用的图例块。
91.一个具体实施例中,确定各图例块所属的单元格;对于任一图例块所属的单元格,确定所属图例块所属单元格中不包括非图例块的图元。
92.应理解,无论是单元格、图例块还是其它图元在图纸文件中均具有坐标,因此当图例块所属的单元格的坐标范围包括非图例块的图元的坐标范围时,可以确定图例块所属单元格中包括非图例块的图元;反之则可以确定图例块所属的单元格中不包括非图例块的图元。
93.步骤206、确定至少一个图例块中各图例块所属的单元格的行数据和列数据。
94.本实施例中,通过单元格的坐标范围为每个单元格添加左边界和上边界,进而通过左边界和上边界确定各单元格的行数据和列数据。
95.一个具体实施例中,获取各图例块所属的单元格的坐标范围;基于坐标范围,分别确定各单元格各自的左边界和上边界;基于左边界和上边界,按照左边界从左到右、以及上边界从上到下的方式,对各单元格排序;按照排序后的结果,确定各单元格各自的行数据和列数据。
96.其中左边界指示单元格最左侧的位置,上边界指示单元格最上边的位置。应用中,为了方便操作,在图纸文件的坐标系中,可以以坐标标记单元格的左边界和有边界。比如,以单元格的左上顶点的横坐标标记单元格的左边界,以单元格的左上顶点的纵坐标标记单元格的上边界。
97.一个例子中,比如单元格的左上顶点的坐标为(a,b),那么该单元格的左边界即为
x=a,上边界则为y=b。
98.本实施例中,考虑到绘制图纸文件时存在地绘制误差,当两个单元格的左边界的边界误差不超过第一误差阈值时,确定两个单元格位于同一列;当两个单元格的上边界的边界误差不超过第二误差阈值时,确定两个单元格位于同一行。
99.应理解,第一误差阈值和第二误差阈值可以人为基于经验设置。第一误差阈值和第二误差阈值可以相同也可以不同,本实施例对此不作具体限定。
100.为了确定各单元格的行数和列数,基于各单元格的左边界和上边界,并按照左边界从左到右、上边界从上到下的方式,对各单元格排序,从而得到各单元格各自的行数据和列数据。
101.应理解,当单元格的左边界和上边界以坐标表示时,可以结合图纸文件的坐标系,并基于左边界和上边界确定单元格的行数据和列数据。比如,当图纸文件的坐标系以图纸文件的左上顶点为坐标原点,水平向右为x轴,竖直向下为y轴时,可以确定左边界小的单元格位于左边界大的单元格的左边,上边界小的单元格位于上边界大的单元格的上边。
102.一个例子中,以存在四个单元格a、b、c、d为例,a单元格的左边界为1,上边界为1;b单元格的左边界为1,上边界为2;c单元格的左边界为2,上边界为1;d单元格的左边界为2,上边界为2。那么在按照左边界从左到右、上边界从上到下的方式对各单元格排序后可以确定,a单元格与b单元格位于同一列、与c单元格位于同一行;b单元格与d单元格位于同一行;c单元格与d单元格位于同一列。进一步,可以确定a单元格的位于第一行第一列,b单元格位于第二行第一列,c单元格位于第一行第二列,d单元格位于第二行第二列。
103.步骤207、基于行数据和列数据,分别确定与各图例块各自对应的图例名称。
104.一个具体实施例中,对于任一图例块,执行以下处理:采用指示图例名称的预设关键词,从图例符号表中提取指示图例名称的列表格;从列表格中获取与图例块的行数据和列数据相同的目标表格;将目标表格中的文本信息,作为与图例块对应的图例名称。
105.本实施例中,指示图例名称的预设关键词可以人为基于经验预先设置,比如设置该预设关键词为名称、用途等。
106.步骤208、关联相互对应的图例块和图例名称。
107.本实施例提供的技术方案中,获取待识别的图纸文件;识别图纸文件中的图框数据;从图框数据中筛选包括图例符号表的目标图框;从目标图框对应的图框信息中筛选图例符号表;提取图例符号表中的至少一个图例块;确定至少一个图例块中各图例块所属的单元格的行数据和列数据;基于行数据和列数据,分别确定与各图例块各自对应的图例名称;关联相互对应的图例块和图例名称。本实施例在对图例块进行识别时,可以直接对图纸文件进行识别,无需将图纸文件转换成图像,因此识别精度较高。
108.基于同一构思,本技术实施例中提供了一种图例识别装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图3所示,该装置主要包括:
109.获取单元301,用于获取待识别的图纸文件;
110.识别单元302,用于识别图纸文件中的图框数据;
111.第一筛选单元303,用于从图框数据中筛选包括图例符号表的目标图框;
112.第二筛选单元304,用于从目标图框对应的图框信息中筛选图例符号表;
113.提取单元305,用于提取图例符号表中的至少一个图例块;
114.第一确定单元306,用于确定至少一个图例块中各图例块所属的单元格的行数据和列数据;
115.第二确定单元307,用于基于行数据和列数据,分别确定与各图例块各自对应的图例名称;
116.关联单元308,用于关联相互对应的图例块和图例名称。
117.可选地,获取单元301用于:
118.获取图纸文件的文件哈希值;
119.基于文件哈希值所指示的存储位置,获取图纸文件。
120.可选地,第一筛选单元303用于:
121.获取图框数据中至少一个图框;
122.获取至少一个图框中各图框的图框类型;
123.基于图框类型,从至少一个图框筛选得到图框类型指示图例类的图框;
124.将指示图例类的图框作为目标图框。
125.可选地,第二筛选单元304用于:
126.从图框信息中筛选与预设的指示图例符号表的关键字匹配的目标表格;
127.将目标表格作为图例符号表。
128.可选地,该装置还用于:
129.确定至少一个图例块中各图例块所属的单元格的行数据和列数据之前,确定各图例块所属的单元格;
130.对于任一图例块所属的单元格,确定所属图例块所属单元格中不包括非图例块的图元。
131.可选地,第一确定单元306用于:
132.获取各图例块所属的单元格的坐标范围;
133.基于坐标范围,分别确定各单元格各自的左边界和上边界;
134.基于左边界和上边界,按照左边界从左到右、以及上边界从上到下的方式,对各单元格排序;
135.按照排序后的结果,确定各单元格各自的行数据和列数据。
136.可选地,第一确定单元307用于:
137.对于任一图例块,执行以下处理:
138.采用指示图例名称的预设关键词,从图例符号表中提取指示图例名称的列表格;
139.从列表格中获取与图例块的行数据和列数据相同的目标表格;
140.将目标表格中的文本信息,作为与图例块对应的图例名称。
141.基于同一构思,本技术实施例中还提供了一种电子设备,如图4所示,该电子设备主要包括:处理器401、存储器402和通信总线403,其中,处理器401和存储器402通过通信总线403完成相互间的通信。其中,存储器402中存储有可被处理器401执行的程序,处理器401执行存储器402中存储的程序,实现如下步骤:
142.获取待识别的图纸文件;
143.识别图纸文件中的图框数据;
144.从图框数据中筛选包括图例符号表的目标图框;
145.从目标图框对应的图框信息中筛选图例符号表;
146.提取图例符号表中的至少一个图例块;
147.确定至少一个图例块中各图例块所属的单元格的行数据和列数据;
148.基于行数据和列数据,分别确定与各图例块各自对应的图例名称;
149.关联相互对应的图例块和图例名称。
150.上述电子设备中提到的通信总线403可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
151.存储器402可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器401的存储装置。
152.上述的处理器401可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
153.在本技术的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的图例识别方法。
154.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
155.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
156.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1