首页> 中国专利> 管线和仪表图的机器学习分析

管线和仪表图的机器学习分析

摘要

来自管线和仪表图(P&ID)的信息的自动评估和提取。所述系统和方法的各方面利用机器学习和图像处理技术从P&ID中提取相关信息,诸如标签名称、标签编号和符号及其位置。进一步的方面将错误反馈给机器学习系统以更新其学习并改善所述系统和方法的操作。

著录项

说明书

技术领域

本公开的各方面一般而言涉及工业过程自动化和控制系统。更具体而言,本公开的各方面涉及从管线和仪表图(P&ID)自动评估和提取信息的系统和方法。

背景技术

通常以硬拷贝打印输出或便携式文档文件(PDF)格式的形式向项目工程师提供P&ID。必须手动分析这些图以提取与标签、循环和相关联的元数据相关的信息。这种手动分析既耗时又容易出错。例如,分析每个图可以花费几分钟(例如,30到90),因此每个项目总计要花很多小时。而且,手动工作中的任何错误都要求返工,这是浪费且昂贵的(例如,损失的时间、延迟罚款等)。此外,因为项目工程活动位于关键链路径上,所以延迟完成这种工程工作会造成工业过程调试的延迟。最多,常规技术利用系统和方法来数字化P&ID,例如诸如经由光学字符识别(OCR)。但是,这些常规技术是静态的,要求确切匹配才能识别字符和几何形状,并且必须被重新编码才能接受新的符号或字符。

发明内容

本发明的各方面利用机器学习和图像处理技术来分析P&ID,以从图中提取相关信息,诸如标签名称、标签编号、符号及其相对位置。本发明的各方面附加地将错误反馈给机器学习系统,以更新其学习并改善系统的操作。错误反馈使本文描述的技术能够以最少的编码或无需编码来学习新的对象和文本。

实施本公开的各方面的计算机实现的方法包括在访问P&ID的图像的计算设备上执行的机器学习系统。在计算设备上执行的符号分类引擎确定所访问的图像是否包括指示过程控制元件的符号。使用监督式学习来训练符号分类系统,以基于所访问的图像是否包括指示过程控制元件的符号来将图像分类为多个类。在确定所访问的图像包括符号后,将符号输出存储在计算机可读存储器存储设备中。在计算设备上执行的标签分类引擎确定所访问的图像是否包括与该符号对应的标签。使用监督式学习来训练标签分类引擎,以基于所访问的图像是否包括标签来将图像分类为多个类。在确定所访问的图像包括标签后,将标签输出存储在计算机可读存储器存储设备中。

实施本公开的各方面的系统包括P&ID分析处理器和计算机可读存储设备。该存储设备存储处理器可执行指令,该处理器可执行指令在由处理器执行时包括图像转换器、一个或多个过滤算法、符号提取器、一个或多个标签预处理算法、标签提取器和智能系统。图像转换器被配置为接收电子格式的P&ID,并将其转换成图像格式的计算图像。过滤算法被配置为处理计算图像以获得图像中符号的近似尺寸。符号提取器被配置为从计算图像中提取符号并将提取出的符号存储在计算机可读存储设备上。标签预处理算法被配置为从计算图像中的符号移除符号线。标签提取器被配置为提取计算图像中的符号的标签成分,并将提取出的标签存储在计算机可读存储设备上。并且智能系统被配置为从过滤算法接收符号反馈、从标签后处理算法接收标签反馈、基于接收到的符号反馈来重新训练符号提取器,并且基于接收到的标签反馈来重新训练标签提取器。

实施本公开的各方面的另一种计算机实现的方法包括接收数字化的P&ID并使用符号引擎来分析数字化的P&ID以从中识别并提取符号。以一种形式,分析导致至少一个符号错误。标签引擎被用于分析数字化的P&ID,以识别并从中提取标签。以一种形式,分析产生至少一个标签错误。提取出的符号和标签被存储在计算机可读存储介质上。基于至少一个符号错误来重新训练符号引擎,并且基于至少一个标签错误来重新训练标签引擎。

其它目的和特征将部分地显而易见并且部分地在下文中指出。

附图说明

图1图示了根据实施例的演化的管线和仪表图(P&ID)分析系统和方法。

图2图示了图1的演化的P&ID分析系统和方法的另一个实施例。

图3图示了根据实施例的将P&ID转换成图像格式的示例性过程。

图4A图示了根据实施例的计算P&ID中的符号的近似尺寸的示例性过程。

图4B图示了根据实施例的用于通过预测符号中的圆圈的半径来计算输入P&ID图像的比例的示例性卷积网络。

图5A图示了根据实施例的检测降级的图像(stepped down image)中的符号的示例性过程。

图5B图示了根据实施例的用于识别降级的图像中的符号的示例性卷积网络。

图6A图示了根据实施例的从检测到的符号中移除符号线的示例性过程。

图6B图示了根据实施例的在符号线已经被移除之后符号的标签成分的示例性输出。

图6C图示了根据实施例的提取出的标签的示例性输出。

图7A图示了根据实施例的提取符号的标签成分的示例性过程。

图7B图示了根据实施例的示例性滑动窗口分割技术。

图7C图示了根据实施例的示例性字符识别网络。

图7D图示了图7C的字符识别网络的判定器卷积网络。

图7E图示了图7C的字符识别网络的单字符卷积网络。

图7F图示了图7C的字符识别网络的辅助单词卷积网络。

图8、9和10图示了图1的演化的P&ID分析系统和方法的示例性工作流程。

图11图示了图1的演化的P&ID分析系统和方法的机器学习模型、自动反馈和手动反馈之间的关系。

图12图示了根据实施例的基于反馈来更新智能系统的示例性过程。

图13图示了被编程为提供图1的演化的P&ID分析系统和方法的各方面的计算设备的示例性体系架构。

图14图示了本公开的各方面可被结合在其中的示例性工业过程系统。

在所有附图中,对应的附图标记指示对应的部分。

具体实施方式

参考图1,总体上以100指示的演化的管线和仪表图(P&ID)分析系统和方法从图中提取相关信息,并将错误反馈给机器学习系统,以更新其学习并改善系统和方法的操作。以这种方式,系统和方法100的各方面被配置为学习图中的新对象和文本,而无需大量的新编码,并且更新和训练针对跨全局(例如,全局学习)的所有项目或跨给定项目(例如,本地学习)的模型。如图1中所示,系统100包括P&ID 102、机器学习系统104、自动反馈/校正组件106、应用108、手动反馈/校正组件110、图形用户界面(GUI)112和分析器114。

将P&ID 102馈送到机器学习系统104中,并且机器学习系统104利用机器学习和图像处理技术从P&ID 102中提取相关信息,诸如标签名称、标签编号和符号。以一种形式,P&ID 102包括信息,诸如标签名称、标签编号和符号,其表示适于改变或精炼原材料以产生最终产品的工业过程系统的各方面。示例性过程包括但不限于化学、石油和天然气、食品和饮料、制药、水处理和电力行业中的那些。例如,过程可以包括泵、阀门、传感器、输送机、配电系统和/或不能中断的过程或操作。

在实施例中,经由能够促进数据交换的一个或多个通信网络来接收P&ID 102。例如,通信网络可以包括可连接到其它电信网络的广域网(WAN)和/或局域网(LAN),其它电信网络包括其它WAN、LAN和/或互联网或内联网的一部分。例如,通信网络可以是促进数据交换的任何电信网络,诸如根据IEEE 802.3(例如,以太网)和/或IEEE 802.11(例如,Wi-Fi)协议操作的那些通信网络。在另一个实施例中,通信网络是允许数据通过串行或并行通信信道(例如,铜线、光纤、计算机总线、无线通信信道等)被物理传送的任何介质。在实施例中,通信网络至少部分地包括过程控制网络。在另一个实施例中,通信网络至少部分地包括监督控制和数据采集(SCADA)系统。在又一个实施例中,通信网络至少部分地包括企业制造智能(EMI)/操作智能(OI)系统。

机器学习系统104实现图像处理和/或几何算法以减少噪声并增强其准确性。自动反馈/校正组件106包括被配置为检测从机器学习系统104接收的输出中的错误的规则和算法。这些错误被用于自动校正输出,并经由分析器114反馈回机器学习系统104中,以更新机器学习系统104的学习并改善系统100。来自自动反馈/校正组件106的经处理的输出然后经由应用108显示给用户以进行验证。由用户进行的校正由手动反馈/校正组件110捕获并保存在应用108中,并经由分析器114反馈回机器学习系统104中,以更新机器学习系统104的学习并改善系统100。以这种方式,系统和方法100使用机器学习和图像处理算法持续地演化以自动评估P&ID 102并提取相关信息,诸如标签名称、标签编号、符号及其类别(例如,传感器、显示器、马达、泵、阀门等)、它们在P&ID中的位置、单元、工厂、区域以及修订号。

图2图示了系统和方法100的另一个实施例。在这个实施例中,系统和方法100包括P&ID 102、图像转换器204、过滤算法206、符号提取208、标签预处理210、标签提取212、规则引擎214、行提取216、智能系统218、自动反馈/校正组件106、应用108、手动反馈/校正组件110和GUI 112。在实施例中,图像转换器204、过滤算法206、符号提取208、标签预处理210、标签提取212、规则引擎214、行提取和智能系统218至少部分地包括机器学习系统104和/或分析器114。

图像转换器204被配置为将P&ID 102转换成图像格式。图3图示了图像转换器204将P&ID 102转换成图像格式的示例性方法,总体上以300指示。在实施例中,图像转换器204在302处获得便携式文档文件(PDF)或其它电子数据格式的P&ID 102。在304处,图像转换器204将它们转换成任何图像格式。示例性图像格式包括但不限于便携式网络图形(PNG)格式、联合图像专家组(JPEG)格式、图形交换格式(GIF)等。在实施例中,图像转换器204在306处创建两个图像文件,其中之一用于显示(例如,经由应用108和/或GUI 112),并且其中之一用于计算(例如,通过过滤算法206、符号提取208、标签预处理210、标签提取212、规则引擎214、行提取216和智能系统218的分析)。图像转换器204可以以各种尺寸(例如,16.54×11.69英寸、34.00×22.00英寸等)接收P&ID 102。图像转换器204在308处设置为计算目的而创建的图像(即,“计算图像”)的分辨率,并且在310处设置为显示目的而创建的图像(即,“显示图像”)的分辨率。由图像转换器204创建的图像的每英寸最大点数(dpi)被计算为300000/(以英寸为单位的长度×宽度)。在实施例中,计算图像具有800dpi的最大上限,并且显示图像具有大约200dpi的分辨率。

在实施例中,图像转换器204包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供图像转换器204。例如,根据本公开的示例性实施例,图像转换器204可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。

再次参考图2,在一些实施例中,P&ID 102包括可以使用现成的库提取的几何和文本信息。在这些实施例中,将P&ID 102直接馈送到机器学习系统104(例如,过滤算法206)中以识别其类型和提取出的文本,而无需首先将其馈送到图像转换器204中。

过滤算法206被配置为处理计算图像以获得其中的符号的近似尺寸。示例性符号包括但不限于那些符合针对仪器、控制/显示元件、可编程逻辑控制器(PLC)、阀门、泵等的国际自动化协会(ISA)标准的符号。在实施例中,符号包括标识字母(例如,FIC)和标签号(例如,123)。获得符号的近似尺寸有助于对用于P&ID符号检测的系统和方法100的机器学习方面的输入进行归一化,这有助于避免为不同尺寸的符号创建训练数据。

图4A图示了总体上以400指示的用于计算近似符号尺寸的示例性方法。过滤算法206在402处假设符号的初始尺寸。在实施例中,初始尺寸是200×200像素。在404处,过滤算法206将计算图像降级以减小符号尺寸。在实施例中,将计算图像降级,使得假设的符号尺寸是52×52像素。过滤算法206在406处从降级的图像中移除大的(例如,大于P&ID的高度的75%等)线(水平和垂直)。在408处,过滤算法206对降级的图像执行窗口滑动算法,并在410处经由总体符号识别技术检查给定窗口中的符号,如本文进一步描述的。在实施例中,窗口滑动算法检测降级的图像中具有跨尺寸为52×52像素的窗口分布的黑色像素的区域。过滤算法206记录已识别出的符号在降级的图像中的位置,并使用那个位置来计算已识别出的符号在计算图像中的位置。然后,过滤算法206在412处对提取出的符号和集合执行圆圈检测算法(例如,“只看一次”(YOLO)算法的改编),以在414处预测输入P&ID图像的比例、计算图像的符号的计算出的长度。在实施例中,跨所有检测到的图像执行圆圈检测算法以获得最频繁出现的圆圈的直径,并且将最频繁的直径设置为计算图像的符号的计算出的长度。本领域普通技术人员将理解的是,本文描述的像素尺寸是示例性的,并且在本公开的一个或多个方面内,可以使用任何其它尺寸来实现相似的结果。

在实施例中,过滤算法206包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供过滤算法206。例如,根据本公开的示例性实施例,过滤算法206可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。

图4B图示了总体上以422指示的被配置为预测圆圈半径的示例性卷积网络。在实施例中,卷积网络422输入各自具有52×52像素的尺寸的二进制图像的一个通道,并输出指示该符号是否是圆圈、中心坐标和半径的数组(例如,[is-Circle?,center_x,center_y,radius])。有益地,这有助于识别输入图像的比例。以一种形式,卷积网络422在3200个原始训练数据单元上包括92%的训练准确度,并且不利用扩增的训练数据。

再次参考图2,符号提取器208被配置为检测降级的图像中的符号。图5A图示了总体上以500指示的用于检测降级的图像中的符号的示例性方法。在502处,符号提取器208应用图像处理算法以识别具有52×52像素的符号尺寸的降级的图像中符号的可能区域。在504处,符号提取器208经由总体符号识别技术来检测符号、它们的确切类型以及它们在降级的图像(52×52像素)中的位置。在506处,符号提取器208增加用于任何新检测到的符号的计数器。以这种方式,符号提取器208跟踪检测到的符号的数量,并且可以确定在当前执行周期期间是否检测到任何新的符号。当在当前周期期间符号计数增加时,该方法返回到步骤502并重复。当当前周期期间符号计数未增加时,该方法结束。

在实施例中,符号提取器208包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供符号提取器208。例如,根据本公开的示例性实施例,符号提取器208可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。在实施例中,过滤算法206和符号提取器208至少部分地包括符号分类引擎。

图5B图示了总体上以508指示的被配置为识别降级的图像中的符号的示例性卷积网络。在实施例中,卷积网络508输入各自具有64×64像素的尺寸的二进制图像的一个通道,并输出检测到的符号的名称。以一种形式,卷积网络508包括6073个原始训练数据单元,并利用151790个扩增的训练数据单元(例如,用于训练的144156个和用于验证的7581个)。下表描述了根据本公开的一方面的用于卷积网络508的示例性扩增技术。

再次参考图2,标签预处理210被配置为从计算图像中的检测到的符号中移除符号线,在计算图像中仅留下标签成分(例如,标识字母和标签编号)。图6A图示了总体上以600指示的用于从检测到的符号中移除符号线的示例性方法。在602处,标签预处理算法210使符号居中。然后,标签预处理算法210在604处从符号中移除符号线,仅留下标签成分。在606处,标签预处理算法210将连接的像素聚类,并移除小于标准文本尺寸且大于标准文本尺寸的任何东西。每个集群都有边界框。标签预处理算法210在608处以相同的级别并且按照从左到右的次序找到边界框。以这种方式,标签预处理算法210被配置为移除非标签像素和噪声。图6B图示了在移除符号线之后(例如,在步骤604之后)的符号的标签成分的示例性输出,并且图6C图示了提取出的标签的示例性输出(例如,在步骤606和608之后)。

在实施例中,标签预处理算法210包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供标签预处理算法210。例如,根据本公开的示例性实施例,标签预处理算法210可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。

再次参考图2,标签提取器212被配置为提取计算图像中的符号的标签成分。图7A图示了总体上以700指示的用于提取符号的标签成分的示例性方法。在实施例中,标签包括标签名称和标签编号,并且经由机器学习来识别。在一些实施例中,标签名称和/或标签编号中的相邻字符彼此结合,并且必须经由一种或多种分割技术来分离。在702处,标签提取器212检查标签的字符中的垂直间隙。当存在垂直间隙时,标签提取器212在704处对字符进行分割,然后使用机器学习技术执行字符识别。当不存在垂直间隙时,标签提取器212确定给定字符集的宽高比是否大于预定阈值(例如,0.6等)。当宽高比大于预定阈值时,标签提取器212使用垂直方向上的像素密度应用分割。示出白色像素的峰的区域是连接的字符中可能的拆分区域。此后,标签提取器212使用机器学习技术执行字符识别。当宽高比小于或等于阈值时,标签提取器212使用机器学习技术执行字符识别。当字符识别失败时,标签提取器212确定字符的尺寸是否小(例如,应用检查以照顾未被先前技术拆分的字符)。此外,在708处,标签提取器212应用滑动窗口分割技术。当滑动窗口分割技术无法识别字符时,将重复该过程,但是任何字符识别导致或具有小尺寸输出的方法都有助于停止滑动窗口。

在实施例中,标签提取器212包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供标签提取器212。例如,根据本公开的示例性实施例,标签提取器212可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。在实施例中,标签预处理算法210和标签提取器212至少部分地包括标签分类引擎。

图7B图示了滑动窗口分割技术的各方面。在712处,将字符“S”和“V”结合在一起,并且标签提取器212利用滑动窗口710-A来对其进行分割。标签提取器212测试给定的滑动是否产生由机器学习(例如,机器学习系统104)识别的任何字符。如果不是,那么标签提取器212减小滑动窗口710-A的尺寸,在714处示出的,并重复该过程。当机器学习组件识别出字符时,在716处示出的,标签提取器212存储该字符并将窗口前进到下一个位置。如在718处所示,用另一个滑动窗口710-B针对下一个字符重复步骤。

图7C图示了根据本公开的一方面的包括标签提取器212的示例性字符识别网络720。字符识别网络720被划分为两个级别。网络720的第一级别是判定器网络722。判定器网络722判定输入图像是字符(例如,单个字符、字母数字等)还是辅助词(例如,多字符)。判定器网络720的第二级别包括单字符网络724和辅助词网络726。

图7D将判定器网络722图示为卷积神经网络。在实施例中,判定器网络722输入各自具有64×64像素的尺寸的二进制图像的一个通道,并输出进一步的字符分类所需的网络的类型。以一种形式,判定器网络722在4431个原始训练数据单元上包括99.1%的训练准确度,并利用75339个扩增的训练数据单元(例如,用于训练的71575个和用于验证的3764个)。下表描述了根据本公开的一方面的用于判定器网络722的示例性扩增技术。

图7E图示了作为卷积网络的单字符网络724。在实施例中,单字符网络724输入各自具有64×64像素的尺寸的二进制图像的一个通道,并输出识别出的字符。以一种形式,单字符网络724在4431个原始训练数据单元上包括98.5%的训练准确度,并利用72882个扩增的训练数据单元(例如,用于训练的69271个和用于验证的3611个)。下表描述了根据本公开的一方面的用于单字符网络724的示例性扩增技术。

图7F图示了作为卷积网络的辅助词网络726。在实施例中,辅助词网络726输入各自具有64×64像素的尺寸的二进制图像的一个通道,并输出检测到的符号的名称。以一种形式,辅助词网络726在1228个原始训练数据单元上包括98.2%的训练准确度,并利用20812个扩增的训练数据单元(例如,用于训练的19805个和用于验证的1007个)。下表描述了根据本公开的一方面的用于辅助词网络726的示例性扩增技术。

再次参考图2,规则引擎214被配置为基于一个或多个规则来核实从计算图像中提取出的标签。在实施例中,规则基于ISA符号标准,并且被划分为两类:主要合规性检查(例如,红色类别)和次要合规性检查(例如,橙色类别)。示例性主要合规性检查包括但不限于核实符号是有效类型之一(例如,现场设备、控制室显示器等),以及核实标签名称具有一个或多个标识字母。示例性次要合规性检查包括但不限于核实标签名称中的标识字母不包含任何数字数位,以及标签名称中的标签编号除末尾以外不包含任何字母字符。在实施例中,规则引擎214包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供规则引擎214。例如,根据本公开的示例性实施例,规则引擎214可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。

线提取器216被配置为提取计算图像中的符号之间的线。在实施例中,提取出的线包括管线和连接符号,诸如管线、过程连接、电气信号、气动信号、数据链路、用于填充的系统的毛细管道、液压信号线以及引导的电磁或声音信号。如本领域普通技术人员将理解的,使用几何线拟合算法从图像中提取线。一旦线被提取出,就使线的一部分经受一个或多个机器学习模型,以获得如上面所提到的线的类型。在实施例中,线提取器216包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供线提取器216。例如,根据本公开的示例性实施例,线提取器216可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。

应用108被配置为经由GUI 112(例如,在计算设备的显示设备上)显示信息,以使人类用户能够查看和/或核实所有机器识别出的符号和标签,添加、编辑和/或删除符号和标签,并将结果保存(例如,保存数据226)到计算机可读存储设备中以供下游消费。示例性下游任务包括但不限于仪器标签列表验证、控制和安全性软件工程、硬件工程、HMI和测试任务的自动化以及用分层信息构建资产模型。在实施例中,应用108包括实施在存储存储器设备上的处理器可执行指令,以经由软件环境提供应用108。例如,根据本公开的示例性实施例,应用108可以被提供为处理器可执行指令,其包括被计算设备独立使用或结合系统100的附加方面使用的过程、函数、例程、方法和/或子程序,如本文进一步描述的。根据本公开的各方面,应用可以包括桌面应用和/或web浏览器应用。根据本公开的各方面,图8图示了利用应用108的系统和方法100的示例性工作流800,并且图9图示了利用应用108的系统和方法100的示例性工作流900。

图10图示了根据本公开的一方面的利用应用108的系统和方法100的示例性自动化工作流1000。在1002处,在web浏览器中打开应用108(例如,P&ID应用)。当在系统100中创建新项目时,工作流进行到1004,在其中创建新项目。继续到1006,P&ID 102批量上传,然后工作流前进到1016。当利用系统100中的现有项目时,工作流前进到1008,在其中打开现有项目。在实施例中,在1010处,新的P&ID 102被添加到系统,然后工作流前进到1016。在另一个实施例中,在1012处将修订后的P&ID 102添加到系统。在1014处,找出差异(例如,修订),然后工作流前进到1016。在1016处,系统100检查标签和符号类型的正确性并获得批准。系统100在1018处识别丢失的符号并添加标签。在1020处,系统100下载标签列表(例如,以逗号分隔的值(csv)格式等)。

再次参考图2,智能系统218被配置为实现机器学习算法以识别计算图像中的符号。在实施例中,由智能系统218实现的机器学习算法是确切的符号识别步骤。在确切的符号识别步骤中,智能系统218将深度神经网络应用于通过整个图像上的滑动窗口获得的图像的特定区域。这种深层的神经网络导致符号候选的多类分类。在实施例中,按照ISA符号体系对符号进行分类。示例性符号包括但不限于仪器、控制/显示元件、可编程逻辑控制器(PLC)、阀门、泵等。如本文进一步描述的,智能系统218利用至少三种类型的卷积神经网络来识别标签和/或标签字符。三种类型包括:判定器网络(例如,判定器网络722),以决定输入是单个还是多个字符;单字符网络(例如,单字符网络724),以识别单个字母和数字字符;以及多字符网络(例如,辅助词网络726),以识别多个字符或词。在实施例中,智能系统218利用基于上下文的预测来区分相似的字符,诸如大写字母“I”与数字“1”以及数字“0”与字母“O”等。

如图2中所示,智能系统218接收反馈,诸如自动反馈106和手动反馈110。智能系统218利用这些反馈校正来训练机器学习算法,并提高系统100从P&ID 102提取相关信息的能力。以这种方式,智能系统218利用监督式学习。图11图示了智能系统218的机器学习模型、自动反馈106和手动反馈110之间的关系。手动反馈110被用于直接训练机器学习模型,并且还控制自动反馈106的各方面。自动反馈106还训练机器学习模型。在实施例中,自动反馈106包括对符号的验证以及对标签和/或字符的验证。对符号的示例性验证包括但不限于核实符号具有分布良好的像素并且黑色或白色像素的高密度指示不存在符号。标签和/或字符的示例性验证包括但不限于核实标签和/或字符具有与符号的尺寸成比例的最小和最大尺寸、核实给定字符是否由连续的相连像素组成(例如,任何间隙都指示非字符),并核实单个字符具有在大约0.2到大约0.8之间的宽高比。智能系统218从应用108接收手动反馈110。

图12图示了总体上以1200指示的基于反馈来更新智能系统218的示例性方法。在1202处,智能系统218接收自动反馈106,并确定机器学习模型与接收到的自动反馈106之间是否存在差异。当不存在差异时,不更新模型。但是,当机器学习模型与接收到的自动反馈106之间存在至少一个差异时,智能系统218在1204处重新计算机器学习模型。当智能系统218接收到手动反馈110时,它在1204处直接重新计算机器学习模型。在1206处,智能系统218确定系统中是否存在任何回归。当未找到回归时,系统在1212处自动更新模型。当找到回归时,将警报发送给专家(例如,经由应用108),以做出关于是否更新模型的决定。

图13图示了计算设备1300的示例性体系架构,该计算设备1300被编程为经由软件环境提供演进的P&ID分析系统和方法100的各方面。在这个实施例中,计算设备1300包括P&ID分析处理器1302、存储器1304以及与I/O组件1308接口的输入/输出(I/O)接口1306。存储器1304包括P&ID 102、图像转换器204、(一个或多个)计算图像、过滤算法206、符号提取器208、标签预处理算法210、标签提取器212、规则引擎214、线提取器216、智能系统218、保存数据226、自动反馈106、应用102、GUI 112和手动反馈110,这些各自实施在处理器可执行指令中以供处理器1302执行。

处理器1302、存储器1304和I/O接口1306彼此通信连接和/或电连接。I/O接口1306通信和/或电连接到I/O组件1308。处理器1302适于执行存储在存储器1302中的处理器可执行指令,以实现图像转换器204、过滤算法206、符号提取器208、标签预处理算法210、标签提取器212、规则引擎214、线提取器216、智能系统218、自动反馈106、应用108和手动反馈110。图13的I/O接口1306在计算设备1300和I/O组件1308之间提供物理数据连接。在实施例中,如本文进一步描述的,I/O接口1306是网络接口卡(NIC)或调制解调器,并且I/O组件1308是电信网络。

图14图示了总体上以1400指示的可以在其中实现本公开的各方面的示例性工程系统和方法。在实施例中,在1402处,将P&ID 102提供给应用108。在实施例中,项目工程师以PDF文件格式提供P&ID 102。在1412处,应用108将接收到的P&ID 102(例如,PDF文件)写入(例如,保存数据226)到存储器设备1304。在实施例中,存储器设备1304包括硬盘驻留文件系统。在1414处,应用108还在SQL服务器1402上创建作业,并在1418处将作业信息添加到SQL数据库1404。作业管理器服务1406从SQL数据库1404读取1420作业信息,并将作业指派1422给核心服务1408。核心服务1408在1424处从存储器设备1304读取P&ID 102(例如,PDF文件),并且对其执行本文描述的演进的P&ID分析技术。核心服务1408在1426处将分析的结果集(例如,JSON文件、符号文件、符号数据等)存储到存储器设备1304,并且在1428处将结果集从存储设备1304提供给应用108。核心服务1408还在1430处更新SQL数据库1404中的作业信息。在1418处,通过HMI应用108进行的任何改变(例如,由项目工程师等进行的改变)都记录在SQL DB 1404中,并且这个信息在1416处经由SQL服务器1402提供给智能系统218(例如,“学习系统”)以便用新的学习来更新机器学习模型。

在一方面,本公开提供了一种计算机实现的方法,该方法从P&ID提取相关信息并将信息反馈回机器学习组件以进行自我演进和自我学习。该方法包括在访问(例如,来自图像转换器204的)P&ID的图像的计算设备(例如,计算设备1300)上执行的机器学习系统(例如,机器学习系统104)。在计算设备上执行的符号分类引擎(例如,过滤算法206、符号提取器208、自动反馈106和/或智能系统218)确定所访问的图像是否包括指示过程控制元件(例如,流体处理系统1410的组件)的符号。使用监督式学习来训练符号分类系统,以基于所访问的图像是否包括指示过程控制元件的符号以及该符号在P&ID中的相对位置来将图像分类为多个类别。在确定所访问的图像包括符号后,将符号输出(例如,保存的数据226)存储在计算机可读存储器存储设备(例如,存储器1304)中。在计算设备上执行的标签分类引擎(例如,标签预处理算法210、标签提取器212、自动反馈106和/或智能系统218)确定所访问的图像是否包括与该符号对应的标签。使用监督式学习来训练标签分类引擎,以基于所访问的图像是否包括标签来将图像分类为多个类别。在确定所访问的图像包括标签后,将标签输出(例如,保存的数据226)存储在计算机可读存储器存储设备中。

在另一方面,一种系统包括处理器(例如,处理器1302)和计算机可读存储设备(例如,存储器1304)。存储设备存储处理器可执行指令,该处理器可执行指令在由处理器执行时包括图像转换器(例如,图像转换器204)、一个或多个过滤算法(例如,过滤算法206)、符号提取器(例如,符号提取器208)、一个或多个标签预处理算法(例如,标签预处理算法210)、标签提取器(例如,标签提取器212)和智能系统(例如,智能系统218)。图像转换器被配置为接收电子格式的P&ID,并将其转换成图像格式的计算图像。过滤算法被配置为处理计算图像,以获得图像中符号的近似尺寸。符号提取器被配置为从计算图像提取符号并将提取出的符号存储在计算机可读存储设备上。标签预处理算法被配置为从计算图像中的符号移除符号线。标签提取器被配置为在计算图像中提取符号的标签成分,并将提取出的标签存储在计算机可读存储设备上。并且智能系统被配置为从过滤算法接收符号反馈、从标签预处理算法接收标签反馈、基于接收到的符号反馈来重新训练符号提取器,并且基于接收到的标签反馈来重新训练标签提取器。

在另一方面,本公开提供了一种从P&ID提取相关信息并重新训练机器学习组件的计算机实现的方法。该方法包括接收数字化的P&ID并使用符号引擎(例如,过滤算法206、符号提取器208、自动反馈106和/或智能系统218)来分析数字化的P&ID,以从中识别和提取符号。以一种形式,分析导致至少一个符号错误。标签引擎(例如,标签预处理算法210、标签提取器212、自动反馈106和/或智能系统218)被用于分析数字化的P&ID,以识别并从中提取标签。以一种形式,分析导致至少一个标签错误。提取出的符号和标签被存储在计算机可读存储介质(例如,存储器1304)上。基于至少一个符号错误来重新训练符号引擎,并且基于至少一个标签错误来重新训练标签引擎。

本公开的实施例可以包括专用计算机,该专用计算机包括各种计算机硬件,如下面更详细地描述的。

在本公开的范围内的实施例还包括用于携带或具有存储在其上的计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可以由专用计算机访问的任何可用介质,并且包括计算机存储介质和通信介质。作为示例而非限制,计算机存储介质包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质,诸如计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质是非暂态的,并且包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)、数字多功能盘(DVD)或其它光盘存储装置、固态驱动器(SSD)、磁带盒、磁带、磁盘存储装置或其它磁性存储设备,或可以被用于以计算机可执行指令或数据结构的形式携带或存储期望的非暂态信息并且可以由计算机访问的任何其它介质。当通过网络或另一个通信连接(或者硬连线、无线,或者硬连线或无线的组合)将信息传送或提供给计算机时,计算机将连接适当地视为计算机可读介质。因此,任何这种连接都被适当地称为计算机可读介质。上述的组合也应当包括在计算机可读介质的范围内。计算机可执行指令包括例如使通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。

以下讨论旨在提供可以在其中实现本公开的各方面的合适计算环境的简要、一般描述。虽然不是必需的,但是将在由网络环境中的计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本公开的各方面。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、相关联的数据结构和程序模块表示用于执行本文公开的方法的步骤的程序代码手段的示例。这样的可执行指令或相关联的数据结构的特定序列表示用于实现在这些步骤中描述的功能的对应动作的示例。

本领域技术人员将认识到的是,可以在具有许多类型的计算机系统配置的网络计算环境中实践本公开的各方面,所述计算机系统配置包括个人计算机、手持式设备、多处理器系统、基于微处理器或可编程的消费者电子设备、网络PC、小型计算机、大型计算机等。本公开的各方面也可以在分布式计算环境中实践,其中任务由通过通信网络链接(或者通过硬连线、无线链路,或者通过硬连线或无线链路的组合)的本地和远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

用于实现本公开的各方面的示例性系统包括常规计算机形式的专用计算设备,该专用计算设备包括处理单元、系统存储器以及将包括系统存储器的各种系统组件耦合到处理单元的系统总线。系统总线可以是几种类型的总线结构中的任何一种,包括使用各种总线体系架构中的任何一种的存储器总线或存储器控制器,外围总线和局部总线。系统存储器包括计算机存储介质,包括非易失性和易失性存储器类型。包含有助于在计算机内部的元件之间传递信息(诸如在启动期间)的基本例程的基本输入/输出系统(BIOS)可以存储在在ROM中。另外,计算机可以包括能够无线地向互联网传输或从互联网接收IP地址的任何设备(例如,计算机、膝上型计算机、平板电脑、PDA、蜂窝电话、移动电话、智能电视等)。

计算机还可以包括用于从磁性硬盘读取和向磁性硬盘写入的磁性硬盘驱动器、用于从可移动磁盘读取或向可移动磁盘写入的磁盘驱动器,以及用于从可移动光盘(诸如CD-ROM或其它光学介质)读取或向可移动光盘写入的光盘驱动器。磁性硬盘驱动器、磁盘驱动器和光盘驱动器分别通过硬盘驱动器接口、磁盘驱动器接口和光盘驱动器接口连接到系统总线。驱动器及其相关联的计算机可读介质为计算机提供了计算机可执行指令、数据结构、程序模块和其它数据的非易失性存储。虽然本文描述的示例性环境采用磁性硬盘、可移动磁盘和可移动光盘,但是也可以使用其它类型的用于存储数据的计算机可读介质,包括盒式磁带、闪存卡、数字视频盘、Bernoulli盒式磁带、RAM、ROM、SSD等。

通信介质通常在诸如载波或其它运输机制之类的经调制的数据信号中实施计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。

包括一个或多个程序模块的程序代码手段可以存储在硬盘、磁盘、光盘、ROM和/或RAM上,包括操作系统、一个或多个应用程序、其它程序模块和程序数据。用户可以通过键盘、定点设备或其它输入设备(诸如麦克风、操纵杆、游戏垫、碟形卫星天线、扫描仪等)将命令和信息输入到计算机中。这些和其它输入设备常常通过耦合到系统总线的串行端口接口连接到处理单元。可替代地,输入设备可以通过其它接口连接(诸如并行端口、游戏端口或通用串行总线(USB))连接。监视器或另一种显示设备也经由接口(诸如视频适配器)连接到系统总线。除了监视器之外,个人计算机通常还包括诸如扬声器和打印机之类的其它外围输出设备(未示出)。

本公开的一个或多个方面可以在存储在系统存储器或非易失性存储器中的计算机可执行指令(即,软件)、例程或函数中实施为应用程序、程序模块和/或程序数据。可替代地,软件可以远程存储,诸如存储在具有远程应用程序的远程计算机上。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们在由计算机或其它设备中的处理器执行时执行特定任务或实现特定抽象数据类型。可以将计算机可执行指令存储在一个或多个有形的非暂态计算机可读介质(例如,硬盘、光盘、可移动存储介质、固态存储器、RAM等)上,并由一个或多个处理器或其它设备执行。如本领域技术人员将认识到的,程序模块的功能可以在各种实施例中按照期望组合或分布。此外,功能可以全部或部分地实施在固件或硬件等同物中,诸如集成电路、专用集成电路、现场可编程门阵列(FPGA)等。

计算机可以使用到一个或多个远程计算机的逻辑连接在联网的环境中操作。远程计算机可以各自是另一个个人计算机、平板电脑、PDA、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括上面相对于计算机所描述的许多或所有元件。逻辑连接包括在此以示例而非限制的方式呈现的局域网(LAN)和广域网(WAN)。这种联网环境在办公室范围或企业范围的计算机网络、内联网和互联网中是常见的。

当在LAN联网环境中使用时,计算机通过网络接口或适配器连接到本地网络。当在WAN联网环境中使用时,计算机可以包括调制解调器、无线链路或用于通过广域网(诸如互联网)建立通信的其它手段。可以是内部的或外部的调制解调器经由串行端口接口连接到系统总线。在联网的环境中,相对于计算机描绘的程序模块或其部分可以存储在远程存储器存储设备中。将认识到的是,所示的网络连接是示例性的,并且可以使用在广域网上建立通信的其它手段。

优选地,计算机可执行指令被存储在诸如硬盘驱动器之类的存储器中,并由计算机执行。有利地,计算机处理器具有实时执行所有操作(例如,执行计算机可执行指令)的能力。

在本文中说明和描述的本公开的实施例中,执行操作的次序不是必需的,除非另有说明。即,除非另有说明,否则可以以任何次序执行操作,并且本公开的实施例可以包括比本文公开的操作更多或更少的操作。例如,预期在另一个操作之前、同时或之后执行特定操作在本公开的各方面的范围内。

本公开的实施例可以用计算机可执行指令来实现。可以将计算机可执行指令组织成一个或多个计算机可执行组件或模块。可以用任何数量和组织的此类组件或模块来实现本公开的各方面。例如,本公开的各方面不限于图中所示和本文描述的特定计算机可执行指令或特定组件或模块。本公开的其它实施例可以包括具有比本文说明和描述的功能更多或更少的功能的不同的计算机可执行指令或组件。

当介绍本公开的各方面或其实施例的要素时,冠词“一”、“该”和“所述”旨在表示存在一个或多个该要素。术语“包括”、“包含”和“具有”旨在是包括性的,并且意味着除所列要素外还可以有附加要素。已经详细描述了本公开的各方面,将清晰的是,在不脱离如所附权利要求所限定的本公开的各方面的范围的情况下,修改和变化是可能的。由于可以在不脱离本公开的方面的范围的情况下对以上构造、产品和方法进行各种改变,因此意图在于以上描述中包含的以及在附图中示出的所有内容都应被解释为说明性的,而不在限制的意义上解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号