基于CNN神经网络的指针式仪表示值读取方法与流程

文档序号:20841394发布日期:2020-05-22 17:33阅读:339来源:国知局
基于CNN神经网络的指针式仪表示值读取方法与流程

本发明涉及图像识别技术领域,尤其涉及一种基于cnn神经网络的指针式仪表示值读取方法。



背景技术:

指针式仪表具有反应速度快、抗冲击和抗干扰能力强、显示明显、价格低,而且机械的指针仪表基本上不存在数字仪表反应的滞后性,指针仪表还具有显示过载比例的能力;有些场合数字表就不适用,如测量电压电流互感器的极性,数字表根本反应不过来,只能用指针表。

尽管在电子技术非常发达的今天,指针式仪表由于有着数字式仪表不可替代的优势,其仍然在某些工业生产中得到了非常广泛的应用。随着现代工业4.0的大力发展,传统的人工读取仪表示值的方式将逐渐地被视觉读取系统所取代。

然而目前指针式仪表多采用基于机器视觉的自动识别原理,其技术主要为传统的图像处理,有着其缺陷性,通常需要一个稳定的光源,保证系统采集环境不会有大的波动,而这在一些老设备、不方便改装的设备上通常很难应用,且在自然环境下会受到光照变化、背景干扰、阴影、旋转、快速运动等不利因素的影响,适应性较差,分析效果会有很大的波动性,对监控设备安装要求过高,防抖动能力差等。

此外,指针式仪表的结构类型有很多,本发明提出了一种基于cnn深度卷积神经网络,以及结合指针仪表的结构特征,设计出一套可行性强,准确率高,适合多种复杂场景的多种指针仪表和指示值的识别方案。通过该方案能够适应日夜变化,以及光线变化的场景,实时地对指针仪表的示值分析处理,能够起到代替人工对仪表进行实时地监控,以及超过阈值报警等预警能力。



技术实现要素:

本发明的目的是为了克服现有技术的缺陷,提供一种基于cnn神经网络的指针式仪表示值读取方法,通过本发明能够更准确地识别出图像中的指针式仪表,并读取出其示值;能够应用于指针仪表的自动读取的需求场合,能够替换人工进行智能监控仪表,超过预值时发出预警。

为实现上述目的,本发明提供了一种基于cnn神经网络的指针式仪表示值读取方法,该方法包括以下步骤:

步骤1:基于cnn神经网络的仪表检测和关键点提取网络分为3个部分,包括p-net网络,r-net网络,和o-net网络;

步骤2:按照被检测的指针仪表的类型,确定仪表中关键点坐标信息,包括0刻度线或其平行参考线上的关键点,以及指针所在的线上的关键点;

步骤3:使用多种仪表图像自动构建训练数据集,以及训练网络模型,得到仪表的p-net,r-net和o-net网络模型;

步骤4:利用仪表的p-net,r-net和o-net网络模型对被检测的仪表的原始图像进行检测,得到图像中每个仪表的区域位置信息和关键点坐标信息;

步骤5:根据步骤4得出的关键点坐标信息,由指针真实所在的直线,与指针指向0刻度时指针所在直线的平行参考线,计算出此两条线所组成的交叉线夹角,此夹角即为仪表指针偏转角θ;

步骤6:根据每种仪表的量程分布情况,以均匀分布的区域为阶梯划分量程计算角度区间集,根据实时指针偏转角度θ确定指针所在仪表中的档次区间,按照仪表示值计算公式得出实时的仪表示值v,

其中vmin为此档的最小示值,θmin为此档的最小角度,θmax为此档的最大角度。

优选地,对被检测的仪表的原始图像进行检测,检测出图像中的指针仪表,包括仪表所在的区域,以及仪表的类型,具体流程为:

a.通过图像空间金字塔方法将原图像缩放成一组图像集;

b.通过神经网络p-net,将图像集按图像类型过滤区域,以及按非极大值合并区域,得到此步骤的输出区域坐标信息和类别信息;

c.在原图像中,按上一步输出区域坐标信息裁剪出图像集,通过神经网络r-net,将图像集按图像类型过滤区域,以及按非极大值合并区域,得到此步骤的输出区域坐标信息和类别信息;

d.在原图像中,按上一步所得到的区域坐标在原图上裁剪出图像集,通过神经网络o-net以及非极大值合并后,输出最终的图像类别、区域及关键点信息。

优选地,仪表关键点信息包括0刻度线或其平行参考线的两个关键点,此两点的连线与0刻度水平线平行,以及包括指针所在的线上的两个端点坐标,此两点的连线与指针重合;仪表关键点提取具体步骤如下:

在原图像中,按r-net网络输出的区域裁剪出图像集,通过神经网络o-net,输出仪表的类别,仪表的区域,以及仪表的关键点坐标。

按类别过滤区域,以及按非极大值合并区域,将非仪表的区域去除,并且将相同仪表的区域合成一个区域,经过此步骤后,将得到仪表的区域坐标,类别,以及关键点的坐标。

优选地,确定指针的关键点,采用指针中点,以及指针端点。

优选地,仪表指针偏转角θ的计算公式为:

其中a、b、c、d分别为仪表中的关键点。

优选地,该方法中指针关键点坐标的精确度根据o-net网络中fullyconnect层输出的特征数量大小而定,修改网络中fullyconnect层输出的特征大小,相应的精确度也会变化。

本发明技术方案带来的有益效果:

1、本发明采用了cnn神经网络作为仪表关键点提取的基础,克服了传统方法在分析上所带来的噪声干扰,可以适应多种光照环境,日夜切换,以及环境阴影的变化,有着良好的适应性。

2、本发明中模型可训练性强,用户可方便训练出针对不同的仪表类型,不同的仪表量程,以及不同的量程分布情况等模型,能够快速适应多种不同的仪表类型。

3、本发明能够同时分析出图像中存在的多个相同类型的仪表,并对多种仪表进行示值读取,提高了资源的使用,起到了良好的实用性。

4、本发明的0刻度线采用平行参考线,避免了0刻度处的关键点在指针重合时,被指针遮挡后难以定位的问题,提高了精确度。

5、本发明的关键点信息不需要参考指针的回旋中心点,避免了部分类型的指针仪表由于回旋中心被遮挡而无法被识别的情况。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明的算法总体流程图;

图2是本发明的p-net网络图;

图3是本发明的r-net网络图;

图4是本发明的o-net网络图;

图5是本发明的关键点坐标示意图;

图6是本发明的示值夹角与关键点坐标关系示意图;

图7是本发明的实施例的指针式仪表;

图8是本发明的实施例的空间金字塔图像集;

图9是本发明的实施例的p-net输出示意图;

图10是本发明的实施例的r-net输出示意图;

图11是本发明的实施例的o-net输出示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的一种基于cnn神经网络的指针式仪表示值读取方法,能同时识别出外型特征较一致的多种类型的仪表,如方形电压表,方形电流表,这两类仪表的仪表盘特征较为一致,即回转中心点坐标都在仪表右下角,如图7所示,且指针与0刻度线的水平线在整个仪表中能找到相关的参考线,如图6所示,在确定参考线后,可制作训练集,对网络进行训练,并生成最终的检测模型用于实时分析。

本发明的一种基于cnn神经网络的指针式仪表示值读取方法,具体流程如图1所示,将指针式仪表示值读取的整个过程分成了3个步骤:仪表检测与类型判断,仪表特征点检测,仪表示值计算。经过3个步骤之后,即能检测出图像中的仪表,以及仪表的类型,并计算出仪表的示值。详细介绍如下:

1、网络定义

本发明中整个网络分成3个部分:

第1部分为一个全卷积网络p-net,如图2所示,输入大小为m*n的图像,支持任意尺寸的输入,训练时的输入图像大小为12*12,p-net网络最终回归生成图像的类别向量和候选边框向量。

第2部分为一个r-net网络,如图3所示,输入大小为m*n的图像,支持任意尺寸的输入,训练时的输入图像大小为24*24,由p-net网络所生成的候选窗,经过非极大值抑制之后组成的图像集合,经过r-net网络后,r-net网络最终回归生成图像的类别向量和候选边框向量。

第3部分为一个o-net网络,如图4所示,为了使得关键点的坐标回归得更加精确,本网络修改了fullyconnect层的输出特征大小,将原来的256改为了512,提高了关键点的精确度,使得最后的示值计算更加符合实际;同时修改了meterlandmarklocalization的值,此值根据关键点的数量确定,即关键点数量*2,图4中meterlandmarklocalization的值为8,即表示4个关键点。应用过程中可以根据需要设置关键点数量,本发明中选择了4个关键点作为最优方案。本网络输入大小为m*n的图像,支持任意尺寸的输入,训练时的输入图像大小为48*48,由r-net网络所生成的候选窗,经过非极大值抑制之后组成的图像集合,经过o-net网络后,o-net网络最终回归生成图像的类别向量和候选边框向量,以及图像中关键点数量及位置信息。

2、网络训练

使用多种仪表图像自动构建训练数据集,并训练网络参数,确定待检测仪表区域位置关系,设定相关参数和学习策略,最终得到p-net,r-net和o-net网络模型。

3、仪表检测与分类

此步骤主要作用为检测出图像中的指针仪表,包括仪表所在的区域,以及仪表的类型,如电压表和电流表等。

具体流程为:

a.通过图像空间金字塔方法将原图像缩放成一组图像集;

b.通过神经网络p-net,将图像集按图像类型过滤区域,以及按非极大值合并区域,得到此步骤的输出区域坐标信息和类别信息;

c.在原图像中,按上一步输出区域坐标信息裁剪出图像集,通过神经网络r-net,将图像集按图像类型过滤区域,以及按非极大值合并区域,得到此步骤的输出区域坐标信息和类别信息;

d.在原图像中,按上一步所得到的区域坐标在原图上裁剪出图像集,通过神经网络o-net以及非极大值合并后,输出最终的图像类别、区域及关键点信息。

4、关键点提取

此步骤主要是提取仪表中的关键点坐标信息,包括0刻度线或其平行参考线上的关键点,以及指针所在的线上的关键点。0刻度的平行参考线由两点的连线组成的直线,可取仪表中较为特征明显的,且与0刻度线平行的指针所在的线,如图5中点a和点b,ab两点的连线与0刻度线平行;指针所在的线由指针的两个端点组成的线,如图5中的点c和点d,因此本步骤将提取出仪表的abcd四个关键点的坐标信息。在实际应用时,指针上的关键点采用指针上靠近回旋中心的点和指针的中心点;在选择0刻度线上的关键点时,如果仪表0刻度线的另一点难以找到明显的特征点时,如回旋中心点被遮挡时,为便于关键点选取,可在仪表0刻度线的平行线上选择特征点明显的关键点。

具体步骤如下:

在原图像中,按r-net网络输出的区域裁剪出图像集,通过神经网络o-net,输出仪表的类别,仪表的区域,以及仪表的关键点坐标。

按类别过滤区域,以及按非极大值合并区域,将非仪表的区域去除,并且将相同仪表的区域合成一个区域,经过此步骤后,将得到仪表的区域坐标,类别,以及关键点的坐标。

至此,分析出了图像中包含有仪表的对象区域,以及每个对象的关键点坐标信息,其中关键点信息包括0刻度水平线的两个参考点,此两点的连线与0刻度水平线平行,以及包括指针信息的两个端点坐标,此两点的连线与指针重合。

5、角度计算

根据前面所述的在关键点提取中所获取的关键点坐标信息,如图6所示θ为指针偏转角度,结合指针偏转角度θ的计算公式,计算出仪表的指针与0刻度的夹角即指针偏转角度θ的值,用于下一步中准确计算出指针所指向的示值。

6、示值计算

每一种仪表的刻度都有着自己的量程以及量程分布情况;但是不管何种类型的仪表都有着固定的量程和分布情况,根据这些量程和分布的情况,以及上一步计算出来的指针偏转角θ,即可计算出此时仪表所指示的示值。

由于仪表的刻度在整个刻度的分布中,往往是不均匀的,如图5所示的仪表,可将刻度分为5档,分别为:

第一档:示值区间为0到300伏,θ为0到11.60度;

第二档:示值区间为300到600伏,θ为11.60到34.80度;

第三档:示值区间为600到900伏,θ为34.80到54.70度;

第四档:示值区间为900到1200伏,θ为54.70到68.70度;

第五档:示值区间为1200到2400,θ为68.70到90度;

对于每一档的示值v计算公式如下:

其中vmin为此档的最小示值,θmin为此档的最小角度,θmax为此档的最大角度。

下面再进一步结合实施例对本发明进行详细阐述:

对于一张图像,原图见图7,首先通过图像空间金字塔方法将原图像进行一系列的缩放操作,得到待检测图像的空间金字塔图像集,见图8。

将空间金字塔图像集中的每一张图像,通过神经网络p-net输入,并对p-net的输出进行极大值抑制,得到每一张图像的仪表类别和位置信息。待分析得到所有图像的仪表类别和位置信息后,再对所有的仪表类别和位置信息进行极大值抑制,得到待检测图像在p-net后的仪表类别和位置信息,见图9。

根据图9中所得到的位置信息,分别对每一个区域,在原待检测的图像上,进行区域剪裁,将剪裁后的图像缩放至24*24的大小,然后通过神经网络r-net输入,并对r-net的输出进行极大值抑制,得到所有区域的仪表类别和位置信息。待所有区域都分析得到仪表的类别和位置信息后,再对所有区域的仪表类别和位置信息进行极大值抑制,此时将得到待检测图像在r-net后的类别和位置信息,见图10。

根据图9中所得到的位置信息,分别对每一个区域,在待检测图像上,进行区域剪裁,将剪裁后的图片缩放至48*48的大小,然后将图片输入到o-net中,并对o-net的输出进行极大值抑制,得到待检测图像在o-net后的仪表类别、位置和关键点坐标信息。待所有区域都分析得到仪表类别、位置和关键点坐标信息后,再对所有的仪表类别、位置和关键点坐标信息进行极大值抑制,此时得到待检测图像所有的仪表信息,包括仪表的位置和关键点信息,见图11。

将上述所得到的仪表关键点信息a(225,60),b(35,42),c(167,172),d(120,167)代入角度计算公式,计算出指针与水平刻度的夹角θ值,得出θ=0.66度。

将θ值按照仪表所提供的示值计算方法,即可计算出仪表的指针示值。按实施例中仪表量程分布情况,可分为3档:

第一档:示值区间为0到200伏,θ为0到30度,其中vmin为0,θmin为0,θmax为30;

第二档:示值区间为200到400伏,θ为30到60度,其中vmin为200,θmin为30,θmax为60;

第三档:示值区间为400到600伏,θ为60到90度,其中vmin为400,θmin为60,θmax为90;

由于上一步中得出θ=0.66,落在第一档区域内,因此示值计算为:

v=0+(0.66–0)/(30–0)=0.022伏。

此值与实际非常相符。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1