徐鹏雷,杨文刚
(1.广东电网有限责任公司惠州供电局,广东惠州 516000;2.华北电力大学,河北保定 071000)
随着电网规模的不断扩张,近年来鸟类对线路杆塔与输电线路的影响逐年递增[1-3]。机巡作为防止鸟害的重要手段,将产生大量的图片与视频数据,这些数据具有量大、增长速率快、价值密度低[4-5]等特征。人工处理数据时存在效率低下,筛选结果主观性、模糊性过强,信息不完全等问题[6-7],无法满足输电线路的日常运维需求。随着机巡[8-10]与目标检测技术的迅速发展,将目标检测技术用于检测鸟巢可以提高巡检的效率、智能性与可靠性,从而实现对机巡图片中鸟巢的精准识别与自动化巡检[11]。目前目标检测技术普遍精度、速度不足[12],所以研究一种效率更高的目标检测算法很有必要。
基于机器学习的图像处理[13-14]通过人为设置阈值、算子等参数提取图片特征进行检测。徐晶[15]提出利用图像中鸟巢特殊的颜色纹理、形状外观等判断是否存在鸟巢。但由于鸟巢与草丛、灌木等物的特征类似,导致错误识别率高。文献[16]在鸟巢检测时利用霍夫变换提取树枝以及绝缘子的边缘特征,得到枝条的方向直方图与长度直方图,然后将两类直方图信息输入支持向量机(Support Vector Machines,SVM)进行训练。师飘[17]在其基础上进一步分析输电线路鸟巢图片,提取了直方图特征,聚类分析后使用分类器进行无监督检测。祝振敏等[18]在进行鸟巢检测时提取了鸟巢图像边缘特征,使用概率Hough 变化直线检测方法对鸟巢的角度进行变换,通过对图像进行二值化处理后统计硬横梁之间的白色区域,从而判断是否存在鸟巢。彭闯[19]在处理无人机线路巡检图像时使用双边滤波算法对图片进行消噪与增强,提取图像的尺度不变特征(Scale-invariant Feature Transform,SIFT)特征,转化为高维向量后采用SVM 分类器完成绝缘子串的识别。
随着硬件与技术的发展,神经网络的层数与复杂程度得到提高,机器学习也逐渐从浅层学习到深层学习过度[20]。倪晨[21]在数据增强后通过调整基于区域的更快速卷积网络(Faster Region-based Convolutional Network,Faster R-CNN)的网络参数与改进区域生成网络(Region Proposal Network,RPN)网络的方法提高检测效果。张鸥[22]分析网络参数对识别结果的影响,使用深度学习网络对输电线路中电力小部件进行了识别,达到了每张图片80 ms 的识别速度和92.7%的准确率。刘欢[23]在检测图片时先进行图像增强与数据集扩充,其方法与二阶段检测网络类似,得到若干候选框后将其送入网络进行训练,获取预测结果。许志军[24]结合单目标窗口监测器网络与批规范化操作提高网络的训练速度,使用非极大值抑制等方法优化网络,最终得到的识别效果比Faster R-CNN 网络单次训练时间缩短0.39 s。
综上所述,基于机器学习的目标检测算法相对基于深度学习的目标检测算法,具有对图片数量无要求的优点,但存在图片处理速度慢、精度低、速度不足、局限性大等弊端。在处理背景复杂且存在遮挡的机巡图片时,往往不能满足巡视需求。基于深度学习的检测方法中,多数文献采用图像增强后调整网络超参数,并在网络中添加某些优化操作的方法提高精度,并未针对特定目标设计网络结构。多数论文只考虑提高精度与速度,并未结合机巡背景的硬件限制考虑模型的大小。因此,本文通过分析输电线路鸟巢这一目标改进网络结构,并基于“只看一眼”网络(You Only Look Once,YOLO)构建目标检测网络,得到精度更高,模型更小的输电线路鸟巢检测专用网络。
传统YOLO 目标检测网络的骨干网络[25]层数多,导致模型较大、计算速度慢;瓶颈网络特征层的提取与堆叠形式单一,对所提取特征利用不足,检测时更侧重大目标的检测效果,对小目标物体检测精度不足。本文分析鸟巢特点,为提高网络的检测效率,根据输电线路鸟巢的特点分别对骨干网络、瓶颈网络、特征金字塔网络进行优化。
传统的目标检测网络的骨干网络部分通过对输入图像逐点卷积降低图像分辨率与特征分离,然后对特征图进行多次卷积提取特征图。卷积神经网络生成特征图时计算公式为:
式中:Y为卷积运算得到的特征图;X为输入图片;f为卷积核;*为卷积运算;b为偏置量。
向网络输入尺寸为h×w、通道为c的图片X时,卷积核f尺寸为c×k×k×n,k为卷积核尺寸,n为所提取特征数量,则特征提取过程所需计算量为n×h×w×c×k×k。
图1 中为神经网络自动提取的特征图,神经网络提取了所输入图片的多种特征,白框与红框所包含特征图所含信息相似,说明Darknet53 骨干网络模型在计算过程中对特征图的冗余性与相关性考虑不足,造成模型大,计算时间长。
图1 神经网络自动提取的特征Fig.1 Features automatically extracted by neural networks
本文引入GhostNet 算法对骨干网络进行改进。GhostNet 网络在计算时先使用小卷积核进行卷积计算获得少量特征图Y′,再对特征图进行线性变化,生成特征图的相似特征图Y″,即特征图的Ghost。再将Y′和Y″进行叠加获得最终的特征图Y。运算过程如图2 所示。
GhostNet 模块少量卷积计算公式为:
式中:f′为尺寸为c×k×k×m的卷积核。
向网络输入同样尺寸为h×w、通道为c的图片X时,卷积核f′尺寸为c×k×k×m,m远小于n,同时设置与式(1)中卷积核同样的步长、尺寸等,并简化计算将偏置项省略。为获得与式(1)所得的数量相同的n个特征图,再对式(2)所得特征图Y′进行线性变换来生成n个Ghost 特征图,如式(3)所示:
式中:yij为第i个特征图进行第j次线性变换所得到的Ghost 特征图;为第一步少量卷积运算所得的第i个特征图;Φi,j为将第i个特征图进行第j次线性运算函数;Φi,s为保存输入特征层的映射计算。
通过少量卷积与线性变换得到同样数量的特征图,用于输入后续瓶颈网络部分进行特征融合与增强。少量卷积与线性变换所生成特征图如图3所示。
图3 少量卷积与线性变换生成特征图Fig.3 Generated feature maps using small amount of convolution and linear transformation
由图3 可知,GhonstNet 模块可以有效扩充特征图,其参数压缩量约为n/m=s。因此,使用GhostNet模块构成的瓶颈层模块来代替网络中的残差网络模块可以有效减少网络参数量,降低计算成本。
在骨干网络后添加空间金字塔池化[26](Spatial Pyramid Pooling,SPP)结构增加网络感受野,分离网络的上下层特征。先进行三次卷积处理降低模型参数,然后对其进行池化核尺寸为13×13,9×9,5×5和1×1 的4 次池化,对不同尺度的特征进行融合,再拼接四次池化结果。SPP 结构示意图如图4 所示,骨干网络结构如表1 所示,表中416×416×3 表示特征层尺寸为416×416,通道为3。
表1 骨干网络结构Table 1 Backbone network structure
图4 SPP示意图Fig.4 SPP schematic diagram
大尺寸的特征层包含细节信息更适用于检测小目标,小尺寸的特征层包含语义信息更适用于检测大目标,选择合适的特征层连接瓶颈网络可以提高精测精度。图片经骨干网络处理可以提取104×104、26×26 以及13×13 3 种尺寸的大尺度特征层或者52×52、26×26、13×13 3 种尺寸的小尺度特征层进行后续操作。
为验证使用不同特征层时的检测效果,其他参数保持一致,训练150 个世代后,分别提取小尺度特征层和大尺度特征层的网络模型损失值曲线和平均检测精度(mean Average Precision,mAP)值如图5、图6、表2 所示。
表2 不同尺度特征层mAP值Tabel 2 mAP values of feature layers at different scales %
图5 使用小尺度特征层损失值Fig.5 Loss values with small-scale feature layer
图6 使用大尺度特征层损失值Fig.6 Loss value with large-scale feature layer
分析结果可知,选用大尺度特征层连接瓶颈网络时损失值后期更小,损失曲线更平滑,同时使用大尺度特征层进行训练的模型检测精度更高。说明在采用104×104,26×26 和13×13 的大尺度特征层进行训练时模型更易收敛,且具有更好的精度。
浅层特征经过卷积处理得到深层特征,两者存在密不可分的关系。因此在进行最终检测时合理使用不同的特征层进行特征拼接,可以增强特征层信息,提高对不同尺寸鸟巢的检测效果。选择特征连接层后,对特征层进行上采样、下采样、拼接,增强对特征层的信息利用,增强目标检测网络对不同尺寸鸟巢占比图片的检测效果。本文结合特征金字塔网络与路径聚合网络(Path Aggregation Network,PANet)的特点对瓶颈部分进行重构,使其对骨干网络所得到的特征层进行反复利用,从而增强网络的检测效果。
将尺寸为13×13,26×26,104×104 的特征层记为A1,A2,A3。将A1(13×13×512)特征层进行两倍上采样得到A′1(26×26×256)特征层,括号中第3 个数字为特征图的通道数。再将A2(26×26×512)特征层进行通道压缩得到A′2(26×26×256)特征层,拼接A′1,A′2得到B1(26×26×512)特征层。降低B1特征层通道数得到B″1(26×26×256)特征层后,进行4 倍上采样得到B′1(104×104×64)特征层,并将A3(104×104×128)特征层进行通道压缩得到A′3(104×104×64)特征层,堆叠B′1,A′3得到B2(104×104×128)特征层。该层由于包含较多的细节特征,主要用于检测鸟巢数据集中较小的鸟巢以及存在遮挡的鸟巢。
对B2特征层进行5 次卷积减少参数后进行4倍下采样得到B′2(26×26×256)特征层,连接B″1与B′2得到B3(26×26×512)特征层,对B3特征层进行5次卷积减少参数与通道后得到B′3(26×26×256)特征层,B3特征层所包含着细节特征与语义特征,用于检测鸟巢数据集中中等大小的鸟巢。
对B3进行两倍下采样得到B″3(13×13×512)特征图,连接A1与B″3得到B4(13×13×1024)特征图,对B4特征层进行5 次卷积减少参数得到B′4(13×13×512),B4特征层包含较多的语义特征,主要用于检测鸟巢数据集中的大鸟巢目标。
B2,B3,B43 个特征图经过检测器得到预测结果,改进后的网络结构如图7 所示。
图7 特征金字塔示意图Fig.7 Schematic diagram of feature pyramid
为验证本文所构建鸟巢专用检测网的有效性,对多种网络模型进行分析比较,采用机巡所得输电线路鸟巢图片所构成的数据集在同一硬件条件下对多种网络进行训练,并测试所得网络模型检测精度。本文试验硬件所使用处理器为Intel(R)Core(TM)i9-10900K CPU@3.70GHz,运行内存为16GB,固态硬盘500GB,Window10 旗舰版64 位操作系统,GeForce RTX 3070 显卡。
本文所用数据集由来自不同电压等级的输电线路进行无人机巡视时拍摄的鸟巢照片组成。鸟巢分布在横担、地线支架、塔身缝隙等处,原始图像集包含1 822 张图片。原始数据存在集鸟巢大小不均,小鸟巢难以辨别;图片数量较少,鸟巢位置分布不均;部分鸟巢图像不清晰,存在遮挡;图片背景复杂、亮度不足等问题。为增强训练效果,对数据集进行以下预处理。
为避免原始图片上所带红圈对网络的训练引起误差,在进行数据集扩充之前应消除图片上的红圈。本文采取像素点替换的形式,先提取红圈周围的RGB 像素值,遍历图片上的所有像素点,如果存在多个与红圈像素值相同的像素,则将该部分判定为红圈。接下来通过像素点替换的形式将红圈的像素点替换为上下500 个像素距离处的像素值均值,以消除红圈的影响。消除红圈前后对比如图8 所示。
图8 消除图像红圈Fig.8 Image red circles elimination
本文采取对数据集进行旋转、对调、增加噪声的方式进行扩充。将原始图像分别旋转90°、180°、270°后给原图增加高斯噪声。经扩充后数据集图片数量达到7 284 张,图片旋转及添加噪声效果如图9 所示。
图9 旋转图片及添加噪声Fig.9 Image rotation and noise adding
本文采用了Mosaic 数据增强方法,选择4 张鸟巢图片进行缩放、裁剪、拼接的形式合成为1 张图片。在训练过程中网络会同时对4 张图片所包含的信息进行处理,最大化硬件的计算能力。
对鸟巢图片进行Mosaic 处理过程如图10 所示。
图10 对图片进行Mosaic处理Fig.10 Mosaic processing of images
参照VOC2007 标准格式,使用LabelImg 工具对数据集进行标注。最终得到数据集包含7 284 张图片,将其划分训练集共5 899 张、预测集共656张、验证共729 张。
网络开始训练前,对数据集中的真实框大小进行K-means 聚类,可以优化先验框调整为预测框的过程,提高网络的训练效率;经K-means 聚类计算后,得到先验框尺寸如表3 所示。
表3 K-means聚类先验框尺寸Table 3 K-means clustering prior box size
对损失函数形式进行改进,将位置与宽高损失优化为更有效计算位置与宽高损失值的有效交并比函数(Enhanced Intersection over Union,EIOU)函数。输电线路鸟巢问题属于二分类问题,数据集中的鸟巢相对于背景来说数量较少,正负样本不均衡,因此在设置类别损失函数时,增加类别损失函数部分的占比,以提升样本占比较少的类别的检测效果。最终得到输电线路鸟巢目标检测网络的损失函数如式4 所示:
式中:IOU为模型所预测边框与真实框的重合部分与面积总和的交并比;b,h,w为预测框与真实框的中心点、宽与高;k为包含预测框和真实框的最小闭包区域的对角线距离;Cω和Ch为覆盖真实框与预测框的最小外框的宽与高;r2为预测框和真实框中心点或宽高的欧式距离;为该矩形框是否负责预测1 个目标物体,如果该矩形框负责预测1 个目标则其大小为1;为预测框内含有目标物体的概率得分;为真实值;λnoobj为权重值;为第(i,j)预测框为鸟巢的概率;为标记框内为鸟巢的真实值;wcls为类别权重。
将正确的检测出鸟巢,记为TP(True Positives);正确的判断待检目标不为鸟巢,记为TN(True Negatives);错误的判断待检目标为鸟巢,记为FP(False Positives);错误的将目标判断为不为鸟巢,记为FN(False Negatives)。在判断网络模型的检测精度时,使用Pre和Rca来表示精确率和召回率。精确率与召回率的表达式如式(5)与式(6)所示。
精确率为网络模型正确检测的鸟巢数量在所有判断为鸟巢的部分中所占的比例。召回率为网络模型正确检测的鸟巢数量在所有应该判断出的鸟巢数量中所占的比重。当网络取不同的置信度值时会得到相应的精确率与召回率,以召回率为横坐标,精确率为纵坐标,将不同置信度取值所得精确率与召回率绘制于同一张图上,得到Pre-Rca曲线图,曲线下方所覆盖面积越大标明模型的检测效果越好。
在进行检测实验时,选用了二阶段检测网络中的佼佼者Faster R-CNN、一阶段检测器中以检测速度著称的单次多边框检测网络(Single Shot MutiBox Detector,SSD)网络及原YOLO 网络与本文所构建YOLO-NEST 网络进行对比。分别提取Faster RCNN 网络、SSD 网络、YOLO 网络与本文所构建的YOLO-NEST 网络在训练与预测过程中的损失函数曲线进行对比,结果如图11 和图12。
图11 多模型训练LOSS曲线Fig.11 LOSS curve of multi model training
图12 多模型预测LOSS曲线Fig.12 LOSS curve of multiple model prediction
使用验证集对4 种模型进行测试,提取4 种模型的mAP 如图13 所示。
图13 不同模型mAP值Fig.13 mAP of different models
除使用鸟巢图片进行检测外,本文还使用视频文件进行试验,将视频输入网络模型后,提取每秒传输帧数(Frames Per Second,FPS)值如图14所示。
图14 4种模型的FPS值Fig.14 FPS of 4 model
输电线路目标检测应用场景常在野外地区,要求网络需要有较快的初始化速度和较小的内存占用。另一方面,野外作业或日常巡检通常需要将网络模型应用于手机或无人机上,移动设备的内存与硬件条件通常受限,因此网络模型模型大小也是重要参数[27]。提取各检测网络模型大小如表4 所示。
表4 各网络模型大小Table 4 Size of each network model M
可知Faster R-CNN 虽然在训练与预测阶段的LOSS 函数值最小,但其平均检测精度仅为86.08%,检测视频文件时FPS 值仅为9。SSD 网络在训练过程中损失函数值偏大,在检测鸟巢图片时,平均检测精度为82.63%,但其在进行视频文件检测时FPS值达到了18,较Faster R-CNN 网络检测速度翻倍,但也因该网络过度重视检测速度而损失了检测精度。
本文所构建YOLO-NEST 鸟巢专用检测网络作为单阶段检测器,虽然在训练过程中损失值存在一定波动且大于Faster R-CNN,但在检测鸟巢图片时,AP 曲线所围成面积最大,平均检测精度为96.11%,且在进行视频文件检测时FPS 值达到了19,在保证检测速度的同时提高了检测精度。
针对输电线路鸟巢检测过程中的难题,本文构建了YOLO-NEST 目标检测网络;根据输电线路鸟巢的特点,对网络进行了优化。为验证本文所构建网络的有效性,通过构建数据集对不同目标检测网路进行训练。经过优化,本文所构建的YOLO-NEST网络在保证检测速度的同时,将模型大小压缩为43.98M,平均检测精度提高到96.11%,相较于原YOLO 网络,模型大小压缩了82.26%,精度提升了15.77%。