丁 建, 黄陆明, 朱迪锋, 曹浩楠
(国网浙江省电力有限公司检修分公司, 浙江 杭州 311200)
为了确保国家电力能源供给的稳定可靠,以特高压技术为代表的新一代高能效、远距离、智能化电网新型基础设施建设,已成为未来我国发展的重要方向。输电设备的高频次、高精度巡检技术是电网智能化应用优先发展的方向之一。由于我国幅员辽阔,目前在电力的远距离传输过程中由鸟类活动引起的重大电力故障时有发生[1]。常见鸟害导致的典型故障包括鸟类直接触电短路、鸟类筑巢活动导致的短路以及鸟粪覆盖绝缘器件引起的闪络等[2]。分析故障原因,鸟类的筑巢习性导致大量鸟类长期活动在电力塔架及线路附近,这给长距离输电埋下了重大隐患。
为了避免鸟类筑巢引起的故障,输电的运行与维护规范要求电力检修部门指派巡检员定期对固定线路进行人工巡线检查[3]。由于电力高空塔架常架设于地形复杂且位置偏僻的森林及山区,而鸟类筑巢又常位于塔顶及塔架等不易观测的角落位置,这导致人工巡线对鸟巢检测的成本高且效率低。近年来,高空塔架的常规巡检已逐步摆脱人工方式,基于无人机视频的巡检方式极大地改善了电力巡检作业的难度[4]。目前,基于无人机巡检视频的智能故障检测与识别技术已成为推动智能电网应用的研究热点[5]。受光照条件、拍照角度、拍摄距离、巡线飞行速度以及复杂地形背景的影响,基于无人机巡检视频的相关自动检测仍面临检测算法精度与鲁棒性的挑战。
由于无人机巡检过程中成像端与目标物的距离随拍摄机位变化而变化,故鸟巢部分细节特征随距离变化表现出不同的尺度特征,如图1所示。为了对高空塔架存在的鸟巢进行准确检测,本文提出一种双尺度YOLOv3(you only look once)网络的无人机视频学习方法,实现了对电力塔架鸟巢的高精度自动检测。该算法的特点在于,先采用较大尺度图像进行较远距离的鸟巢预检测,进而采用较小尺度图像对预检测所得目标进行二次细节判断,以得到最终的鸟巢检测结果。由于采用双尺度学习,该方法在训练阶段采用两种尺度的图像分别模拟场景中目标的深度变化(即鸟巢较远以及较近的拍摄结果)。在此基础上,本文采用YOLOv3网络实现了基于视频图像序列的高空塔架鸟巢目标的高精度检测。相较于常规算法,本文所提方法能够有效平衡鸟巢检测算法的精度与效率。
图1 无人机巡检鸟害示意图Fig.1 Birds damage inspection by UAV
针对鸟巢检测问题,段旺旺等[6]通过对关键区域HOG特征的计算,实现了对铁路接触网鸟巢的检测。祝振敏和谢亮凯[7]基于相对位置不变性对鸟巢进行了检测和定位。徐晶等[8]依据HSV颜色特征对候选区域进行判定,进而采用灰度方差和惯性矩特征进行鸟巢目标检测。张义莲等[9]采用由粗到精的搜索策略进一步提高了鸟巢检测精度。为了解决塔架遮挡问题,蔡炜等[10]对塔架塔杆进行建模,并以Hough算法检测图像中的塔杆,最终采用灰度共生矩阵纹理特征对鸟巢进行定位。受到自然场景复杂纹理、光照、遮挡以及成像质量等问题的影响,此类基于传统图像特征的方法虽能在特定条件下实现对鸟巢的检测和定位,但是此类方法的准确性和泛用性存在一定局限,其问题的本质是特定传统图像特征对复杂场景中鸟巢可区分性特征的提取与描述能力不足。
随着深度学习技术的兴起与发展,深度学习技术与计算机视觉技术逐渐融合,并已取得了较多前沿成果,鸟巢目标检测领域也不例外。基于双判别器对抗生成网络,金炜东等[11]采用半监督学习方法实现了对鸟巢目标的有效检测。王纪武等[12]改进了Faster R-CNN的特征提取与特征增强模块,实现了不同尺度下高压塔鸟巢的较高精度检测。刘国文等[13]通过改进RetinaNet模型对鸟巢进行检测识别。路艳巧等[14]提出一种基于边缘计算和深度学习的输电线异物检测方法,该方法无需将无人机数据传回服务器,直接在边缘设备上通过改进的深度学习网络实现对异物目标的高效检测。杨波等[15]采用K-means方法对标记样本进行相似性距离度量以改进锚点精度,这进一步提高了YOLO网络对鸟巢的检测精度。钟映春等[16]改进了YOLOv3网络的鸟巢检测方法,进一步提高了鸟巢的检测精度,并降低了网络参数规模。上述基于深度学习网络的鸟巢检测研究均取得了较大进展,但由于视频图像尺度随无人机拍摄机位变化明显,若要同时兼顾精度和效率,现有算法仍有待改进。
受限于训练数据的可获取性以及模型深度问题,支持向量机 (supported vector machine, SVM)[17]、AdaBoost(adaptive boosting)[18]、DPM (deformable part-based model)[19]等浅层机器学习方法难以突破大规模数据目标识别的精度瓶颈。随着深度学习方法的兴起[20,21],依靠深层网络的优势,深度学习方法对目标物复杂特征的提取与描述逐渐脱离了人工设计模式,此后卷积神经网络CNN (convolutional neural network)、R-CNN(Region-CNN)、faster R-CNN等一系列基于图像区域的目标特征学习与检测网络突破了传统浅层学习的精度瓶颈[22]。近年来,YOLO网络将目标检测问题转化为回归问题,并能够采用整图输入的训练方式一次预测多个目标区域的位置和类别[23]。YOLOv3仍采用端到端的方式,并在YOLO基础上强化了对中小型目标及部分被遮挡目标的检测与识别。
本文以YOLOv3网络为基本框架,采用双尺度图片作为输入进行训练,以便较好地平衡鸟巢目标的检测精度与效率。本文的主要贡献:①构建了针对高空塔架无人机视频的鸟巢检测YOLOv3网络及其应用框架;②为了兼顾算法的精度与效率,本文采用双尺度图像作为YOLOv3的图像输入,以实现重点区域的重点检测。本文的总体处理框架如图2所示。
图2 本文总体处理框架Fig.2 Overview of the proposed processing pipeline
随着成像技术的发展,无人机巡检已普遍实现了远距离高分辨率观测。对于特定目标,不同距离的观测结果存在尺度差异,因此目标的特征也不同,尺度空间差异明显。对于存在大量尺度变化的图像数据集,目标检测算法的精度往往受到较大影响。针对尺度变化问题,通过分析无人机巡检视频,发现其中的尺度变化存在明显的连续性,且鸟巢在近景和远景状态的可分辨性不同。因此,为了提高检测算法精度,本文构建了无人机视频的双尺度空间。
同一目标的纹理细节在不同尺度上差异明显。采用可变尺度的二维高斯核函数G(x,y,σ)对视频Vi(x,y)进行卷积操作,以获得不同尺度的图像结果:
Li(x,y,σ)=G(x,y,σ)⊗Vi(x,y)
(1)
式中:(x,y)为图像坐标;i为视频中的图像帧号;⊗表示卷积操作。其中二维高斯核函数为:
(2)
依据图像多尺度理论[24],采用上述公式建立高斯差分金字塔,σ为邻近尺度的高斯平滑因子。在此基础上,本文建立视频的高斯差分双尺度空间:
Di(x,y,σ)=Li(x,y,kσ)-Li(x,y,σ)
(3)
在高斯差分尺度空间,一组
YOLOv3网络采用三种不同尺度(大中小尺度)对目标的分类进行预测,网络最终输出同样也分为三个尺度1/32、1/16、1/8。当尺度越大,代表该尺度下的特征感受野越大。因此,上述三个尺度依次对大、中、小尺度目标进行检测。为了兼顾不同尺度图像下鸟巢特征的检测效率与精度,本文在无人机视频的
目前,无人机巡检视频的分辨率普遍高于1 920×1 080像素,即使在具有较高计算性能的通用平台上(如GTX2080Ti计算卡),YOLOv3网络在处理多目标任务时效率也常低于10fps。为此,本文提出双尺度YOLOv3检测网络。首先,在4×降采样的图像帧上采用一个YOLOv3网络进行预检测,其结果不直接输出。依据第一个YOLOv3网络检测结果,将疑似区域所对应的1×原始高分辨率图像区域作为第二个YOLOv3网络的输入。在对目标区域进行二次检测后,双尺度下的最终检测结果由联合判别函数得到。改进的网络结构如图3所示(图中Conv代表网络的卷积操作,Stride为步长,Concat代表连接操作)。图3中检测部分的具体实现如表1所示。
表1 YOLOv3网络结构Tab.1 Structure details of YOLOv3 network
图3 双尺度YOLOv3网络结构图Fig.3 Structure of the proposed dual-scale YOLOv3 network
对于巡检视频的
无人机巡检视频拍摄过程中不可避免地会受到强光、逆光、反射以及水汽等因素的影响,所拍摄数据的平均亮度、对比度与图像细节存在较大差异。由于鸟巢目标具有较强的纹理特征,传统图像特征检测方法(如HOG特征、灰度共生矩阵、灰度方差和惯性矩等)常采用相应的预处理来增强待检测数据[6-8]。借鉴此类方法的思想,本文也对输入数据进行高通滤波梯度增强处理,增强后的网络输入F(u,v)可由空域高通滤波得到:
(4)
其中,V(x,y)代表视频中坐标为(x,y)的像素位置;H(u-x+1,v-y+1)为冲激响应;m和k分别表示水平和垂直方向的高通滤波器半径。本文采用归一化的冲激响应矩阵算子:
(5)
(6)
由此,通过对不同尺度检测结果投票策略进行联合判别,得到最终的鸟巢检测结果:
(7)
其中d(·)为网络检测操作。通过FScore判断,如果投票过半,则认为鸟巢存在,反之则判定为无鸟巢。
本文通过手动截取真实高空塔架巡检视频中包含鸟巢的1 500张图像以及不含鸟巢的1 500张图像用于构建检测实验数据集。为了对鸟巢目标进行准确定位和标注,本文采用LabelImg标注工具对包含鸟巢图像的鸟巢目标和位置进行截取和人工标注,如图4所示。在包含鸟巢和不包含鸟巢的数据中,本文选取其中80%作为双尺度YOLOv3网络的训练数据,另外20%作为测试数据。
图4 部分鸟巢检测的训练数据Fig.4 Partial training datasets of bird’s nest
对数据集进行整理和标注后,训练数据集的每组图像由一个标记图像和其在对应图像中的位置及.txt文件构成。为了加速训练的收敛速度,本文从训练数据集中选取50组典型数据作为验证数据。
为了扩大鸟巢训练数据的样本量,使之覆盖更广的样本空间,本文分别采用对图像旋转90°、180°和270°,水平和垂直翻转,亮度直方图调整和图像加噪7种操作,对训练数据进行增广。由此,包含和不含鸟巢的图像训练集(各1 200张)在增广后样本量分别扩大为原来的8倍,为各9 600张图像。需要注意的是,测试数据集无需进行增广操作,因此,其数量仍为整体样本量的20%,即包含和不含鸟巢的图像测试集各含300张图像。
本文高空塔架上的鸟巢检测问题本质上是二分类问题。针对YOLOv3网络,经典的交叉熵损失函数可以表示为:
(8)
(9)
其中,Pi(I_pst)表示第i帧图像I_pst为有鸟巢图像的概率;M代表视频帧数;label表示是否有鸟巢,label=1表示有鸟巢,label=-1表示无鸟巢。由式(8)可知,当目标物为鸟巢时,交叉熵计算结果接近1,反之则接近-1。
为了加速双尺度YOLOv3网络的收敛,本文先对单一的YOLOv3网络进行预训练。当YOLOv3网络收敛后,采用预训练网络模型作为双尺度YOLOv3网络的初值,再进行双尺度YOLO网络的联合训练。本文的双尺度网络训练可大致分为以下三个步骤:
1) 对单一鸟巢检测YOLOv3网络进行预训练,得到鸟巢检测YOLOv3模型初值;
2) 搭建双尺度YOLOv3网络,将第一个YOLOv3网络的输出所对应的高分辨率图像区域作为第二个YOLOv3网络的输入;
3) 加载步骤1)中预训练网络的参数,作为双尺度YOLOv3网络两部分的初值,再次采用增广后的已标注数据对网络进行训练,直至收敛。
相较于直接采用随机初值进行双尺度网络联合训练,采用上述训练方法能够更快获得更优的收敛效果。
本实验采用Window10平台,处理器Intel i7-8700,内存16GB,深度学习基本框架为YOLOv3的Darknet-53网络,计算设备为Nvidia GTX-1080Ti显存11GB。单一YOLOv3网络训练时,学习率初始值设置为0.001,每1 000次循环后衰减为前一次学习率的50%。双尺度YOLOv3网络学习率初始值设置为0.000 1,循环衰减与上述相同。网络训练的收敛曲线如图5所示。
图5 模型训练的收敛曲线Fig.5 Loss convergence of the model training process
由图可见,单一YOLOv3模型在训练150次后即快速收敛,而双尺度YOLOv3模型的收敛速率相对较低,循环300次后才逐渐趋于收敛。
为了对本文算法的鸟巢检测精度进行分析,设正确地检测出存在鸟巢的样本数为True Positive(TP)、正确地检测出不存在鸟巢的样本数为True Negative(TN);反之,错误地检测出存在鸟巢的样本数为False Positive(FP),错误地检测出不存在鸟巢的样本数为False Negative(FN)。实验中采用召回率(Recall)和准确率(Precision)作为评价指标,其计算公式为:
Recall=TP/(TP+FN)
(10)
Precision=TP/(TP+FP)
(11)
在本实验的测试数据集上,将本文算法的召回率和准确率与纹理特征检测算法[10]、传统CNN算法[19]以及单一尺度YOLOv3算法[15]进行对比,如表2所示。由表2可知,本文方法的准确率和召回率均优于其他算法;纹理特征检测算法能够取得较高的准确率,但是召回率较低;与单一尺度YOLOv3方法相比,本文方法在准确率上的提升更为显著。
为了测试不同算法的抗干扰性能,给图像中分别加入方差为0.01的高斯噪声(噪声1)和方差为0.03的斑点噪声(噪声2),检测结果如表2后四行所示。在加入噪声的数据集上,本文方法的性能明显优于对比算法。在图像分辨率为5 472×3 078像素的数据集上,统计不同鸟巢检测算法的训练时间和检测时间,如表3所示。
表2 各算法准确率和召回率对比Tab.2 Comparison of precision and recall
表3 各算法运行效率对比Tab.3 Runtime comparison
从计算性能角度分析,CNN网络的计算效率最高,本文由于采用了双尺度YOLOv3网络,故所需的训练时间较长,由于检测过程中首先要在较大尺度图像上进行预检测,故最终网络计算时间低于传统YOLOv3网络。由表3可知,非深度学习的纹理特征法[10]其计算效率显著低于深度学习类方法,这是由于深度学习类方法均采用GPU平台进行运算,而GPU基于大流量处理器的并行计算性能显著优于普通CPU平台。
如图6所示,本文所提方法能对高空塔架存在的鸟巢进行准确检测和定位,在鸟巢受到局部遮挡的情况下,本文方法同样能够获得高精度的鸟巢检测结果。目前,受限于鸟巢检测样本集的大小,本文算法的测试数据集较小,且采样地区的地形地貌较为接近,均以农田、城镇及路网为背景,更多复杂的背景环境将会给算法带来更大挑战。
图6 存在局部遮挡情况下的鸟巢检测结果Fig.6 Bird’s nest inspection results in partial occlusion
本文提出一种输入不同尺度图像的双尺度YOLOv3网络用于鸟巢检测,其特点在于兼顾了检测算法的精度和效率,并具有较强的抗噪声性能。在真实巡检数据集上,本文算法的测试结果在召回率上具有明显优势,同时也具有较高的准确率。目前,该算法仍未达到对鸟巢的实时检测要求,且受限于小样本测试数据集,该算法在更多复杂背景下的泛用性仍有待进一步测试。