本发明涉及计算机视觉识别技术领域,具体来说,涉及一种基于机器学习识别图纸内图例及文字的方法及系统。
背景技术:
传统方式是人工看p&id(管线及仪表设计)图纸,人工从图纸中提取图例及文字,随着网络信息化的普及与应用,智能化办公已经成了企业提升工作效率和行业竞争力的重要手段,文字识别技术的发展为提高工作效率、无纸化/智能化办公提供了技术支持,深度学习技术在现实场景识别及通用文字识别上取得了不少研究成果,但是在图纸识别这种特定领域研究甚少。
技术实现要素:
针对相关技术中的上述技术问题,本发明提出一种基于机器学习识别图纸内图例及文字的方法及系统,采用深度学习技术进行识别图例与识别文字的预训练和识别,以满足不同场景的文本及图例的识别与提取。
为实现上述技术目的,本发明的技术方案是这样实现的:一种基于机器学习识别图纸内图例及文字的方法,该方法包括以下步骤:
s1运用数据集构建包含图例特征的图例训练集与包含文字特征的文字训练集;
s2运用数据集和卷积神经网络获取识别图例及识别文字的神经网络模型;
s3采用s2中建立的神经网络模型获取图纸中的图例及文字。
进一步地,s1数据集构建包含以下步骤:s1.1首先扫描纸质图纸,手动标记图纸上的图例区域及图例类型生成图例训练集,手动标记图纸上的文字区域及文字内容生成文字训练集;s1.2运用图例模板生成的新图例替换掉已有图纸上的图例,同时将图纸上的文本字体进行随机替换,系统自动标记图纸上的图例区域及图例类型生成图例训练集,系统自动标记图纸上的文字区域及文字内容生成文字训练集,构成新的图纸;s1.3凭空自动生成训练集:s1.3.1纸质图纸与cad格式的p&id(管线及仪表设计)图纸数量不足时,可以凭空生成训练集来补充,增加样本多样性,提升准确率;s1.3.2运用图例模板生成新图例并在空白图纸上随机摆放,同时在图纸上随机生成文字,构成新的图纸;s1.3.3根据自动标记出的图例区域、图例类型,生成图例训练集;s1.3.4根据自动标记出的文字区域、文字内容,生成文字训练集。
进一步地,s2训练神经网络模型包含以下步骤:s2.1运用图例训练集对识别图例区域的卷积神经网络进行训练,训练出可以识别图例的神经网络模型;s2.2运用文字训练集对识别文字区域的卷积神经网络进行训练,训练出可以识别文字区域的神经网络模型;s2.3运用文字训练集对识别文字内容的卷积神经网络进行训练,训练出可以识别文字内容的神经网络模型。
进一步地,s3图纸识别包含以下步骤:s3.1将待识别图纸扫描成图像,dpi200或以上;s3.2将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;s3.3获取待识别图纸的参数信息传递给识别图例的模型,识别出图纸内所有仪表图例所在区域和类型;s3.4获取待识别图纸的参数信息传递给识别文字的模型,识别出图纸内所有文字所在区域及内容;s3.5将不同类型文字的规则翻译成正则表达式,然后文字与不同规则的正则表达式进行匹配,获得匹配成功后的文字分类属性,例如管线号规则的正则表达式可以是“^\d{1,3}-[a-z0-9]{1,3}-\d{5}-[a-z0-9]{4}(-\w{1,2})?$”;s3.6各图例与各文字之间相互进行重叠测试,并计算重叠区域占文字区域的百分比,当超过一定阈值,则认为该文字是该图例的属性,例如仪表内的仪表编号,连接符内的去向描述。
进一步地,s1.1手动标记训练集包含以下具体步骤:s1.1.1收集一定数量纸质的p&id(管线及仪表设计)图纸;s1.1.2扫描图纸并生成图像,dpi200或以上;s1.1.3将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;s1.1.4根据图纸图像标记出图例区域、图例类型,生成图例训练集;s1.1.5根据图纸图像标记出文字区域、文字内容,生成文字训练集;s1.2自动标记训练集包含以下具体步骤:s1.2.1收集一定数量cad格式的p&id(管线及仪表设计)图纸;s1.2.2根据cad格式的p&id(管线及仪表设计)图纸进行图例区域、图例类型、文字区域、文字内容的手动标记;s1.2.3将标准图例作为模板随机生成图例,同时随机替换掉cad图纸中的图例;s1.2.4随机生成中英文文字,随机选择一种字体替换掉cad图纸中的文字;s1.2.5根据自动标记出的图例区域、图例类型,生成图例训练集;s1.2.6根据自动标记出的文字区域、文字内容,生成文字训练集。
进一步地,s2.1识别图例包含以下步骤:s2.1.1根据随机打乱的图例训练集;s2.1.2构建识别图例用的fasterr-cnn神经网络;s2.1.3运用fasterr-cnn神经网络通过图例训练集对识别图例进行训练,训练出可以识别图例区域的神经网络模型;s2.2识别文字区域包含以下步骤:s2.2.1根据随机打乱的文字训练集;s2.2.2构建识别文字区域用的pixellink神经网络;s2.2.3运用pixellink神经网络通过文字训练集对识别文字区域进行训练,训练出可以识别文字区域的神经网络模型;s2.3识别文字内容包含以下步骤:s2.3.1构建识别文字内容用的attentionocr神经网络;s2.3.2运用attentionocr神经网络通过文字训练集对识别文字内容进行训练,训练出可以识别文字内容的神经网络模型。
一种基于机器学习识别图纸内图例及文字系统,其特征在于,包含训练集构建模块、神经网络训练模块及图纸识别模块;其中,所述训练集构建模块:用于构建包含图例特征的图例训练集与包含文字特征的文字训练集;所述神经网络训练模块:通过训练集和卷积神经网络获取用于识别图例及识别文字的识别模型;所述图纸识别模块:通过识别模型获取图纸中的图例及文字。
进一步地,所述训练集构建模块包含手动标记模块及自动生成模块,其中,所述手动标记模块:首先扫描纸质图纸,手动标记图纸上的图例区域及图例类型生成图例训练集,手动标记图纸上的文字区域及文字内容生成文字训练集;所述自动生成模块:通过图例模板生成的新图例替换掉已有图纸上的图例,同时将图纸上的文本字体进行随机替换,系统自动标记图纸上的图例区域及图例类型生成图例训练集,系统自动标记图纸上的文字区域及文字内容生成文字训练集,构成新的图纸。
进一步地,所述神经网络训练模块包含识别图例的神经网络训练模块、识别文字区域的神经网络训练模块及识别文字内容的神经网络训练模块,其中,所述识别图例的神经网络训练模块:通过图例训练集对识别图例的卷积神经网络进行训练,训练出可以识别图例的神经网络模型;所述识别文字区域的神经网络训练模块:通过文字训练集对识别文字区域的卷积神经网络进行训练,训练出可以识别文字区域的神经网络模型;所述识别文字内容的神经网络训练模块:通过文字训练集对识别文字内容的卷积神经网络进行训练,训练出可以识别文字内容的神经网络模型。
进一步地,所述图纸识别模块包含图例识别模块、文字识别模块、文字分类模块及图例文字关联模块,其中,所述图例识别模块:通过识别图例的神经网络模型从待识别图纸中识别出图例;所述文字识别模块:通过识别文字的神经网络模型从待识别图纸中识别出文字;所述文字分类模块:运用不同类型文字的规则对文字进行分类;所述图例文字关联模块:运用规则将文字与图例建立关系。
本发明的有益效果:本申请通过已有图纸自动生成图例训练集及文字训练集,运用图例训练集与文字训练集对待识别图例与待识别文字进型预训练,获得识别文字区域与识别图例区域的神经网络模型,同时运用规则分类文字及建立文字与图例之间的关系,基于深度学习技术完成图例与文字的训练数据以及大规模集群的计算训练让机器自动生成学习特征和模型参数,以满足不同场景的文本及图例的识别与提取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统的流程框图。
图2是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统s1与s2流程框图。
图3是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统s3的流程框图。
图4是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统文字识别流程框图。
图5是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统文字分类的流程框。
图6是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统的管线号规则示意图。
图7是根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法及系统的仪表编号规则示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1-7所示,根据本发明实施例所述的一种基于机器学习识别图纸内图例及文字的方法,该方法包括以下步骤:
s1运用数据集构建包含图例特征的图例训练集与包含文字特征的文字训练集;
s2运用数据集和卷积神经网络获取识别图例及识别文字的神经网络模型;
s3采用s2中建立的神经网络模型获取图纸中的图例及文字。
在本发明的一个具体实施例中,s1.1手动标记训练集包含以下具体步骤:s1.1.1收集一定数量纸质的p&id(管线及仪表设计)图纸;s1.1.2扫描图纸并生成图像,dpi200或以上;s1.1.3将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;s1.1.4根据图纸图像标记出图例区域、图例类型,生成图例训练集;s1.1.5根据图纸图像标记出文字区域、文字内容,生成文字训练集。
在本发明的一个具体实施例中,s1.2根据已有图纸自动生成训练集的具体步骤:s1.2.1收集一定数量cad格式的p&id(管线及仪表设计)图纸;s1.2.2根据cad格式的p&id(管线及仪表设计)图纸进行图例区域、图例类型、文字区域、文字内容的手动标记;s1.2.3将标准图例作为模板随机生成图例,同时随机替换掉cad图纸中的图例;s1.2.4随机生成中英文文字,随机选择一种字体替换掉cad图纸中的文字;s1.2.5根据自动标记出的图例区域、图例类型,生成图例训练集;s1.2.6根据自动标记出的文字区域、文字内容,生成文字训练集。
在本发明的一个具体实施例中,s1.3凭空自动生成训练集:s1.3.1纸质图纸与cad格式的p&id(管线及仪表设计)图纸数量不足时,可以凭空生成训练集来补充,增加样本多样性,提升准确率;s1.3.2运用图例模板生成新图例并在空白图纸上随机摆放,同时在图纸上随机生成文字,构成新的图纸;s1.3.3根据自动标记出的图例区域、图例类型,生成图例训练集;s1.3.4根据自动标记出的文字区域、文字内容,生成文字训练集。
在本发明的一个具体实施例中,训练识别神经网络模型包含以下步骤:s2.1.1将图例训练集随机打乱;s2.1.2构建识别图例用的fasterr-cnn神经网络;s2.1.3运用fasterr-cnn神经网络通过图例训练集对识别图例进行训练,训练出可以识别图例区域的神经网络模型;s2.2.1根据随机打乱的文字训练集;s2.2.2构建识别文字区域用的pixellink神经网络;s2.2.3运用pixellink神经网络通过文字训练集对识别文字区域进行训练,训练出可以识别文字区域的神经网络模型;s2.3.1构建识别文字内容用的attentionocr神经网络;s2.3.2运用attentionocr神经网络通过文字训练集对识别文字内容进行训练,训练出可以识别文字内容的神经网络模型。
在本发明的一个具体实施例中,图纸识别包含以下步骤:s3.1将待识别图纸扫描成图像,dpi200或以上;s3.2将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;s3.3获取待识别图纸的参数信息传递给识别图例的模型,识别出图纸内所有仪表图例所在区域和类型;s3.4获取待识别图纸的参数信息传递给识别文字的模型,识别出图纸内所有文字所在区域及内容;s3.5将不同类型文字的规则翻译成正则表达式,然后文字与不同规则的正则表达式进行匹配,获得匹配成功后的文字分类属性,例如管线号规则的正则表达式可以是“^\d{1,3}-[a-z0-9]{1,3}-\d{5}-[a-z0-9]{4}(-\w{1,2})?$”;s3.6各图例与各文字之间相互进行重叠测试,并计算重叠区域占文字区域的百分比,当超过一定阈值,则认为该文字是该图例的属性,例如仪表内的仪表编号,连接符内的去向描述。
一种基于机器学习识别图纸内图例及文字系统,其特征在于,包含训练集构建模块、神经网络训练模块及图纸识别模块;其中,
所述训练集构建模块:用于构建包含图例特征的图例训练集与包含文字特征的文字训练集,所述训练集构建模块的特征包含手动标记模块和自动生成模块;
所述神经网络训练模块:通过训练集和卷积神经网络获取用于识别图例及识别文字的识别模型,所述神经网络训练模块的特征包含识别图例的神经网络训练模块、识别文字区域的神经网络训练模块及识别文字内容的神经网络训练模块;
所述图纸识别模块:通过识别模型获取图纸中的图例及文字,所述图纸识别模块包含图例识别模块、文字识别模块、文字分类模块及图例文字关联模块;
在本发明的一个具体实施例中,所述手动标记模块:首先扫描纸质图纸,手动标记图纸上的图例区域及图例类型生成图例训练集,手动标记图纸上的文字区域及文字内容生成文字训练集;所述自动生成模块:通过图例模板生成的新图例替换掉已有图纸上的图例,同时将图纸上的文本字体进行随机替换,系统自动标记图纸上的图例区域及图例类型生成图例训练集,系统自动标记图纸上的文字区域及文字内容生成文字训练集,构成新的图纸。
在本发明的一个具体实施例中,所述识别图例的神经网络训练模块:通过图例训练集对识别图例的卷积神经网络进行训练,训练出可以识别图例的神经网络模型;所述识别文字区域的神经网络训练模块:通过文字训练集对识别文字区域的卷积神经网络进行训练,训练出可以识别文字区域的神经网络模型;所述识别文字内容的神经网络训练模块:通过文字训练集对识别文字内容的卷积神经网络进行训练,训练出可以识别文字内容的神经网络模型。
在本发明的一个具体实施例中,所述图例识别模块:通过识别图例的神经网络模型从待识别图纸中识别出图例;所述文字识别模块:通过识别文字的神经网络模型从待识别图纸中识别出文字;所述文字分类模块:运用不同类型文字的规则对文字进行分类;所述图例文字关联模块:运用规则将文字与图例建立关系。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
在具体使用时,根据本发明所述的基于机器学习识别图纸内图例及文字的方法,本申请的方法包含以下步骤:s1运用数据集构建包含图例特征的图例训练集与包含文字特征的文字训练集;s2运用数据集和卷积神经网络获取识别图例及识别文字的神经网络模型;s3采用s2中建立的神经网络模型获取图纸中的图例及文字;具体运用深度学习技术完成图例与文字的训练数据以及大规模集群的计算训练让机器自动生成学习特征和模型参数,以满足不同场景的文本及图例的识别与提取。
综上所述,借助于本发明的上述技术方案,通过已有图纸自动生成图例训练集及文字训练集,运用图例训练集与文字训练集对待识别图例与待识别文字进型预训练,获得识别文字区域与识别图例区域的神经网络模型,同时运用规则分类文字及建立文字与图例之间的关系,基于深度学习技术完成图例与文字的训练数据以及大规模集群的计算训练让机器自动生成学习特征和模型参数,以满足不同场景的文本及图例的识别与提取。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于机器学习识别图纸内图例及文字的方法,其特征在于,该方法包括以下步骤:
s1运用数据集构建包含图例特征的图例训练集与包含文字特征的文字训练集;
s2运用数据集和卷积神经网络获取识别图例及识别文字的神经网络模型;
s3采用s2中建立的神经网络模型获取图纸中的图例及文字。
2.根据权利要求1所述的基于机器学习识别图纸内图例及文字的方法,其特征在于,s1数据集构建包含以下步骤:
s1.1首先扫描纸质图纸,手动标记图纸上的图例区域及图例类型生成图例训练集,手动标记图纸上的文字区域及文字内容生成文字训练集;
s1.2运用图例模板生成的新图例替换掉已有图纸上的图例,同时将图纸上的文本字体进行随机替换,系统自动标记图纸上的图例区域及图例类型生成图例训练集,系统自动标记图纸上的文字区域及文字内容生成文字训练集,构成新的图纸;
s1.3凭空自动生成训练集:
s1.3.1纸质图纸与cad格式的p&id图纸数量不足时,可以凭空生成训练集来补充,增加样本多样性,提升准确率;
s1.3.2运用图例模板生成新图例并在空白图纸上随机摆放,同时在图纸上随机生成文字,构成新的图纸;
s1.3.3根据自动标记出的图例区域、图例类型,生成图例训练集;
s1.3.4根据自动标记出的文字区域、文字内容,生成文字训练集。
3.根据权利要求1所述的基于机器学习识别图纸内图例及文字的方法,其特征在于,s2训练神经网络模型包含以下步骤:
s2.1运用图例训练集对识别图例区域的卷积神经网络进行训练,训练出可以识别图例的神经网络模型;
s2.2运用文字训练集对识别文字区域的卷积神经网络进行训练,训练出可以识别文字区域的神经网络模型;
s2.3运用文字训练集对识别文字内容的卷积神经网络进行训练,训练出可以识别文字内容的神经网络模型。
4.根据权利要求1所述的基于机器学习识别图纸内图例及文字的方法,其特征在于,s3图纸识别包含以下步骤:
s3.1将待识别图纸扫描成图像,dpi200或以上;
s3.2将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;
s3.3获取待识别图纸的参数信息传递给识别图例的模型,识别出图纸内所有仪表图例所在区域和类型;
s3.4获取待识别图纸的参数信息传递给识别文字的模型,识别出图纸内所有文字所在区域及内容;
s3.5将不同类型文字的规则翻译成正则表达式,然后文字与不同规则的正则表达式进行匹配,获得匹配成功后的文字分类属性;
s3.6各图例与各文字之间相互进行重叠测试,并计算重叠区域占文字区域的百分比,当超过一定阈值,则认为该文字是该图例的属性。
5.根据权利要求2所述的基于机器学习识别图纸内图例及文字的方法,其特征在于,
s1.1手动标记训练集包含以下具体步骤:
s1.1.1收集一定数量纸质的p&id图纸;
s1.1.2扫描图纸并生成图像,dpi200或以上;
s1.1.3将图像调整成灰度图,图像高度设置为6736像素,宽度按比例设置;
s1.1.4根据图纸图像标记出图例区域、图例类型,生成图例训练集;
s1.1.5根据图纸图像标记出文字区域、文字内容,生成文字训练集;
s1.2自动标记训练集包含以下具体步骤:
s1.2.1收集一定数量cad格式的p&id图纸;
s1.2.2根据cad格式的p&id图纸进行图例区域、图例类型、文字区域、文字内容的手动标记;
s1.2.3将标准图例作为模板随机生成图例,同时随机替换掉cad图纸中的图例;
s1.2.4随机生成中英文文字,随机选择一种字体替换掉cad图纸中的文字;
s1.2.5根据自动标记出的图例区域、图例类型,生成图例训练集;
s1.2.6根据自动标记出的文字区域、文字内容,生成文字训练集。
6.根据权利要求3所述的基于机器学习识别图纸内图例及文字的方法,其特征在于,
s2.1识别图例包含以下步骤:
s2.1.1根据随机打乱的图例训练集;
s2.1.2构建识别图例用的fasterr-cnn神经网络;
s2.1.3运用fasterr-cnn神经网络通过图例训练集对识别图例进行训练,训练出可以识别图例区域的神经网络模型;
s2.2识别文字区域包含以下步骤:
s2.2.1根据随机打乱的文字训练集;
s2.2.2构建识别文字区域用的pixellink神经网络;
s2.2.3运用pixellink神经网络通过文字训练集对识别文字区域进行训练,训练出可以识别文字区域的神经网络模型;
s2.3识别文字内容包含以下步骤:
s2.3.1构建识别文字内容用的attentionocr神经网络;
s2.3.2运用attentionocr神经网络通过文字训练集对识别文字内容进行训练,训练出可以识别文字内容的神经网络模型。
7.一种基于机器学习识别图纸内图例及文字系统,其特征在于,包含训练集构建模块、神经网络训练模块及图纸识别模块;其中,
所述训练集构建模块:用于构建包含图例特征的图例训练集与包含文字特征的文字训练集;
所述神经网络训练模块:通过训练集和卷积神经网络获取用于识别图例及识别文字的识别模型;
所述图纸识别模块:通过识别模型获取图纸中的图例及文字。
8.根据权利要求7所述的基于机器学习识别图纸内图例及文字系统,其特征在于,
所述训练集构建模块包含手动标记模块及自动生成模块,其中,
所述手动标记模块:首先扫描纸质图纸,手动标记图纸上的图例区域及图例类型生成图例训练集,手动标记图纸上的文字区域及文字内容生成文字训练集;
所述自动生成模块:通过图例模板生成的新图例替换掉已有图纸上的图例,同时将图纸上的文本字体进行随机替换,系统自动标记图纸上的图例区域及图例类型生成图例训练集,系统自动标记图纸上的文字区域及文字内容生成文字训练集,构成新的图纸。
9.根据权利要求7所述的基于机器学习识别图纸内图例及文字系统,其特征在于,
所述神经网络训练模块包含识别图例的神经网络训练模块、识别文字区域的神经网络训练模块及识别文字内容的神经网络训练模块,其中,
所述识别图例的神经网络训练模块:通过图例训练集对识别图例的卷积神经网络进行训练,训练出可以识别图例的神经网络模型;
所述识别文字区域的神经网络训练模块:通过文字训练集对识别文字区域的卷积神经网络进行训练,训练出可以识别文字区域的神经网络模型;
所述识别文字内容的神经网络训练模块:通过文字训练集对识别文字内容的卷积神经网络进行训练,训练出可以识别文字内容的神经网络模型。
10.根据权利要求7所述的基于机器学习识别图纸内图例及文字系统,其特征在于,
所述图纸识别模块包含图例识别模块、文字识别模块、文字分类模块及图例文字关联模块,其中,
所述图例识别模块:通过识别图例的神经网络模型从待识别图纸中识别出图例;
所述文字识别模块:通过识别文字的神经网络模型从待识别图纸中识别出文字;
所述文字分类模块:运用不同类型文字的规则对文字进行分类;
所述图例文字关联模块:运用规则将文字与图例建立关系。
技术总结