基于深度学习的小样本绝缘子自爆检测研究
2022-05-20杨丰萍彭云帆李远征
杨丰萍,彭云帆,李远征
(华东交通大学电气与自动化工程学院,江西 南昌 330013)
在输电线路中, 绝缘子长期暴露在自然界复杂环境中,易受气候、温度等自然因素的影响,极易发生自爆导致整片区域的供电中断造成巨大损失,及时检测绝缘子状态十分必要。 目前利用无人机航拍获取巡检图像, 再利用图像识别技术从海量图像中自动识别故障已成为主流的检测方式。然而,由于无人机获取图像的效率极高,传统的图像识别方式已力不从心, 在实际应用中难以达到理想的效果[1-2]。 近年来“深度学习”的提出为解决该问题提供了新的思路, 通过深层神经网络自动学习数据的深层特征, 不仅避免了困难的人工特征提取工作, 而且所提取出的深层特征适用性也更强。 近年来,陆续有人研究利用深度学习方式检测电气设备, 如黄文琦等探索了利用Faster RCNN 对巡检图片中的绝缘子进行定位[3];王勋等通过利用深度学习算法对电气设备进行故障检测[4];侯春萍等利用由VGG 分类器和Faster R-CNN 检测器组成的级联网络识别绝缘子的自爆缺陷,提高了识别效果[5]。
然而, 利用深度学习方法检测绝缘子自爆面临两个问题:一是通常采集到的图片数据集中缺陷样本的数量少, 检测器很难学习到缺陷样本的特征;二是缺陷块目标尺寸过小,直接对其定位难度较大。 所以目前基于深度学习的绝缘子自爆检测法大多仍需通过级联网络进行, 即先通过深度学习方法在图像中定位出绝缘子, 在此基础上再进一步利用传统方法在绝缘子上识别出自爆部分,这同样需要进行繁琐的特征工程,且算法的适用范围有限。
为此提出一种基于深度学习的小样本绝缘子自爆检测策略。 通过生成对抗网络(generative adversarial networks,GAN)扩充自爆样本数量,解决样本数量不足的问题; 并对Faster R-CNN 检测器使用特征融合策略增强,将多个卷积层所得到的浅层特征与深层特征融合,增强其对小尺寸目标的定位能力,使其能直接将缺陷块作为识别目标。 改进后能使用单级检测网络直接在图片上检测出自爆缺陷块。 通过实验,验证了该策略的有效性。
1 基于生成对抗网络的数据扩充
1.1 传统数据扩充方式
在航拍绝缘子图像数据集中,绝大多数样本都为正常样本,含自爆缺陷的样本只占极少数,属于典型的不平衡数据集,需扩充少数类样本以对数据集进行增强。 传统的数据扩充方式为随机过采样,即从数据集中随机复制一定的少数类样本,或者在此过程中进行旋转、拉伸、裁剪、亮度变化等简单变化。 但这种方式扩充出的样本和原始样本的实际特性很相近,尤其是在高层特征中几乎全盘保留了原始图像的特性,多样性不足,极易造成过拟合问题。
1.2 生成对抗网络
GAN 是2014年由Goodfellow 等设计出的一种框架,其首次提供了一种通过无监督学习得到数据深层次特征的方式, 为生成算法开启了新的思路[6]。经典GAN的模型结构如图1 所示。 GAN 让生成器(generator,G)和判别器(discriminator,D)两个网络互相对抗进行学习:G 随机从噪声分布中采样作为输入,输出合成样本,意图尽可能地生成与训练集中真实样本非常相似,又不完全相同的人工样本;D的输入为真实样本或G 所生成的合成样本,输出一个介于0~1 的判别概率值, 意图区分出人工样本与真实样本。 双方以相互博弈的方式不断提升自身性能,当最终达到纳什均衡状态,即D 的判别概率值一直为0.5 时, 这表明G 生成的样本已经令D 难以与真实样本区分,训练结束。
图1 GAN 模型结构Fig.1 GAN model structure
2015 年,Radford 等在经典GAN 框架的基础上提出改进, 设计出深度卷积生成对抗网络(deep convolution generative adversarial networks,DCGAN),专门用于生成图像样本[7]。 DCGAN 使用卷积神经网络(CNN)取代了经典GAN 中的多层感知机来作为基本的特征提取器,并在G 与D 中都进行了批量规范化(batch normalization)处理,取消了池化层和全连接层并选用了更合适的激活函数,提升了训练的稳定性以及生成样本的质量。
1.3 数据扩充实验
1.3.1 模型改进
从数学上可证明GAN 在D 训练到最优时G 同时取得最优,即达到纳什均衡状态[8]。 但在实际调试过程中, 发现原始的DCGAN 在训练时经常出现梯度消失问题,使模型不能得到稳定训练,生成样本质量很差。 这是因为经典GAN 的损失函数相当于在D 取极限值时最小化真实分布和生成分布之间的JS 散度值,JS 散度值是KL 散度的一种对称形式的变形。 对于两个离散随机变量f(x)与g(x),散度定义分别为
从推导可知,G 的目的是将生成分布与真实分布间的JS 散度最小化, 而D 的目的是测出生成分布与真实分布之间的JS 散度,GAN 的工作流程可理解为:先通过D 算出生成分布与真实分布之间的JS 散度,再依此令G 生成新的分布以降低两者间的JS 散度。
但是, 由于JS 散度在两分布无重叠或重叠部分可忽略时恒为零,所以并不适合衡量具有不相交部分的分布间的距离。 在现实中,真实分布和生成分布几乎不可能有不可忽略的重叠,所以它们之间的JS 散度常恒为lg2,最终导致G 的梯度几乎为0,D 性能很强时G 完全无法得到梯度信息。 针对此问题进行改进, 使用平滑的EM 距离 (earth mover′s distance)代替JS 散度。EM 距离衡量了将分布P1移动成分布P2时所需移动的平均距离的最小值,用来表示两分布的相似程度。 在两分布P1与P2所有可能的联合分布中,采样(x,y)于每一个可能的分布γ,计算出这对样本的距离的期望值的下界,相当于分布P1到分布P2所需的最小距离。EM 距离的数学定义为
式中:D∈1-Lipschitz 为约束条件,即D 被更新后的值限制在常数值(-c,c)之间,使D 的目标函数平滑变化。
1.3.2 实验过程
使用的改进版DCGAN 由输入层、5 个反卷积层以及输出层组成。 反卷积层包含反卷积、批量归一化、激活函数3 个单元。 G 使用反卷积操作扩大数据维度,再通过批量归一化以提高效率;前几层的激活函数使用ReLU 函数, 最后一层则使用tanh函数控制输出范围以生成图像样本。对D 结构进行了一定改变, 由于使用了EM 距离代替了JS 散度,D 的功能转变为近似拟合EM 距离, 属于回归任务而不是分类任务, 所以输出层的激活函数被剔除。但这会使得D 的输出可以到无限大,为了解决此问题,每次在D 参数更新后对其进行截断处理,使其绝对值不超过某个固定常数值,使用卷积操作替代池化下采样,所有层均使用斜率为0.2 的LeakyRe-LU 作为激活函数。
主要硬件配置为:Inter Core(TM) i7- 9700HQ@3.00 GHz CPU,内存32 GB,显卡为NVIDIA Ge Force RTX 2060。使用Tensorflow(1.7.0)框架对算法模型进行训练和测试, Python 版本为3.7。 此外,使用Matlab2020b 来辅助进行实验。 所用数据集由国家电网公开绝缘子图像数据集和网络数据集两部分组成[9]。共有587 张自爆绝缘子图像,含600 个缺陷块和817 个绝缘子;1 878 张正常绝缘子图像,含2 445 个绝缘子。 将含自爆绝缘子的图像定为正样本,仅含正常绝缘子的图像定为负样本。 由于部分样本图像过亮或过暗, 利用直方图均衡对这部分样本进行亮度调节以突出目标特征,如图2 所示,图2(a)为亮度调节前,图2(b)亮度调节后。
图2 样本图像亮度调节对比Fig.2 Contrast of sample image brightness adjustment
将原图中含有自爆区域的绝缘子区域裁剪后统一调整大小为256*256,作为“种子”送入改进型DCGAN 进行训练以生成新的缺陷样本。 为使得网络更快达到纳什均衡状态,采用双时间尺度更新策略,生成器的学习率设置为0.000 1,而判别器的学习率设置为0.000 4;使用Adam 优化器来更新参数, 但为避免动量值太高导致训练动荡,动量值由原始论文中建议的0.9 调整为0.5, 迭代14 000 次。图3 是迭代部分生成图像。可以看出,迭代12 000 次时生成的图像已经基本满足需求。
图3 部分生成效果图Fig.3 Partial generation effect picture
2 基于小尺寸物体的目标检测算法
2.1 Faster R-CNN 检测器
Faster R-CNN 检测器由用于目标检测的Fast R-CNN 和用于生成候选区域的区域建议网络(RPN)构成,两网络相互独立,但共用提取特征的CNN 网络[10-11],结构如图4 所示。 Faster R-CNN 工作时, 特征提取网络通过卷积提取输入图片的特征并将所得的特征图分别输入给RPN 与感兴趣区域池化(ROI Pooling)层;RPN 在特征图上生成建议区域并将其输入到ROI Pooling 层,ROI Pooling层对建议区域生成固定尺寸的特征图并送入两个全连接层中实现目标分类和边界框回归, 以确定目标类别与精准位置。
图4 Faster R-CNN 检测器结构Fig.4 Faster R-CNN detection process
Faster R-CNN 为单尺度特征检测器, 检测时只用到顶层特征[12],浅层特征会被抛弃。 这对于大尺寸目标的检测来说影响较小, 因为大尺寸目标仅依靠富含语义信息的深层特征就足以实现检测; 但小尺寸目标需要利用大量细节信息来进行定位,而细节信息则多体现于浅层特征之中,所以传统CNN 检测器在检测小尺寸目标时往往难以实现良好的效果。
2.2 特征融合策略
为更全面利用不同尺度特征以增强对小尺寸目标的检测效果,利用特征金字塔(FPN)策略[13-14]改进检测器, 自顶层向底层进行多尺度特征融合,将不同层的特征配合使用再分别进行预测。 由于仅需检测自爆绝缘子这一类目标,在传统的FPN 的基础上进行简化。 使用VGG-16 为Faster R-CNN 的骨架网络,将5 个卷积单元输出的特征图定位为M1~M5。M1 含参数过多,故将其放弃;M2~M5 为不同尺寸与通道数的二维矩阵,进行特征融合之前需先统一通道数, 所以均先进行一次1*1*256 的卷积,将通道数统一为256。
M2 与M3 为浅层特征图,M4 与M5 则为深层特征图,选择对M2 与M4 进行融合,M3 与M5 进行融合。 先对M4 与M5 进行四倍双线性插值上采样统一尺寸, 再使用加性融合函数分别与M2 和M3进行融合。 融合后都再进行一次3*3 的卷积消除混叠效应,得到新的特征图P2 与P3。 将P2 与P3 都输入其对应的RPN 与ROI Pooling,以检测小尺寸的自爆缺陷块,将候选区域转换成维度一致的特征向量,然后输入全连接层。 结构如图5 所示。
图5 特征融合的Faster R-CNNFig.5 Faster R-CNN based on feature fusion
2.3 缺陷检测实验
实验前需要先对图片进行处理, 原图大小为1 152*864,将含关键信息极少的边缘部分裁剪后,再统一调整大小为500*750。 将每张大图片裁剪为6 张,大小为256*256。 裁剪后,得到了含自爆缺陷的图片共572 张,定为正样本,将其作为“种子”送入DCGAN 生成更多的合成正样本。 为详细研究不同改进策略的改进效果,单级网络的缺陷检测实验一共6 组进行对比,实验设置如表1 所示。
表1 实验设置Tab.1 Experimental setting
第1 组为原始组,不进行加强;第2 组和第3 组利用传统的Faster R-CNN 检测器, 但对训练集进行了增强,加入了945 张人工生成样本,其中第2 组利用传统方式进行生成, 第3 组则使用E-DCGAN进行生成; 第4 组~第6 组使用特征融合的Faster R-CNN 检测器,其中第4 组不对数据集进行增强,第5 组使用传统方式对训练集进行增强, 第6 组利用E-DCGAN 对数据集进行增强,加入的样本数量同样为945 张。 而为模拟真实情况, 所有测试集均由100 张原始正样本和100 张原始负样本组成,且每张图像仅含有一个自爆缺陷块。传统方式选择锐化、翻转和逆时针旋转90° 共3 种,生成的数量各占1/3。
使用已通过Imageage 数据集预训练好的Faster R-CNN 网络, 在此基础上进行微调。 使用“end to end”的训练方式,共迭代100 000 次,初始学习率设置为0.000 1,迭代50 000 次后调整为0.000 05,迭代动量设置为0.9。 实验结果如表2 所示。
表2 实验结果Tab.2 Experimental results
再使用传统级联网络进行检测, 其中使用文献[15]的方式对定位出的绝缘子进行缺陷检测,结果为识别数87,虚警数为5,训练时间约8 h,而第6组训练时间约3 h。
2.4 结果分析
第1 组的实验结果证明,在数据不足加上目标尺寸过小的情况下, 利用传统的Faster R-CNN 检测自爆缺陷块的效果很不理想, 不仅识别率不高,半数以上的目标被漏检, 还出现了大量的 “虚警数”,甚至很多负样本上面也都出现了目标框,部分实验结果如图6 所示。
图6 第1 组的部分检测结果Fig.6 Partial test results of the first group
而第2 组和第3 组实验说明,增强训练集能明显提高检测效果, 尤其是虚警数得到极大的下降。第3 组的效果比第2 组更加明显,其正检数目增加了8 个,虚警数目下降了27 个,但是总体效果仍然难以满足要求。 第4 组实验结果证明,使用特征融合策略也能增强对小尺寸目标的检测能力,尤其在降低漏检数方面效果更明显;同时使用两种改进策略的第5 组和第6 组实验效果最佳,漏检率和虚警率都得到大幅下降,其中第6 组的效果明显好于第5 组,正检数目增加了8 个,漏检数目减少了21 个,其部分结果如图7 所示。
图7 第6 组的部分检测结果Fig.7 Partial test results of the sixth group
实验结果表明,利用生成对抗网络对数据集进行增强, 并利用特征融合策略加强Faster R-CNN检测器对小尺寸目标的检测能力。 利用本文提出的单级检测网络直接检测自爆缺陷块时也能起到足以媲美传统的级联网络的效果,而且检测速度明显加快,训练时间减少了5 h,且工作的繁琐程度大大降低。
3 结论
1) 在绝缘子数据集不平衡,自爆样本数量不足时,扩充自爆样本数量对数据集进行增强能提高检测器对少数类目标的检测效果,使得虚警数量大大降低。 通过使用以EM 距离取代JS 散度的改进型DCGAN 增强数据集, 效果明显好于利用传统图像增强方式增强数据集;
2) 利用深浅层特征融合策略改进Faster RCNN 检测器,能有效解决检测器难以检测自爆缺陷块的问题。