用于绝缘子故障检测的CycleGAN小样本库扩增方法研究*

2022-12-22 11:32崔克彬
计算机工程与科学 2022年3期
关键词:识别率绝缘子轮廓

崔克彬,潘 锋

(华北电力大学控制与计算机工程学院,河北 保定 071003)

1 引言

输电线路故障是造成电网大面积停电事故的重要原因之一,线路运维是保证电力系统安全的重要环节。绝缘子是输电线路上的重要部分,材质主要为陶瓷、玻璃和复合材料。输电线路可能因为绝缘子老化被击穿,不及时发现将造成重大电力事故。目前使用飞行器进行输电线路巡检已成为常规巡检方式,通过图像处理对航拍图像中的绝缘子自动定位,将提高电力维护和检修的效率[1]。

故障绝缘子精确定位是实现故障判断的前提,为满足自动化检测和高精度识别的要求,深度学习中的目标识别方法是个不错的选择,通过大量的样本优化训练模型,可以高效地检测出故障绝缘子的位置。现实中难以获得大量的故障绝缘子样本,需要对有限的样本进行扩增,GAN(Generative Adversarial Network)[2]模型是一种扩增样本的有效方法。本文尝试改进CycleGAN(Cycle-consistent Generative Adversarial Network)[3],并比较通过其他GAN模型生成的样本,利用绝缘子识别的验证性实验来验证本文方法的有效性。

Figure 1 Global architecture

2 研究现状

随着深度学习的发展,目标检测在工业生产中得到广泛应用。相较于传统检测算法,深度学习可以随着训练样本的增加提升精确度,降低漏检率。文献[4]提出结合注意力机制的Faster-RCNN(Faster Regions-Convolutional Neural Network)绝缘子识别方法。文献[5]提出一种改进的YOLOv3(You Only Look Once,version 3)绝缘子串定位与状态识别方法。文献[6]提出改进的Mask-RCNN绝缘子识别方法。上述方法都需要在大量的训练样本前提下,才能保证识别物体的精确度。传统的数据扩增方法有旋转、裁剪等,这些方法与GAN的不同之处在于,GAN是基于输入的随机噪声图像来学习生成样本,内容变化无法预测,传统的旋转方法则是图像像素点整体位移。

自GAN被提出,其在图像处理领域的拓展应用非常广泛,如高分辨率图像生成[7]、手写体汉字生成[8]、视频预测[9]和人脸生成[10]等,用GAN预测视频下一帧或生成图像时需要大量数据,以获得较好的训练效果。

针对传统GAN需要大量数据的问题,本文在CycleGAN网络的基础上进行改进,针对CycleGAN在产生绝缘子时出现的歪扭问题,将图像输入到2个子生成器生成图像,即经过第1个子生成器的训练生成绝缘子轮廓,将生成的绝缘子轮廓输入到第2个子生成器,在轮廓边界的限制下生成图像颜色,从而在生成图像的同时保持真实图像的形状。

3 轮廓监督的CycleGAN模型

本文选取CycleGAN为基础模型,该模型整体流程为:从原始数据集X(无故障绝缘子数据集)中取一个数据x用生成器G生成数据y′,同理,从原始数据集Y(故障绝缘子数据集)中取数据y输入到生成器F,生成x′。x″由y′经过生成器F生成得到,先后通过生成器G和生成器F,x″与原始数据x之差用于规范化生成的图像。整体结构如图1所示,先后分为生成对抗网络模型和SSD(Single Shot Detector)[11]目标检测模型,用GAN扩增数据集后对扩增的样本记上标记,并按比例放入原始数据的训练集和测试集中,进行SSD模型训练,其中每一层都是卷积核大小不同的卷积操作,每一层都将作为最后测试提取特征的预测框。模型训练好后,对故障绝缘子图进行故障定位测试。

该模型包含2个生成器G和F,2个鉴别器DX与DY,训练中X风格图像生成Y风格图像和反方向生成同步进行,G和F同步训练,生成器G的生成方向为从X到Y,生成器F生成方向为从Y到X。损失函数如式(1)所示:

L(G,F,DX,DY)=LGAN(G,DY,X,Y)+

LGAN(F,DX,Y,X)+LcGAN(x,y,z)+

λLcyc(G,F)+L1(x,yc)

(1)

其中,λ表示可调参数,在CycleGAN训练过程中,若总的损失函数值过大,则调小该值,若总体损失函数值过小,则调大该数值。X和Y分别表示两类不同风格的原始数据集,x表示取自X集合中的元素,y表示取自Y集合中的元素。LcGAN(x,y,z)表示绝缘子图像和生成的轮廓图像之间的一种映射,x表示无故障绝缘子图像,y表示原始故障绝缘子图像,z为随机向量噪声;L1(x,yc)其中x表示原始绝缘子图像,yc表示绝缘子对应的轮廓图像,通过对原始图像预处理提取轮廓得到,该损失函数用于规范和校正生成图像的绝缘子轮廓。

式(1)右侧前2部分相互对称,其中第1项如式(2)所示:

LGAN(G,DY,X,Y)=Ey~Pdata(y)[lnDY(y)]+

Ex~Pdata(x)[ln(1-DY(G(x)))]

(2)

DX鉴别真实图像,DY(G(x))表示鉴别器DY鉴别生成器G生成的样本G(x)。鉴别器用于区别真伪,鉴别器鉴别输入图像时,结果为1表示鉴别其为原始数据集中的图像,为0表示鉴别输入图像为生成图像,鉴别器会出现误判,即模型训练程度较好时,生成器生成的图像输入鉴别器后的输出为0.5,则鉴别器鉴别该图像一半概率为真,一半概率为假。通过训练鉴别器识别真实样本和生成样本,提高其识别真假的水平,而生成器则不断生成质量更好的样本。鉴别器和生成器二者互相对抗与学习,最终达到平衡,即生成器无法再生成更好的样本,此时鉴别器鉴别生成样本为真的概率为0.5。

式(1)右侧第4项为循环一致性损失,具体展开如式(3)所示:

Lcyc(G,F)=Ex~Pdata(x)[‖F(G(x))-x‖1]+

Ey~Pdata(y)[‖G(F(y))-y‖1]

(3)

其中,F(G(x))表示图像先经过生成器G,生成的图像作为生成器F的输入,这样可以生成类似于原始数据集X的X′,X′用来衡量与X的差距,即生成的分布是否符合原始图像的分布。

CycleGAN每次生成图像后都要反向生成,通过重新生成图像x″来计算x″与原始图像的逐像素差距,从而使生成的图像接近原始图像,使图像质量得到提升,但是图像多样性受到约束。本文模型借鉴了CycleGAN中的重建图像步骤,生成轮廓后再生成图像,用轮廓作为中介通过生成2次的图像方法来扩大与原始图像的差异,利于生成不同的缺陷绝缘子图像。

原始图像y经过生成器G生成图像G(y),将G(y)作为反向生成器F的输入,生成图像F(G(y)),鉴别器DY鉴别结果。修改生成器后的损失函数如式(4)所示:

LGAN(G,DY,X,Y)=Ey~pdata(y)[lnDY(y)]+

Ex~pdata(x)[ln(1-DY(F(G(y))))]

(4)

此外,将随机噪声向量z输入生成网络G,生成输出图像G(x,z)。使用LcGAN(x,y,z)来训练生成器G生成黑白轮廓图像,其定义如式(5)所示:

LcGAN(x,y,z)=Ex,y[lnD(x,y)]+

Ex,z[ln(1-D(x,G(x,z)))]

(5)

L1(x,yc)为绝缘子图像x转换到轮廓图像yc过程中的任务损失,由图像各个位置所需轮廓决定其稀疏性。改进后的CycleGAN的网络其余部分未做修改,有2个生成器和2个鉴别器,1个生成器由1个生成轮廓的子生成器和1个生成图像色彩的子生成器构成。如图2所示,生成器模型结构参考神经网络风格转换[12],使用2个步长为2的卷积层,9个残差块[13]及2个步长为0.5的卷积层。通过卷积操作,图像尺寸逐渐变小,深度逐渐变深。接着进行步长为0.5的卷积操作,其图像尺寸变大,最终图像大小和输入图像相等。使用IN(Instance Normalization)[14]对图像进行归一化,IN可以产生更高像素的图像。与BN(Batch Normalization)[15]相比,IN分别针对每个通道和每个空间维度进行计算。生成器中使用了残差块,通过将卷积后的信息与输入信息相加,可以更好地得到原始样本的潜在特征。

鉴别器架构类似于将全卷积神经网络FCN(Fully Convolutional Network)[16]应用到生成对抗网络中,经过4次步长为2的卷积后,在最后一层通过卷积生成一维输出。

Figure 2 Structure of generator model

4 实验与结果分析

4.1 实验数据及设备

本文实验硬件为Intel(R)Core(TM)i7,使用图形处理单元(NVIDIA GTX1060)、CUDA9.0和CUDNN 7.0 对训练过程进行加速,使用的深度学习框架为PyTorch。实验数据集为泰迪杯竞赛绝缘子数据集,通过旋转裁剪得到2 500幅图像,在SSD训练时使用的框架为PyTorch,1 200幅用作训练,800幅用于测试,400幅用于验证,使用的图像标注工具为LabelImg。

4.2 GAN样本扩增实验

从实验结果来看,CycleGAN生成的样本总体质量较高,部分绝缘子盘片存在扭曲形变,且存在样本生成单一的问题。DCGAN(Deep Convolutional Generative Adversarial Network)生成的图像具有绝缘子的轮廓,生成图像细节相对CycleGAN生成图像的模糊。由于改进的CycleGAN在生成图像轮廓的基础上再生成图像颜色,生成的绝缘子串整体平直,不存在原始CycleGAN生成的绝缘子串歪扭(图4第2行第4列)的现象,达到了扩增样本的目的。CycleGAN生成的样本如图3所示。DCGAN[17]生成的样本如图4所示。改进的CycleGAN部分测试样例生成样本如图5所示。

Figure 3 Samples generated by CycleGAN

Figure 4 Samples generated by DCGAN

Figure 5 Samples generated by modified CycleGAN

CycleGAN通过训练能够学习到原始数据的分布,训练之初生成器G中生成的图像离真实图像样本的分布很远,随着训练的进行,生成器G的生成数据也逐渐逼近真实数据的分布。CycleGAN的训练损失曲线如图6所示。

Figure 6 Loss curves of CycleGAN

CycleGAN模型在初始时刻,循环一致性损失很高,表明经过一个方向转换后的图像很难反方向转换回来。在迭代50次时,循环一致性损失下降并靠近0.5。在第100个迭代轮次时,训练损失曲线下降缓慢,此后不再有较明显且持续的下降,表示此刻的训练效果最优。

4.3 评价指标

用基于深度学习的SSD目标检测模型分别对原始数据和扩增后的数据进行训练测试,SSD训练检测模型时使用VGG16预训练作为初始训练模型。数据扩增的部分由不同的GAN训练后各自生成。

对生成的图像使用广义霍夫变换进行图像轮廓定位,广义霍夫变换是一种传统的目标检测算法,通过表的形式保存轮廓边缘坐标,可处理任何形状的图形。

4.4 SSD目标检测模型故障绝缘子定位实验

SSD目标检测模型采用多尺度检测的方法,因为检测速度较快,经SSD训练后的模型可以剪枝以应用到嵌入式设备中,其在工业界应用前景较好。在训练时,设置学习率为0.001,最大迭代次数为7万次,批处理大小设置为4。在训练时每保存一次模型,就将该模型用于测试生成图像。为生成的质量较好的图像打上标签,加入到SSD目标检测的训练集中,扩增的绝缘子数据集中掉串绝缘子与正常绝缘子的比例为9∶1,绝缘子掉串检测结果如图7所示。

Figure 7 Detection of cracked insulator

4.5 实验结果评估

检测结果如表1和表2所示,原始数据集经过旋转操作,扩增的数据集经过SSD训练,此时SSD算法的识别率为18.2%,误检率为20.2%。CycleGAN扩增后的数据集训练的SSD模型,故障绝缘子识别率为21.6%,误检率为21.8%;DCGAN扩增后的数据集训练的SSD检测模型,故障绝缘子识别率为27.5%,误检率为26.8%;改进的CycleGAN扩增后的数据集训练的SSD模型,绝缘子故障识别率为29.1%,误检率为26.2%。不同故障类型的识别结果如表1所示,DCGAN、CycleGAN和改进的CycleGAN模型扩增原始数据集,对于提升SSD目标检测模型的故障识别率有效。改进的CycleGAN扩增的数据集训练得到的SSD检测模型,在掉串故障下的识别率为24.7%,DCGAN和CycleGAN扩增的数据集训练得到的SSD检测模型,在掉串故障下的识别率分别为22.5%和17.8%。对断裂故障,改进的CycleGAN扩增的数据集训练得到的SSD检测模型的识别率为4.3%,DCGAN扩增的数据集训练得到的SSD检测模型的识别率为5%,CycleGAN扩增的数据集训练得到的SSD检测模型的识别率为3.75%。由于断裂故障属于细小特征,因而检测效果不好。本文所用的轮廓监督的CycleGAN扩增的数据集训练得到的SSD模型,掉串识别率高于CycleGAN扩增数据集后训练得到的SSD模型的,提升了38.4%,比DCGAN扩增数据集后训练得到的SSD模型的识别率高了10%。

Table 1 Detection results of different kinds of cracked insulator

当故障绝缘子为表面破损,或绝缘子因被铁塔遮挡而只显示不连续的段时,此时对绝缘子故障位置的检测容易发生漏检。如图8所示为绝缘子串检测。由于在给绝缘子串打标签时,易将背景(铁塔)和绝缘子串一起标记进去,因此会出现绝缘子串误检,但随着训练迭代的进行,卷积层不断提取到绝缘子串特征,绝缘子串误检率会逐渐下降。

Table 2 Detection results on different datasets

Figure 8 Detetction of insulator string

5 结束语

针对绝缘子目标检测图像需要大量样本和实际样本不足的问题,本文提出了一种改进的CycleGAN绝缘子图像生成方法,通过修改CycleGAN的损失函数学习缺陷绝缘子图像的模式分布来生成混肴图像,采用生成的图像对原始数据集进行扩增。该方法在原始图像中随机添加噪声构成图像,没有明确的建图规则。在真实采集的图像数据上进行测试,得到以下结论:

(1)基于改进的CycleGAN的图像生成方法生成的图像并非与样本保持完全一致(由随机噪声生成的图像与原始图像逐像素相同概率很低),两者在外形轮廓相似的情况下有所差异,这使得增强后的缺陷绝缘子图像具有多样性特征。

(2)相比于传统的GAN模型,基于改进的CycleGAN模型,在图像生成的多样性和真实度上有了明显提升。DCGAN生成的图像,由于没有规则制约生成图像的轮廓,通过人眼判断其真实度不如改进的CycleGAN模型的,误检率也较高。

(3)在生成对抗网络模型训练时,当训练集中2幅图像的绝缘子之间长宽比相差较大时,生成的绝缘子图像给人的真实感不够理想。绝缘子上的破损在训练时易和灰尘混肴,不利于检测。

猜你喜欢
识别率绝缘子轮廓
基于Mask RCNN的绝缘子自爆缺陷检测
零值绝缘子带电检测方法探讨
跟踪导练(三)
浅析输电线路绝缘子防污闪技术
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
直流电场法和谐波电场法检测绝缘子内缺陷的分析研究
儿童筒笔画