基于改进FasterRCNN 的绝缘子异常检测
2021-09-05何文其赵文浩
何文其,李 剑,赵文浩
(国网浙江省电力有限公司台州供电公司,浙江 台州 318000)
0 引言
绝缘子作为输电线路中的重要介质,其主要功能是支持和固定载流导体,在保证电力传输安全性方面起到重要作用,鉴于其重要性,绝缘子的破损和残缺会对电力传输产生巨大危害,直接影响到电力系统的稳定性和安全性。
以往采用人工上电力杆的方式来检测绝缘子是否异常[1],人力成本较高,同时存在很大的安全隐患。目前无人机技术的快速发展为电力设备巡检带来了新的前景,相较于传统人工巡检,无人机巡检具有成本低、操控方便等显著优势,且不受限于地形状况,可以到达人徒步无法抵达的地方,从不同的角度和视野获取绝缘子图像数据[2]。
随着计算机视觉技术的发展以及硬件算力和存储能力的提升,基于深度学习的图像识别方法越来越火热。自卷积神经网络兴起以来,计算机视觉开始了一场革命,并带动了一大批应用领域的发展,包括语义分割、目标检测、人体关键点检测、目标追踪、对抗生成网络等。基于深度学习的目标检测已成为计算机视觉中最基础的任务之一,相较于传统的方法其更符合人的思考方式。通过数据学习来提高对事物的认知,在精确率和效率上都远远优于传统的方法。
基于上述技术背景,本文提出通过无人机巡检获取绝缘子图像,并采用基于改进的Faster-RCNN 算法检测绝缘子位置,进而判断其是否破损[3-4]。
1 基于深度学习的目标绘测方法
目前基于深度学习的目标检测方法主要有单阶段和双阶段两种。
单阶段网络又可分为两类,一类是基于锚框,如SSD[5]和YOLO[6]系列网络;另一类基于锚点,如CornerNet[7](预测一对角点)。CenterNet[8]通过特征图中每个像素进行采样,计算偏差得到目标物体的中心和宽高。
双阶段网络以FasterRCNN[9]为典型代表,提出区域建议网络,先对锚框做一次筛选,得到若干个得分较高的目标框作为候选框,将这些候选框的内容池化到同一尺度后经过卷积得到最终的预测框。双阶段方法大多是基于FasterRCNN 做一些改进,如MaskRCNN[10]在FasterRCNN 的基础上增加了mask 分支;CascadeRCNN[11]采用级联方式渐进提升采样的得分阈值,在精度上得到了较大的提升。
2 FasterRCNN 目标检测算法
FasterRCNN 是一种双阶段目标检测方法,相较于单阶段检测方法,FasterRCNN 需要进行RPN(区域生成网络),从而筛选出与真实框交并比接近的锚框,然后做第一阶段粗调来减轻第二阶段预测的难度,最终达到提升检测精度的目的。绝缘子大多在图像中所占的像素较小,检测难度相对较大,FasterRCNN 可以满足绝缘子检测精度的需求。
FasterRCNN 的整体结构如图1 所示,其中N为批处理图片的数量,W 和H 分别为图片的宽和高,S 代表样本个数,n 为类别数量。
图1 FasterRCNN 整体结构
2.1 特征提取网络
2.1.1 主干特征提取
FasterRCNN 以ResNet(残差网络)作为特征提取模块,ResNet 使用残差结构,网络深度不会对网络性能产生很大损害,同时内部残差块采用跳跃连接,缓解了在深度神经网络中因增加深度带来的梯度消失问题,容易优化,并且可以不断增加深度来提高准确率。本文在主干网络提取时,将Resnest 主干网络应用于FasterRCNN。
2.1.2 加强特征提取
原始图像经过主干网络提取特征后得到4 种尺度特征图,分别为原图尺寸1/4,1/8,1/16,1/32,通道数分别为256,512,1024,2056。将输出的4个尺度特征图通过FPN(特征金字塔)处理,得到融合了不同层级的特征图的加强特征。
浅层特征图包含着轮廓、颜色、形状等信息,深层特征图包含着语义信息,融合两者的特征可以提高网络的识别精度[12]。FPN 作为Faster-RCNN 中特征加强模块,通过融合浅层与深层特征图信息达到增强网络特征的提取能力的目的。
2.2 区域生成网络
RPN 是双阶段网络的第一阶段,如图1 所示,将2.1.2 中提取到的特征层用3 次核为3×3、步长为1 的卷积来加强特征的提取。随后产生2个分支分别用于回归和分类:回归分支使用核为1×1、步长为1 的卷积改变特征图的通道数,得到目标框的调整参数;分类分支使用核为1×1、步长为1 的卷积改变特征层的通道数,得到分类结果(RPN 中的分类只有正样本和负样本2 种)。随后根据2.1.2 节中得到的加强特征层产生4 组不同尺度的锚框,结合分类分支的得分锚框与真实框的交并比,筛选出前1 000 个锚框作为正样本用来预测最终目标。
对筛选出的正样本使用双线性插值方法进行池化,将每个正样本统一到相同的尺寸。这种池化方式将不同尺度的特征图进行量化,并降低了因舍入产生的误差。最后,进行第二阶段的回归和分类,得到最终的目标框和分类结果,使用非极大值抑制的方法滤除掉重复预测同一物体的预测框,选取最佳的匹配框作为结果[13]。
3 绝缘子数据集的搭建
3.1 数据集采集和标注
本文所用电力设备绝缘子图像均通过无人机从电力塔的不同高度、不同角度获得。从5 个电力塔拍得的1 200 张图片中去除无效图片后,共剩余1 080 张图像组成了绝缘子数据集用于FasterRCNN 模型训练,绝缘子数据集中包含的目标为破碎绝缘子和完整绝缘子。使用labelimg工具进行标注,该工具可以便捷地使用矩形框标注绝缘子的外接矩形,并保存为xml 文件。
3.2 数据增强方法
3.2.1 拷贝数据增强
在电力系统中,绝缘子出现破碎的情况较少。航拍数据中,破碎绝缘子个数仅占总绝缘子数的7%,这将导致严重的样本不平衡问题。虽然使用损失函数中配置权重等算法可以在一定程度上改善样本不平衡问题,但是不能从本质上解决样本稀缺问题,对此,本文创新性地提出了拷贝数据增强方法,步骤如下:
(1)提取出数据集中所有含有破碎绝缘子目标框的图像。
(2)数据集中每张图片包含的绝缘子个数为M,设置破碎比例K(破碎绝缘子占绝缘子数据集的目标比重),计算出每张图片所需要复制的绝缘子个数Wc。
式中:Si表示第i 张图片中正常绝缘子的数量;Sib表示第i 张图片中破碎绝缘子的数量。
(3)从步骤1 得到的图像中随机抽取M 个破碎绝缘子的图像,同时在该图中抽取Nc个正常绝缘子,破碎绝缘子通过双线性插值法将尺寸改变为正常绝缘子的尺寸,将改变尺寸后的破碎绝缘子拷贝赋值到图像中原本正常绝缘子的图像位置。
拷贝数据增强方法是针对绝缘子数据集的特性提出的,其实质是将数据集中破碎绝缘子的图像拷贝到完整绝缘子图像位置,从而扩充稀缺样本,提高稀缺样本在数据集中的占比。不同破碎比例下图像的质量差异较大。图2(a)为原图,图2(b),2(c),2(d)中破碎比例分别为0.2,0.4,0.5(图中方框所示即为拷贝的破碎绝缘子)。同时本文基于FasterRCNN 选取了破碎比例分别为0.2,0.3,0.4,0.5 的绝缘子进行对比实验,详见5.2 节。
图2 破碎绝缘子拷贝数据增强
3.2.2 通用数据增强
数据增强方法包括旋转变换、颜色转化(亮度、对比度、饱和度等)、平移、裁剪、混合等。本文针对绝缘子数据集使用了旋转、颜色转化、平移、变换尺度、翻转等数据增强方法。所有数据增强方法都是随机产生,产生概率为50%。本文得到了3 种不同增强结果,结果如图3所示,图3(a)表示原图,图3(b)表示随机色域转换后的图像,图3(c)表示随机旋转变换后的图像。数据增强可以得到很多强相关的图像,有些图像发生旋转变换,有些图像发生颜色变换,让网络在每次迭代时得到不同的输入,可以增强网络理解语义不变性和抗扰能力,提升网络的鲁棒性。
图3 通用数据增强方法
4 改进的FasterRCNN 网络
4.1 主干网络改进
本文创新性地将ResneSt 主干网络结构应用到FasterRCNN 网络结构中,引入了可分离注意力机制和分组卷积的思想,采用了radix,Cardinal 和width 3 个超参数来调节ResneSt 的参数量。其中,radix 对应图4 中Split 1—r,Cardinal 对应图5 中Cardinal 1—k,width 代表每组卷积的通道数量。借鉴ResneXt 和Inceptionv4 网络的思想[14],ResneSt 将输入传给k 个相同的模块,分别为Cardinal 1—k 模块;每个Cardinal 模块包含r个模块,分别为Split 1—r 模块;每个Cardinal 模块中的Split 1—r 模块输出结果采用Split Attention 模块进行处理。Split Attention 模块采用了SENet 网络结构思想[15-16],如图5 所示,结合多个输入最终输出一个权值向量,即基于通道的注意力机制。对各通道赋予权重,让网络计算各通道的重要程度,最终将所有模块应用完注意力机制后拼接在一起作为输出。
图4 resnest 网络结构
图5 SplitAttention 模块结构
Split Attention 为分组残差结构增加了通道注意力机制,首先将所有Split 块按式(2)进行求和:
式中:R 表示每个Cardinal 中Split 模块的数量;Uj表示Split Attention 模块的第j 个输入;q 表示第q 个Split Attention 模块。
求和后将得到的特征图做一次全局池化,如式(3)所示。
式中:H 和W 分别表示特征图的高和宽;Uc对应式(2)中得到的结果。
接着将Split Attention 的输入与Softmax 计算得到的权重相乘,为每个通道赋予权重,可以让网络更加重视有用的通道。
改进的ResneSt 网络引入了注意力机制,由于绝缘子的破损在图像中所占像素极小,网络需要理解上下文信息才能更好地对绝缘子是否破碎做出判断,ResneSt 的引入则让网络更加注重语义的理解,5.3 节的实验得出ResneSt 相较于ResNet 提升了5%左右。
4.2 FocalLoss[17]
FasterRCNN 的损失由分类损失和预测框回归损失组成,由于绝缘子数据集极不平衡,本文将FocalLoss 引入到FasterRCNN 网络中作为其分类损失。FocalLoss 基于最常用的CE(交叉熵)损失改进而来,CE 损失如式(4)所示[18]:
式中:pt为预测值和真实值相等的概率;y=1 表示预测为正样本,otherwise 表示预测为负样本。
FocalLoss 的计算如式(5)所示:
式(5)中,一部分为了改善正负样本不平衡问题,给正负样本增加了一个权重参数α,在正样本较少时让正样本占的比重较大,这样可以让网络更加重视正样本;另一个部分用于加大难识别样本的损失,由参数β 来控制。本文绝缘子数据集中α=0.3,β=2。
相比于CE 损失,FocalLoss 有两大优势:更加重视难分类的样本;能够起到平衡样本的作用。
5 实验结果和分析
训练数据集为由原始数据和增强数据组成的绝缘子数据集,共包括2 000 张图片,其中训练和测试数据集各1 000 张,且测试集均不与训练集重复。
实验预训练权重均来自ImageNet 数据集,采用GPU(图形处理器)训练模型,使用CUDA(计算统一设备体系结构)和cuDNN 对训练过程进行加速。训练采取Adam(自适应矩估计)优化器对网络的权重不断优化,表1 给出了实验过程中训练所使用的参数,每训练一个Batch 更新一次参数,一个Epoch 表示遍历一遍数据集,到达max-Epochs 后停止学习,初始的学习率设置为0.01,学习率调整策略为逐Epoch 降低,使用warmup学习率初始化策略,使用线性增加的方式改变学习率。
表1 训练参数设置
5.1 K-means 聚类计算锚框[19]
锚框是目标检测中的先验框,早期的先验锚框大小是通过计算公式或者根据经验得到,但是锚框的尺度往往取决于数据集本身。在目标检测中,先验锚框取值合适与否关系着检测精度与速度。不同的数据集对应的锚框有很大的差别,本文在FasterRCNN 算法中使用了K-means 聚类算法获取先验锚框,计算得到绝缘子数据集的锚框如表2 所示。
表2 绝缘子数据集先验锚框尺寸
绝缘子形状特征大体为粗条状(高∶宽≈2∶1),且航拍图像分辨率较低,不适合采用通用数据集的原始先验锚框尺寸进行检测。因此针对绝缘子数据集需要重新进行维度聚类,选取合适的先验锚框参数,进而得到更好的检测精度和速度。
将改进后的先验锚框均分到不同尺度的特征金字塔上。小尺寸的先验锚框针对高分辨率特征图,用于检测小目标;大尺寸的先验锚框针对低分辨率特征图,用于检测大目标。将原始先验锚框尺寸和改进后的先验锚框尺寸进行归一化处理(如表2 所示),可以看出改进后的先验锚框尺寸更符合电力杆塔的形状和比例。
5.2 基于拷贝数据增强方法分析
本文创新性地提出了拷贝数据增强方法,在绝缘子数据集中取得了较好的应用效果。本文基于Resnet50 主干网络,分别设置绝缘子破碎比例为0.2,0.3,0.4,0.5 进行实验,实验结果如表3所示。实验结果表明:当破碎比例达到0.4 时,FasterRCNN 网络的性能最佳;而当破碎比例增大时,FasterRCNN 网络的性能反而降低。
表3 不同破碎比例下拷贝数据增强法的精度
5.3 基于不同主干网络分析
针对绝缘子数据集使用不同的主干网络进行对比实验,对比ResNet 系列主干网络和ResneSt系列主干网络对于目标检测mAP 的影响。实验结果如表4 所示,可以看出:Resnest 网络相比于Resnet 网络提升较大,Resnest50 相较于Resnet50提升4.6%,Resnest101 相较于Resnet101 提升6.6%。根据结果分析,其主要原因在于ResneSt网络在Resnet 的基础上增加了注意力模块,ResneSt 中的注意力机制可以让网络更注重上下文的语义信息,对于破碎绝缘子这种细小缺陷,利用上下文的信息更加容易识别。
表4 FasterRCNN 不同主干网络性能对比
5.4 整体模型对比和分析
基于Resnest50 主干网络,本文针对破碎比例为0.4 的绝缘子分别就是否使用拷贝数据增强方法和是否使用FocalLoss 进行了实验,结果如表5 所示。实验表明,拷贝数据增强方法与Focal-Loss 的结合使用可以有效提升网络的整体性能。根据结果分析,其主要原因在于拷贝数据增强方法可以扩增原本稀缺的破碎绝缘子数量,同时FocalLoss 可以增加破碎绝缘子在损失函数中所占的权重。
表5 基于ResneSt50 网络性能对比(破碎比例为0.4 时)
最后,从测试集中抽取不同样本的绝缘子图像进行检测,检测效果表明:本文改进Faster-RCNN 算法能够更加精准地检测到绝缘子表面的破碎情况,同时具有相对更高的定位精度,mAP达到了66.1%,相比于原算法提升了4.6%。
6 结语
本文提出了一种基于改进的FasterRCNN 目标检测模型,并将其应用于电力系统绝缘子检测中。首先,通过无人机航拍采集图像样本,利用水平翻转、旋转变换、色域变换等通用图像增强方法扩大样本数量,采用LabelImg 对各图像样本进行标注,完成绝缘子数据集的搭建。然后,通过K-means 重新聚类计算得到最优的先验锚框,更符合绝缘子的形状和大小,针对破碎绝缘子占比较小的问题,提出拷贝数据增强方法来平衡样本,使样本分类更加准确。最后,经过实验对比分析了主干网络、拷贝数据增强方法的破碎比例参数和FocalLoss 对网络性能的影响,改进后的FasterRCNN 模型准确率得到了提升,使用ResneSt101 主干网络、拷贝数据增强以及Focal-Loss 后,mAP 达到了68.3%。
本文的主要创新点在于:
(1)提出了拷贝数据增强方法,扩增数据集中破碎绝缘子占比,从数据源弥补了样本不平衡的问题。
(2)改进了FasterRCNN 的主干网络部分,使用ResneSt 网络代替ResNet 网络,提升了绝缘子检测的精度。
(3)改进了FasterRCNN 的损失函数,使用FocalLoss 代替交叉熵损失,起到平衡样本的作用。