本申请总体上涉及计算机辅助设计(cad)图形领域,并且具体地涉及基于标准的cad图例特征模板来实现对cad图例的快速精准识别的方法。
背景技术:
图纸是工程师的语言,cad图例作为图形符号,以图形为主要特征,是图纸中非常重要的基本元素,用以传递不依赖语言的某种信息,表达一定事物或概念,广泛应用在社会生产和生活的各个领域,涉及到各个部门、各个行业。我国从60年代初就开始制定覆盖各个行业或各个专业的图例符号标准,并通过颁布各类制图规范、标准图集的方式不断更新和完善,因此正确识别和掌握标准cad图例是所有工程师或相关从业人员必备的基本技能。
标准cad图例数量有近万个,结构相对规范简单(主要由直线段、圆/圆弧、填充、文字、箭头等组成),部分存在很高的相似性,并且在cad图纸中以图块实体的方式体现。常规的cad图例识别方法通常直接对cad图纸进行扫描,并提取其中cad图块的结构元素、各元素的端点/交点坐标、长度/角度、文字等矢量数据来表征其中的cad图元,由此达到识图的目的。然而,由于每张cad图纸比例、视图、翻转、坐标等因素不一致,并且工程人员制图的水平或习惯不同,不同cad图纸中的cad图例的结构和几何形状往往会存在一定的变形。这造成对cad图纸中各cad图块的识别率和效率很低并且稳健性很差。
因此,需要建立一套标准的cad图例特征模板,以此类cad图例特征模板为基础构建标准cad图例数据库,并基于cad图例特征模板对cad图块进行特征提取和模板化,由此实现对cad图例的快速精准识别。
技术实现要素:
发明人通过对标准cad图例的特征进行分析和研究,提出了一种cad图例快速精准识别方法。本发明基于cad图例的几何特征和文本特征建立一套标准的cad图例特征模板;对标准cad图例进行特征提取,依照所述标准的cad图例特征模板建立标准cad图例数据库;并且由此,依照所述标准的cad图例特征模板对cad图纸中的图块进行处理,并将其与标准图例数据库中的数据进行比较,从而能够实现对cad图纸中cad图例的快速精确识别。
在示例1中,本发明公开了一种cad图例识别方法,所述方法包括:获取cad图块;将所述cad图块模板化,得到所述cad图块的几何特征向量和所述cad图块的文本特征向量;将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较,其中,所述特征模板数据包括几何特征向量项数据和文本特征向量项数据;基于所述比较的结果,识别与所述cad图块对应的标准cad图例。
示例2是如示例1所述的方法,其中,对cad图块模板化包括:对所述cad图块进行预处理;提取所述cad图块的结构元素,并对所述结构元素进行分类;基于所述结构元素的位置,将所述cad图块划分为弹性网格;对所述结构元素进行计数,以获得每个弹性网格内属于每种结构元素类别的结构元素的数量;以及基于所述弹性网格、所述结构元素的类别以及所述每个弹性网格内属于每种结构元素类别的结构元素的数量,建立所述cad图块的几何特征向量。
示例3是如示例2所述的方法,其中,将所述cad图块模板化进一步包括:对所述cad图块进行预处理;提取所述cad图块所包含的文字或字符元素;以及基于所述文字或字符元素,建立所述cad图块的文本特征向量。
示例4是如示例1所述的方法,其中,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较包括:从经模板化的cad图块提取所述cad图块的几何特征向量和文本特征向量,并且从所述标准cad图例数据库提取所述标准cad图例的几何特征向量项数据和文本特征向量项数据;计算所述cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据之间的第一欧式距离;如果所述第一欧式距离为零,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
示例5是如示例4所述的方法,其中,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较进一步包括如果所述第一欧式距离不为零,则对所述cad图块进行仿射变换,得到经变换的cad图块;将所述经变换的cad图块模板化,得到所述经变换的cad图块的几何特征向量;计算所述经变换的cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据之间的第二欧式距离;如果所述第二欧式距离为零,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
示例6是如示例5所述的方法,其中,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较进一步包括:如果所述第二欧式距离不为零,则将所述cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据进行余弦相似度比较,得到第一余弦相似度值;如果所述第一余弦相似度值大于或等于第一余弦相似度阈值,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及如果所述cad图块的文本特征向量项数据与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
示例7是如示例6所述的方法,其中,将经模板化的cad图块与标准cad图例库中的标准cad图例的特征模板数据进行比较进一步包括:如果所述第一余弦相似度值小于所述第一余弦相似度阈值且大于或等于第二余弦相似度阈值,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似,其中,所述第二余弦相似度阈值低于所述第一余弦相似度阈值。
示例8是如示例7所述的方法,其中,将所述cad图块的特征模板与标准cad图例库中的标准cad图例的特征模板进行比较进一步包括:如果所述第一余弦相似度值小于所述第二余弦相似度阈值,则将所述经变换的cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据进行余弦相似度比较,得到第二余弦相似度值;如果所述第二余弦相似度值大于或等于所述第一余弦相似度阈值,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
示例9是如示例8所述的方法,其中,将经模板化的cad图块与标准cad图例库中的标准cad图例的特征模板数据进行比较进一步包括:如果所述第二余弦相似度值小于所述第一余弦相似度阈值且大于或等于所述第二余弦相似度阈值,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
示例10是如示例8所述的方法,其中,将所述cad图块的特征模板与标准cad图例库中的标准cad图例的特征模板进行比较进一步包括:如果所述第二余弦相似度值小于所述第二余弦相似度阈值,则显示无法识别所述cad图块,并且显示近似标准cad图例列表。
附图说明
图1图示出一种常规cad图块的图形。
图2a图示出根据本发明对一种示例cad图例进行弹性网格划分的实施例;并且图2b图示出根据图2a中的弹性网格划分得到该cad图例的几何特征表的实施例。
图3图示出根据本发明的用于依据标准的cad图例特征模板建立标准cad图例数据库的方法。
图4图示出根据本发明的用于依据标准的cad图例特征模板来识别cad图块的过程。
图5进一步图示出根据本发明的依据标准的cad图例特征模板来识别cad图块的过程。
图6图示出cad图例绘制的各种情形。
图7进一步图示出根据本发明的依据标准的cad图例特征模板来识别cad图块的过程。
图8进一步图示出根据本发明的用于依据标准的cad图例特征模板来识别cad图块的过程。
具体实施方式
cad图例是一种矢量图形,构成cad图例的图形结构元素和文本元素代表了cad图例的主要特征。本发明提出了一套标准的cad图例特征模板来反映cad图例的结构特征和文本特征,使得能够利用适应于所有cad图例的此种标准的cad图例特征模板来进行统一的特征提取、比较和识别。
标准的cad图例特征模板
本发明提出的标准的cad图例特征模板由cad图例几何特征模板和cad文本特征模板构成,可表示为:cad图例几何特征模板(cad图例几何特征矩阵acigj或cad图例几何特征向量vcigj) cad图例文本特征模板(cad图例文本特征向量t)。
标准的cad图例几何特征模板
具体而言,针对cad图例的几何特征,发明人对现有cad图例进行统计分析,将cad图例的结构元素分为10类,如表1所示:
表1:cad图例的结构元素统一分类表
另外,a)将圆视为上开口圆弧 下开口圆弧组成;b)将椭圆视为圆心为长轴和短轴交点、直径为短轴长的圆;c)将多段线打散为各个线段;d)将虚线等线型均视为细实线,不对其进行区分;e)样条曲线等打散为各个圆弧;f)将图案填充和颜色填充均视为填充,不对其进行区分。标准cad图例的矢量图形中往往存在由多个共线的短线段组成的一个较长线段,通常cad软件将其视为是两个线段实体:如果存在共同端点且共线的线段,则合并为一个新的线段;对于存在端点相交且共圆的圆弧,则将其合并为一个新的圆弧。例如图1中所示的情形,将线段ab和线段cd合并为新的线段ab。
根据构成cad图例的结构元素分布,将cad图例的划分为m×n个弹性网格,然后在弹性网格的基础上提取cad图例的结构元素,由此能够有效反映各类结构元素在cad图例中的位置分布。通过对标准cad图例的统计分析发现,构成cad图例的结构元素数量较少,并且考虑到识别的速度,本发明优选地设定弹性网格的数量m×n为3×3,或者替代地,m、n也可以是其他较小的奇数。
具体而言,设cad图例的图形表示为f(x,y),其中x为图形的水平坐标轴x上的坐标,y为垂直坐标轴y上的坐标,所要划分的全局弹性网格数量为m×n。另外,设fc(x,y)为cad图例的结构元素特征点,其中,对于线段/圆弧/箭头类结构元素,采用其中点作为元素特征点,对于填充,采用其质心作为元素特征点;结构元素特征点fc(x,y)在x和y轴上的投影点分别为fp(i,0)和fp(0,j),统计投影点的数量分别为sx=count(fp(i,0))和sy=count(fp(0,j));m×n个弹性网格的垂直和水平方向的网格划分线分别在x和y轴上的投影点分别为fd(m,0)和fd(0,n)。由此,可以确定弹性网格划分线的坐标。基于x轴的弹性网格划分(即,垂直方向划分线的确定)具体包括:
将结构元素特征点fc(x,y)在x轴投影点fp(i,0)的数量sx进行m等分,考虑到sx不一定为m的倍数,故向上取整,得到d=roundup(sx*1/m,0);
将投影点fp(i,0)按i的大小进行升序排列,获得一个投影点序列{fp1,fp2,.。。fps},其中,如果投影点重合,则令重合的所有投影点坐标fp(i,0)中的横坐标i均加上一个范围在i和下一个点非重合投影点坐标i’之间的随机数;
确定垂直方向划分线在x轴上的投影点fd(m,0)坐标m:第一条划分线fd1(m,0)的坐标m为:id<md1<id 1(id为fpd(id,0)的x坐标,d=roundup(sx*1/m,0),sx>=1;id 1为fp(d 1)(id 1,0)的x坐标);第二条划分线fd2(m,0)m的坐标为:i2*d<md2<i2*d 1(id为fpd(id,0)的x坐标,d=roundup(sx*1/3,0),sx>1;如果sx=1,md1<md2即可;如果sx<2*d 1,即投影点(i2*d 1,0)不存在,则i2*d<md2即可)。基于y轴的网格划分方法同上。
对已构建的m×n个弹性网格,对这些弹性网格按x轴从左到右、y轴从下到上的统一的规则进行编号:{g1,g2,g3,…,gm×n},同时结合cad图例的结构元素统一分类表(见表1:cad图例的结构元素统一分类表),构建一个以结构元素类别ci为行、弹性网格gj为列,该弹性网格内结构元素特征点(即,结构元素的中点或质心)数量acigj为数值的标准的cad图例几何特征表ci×gj,其中i=(1,2,3,4…,10),j=(1,2,3,4…,m×n),如表2所示:
表2:标准的cad图例几何特征表
由此,可将cad图例特征表(表2)视为如下所示的几何特征矩阵acigj,作为标准的cad图例几何特征模板:
几何特征矩阵acigj可由一个包含10×(m×n)个元素的向量vcigj表示:vcigj=[ac1g1,ac2g1,ac3g1,…,ac1g2,ac2g2,…,acigj]。向量vcigj同样充分反映了构成cad图例的结构元素的类别特征、数量、位置和分布,由此也可用于表示标准的cad图例几何特征模板。
作为示例,图2a中图示出对示例cad图例进行的弹性网格划分,并且图2b图示出基于图2a的弹性网格划分获得的cad图例的几何特征表。
对于每一个cad图例,均可以按cad图例的结构元素统一分类表提取结构元素,按以上统一的规则构建弹性网格,再分别判断每个网格内所包含的各类结构元素(判断标准按结构元素的特征点(即线段/圆弧中点或填充质心)的是否位于网格内),然后分别计算每个网格内结构元素的种类及对应的结构元素的数量,填入cad图例几何特征表,由此获得cad图例的几何特征矩阵或几何特征向量。
标准的cad图例文本特征模板
将cad图例中所含文字或字符单独作为另一项特征进行处理。本发明所提出的标准的cad图例文本特征模板可以采用文本特征向量t来表示。通过提取cad图例中所包含的文字或字符,可以将文本特征向量表示为t=(“文本1”,“文本2”,…)。
如此,标准的cad图例特征模板构造为:cad图例特征矩阵acigj或cad图例特征向量vcigj 表示cad图例所含文字或符号的文本特征向量t,可以应用于所有cad图例,进行标准cad图例的统一存取,以及cad图纸中cad图块的统一的特征提取、比较和识别。
依照标准的cad图例特征模板建立标准cad图例数据库
标准cad图例按其应用领域可分为技术文件(主要指图纸)所使用的图例和设备表示所使用的图例,技术文件用cad图例主要表示对象和/或功能,或者表明设计、生产、检验和安装的特定指示,而设备用cad图例则用于各种设备上,作为操作指示或用来显示设备的功能或工作状态。现行的含有技术文件用cad图例和设备用cad图例的国家或行业标准约100余项,所含标准cad图例约10000余个。这些标准cad图例通常具有如下特点:a)几何形状比较简洁,抽象化、概念化;b)图形实体属于cad格式的矢量图形;c)大小不固定,随工程制图的要求而定,具有一定规则的几何外型;d)图形中所含文字或字符非常简洁,多用词或字母表示。
发明人对国家或行业标准所规定的标准cad图例进行收集整理,依据本发明所提出的标准的cad图例特征模板对这些标准cad图例进行模板化,建立一个标准cad图例数据库。
图3图示出根据本发明对标准cad图例进行模板化的方法的流程图。该方法开始于框302,在框302处,对标准cad图例进行预处理。对标准cad图例进行预处理包括对构成该标准cad图例的矢量图形中的cad实体的提取和处理。随后,方法进行到框304,在框304处,提取标准cad图例的结构元素以及文字或字符元素,并按照标准的cad图例特征模板中定义的结构元素统一分类表(参见表1)对所提取的结构元素进行分类。方法继续进行至框306,在框306处,按照标准的cad图例特征模板中定义的弹性网格划分规则将标准cad图例划分为m×n个弹性网格。随后,方法进行至框308,在框308处,计算每个弹性网格内属于每种结构元素类别的结构元素数量。具体而言,基于结构元素特征点是否位于该弹性网格内来判定标准cad图例的每个弹性网格内所包括的结构元素,随后根据结构元素统一分类表确定该结构元素的所属类别并对每个弹性网格内每种结构元素类别下的结构元素进行计数。方法继续进行至框310,在框310处,依据标准的cad图例几何特征模板,依次将所得到的计数存入几何特征矩阵或几何特征向量。另外,方法还包括在框312处,依据标准的cad图例文本特征模板,将在框302处提取的文字或字符元素存入文本特征向量。最后,方法进行至框314,在框314处,建立标准cad图例数据库。作为非限制性实施例,本发明将标准cad图例的数据结构定义为:
其中,“symbolcode”为标准cad图例的统一编码,由以16进制表示的4个字节组成。考虑到与ascii字符、gb18030汉字编码等兼容,第一个字节取值范围为d0到d9,第二个字节为30到39,第三个字节为01到fe,第四个字节为01到fe。对于第一个字节,d0代表国标cad图例数据库,d1代表扩展的国标或行标cad图例数据库,d2代表企业标准cad图例数据库,d3-d9备用;对于第二个字节,30代表现行标准,30-39备用;后两个字节保留00和ff,均为01到fe,一般可按图例名称的拼音升序排序,由此可支持64009个各种标准cad图例,可满足现行及未来可扩展性的需要。另外,“name”为标准cad图例的名称;“englishname”为标准cad图例的英文名称;“characteristicsvector”为标准cad图例的几何特征向量vcigj;“textvector”为标准cad图例所含文字或符号构成的文本特征向量t;“view”为标准cad图例的视图(如基本视图、平面、立面、轴测等),目前暂采用基本视图,并且可扩充采用其他视图;“description”为对标准cad图例的备注说明;“status”为标准cad图例的状态,其中true代表该标准cad图例可使用,false代表标准cad图例已停用或废止。
由此,根据本发明提出的标准的cad图例特征模板对标准cad图例进行模板化,建立标准cad图例的几何特征向量和文本特征向量,然后按照上述数据结构存入数据库,可得到完整且高效的标准cad图例数据库。包含现行的约10000个国标cad图例基本图形的标准cad图例数据库大小约4m-5m,由于其所占资源较少,因此可常驻计算机内存,从而在进行计算机自动识别时实现对cad图例的快速、实时的索引、比较和识别。
对cad图例的快速精准识别
基于已建立的标准cad图例数据库,当我们打开一张cad图纸,选中图纸中的某个图块a时,即可按标准的cad图例特征模板对该图块a进行模板化,得到该图块a的几何特征向量和文本特征向量,并将其与标准cad图例数据库中的数据进行比较,从而实现快速、精准的识别。
图4图示出根据本发明的用于识别cad图例的方法。该方法开始于框402,在框402处,例如通过鼠标选中或滑过cad图纸中某个图块,在该cad图纸中获取cad图块a。随后,方法进行至框404,在框404处,依据标准的cad图例特征模板,对该cad图块a进行模板化。具体而言,计算机可自动地按照本发明所提出的标准的cad图例特征模板,按照预先设定的步骤和方法对cad图块a进行预处理、结构元素以及文字或符号元素提取、弹性网格划分,从而获得该cad图块a的几何特征向量va和文本特征向量ta。随后,方法进行至框406,在框406处,将在框404处获得的经模板化的cad图块a与标准cad图例数据库中的标准cad图例的特征模板数据进行比较。所述比较将在下文进一步详细讨论。最后,方法进行至框408,在框408处,根据框406处进行的比较,输出对cad图块a的识别结果。
图5进一步图示出根据本发明的将经模板化的cad图块a与标准cad图例数据库中的标准cad图例的特征模板数据进行比较(如上文在框406处所描述)的过程。如图5中所图示,该过程开始于框501,在框501处,提取cad图块a的几何特征向量va和文本特征向量ta。随后,过程进行至框502,在框502处,将cad图块a的几何特征向量与标准cad图例数据库中的各个标准cad图例的几何特征向量项数据vcigj(“characteristicsvector”:[ac1g1,ac2g1,ac3g1,…,ac1g2,ac2g2,…,acigj])按以下公式(1)分别进行欧式距离计算:
d(vavcigj)=sqrt[∑((va-vcigj)2)](i=1,2,…,cigj)(1)
随后,过程进行至框504,在框504处,判定框502处所计算的欧式距离是否为零。如果在框504处判定所计算的欧式距离为零,则过程进行至框506,在框506处,将cad图块a的文本特征向量ta分别与欧式距离为零的vcigj对应的标准cad图例的文本特征向量项数据t(“textvector”:[“文本1”,“文本2”,…])逐一进行文本字符串比较(不区分大小写)。随后,过程进行至框508,在框508处,判定图块a的文本特征向量ta是否与标准cad图例的文本特征向量项数据t完全相同。如果完全相同,则过程进行至框510,在框510处,将图块a识别为对应的标准cad图例,对cad图块识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性作为该图块a的名称属性。如果在框508处判定文本字符串比较结果为不相同,则过程进行至框512,在框512处,将cad图块a识别为与特征向量欧式距离为零的对应标准cad图例相似,对cad图块a的识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性列表并注明相似。因为构建标准cad图例的特征集合时所采用的特征提取方法已考虑到了图形的变形等因素,上述识别过程已经可满足大部分图例的实时识别。附加地,如果在框504处判定所计算的欧式距离不为零,则过程进行至框514,在框514处对cad图块a进行仿射变换,得到经变换的cad图块a’,并随后对经变换的cad图块a’进行识别。
在cad图纸中绘制cad图例可能存在多种情形,例如是否为轴测图或系统图,是否被延线上下或左右翻转。由此,可对cad图块a进行仿射变换,并对经变换的图块a’进行识别。图6中图示出cad图例绘制的16种主要情形。另外,由于图6中3.1.-3.4.及4.1-4.4.这八种情形中角度可能存在与x轴夹角30度或与x轴夹角45度两种情况,由此需要考虑情形实际应为16 8=24种。
设图块a的图形为f(x,y),进行仿射变换后得到的经变换的cad图块a’的图形为f(x’,y’);x,y为原坐标;x’,y’为经变换的cad图例的坐标,则仿射变换矩阵表达式为:
其中,参数ai(i=1,2,3,4)反映了图形的各种变换,对于图6中所图示的cad图例绘制时的24种情形,其对应的变换矩阵分别为:
图7图示出根据本发明用于对经变换的cad图块a’进行识别的过程。该过程开始于框702,在框702处,与上述框404处所描述的类似地,依据标准的cad图例特征模板,对经变换的cad图块a’进行模板化。具体而言,计算机可自动地按照本发明所提出的标准的cad图例特征模板,按照预先设定的步骤和方法对经变换的cad图块a’进行预处理、结构元素提取、弹性网格划分,从而获得经变换的cad图块a’的几何特征向量va’。由于放射变换不会影响cad图块中所包含的文字或符号,因此可省略提取获得经变换的cad图块a’的文本特征向量的步骤而直接采用cad图块a的文本特征向量ta。随后,过程进行至框704,在框704处,将va’分别与标准cad图例数据库中的各个标准cad图例的几何特征向量项数据vcigj进行欧式距离计算。随后,过程进行至框706,在框706处,判定框704处所计算的欧式距离是否为零。如果在框706处判定所计算的欧式距离为零,则过程进行至框708,在框708处,将文字符号向量ta与所计算的欧式距离为零的对应标准cad图例的文本特征向量项数据逐一进行文本字符串比较。随后,过程进行至框710,在框710处,判定文字符号向量ta与对应的标准cad图例的文本特征向量项数据是否完全相同。如果在框710处判定完全相同,则过程进行至框712,在框712处,将图块a识别为对应的标准cad图例,对cad图块识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性作为该图块a的名称属性。如果在框710处判定文本字符串比较结果为不相同,则过程进行至框714,在框714处,将cad图块a识别为与对应的标准cad图例相似,对cad图块a的识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性列表并注明相似。如果在框706处判定所计算的欧式距离不为零,则过程进行至框716,在框716处,将cad图块a与标准cad图例数据库中的标准cad图例进行余弦相似度比较。
图8进一步图示出根据本发明的用于将cad图块a与标准cad图例数据库中的标准cad图例进行余弦相似度比较的过程。如图8中所图示,该过程开始于框802,在框802处,将cad图块a的几何特征向量va与标准cad图例数据库中的各个标准cad图例的几何特征向量项数据vcigj按以下公式(2)逐一进行余弦相似度计算:
随后,过程进行至框804,在框804处,将在框802处计算的余弦相似度值分别与第一阈值和第二阈值进行比较。如果在框804处确定余弦相似度值大于或等于第一阈值(例如,余弦相似度>=0.98),过程将进行至框806。在框806处,将cad图块a的文本特征向量ta与同上述所计算的余弦相似度值大于或等于第一阈值对应的标准cad图例的文本特征向量项数据t逐一进行文本字符串比较。该文本字符串比较过程(如框806-框812处所描述)与上文所描述的图5的框506-512和图7的框708-714类似,此处不再详细描述。如果在框804处确定余弦相似度值小于第一阈值且大于或等于第二阈值(例如,0.90≤余弦相似度值<0.98),则过程进行至框814。在框814处,将cad图块a识别为与对应的标准cad图例相似,对cad图块a的识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性列表并注明相似。如果在框804处确定余弦相似度值小于第二阈值(例如,余弦相似度值<0.90),则过程进行至框816。在框816处,将经变换的图块a’的几何特征向量va’与标准cad图例数据库中的各个标准cad图例的几何特征向量项数据vcigj按公式(2)逐一进行余弦相似度计算。随后过程进行至框818,在框818处,将在框816处计算的余弦相似度值分别与上文所述的第一阈值和第二阈值进行比较。如果在框818处确定余弦相似度值大于或等于第一阈值,则过程进行至框820。在框820处,将cad图块a的文本特征向量与同上述所计算的余弦相似度值大于或等于第一阈值对应的标准cad图例的文本特征向量项数据t逐一进行文本字符串比较。该文本字符串比较过程(如框820-框826处所描述)与上文所描述的图5的框506-512和图7的框708-714类似,此处不再详细描述。如果在框818处确定余弦相似度值小于第一阈值且大于或等于第二阈值,则过程进行至框828。在框828处,将cad图块a识别为与对应的标准cad图例相似,对cad图块a的识别完成,停止计算并在鼠标光标处显示对应的标准cad图例的名称属性列表并注明相似。如果在框818处确定余弦相似度值小于第二阈值,则过程进行至框830,在cad图块a处显示无法识别,并显示余弦相似度值最高的三个(或其他数量的)标准cad图例的名称属性。
综上所述,本发明通过对标准cad图例的特征进行分析和研究,提出构建一套标准的cad图例特征模板并具体描述了此种标准的cad图例模板的构建规范。本发明还描述了依据此种标准的cad图例模板及其构建规范对标准cad图例进行特征提取,建立标准cad图例数据库。由此,依据此种标准的cad图例模板及其构建规范,能够在浏览或审查cad图纸时自动地将cad图纸中的cad图块模板化,从而与标准cad图例数据库中的数据进行比较,实现对cad图例的快速精准识别。本发明提出的标准的cad图例模板能有效体现cad图例的特征,又能适应旋转偏移缩放的不变性,同时具有较强的稳健性以及较低的计算复杂度,使得对cad图例的识别正确率和识别速度可达到实用性的要求。
1.一种cad图例识别方法,所述方法包括:
获取cad图块;
将所述cad图块模板化,得到所述cad图块的几何特征向量和所述cad图块的文本特征向量;
将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较,其中,所述特征模板数据包括几何特征向量项数据和文本特征向量项数据;
基于所述比较的结果,识别与所述cad图块对应的标准cad图例。
2.如权利要求1所述的方法,其特征在于,将所述cad图块模板化包括:
对所述cad图块进行预处理;
提取所述cad图块的结构元素,并对所述结构元素进行分类;
基于所述结构元素的位置,将所述cad图块划分为弹性网格;
对所述结构元素进行计数,以获得每个弹性网格内属于每种结构元素类别的结构元素的数量;以及
基于所述弹性网格、所述结构元素的类别以及所述每个弹性网格内属于每种结构元素类别的结构元素的数量,建立所述cad图块的几何特征向量。
3.如权利要求2所述的方法,其特征在于,将所述cad图块模板化进一步包括:
对所述cad图块进行预处理;
提取所述cad图块所包含的文字或字符元素;以及
基于所述文字或字符元素,建立所述cad图块的文本特征向量。
4.如权利要求1所述的方法,其特征在于,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较包括:
从经模板化的cad图块提取所述cad图块的几何特征向量和文本特征向量,并且从所述标准cad图例数据库提取所述标准cad图例的几何特征向量项数据和文本特征向量项数据;
计算所述cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据之间的第一欧式距离;
如果所述第一欧式距离为零,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
5.如权利要求4所述的方法,其特征在于,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较进一步包括:
如果所述第一欧式距离不为零,则对所述cad图块进行仿射变换,得到经变换的cad图块;
将所述经变换的cad图块模板化,得到所述经变换的cad图块的几何特征向量;
计算所述经变换的cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据之间的第二欧式距离;
如果所述第二欧式距离为零,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
6.如权利要求5所述的方法,其特征在于,将经模板化的cad图块与标准cad图例数据库中的标准cad图例的特征模板数据进行比较进一步包括:
如果所述第二欧式距离不为零,则将所述cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据进行余弦相似度比较,得到第一余弦相似度值;
如果所述第一余弦相似度值大于或等于第一余弦相似度阈值,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及
如果所述cad图块的文本特征向量项数据与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
7.如权利要求6所述的方法,其特征在于,将经模板化的cad图块与标准cad图例库中的标准cad图例的特征模板数据进行比较进一步包括:
如果所述第一余弦相似度值小于所述第一余弦相似度阈值且大于或等于第二余弦相似度阈值,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似,
其中,所述第二余弦相似度阈值低于所述第一余弦相似度阈值。
8.如权利要求7所述的方法,其特征在于,将所述cad图块的特征模板与标准cad图例库中的标准cad图例的特征模板进行比较进一步包括:
如果所述第一余弦相似度值小于所述第二余弦相似度阈值,则将所述经变换的cad图块的几何特征向量与所述标准cad图例的几何特征向量项数据进行余弦相似度比较,得到第二余弦相似度值;
如果所述第二余弦相似度值大于或等于所述第一余弦相似度阈值,则将所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据进行字符串比较;
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据相同,则将所述cad图块识别为所述标准cad图例,并且显示所述标准cad图例的名称属性;以及
如果所述cad图块的文本特征向量与所述标准cad图例的文本特征向量项数据不相同,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
9.如权利要求8所述的方法,其特征在于,将经模板化的cad图块与标准cad图例库中的标准cad图例的特征模板数据进行比较进一步包括:
如果所述第二余弦相似度值小于所述第一余弦相似度阈值且大于或等于所述第二余弦相似度阈值,则将所述cad图块识别为与所述标准cad图例相似,并且显示所述标准cad图例的名称属性并注明所述cad图块与所述标准cad图例相似。
10.如权利要求8所述的方法,其特征在于,将所述cad图块的特征模板与标准cad图例库中的标准cad图例的特征模板进行比较进一步包括:
如果所述第二余弦相似度值小于所述第二余弦相似度阈值,则显示无法识别所述cad图块,并且显示近似标准cad图例列表。
技术总结