基于生成对抗网络的自爆绝缘子检测模型设计

2022-10-17 07:02及浩然侯春萍杨阳张贵峰及泓鸥赵艺
现代电力 2022年5期
关键词:鉴别器精确度绝缘子

及浩然,侯春萍,杨阳,张贵峰,及泓鸥,赵艺

(1. 天津大学 国际工程师学院, 天津市 南开区 300072;2. 天津大学 电气自动化与信息工程学院, 天津市 南开区 300072;3. 南方电网科学研究院有限责任公司, 广东省 广州市 510670;4. 华北电力大学 国际教育学院, 河北省 保定市 071003;5. 国家电网辽宁省电力有限公司丹东供电公司, 辽宁省 丹东市 118000)

0 引言

绝缘子是架空输电线路中用于实现电气绝缘和机械固定的重要部件[1]。玻璃绝缘子由于具有生产工艺简单、不易老化等特点,其在我国南方地区的输电线路中使用非常广泛[2]。然而,受到复杂的地理及天气因素的影响,玻璃绝缘子极易发生自爆。自爆的绝缘子威胁了输电线路的运转,对经济发展和社会稳定运行造成了一定影响。

随着无人机技术的发展,无人机巡检已成为输电线路日常巡检的主要手段[3]。随着电网建设的不断扩张,输电线路巡检的工作量日益加大,仅通过人工肉眼对图像进行检测已无法满足电网平稳运行的需要[4]。因此,利用计算机视觉算法对输电线路航拍图像中的自爆绝缘子进行自动识别是急需且必要的[5]。

目前,实现自爆绝缘子检测的计算机视觉方法主要分为两类。第一类是基于传统图像处理的异常检测算法,其通过提取人为设定的图像特征,依靠正常绝缘子与自爆绝缘子的特征差异进行识别。韩正新等人首先使用图像预处理方法减少背景对自爆绝缘子识别的影响,之后提取绝缘子串的轮廓特征,通过自爆绝缘子和正常绝缘子轮廓的差异,进行自爆绝缘子识别[6]。文献[7]考虑到绝缘子航拍图像中的相互遮挡情况,通过对被遮挡绝缘子的膨胀处理,优化了被遮挡绝缘子的轮廓特征提取,实现绝缘子故障判断。但是,输电线路航拍图像的背景复杂,且拍摄角度、拍摄距离等各不相同,导致这种方法的适用性不强[8]。

第二类是基于深度学习的绝缘子缺陷识别算法,其通过大量预先标记过的数据进行训练,使得模型可以分辨出航拍图像中有无自爆绝缘子,实现自动检测。文献[9]通过基于优化的U-net模型获取绝缘子区域的掩膜图像,实行对绝缘子串的语义分割,之后通过YOLOv4模型检测缺陷绝缘子的位置。文献[10]借鉴了残差网络的跳跃链接思想,对YOLOv3-tiny模型进行了改进,提高了模型的学习能力,使其更适用于绝缘子自爆检测。深度学习算法通过自动寻优,可以提取到更合理的图像特征,使得模型减少由拍摄条件、绝缘子背景等导致的错误检测[11]。

但是,无论利用以上哪种方法进行检测,都需要同时利用无损绝缘子及自爆绝缘子数据训练模型。而目前无损绝缘子较为常见,自爆绝缘子的数量非常少。且目前现有的深度学习算法往往需要通过几千甚至上万张的带标记航拍图片作为模型的训练集,使模型学习到真实情况的数据分布。当样本数量过少时,会使模型产生欠拟合问题,无法正确地收敛。因此,如何利用大量的无损绝缘子数据,实现对自爆绝缘子的识别,是值得深入研究的一个问题。

基于上述思考,本文基于生成对抗网络[12]提出了一种针对自爆绝缘子进行检测的模型,该模型仅需要无损绝缘子数据训练,不需要自爆绝缘子,解决了自爆绝缘子数据稀少甚至无法提供的问题,为绝缘子状态的智能检测提供了新的思路。此外,本文提出了一种新的生成对抗网络结构,提高了模型的检测准确性。

1 生成对抗网络基本概念及问题的提出

以生成对抗网络是一种基于博弈论提出的深度学习网络,其包含鉴别器和生成器两部分,其整体结构如图1。鉴别器为二元分类器,训练目标是判断输入数据是训练数据还是生成数据。生成器通常为反卷积网络,模拟训练数据的分布,训练目标是生成数据能够“欺骗”鉴别器,即使鉴别器无法分清生成图片和输入图片[12]。所以在训练过程中,生成对抗网络的两部分训练目标相反,即为对抗训练,其训练目标可以被表示为:

图1 生成对抗网络模型示意图Fig. 1 Schematic diagram of generative adversarial network

式中:V指总体训练目标;E表示均值;x~pdata(x)表示训练数据中采样的数据;z~pz(z)指随机分布中采样的数据;D指鉴别器;G是生成器。通过这种训练方式,生成器可以实现近似于训练样本的数据生成。

通过这种训练机制,使用无损绝缘子图像训练的生成器可以生成与训练数据相似但仍有些许差异的“伪”无损绝缘子图像。在自爆绝缘子识别问题中,这些生成数据可以代替稀少的自爆绝缘子数据对模型进行训练。而鉴别器的训练数据即为无损绝缘子数据和这些生成的“伪”数据,训练良好的鉴别器能够具备区分无损绝缘子数据和自爆绝缘子数据的能力。因此,仅使用无损绝缘子训练的生成对抗网络即可实现对自爆绝缘子的精准识别,能够了目前自爆绝缘子数据量稀少的问题。

然而,生成对抗网络的训练较为困难,直接套用这一思路,容易导致模型无法收敛的问题,使得模型失效。产生这一问题的原因是,生成对抗网络的训练会产生模式崩塌[13],模式崩塌问题的存在使得生成器生成的样本过于单一,这样鉴别器就只能依赖于不够多样的负样本实现训练,这种情况的存在会使得模型对负样本的检测效果不好。特别是在利用实际输电线路航拍图像进行训练时,如果生成器只能生成单一模式的图片,训练后的鉴别器召回率较低,极易将自爆绝缘子误分类成无缺陷绝缘子。

此外,生成对抗网络的训练中会产生样本不均衡问题。随着迭代的进行,输入到鉴别器中的训练样本量和生成样本量之间的差距会越来越大。假设当前迭代次数为n,由于每次迭代生成样本都会发生变化,所以训练样本量与生成样本量之间的比例为1 :n。样本不均衡会造成鉴别器产生对少数类的过拟合问题[14],造成低精准率。对于输电线路航拍图像,在这种情况下会有大量无缺陷绝缘子被检测为自爆绝缘子。

2 基于生成对抗网络的自爆绝缘检测算法设计

2.1 整体算法流程

本文提出的自爆绝缘子识别算法流程如图2。由于输电线路航拍图像中含有大量无关背景信息,本文提出的算法在进行自爆绝缘子识别前,对航拍图像进行了有效的图像分割,有效缓解了因背景信息导致的误分类问题。本文采用的图像分割网络为已通过无缺陷绝缘子串的输电线路航拍图像预训练的YOLO v3网络[15],该模型被大量使用于绝缘子串检测问题[16]。

图2 自爆绝缘子识别算法流程图Fig. 2 Self-explosive insulator detection algorithm

在训练阶段,首先使用图像分割网络对输电线路航拍图像中的无缺陷绝缘子进行裁剪,之后将图片作为训练集,对整体模型进行训练,并通过测试集获得合理阈值;在使用阶段,将待测图片输入图像分割网络对待测输电线路航拍图像进行裁剪,之后送入生成对抗网络中的鉴别器得到对应置信度,通过置信度与阈值之间的大小关系,确定该待测图片中是否含有自爆绝缘子。

本文提出的自爆绝缘子检测模型网络结构如图3,图中实线表示网络前向传播过程,虚线表示反向传播过程。该网络包含五个网络结构,分别为编码器、解码器、隐式鉴别器,生成器和显层鉴别器。

图3 本文改进网络模型示意图Fig. 3 The improved network architecture

该模型中所有卷积层的卷积核大小为5*5,步长为2。在每个卷积层后紧跟Batch Norm正则化层[17]和Leaky ReLU激活函数[18]。作为中间层的全连接层的激活函数同为Leaky ReLU函数,作为输出层的全连接层的激活函数为Sigmoid函数[19]。

2.2 自编码器

自编码器由两个部分组成,分别被称为编码器和解码器。编码器为一个三层的卷积神经网络,通过多次卷积运算,可以将图片编码为一个在潜在空间的特征向量,该特征向量可以作为输入图片的语义特征[20]。为保证编码器的输出符合特征提取的要求,会通过解码器对该特征向量进行解码,形成重构图片。解码器的结构与编码器对称,为一个三层的反卷积神经网络。在本文中,为了自编码器可以提取到输电线路航拍图像中的绝缘子特征,首先使用均方误差损失(mean square error loss,MSE Loss)对自编码器进行独立训练。MSE Loss可以表示为:

式中:x为 原图,En为 编码器,De为解码器。通过MSE Loss的训练,解码器的输出会更加贴近于编码器的输入,编码器也可以寻找到该类样本在潜在空间上的最优表示。

2.3 隐式鉴别器

隐式鉴别器为双层感知机结构,与编码器一同在模型中起到了抑制模式崩塌的作用。在传统的生成对抗网络中,模式崩塌的一个重要原因是,生成器仅根据单一鉴别器的判断进行训练。文献[21]指出,对生成器添加多样性的梯度约束可以有效地避免模式崩塌问题。所以,本文在生成网络结构上添加了一个额外的鉴别器,意图为生成器提供更丰富的梯度信息。隐式鉴别器的输入为图片由自编码器映射的高维向量,其训练目标为准确地分辨由训练图片映射的向量和由生成图片映射的向量。故采用二元交叉熵(binary cross entropy loss,BCE Loss)作为损失函数。BCE Loss可以表示为:

式中:Dl为 隐式鉴别器;G为生成器。通过BCE Loss 的训练,隐式鉴别器可以区分输入向量是自训练样本映射或自生成图片映射,与生成器产生对抗训练,为生成器提供有效梯度。

2.4 生成器

生成器为反卷积神经网络结构,其训练目标为从随机高斯分布中,生成与训练样本近似的图片。在本文中,生成器同时接受隐式鉴别器和显层鉴别器的梯度信息,也使用BCE Loss进行训练。由于生成器和两个鉴别器的训练目标相反,在优化方向上与鉴别器相反,所以在损失函数中需要对图片打反标以形成对抗关系,即:

其中:Dv为 显层鉴别器;n~N(0,1)为从标准高斯分布中采样出的向量。通过两个鉴别器的对抗训练,生成器避免了陷入局部最小的困境,有效地解决了模式崩塌的问题。

2.5 显式鉴别器

显式鉴别器是该模型的核心部分,为卷积层级联全连接层结构。卷积层提取图片的高维语义特征,全连接层对特征进行分类。由于上文中提到的样本不均衡问题,在训练时预先为每一次迭代中的训练样本添加了一个极小的扰动,该扰动使得每次迭代中的训练样本均有微小差异,但并不影响训练样本的概率分布。显式鉴别器通过BCE Loss与生成器进行对抗训练,即:

式中:n为从高斯白噪声。值得注意的是,鉴别器类似于逻辑回归分类器结构,所以鉴别器的输出为该图像是否为缺陷图片的置信度,分类方式可以写作:

阈值根据测试集的最优指标进行选择。这种做法不仅有利于模型的收敛,也为模型提供了更优的泛化性,可以服务于环境更加多变的情况。

3 实验结果与分析

3.1 实验环境与数据集设置

实验使用64位的Ubuntu16.04系统,处理器型号为Intel(R) Core(TM) i7-7700K CPU @4.20 GHz,内存 8G,显卡型号为 GeForce GTX 1080Ti,显存为11G。算法的实验基于Python语言和PyTorch深度学习框架。算法的Batchsize设定为32,自编码器预训练迭代次数30次,采用SGD优化器,学习率为1 0-3,其余部分迭代次数100次,采用RMSprop优化器,学习率为1 0-4,本文实验的所有结果,均基于迭代过程中的最优权重。

本文实验采用的训练集为经过裁剪的无损绝缘子串436张;测试集为128张待测样本,其中无损绝缘子串和自爆绝缘子串各64张。无损绝缘子串和自爆绝缘子串示意图如图4。

图4 数据集示意图Fig. 4 Data set diagram

3.2 评价指标

为了评估本文所构建的基于生成对抗网络的自爆绝缘子检测模型。采用精准度-召回率(precision-recall,PR)曲线、平均精度(average precision,AP)和F1-score评价模型的有效性和鲁棒性。精准度和召回率是检测结果的直接评价指标,这两个指标由检测器输出构成的混淆矩阵计算得出。混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,通过混淆矩阵可以细致的呈现分类器的性能。在本问题中,混淆矩阵如表1。

表1 混淆矩阵示意表Table 1 The table of confusion matrix

其中:NTP指被正确识别的自爆绝缘子数;NFP指被误分类的无损绝缘子数;NFN指被误分类为无损绝缘子的自爆绝缘子数;NTN指能被正确识别的无损绝缘子。

召回率和精确度的定义如下:

从式(7)和式(8)中可以看出,召回率表示自爆绝缘子能被正确检出的概率,精确度表示在预测为自爆绝缘子的样本中真正为自爆绝缘子的概率。在本问题设定下,我们应更关注分类器在识别自爆绝缘子的性能表现,故采用召回率和精确度作为评价指标是非常合理的。

为避免阈值对性能的影响,本文采用了召回率-精确度曲线作为模型的评估方法。通过调整分类阈值,召回率和精确度会发生变化。以召回率为横轴,精确度为纵轴,可以构建一个P-R坐标系。若设定某一特定阈值,可得到一个在该坐标系上特定的点。由不同阈值对应的点组成的曲线即为P-R曲线。通过该曲线,可以固定召回率查阅精确度,也可以固定精确度查看召回率,也就能对不同的算法进行更直观的性能比较。

此外,为定量地评估模型在不同的召回率下的性能表现,本文采用了平均精度指标,用以计算模型在不同召回率下对自爆绝缘子的平均精度,平均精度定义如下:

与测试情况不同,模型实际使用时,需要对算法给予某一特定阈值,即只有一组召回率和精确度。本文使用这两者的调和平均数以评估现实情况中的模型表现,即F1-score:

3.3 自爆绝缘子识别结果分析

在本节中,本文提出的模型与OCGAN[22]、AnoGAN[23]、f-AnoGAN[24]、Ganomaly[25],ALOCC[26]等五种基于生成对抗网络的异常检测模型进行了自爆绝缘子检测效果的定性分析,其中OCGAN、ALOCC类似于本文算法,采用生成对抗网络中的鉴别器进行检测,AnoGAN、f-AnoGAN、Ganomaly通过生成图片与输入图片的重构误差方式进行检测。

图5展示了这些算法在自爆绝缘子检测任务上的P-R曲线。P-R曲线下面积越大,代表模型的效果越好。从图中可以看出,本文提出的算法的检测效果最为优秀。

图5 对比实验P-R曲线Fig. 5 The P-R curve of comparative experiment

在相同精确度条件下,本文提出的方法达到了最高的召回率。这意味着通过指导网络的额外梯度训练,生成器很好地避免了模式崩塌问题。该现象意味着模式崩塌问题恶化了算法的检测效果,解决模式崩塌问题是提升检测准确率的关键。

此外,在召回率相同的情况下,本文方法的精准率是对比算法中最高的,这意味着为鉴别器输入添加扰动的训练方式,可以很好地解决由样本不均衡导致的精准率低的问题。在对比算法中,并没有解决这个问题,导致了在同召回率下的低精确度。

图6记录了各个算法的平均精确度。本文算法的平均精确度达到了0.837,超过了其余最高的f-AnoGAN 0.132。与本文算法不同,f-AnoGAN通过输入图片和生成图片的重构误差大小对异常进行检测。由于自爆绝缘子串和无损绝缘子串的像素级特征差异较为微小,所以通过重构误差的方式难以将缺陷正确检测。而本文算法使用了通过鉴别器检测的策略,可以更好的提取自爆处的语义级特征,实现更好的检测效果。但是,使用该策略需确保生成样本可以准确包含无损绝缘子的语义特征,否则将导致模型的效果更差,如实验中的OCGAN和ALOCC虽然也使用了本文算法的策略,但其平均精确度仅有0.656和0.657,远低于本文算法。

图6 对比算法AP值Fig. 6 The AP score of comparative experiment

值得注意的是,虽然Ganomaly、AnoGAN、f-AnoGAN均采用重构误差对自爆绝缘子进行检测,但出现了较大的结果差异。AnoGAN为保证生成图像与输入图像类似,采用了直接优化的方式修改输入向量,这种做法的效率过低,对于具有复杂背景的绝缘子图像并不适用;Ganomaly采用自编码器结构解决了上述问题,但由于自编码器具有一定的泛化性,使其对自爆绝缘子串也可以重构,导致了很低的平均精准度。不同于其他模型,f-AnoGAN采用GAN和编码器分开训练的训练策略,巧妙地避开了上述两个问题,但由于其模型依旧使用的为重构误差方式,极易受到图像中环境信息的影响,故效果不如本文方法。

图7表示了各个算法的F1-score表现。在计算F1分数时,由于测试集中无损绝缘子样本数量与自爆绝缘子样本数量相同,阈值选择为全测试集128张中的中位数。从表中可以看出,本文方法达到了0.766,超过了对比算法中最高的f-Ano-GAN和ALOCC 0.157。首先,这证明了本文算法通过有效地抑制模式崩塌现象,有效提升分类模型的鲁棒性。此外,本文算法在训练鉴别器的样本中添加合适的扰动有效提高了分类器的召回率,在达到高平均精确度的同时达到了较高的F1-score,意味着本文方法可以同时达到较高的召回率。f-AnoGAN通过分开训练的策略,有效降低了模式崩塌,但因其不恰当的检测策略,故F1分数仍低于本文算法。而ALOCC为一个端到端网络,图片在进入鉴别器之前也经过了经过训练的重构网络,重构网络仅能良好重构无损绝缘子数据,使其在同样的精确度的同时,可以达到更高的召回率。但由于其没有考虑到模式崩塌和样本不均衡对检测结果的影响,故其整体效果仍不如本文算法。

图7 对比算法F1-score值Fig. 7 The F1-score of comparative experiment

图8 展示了各模型的自爆绝缘子识别效果。从图8中可以看出,各对比算法的识别结果存在互补性,这是因为这些算法没有解决模式崩塌问题,使得大量自爆绝缘子无法被正确识别。由于本文提出的模型解决了模式崩塌问题,所以其能正确识别出更多的自爆绝缘子数据。

但本文提出的算法仍出现了误识别现象,如图8(b)、图8(c)所示。这主要因为少许绝缘子所处环境过于复杂,有异物缠绕现象,或拍摄距离过远,绝缘子图像不够清晰所致。而由于各对比算法并未考虑到样本不平衡对鉴别器的影响,所以对清晰、无异物的无损绝缘子样本仍存在着不应出现的误识别现象。

图8 自爆绝缘子识别样例Fig. 8 Example of self-explosive insulator detection result

3.4 消融实验结果分析

为验证本文方法各部分的有效性,本节进行了2组实验,实验设置分别为:

1)去除自编码器(without AE):从本文方法中去除掉自编码器,使生成器仅用鉴别器梯度训练,验证模式崩塌问题对绝缘子检测问题的影响和自编码器对该方法的必要性。

2)去除对输入的扰动(without disturb):从本文方法中去除对鉴别器输入的扰动,验证样本不平衡对自爆绝缘子检测问题的影响。

图9 展示了本文方法和上述两个模型变种的P-R曲线。从图中可以看出,在精准率非常高时,去掉AE的模型具有比本文模型有着更高的召回率,但当精确度稍微降低时,去掉AE的模型的召回率低于本文方法的召回率,且差距越来越大。这是因为去掉AE的生成器仅用鉴别器的梯度训练,使其更容易地检测某些特殊模式的自爆绝缘子样本,但难以检测其他模式的自爆绝缘子样本。这证明了本文模型通过采用了多种梯度训练,有效地避免因模式崩塌导致的错误检测。

图9 消融实验PR曲线Fig. 9 The P-R curve of ablation study

此外,当召回率相同时,可以看出去掉扰动的模型的精确度始终低于本文方法,这是由样本不均衡问题导致的,由于模型对无损绝缘子串的过拟合,导致模型将许多无损绝缘子串检测为自爆绝缘子串。这证明了本文模型通过添加扰动的方式,很好地证明了由样本不均衡导致的误分类问题。

图10 对比了上述3种模型的F1分数,去掉AE的模型F1分数比本文模型降低了0.196,去掉扰动的模型F1分数比本文模型降低了0.181,下降幅度均比较大。可以看出其他2种模型因为仅在召回率或精确度方面对模型进行了优化,导致了严重的召回率和精确度不平衡,造成了很低的F1分数,这证明了本文模型设计时对召回率和精确度的优化较为平衡,利于实际使用。

图10 F1-score对比图Fig. 10 The F1-score curve of ablation study

4 结论

针对自爆绝缘子数据量小导致模型训练困难的问题,本文基于生成对抗网络提出一种仅使用无损绝缘子训练的自爆绝缘子检测模型。通过生成器和鉴别器的对抗训练得到的检测模型可针对自爆绝缘子达到较好的检测效果。在此基础上,通过使用自编码器作为指导网络为生成器提供更丰富的梯度信息,解决了由生成对抗网络中生成器模式崩塌导致的低召回率问题;通过添加扰动的方式,使得输入鉴别器的训练图片每次发生微小变化,解决了由样本不均衡导致的低精准度问题。通过与其他异常检测算法的对比实验来验证本文方法在自爆绝缘子检测问题上的有效性。并通过消融实验证明了模型各部分的可靠性。本文模型以较高的平均精度均值、F1分数等评价指标,直接验证本文模型在自爆绝缘子检测问题上的可行性。

猜你喜欢
鉴别器精确度绝缘子
基于多鉴别器生成对抗网络的时间序列生成模型
基于双鉴别器生成对抗网络的单目深度估计方法
基于Mask RCNN的绝缘子自爆缺陷检测
研究核心素养呈现特征提高复习教学精确度
“硬核”定位系统入驻兖矿集团,精确度以厘米计算
浅析输电线路绝缘子防污闪技术
阵列天线DOA跟踪环路鉴别器性能分析
考虑悬垂绝缘子串偏斜的张力放线计算研究
1000kV特高压输电线路失效绝缘子判断的仿真计算
一种新的BOC调制无模糊跟踪鉴别器设计