杨 雨,陈 服,陈柏青,张美勇,郑依然,杨 超
(1.国网浙江省电力有限公司瑞安市供电公司,浙江 瑞安 325200;2.三峡大学 电气与新能源学院,湖北 宜昌 443000)
随着我国工业的快速发展,人们的生活水平迅速提高,对用电需求也日益增长,使得电力系统的安全运行面临更大的挑战。因此,在该需求背景下,可以高效、稳定运行的智能变电站成为未来变电站建设的新标准。其中,保护压板作为一种提高电力系统稳定运行的重要设备,一直是变电站巡检过程中必不可少的一部分,结合当下最新的计算机自动化技术,实现对变电站保护压板的智能化改造。
目前,变电站硬压板远方投退重合闸装置技术已经日渐成熟,具有足够的应用价值,但针对变电站保护压板的状态识别仍由人工进行读取,极易造成视觉疲劳,误检和漏检的情况时有发生,给电网运行安全可靠运行带来隐患。因此,基于图像识别技术的压板检测与状态识别算法被应用于压板读取识别之中,以代替传统人工低效率、高错误率的读取工作。
目前,基于图像识别技术的压板检测与状态识别算法主要分为三类,一类是基于传统数字图像处理的形态学与特征分析[1-6],第二类则是基于机器学习的模式识别[7-8],最后一类则是基于深度学习的图像处理算法[9-11]。由于基于深度学习的方法具有实时性高、错误率低等特点,因此,本文通过建立压板数据集,利用YOLO v5算法实现对压板的快速检测与识别。
本文的压板数据集采集于辖区范围内37座变电站各个保护屏、测控屏内硬压板,数据集共包含500张图片。分辨率大小为640*640。图1为数据集典型样本(测试集样本)。
由图1可知,压板开关图像具有如下特点:由于摄像头拍摄位置不固定,导致压板开关的形状和大小不规范;压板开关的颜色存在多样性;压板背景复杂,存在大量的设备标签。部分压板开关的颜色与背景存在相似性,前景与背景难以区分。以上因素均导致传统算法和机器学习算法对压板位置和状态检测识别困难。针对上述难点,我们收集了大量压板图像建立数据集,以提高网络模型的性能,实现对压板的快速检测与识别。
本文所使用的标注工具为LabelImg,通过回归框进行标记,标签值和回归框位置以TXT文件存储,标记后的图像如图1(右)所示。
数据集由以下两部分组成,如表1所示,共分为训练集和测试集,以4:1的比例进行划分,进行交叉验证。
表1 数据集设置
与RCNN[12]、Fast-RCNN[13]、Faster-RCNN[14]等基于深度学习分类方法所不同的是,YOLO系列[15-18]是基于深度学习的回归方法,YOLO共分为五个版本,本文所使用的是YOLO v5模型,相比于前几个版本而言,其优点在于具有更强的实时特性和更高的预测精度。其创新之处在于:(1)将自适应的计算锚框添加到模型之中,以适应针对不同数据集样本分布的锚框计算功能。(2)通过自适应的缩放图片,减少信息冗余,加快推理速度。(3)推出了四种网络结构,以应对不同场景的需求。
YOLO v5模型架构如图2所示,整体模型主要分为三个部分,BackBone特征提取网络、Neck特征聚合网络以及预测网络Prediction。
图2 YOLO v5整体结构图
BackBone特征提取网络主要由Focus、CRL和CSP模块组成,Focus模块用于对输入的RGB图像进行特征融合与提取,获取图像中的基本特征。CRL模块的组成如图1所示,其包含一个卷积层、一个批归一化层和一个Leaky relu激活层。CSP模块通过特征映射增强网络的学习能力,包含两个分支结构,第一分支包含两个CBM模块和x个残差模块,第二分支仅包含一个CBM模块,两个分支的输出特征通过Concat操作拼接在一起,与其他的残差模块相同,第一分支中的x个残差模块是为了加快收敛和训练速度。其中CBM模块包含一个卷积层,一个批归一化层和一个Mish激活层。
图1 数据集典型样本
Neck中通过SPP模块提取多尺度特征,并通过特征跳跃连接的方式,将来自于网络不同深度的特征拼接在一起。如图3所示,来自BackBone的输出特征经过两个CRL模块后通过SPP模块提取到了多尺度特征,再通过两个CRL模块和一个CSP模块融合局部和全局上下文信息,经过线性上采样使得空间分辨率与BackBone的输出分辨率相同,两者进行Concat操作,经过融合层后作为下一级的输入特征。其中,融合层为级联的CSP模块和CRL模块。
为了获得多个等级的输出特征,Neck网络中将来自BackBone的中层特征和上级的输入特征线性上采样后Concat操作,经过融合层后生成Prediction的上层输入特征。并将得到的上层输入特征经过一个CRL模块后作为下一层Concat操作的输入之一,此外,上级的输入特征被再次利用,与Prediction的上层输入特征一起生成Prediction的中间层输入特征。然后,中间层的特征再次作为Concat操作的输入,结合BackBone网络的输出,生成Prediction的最下层输入特征。这种结构的设计,充分利用了来自网络不同深度的特征信息,将上下文信息(开关位置)和语义信息(说明这是开关)充分融合。
针对Neck网络的三个输出,将用于上层预测的特征和来自网络中间层的特征拼接,再通过CSP和CRL模块进行特征融合。在Prediction部分,来自Neck的三个输入将分别通过一个卷积层,生成用于预测的三个特征图。
YOLO v5根据网络深度和宽度的不同可分为四种网络结构,分别是YOLO v5s、YOLO v5m、YOLO v5l和YOLO v5x。其中通过修改CSP模块的残差模块的个数改变网络的深度,修改图1中编号①-⑤模块中的卷积核个数改变网络的宽度。具体参数设置如表2、表3所示。
表2 不同模型CSP模块具体参数设置
表3 不同模型卷积核数具体参数设置
本文所采用的深度学习框架为Pytorch1.5,所有训练与测试均在单张RTX 3090上进行,所使用的优化算法为Adam,其参数设置为β1=0.9,β2=0.999,学习率设置为0.01,针对四种不同的网络结构,其训练大小分别设置为12,6,6,2,训练周期设置为1000。
为了能够直观地展示本文中所用算法的性能,本文将会从以精确度P和召回率R对网络进行模型评估,反映模型对压板的误检和漏检。具体定义如下所示:
式(1)中,P为模型的预测精确度,TP为压板真实状态为on时,预测结果也为on的样本数,即为预测正确。FP为压板真实状态为off时,预测结果为on的样本数,即为预测错误。FP越大,则预测精度越低。
式(2)中,R为模型的预测召回率,FN为压板真实状态为on时,预测结果为off的样本数,即为预测错误。
同时,为了能够将深度学习算法与传统算法进行更加全面的比较,本文还引入了漏检率和推理速度t对算法的性能进行评估。
式(3)中,M为对压板检测的漏检率,MD为压板开关漏检数,TD为压板开关可以被检测到的个数。
传统算法对保护压板的识别过程主要分为以下几个步骤:阈值分割、图像二值化、位置检测(边缘提取)、状态识别。如图3、图4所示,分别展示了传统算法对压板开关的阈值分割和状态识别结果。由图3可以看到,阈值分割不能很好地提取灰色开关的有效区域,从而使得该类颜色压板开关的位置不被获取,出现大量漏检,如图4所示。这种漏检需要人工复检才可以对结果进行补充,虽然该种计算机与人工结合的方式高于纯人工识别的效率和准确率,但并不符合变电站智能化的要求和发展趋势。
图3 传统算法阈值分割结果
图4 传统算法状态识别结果
如表4所示,展示了YOLO v5不同网络结构和传统算法下的精确度P、召回率R、漏检率M和推理时间t。随着网络深度与宽度的不断增加,网络的精确度和召回率也随之提升,但网络的计算量大大增加也导致了推理速度的降低,从表中可以看出,YOLO v5x的精确度高达93.63%,远远高于传统算法的87.45%(注意,计算精确度时不考虑漏检),且其推理时间仅有29ms,低于传统算法的计算时间,满足实时性需求。并且,基于深度学习的算法其漏检率为0,而传统算法受限于各种条件,漏检率为12.69%,两者相比,本文所使用的基于深度学习的算法优势明显,更加适合应用到保护压板位置检测与状态识别之中。
表4 不同算法的精确度、召回率、漏检率和推理时间
图5从左到右依次为v5s,v5m,v5l,v5x的推理结果,从推理结果可以看出,YOLO v5的所有模型均都可以很好的对压板的位置做出检测并预测状态,相比较于传统算法不能有效的对前景和背景进行准确分割,基于深度学习的方法可以更多的基于空间特征而非颜色特征对压板开关的位置进行判断。从预测的置信率可以看出,在杜绝漏检的前提下,该类难以识别区域的置信率平均高达85%,与其他易于分割识别区域的置信率不相上下。
图5 不同网络结构的推理结果图
由于不同结构的网络均可对压板状态做出较好识别,在实际应用中,我们可以根据不同场景使用不同级别的检测网络。其中v5s模型虽然在准确率上略低于v5x模型,但前者的推理速度仅有后者的37.9%,适用于紧急的巡检任务中。并且更小的模型更加易于与微型计算机设备的计算能力相匹配,相对于大型网络而言更有优势,降低了计算成本,更加易于实现变电站检测设备的智能化改造和应用。
YOLO v5x模型在推理速度上远不及YOLO v5s模型,但前者的预测精度却远高于后者。虽然部署该类模型在微型计算机上成本偏高,但可以将其部署在数据中心,通过互联网将数据传回预测并将结果返回,以满足对高精度任务的需求。
本文利用YOLO v5算法,可快速准确地实现对变电站压板的检测和状态识别,其识别速度可达90fps/s,精度最高可达93.63%,效率和准确率远远高于当下通过人工进行校验读取。接下来的目标是将算法应用于嵌入式设备中,实现与远程投退重合闸装置的联合运用,以加快实现变电站智能化进程。