基于边缘计算和改进YOLOv5s算法的输电线路故障实时检测方法

2023-02-24 06:21黄悦华陈照源陈庆张磊刘恒冲张家瑞
电力建设 2023年1期
关键词:边缘卷积损失

黄悦华,陈照源,陈庆,张磊,刘恒冲,张家瑞

(三峡大学电气与新能源学院,湖北省宜昌市 443002)

0 引 言

目前,国家电网有限公司已采用无人机对输电线路中关键故障,如绝缘子自爆、防震锤脱落、鸟巢等进行检测[1-2]。

当前无人机巡检采集的图像数据以导入线下服务器智能分析或人工分析为主,从而延长了检修结果的反馈时间,导致不能及时恢复线路正常,造成更严重的损失。随着边缘计算技术的快速发展,服务趋向边缘节点化,巡检无人机搭载边缘计算设备可在输电线路侧进行实时检测,提高巡检工作效率[3]。但在实际应用中部署于边缘计算设备的算法,暴露出故障检测速度慢、精度易受图像模糊影响等缺陷。

目前,应用在边缘计算模块的检测算法主要为速度占据优势的单阶段目标检测算法[4],代表算法有YOLOv3[5]、YOLOv4[6]、YOLOv5[7]、SSD(single shot multi-box detector)[8]等。该类算法无需预先提取候选区域,而是直接对网络进行端到端的训练,相比于双阶段目标检测算法[4],表现出网络结构简单、实时性好等优点。文献[9-10]基于改进的SSD算法对绝缘子自爆、鸟巢进行了检测,取得较高精度,但算法体积太大,难以应用于边缘设备中进行实时检测。文献[11-14]以YOLO为基础算法,在巡检图像清晰的场景下,通过模型压缩改进对绝缘子故障、鸟巢、防震锤、杆塔进行了检测,取得了良好的实时检测效果,但对模糊图像数据检测时效果不佳。较好平衡速度和精度的YOLOv5s算法,在应用于实时目标检测的场景中表现出明显优势[15],但其依然难以处理模糊图像。

针对上述问题,本文在YOLOv5s算法的基础上,首先利用Ghost模块的轻量化技术,引入经Ghost模块改进后的Bottleneck模块,降低模型参数量与计算量;然后,用平滑处理后的KL(Kullback-Leibler)散度损失函数替换目标框均方误差定位损失函数,降低模型对目标图像形变或模糊产生的精度损失,进一步提高模型鲁棒性;最后,在无人机搭载的边缘计算设备中进行输电线路实时检测,验证本文所提方法能有效、精确地进行故障检测。

1 基于边缘计算的输电线路巡检方法

高压输电线路通常架设于地形复杂、通信条件恶劣的环境,面临着实时巡检图像远距离传输困难、前端数据处理效率低等问题。为了提高输电线路的巡检效率与实时性,本文构建了基于边缘计算的输电线路故障实时检测框架,如图1所示。首先,以无人机搭载云台相机、边缘计算设备进行输电线路巡检,获取实时巡检图像数据;然后,采用边缘计算智能处理模式,通过边缘计算设备内嵌的轻量化深度学习模型对巡检数据进行智能分析,具体按照巡检图像数据筛选与传输、改进的YOLOv5s算法检测图像数据、故障检测结果反馈等步骤完成在巡检工作现场的故障实时检测与预警;最后,将输电线路故障进行输出及保存,巡检人员根据故障定位及时进行修复。

图1中YOLOv5s算法在提升检测效率的同时也兼顾了精度,更适合部署在边缘计算设备上,用于输电线路故障实时检测[16]。YOLOv5s模型结构如图2所示,YOLOv5s网络结构主要由Backbone(主干网络)、Neck(多尺度特征融合网络)和Head(预测分类器)三个部分组成。Backbone用于提取图像的识别特征,包括边缘、纹理、位置信息等特征;Neck部分采用路径聚合网络(path aggregation network,PANet)[17]充分融合Backbone提取的不同层图像特征,并对特征图进行再处理和合理利用;Head部分通过从Backbone提取的特征图或从Neck中融合的特征图来检测目标对象的位置和类别。YOLOv5s算法在实时检测中具备一定优势,但在处理图像形变、模糊的检测时仍无法保证精确性;同时模型中大量Conv模块进行卷积操作增加了计算成本,使其难以应用于算力有限的边缘设备中。因此,本文从模型轻量化和模型鲁棒性增强两个方面提出改进。

图1 基于边缘计算的输电线路故障实时检测框架Fig.1 Real-time detection framework for transmission line faults applying edge computing

2 YOLOv5s检测模型改进

2.1 基于Ghost模块的卷积压缩

在BottleneckCSP模块中通过Conv卷积大量的计算产生丰富冗余的特征图,如图3所示。这些冗余相似特征图在提升检测算法精度的同时,也造成了计算量的增加。

图3 特征图可视化Fig.3 Visualization of feature map

原YOLOv5中Bottleneck模块使用Conv卷积生成特征图的过程如图4所示。给定输入数据X∈Rc×h×w,其中:c为输入数据通道数;h、w分别为输入数据高度和宽度;R为数据特征集合。经Conv卷积计算输出n个特征:

图4 Conv卷积生成特征过程Fig.4 Conv to generate feature process

Y=X*ω+b

(1)

式中:Y表示输出的n个高度h′、宽度w′的特征图;*为卷积操作;b为偏差项;ω代表卷积核k×k的卷积滤波器。Conv卷积中的每秒浮点运算量F1及参数量P1可表示为:

F1=n×h′×w′×c×k×k

(2)

P1=n×c×k×k

(3)

图4通过Conv卷积获取全部特征数据的过程导致检测模型计算量过大,难以直接部署于无人机终端的边缘计算设备。本文提出采用Ghost模块[18]重构检测模型获取特征的卷积计算操作方法,如图5所示。Ghost模块先通过Conv卷积生成部分特征图,然后将其经过线性变换生成足够多的特征图,最后将这两部分特征按通道数进行拼接输出,以匹配给定的输出通道数n(特征个数)。

图5 Ghost原理示意图Fig.5 Principle diagram of Ghost

Ghsot模块操作过程中,设一部分有m(m≤n)个特征图Y′由Conv卷积生成:

Y′=X*ω′+b

(4)

式中:ω′为卷积滤波器。此时产生的每秒浮点运算量F2及参数量P2为:

F2=m×h′×w′×c×k×k

(5)

P2=m×c×k×k

(6)

剩下的n-m个特征图需要对m个特征线性变换t-1次得到,其中t=n/m,而减掉的“1”为图5中对m个相同特征线性计算的“1”次。利用式(7)可生成m×t=n个特征图,通过对特征y′i的每个基础特征进行Φi,j线性运算,还需要运算m×(t-1)次,再与特征图Y′直接拼接成n个特征(该过程不产生计算成本)。线性操作为:

yi,j=Φi,j(y′i),i∈[1,m],j∈[1,t]

(7)

式中:y′i表示Y′中的第i个特征图;Φi,j(·)表示对第i个特征图进行第j个线性操作;yi,j为此过程生成的第j个特征图。

设线性运算内核大小为d×d,上述线性过程产生的每秒浮点运算量F3及参数量P3为:

F3=(t-1)×h′×w′×m×d×d

(8)

P3=(t-1)×m×d×d

(9)

则根据式(2)、(3)、(5)、(6)、(8)、(9)可算出Ghost模块与Conv卷积的计算量之比TF及参数量之比TP:

(10)

(11)

取k×k与d×d大小相同,且t≪c,可将式(10)、(11)进一步化简为:

(12)

可见,使用Ghost模块的计算量和参数量与Conv卷积之比约为1/t。

综上,在生成图3特征数据的过程中,相较于全部使用Conv卷积,Ghost模块利用式(7)所示的线性变换代替了部分Conv卷积过程,可降低参数量与计算量。由此造成的特征数据减少,最终通过拼接特征操作,来匹配给定的输出通道数n(特征个数),弥补了特征数据损失。因此,Ghost模块只减少了Conv卷积的参数量和计算量,而不损失影响检测模型精度的特征数量,达到轻量化检测模型的效果,同时保证了检测模型精度。如图2模块改进部分,采用Ghost模块代替了Bottleneck模块中Conv卷积,既能保证特征冗余性不影响YOLOv5s检测模型精度,又能提升边缘设备中模型故障检测速度。

2.2 基于KL散度的鲁棒性改进

无人机巡检的过程中易出现相机抖动或飞行速度突变等不稳定情况,造成巡检目标图像变模糊和形变,输入边缘计算设备检测会导致实时检测精度降低[19]。通过改进模型结构提升模型鲁棒性来降低图像模糊和形变的不良影响,又会导致检测模型网络复杂度增加,造成边缘计算模块检测速度变慢而失去实时应用价值。因此,在不改变检测模型结构的条件下采用损失函数改进是最优选择。目标置信度损失Lconf、目标类别损失Lcla、目标框定位损失Lloc共同构成YOLOv5s算法的损失函数L,其表达式为:

L=Lconf+Lcla+Lloc

(13)

目标框损失函数Lloc的均方误差损失形式,会使损失值对目标框变化很敏感,进而影响检测模型训练后的鲁棒性效果。考虑到KL损失可对目标框的移动与位置间的方差进行学习[20],来降低损失函数L的值,提升模型的鲁棒性,故本文将Lloc采用KL损失,其定义如下:

(14)

式中:QD(x)为真实标签坐标概率分布;PΩ(x)为预测坐标概率分布;x为坐标样本取值;xe为预测坐标位置;xg为目标框坐标真值;Ω表示一组要学习的参数;σ为分布的标准差;D为表达xg的参数合集。QD(x)与PΩ(x)概率分布重合度越高模型鲁棒性越好。

由于常数项H[QD(x)]和ln(2π)/2对求导没有影响,式(14)可简化为:

(15)

分别对式(15)中的xe和σ求偏导:

(16)

(17)

其中σ作为变量在求导公式分母上,为了防止因σ起始值过大,造成模型训练初始阶段反向传播过程中产生梯度爆炸,进而导致模型无法正常收敛的情况,令α=ln(σ2),并代入式(15)中,可得:

(18)

式中:e为自然对数的底。当|xg-xe|>1时,对KL损失进行平滑处理,可进一步增强模型鲁棒性,则目标框回归损失函数LKL为:

(19)

在模型训练过程中,经过平滑处理后的损失函数LKL对突然产生差异变化的图像数据不会产生骤变,从而得到鲁棒性更好的检测模型,提升对模糊图像或发生形变的目标图像检测精度。

3 实验结果与分析

3.1 数据预处理与环境设置

本文使用的输电线路巡检图像数据集来源于某省检修公司日常无人机巡检工作。预先对样本做影视分割、随机马赛克、镜像、旋转等处理,以扩大训练数据集规模,提高模型训练后的泛化能力。最终得到1 575张故障图像数据集,部分故障图像如图6所示。采用Labelimg工具对图像进行标注,完成训练数据集制作,其分布如表1所示。

图6 数据集图示Fig.6 Data set diagram

表1 数据集分布Table 1 Distribution of the data set

训练模型使用的服务器平台CPU为Inter i7-9700K,64 GB内存,GPU为Nvidia GeForce RTX3080,显存大小为12 GB,操作系统是Ubuntu18.04,安装cuda10.1和cudnn7.6.4,深度学习框架为Pytorch1.9.0。为验证所提方法在输电线路边缘检测中的适用性和有效性,将改进的YOLOv5s模型部署于边缘计算设备中进行测试与验证,测试设备选用华为Atlas 200 DK,包括智能芯片昇腾310(Ascend 310)和Hi3559 Camera模块,如图7所示。

图7 边缘计算设备Fig.7 Edge computing device

3.2 模型训练结果分析

训练图像的分辨率大小统一为640×640,训练时采用动量项为0.9的异步随机梯度下降法,在每一批训练的Batch size中包含64张图片。在前150轮(Epoch)将训练中的学习率设为0.001,在后150轮将训练的学习率降到0.000 1。为防止模型过拟合,将权重衰减正则项设为0.000 5,经过300轮的模型迭代训练,得到最终模型权重。

不同模型训练的损失函数值(Loss)收敛曲线如图8所示。相比于原始模型,改进模型初始Loss降低到11更有利于模型收敛,这是因为改进后的损失函数降低了其在反向传播过程中的干扰使得初始Loss更小。随着迭代次数的增加,改进模型的Loss迭代到100轮就下降到2左右,并最终收敛到1左右,而原始模型的最终Loss收敛在2.5左右。数据表明,改进模型在目标框定位损失函数选择上的优化,使得模型收敛性更优,训练效果更好。

图8 Loss曲线Fig.8 Loss curve

改进模型与原始模型的平均精度均值(mean average precision,mAP)曲线如图9所示。可以看出,原始模型、改进模型分别迭代到50、30轮后mAP上升到0.6,分别最终稳定在0.79、0.84。结果表明,与原始模型相比,改进模型具备更快的检测收敛速度、更高的检测精度。

图9 mAP曲线Fig.9 mAP curve

F1值为精确率和召回率的调和平均值,可表征两者达到最高并取得平衡的状态,能更好地反映模型检测性能,F1值曲线如图10所示。改进模型的F1数值随着迭代次数增加逐渐高于原始模型,并最终稳定到0.81,高于初始模型的0.78。因此,改进模型在兼顾精确率和召回率的检测效果上有明显优势。

图10 F1曲线Fig.10 F1 curve

进一步地,为验证在YOLOv5s模型上不同改进策略的检测效果,分别设置如表2所示的改进策略并进行测试。编号1为原始YOLOv5s模型,Ghost模块改进是为了提高模型的检测速度,而KL散度损失在于提高模型的检测精度,因此,编号3、4模型比编号1、2模型在mAP值上有显著提升,其检测精度相比原YOLOv5s模型提升了5%以上。

表2 不同改进策略的对比实验Table 2 Comparative experiment of different improvement strategies

3.3 边缘设备测试验证

为验证KL散度损失函数改进在检测模型实际应用过程中对模糊目标图像检测的优越性,本文利用绝缘子自爆、防震锤脱落、鸟巢的模糊图像样本对本文实时检测模型与YOLOv3、YOLOv4、YOLOv5s、SSD实时检测模型进行测试对比。不同模型对模糊或形变巡检故障图像检测的效果如图11所示。相比较而言,图11(a)—(d)所示的4个模型的检测结果均出现了漏检情况,而图11(e)中本文模型可在模糊图像中准确检测出绝缘子自爆、防震锤脱落、鸟巢三类故障目标,表现出了更强的检测性能。因此,基于KL散度损失函数改进的模型对于模糊或形变的图像有较好检测效果。

图11 模糊故障图像检测结果Fig.11 Detection results of blurred fault image

为进一步验证基于Ghost卷积模块改进的YOLOv5s模型在边缘计算设备中故障检测速度的优势,将表3所示的主流实时检测模型部署于华为Atlas 200 DK边缘设备端进行测试。所有模型均使用相同的数据样本和参数进行训练,测试得到模型参数量、mAP、每秒传输帧数(frame per second,FPS)结果如表3所示。

表3 主流模型性能对比Table 3 Performance comparison of mainstream models

分析表3的数据可知,YOLOv4模型检测的mAP值85.32%最高,但其模型参数量246.17 MB最大、FPS最小从而检测速度较慢,YOLOv4模型以及与之类似的SSD、YOLOv3模型均不适合部署在边缘计算设备中进行实时检测。而YOLOv5s和本文方法检测精度虽略低于YOLOv4,但其检测速度是YOLOv4的3.1倍,能同时满足较高检测精度和检测实时性要求。采用Ghost模块改进的本文模型与YOLOv5s相比,模型参数量从7.46 MB减少到4.39 MB,FPS从23 frame/s提升到34 frame/s,更适合算力和内存有限的边缘计算设备。本文模型在无人机搭载的边缘计算模块中进行检测时,能够保证输电线路故障有较高检测精度的同时具有较好的实时性。

4 结 语

为了提高输电线路无人机巡检边缘计算实时检测的精度与实时性,本文研究了基于边缘计算和改进YOLOv5s算法的输电线路故障实时检测方法。

1)与原始YOLOv5s模型相比,引入的Ghost模块压缩使得模型轻量化,减少了计算量,提升了故障检测速度。

2)利用KL散度分布损失替换原始均方误差损失作为目标框定位损失函数,增强了模型鲁棒性,提升了搭载该模型的巡检无人机对模糊图像的检测能力。

实时故障检测类模型对输电线路中微小故障的检测能力较为有限,此问题还需进一步研究。

猜你喜欢
边缘卷积损失
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
卷积神经网络的分析与设计
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
一张图看懂边缘计算
菜烧好了应该尽量马上吃
损失
在边缘寻找自我