System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图像处理与目标检测的,尤其是指一种基于最近邻刻度值的指针式仪表视觉读数方法。
技术介绍
1、在工业和科学领域中,仪表视觉读数方法在监测和控制过程中起着关键作用。指针式仪表因为其具有结构简单、成本低廉、抗干扰能力强等特点,目前被广泛应用在石油化工和电网系统等工业环境中,对上述场所的安全高效生产有着重要的意义。在典型场景中,企业通过安排人工巡检员现场巡检的方法获取仪表的读数信息,此项工作枯燥乏味且长时间工作后人眼识别容易因疲劳而出错。因此,随着科技不断发展,越来越多的研究人员正在尝试利用计算机视觉仪表读数替代人工读数。
2、现有的获取仪表信息的绝大多数研究都是围绕获取指针和刻度开展的,跟它们之间的位置关系再结合先验的读数信息进行读数。基于传统图像处理的仪表读数方法通过一系列图像预处理,得到指针和刻度的信息然后进行读数。基于深度学习的仪表读数方法使用实例分割网络预测指针和刻度的掩膜,然后根据它们的掩模进行一系列图像处理操作得到读数。传统图像处理方法对于参数敏感性高,面对不同场景往往需要不同的参数设定,这种参数设定要求往往较为严格,因此导致此类方法的鲁棒性差;基于实例分割网络的方法网络计算量大,数据标注成本较高,推高了在生产中应用此类方法的门槛。这些方法都需要预先获取仪表的先验读数信息以进行完整的读数。因此存在一些局限性,如依赖先验读数信息、无法识别未知仪表以及在某些情况下难以准确读取等问题。在读数系统中对新增仪表的先验读数信息进行扩展会增加系统的复杂性和维护成本。
3、综合以上论述,专利技术一种从
技术实现思路
1、本专利技术的目的在于克服现有技术的缺点与不足,提出了一种基于最近邻刻度值的指针式仪表视觉读数方法,能够利用目标检测网络获取仪表的字符和指针图像,再生成刻度值的读数体系,为通过计算机视觉方法解决仪表读数识别问题提供了一种通用和强鲁棒性的解决方案。
2、为实现上述目的,本专利技术所提供的技术方案为:一种基于最近邻刻度值的指针式仪表视觉读数方法,包括以下步骤:
3、1)使用目标检测网络提取表盘上的字符和指针;
4、2)对所有字符间的位置进行计算,将字符合并生成刻度值;
5、3)根据所有刻度值的位置计算得到表盘中心点;
6、4)根据检测得到的指针边界框和表盘中心点,计算得到指针方向;
7、5)根据指针方向找到指针末端点最近的两个刻度值,计算得到读数值。
8、进一步,在步骤1)中,所述目标检测网络为fcos网络,将表盘图像输入目标检测网络后得到指针和字符的边界框。
9、进一步,在步骤2)中,根据字符之间的位置关系计算得到刻度值,具体计算步骤如下:
10、2.1)选取字符,将其与其它字符计算距离,如果它们之间的距离小于ε,就认为这两个或多个字符属于同一个刻度值,于是就将它们合并为一个刻度值,该刻度值的边界框为两个字符的边界框的最小外接矩;
11、dab-(da+db)<ε
12、式中,dab为两个字符间的距离,da为左边字符所在边界框的宽的一半,db为右边字符所在边界框的宽的一半,ε为(da+db)/2;
13、2.2)重复步骤2.1)直到所有字符都处理完毕。
14、进一步,在步骤3)中,根据刻度值的位置计算得到表盘中心点,具体计算步骤如下:
15、3.1)每取三个刻度值的中心点作为圆上的点,便能拟合得到一个圆,圆心即为候选的表盘中心点,基于每三个不共线的点能够确定一个唯一的圆的定理,三个点a(x1,y1)、b(x2,y2)、c(x3,y3),它们能够确定一个外接圆,圆心坐标为(h,k),半径为r;计算公式如下:
16、
17、
18、
19、其中,x1为a点的x坐标,y1为a点的y坐标,x2为b点的x坐标,y2为b点的y坐标,x3为c点的x坐标,y3为c点的y坐标,h为圆心的x坐标,k为圆心的y坐标;
20、3.2)重复步骤3.1),直至每三个刻度值的组合都被遍历过,得到若干个候选的表盘中心点;
21、3.3)对若干个候选的表盘中心点进行离群点抑制后求均值:计算其中一个候选的表盘中心点到其它点的平均距离,将平均距离最远的前1/4的表盘中心点剔除,到此完成离群点抑制,将剩余的候选的表盘中心点求平均,即为最终的表盘中心点。
22、进一步,在步骤4)中,根据步骤1)提取得到的指针的边界框,找到边界框中离步骤3)中最终的表盘中心点最远的角点作为指针末端点,表盘中心点到指针末端点的方向也就是指针方向。
23、进一步,在步骤5)中,根据指针方向,找到离指针末端点最近的两个刻度值,计算读数值,包括以下三种情况:
24、第一种,如果指针末端点在两个刻度值之间,读数公式如下:
25、
26、式中,α1为指针和左边刻度值之间的角度,θ为两个刻度值之间的角度,vr为右边刻度值的数值,vl为左边刻度值的值;
27、第二种,如果指针末端点在两个刻度值左端,读数公式如下:
28、
29、式中,α2为指针和左边刻度值之间的角度;
30、第三种,如果指针末端点在两个刻度值右端,读数公式如下:
31、
32、式中,α3为指针和右边刻度值之间的角度;
33、最终,根据以上三种情况计算得到仪表读数结果v。
34、本专利技术与现有技术相比,具有如下优点与有益效果:
35、1、本专利技术具有良好的通用性和泛化能力。相比依赖先验读数信息仪表读数方法,本专利技术使用能够应对各种或未知的仪表读数。
36、2、本专利技术具有良好的鲁棒性,三种情况的读数计算能够应对检测缺失等意外情况。
37、3、本专利技术具有优秀的实时性,用轻量的目标检测网络进行字符和指针的识别,再通过一系列图像处理得到读数结果,能够快速有效地地应用于实际场景中。
本文档来自技高网...【技术保护点】
1.一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤1)中,所述目标检测网络为FCOS网络,将表盘图像输入目标检测网络后得到指针和字符的边界框。
3.根据权利要求2所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤2)中,根据字符之间的位置关系计算得到刻度值,具体计算步骤如下:
4.根据权利要求3所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤3)中,根据刻度值的位置计算得到表盘中心点,具体计算步骤如下:
5.根据权利要求4所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤4)中,根据步骤1)提取得到的指针的边界框,找到边界框中离步骤3)中最终的表盘中心点最远的角点作为指针末端点,表盘中心点到指针末端点的方向也就是指针方向。
6.根据权利要求5所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤5)中,根据指针方向,找到离指针末端
...【技术特征摘要】
1.一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤1)中,所述目标检测网络为fcos网络,将表盘图像输入目标检测网络后得到指针和字符的边界框。
3.根据权利要求2所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其特征在于,在步骤2)中,根据字符之间的位置关系计算得到刻度值,具体计算步骤如下:
4.根据权利要求3所述的一种基于最近邻刻度值的指针式仪表视觉读数方法,其...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。