周仿荣,方明,马御棠,潘浩
(1.云南电网有限责任公司电力科学研究院,昆明 650217;2.云南电网有限责任公司,昆明 650051)
随着电网规模的不断扩大,巡线的工作量增加,传统的人工巡检方式成本高,效率低,且实施具有一定的危险性。近年来,国家电网以及各个电力研究机构投入了大量的人力物力进行无人机电力巡检的研究,包括无人机飞控技术以及输电线路巡检航拍图像的目标识别及故障检测技术研究。采用无人机巡检具有低成本、高效率、适应复杂环境的能力更强的优点,能快速采集输电线路的图像和视频信息,大大降低巡线工作的难度和危险性,在输电线路巡检中有着广阔的应用前景[1,2]。基于深度学习的缺陷识别方法能自动对非结构化数据进行有效地分析,利用深度学习算法对巡检采集的图片进行快速处理,实现输电线路设备异常状态的自动检测与识别,这对于提升电网智能化具有重要意义[3]。
无人机通过搭载摄像头采集输电线路的状态信息,但仍需要人工对采集的影像进行辨识。为了进一步提高机巡的自动化程度,许多学者提出了基于图像的输电线路设备和缺陷的识别方法。目前应用于输电线路目标检测的算法大多数需要依赖于人工提取图像特征,再通过Hough 变换、Canny 算子、Gabor 算子等方法来分割出图像中的目标[4-6]。这些算法的效果取决于特征的提取情况,一方面,特征提取是一项复杂的工作,需要很强的专业知识;另一方面,输电线路缺陷繁多,人工提取的特征不足以表达,导致传统算法的检测目标类型单一。一些算法采取了支持向量机、神经网络等浅层学习算法配合预测目标类型[7-9],但仍需要先对图像特征进行提取。
近年来,基于深度学习的机器视觉技术得到了极大的发展,相应的图像目标检测算法也取得了很好的表现。2012 年AlexNet 在图像识别大赛中取得不凡的表现之后,以卷积神经网络(CNN)为核心的深度学习算法成为图像分类和目标检测的主要研究方向[10]。基于深度学习的目标检测算法可分为“双阶法”和“单阶法”,“双阶法”准确率高,代表算法有SPP Net[11]和Faster R-CNN[12];“单阶法”速度快,代表算法有YOLO[13-14]和SSD[15]。“双阶法”在电力系统设备的图像检测中已经有一定的研究[16-18],但仍处于理论研究阶段,且其检测速度慢,不能满足实时检测的需求。而在日常无人机巡检工作中,会产生大量图像和视频数据,这对于目标检测算法的速度要求非常高[3,19]。因此,本文建立基于YOLO 算法的输电线路机巡影像缺陷识别模型,利用实际工程运维中得到的巡检图像进行训练,并通过参数调整提高缺陷检测模型的实际应用能力,能够实现输电线路机巡影像的缺陷实时检测,具有较高的工程实用性。
YOLO 算法直接在输出层回归目标位置和目标类别,实现端到端的训练与检测,这与最初基于区域建议的双阶目标检测方法不同。YOLO v3 增加了多尺度预测,使得网络对于尺寸变化范围大的目标检测能力更强,具有较高的检测速度与识别精度[14]。本文基于YOLO v3模型对输电线路巡检图像中的设备缺陷进行检测与识别,模型框架如图1 所示。
对于任意一张机巡图片,首先将尺寸调整到统一大小,并将图片划分为S×S 个区域,再通过多个卷积层提取图片特征,对于每一个区域,如果一个电力设备缺陷的中心落在这个区域内,则该区域负责预测这个缺陷,随后通过回归调整该设备缺陷的中心位置以及缺陷的大小,模型预测的输出结果为S×S×(B×5+C),即S×S 个区域,每个区域输出B 个不同尺寸的缺陷预测选框的位置和C 个缺陷类型信息,而对于每个缺陷预测选框有4 个坐标值以及1 个置信度值。最后,模型采用极大值抑制以去除重复的选框,最终预测得到巡检图片中实际包含的电力设备缺陷类型及位置。
图1 YOLO v3模型框架
本模型首先将输入的巡检图像按照三个尺度划分检测区域,分别有19×19,38×38,76×76 个检测区域。随后将样本库中获得的9个缺陷先验尺寸按照大小分配给三个尺度的检测区域,即每个区域内有3 个先验缺陷检测锚框。对于每一个尺度的检测区域,如果缺陷的中心落在一个区域内,则该区域就负责预测这个物体,如图2 所示。
图2 目标预测
模型直接对整张输入图片进行特征提取,对大目标和小目标都能实现较好的检测效果。本文采用DarkNet-53 卷积神经网络框架来提取巡检图像的特征,该框架由53 个卷积层组成,每个卷积层后都有带泄露的线性分段函数(Leaky ReLu)作为激活函数以适应非线性情况,其中有5 个卷积核的步长为2,对卷积结果进行上采样得到多尺度的特征图。特征提取模型如图3 所示。
图3 特征提取网络
模型输入一张任意RGB 色彩模式的巡检图像,对于卷积层,第l 个层卷积操作后输出的特征向量可由公式(1)表示:
其中:xil-1为第l-1 层的第i 个特征图,为第j 个卷积核,*表示卷积操作,为偏置项,f(*)表示激活函数,此处选择Leaky ReLu 函数作为卷积层激活函数,即:
本模型不采用池化层,而是在部分卷积层采用步长为2 的卷积核,与这些卷积核进行卷积操作之后,图片的特征向量大小变为原来的1/4,特征向量的深度随着卷积窗口的增加而逐渐加深。
本模型在训练前首先对样本的缺陷大小进行聚类,得到9 个先验锚框,每个尺度的特征图负责检测3 个尺度的锚框。将DarkNet-53 卷积神经网络提取得到的图像特征向量输入到全连接层,由全连接层进行逻辑回归,最终输出维度为N×N×(3×(4+1+20))的预测向量,即对于三个尺度的特征图,每个有N×N 个区域,每个区域3 个预测框的位置信息和置信度以及缺陷类型信息组成一个105 维的特征向量。
1.3.1 缺陷类型预测
本文共设计了20 种设备缺陷类型,每一个框都采用一组20 维的向量来表示缺陷类型,若预测为第n 种缺陷,则向量中的第n 个值为1,其余的值为0。每一个预测框都有一个置信度,包括该区域内有目标的可能性、缺陷类型和IOU 值三个部分,如公式(3):
本模型根据Darknet 网络提取到的特征来判断一个区域内有第l 类故障的可能性为P(Classi),预测区域面积与实际区域面积的交并比为
式中:A 和B 分别表示设备缺陷的实际区域和预测区域的面积,交并比即为预测区域和实际区域的交集与其并集的比值。
为了克服直接预测的不稳定问题,本模型采用相对位置来预测缺陷的位置,即预测缺陷中心相对于区域左上角顶点的偏移来进行定位,如图4。
图4 目标定位方法
中心点位置的学习公式为:
其中,(cx,cy)为区域左上角的位置坐标,(tx,ty)为预测位置与实际位置的偏差。
预测锚框大小的调整公式为:
其中,pw和ph表示先验锚框的大小,tw和th表示预测锚框与实际锚框的大小偏差。
在对锚框参数进行学习时,首先对框内的区域进行一个目标评分得到置信度,若锚框置信度过低则直接忽略该锚框,对于置信度高于0.5 的选框,若相互之间的IOU 较高且预测同一个对象,则只保留置信度最高的锚框进行学习,以提高学习速度。
通过上述步骤将会得到过多的锚框,因此需要进行合理选择以消除重复的锚框。本文选择极大值抑制方法对重复锚框进行消除。首先对置信度过低的锚框进行抑制,这些锚框中很可能不包含需要检测的目标。随后将剩余的选框按照预测缺陷的类别进行分类,对于预测同一类缺陷的目标,首先选择置信度最高的一个,如果其他锚框与之的IOU 高于0.5,则将阈值较低的锚框抑制,低于0.5 则不做处理;再对剩下的未被抑制的锚框重复该操作。循环结束后,剩余的锚框即被认为是最终预测的缺陷目标。
深度学习算法需要通过大量的数据训练来实现较好的检测效果,本章节介绍模型训练过程的主要工作。本文基于DarkNet 深度学习框架搭建仿真模型[20],计算机配置为Ubuntu 14.0操作系统,32 核Xeon CPU,GTX 1080Ti 显卡,64G 内存。
本文利用从某省获得的5000 张巡检图像组成训练样本库,其中4000 张图片组成训练集,另外1000 张图片组成测试集。样本图片按照Pascal VOC 标准[21]进行标准,标记对象包括架空线路缺陷、杆塔缺陷、绝缘子缺陷、金具缺陷,组成一个输电线路典型缺陷的样本库。巡检图像的尺寸不完全一致,考虑到在无人机巡检过程中拍摄目标往往会位于图片中间位置,为了避免尺寸不一导致图像的压缩和形变,方便模型进行统一的数据处理,本文将训练图片从中心剪裁至3:2 大小并调整像素为4800×3200,去除边缘的无关部分。
本文利用聚类算法得到缺陷的先验尺寸。模型的初始参数对于训练收敛速度和训练效果具有十分明显的影响,一个好的初始值能加快模型的收敛。本文对样本图像进行分析,发现不同图片中故障的形态虽然有较大差异,但同一类故障的大小却很接近,比如绝缘子故障和杆塔故障普遍尺寸较大,导线故障的区域较小等。因此本文对缺陷大小使用k 聚类,得到9个聚类中心。这9 个聚类中心的值作为缺陷检测模型的先验锚框的尺寸,使得锚框的选择能够更好的匹配输电线路中缺陷的尺寸,加快模型的收敛,提高缺陷检测的精度。
表1 先验尺寸大小
本模型的损失函数由三部分组成:坐标损失函数、类别损失函数、置信度损失函数,对三个尺度的预测结果分别进行计算,最后相加得到整个网络的损失函数。坐标损失函数表示为:
类别损失函数为:
置信度损失函数为:
其中,S2表示网格区域数,B 表示每个区域内的锚框数,表示若区域i 中的第j 个锚框负责预测目标则为1,否则为0,则相反。
通过对巡检图像进行分析发现,大部分图像上只存在不超过四处缺陷,而每张图片产生的网格区域数量则远大于缺陷数量,因此本文通过参数λnoobj来调整有目标的区域和没有目标的区域的损失权重,经过实验,本文选择权重λnoobj=0.1。
在模型的设计中,缺陷类型有20 类,而坐标参数只有4 个,若直接相加则会导致坐标参数对损失函数的影响太小。为了增加位置坐标对损失函数的影响以加快收敛,本文为坐标损失函数增加权重λcoord=5。最终的损失函数表示为:
本章节基于YOLO 算法在输电线路巡检图像数据集上进行仿真试验,并与其他深度学习算法进行性能比较,探究YOLO 算法在输电线路巡检应用的优势与不足。
本文采用的数据集可分为训练集和测试集两个部分,各自包含的故障类型与对应的数量如表2 所示。
表2 缺陷数量统计结果
训练集中,四类故障所占的比例分别为33.29%、25.69%、21.90%、19.12%;测试集中,四类故障所占的比例分别为32.29%、27.27%、23.10%、17.34%。从统计结果可以看到,四类故障的数量相当,能够较好的满足模型训练和测试的需求。
本文采用查全率(recall)、查准率(precise)和平均精度(map) 来对输电线路缺陷检测模型的检测效果进行评价。
查全率是指正确检测出的目标占所有需要检测出的目标的比例。对于任意一个置信度高于设定阈值的检测框,如果与某一标记目标的交并比大于0.5,且预测的类别与该目标相符,则认为检测的目标正确。统计所有检测正确检测框的数量记为NTP,实际需要检测的目标数量为NG,查全率的计算公式为:
同样,记所有置信度满足要求的检测框数量为ND,查准率的计算公式为:
平均精度结合查全率和查准率,通常情况下作为一个更全面的指标来评价一个模型的好坏。
本文使用训练好的模型对实际运维中采集得到的巡检图像进行缺陷定位与识别试验,当预测目标与实际目标的交并比大于0.5 时,认为预测准确。本文训练了目前效果较好的几个模型来作为对比,实验结果如表3 所示。
从实验结果可以看出,单阶法的SSD 和YOLO v3 虽然在性能上稍差于双阶法的Faster RCNN,但在计算速度上有着明显的优势,YOLO v3 的预测所需时间仅为Faster RCNN 的1/9 左右。经过改进后的YOLO v3 模型在输电线路巡检图像上的性能也有了很大提高,其查准率已经远超过Faster RCNN 模型的查准率,查全率也相差不多,但仍保持着单阶法在速度上的优势。
表3 模型效果对比
目前,应用于输电线路缺陷检测的目标检测算法主要为Faster RCNN 等方法,这些方法的识别精度较高,但检测速度较慢,无法实现无人机巡检中产生的大量视频数据进行识别。本文提出基于YOLO v3 的输电线路缺陷快速检测方法,其检测速度接近50 帧每秒,能够满足视频检测的需求。同时,在本文的数据集中,基于YOLO v3 的输电线路缺陷快速检测方法实现了78.2% 的检出率,仅比基于Faster RCNN 的检测方法低5.4%。因此,本文认为基于YOLO v3 的输电线路检测方法可以弥补Faster RCNN算法的不足,实现基于视频图像的输电线路缺陷快速检测。