1.本发明涉及指针仪表数据图像处理技术领域,具体涉及一种指针式仪表识别方法、系统、设备及存储介质。
背景技术:2.当前配电站房内各类电表仍使用指针式仪表,仪表结构简单,使用便捷。若采取人工读数,计算误差大、工作效率低。图像处理及深度学习算法的发展使得仪表识别更加快速与准确,同时能够减少人力的消耗,目前指针仪表数据仍然基于模板匹配等传统算法,在信噪比低的情况下识别精度低,因此本文进行指针式仪表智能识别算法研究。
3.仪表检测算法分为传统算法与深度学习算法,传统算法大多基于模板匹配,阈值分割指针,对于特征不明显的指针分辨能力较差,由于变电站实际场景复杂多变,现有传统算法场景适应能力差,无法满足实际应用需求;
4.基于深度学习的目标检测算法根据网络是否提取候选区域分为one-stage(单阶段)和two-stage(双阶段)两大类。前者将目标检测描述为一个“从粗到细”的过程,首先由算法生成若干个候选框,再通过cnn对候选框进行分类,而后者更侧重于算法的“一步完成”,直接回归目标的类别概率和位置坐标。单阶段检测算法则以yolo系列和ssd算法为代表,2016年提出的ssd算法为一阶网络,检测速度较快,网络实现简单。双阶段检测算法以r-cnn系列为代表,包括fast r-cnn、faster r-cnn、mask r-cnn等。
5.但是现有的基于深度学习的目标检测算法主要用于目标检测任务,缺乏对特定任务的针对性,也未考虑到拍摄角度引起的仪表图像变形问题,导致无法直接有效的实现指针式仪表的精确读数。
技术实现要素:6.为了解决现有的基于深度学习的目标检测算法主要用于目标检测任务,缺乏对特定任务的针对性,也未考虑到拍摄角度引起的仪表图像变形问题,导致无法直接有效的实现指针式仪表的精确读数的问题,本发明提出了一种指针式仪表识别方法,包括:
7.将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;
8.将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针旋转角度;
9.基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;
10.其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;
11.所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。
12.可选的,所述ssd网络的训练包括:
13.将标记了表盘区域的图片和图片中表盘相对于水平方向的角度输入所述ssd网络中,由所述ssd网络通过设置不同尺寸和数量的先验框对图片中的表盘区域进行检测,得到检测表盘区域和表盘相对于水平方向的角度的检测框。
14.可选的,所述将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度,包括:
15.将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。
16.可选的,所述改进faster r-cnn网络包括:
17.以进行特征提取的vgg16网络为基础网络、在提取的特征中引入注意力机制的se模块,以及对表盘区域中指针进行类别划分和坐标位置回归的区域建议网络。
18.可选的,所述改进faster r-cnn网络的训练包括:
19.获取表盘区域,以及所述表盘区域中指针转动角度;
20.由所述表盘区域和所述表盘区域中指针转动角度构建样本集;
21.采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。
22.可选的,所述将所述表盘区域输入到预先构建的改进faster r-cnn网络识别指针转动角度,包括:
23.将所述表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;
24.基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;
25.由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。
26.可选的,所述改进faster r-cnn网络的训练还包括:
27.采用测试集计算训练好的改进faster r-cnn网络的map值;
28.基于所述map值对所述训练好的改进faster r-cnn网络进行评价。
29.可选的,所述改进faster r-cnn网络的训练还包括:
30.基于测试集和验证集计算训练好的改进faster r-cnn网络的测试损失和验证损失;
31.从所述测试损失中观测所述训练好的改进faster r-cnn网络是否具有快速收敛的特性;
32.当所述测试损失和所述验证损失重合且同为不断下降趋于稳定时,所述训练好的改进faster r-cnn网络没有过拟合。
33.可选的,所述ssd网络的训练还包括:
34.基于测试集和验证集计算训练好的ssd网络的测试损失和验证损失;
35.从所述测试损失中观测所述训练好的ssd网络是否具有快速收敛的特性;
36.当所述测试损失和所述验证损失重合且同为不断下降趋于稳定时,所述训练好的ssd网络没有过拟合。
37.再一方面本发明还提供了一种指针式仪表识别系统,包括:
38.区域检测模块,用于将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;
39.角度检测模块,用于将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针旋转角度;
40.度数转换模块,用于基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;
41.其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;
42.所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。
43.可选的,还包括ssd网络训练模块,用于:
44.将标记了表盘区域的图片和图片中表盘相对于水平方向的角度输入所述ssd网络中,由所述ssd网络通过设置不同尺寸和数量的先验框对图片中的表盘区域进行检测,得到检测表盘区域和表盘相对于水平方向的角度的检测框。
45.可选的,所述区域检测模块,具体用于:
46.将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。
47.可选的,所述改进faster r-cnn网络构包括:
48.以进行特征提取的vgg16网络为基础网络、在提取的特征中引入注意力机制的se模块,以及对表盘区域中指针进行类别划分和坐标位置回归的区域建议网络。
49.可选的,还包括改进faster r-cnn网络训练模块,用于:
50.获取表盘区域,以及所述表盘区域中指针转动角度;
51.由所述表盘区域和所述表盘区域中指针转动角度构建样本集;
52.采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。
53.可选的,所述角度检测模块具体用于:
54.将所述表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;
55.基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;
56.由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。
57.再一方面,本技术还提供了一种计算设备,包括:一个或多个处理器;
58.处理器,用于执行一个或多个程序;
59.当所述一个或多个程序被所述一个或多个处理器执行时,实现如上述所述的一种指针式仪表识别方法。
60.再一方面,本技术还提供了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现如上述所述的一种指针式仪表识别方法。
61.与现有技术相比,本发明的有益效果为:
62.本发明提供了一种指针式仪表识别方法,包括将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针旋转角度;基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。本发明考虑到拍摄角度引起的仪表图像变形问题,将所述表盘区域根据表盘相对于水平方向的角度调整表盘区域,并在调整角度后的表盘区域采用训练好的改进faster r-cnn网络识别指针旋转角度,精确的识别出指针旋转角度,并结合量程转换公式得到指针式仪表的精确读数。
附图说明
63.图1为本发明的一种指针式仪表识别方法流程图;
64.图2为本发明的ssd网络结构示意图;
65.图3为本发明的特征金字塔结构示意图;
66.图4为本发明的指针识别算法结构示意图;
67.图5为本发明的特征提取网络结构示意图;
68.图6为本发明的se模块示意图;
69.图7为本发明的区域建议网络示意图;
70.图8(a)为本发明的p-r曲线示意图;
71.图8(b)为本发明的训练数据与验证数据损失曲线示意图。
具体实施方式
72.本发明提出了一种指针式仪表识别方法、系统、设备及存储介质,利用深度学习算法解决传统算法在信噪比低的情况下识别精度低的问题,以分级识别,实现目标检测、定位、修正等一系列操作,最终完成指针式仪表的精确读数。
73.本发明实现识别精度高的思路是:一级识别采用ssd算法进行仪表区域定位,计算仪表倾斜角度并修正,二级指针定位使用改进faster r-cnn算法识别指针转动角度并转换量程,融合多个网络特征层并增加注意力机制模块最终实现检测网络的搭建,使用自建的仪表数据集进行网络训练,最后将测试数据集送入训练好的目标检测模型中得到检测结果。
74.实施例1:
75.一种指针式仪表识别方法,如图1所示,包括:
76.步骤1:将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;
77.步骤2:将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针转动角度;
78.步骤3:基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;
79.其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;
80.所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。
81.本发明具体实现步骤如下:
82.在步骤1之前还包括:对ssd网络进行训练:
83.ssd(single shot multibox detector)是基于卷积神经网络的单阶段目标检测算法,其网络结构如图2所示,ssd网络首先将输入原始图像按比例缩放至300*300大小,作为模型的输入。然后采用vgg-16作为主干网络,如图中through conv5_3layer表示取原始vgg-16的conv5_3之前的部分,extra feature layers表示额外的功能层,并将其中的conv4_3层获取的特征作为第一个特征预测层。接着,通过叠加不同大小的卷积层,来分别获取在不同尺度上的特征,最终可得到分别为38*38*512、19*19*1024、10*10*512、5*5*256、3*3*256、1*1*256的特征预测,这样就构建出图像特征金字塔,如图3所示,其中的predict表示预测,可实现在不同尺度上对目标进行预测,特征层从低到高,其感受野由小到大,所具有的语义信息也更加丰富。在得到不同尺度的特征图后,ssd通过设置不同尺寸和数量的先验框对目标进行检测。浅层特征图感受野较小,主要用来对小尺寸的目标进行检测,因此生成的先验框较小;高层特征图感受野较大,其语义信息更加抽象,主要用来对大尺寸的目标进行检测和对目标进行分类,因此生成的先验框较大。最后,通过非极大值抑制(nms)对检测结果进行筛选,获得最终的检测框。
84.训练好的ssd网络可定位指针式仪表盘,该训练好的ssd网络的分类结果为表盘倾斜度数,角度范围为0-90
°
。
85.步骤1:将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度,具体包括:
86.将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。
87.一级检测识别出表盘区域和表盘相对于水平方向的角度。
88.在步骤2之前还包括:对改进faster r-cnn网络的训练,在训练之前对改进faster r-cnn网络进行介绍:
89.改进faster r-cnn网络包括卷积模块、se模块和区域建议网络(rpn),下面对这三个部分分别进行介绍:
90.卷积模块:采用vgg16网络作为特征提取网络,网络层数19层。网络统一使用尺寸大小为3*3的卷积核和尺寸为2*2的池化。在训练过程中使用多尺度的变换进行数据增强,使得模型不易过拟合。在该基础算法上进行多卷积层融合,将网络中深层的特征进行上采样,再与浅层特征进行融合形成多个尺度的特征图。通过对网络多层信息的融合,提升细小指针的检测精确度,网络结构如附图5所示。
91.se模块:为进一步提升网络检测性能,本文基于faster r-cnn算法引入注意力机制模块。类似于人眼的功能,聚焦感兴趣的目标区域。提高指针区域/在网络训练中的权重,尽可能忽略指针周围的背景信息,实现注意力机制的算法融合策略。se模块结构如附图6所
示。注意力机制的两大核心操作是挤压(squeeze)和激励(excitation)。具体来说,挤压是先对输入的特征图进行全局平均池化操作,将大小为w*h*c的特征图压缩为1*1*c的向量,目的是将全局空间信息转换到通道域。激励是进行第一次全连接操作,降维;再使用relu激活函数[9],再进行第二次全连接操作,升维,得到c维的向量,使用sigmoid激活函数[10],使得数值归一化,得到每个通道对应的权重,将权重赋值到特征图,更新特征图。
[0092]
区域建议网络(rpn):本文基于rpn找出区域建议的目标,然后在进行更加精细的类别划分和坐标位置回归,这种方式被为两阶段检测,因此两阶段检测比一阶段检测更准确。图7中,3*3卷积主要作用是语义转化,可以增加网络复杂程度,增加rpn的拟合能力。feature map表示特征映射,roipooling表示池化,proposal表示建议,reshape表示重塑,softmax表示归一化指数函数。1x1卷积用于通道转换,可以转换成任意通道的特征图。例如经过上面支线的1*1卷积后的尺寸为38x50x18,经过第一个reshape将尺寸变为(2,38*50*9)。其中2表示用于二分类判断是否是roi;判断完后再reshape回38*50*18。经过下面支线的1x1卷积后的尺寸为38*50*36,36等于4*9,其中4表示坐标信息,用于左边回归预测,9指的是9个anchor。3*3卷积后两条支线合并,输出区域建议(坐标)信息。
[0093]
对改进faster r-cnn网络的训练包括:
[0094]
获取表盘区域,以及所述表盘区域中指针转动角度;
[0095]
由所述表盘区域和所述表盘区域中指针转动角度构建样本集;
[0096]
采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。
[0097]
本实施例采用实验数据集共有3500张图片,训练图片:验证图片:测试图片=8:1:1,其中,有3150张图片用于训练与验证,测试集共有350张。
[0098]
本实施例选择pytorch深度学习框架进行算法实现,实验设置参数epoch=100,batch_size=4,img_size=416,lr=0.00006,为了验证本文算法的有效性,采用构建的指针式仪表检测数据集对上述网络进行迭代训练。
[0099]
步骤2:将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针转动角度,具体包括:
[0100]
检测到倾斜度数后进行旋转,矫正表盘水平位置,使用二级检测获取指针角度;
[0101]
将所述调整角度后的表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;
[0102]
基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;
[0103]
由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。
[0104]
二级检测获取指针角度:
[0105]
获取到表盘区域后将检测结果送入二级定位网络,二级指针定位选取faster r-cnn作为基础网络,融合多层网络,增加注意力机制,可定位指针,网络分类结果为指针旋转度数,角度范围为0-360。求得指针的角度后,再进行量程转换,最终求出指针式仪表的读数,整体算法结构如图4所示。
[0106]
步骤3:基于所述指针转动角度结合量程转换公式得到指针式仪表的读数,具体包括:
[0107]
将指针转动角度基于量程转换公式,得到指针式仪表的读数,其中量程转换公式如下所示:
[0108]
point_angle=360-(time_angle-point_angle)if 90≥time_angle≥0and time_angle》point_angle
[0109]
point_angle=time_angle-point_angle if 90≥time_angle≥0and time_angle《point_angle
[0110]
point_angle=(time_angle+point_angle)-360if 360≥time_angle≥270and time_angle+point_angle≥360
[0111]
point_angle=time_angle-point_angle if 360≥time_angle≥270and time_angle+point_angle《360
[0112]
其中,time_angle为表盘转动的度数,point_angle为指针度数。所以,
[0113]
num_result=(point_angle1-point_angle2)/(num1-num2)
·
(result_angle-point_angle2)其中,num_result为最终读数,等号右边point_angle为两组阈值的度数,num为两组阈值的真实读数。
[0114]
实施例2:
[0115]
下面结合仿真试验对本发明的效果做进一步的说明:
[0116]
1.实验条件:
[0117]
本发明的仿真实验是在中央处理器amd ryzen 7 3700x 8-core processor,显卡:nvida geforce rtx 2080ti,内存:32g的硬件条件和pytorch软件环境下进行的。
[0118]
2.评价指标:
[0119]
本文采用map(mean average precision)作为改进的faster r-cnn目标检测的评价指标。map是各种目标类别ap的平均值,反映模型平均精度均值;ap是pr曲线下的面积,表示该类别的平均精度,pr曲线即precision-recall曲线,精确度precision和召回率recall的计算公式如下:
[0120][0121][0122]
其中,tp表示检测图片中各个类别的正确及从哪儿值;fp表示错误检测值数量;fn表示漏检的物体数。
[0123]
3.仿真内容与结果分析:
[0124]
为了验证本文算法的有效性,采用构建的指针式仪表检测数据集对上述网络进行迭代训练。训练迭代次数共100轮,每轮训练模型结果均保存,并进行损失值可视化。模型训练结束后,使用测试集测试,得到基于ssd一级定位和改进型faser r-cnn二级定位的模型map值,如图8(a)所示,precision表示精确度,recall表示召回率。训练损失与验证损失如图8(b)所示,图中tain_loss表示训练损失,val_loss表示验证损失。通过训练损失我们可以发现我们的模型具有收敛速度快的优势;而在验证损失中我们可以发现最后训练损失与
验证损失重合且同为不断下降趋于稳定,说明我们的模型没有过拟合,数据集没有错误数据的问题。采用ssd网络结构进行一级表盘定位,采用改进faster r-cnn网络识别指针角度并转换量程。为测试本文算法的泛化性能,使用本文算法对数字式指针进行训练与测试,由于单个数字指针分类简单,仅为0-9十分类,检测精度更高。
[0125]
实验结果表明,与传统模板匹配算法相比,改进的二级仪表识别网络在本文自建仪表数据集上检测效果较好。数字式仪表与指针式仪表的ap值均获得了明显提升。其中,本文算法在数字式仪表数据集上的ap值为92%,相较于传统算法精度提升6%;在指针式仪表数据集上的ap值为87%,相较于传统算法精度提升8.8%。
[0126]
综上所述,本发明提出指针式仪表二级识别网络,首先获取仪表区域并矫正仪表偏斜位置,再使用改进faster r-cnn网络识别指针角度,特征融合与注意力机制的引入,使得本发明算法相较于传统算法具有较大精度提升。
[0127]
实施例3:
[0128]
基于同一发明构思的本发明还提供了一种指针式仪表识别系统,包括:
[0129]
区域检测模块,用于将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;
[0130]
角度检测模块,用于将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针旋转角度;
[0131]
度数转换模块,用于基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;
[0132]
其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;
[0133]
所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。
[0134]
一种指针式仪表识别系统,还包括ssd网络训练模块,用于:
[0135]
将标记了表盘区域的图片和图片中表盘相对于水平方向的角度输入所述ssd网络中,由所述ssd网络通过设置不同尺寸和数量的先验框对图片中的表盘区域进行检测,得到检测表盘区域和表盘相对于水平方向的角度的检测框。
[0136]
所述区域检测模块,具体用于:
[0137]
将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。
[0138]
所述改进faster r-cnn网络构包括:
[0139]
以进行特征提取的vgg16网络为基础网络、在提取的特征中引入注意力机制的se模块,以及对表盘区域中指针进行类别划分和坐标位置回归的区域建议网络。
[0140]
一种指针式仪表识别系统,还包括改进faster r-cnn网络训练模块,用于:
[0141]
获取表盘区域,以及所述表盘区域中指针转动角度;
[0142]
由所述表盘区域和所述表盘区域中指针转动角度构建样本集;
[0143]
采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。
[0144]
所述角度检测模块具体用于:
[0145]
将所述表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;
[0146]
基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;
[0147]
由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。
[0148]
实施例4:
[0149]
基于同一种发明构思,本发明还提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor、dsp)、专用集成电路(application specificintegrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能,以实现上述实施例中一种指针式仪表识别方法的步骤。
[0150]
实施例5:
[0151]
基于同一种发明构思,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种指针式仪表识别方法的步骤。
[0152]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0153]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0154]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0155]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0156]
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在发明待批的本发明的权利要求范围之内。
技术特征:1.一种指针式仪表识别方法,其特征在于,包括:将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针转动角度;基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。2.如权利要求1所述的方法,其特征在于,所述ssd网络的训练包括:将标记了表盘区域的图片和图片中表盘相对于水平方向的角度输入所述ssd网络中,由所述ssd网络通过设置不同尺寸和数量的先验框对图片中的表盘区域进行检测,得到检测表盘区域和表盘相对于水平方向的角度的检测框。3.如权利要求2所述的方法,其特征在于,所述将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度,包括:将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。4.如权利要求1所述的方法,其特征在于,所述改进faster r-cnn网络包括:以进行特征提取的vgg16网络为基础网络、在提取的特征中引入注意力机制的se模块,以及对表盘区域中指针进行类别划分和坐标位置回归的区域建议网络。5.如权利要求4所述的方法,其特征在于,所述改进faster r-cnn网络的训练包括:获取表盘区域,以及所述表盘区域中指针转动角度;由所述表盘区域和所述表盘区域中指针转动角度构建样本集;采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。6.如权利要求4所述的方法,其特征在于,所述将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针转动角度,包括:将所述调整角度后的表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。7.如权利要求5所述的方法,其特征在于,所述改进faster r-cnn网络的训练还包括:采用测试集计算训练好的改进faster r-cnn网络的map值;基于所述map值对所述训练好的改进faster r-cnn网络进行评价。8.如权利要求7所述的方法,其特征在于,所述改进faster r-cnn网络的训练还包括:
基于测试集和验证集计算训练好的改进faster r-cnn网络的测试损失和验证损失;从所述测试损失中观测所述训练好的改进faster r-cnn网络是否具有快速收敛的特性;当所述测试损失和所述验证损失重合且同为不断下降趋于稳定时,所述训练好的改进faster r-cnn网络没有过拟合。9.如权利要求2所述的方法,其特征在于,所述ssd网络的训练还包括:基于测试集和验证集计算训练好的ssd网络的测试损失和验证损失;从所述测试损失中观测所述训练好的ssd网络是否具有快速收敛的特性;当所述测试损失和所述验证损失重合且同为不断下降趋于稳定时,所述训练好的ssd网络没有过拟合。10.一种指针式仪表识别系统,其特征在于,包括:区域检测模块,用于将待识别图像按设定比例缩放后输入预先训练好的ssd网络中进行检测,得到图像中表盘区域和所述表盘相对于水平方向的角度;角度检测模块,用于将所述表盘区域根据所述表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进faster r-cnn网络识别指针旋转角度;度数转换模块,用于基于所述指针转动角度结合量程转换公式得到指针式仪表的读数;其中,所述ssd网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对ssd网络进行训练得到;所述改进faster r-cnn网络是基于图片中的表盘区域和所述表盘区域中指针转动角度对改进的faster r-cnn网络进行训练得到的。11.如权利要求10所述的系统,其特征在于,还包括ssd网络训练模块,用于:将标记了表盘区域的图片和图片中表盘相对于水平方向的角度输入所述ssd网络中,由所述ssd网络通过设置不同尺寸和数量的先验框对图片中的表盘区域进行检测,得到检测表盘区域和表盘相对于水平方向的角度的检测框。12.如权利要求11所述的系统,其特征在于,所述区域检测模块,具体用于:将待识别图像按设定比例缩放后输入预先训练好的ssd网络中,由所述ssd网络的检测框检测出所述待识别图像中的表盘区域,以及所述表盘相对于水平方向的角度。13.如权利要求10所述的系统,其特征在于,所述改进faster r-cnn网络构包括:以进行特征提取的vgg16网络为基础网络、在提取的特征中引入注意力机制的se模块,以及对表盘区域中指针进行类别划分和坐标位置回归的区域建议网络。14.如权利要求10所述的系统,其特征在于,还包括改进faster r-cnn网络训练模块,用于:获取表盘区域,以及所述表盘区域中指针转动角度;由所述表盘区域和所述表盘区域中指针转动角度构建样本集;采用所述样本集中的表盘区域和所述表盘区域中指针转动角度对所述改进fastee r-cnn网络进行训练得到训练好的改进fastee r-cnn网络。15.如权利要求13所述的系统,其特征在于,所述角度检测模块具体用于:
将所述表盘区域输入到vgg16网络中,提取表盘区域中指针区域特征和指针区域的背景特征;基于指针区域特征和指针区域的背景特征结合所述指针区域特征和指针区域的背景特征的权重得到更新特征图;由所述区域建议网络对所述更新特征图中的指针进行类别划分和坐标位置回归,得到所述表盘区域中指针转动角度。16.一种计算机设备,其特征在于,包括:一个或多个处理器;所述处理器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,实现如权利要求1至9中任一项所述的一种指针式仪表识别方法。17.一种计算机可读存储介质,其特征在于,其上存有计算机程序,所述计算机程序被执行时,实现如权利要求1至9中任一项所述的一种指针式仪表识别方法。
技术总结一种指针式仪表识别方法、系统、设备及存储介质,包括将待识别图像按设定比例缩放后输入预先训练好的SSD网络中进行检测,得到图像中表盘区域和表盘相对于水平方向的角度;根据表盘相对于水平方向的角度调整表盘区域,并将调整角度后的表盘区域输入到预先训练好的改进Faster R-CNN网络识别指针转动角度;基于指针转动角度结合量程转换公式得到指针式仪表的读数;其中,SSD网络是基于标记了表盘区域的图片和表盘相对于水平方向的角度对SSD网络进行训练得到;改进Faster R-CNN网络是基于表盘区域图片和指针转动角度对改进的Faster R-CNN网络进行训练得到的。根据表盘相对于水平方向的角度调整表盘区域后采用训练好的改进Faster R-CNN网络识别指针旋转角度,得到指针式仪表的精确读数。式仪表的精确读数。式仪表的精确读数。
技术研发人员:李佳 段祥骏 王庆杰 李运硕 冯德志 许媛媛 张琳 段青 沙广林 王素敏 史雪锋
受保护的技术使用者:国家电网有限公司 国网山东省电力公司
技术研发日:2022.08.04
技术公布日:2022/12/1