王宇博,尚军利,张烨,刘建勇,杨雷,李博涛
(1. 国网陕西省电力有限公司渭南供电公司,陕西 渭南 714000;2. 西安工程大学电子信息学院,西安 710048)
高压输电导线是电力系统的重要组成部分,其工况对电力系统的安全稳定运行具有重要的影响[1-2]。由于输电线路沿途气象复杂、地理分布位置特殊,覆盖范围广,易遭遇极端气候的侵袭,造成跳线,导线断股、散股等故障,给电网的安全可靠运行带来巨大的隐患[3-4]。如在2018 年至2019年,江西地区经历持续性冻雨天气,造成输电线路塔头折损7 基,导线断裂41 根、地线断裂3 根,输电线路发生跳闸36 次,给居民生活及电网运行带来巨大损失[5]。2018年1月23—28日,湖北省遭遇极端恶劣天气,受损严重,其中导地线断裂、断股故障82 处,占总故障数量的9.14%;因导线故障受影响线路9条,占总受损线路的13.24%[6]。近年来,随着我国多地遭受恶劣天气影响,由输电线路导线故障而引发的事故也呈增长趋势,因此积极探索和研究输电线路导线故障检测技术与防范措施,对电网的安全可靠运行以及人们的财产安全具有重要意义[7]。
传统针对线路的检测主要依靠人工巡检,但人工巡检方式速度慢、效率低,并且输电线路的基层运检人员数量增长缓慢,使得传统的人工巡检方式无法满足电网快速巡检的需求。随着我国“十四五”规划电力行业呈现出技术创新驱动力不断增强,综合智慧能源形态逐步形成的发展趋势,“云大物移智”等先进技术创新培育,成为电力产业升级的新增长点。电力与现代信息通信技术和控制技术深度融合,实现多能互补、智能互动。同时,图像识别、卷积神经网络技术的兴起以及深度学习网络性能的提升,基于无人机巡检图像的缺陷智能识别便成为主要的研究方向之一[8-11]。
目前,国内外诸多学者开始针对输电导线缺陷智能检测展开研究,并取得了显著成效。文献[12]提出一种基于边缘检测技术的导线缺陷识别方法,针对简单背景下缺陷可以达到较准确的识别结果。文献[13]提出了一种通过导线灰度分布曲线的方波变换检测导线缺陷的方法,可有效测量导线断股和表面缺陷故障。文献[14]提出了一种基于径向基概率神经网络的输电导线缺陷状态识别方法,可在复杂背景下具有较好的检测结果。文献[15]通过分析导线表面灰度图像的光滑性与一致性来检测断股的方法,对复杂背景下的缺陷及异物进行检测。文献[16]提出一种基于FCN 网络及Canny 算法的导线缺陷识别方法,将深度学习与传统算法相结合,对导线散股缺陷具有良好的识别效果。然而上述方法多使用传统算法或将卷积神经网络与传统算法相结合,针对输电导线缺陷精确、实时的检测技术还不完善,同时算法适应性有待进一步加强。
基于此本文针对输电导线缺陷的智能检测提出了一种基于改进YOLOv7[17]算法的缺陷检测方法:创新性地将轻量化网络与自注意力机制相融合,替换YOLOv7 算法原有的主干网络;替换双向融合PANet 结构,采用加权双向特征金字塔网络BiFPN进行网络特征融合。运用本文方法可以显著提升模型检测速度和检测精确度,重点解决输电导线缺陷检测任务中现有模型速度慢、效果不佳、容易误检等问题。
YOLOv7 算法主要由输入端(input)、主干网络(backbone)、颈部网络(neck)、预测端(prediction)构成,原始YOLOv7算法结构如图1所示。
图1 系统结构框图Fig. 1 System structure diagram
图1 中,输入端主要实现数据的增强操作,包括Mosaic 数据增强[18]、自适应锚框计算和自适应图片放缩;主干网络由卷积(Conv)结构、拼接(Concat)结构和最大池化(MP)结构组成,实现图像目标特征提取;颈部网络包括跨阶段局部网络(CSPNet)和双向融合(PANet)结构,完成特征融合操作,使网络同时包含低层位置信息及深层语义信息;预测端使用CIOU_Loss 函数,主要预测信息的损失。由于YOLOv7 算法使用多尺度训练及预测,会产生多个预测框,因此在预测段使用非极大值抑制(NMS)只保留一个最优的预测框。
为了加快网络训练速度,得到更高的精确度,本文将主干网络替换为轻量化网络EfficientnetV2[19]。同时将自注意力机制引入EfficientnetV2主干网络,并将PANet替换为加权双向特征金字塔网络(BiFPN[20])。
本文提出一种新的CNN+Self-Attention 结构的轻量型主干网络,该主干网络由轻量级网络EfficientNetV2 和协调自注意力机制(coordinate attention,CA)模块构成。
轻量级网络EfficientNetV2 由谷歌在2021 年提出,网络使用NAS 搜索功能探寻输入图片尺寸、网络深度、卷积核大小之间的最优匹配关系,使得模型精确度与推理速度达到最高。EfficientNetV2在浅层网络使用Fused-MBConv 结构,在深层网络使用MBConv 结构。同时加深网络层次,避免因增大卷积核大小带来的感受野减小的问题。MBConv结构和Fused-MBConv结构如图2所示。
图2 MBConv结构和Fused-MBConv结构Fig. 2 Structure of MBConv and Fused-MBConv
CNN 网络中的卷积操作固定了卷积核的大小,导致卷积核的感受野固定,无法关注图像的全局信息。然而,在网络特征提取阶段,即主干网络中添加自注意力机制,通过简单的查询与赋值就能获取到特征图的全局空间信息,提升网络的检测性能。CA自注意力机制[21]将位置信息嵌入通道注意力中,在捕获跨通道的信息的同时还能捕获方向感知和位置感知的信息,增强了图像特征的表达能力。CA自注意力机制结构如图3所示。
图3 CA自注意力机制结构Fig. 3 CA self-attention mechanism structure
CA 自注意力机制由两部分组成:坐标信息嵌入和坐标注意力生成。首先,为了更好地保留目标位置信息,在图像输入CA 结构后使用一对一维特征编码沿着水平方向和竖直方向对每个通道进行编码。因此水平和竖直方向上的第c个通道输出分别如式(1)—(2)所示。
式中:zc为第c个通道输出的编码值;xc(·)为第c个通道的输入特征函数;W和H分别为图像的宽和高;w和h为图像中位于(w,h)点的像素点的坐标值。
然后,将两个方向的特征图进行拼接,并提取中间特征。最后,将特征图沿着水平和竖直方向分为两个张量,经过卷积及激活函数处理后再融合,生成坐标注意力。本文将CA 自注意力机制引入EfficientnetV2主干网络,得到改进后的YOLOv7算法的主干网络如表1所示。
表1 改进后的YOLOv7算法主干网络Tab. 1 Improved YOLOv7 algorithm backbone network
由于CNN 网络通过逐层抽象的方式来提取目标的特征,网络浅层包含图像的位置信息,网络深层多为图像的语义信息,而多尺度特征融合旨在对不同分辨率下的特征进行聚合,结合网络的浅层与深层信息。
YOLOv7 算法所使用的特征融合结构为PANet,通过一个自顶向下和自底向上的双向融合网络将不同层次的特征聚合。但是,由于PANet自身结构的复杂性,在取得较好结果的同时也增加了计算代价。本文为了进一步提升模型的推理速度采用更加高效快速的BiFPN 结构进行特征融合。与PANet 相比,BiFPN 删除了中间层上下两节点,减小了计算量,又添加了跳跃连接,融合了更多的特征。PANet与BiFPN结构如图4所示。
图4 PANet与BiFPN结构Fig. 4 Structures of PANet and BiFPN
为提高网络的精确度、泛化性,在本文使用的输电线路缺陷图像数据集包括由无人机拍摄的真实环境图像和模拟运行环境图像,两类图像各100张。对原始图像采用Labelme 标定地面真实框生成JSON 格式的文件,文件中包含缺陷位置与种类信息。
针对现存输电线路数据集样本数量少、背景单一、人工标注时间长等不足,同时为了增强网络的鲁棒性,保证网络在复杂背景下同样达到可观的精确度,本文提出了一种自动扩充数据集的方法。该方法对数据集进行自动数据增强,即对每一张图像做x方向翻转、y方向翻转、添加椒盐噪声、添加Gauss 噪声、调整图像对比度等操作,再自动扩充图像对应数据标签,无需对扩充后的图像进行人工标定。数据集经过数据增强后图像数量由原来的200张变为3 800张,最终生成符合YOLOv7算法训练要求的COCO 格式数据集,其中训练集与验证集按8:2的比例划分。
本文使用深度学习框架PyTorch 对YOLOv7 算法进行训练,最终生成模型权重文件。训练图像统一尺寸为640×480 px。每轮训练所选取的样本数batch_size 设置为16; 训练过程中首先使用Adamw[22]优化器快速逼近最优解,以减少网络的训练时间,加快优化速度,再使用SGD[23]优化器对模型进行微调,以使得损失函数降到最低。同时,为了进一步加快训练速度、提高精确度,本文使用迁移学习[24]在预训练模型的基础上进行权重更新,生成针对输电导线缺陷检测的模型文件。针对学习率本文使用预热加s余弦退火的方式进行调整。训练轮次为1 000轮,训练时间大约为4.3 h。
为了验证本文提出的基于改进YOLOv7算法的有效性,选择了不同背景下的输电导线作为研究对象,图像实验在Ubuntu16.04 系统下运行,实验平台CPU 为Inter i7-6850 k、内存为64 GB,算法在两块显存12 GB 的TITAN XP 显卡上训练预测,Python 版本为3.8,PyTorch 版本为1.7.0,并采用Pycharm 2021.1.3 软件运行程序。主要实验内容包括不同卷积神经网络算法对缺陷目标的识别精度和速度。同时,为了验证改进改进方法的有效性,实验内容中还包括对YOLOv7算法的消融实验。
为了准确验证算法的优越性,分别对各个模型进行定量分析计算精确度P、帧率NFPS。
精确度P是指预测正确的结果数量占总预测数量的比值,定义如式(3)所示。
式中NTP、NFP分别为正确、错误预测的样本数量。
NFPS帧率是指网络每秒钟可预测的图片数量,NFPS值越大则网络的推理速度越快。
为了验证本文对YOLOv7算法的改进效果,采用消融实验对各个改进方面进行验证。消融实验的训练过程及对比结果分别如图5、表2 所示。验证的标准包括模型的参数量、权重模型的大小、精确度P、帧率NFPS值。其中模型参数量与权重模型大小可以表示网络的轻量级,值越小代表模型越轻量。
表2 消融实验对比结果Tab. 2 Ablation experiment comparison results
图5 模型训练过程图Fig. 5 Model training process diagram
从图5 中可知模型训练轮数和模型精确度的关系。从图5 可以看出,本文使用的所有模型训练轮数均为1 000,并且精确度已经平稳,即已经达到或接近最小损失函数值;未改进的模型1 相较于其他模型的精确度上升速度最快,最先趋于平稳;同时,各模型训练结束后达到的精确度与表2一致。
从表2 中模型1 与模型5 对比可以看出,替换轻量化主干后的YOLOv7 算法推理速度显著提升,提升效率I计算如式(4)所示。
式中:V模型A为改进后模型的推理速度;V模型B为改进前模型的推理速度。
根据式(4)计算可得,模型5较模型1的推理速度提升效率I为59.15%,精确度上涨了2.3%;对比模型1 与模型2、模型5 与模型6 可得,两组的后者均添加CA 模块,在提升精确度P的同时加大了计算代价,导致其帧率降低;而使用BiFPN 进行特征融合的模型3 与模型7,虽然精确度的提升效果没有模型2 与模型6 明显,但是帧率可以达到同主干网络下最高的55.55 和85.47 帧;由模型4 和模型8 可得,同时使用CA 与BiFPN 模块的精确度P可达到同主干网络下的最高,帧率相比初始模型有所提升;此外,通过模型1 与模型8 的对比,充分验证了本文改进方法的有效性,模型精确度与帧率高达97.5%与84.03,较原模型有巨大的提升。综上所述,本文算法具有更加准确的检测能力,整体质量最高,可以实现对输电导线缺陷的实时检测。
为了验证所提算法的优越性,本文将所提算法和单阶段检测算法YOLOv5、SSD[25],双阶段检测算法Faster R-CNN[26]、 Cascade R-CNN[27]及对YOLOv5 算法做同样改进算法做比较。对比试验结果如表3所示。
表3 不同算法对比实验结果Tab. 3 The experimental results of different algorithms
本文所提算法同样为单阶段检测算法,从表3可以看出,用作对比的单阶段检测算法在精确度P上普遍比双阶段低,而帧率要高于双阶段算法;本文算法较上一代YOLOv5及YOLOv5改进算法整体性能提升明显,且改进后的性能提升要高于YOLOv5;Faster R-CNN 和Cascade R-CNN 由于其双阶段检测的特性导致其精确度高推理速度低,而本文算法在单阶段网络的基础上进行创新,使网络能够充分利用各层的特征信息,实现性能效果最优化。
为了直观显示本文算法的先进性,此次实验中分别使用YOLOv7算法和本文算法对现场运行环境下拍摄的输电导线图像进行测试,记录算法正检率、漏检率及检测精度的情况,实验结果如图6 所示。图6(a)、(b)分别为YOLOv7 算法与本文算法检测结果。图中使用红色方框标定缺陷位置,并放置算法推理结果,包括种类名称及检测精度。从实验结果可以看出,本文算法的平均检测精度较YOLOv7 算法提升了约10%。第三组图像在大雾天气的复杂背景下拍摄得到,YOLOv7 算法出现了漏检情况,而本文算法仍能将缺陷准确识别出,检测精度达到了96%,这得益于CA 模块对特征进行了编码,很好地解决了漏检的问题,说明本文算法在复杂背景下仍具有良好的识别精度,表现出了较强的鲁棒性。第一组、第二组图像中均含有多个缺陷,本文算法的识别精度可以达到96%。第4、5组图像的拍摄角度、距离与其他图像不同,导致YOLOv7 算法的检测精度相比图6(a)中其余图像表现较差,而本文算法对多个感受野提取到的特征进行高效融合,第4、5 组图像在图6(b)中的显示的精度同样处于高水准,说明本文算法具有优异的泛化性,对不同情况下拍摄的图像均有较高的检测精度。
图6 算法实际检测效果图Fig. 6 The real test results of algorithm
本文针对现有输电导线缺陷检测模型检测精确度不高,速度慢的问题创新性地提出基于改进YOLOv7 算法的输电导线在线监测与缺陷识别算法,可以在保证检测精度的同时满足输电线路实时巡检的要求。首先,针对现存输电线路数据集样本数量少、背景单一、人工标注时间长等不足,本文提出了一种自动扩充数据集的方法,可以使用少量样本图像进行扩充,节省了标注时间、增大了训练样本,避免了模型训练过程的过拟合现象;然后,提出新的CNN+Self-Attention 结构的轻量型主干网络, 将EfficientnetV2 和CA 模块结合, 替换YOLOv7 算法的主干网络,对目标位置信息进行编码,实现更快更精确的特征提取;最后,为了更好地融合并利用网络浅层和深层信息,同时又进一步提升网络的推理速度,本文使用BiFPN 结构替换PANet 进行特征融合,BiFPN 模块可以将提取到的特征进行快速高效的融合,使输出特征同时含有位置及语义信息。通过对输电导线现场运行图像的实验结果表明本文算法在检测输电导线缺陷任务中的精确度达到了97.5%,检测速度达到了84.03 帧/s,充分展现了其优越的性能,可以运用于实际巡线工作中。