APP下载

基于YOLOv5的电力巡检图像缺陷识别研究

2022-11-02博1鲍志远2杨明坤3张凌浩1孙小毛

四川电力技术 2022年5期
关键词:锚框类别样本

庞 博1,鲍志远2,杨明坤3,张凌浩1,孙小毛,胡 强

(1. 国网四川省电力公司电力科学研究院,四川 成都 610041;2. 清华大学,北京 100084;3. 国网四川省电力公司乐山供电公司,四川 乐山 614099;4. 清华四川能源互联网研究院氢能系统与转化研究所,四川 成都 610299)

0 引 言

随着人工智能技术的飞速发展,越来越多的行业引进人工智能技术,电力行业也不例外[1]。国家电网积极响应国务院印发的《新一代人工智能发展规划》的号召,紧跟科技发展的步伐,逐步扩大人工智能在电网中的应用范围。

输电系统中有大量电力设备长期在户外运行,受外界自然环境影响较大,易出现裂化、老化、腐蚀、破损等诸多缺陷,传统的电力巡检采用直升机或无人机航拍的方式,将采集的电力图像数据传回处理中心由相关工作人员进行人工识别处理。这些缺陷大部分为表面缺陷,通过采集可见光图像和对图像的处理和识别,能够有效地发现电力设备的表面缺陷。

传统的巡检图片处理方法是基于图像学的方法,可在一定程度上减轻人工压力,但是由于传统的图像学方法速度较慢、精度较低,在故障巡检领域难以实际应用。与传统方法不同,基于深度学习的目标检测方法利用卷积神经网络(convolutional neural network, CNN)来感知感受视野范围内的图像。随着网络深度增加,不断扩大的感受视野范围在大型图像的识别上有出色表现。

基于深度学习的目标检测模型主要分为一阶段和两阶段模型,两阶段包括:1)选择检测框;2)对选框中的内容进行分类。而一阶段模型中,直接将检测框选择和内容分类都当作回归问题一起完成。

区域卷积神经网络(regions with CNN features,R-CNN)[2]是最早的深度学习目标检测模型,其中选框阶段使用传统图形学方法,即 Selective Search[3],特征提取使用CNN网络,分类使用支持向量机(support vector machine,SVM)分类。随着深度学习目标检测领域不断的创新,Fast R-CNN[4]、Faster R-CNN[5]等二阶段网络的出现,显著改善了目标检测效果;一阶段模型包括SSD[6]、YOLO[7]等也纷纷出现,极大提升了检测速度;用于目标检测的神经网络特征金字塔(feature pyramid network, FPN[8])结构等开始应用于最新网络。基于深度学习的目标检测在检测精度和检测速度上已经远超传统图形学方法。

在实际应用方面,国家电网公司于2018年开展了多旋翼无人机和直升机电力巡检航拍图像人工智能处理技术验证。对电网常见的8~9种缺陷进行识别,取得了30%~89%的识别准确率,但在航拍图像现场验证工作中,因为图像数据未经遴选,且大部分是正样本,导致识别准确率只有10%~30%。目前,实现电力缺陷目标检测与分割方法,都存在着以下问题:

1)单一的模型只能识别有限几种典型的缺陷,对于电网接近500种不同类型的缺陷来说还远远不够。目前公开的电力数据集规模都比较小,单个数据集包含的缺陷类型十分有限,从而导致检测种类较少。

2)模型的泛化能力差,难应用于工程实际。电力系统构建在野外地区,图像背景十分复杂是其泛化能力差的主要原因之一。

下面使用输电线路巡检的图像数据,以YOLOv5模型为主体,研究“分别训练、统一推断”方法的效果,进一步提高模型的识别精度。

1 YOLO算法

YOLO与SSD是两种最为典型的单阶段目标检测算法。YOLO[7]是第一种公开发表的单阶段目标检测算法,相比当时主流的R-CNN等模型。虽然在准确度上有一定的差距,但极大地提升了目标检测的效率,推动了工业界对基于深度学习的目标检测算法的应用。与YOLO同时间提出的单阶段目标检测模型SSD[6],则是利用卷积而不是全连接层来提取检测结果。接下来,研究者在YOLO网络的基础上做了更多的改进,提出了YOLOv2、YOLOv3、YOLOv4、YOLOv5[9—11]。这些模型的主要改进点分别为:YOLOv2 尝试了当时多种流行的技巧,如批标准化技术和锚框机制;YOLOv3将特征提取网络替换为darknet-53,并使用不同大小的锚框;YOLOv4将激活函数替换为 Mish 激活函数;YOLOv5在之前版本的基础上,利用新的LOSS函数和瓶颈结构进一步提升了算法的识别精度。目前,YOLOv5 作为一个应用较为广泛的算法模型,实现了识别精度和识别速度的平衡,相较于其他网络更为适合电网巡检场景下的缺陷图像目标检测。

2 数据清洗与整理

如图1输电分类别数量统计柱状、目标区域大小统计所示,通过观察原数据,发现原始的输电数据中类别数量、尺寸差距十分悬殊。

图1 输电分类别数量统计柱状、目标区域大小统计

如果直接用一个模型进行训练,可能会因为检测目标尺度差异、样本数量差异,使得检测结果不佳。如图2标注图所示,标注存在部分标注的情况,也即是图像总是分类别标注的,标注总是“部分”的,这也给直接训练带来难度。

图2 标注

解决方法是,将训练图片分成多个类别用多个模型分别进行训练,统一进行推断。对包含的输电线路数据进行整理和统计,可以得到如表1的输电线路数据,其中有颜色代表最终使用的类别,白色是因为数量、标注质量等问题而剔除的类别。

表1 训练数据集统计信息

(续)

(续)

通过剔除数量较低、标注质量较差的类别,融合数量较少、难以区分的多个类别,得到以下大类:

1)大尺寸: 包含防震锤、悬锤、线夹,3类正常6类缺陷,共9类。

2)均压环:正常与异常共2类。

3)绝缘子:自爆和污秽共2类。

4)鸟窝: 存在鸟窝共1类。

5)小金具:正常与异常共2类。

具体的类别统计信息如表2—表6所示。

表2 整理后新类别——大尺寸

表3 整理后新类别——均压环

表4 整理后新类别——绝缘子

表5 整理后新类别——鸟窝等杆塔异物

表6 整理后新类别——小金具

3 评价指标

基于深度学习的目标检测常用的评价指标为精确率P(Precision)和召回率R(Recall),如式(1)所示。

(1)

式中:TP为正样本被判定为正样本的个数;FP为负样本判定为正样本的个数;FN为正样本被判定为负样本的个数。不同的判定阈值可以得到不同的精确率和召回率,进而绘制P-R曲线。

4 模型训练与分析

4.1 数据增强

在训练模型时,一般来说小目标的平均精度(average precision,AP)比中目标和大目标低很多。而数据集中也包含大量的小目标,但比较麻烦的是小目标的分布并不均匀。

针对上述状况,在YOLOv5中使用了 Mosaic 数据增强方法,Mosaic 数据增强的流程如图3所示。利用随机裁剪和缩放后的图像进行随机拼接,生成新的数据,在丰富了数据集的同时也变相地增加了小样本目标的数量。也因为会同时计算4张图片的数据,对计算内存的需求也因此降低。Mosaic 数据增强后的样本如图4所示。

图3 Mosaic数据增强流程

图4 Mosaic 数据增强后样本

4.2 图片处理

在网络训练中,网络在预设的锚框上进行预测,并将预测的结果与标签进行差值计算,得到损失后反向更新网络的整体参数。所以自适应锚框计算也是重要的一部分,需要在数据集上初始设定锚框。

在模型中设置锚框,第一个YOLO层是最大的特征图尺寸为40×40,对应最小的锚框。第二个YOLO层是中等的特征图尺寸为20×20,对应中等的锚框。第三个YOLO层是最小的特征图尺寸为10×10,对应最大的锚框。

同时,YOLOv5采用了跨网格匹配规则,增加正样本锚框数目的做法:对于任何一个输出层,YOLOv5采用形状(shape)匹配规则,计算标签框和当前层的锚框的宽高比。如果宽高比大于设定的阈值说明该锚框没有合适的标签框,在该预测层之间将这些锚框当背景过滤掉。对于剩下的锚框,计算其落在哪个网格内,同时利用四舍五入规则,找出最近的2个网格,将这3个网格都认为是负责预测该锚框的。

YOLOv5增加正样本的方法,最多可增大到原来的3倍,大大增加了正样本的数量,加速了模型的收敛。

4.3 损失函数

原始YOLOv5 损失函数Lobject如式(2) 所示,由 3 部分构成,其中置信度损失Lconf和类别损失Lclass采用二元交叉熵损失函数进行计算。

Lobject=Lloc+Lconf+Lclass
Lloc=1-CIoU

(2)

式中:CIoU为目标框回归的损失函数。CIoU综合考虑了真实框与预测框之间的重叠率、中心点距离、长宽比等各项参数的综合损失,显著提高了网络学习的能力。其计算式如式(3)所示。

(3)

式中:Do2为框A和框B的中心点距离;Dc2为框A和框B的最小包围矩形的对角线长;v为衡量长宽比一致性的参数,可以定义为式(4)。

(4)

式中:wgt、wp、hgt、hp分别为真实框和预测框的宽度和高度。

4.4 NMS处理

在目标检测的后处理过程中,针对很多目标框的筛选,通常需要非极大值抑制(non maximum suppression,NMS)操作。

选择DIOU_NMS作为目标框筛选。因为在测试过程中,并没有标签框的信息,不用考虑影响因子,因此直接用DIOU_NMS即可。图5和图6分别为网络输出的所有候选框和筛选后的候选框。

图5 所有选框与置信度信息

图6 NMS后删除多余框输出

4.5 实验环境

实验环境使用 CentOS7 x64 操作系统,使用Tesla T4 显卡进行运算,显存大小为16 GB,采用Pytorch深度学习开发框架进行模型的开发和训练。

4.6 结果分析

在数据清洗与整理环节中,整理出输电数据集包含20 000张图片,用于YOLOv5模型的训练与测试。将数据集随机分为训练集和测试集,其中训练集14 000张图片,测试集6000张图片。使用YOLOv5模型分别对所有的类别同时进行训练和对5个类别分别进行训练,对两种训练方式进行对比。

由于存在“部分标注”“尺度区别过大”等问题,未处理数据前的训练结果并不好。同时,因为目标检测模型里,主干特征提取部分所提取到的特征是通用的,把backbone冻结起来训练可以加快训练效率,也可以防止权值被破坏。因此,数据分类处理后,冻结backbone层,采用“分别训练、统一推断”的方法,可以提升准确度。AP均值、准确率、召回率对比结果见表7所示。表7中,mAP_0.5表示IoU为0.5时,所有类别的AP均值;mAP_0.5∶0.95表示IoU从0.5到0.95,步长力0.05时所有类别的AP均值。

表7 AP均值、准确率、召回率对比

从表7中可以看出,对数据进行分类处理后,除小金具类别的mAP_0.5∶0.95有所下降外,绝大部分目标检测效果提升明显,大尺寸、鸟窝、绝缘子、均压环4个类别的mAP_0.5、mAP_0.5∶0.95、准确率、召回率较数据处理前均较大提升。

5 结 论

上面使用输电线路现场采集到的图像数据,经数据分类处理后,冻结backbone层,采用“分别训练、统一推断”的方法训练网络模型。实验结果表明,利用“分别训练、统一推断”的方法在大尺寸、鸟窝、绝缘子的缺陷类别中,基于YOLOv5的目标检测算法对输电线路巡检图像的缺陷识别效果较好,可以解决实际应用中的问题,在一些小尺寸缺陷识别任务中,识别的精度有待提高。

猜你喜欢

锚框类别样本
基于YOLOv3锚框优化的侧扫声呐图像目标检测
锚框策略匹配的SSD飞机遥感图像目标检测
基于SSD算法的轻量化仪器表盘检测算法*
基于GA-RoI Transformer的遥感图像任意方向目标检测
用样本估计总体复习点拨
推动医改的“直销样本”
壮字喃字同形字的三种类别及简要分析
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本
服务类别