一种改进SSD 的输电线路电力部件识别方法

2020-12-08 07:14王朝硕李伟性郑武略王宁赵航航
应用科技 2020年4期
关键词:特征提取部件语义

王朝硕,李伟性,郑武略,王宁,赵航航

1.中国南方电网超高压输电公司信通中心,广东 广州 510000

2.中国南方电网超高压输电公司广州局,广东 广州 510000

随着计算机视觉和无人机技术的快速发展,无人机和计算机视觉技术相结合在智能电网中的应用需求越来越多,而且一些成果已经应用到输电线路电力部件的智能巡检和在线监测中[1]。实现对输电线路电力部件智能巡检的关键是对电力部件进行识别和定位。输电线路的主要部件包括绝缘子、间隔棒、防震锤和均衡环等,在无人机拍摄电力部件的过程中,由于距离的因素,这些电力部件距离无人机较远,在图像上显示的尺寸较小,是典型的小目标识别问题。

传统图像识别方法以图像二值化和边缘检测为基础,通过尺度不变特征变换[2]、局部二值模式[3]等算法来提取图像的梯度、颜色、纹理、边缘和形态等显著特征[4],但这些特征提取算法需要根据目标预先设定特征参数,对拍摄角度距离差异、光照影响和复杂背景干扰较为敏感,难以设计通用的特征提取模型来描述不同情景下的物体。因此,其识别准确率较低、鲁棒性较差,不适用于电力小部件识别。

随着深度学习的迅速发展以及硬件水平的提高,深度卷积神经网络在计算机视觉领域取得了巨大的成功,而且电力部件的数据集越来越多,为深度学习在电力部件识别和定位中的应用奠定了基础。文献[5]通过优化更快的基于区域建议卷积神经网络(faster region-based convolutional neural network,Faster RCNN)[6]损失函数和自建ImageNet图像样本库对输电线路多目标图像进行识别和定位,但改进后的网络模型依然保留高层特征,抛弃浅层特征,对小目标识别和定位效果较差,且检测速度较慢,实时性难以得到保证,无法进行实际应用。基于回归的one-stage 目标检测算法以SSD[7]、YOLO[8]为主,one-stage 算法在检测速度方面远快于基于区域兴趣的two-stage 目标检测算法,能够达到实时检测的要求。YOLO 算法将特征图等分为n×n的网格,但是当多个小目标落在一个网格中的时候,会漏检和误检目标。利用SSD 检测模型检测小目标时,其只用VGG16特征提取网络结构中的conv4_3 层,语义信息不够丰富,因此SSD模型检测小目标效果较差。Liu等[9]对SSD 进行了改进,充分利用特征层之间的上下文信息,使用残差网络提升特征网络的表征能力,提出了引入反卷积的单阶段多框检测器(deconvolutional single shot detector,DSSD)模型[10],但检测速度较慢。

针对以上问题,本文提出了基于注意力机制和多尺度特征融合的amSSD 电力部件识别网络,在经典SSD 网络的特征提取阶段引入注意力机制,进一步提升网络的特征提取能力,增强特征图的语义信息。同时,为解决SSD 识别尺寸较小电力部件效果差的问题,使用膨胀卷积操作来增大浅层特征图的感受野,并通过反卷积操作将不同语义信息的特征图进行融合,提升算法的检测精度,而且有较高的检测效率。利用实际飞行采集的电力部件数据对算法进行了测试验证,并与SSD 算法进行对比分析。

1 相关技术理论和算法

1.1 注意力机制

在计算机视觉领域,注意力机制包括基于项的注意力[11]和基于位置的注意力[12]。基于项和基于位置注意力机制的输入形式不同,基于项注意力的输入可以是特征图、向量或者矩阵形式的序列项,或者添加预处理操作来生成序列项;而基于位置注意力的输入形式为单独的特征图,可以通过位置指定所有的目标。基于位置的注意力直接作用在特征图的某一区域上,应用较为广泛;基于项的注意力能够进行端对端训练,并且不会较大地改动原有结构。因此,本文在特征提取层引入基于项的通道注意力机制网络结构(SENet)[13]。

1.2 反卷积

小目标往往更依赖浅层特征,因为浅层特征有更高的分辨率,浅层包含的细节信息比较多。因此,本文采用反卷积操作[14],将具有高语义信息的高层,经过反卷积操作后,与浅层特征图相融合,使浅层特征图语义信息更加充足,对小目标检测更有效。反卷积,也即卷积操作的逆运算,通过转置卷积核,与卷积后的结果再次进行卷积,卷积过程与反卷积过程示意图如图1 所示。

图1 卷积和反卷积

图1(a)为卷积正向传播操作,5 像素×5 像素的特征图经过3×3 的卷积核卷积运算,步长为2,填充为1 的卷积操作之后,得到大小为3 像素×3 像素的特征图;图1(b)为反卷积操作,2 像素×2 像素的特征图通过填充补零与3×3 的卷积核进行卷积运算,得到4 像素×4 像素的特征图。反卷积的输入输出关系为

式中:o′为输出;i为特征输入;s为步长;k为卷积核尺寸;p为卷积操作中的边界填充(padding)。

1.3 SSD 模型

1.3.1 SSD 网络结构

SSD 模型以VGG16 为基础网络,但是将VGG16的全连接层fc6 和fc7 转换成卷积层conv6 和conv7,conv6 层和conv7 层的卷积核大小分别为3×3 和1×1,并添加特征提取层。VGG16 中的conv4_3 层特征图大小是38 像素×38 像素,主要用于识别小目标。使用SSD 网络中6 种不同的特征层组成多尺度特征层,实现多尺度检测。SSD 网络结构如图2 所示。

图2 SSD 网络结构

1.3.2 SSD 检测流程

SSD 检测算法使用的6 种特征图大小分别为38 像素×38 像素、19 像素×19 像素、10 像素×10 像素、5 像素×5 像素、3 像素×3 像素和1 像素×1 像素,针对不同的特征图,都设置了不同大小的默认框,设置默认框的计算为

式中:k表示第k个特征图;S k表示最底层的默认

框占输入图像的比例;Smax和Smin表示S k的最大值和最小值。默认框的宽高比,每个默认框的宽、高的计算为

当r=1 时,增加默认框的尺度为,该默认框的宽、高为

通过上述方法,SSD 算法可获得大量的正负样本,算法通过比较交并比(intersection-over-union,IOU)值,得到真实目标框。实际中,默认框中很小一部分为真实目标框,为使正负样本保持平衡,SSD 算法采用困难样本挖掘方法[15],随机抽取负样本,按照置信度分数从高到低排列,将误差小的作为正样本,并使正负样本数量的比例为1:3。

1.3.3 损失函数

SSD 算法的目标损失函数包括分类预测损失和位置回归损失两部分。总体目标损失函数为

式中:N为匹配的默认框数目,当N为0 时,损失设为0;α为平衡分类预测损失和位置回归损失的权重参数;Lloc为位置回归损失。使用SmoothL1损失函数[16]计算预测的偏移量(l)与真实的偏移量(g)之间的损失,然后对默认框的位置偏移量进行回归计算:

式中:pos 为正样本默认框;li为预测的第i个正样本的位置偏移量;为默认框i与真实框j之间位置的偏移量;为位置偏移量为默认框i的中心坐标、宽和高;为真实框j的中心坐标、宽和高。

Lconf为分类预测损失,使用Softmax 损失函数:

式中:neg 为负样本检测框;xij={1,0}表示默认框i与真实框j的类别是否匹配;为预测的正样本的置信度分数;为预测的负样本的置信度分数。

2 改进SSD 模型的电力部件识别

2.1 改进模型结构设计

本文提出注意力机制和反卷积多尺度融合的输电线路电力部件识别模型,通过膨胀卷积、通道加权更新、反卷积等操作,增强浅层特征层的感受野和语义信息,提升模型对较小尺寸电力部件的识别能力。改进后的模型amSSD 如图3 所示。

图3 amSSD 网络结构

2.2 引入SENet 结构

SENet 结构能很容易添加到常见的卷积神经网络结构中,增强特征提取阶段的感受野,提高与目标相关特征通道的权重,抑制与目标无关的特征通道,进一步提升特征图的语义信息。在SENet 结构中,注意力机制的最重要的操作是挤压(squeeze)和激励(excitation)。首先,对输入SENet 结构中的特征图进行全局平均池化(global average pooling,GAP)[17],得到长度为M的实数列,使每个通道上的特征图具有全局的感受野,从而使感受野较小的浅层特征图能够利用全局信息[18],提升网络的特征提取能力,得到图像更为丰富的语义信息;其次,将长度为M的实数列输入到全连接层,先降维成1×1×⎿M/r」的向量,使用ReLU激活函数[19],再升维成1×1×M的向量,采用Sigmoid激活函数计算通道的权重系数;最后,将权重系数乘以对应特征通道,以此更新特征图。图4 为SENet 结构,I表示输入SENet 结构的特征图;O表示通道更新后输出的特征图。本文分别在SSD 网络的fc7 层、Conv8_2 层、Conv9_2 层、Conv10_2 层、Conv11_2 层引入SENet 结构,更新这5 个层的特征图,具体如图4 所示。

2.3 反卷积多尺度特征融合

由于尺寸较小的电力部件主要通过Conv4_3层特征图进行识别,因此需要提升该层的语义信息。本文采取的改进措施主要有以下2 个方面:

图4 SENet 结构

1)对细节信息较高的浅层Conv3_1 层做膨胀卷积,目的是增大感受野,损失较少的细节信息,使得特征图具有更多的全局信息。本文选取的dilation 值为2、步长为2、边缘填充值为2;再将膨胀卷积后的特征图与Conv4_3 以特征通道拼接的方式进行融合,得到38 像素×38 像素×1 024像素大小的特征图;最后采用1×1×512 大小的卷积核对融合后的特征图执行卷积操作,输出38 像素×38 像素×512 像素大小的语义信息更加丰富的特征图Conv4_d,有利于识别尺寸较小的电力部件。

2) 对语义信息较丰富的高层特征图经过反卷积操作与浅层特征图融合,从而使浅层特征图能够融入较丰富的语义信息,然后进行多尺度特征图识别图像中的电力部件。首先,采用反卷积操作扩充 Conv11_2 层 的特征图,和Conv10_2 层特征图大小相同;然后,将扩充后的特征图与Conv10_2 特征图以对应通道相加的方式进行融合,更新Conv10_2 层的特征图;最后,将更新后的Conv10_2 层的特征图采取同样的方式进行反卷积扩充,并与Conv9_2 层特征图融合,并更新Conv9_2 层的特征图。同理,依次更新Conv8_2、fc7 和Conv4_3 层的特征图。通过以上2 种改进措施,得到的Conv4_3 具有较强的细节分辨率信息和较高的语义感受野,能够较好地进行较小尺寸电力部件识别和定位。

最后在预测模块中对更新后的多尺度特征图进行分类和回归计算,得到电力部件识别定位结果。

3 实验及结果分析

本文实验使用Ubuntu 16.04 操作系统搭建深度学习环境,显卡型号为NVIDIA GeForce GTX 2080Ti,采用的深度学习框架为Pytorch 1.3.1。

3.1 数据集及实验参数

本文的数据集为航天图景(北京)科技有限公司无人机拍摄的输电线路电力部件图像,包括绝缘子(insulator)、间隔棒(spacer)、防震锤(damper)和均衡环(ring)共4 类目标,数据集中训练集图片30 000 张,测试集图片10 000 张。通过图像标注软件生成记录目标位置坐标信息的xml 标签文件[20]。

3.2 实验结果及分析

实验采用的预训练基础模型为VGG16,初始学习率为0.000 1;迭代训练6 万次和8 万次后学习率分别降低为0.000 01 和0.000 001,使模型更容易收敛;共训练90 000 次,动量为0.9,权重衰减为0.000 5,输入模型中的图像大小为300 像素×300像素;当迭代到40 000 次时训练趋于稳定。其训练损失统计如图5 所示。

本文针对Faster RCNN、SSD 和本文提出的amSSD模型在测试集上进行对比实验,评价指标为准确率(average precision,AP)、平均准确率(mean average precision,mAP)和识别速率(frames per second,FPS),得到如表1、2 所示的识别结果,部分实验结果对比如图6、7 所示。

图5 训练损失统计

表1 不同方法电力部件识别结果 %

表2 不同方法平均识别准确率和识别速率

图6 本文提出的amSSD 模型电力部件识别结果

图7 原始SSD 模型电力部件识别结果

从表1 中可以看出,针对4 种电力部件绝缘子、间隔棒、防震锤和均衡环,SSD 算法的识别准确率分别是88.6%、82.9%、79.1%和82.3%;Faster RCNN 算法的识别准确率分别是90.1%、85.6%、75.2%和80.4%;而本文提出的模型识别准确率分别是92.2%、90.6%、87.6%和87.5。从表2 中可以看出,Faster RCNN 的mAP 为82.5%,速度为16 FPS;SSD 算法的mAP 为83.4%,速度为47 FPS;本文算法的mAP 为89.6%,速度为38 FPS。其中,Faster RCNN 的识别准确率和识别速度最低,本文算法识别准确率最高,SSD 算法的识别速度最快。本文算法比SSD 算法平均识别准确率提高了6.2%,针对较小的电力部件如间隔棒和防震锤,识别率分别有7.7%和8.5%的较大提升,提升效果明显。同时本文算法的识别速度为38 FPS,相对原始SSD 识别速度下降了9 FPS。这是由于amSSD 模型增加了膨胀卷积层、SENet 结构和反卷积层,导致计算量增加,但算法仍能满足输电线路巡检实时性的要求。因此,综合评价部件识别率和巡检系统的实时性能,本文提出的算法性能是最优的。

4 结论

本文以SSD 网络为基础,通过在特征提取阶段引入通道注意力机制和多尺度特征融合,提出了一种改进的amSSD 输电线路电力部件识别网络。实验表明本文提出的网络在输电线路电力部件数据集上的识别性能与原始SSD 和Faster RCNN相比更加优异,识别速度相较于SSD 有一定下降,但仍能满足实时检测要求。

1)与原始SSD 和Faster RCNN 相比,本文提出的改进模型针对较小尺寸的电力部件具有更低的漏检率和更高的准确率。同时,尺寸较大的电力部件保持着良好的识别和定位效果。能够为后续输电线路故障检测打下坚实的基础。

2)本文的进一步工作将对损失函数进行改进,增大难分负样本的权重占比。在此基础上,继续进行电力部件故障检测算法的研究。

猜你喜欢
特征提取部件语义
加工中心若干典型失效部件缺陷的改进
奥迪e-tron纯电动汽车的高电压部件(下)
语言与语义
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
基于Siemens NX和Sinumerik的铣头部件再制造
Bagging RCSP脑电特征提取算法
批评话语分析中态度意向的邻近化语义构建
“社会”一词的语义流动与新陈代谢
“吃+NP”的语义生成机制研究