基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法
1.
2.
3.
Automatic recognition method for substation meter panel readings based on Fast R-CNN and DeepLabV3+
1.
2.
3.
通讯作者:
收稿日期: 2023-11-21 修回日期: 2023-12-27
Received: 2023-11-21 Revised: 2023-12-27
作者简介 About authors
王 飞(1988—),男,工程师,硕士,从事智能制造、工业互联网及数字孪生等研究,E-mail:
关键词:
Keywords:
本文引用格式
王飞, 陈向俊.
WANG Fei, CHEN Xiangjun.
随着社会的飞速发展和科技的日新月异,电力系统的技术限制不断被突破,最终逐步迈向全自动化、智能化的新纪元。变电站作为电力系统不可或缺的组成部分,其运行状态的实时监测至关重要。准确、实时地了解变电设备的运行状态对电力系统的安全运行有决定性作用,是确保电力稳定供应的关键环节。为了提高变电站的工作效率和保障电网的稳定运行[4-5],学者们在变电站运维中逐步开始应用互联网和现代化信息技术,如计算机视觉、深度学习和人工智能技术等。现阶段,基于计算机视觉的变电站检测和识别技术受到了广泛关注。应用这一技术不但能够准确、快速地识别仪表盘示数,实现自动化控制,还能够通过对大数据的分析与处理,及时发现和预防潜在故障,保障电力系统的安全运行。
基于机器学习和深度学习的自动识别方法可实现对变电站仪表盘示数的自动化读取与处理[6-7],有效地缩短了仪表盘示数读取时间和降低了人力成本,提高了电力系统的运行效率。此外,该类自动识别方法还能够减少人工操作引起的误差,提高数据的准确性和稳定性。在过去的研究中,学者们广泛使用传统的图像处理技术开展了仪表盘示数自动识别方法研究,如阈值分割、形态学操作等,但由于受到仪表盘类型、环境因素等的影响,这些方法的识别效果并不理想[8-9]。近年来,深度学习技术在图像处理领域得到了广泛应用,尤其是CNN(convolutional neural network,卷积神经网络),其在目标检测和语义分割等方面具有显著优势。目前,基于深度学习的仪表盘示数识别方法已成为新的研究热点[10-12]。王欣然等[13]对传统的Fast R-CNN(regional CNN,区域卷积神经网络)算法进行了改进,将其中的VGG(visual geometry group,视觉几何组)网络层替换为ResNet101,有效地提高了该算法的检测准确率。赵伟达等[14]基于YOLO-E与改进OCRNet构建了一种端到端的变电站仪表盘示数自动识别方法,极大地提高了变电站仪表盘示数的读取效率,有效地推动了变电站的自动化发展。刘晏等[15]采用改进的YOLOv5s对变电站中的指针式仪表进行了识别,同时利用语义分割模型来提取仪表盘中指针等要素,实现了对仪表盘示数的智能化识别。金爱萍等[16]基于YOLOv5和U-Net实现了指针式仪表盘示数的高效、准确识别。Zhang等[17]提出了一种基于YOLOv3的工业仪表分类和示数识别方法,该方法使用SVM(support vector machine,支持向量机)识别所提取的数字并输出数字式仪表的读数,准确率高达99.7%。Zhou等[18]提出了一种基于深度学习的新型端到端智能示数识别方法,可直接定位指针式仪表并提取指针信息,无需任何先验信息,该方法在倾斜、旋转、模糊和光照等复杂条件下仍具有良好的识别性能。但是,上述方法在复杂变电站场景中的识别性能较差。
为了解决上述问题,本文提出了一种基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法,旨在实现复杂场景下仪表设备运行状态数据的自动化采集,有助于电力系统的安全运行和高效管理。一方面,该方法可降低人工读数的工作量,减少读数误差;另一方面,该方法能实现对变电站仪表盘示数的智能化分析与管理,可为电力系统的预测性维护和优化提供可靠的数据支持。
1 基于FastR-CNN的目标检测技术
1.1 Fast R-CNN的原理
Fast R-CNN是一种基于深度学习的目标检测算法[19],其原理如下:先提取整张输入图像的特征图,然后将特征图输入全连接层,最后在特征图上用滑动窗口的方式实现目标检测。
基于Fast R-CNN的目标检测技术的关键步骤如下:
1)特征提取。使用一个预训练好的CNN(如VGGNet或ResNet)来提取输入图像的特征图,假设输入图像为I,使用CNN提取到的特征图为F。
2)候选区域生成。在所提取的特征图上,使用RPN(region proposal network,区域建议网络)来生成一系列可能包含目标的候选框。RPN采用滑动窗口的方式,在特征图上的每个位置处生成一组尺寸和长宽比不同的候选框。这些候选框通常表示为(x, y, w, h),其中(x, y)、(w, h)分别为候选框左上角和右下角的坐标。RPN通过一个二分类器来判断候选框是否包含目标,并通过一个回归器来修正候选框的位置。
3)ROI(region of interest,感兴趣区域)池化。首先,将每个候选框映射回特征图中,候选框在特征图上的对应区域可表示为
4)分类与回归。将经ROI池化操作得到的特征向量输入全连接层,以实现对目标对象的类型识别和位置估计。设特征向量为 v,全连接层的权重矩阵为 Wc和 Wr,对应偏置项为 bc和 br,其中 Wc和 bc对应分类网络, Wr和 br对应回归网络。分类网络采用Softmax激活函数来预测目标类别的概率分布:
式中:
回归网络则根据特征向量
通过上述步骤,Fast R-CNN可以在一次前向传播过程中对整张输入图像中的目标进行检测和分类。相比于传统的CNN,Fast R-CNN充分利用了特征共享和ROI池化操作的优势,显著提高了目标检测的速度和准确性。
1.2 Fast R-CNN的训练过程
为了增强Fast R-CNN模型对变电站场景的适应能力,利用变电站仪表盘数据集对其进行训练。为实现变电站仪表盘示数的准确识别,需收集大量在不同背景、距离和角度下拍摄的含仪表盘的图像,如图1所示。按8∶2的比例将所采集的图像随机划分为训练集和测试集。
图1
图1
不同环境下的变电站仪表设备
Fig.1
Substation metering equipment in different environments
在完成数据采集后,首先,选择一个预训练好的Fast R-CNN模型作为特征提取器,将每张含仪表盘的图像输入Fast R-CNN并提取图像特征。然后,根据每张图像中仪表盘的位置和示数进行标注,生成每个候选框的标签。候选框的位置由边界框坐标表示,示数的值作为对应候选框的标签。接着,使用含标注的训练样本对Fast R-CNN模型进行训练。在训练过程中,采用损失函数来衡量目标分类和位置回归的误差;通过随机梯度下降法来迭代更新网络的权重和偏置项,迭代周期设置为500次。最后,使用测试集对训练好的Fast R-CNN模型进行性能评估,即计算该模型在仪表盘检测上的准确率。根据上述步骤,通过迭代优化训练,可得到在变电站仪表盘检测任务上具有较高准确率的Fast R-CNN模型。
2 仪表盘示数自动识别
2.1 仪表盘提取
为了实现对变电站仪表盘示数的自动识别,本文采用Canny边缘检测算法和轮廓提取方法来提取仪表盘[20]。Canny边缘检测算法是一种经典的边缘检测算法,通过检测图像中的灰度值或颜色强度的梯度变化来提取明显的边缘线。对原始仪表盘图像进行Canny边缘检测,得到仪表盘边缘图像;随后,采用findContours函数来搜寻仪表盘边缘图像中的轮廓。findContours函数能够检测图像中的所有轮廓,并返回每个轮廓的点集。为了确定仪表盘的位置,需要找到图像中的最大轮廓。通过计算每个轮廓的面积,即可找到面积最大的轮廓,该轮廓所围区域即为仪表盘所在区域。基于Canny边缘检测算法的仪表盘提取结果如图2所示。
图2
图2
基于Canny边缘检测算法的仪表盘提取结果
Fig.2
Meter panel extraction result based on Canny edge detection algorithm
2.2 仪表盘语义分割
语义分割是计算机视觉中的一项重要任务,旨在将图像中的每个像素分配给对应的语义类别。DeepLabV3+是一种基于深度学习的语义分割模型,它在DeepLabV3的基础上进行了改进,提高了分割的精度和准确性[21]。DeepLabV3+模型采用空洞卷积(dilated convolution)和空间金字塔池化(spatial pyramid pooling)等技术,以有效地捕捉多尺度的上下文信息,并实现像素级别的语义分割。在DeepLabV3+模型中,通过空洞卷积的方式扩大了感受野,以有效地处理不同尺度的目标物体;同时,空间金字塔池化层能够对大小不同的特征图进行池化操作,从而获得不同尺度的上下文信息。空洞卷积和空间金字塔池化操作的结合,使得DeepLabV3+模型具有较好的分割性能。
本文采用DeepLabV3+模型来完成变电站仪表盘示数自动识别中的语义分割任务。首先,将2.1节中提取到的仪表盘图像输入DeepLabV3+模型以进行前向传播,获得仪表盘指针与刻度线的分割结果。然后,根据不同语义类别的颜色,对仪表盘示数进行像素级别的分类,将每个像素分配到对应的语义类别中。为了训练DeepLabV3+模型,使用包含大量变电站仪表盘示数图像的数据集。在训练过程中,采用交叉熵损失函数来衡量DeepLabV3+模型预测标签与真实标签之间的差异,并使用优化算法来更新模型参数,以获得更加准确的语义分割结果。图3所示为基于DeepLabV3+的仪表盘语义分割结果。
图3
图3
基于DeepLabV3+的仪表盘语义分割结果
Fig.3
Meter panel semantic segmentation result based on DeepLabV3+
2.3 仪表盘示数计算
示数计算是变电站仪表盘示数自动识别中的重要环节,即通过分析当前仪表盘图像中指针所处的刻度位置,来获取精确的仪表盘示数[20]。为了获得指针位置,在仪表盘提取和语义分割的基础上,通过特征提取和分类的方法来检测和定位指针。在完成指针定位后,根据指针相对于刻度的位置进行示数计算。根据仪表盘的特点和刻度的分布,建立对应的关系模型,从而将指针的位置映射到对应的数值上。该关系模型可通过人工标注的方式进行训练,并使用一定数量的样本进行优化。所构建的关系模型的具体表达式如下:
式中:V表示仪表盘示数,x表示当前指针所处位置左侧刻度线的数量,N表示刻度线总数量,L表示仪表的量程。
3 仪表盘示数自动识别实验与分析
3.1 数据采集及实验环境
为了构建较为全面的数据集,采集了多个包含仪表设备的真实变电站场景图像(在不同环境、光照条件下拍摄不同类型、规模变电站内的图像),并对原始图像进行随机旋转、缩放等增强操作,以增加数据集的多样性和泛化能力。此外,在每张图像上手动标注仪表盘的位置和示数。在标注过程中,采用矩形框和数值表示的方式,其中矩形框用于标记仪表盘的位置,数值用于表示仪表盘的示数。最终,构建了包含2 000张变电站仪表盘图像的数据集。
为了验证本文所提出的变电站仪表盘示数自动识别方法的有效性和准确性,在一台深度学习服务器上开展实验。服务器配置如下:Ubuntu 20.04操作系统、Intel Core i7-8700K@3.70GHz处理器、64 GB内存、NVIDIA GeForce GTX 1080 Ti显卡。使用Python编程语言并借助深度学习框架PyTorch来构建基于Fast R-CNN的目标检测模型和基于DeepLabV3+的语义分割模型。此外,还使用一些常见的图像处理方法和计算机视觉库,如OpenCV和Matplotlib等,以实现对仪表盘示数的定位、识别和计算。在实验过程中,将所构建的数据集划分为训练集和测试集,以实现模型的训练与性能评估。具体地,将数据集中的80%样本作为训练集,用于模型训练与参数调优;将剩余的20%样本作为测试集,用于评估模型的泛化性能。通过上述数据集的构建和实验环境的设置,可实现对基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法的全面、准确分析与评估。基于Fast R-CNN的目标检测模型和基于DeepLabV3+的语义分割模型的训练过程如图4所示。由图4可知,随着迭代周期的增大,基于Fast R-CNN的目标检测模型和基于DeepLabV3+的语义分割模型的损失值均稳定收敛。
图4
图4
不同模型训练过程中的损失值变化曲线
Fig.4
Loss value variation curves during training process of different models
3.2 仪表盘检测实验
为了验证基于Fast R-CNN的目标检测方法的性能和有效性,开展变电站仪表盘检测实验。将测试集中400张含仪表盘的变电站场景图像输入训练好的基于Fast R-CNN的目标检测模型,以完成仪表盘的检测,部分检测结果如图5所示。实验结果表明,在不同的变电站场景下,基于Fast R-CNN的目标检测模型均能实现仪表盘的准确识别与位置估计。
图5
3.3 仪表盘示数识别实验
为了验证基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法的性能和有效性,开展仪表盘示数识别实验。首先,利用Canny边缘检测算法和findContours函数从包含部分背景信息的仪表盘图像中提取单独的仪表盘图像,如图2所示。然后,利用基于DeepLabV3+的语义分割模型分割得到仪表盘中的指针和刻度线信息。最后,基于语义分割结果,利用示数计算模块对仪表盘示数进行读取。仪表盘示数识别结果如图6所示。结果表明,所提出的仪表盘示数识别方法能够根据仪表盘图像准确地读取仪表盘的数据。通过仪表盘示数识别实验,可以全面评估基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法的有效性和准确性。这可为基于深度学习的仪表盘示数自动识别方法在变电站中的应用提供坚实的依据和基础。
图6
4 结束语
本文成功地开发了一种基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法。首先,使用基于Fast R-CNN的目标检测技术来寻找变电站场景图像中含仪表盘的区域;然后,采用Canny边缘检测算法、findContours函数以及基于DeepLabV3+的语义分割模型,完成了仪表盘的提取和语义分割,并通过基于图像处理的示数计算模块实现了仪表盘示数的高效准确识别。
通过开展仪表盘检测实验和仪表盘示数识别实验,对所提出的方法进行了有效性和准确性验证。结果表明,该方法能够有效地自动识别仪表盘示数,且具有较好的鲁棒性和准确性,这为变电站仪表盘示数的自动识别提供了一种切实可行的方法,对提升变电站运维效率和运行安全性具有重要意义。
然而,基于Fast R-CNN和DeepLabV3+的变电站仪表盘示数自动识别方法仍有许多待改进之处,例如:如何处理更为复杂环境下的仪表盘示数识别问题;如何提高识别方法在大规模变电站仪表设备中的适用性等。在后续的工作中,笔者将继续对变电站仪表盘示数的自动识别技术进行深入研究,以进一步推动电力系统的智能化发展。
参考文献
基于机器视觉的仪表读数识别研究与应用
[D].
Research and application of meter reading recognition based on machine vision
[D].
基于图和体分解的异型零件加工特征识别方法
[J].
Machining feature recognition method of special-shaped parts based on graph and volume decomposition
[J].
基于表面评估的工件轮廓识别方法研究
[J].
Research on workpiece contour recognition method based on surface evaluation
[J].
基于仪表模糊示数的识别算法研究与应用
[D].
Research and application of recognition algorithm based on blured digital meter readings
[D].
基于图像识别的波纹补偿器轴向尺寸检测方法
[J].
Axial dimension detection method of corrugated compensator based on image recognition
[J].
Topology and parameter identification of distribution network using smart meter and µPMU measurements
[J].
Household profile identification for behavioral demand response: a semi-supervised learning approach using smart meter data
[J].
基于轻量化深度学习的仪表数字识别研究
[J].
Research on instrument digital recognition based on lightweight deep learning
[J].
井上变电站智能巡检仪表识别系统的设计与研究
[J].
Design and research of intelligent inspection instrument identification system for inoue substation
[J].
基于YOLOv7+U2-Net的指针式仪表检测与识别
[J].
Detection and recognition of pointer instruments based on YOLOv7+U2-Net
[J].
海港码头冷藏集装箱仪表盘类型与温度示数识别方法研究
[J].
Research on identification method of instrument panel type and temperature indication of refrigerated container in seaport terminal
[J].
基于YOLOv4-tiny和Hourglass的指针式仪表读数识别
[J].
Pointer meter reading recognition based on YOLOv4-tiny and Hourglass
[J].
基于改进的Faster RCNN的仪表自动识别方法
[J].
Automatic instrument identification based on improved Faster RCNN
[J].
基于YOLO-E与改进OCRNet图像分割的变电站仪表读数自适应识别方法
[J].
Substation meter readings and dial information identification method based on YOLO-E and enhanced OCRNet image segmentation
[J].
基于改进的YOLOv5s指针式仪表检测与读数识别
[J].
Detection and reading recognition of pointer instrument based on improved YOLOv5s
[J].
基于YOLOv5和U-Net的指针式仪表读数识别方法
[J].
Identification method for reading of pointer instruments based on YOLOv5 and U-Net
[J].
A YOLOv3-based industrial instrument classification and reading recognition method
[J].
Intelligent reading recognition method of a pointer meter based on deep learning in a real environment
[J].
深度学习目标检测方法综述
[J].
Survey on deep learning object detection
[J].DOI:10.11834/jig.190307 [本文引用: 1]
一种基于Canny理论的自适应边缘检测方法
[J].
An adaptive edge-detection method based on Canny algorithm
[J].DOI:10.11834/jig.200408183 [本文引用: 2]
/
〈 |
|
〉 |
