基于深度学习的非侵入式摄像读取方法及系统
技术领域
本申请属于图像识别技术领域,具体地,涉及一种基于深度学习的非侵入式摄像读取方法及系统。
背景技术
在绝大多数的制造业企业中,其生产过程的各个环节复杂、安全防护要求高、生产装置精密性强。因此需要对产品生产过程中产生的大量过程数据和能耗数据进行实时采集与分析,同时,需要对多个控制子系统进行协同优化。目前的状况,企业大多采用人工录入或现场统计分析的方式,然后将工人的记录以及统计分析结果上交至企业的管理者,企业的管理者以此提高管理决策效率。但是,由于工人的视觉、心理疲劳程度往往直接影响了人工记录的准确性,使生产数据存在人为误差且很难彻底避免。同时,若企业有多个不同型号的生产自动化系统,还会造成各控制子系统之间相互独立形成一个个“数据孤岛”,这都对后续大数据决策更是带来负面影响。因此生产控制系统的数据采集要求及现状迫切需要工厂生产数字化、信息化。
因此,制造业企业可视化管理的需求也应运而生,可视化管理是将生产或能耗等数据通过各种视觉通道映射成图形,从而使用户更快、更准确地理解数据背后的规律和趋势。可视化管理技术最常见的方式就是基于OPC接口程序标准或者硬件生产商提供的开放数采接口来读取现场数据,然后搭建数据采集融合系统。这种方式的数据采集方案虽然稳定性高,但是非常侵入于生产设备,灵活性低。且工控领域的高端生产设备多采自国外,很多国外设备的生产数据接口并不开放,即使硬件生产商开放OPC接口或者服务器,企业往往需要为此付出高昂的使用费用,并且后期基于开放接口进行软件开发都要受到硬件生产商的限制。因此,生产企业在不需要侵入生产设备的前提下,可以不受限制的通过灵活的第三方技术实现对工控机系统的生产可视化管理。
发明内容
本发明提出了一种基于深度学习的非侵入式摄像读取方法及系统,旨在解决现有技术中对工控机系统的生产可视化管理依赖于生产设备,灵活性低且数据受限的问题。
根据本申请实施例的第一个方面,提供了一种基于深度学习的非侵入式摄像读取方法,包括以下步骤:
摄像获取控制系统的界面图像;
根据界面图像进行文字识别得到文字识别结果,和/或根据界面图像进行图像分类得到分类识别结果。
可选地,摄像获取工业控制系统的界面图像,包括通过模拟键鼠模块实现非侵入式控制工业控制系统的界面进行切换。
可选地,根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果,具体包括:
提取界面图像的检测框,检测框包括界面图像的特征;
将检测框进行文字识别得到文字识别结果;和/或将检测框进行图像分类得到分类识别结果。
可选地,提取界面图像的检测框之前,还包括根据界面图像进行图像矫正来消除图像扭曲变形得到规范的界面图像。
可选地,图像矫正具体包括:
通过边缘检测以及轮廓检测获取界面图像的四个角点;
根据四个角点的坐标得到单应变换矩阵;
根据单应变换矩阵得到变换后的界面图像。
可选地,将检测框进行文字识别得到文字识别结果;同时将检测框进行图像分类得到分类识别结果之后,还包括:
获取文字识别结果的置信度;获取分类识别结果的置信度;
分别将文字识别结果的置信度以及分类识别结果的置信度与置信度阈值进行比较;或者分别将分类识别结果的置信度以及文字识别结果的置信度进行加权融合之后与置信度阈值进行比较;
当文字识别结果的置信度或分类识别结果的置信度大于置信度阈值时,输出文字识别结果或分类识别结果;当文字识别结果的置信度或分类识别结果的置信度小于或等于置信度阈值时,重新进行文字识别以及图像分类。
可选地,提取界面图像的检测框,具体包括:
根据界面图像通过基于先验知识的预标定技术得到预标记框;根据界面图像通过文本检测技术得到文本检测框;
基于预标记框根据文本检测框进行矫正得到最终检测框。
根据本申请实施例的第二个方面,提供了基于深度学习的非侵入式摄像读取系统,具体包括:
界面获取模块:用于摄像获取工业控制系统的界面图像;
界面识别模块:用于根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果。
根据本申请实施例的第三个方面,提供了一种非侵入式摄像读取终端,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行基于深度学习的非侵入式摄像读取方法。
根据本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现基于深度学习的非侵入式摄像读取方法。
采用本申请实施例中的基于深度学习的非侵入式摄像读取方法及系统,首先摄像获取工业控制系统的界面图像;然后,根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果。实现了在不需要侵入生产设备的前提下,可以不受限制的灵活的实现对工控机系统的关键生产数据的实时采集和可视化管理。本申请在制造业企业的应用,既省去了工人手工抄录的步骤,又可以帮助工人更好地管理工控机,其数据结果还可以辅助管理者提高决策效率,为企业走向信息化、进行大数据智能决策提供了保障。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1中示出了根据本申请的文字识别技术应用示例图;
图2中示出了根据本申请的图像分类应用示例图;
图3中示出了根据本申请实施例的基于深度学习的非侵入式摄像读取方法的步骤流程图;
图4中示出了根据本申请另一实施例的非侵入式摄像读取方法的文本识别流程图;
图5中示出了根据本申请实施例的图像矫正的过程示意图;
图6中示出了本申请实施例中分别仅采用文本检测技术提取检测框以及仅采用基于先验知识的预标定技术提取检测框出现偏差的示意图;
图7中示出了本申请实施例中分别仅采用文本检测技术提取检测框以及仅采用基于先验知识的预标定技术提取检测框出现偏差的另一示意图;
图8中示出了本申请实施例中文字识别神经网络架构图;
图9中示出了本申请实施例中图像分类神经网络架构图;
图10示出了根据本申请实施例的文本识别过程中多模型的决策融合的原理示意图;
图11示出了根据本申请实施例的基于深度学习的非侵入式摄像读取系统的结构示意图;
图12示出了根据本申请另一实施例的基于深度学习的非侵入式摄像读取系统的整体架构图。
图13示出了根据本申请另一实施例的基于深度学习的非侵入式摄像读取系统的系统流程图。
图14示出了根据本申请实施例的非侵入式摄像读取终端的结构示意图。
具体实施方式
在实现本申请的过程中,发明人发现工业控制系统中工人需要经常去查看工控机以获取机器的运行状态来更好地操控机器,管理者需要查看工控机的周报、月报信息,来对企业的运行状况有更深入的了解,也能更好的提高决策效率。基于背景技术中可视化管理的现状需求,本申请提出了一种面向工业控制系统的非侵入式摄像智读技术及系统。
目前现有相关技术的摄像智读技术只是应用在电表、水表等简易设备上,且传统的摄像智能技术只是在监控固定界面,但本申请允许监控画面中的窗口移动、重叠,通过使用非侵入式的模拟键鼠就可以对监控画面的窗口进行位置复原。
本申请率先使用基于深度学习的摄像智读技术应用于工控系统。一方面,利用深度学习领域的文字识别和图像分类技术对工控机的界面进行摄像智读以实时提取工业生产环节中的关键数据字段。另一方面,本申请提通过基于无驱动模拟键鼠的非侵入式的技术,即直接利用模拟键鼠(USB外接芯片加单片机驱动)对工控机的显示界面进行切换,而无需安装驱动和额外的软件。
在文字识别和图像分类技术中,确定关键数据字段候选框时,又综合了深度学习的文本检测技术和基于先验知识的预标定技术,大大提高了数据字段定位的精度。同时,本申请创造性使用神经网络多模型融合技术来促进解析工控机界面精度,可以更好的读取结构更加复杂的界面。本申请在制造业企业的应用,既省去了工人手工抄录的步骤,又可以帮助工人更好地管理工控机,其数据结果还可以辅助管理者提高决策效率,为企业走向信息化、进行大数据智能决策提供了保障。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
为了更好的说明本申请实施例的基于深度学习的非侵入式摄像读取方法,首先对本申请实施例采用的非侵入式技术、摄像读取技术、图像处理技术、文字识别技术以及图像分类技术进行描述。
关于非侵入式技术,非侵入式指无需对原有的操作系统进行修改前提下获取所需数据的技术。这种技术的典型特征是无需在宿主机安装辅助的软件,无需安装设备驱动。本申请实施例中,通过非侵入式技术避免了直接读取工控机的内存数据,从而避免了因此产生工控机瘫痪的风险,本申请具体通过使用无驱动的模拟键鼠(一种外接芯片)来控制工控机的显示界面,并以此作为摄像智读系统与工控机交互的接口。
关于摄像读取技术,摄像读取、摄像智读技术是以数字图像为媒介,将待处理的自然生活场景直接转化成计算机中存储的可编辑的数据格式的软硬一体解决方案。本申请实施例中先以摄像的方式将工控机的显示界面记录下来,然后借助图像处理、文字识别、图像分类技术来解析数字图像中的特定区域的文字、图形进行解析、然后存储成可以被前端界面直接封装的数据格式。
关于图像处理技术,图像处理指采用计算机对图像进行分析,以达得到需要的结果的技术,又称影像处理,图像处理一般指数字图像处理。本申请实施例中,对待监控的数字图像进行边缘检测、轮廓检测以及单应变换等图像处理技术来截取出拍摄图像中的工控机轮廓画面,同时本申请使用的模型在训练过程中也会使用图像处理技术对所训练图像的亮度、对比度及饱和度进行调节。
关于文字识别技术,文字识别是一种较为成熟的深度学习技术,将图片上的文字内容智能识别成为可编辑的文本,图1中示出了文字识别技术应用示例图,是文字识别的一种应用场景。文字识别也是目前最有前景的人工智能AI应用技术之一。文字识别的应用领域主要有智能制造、自动驾驶、自动机器人等领域。本申请实施例中,文字识别使用的是卷积神经网络和CTC识别算法的训练策略,最后生成用于文字识别的模型。
关于图像分类,图像分类也是深度学习领域内比较火热的研究课题,是使用计算机视觉和机器学习算法从图像中抽取意义的任务。图2中示出了根据本申请的图像分类应用示例图。如图2所示,图像分类操作可以简单的为一张图像分配一个标签,如猫、狗还是鸟。
本申请实施例的提供了面向工业控制系统(不限于工业控制系统)的非侵入式摄像智读技术及系统,本申请通过解析工控机的显示界面的数据,以此指导车间工人工作以及办公室管理人员决策,为管理车间机器的正常运行提供了保障。
图3中示出了根据本申请实施例的基于深度学习的非侵入式摄像读取方法的步骤流程图。
如图3所示,本实施例的基于深度学习的非侵入式摄像读取方法,具体包括以下步骤:
S10:摄像获取工业控制系统的界面图像;
S20:根据界面图像进行文字识别得到文字识别结果,包括得到关键数据字段识别结果;和/或根据所述界面图像进行图像分类得到分类识别结果。
步骤S10中,摄像获取工业控制系统的界面图像,可以通过模拟键鼠模块实现非侵入式控制工业控制系统的界面进行切换。
模拟键鼠是一种无驱动的外接USB芯片,无需在工控机上安装软件就可实现对工控系统的非侵入式控制,并实现工控机显示窗口的自动切换。
具体的,模拟键鼠的主要功能包括按照预先设定的程序实现工控机窗口的自动切换。实现工控机窗口的自动切换需要利用模拟键鼠点击窗口菜单栏的按钮。以此,模拟键鼠实现工控机窗口的自动切换主要包括以下步骤:
第一个步骤,首先确定按钮的位置;
第二个步骤,进行鼠标移动路径规划;路径规划原则是选择尽可能省时的路线,通过鼠标移动路径将鼠标焦点移动到按钮上。因为窗口菜单栏的位置是不发生变化的,所以首先需要将工控机界面中按钮的位置硬编码到文件中。
第三个步骤,然后通过路径规划程序控制鼠标移动路线点击按钮进行窗口的自动切换。
模拟键鼠模块在工业控制系统具体应用时,通过模拟键鼠打开/关闭待测目标的上位机监控界面;然后触发相机对界面进行拍摄,并将界面图像回传后读取分析;在分析时采用基于深度学习的窗口检测定位、字符检测以及字符识别等技术;最后保存分析结果数据到数据服务器。
本申请实施例的数据源主要有两种,第一种是实时采集真实数据,用于真实场景下的测试和应用,即步骤S10中通过摄像获取工的界面图像数据;另一种数据是虚拟数据,主要用于本申请实施例中神经网路模型的训练,需要借助图像生成代码大批量生产。
在实时采集真实数据时,由于一个工厂中的所有的工控机的分辨率可能不同,不同工控机所在房间的亮度也不相同,在架设摄像机的时候需要注意将工控机的显示界面整个拍摄下,还要根据当下的环境亮度来调整摄像机的亮度、对比度、饱和度,同时还需要调整合适的焦距。通过调节摄像机的参数和位置,使摄像机拍摄出清晰的显示器界面图像。
在步骤S20中,根据界面图像进行基于深度学习的文本识别,即进行文字识别和/或图像分类获取工业控制系统的数据,具体通过以下步骤实现。
S201:首先,根据界面图像进行图像矫正来消除图像扭曲变形得到规范的界面图像。
S202:然后,提取界面图像的检测框,检测框包括界面图像的特征。
S203:最后,将检测框进行文字识别得到文字识别结果;或将检测框进行图像分类得到分类识别结果;或者将检测框同时进行文字识别以及图像分类得到文字识别结果及分类识别结果。
图4中示出了根据本申请另一实施例的非侵入式摄像读取方法的文本识别流程图。
如图4所示,S201中,首先将拍摄的界面图像进行图像矫正来消除图像扭曲变形得到规范的界面图像。在S10步骤中拍摄获取界面图像时由于拍摄角度的原因,工控机显示界面可能会被拍摄成梯形、四边形等形状,因此,需要将扭曲变形的图像进行矫正。
图5中示出了根据本申请实施例的图像矫正的过程示意图。如图5所示,图像矫正主要包括边缘检测、单应变换等图像处理技术将图像的形状进行矫正。
其中,核心步骤是单应变换。单应变换的最基础条件是确定4个点的坐标,所以本发明选取的是工控机显示界面的四个角点。故此首先进行角点检测确定四个角点的坐标,然后使用单应变换获取变换矩阵和变换后的图像。因为摄像机的位置是固定的,所以只需要求一次单应矩阵,以后每一次的单应变换都可以直接调用首次的单应矩阵。
如图5所示,图像矫正过程主要通过以下步骤实现。
首先,将界面图像的在原图片尺寸基础上减小为原来的1/4大小,这样可以加快运算速度;然后,对处理后的图像进行边缘检测、轮廓检测以及寻找凸包等步骤来确定工控机的显示界面图像的四个角点;其次,根据四个角点的坐标得到单应变换矩阵;最后,使用单应变换将数字图像进行变换,将因拍摄角度造成的图像扭曲情况进行矫正得到变换后的界面图像。
如图4所示,S202中,在得到校正后的界面图象后,进一步提取界面图像的检测框,检测框包括界面图像的特征。
本申请实施例采用基于文本检测技术以及基于先验知识的预标定技术进行检测框的提取。
由于检测框的位置在屏幕上的位置是固定的,所以可以在矫正后的图像上直接利用基于先验知识的预标定技术确定检测框,但是由于单应变换并不是十分精确,导致在矫正后的图像上用先验知识确定的检测框存在误差。与之相对比,如果单单使用深度学习的文本检测检测技术,在矫正的图像上用检测模型检测出的候选框,由于神经网络模型的不稳定性和拍摄图像的色度变化,也会导致模型出现检测不出结果或者检测发生偏差的情况。
图6和图7中示出了本申请实施例中分别仅采用文本检测技术提取检测框以及仅采用基于先验知识的预标定技术提取检测框出现偏差的示意图。
如图6或图7所示,显示了检测框的位置出现偏差的图像,其中框A表示文本检测的检测框,框B表示基于先验知识的预标记框。左图表示文本检测检测框出现偏差情况;右图是预标记框出现偏差情况。
基于此,本申请实施例采用了以预标记框为基准,然后利用文本检测技术检测出的检测框进行矫正,最终生成后续模型所需要的检测框的方式。
因此,本申请实施例提取界面图像的检测框,具体包括:
首先,根据界面图像通过基于先验知识的预标定技术得到预标记框;根据界面图像通过文本检测技术得到文本检测框;
然后,基于预标记框根据文本检测框进行矫正得到最终检测框;最终候选框的的坐标为(x,y,w',h'),其计算公式为:
其中,(x',y',w',h')为预标记框坐标,(Cx,Cy,Cw,Ch)为文本检测框的坐标,conf为文本检测框置信度,α(0<=α<=1)为矫正参数。
如图4的文本识别流程图所示,在步骤S202得到界面图像的最终检测框后,根据检测框的分类结果,执行步骤S203,即将检测框进行文字识别得到文字识别结果;或将检测框进行图像分类得到分类识别结果;或者将检测框同时进行文字识别以及图像分类得到文字识别结果及分类识别结果。
具体的,将包含图像的检测框通过图像分类模型进行进行图像分类得到分类识别结果;将包含文字的检测框通过文字识别模型进行文字识别得到文字识别结果;将包含图像也包含文字的检测框分别通过图像分类模型及文字识别模型进行图像分类和文字识别,得到分类识别结果以及文字识别结果。
在步骤S203中,若检测框中既包含图像也包含文字的情况下,还需要进行步骤S204中的多模型的决策融合操作。
工控机的显示界面有多种显示元素:图像和文字。为了识别图像元素,需要借助图像分类模型进行分类以供下一步识别;对于文字,需要使用文字识别模型进行识别,如果对于同一数据既有图像又有文字,需要借助多模型决策融合来提高识别的准确度。
本申请实施例在企业的工控系统中应用中,为了提高解析工控机显示界面信息的精确度,采用图像分类模型和文字识别模型对这些信息进行双重检测,然后进行决策融合,最终选择出最为精确的信息。
图10示出了根据本申请实施例的文本识别过程中多模型的决策融合的原理示意图。
如图10所示,步骤S204中的多模型的决策融合具体包括以下过程:
首先,运行文本识别程序,获取文字识别结果的置信度conf_ocr;获取分类识别结果的置信度conf_cls。
然后,分别将文字识别结果的置信度以及分类识别结果的置信度与置信度阈值进行比较,即首先以文字识别模型的识别结果为准;或者分别将分类识别结果的置信度以及文字识别结果的置信度进行加权融合之后与置信度阈值进行比较,即首先以图像分类模型的识别结果为准。
最后,当文字识别结果的置信度或分类识别结果的置信度大于置信度阈值时,输出文字识别结果或分类识别结果;当文字识别结果的置信度或分类识别结果的置信度小于或等于置信度阈值时,重新进行文字识别以及图像分类。
在本申请实施例中,参见图8的多模型的决策融合过程,检测框会首先进行分类,同一数据、不同展示形式的检测框会分别送入到图像分类模型和文本识别模型中,程序首先以图像分类模型的识别结果为准,如果分类模型的置信度conf_cls超过置信度阈值0.95,则以图像分类模型解析出的结果为最终结果,如果分类模型的置信度conf_cls不足置信度阈值0.95,再利用文字识别模型的识别结果,如果文字识别模型的置信度conf_ocr超过0.95,则以文本识别模型解析出的结果为最终结果。其中,str_cls,str2_ocr分别表示图像分类模型、文本识别模型预测的置信度的识别结果。
关于文字识别模型,本申请实施例采用基于卷积神经网络的文字识别方法从数字图像中识别出特定区域的数据。图8中示出了本申请实施例中文字识别神经网络架构图。
如图8所示,文字识别神经网络结构特点具体如下:
首先,网络输入图像是尺寸为32*100像素的3通道RGB图片。
然后,通过Trans处理模块实现TPS的空间变换为网络STN,该STN网络不需要关键点的标定,能够根据分类或者其它任务自适应地将数据进行空间变换和对齐,包括平移、缩放、旋转以及其它几何变换等。其中,输入数据在空间差异较大的情况下,STN网络可以加在现有的卷积网络中,以提高识别的准确性。可以根据工控机画面数字的扭曲程度来决定是否开启Trans模块,如果扭曲程度比较大,可以开启Trans模块来对图像进行矫正。
然后,通过Feat模块对经过Trans处理后的数字图像进行特征提取,其中可用的网络结构比较多,常见的有VGG16、VGG19、ResNet12或ResNet34等结构,本申请实施例采用ResNet12网络结构,在输入图像经过4次降采样后形成图像特征,每次降采样的方式为最大池化,降采样后空间使得尺寸减小通道数量增加,每次降采样会将神经网络的感受野增大一倍,最终网络的感受野大小可以看到整张图。卷积前使用批规范化(batchnormalization)将数据尺度统一以减小学习难度,卷积后使用ReLU激活函数引入非线性变换。
其次,通过Seq模块是对Trans处理后的模块进行处理,作为本申请的后台代码,这个模块是一个可选项。卷积神经网络仅仅考虑到的是图像的空间特征,而BiLSTM网络即一种循环神经网络,会考虑时间特征以及综合考虑上下文的语义信息,对于识别一段有意义的文字是很有效的。如果需要识别的文字没有太大的语义信息,就可以省略这个模块,这样能够大大减少内存浪费和计算复杂度。
最后,通过Pred模块根据前面模块处理得到的特征图来预测文字。本申请使用CTC(Connectionist temporal classification)算法将输入序列按预定的列宽且分开整个序列,然后分别将最大概率的字符作为当前列的字符,最后将整个预测串的所有的空格删除,并将两个空格之间的重复字符合并,最后经过处理后的输出字符串就可以作为最后的处理结果。
关于文字识别神经网络的训练,训练上述网络的过程分为以下几步:
首先,进行训练数据预处理,将训练集图像缩放到32*100的大小。
然后,进行在线数据增强,输入神经网络之前对数据进行随机数据增强,数据增强的方式包括随机旋转、水平翻转、竖直翻转、灰度化、随机亮度、随机对比度、随机裁剪或者倒映填充等方式。
其次,损失函数测试选取,本申请选取CTC Loss作为损失函数。
最后进行网络训练和评估。在训练集上进行训练,每一轮训练结束时使用验证集进行模型评估,评估的标准为准确率,训练时优化器选择Adam优化器,初始学习速率为0.01,每10轮训练减少到之前的90%,训练结束后,选取评估结果最好的模型作为实际使用的模型。
使用文字识别网络预测,即使用文字识别网络进行工控机界面特定区域的文字识别过程,主要包括以下流程:
1)首先将图片的原有尺寸减少为原来的1/4,目的是加快运算速度。
2)然后对处理后的图像进行边缘检测、轮廓检测以及寻找凸包等步骤来确定工控机的显示界面的四个角点,使用单应变换将数字图像进行变换,将因拍摄角度造成的图像扭曲情况进行矫正。
3)结合文本检测技术和基于先验知识的预定义框来确定最后的候选框,将所有的候选框缩放到32*100的尺寸。
4)将候选框输入到文字识别模型中,会得到文本的识别结果。
关于图像分类模型,图像分类网络是为了将工控机的不同图标进行分类,能够让后台处理程序自行识别出所有的工控机的运行状态,当出现故障的机器可以及时地报警,以便维修人员对出问题的机器进行维修。
图9中示出了本申请实施例中图像分类神经网络架构图。如图9所示,本申请使用卷积神经网络作为分类器。图像分类神经网络架构特点如下:
首先,输入图像的尺寸为32*32像素的灰度图。
然后,输入图像经过4次降采样提取图像特征,降采样采取的是最大池化,降采样后通道数量增加空间尺寸减小。
其次,图像在每个空间尺度上都会进行多次卷积操作,卷积核的大小是3x3,卷积前使用批次规范化,卷积后使用ReLU激活函数。
最后,提取出的图像特征拉伸为一维特征向量后送入全连接层,全连接层后连接softmax激活函数输出图标分类概率。
其它实施例中,卷积分类网络还可以选择残差网络、inception网络、efficient网络以及mobilenet网络等网络结构。
本申请实施例的文字识别网络中用于特征提取的骨干网络采用的是ResNet12网络,其它实施例中,还可以采用其它网络用于特征提取,例如:VGG16、ResNet34、ResNet50、RCNN、Inception v2以及Inception v3等网络。
本申请实施例的文字识别网络中用于识别模块采用CTC模块,其它实施例中,还可以采用加入基于注意力机制的Attn模块。
关于图像分类网络的训练,训练上述分类网络的过程分为以下几步:
首先,进行训练数据预处理,将分类网络的所有数据按10:1比例来划分训练集和验证集,标签为该图标的类别;这个过程引入测试时增强(Test Time Augmentation)来增加数据量。
然后,进行损失函数测试选取,可以选取多种损失函数用于测试分割损失,包括focal损失以及标准交叉熵损失,从以上损失函数中选取测试结果最好的作为最终损失函数。
最后,进行训练和评估,在训练集上进行训练,每一轮训练结束时使用验证集进行模型评估,评估的标准为准确率。训练时优化器选取的是带动量的随机梯度下降,初始学习速率为0.1,动量系数为0.9。所有批次训练完成后,选取评估结果最好的模型作为实际使用的模型。
使用图像分类神经网络预测,即使用分类网络进行工控机界面特定区域的图标分类,主要包括以下流程:
1)首先将图片的原有尺寸减少为原来的1/4,目的是加快运算速度。
2)然后对处理后的图像进行边缘检测、轮廓检测以及寻找凸包等步骤来确定工控机的显示界面的四个角点,使用单应变换将数字图像进行变换,将因拍摄角度造成的图像扭曲情况进行矫正。
3)结合文本检测技术和基于先验知识的预定义框来确定最后的候选框,将所有的候选框缩放到32*100的尺寸。
4)将包含图标的候选框输入到图像分类网络模型中,根据预定义的图像含义得到该图标表示的含义。
本申请实施例的图像分类模型除了采用ResNet34网络,其它实施中,还可以使用VGG16、VGG19、Inception、DenseNet、PolyNet、DPN-31,DASNET-A(6)、PNASNet-5、MobileNetV2、ShuffleNet V2、EfficientNet、AmoebaNet-A以及PReLU-Net等网络。
基于深度学习的图像分类模型以及文字识别模型需要大量的标注数据作为训练样本进行训练。神经模型需要的训练样本数据是虚拟数据,需要借助图像生成代码大批量生产。
关于神经模型的训练样本数据,本申请实施例在根据界面图像进行基于深度学习的文本识别时,采用的是卷积神经网络(深度学习)技术,卷积神经网络需要依赖于大量的标注数据,但是工控机的显示界面图像无法直接使用,一个原因是需要人工标记百万级别数量的数据,这需要付出巨大的人力,这是科研团队实际实验不能提供的;另一个原因是工控机显示界面中的数据过于单一,不利于神经网络的学习训练。因此,本申请实施例中的卷积神经网络采用基于PIL库和真实的工控机显示界面背景来生成大量的模拟数据,优选地,模拟数据中添加扭曲、旋转、字体变换等形体变换数据,以及色度、饱和度和对比度等颜色变化数据,大大提高了训练样本数据的多样性,同时训练数据的标注可以由程序自动产生。
采用本申请实施例中的基于深度学习的非侵入式摄像读取方法,首先摄像获取工业控制系统的界面图像;然后,根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果。实现了在不需要侵入生产设备的前提下,可以不受限制的灵活的实现对工控机系统关键生产数据的实时采集和可视化管理。
本申请实施例中的基于深度学习的非侵入式摄像读取方法,通过无需驱动的模拟键鼠外接芯片来实现非侵入式的技术解决方案;通过结合深度学习中的文本检测技术和基于人工先验的预标记框来更精确地确定的检测框;在图像分类模型和文字识别模型的应用中,既可以分别使用两个模型进行识别,也可以利用两个模型进行决策融合,通过使用文字识别模型和图像分类模型的多模型融合的技术来对工控机的显示界面进行分析。
本申请在制造业企业的应用,既省去了工人手工抄录的步骤,又可以帮助工人更好地管理工控机,其数据结果还可以辅助管理者提高决策效率,为企业走向信息化、进行大数据智能决策提供了保障。
实施例2
本实施例提供了一种基于深度学习的非侵入式摄像读取系统,对于本实施例的基于深度学习的非侵入式摄像读取系统中未披露的细节,请参照其它实施例中的基于深度学习的非侵入式摄像读取方法。
图11示出了根据本申请实施例的基于深度学习的非侵入式摄像读取系统的结构示意图。如图11所示,本申请实施例的基于深度学习的非侵入式摄像读取系统包括界面获取模块10以及界面识别模块20。
如图11所示,基于深度学习的非侵入式摄像读取系统具体结构如下:
界面获取模块10,用于摄像获取工业控制系统的界面图像。
界面识别模块20,用于根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果。
界面获取模块10用于摄像获取工业控制系统的界面图像,可以通过模拟键鼠模块30实现非侵入式控制工业控制系统的界面进行切换。
图12示出了根据本申请另一实施例的基于深度学习的非侵入式摄像读取系统的整体架构图。
模拟键鼠模块30是一种无驱动的外接USB芯片,本申请采用CH9328免驱芯片,通过USB进行键值输出,无需在工控机上安装软件就可实现对工控系统的非侵入式控制,并实现工控机显示窗口的自动切换。
具体的,模拟键鼠的主要功能包括按照预先设定的程序实现工控机窗口的自动切换。实现工控机窗口的自动切换需要利用模拟键鼠点击窗口菜单栏的按钮。以此,模拟键鼠实现工控机窗口的自动切换主要包括以下步骤:
第一个步骤,首先确定按钮的位置;
第二个步骤,进行鼠标移动路径规划;路径规划原则是选择尽可能省时的路线,通过鼠标移动路径将鼠标焦点移动到按钮上。因为窗口菜单栏的位置是不发生变化的,所以首先需要将工控机界面中按钮的位置硬编码到文件中。
第三个步骤,然后通过路径规划程序控制鼠标移动路线点击按钮进行窗口的自动切换。
模拟键鼠模块在工业控制系统具体应用时,通过模拟键鼠打开/关闭待测目标的上位机监控界面;然后触发相机对界面进行拍摄,并将界面图像回传后读取分析;在分析时采用基于深度学习的窗口检测定位、字符检测以及字符识别等技术;最后保存分析结果数据到数据服务器1。
图13示出了根据本申请另一实施例的基于深度学习的非侵入式摄像读取系统的系统流程图。
如图13所示,界面识别模块20具体包括图像校正模块201、检测框提取模块202以及基于深度学习的文本检测模块203。
具体的,图像校正模块201根据界面图像进行图像矫正来消除图像扭曲变形得到规范的界面图像。检测狂提取模块202提取界面图像的检测框,检测框包括界面图像的特征。基于深度学习的文本检测模块203将检测框进行文字识别得到文字识别结果;或将检测框进行图像分类得到分类识别结果;或者将检测框同时进行文字识别以及图像分类得到文字识别结果及分类识别结果。
其中,如图13所示,数据生成模块中数据源主要有两种,第一种是实时采集真实数据,用于真实场景下的测试和应用,另一类数据是虚拟数据,主要用来训练神经网路模型,需要借助图像生成代码大批量生产。
采用本申请实施例中的基于深度学习的非侵入式摄像读取系统,首先通过界面获取模块10摄像获取工业控制系统的界面图像;然后通过界面识别模块20根据界面图像进行文字识别得到文字识别结果,和/或根据所述界面图像进行图像分类得到分类识别结果。实现了在不需要侵入生产设备的前提下,可以不受限制的灵活的实现对工控机系统关键生产数据的实时采集和可视化管理。
本申请实施例中的基于深度学习的非侵入式摄像读取系统,通过无需驱动的模拟键鼠外接芯片来实现非侵入式的技术解决方案;通过结合深度学习中的文本检测技术和基于人工先验的预标记框来更精确地确定的检测框;在图像分类模型和文字识别模型的应用中,既可以分别使用两个模型进行识别,也可以利用两个模型进行决策融合,通过使用文字识别模型和图像分类模型的多模型融合的技术来对工控机的显示界面进行分析。
本申请在制造业企业的应用,既省去了工人手工抄录的步骤,又可以帮助工人更好地管理工控机,其数据结果还可以辅助管理者提高决策效率,为企业走向信息化、进行大数据智能决策提供了保障。
实施例3
本实施例提供了一种非侵入式摄像读取终端,对于本实施例的非侵入式摄像读取终端中未披露的细节,请参照其它实施例中的基于深度学习的非侵入式摄像读取方法及系统。
图14示出了根据本申请实施例的非侵入式摄像读取终端的结构示意图。如图14所示,本实施例提供的终端包括:存储器301、处理器302、以及计算机程序,其中,该计算机程序存储在存储器301中,并被配置为由处理器302执行以实现任一实施例提供的基于深度学习的非侵入式摄像读取方法。
实施例4
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现任一实施例提供的基于深度学习的非侵入式摄像读取。
采用本申请实施例中的基于深度学习的非侵入式摄像读取终端以及计算机介质,首先通过摄像获取工业控制系统的界面图像;然后根据界面图像进行文字识别和/或图像分类获取工业控制系统的数据。实现了在不需要侵入生产设备的前提下,可以不受限制的灵活的实现对工控机系统关键生产数据的实时采集和可视化管理。
本申请实施例中的基于深度学习的非侵入式摄像读取系统,通过无需驱动的模拟键鼠外接芯片来实现非侵入式的技术解决方案;通过结合深度学习中的文本检测技术和基于人工先验的预标记框来更精确地确定的检测框;在图像分类模型和文字识别模型的应用中,既可以分别使用两个模型进行识别,也可以利用两个模型进行决策融合,通过使用文字识别模型和图像分类模型的多模型融合的技术来对工控机的显示界面进行分析。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。