基于改进YOLOv3的输电线路外力破坏危险行为检测*

2022-01-19 04:57张煜彬方中纯
内蒙古科技大学学报 2021年4期
关键词:置信度网络结构损失

张煜彬,方中纯

(1.内蒙古科技大学 信息工程学院,内蒙古 包头 014010;2.内蒙古科技大学 工程训练中心创新创业教育学院,内蒙古 包头 014010)

电力产业是十分重要的公共基础事业,与国民经济的发展和社会安定有着密不可分的联系[1].其中,架空输电线路是电力系统的重要组成部分,几乎覆盖了全国各地,是电力传输的桥梁,架空输电线路的安全运行是电网稳步发展的前提条件.然而分布广泛的输电线路的安全性往往遭到威胁.据国内数据统计,30%的输电线路故障事件是由外力破坏导致的,外力破坏已成为除雷害以外的输电线路安全运行的最大隐患[2].常见的外力破坏危险行为主要有:低空飞行物、线路起火、超大工程车辆、悬挂异物、搭建违章建筑、林区高树成长压线、可疑人员蓄意破坏、杆塔沉降倾斜等.

目前,输电线路在线监测技术已在实际中得到应用.和传统的人工巡检相比,在线监测可以实时检测输电线路的运行状态,一定程度上提升了工作效率.但仍然靠后台人工筛选出有隐患的图像进行预警,缺点是:一方面预警信息不具备实时性;另一方面大量无预警信息图像占据了宝贵的通信资源.因此,架空输电线路警戒区危险行为的自动预警与识别是当前基于监测图像的输电线路故障与危险行为识别的关键[3].

提出了一种改进的危险行为检测方法,该方法基于经典YOLOv3算法,能够满足实时监控的要求,具有较高的检测精度和准确度,同时也可以直接嵌入到远程摄像头中进行工作,提高了工作效率[4,5,6].

1 经典YOLOv3算法

YOLOv3算法于2018年提出,是目前目标检测领域最具有代表性的算法[7,8,9],该算法在YOLOv2基础上进行了改进,具体的改进包括:重新设计了骨干网络;修改了损失函数,通过交叉熵函数实现分类任务;使用了多尺度训练方法[10],改善了小目标的检测效果.

1.1 网络结构

为了学习更加丰富的特征信息,YOLOv3增加了网络层数,设计了由52个卷积层和1个全连接层组成的特征提取网络——Darknet-53.整个网络结构由连续的1×1和3×3卷积层以及1个全连接层组成,每个卷积层后面都有Batch normalization层和Leaky ReLU函数层.Darknet-53的卷积层之间使用了shortcut跨层连接,可以避免梯度弥散和梯度爆炸.Darknet-53结构如图1所示,图中左侧的数字代表的是残差单元的重复个数.残差单元是由2个卷积层和1个短接链路组成,如图2所示.

图1 Darknet-53网络结构

图2 残差单元图

1.2 损失函数

YOLOv3损失函数包含3部分:边界框回归损失、目标置信度损失和目标分类损失.损失函数公式如式(1)所示.

(1)

1.3 NMS算法

在基于anchor的目标检测算法中,产生了大量的矩形候选框,但这些矩形框有许多是针对同一目标的,因此存在大量冗余矩形框.非极大值抑制算法(Non-Maximum Suppression,NMS)的作用是通过消除多余框来寻找最佳的物体检测位置.在图像中只有单个物体被检测的情况下,改算法具有很好的效果.然而图像中若存在2个或2个以上重叠度很高的物体时,该算法会滤除掉其中置信度较低的目标,导致漏检.表达式如式子(2)所示.si为候选框i的得分,M为当前得分最高的候选框,iou(M,bi)为候选框bi与M的交并比,Nt为超参数设定的重叠阈值.

(2)

2 改进的YOLOv3算法

为了实现对输电线路外力破坏危险行为检测的研究,采用了较高准确性和实时性的YOLOv3模型作为外力破坏危险行为检测的基础模型,并做了改进.首先,针对文中检测目标的特征对YOLOv3的网络结构进行改进.其次,针对外力破坏危险行为的漏检问题,对损失函数进行改进,减少漏检现象.最后,针对图像的输出处理时使用的非极大值抑制的方法进行改进.

2.1 网络结构改进

网络结构是在YOLOv3网络的前段加入3个卷积层,功能是对输入的图片进行特征提取,生成更高层次的抽象特征,并不是针对经典YOLOv3骨干网络结构进行的增改.改进后的检测模型网络结构如图3所示.本检测模型中,为所有样本的每个不同尺度的特征图只设计了2种预选框.经典YOLOv3中设置的3种预选框,分别用来检测大、中、小物体,而在研究的项目中图像出现的小目标代表着目标离输电线路警戒区域较远,对输电线路暂时不会造成危害,不必要进行检测.故本模型只将图片划分成13×13和26×26的单元格[11].这样可以在不损失模型精度的条件下,使模型的检测速度得到提升.改进后的检测模型网络原理如图4所示.

图3 检测模型网络结构

2.2 损失函数改进

在目标检测问题中,网络模型的输出包含检测框的位置信息,一般以中心点坐标和宽高表示,记为(x,y,w,h),还包含检测框中识别物体的置信度confidence以及该目标在各个类别上的概率值P.根据实际标注的目标框的位置信息以及目标框中物体的类别信息即可计算出网络的预测输出与实际标框之间的误差.误差的计算方式则取决于模型定义的损失函数,因此一个好的损失函数对于网络的训练速度以及最终的预测精度都起到了关键性作用[12].

图4 检测模型网络原理

2.2.1定位损失函数改进

YOLOv3在计算位置坐标误差时,只是简单地将边界框假设为独立的4个变量,然后采用差值平方和作为损失函数,根据4个坐标点独立进行边界框回归.这种方法存在2个缺点:(1)训练和检测时所用的标准不一样而导致结果不准确.通常检测时用IoU进行模型性能评估,然而实际回归坐标仅是4个坐标点.(2)回归时4个坐标点是相互独立的,欠缺对坐标相关性的考虑,应该进行联合回归.

为了解决损失函数对边界框坐标相关性欠缺考虑、定位不准确的问题.使用GIoULoss[13]作为定位损失函数.GIoU函数表达式如式(3)所示,其中:C为预测框A与真实框B的最小外接矩形.GIoU损失函数的表达式如式(4)所示.

(3)

GIoULoss=1-GIoU.

(4)

2.2.2置信度损失函数改进

考虑到文中数据集中正负样本不均衡性,置信度损失函数采用了Focal Loss[14].Focal Loss就是为解决目标检测任务中的正负样本不均衡及难易样本不均衡问题提出的.通过大量降低负样本和难样本在训练中所占的权重,使得正负样本、难易样本达到平衡.Focal Loss的函数表达式如式(5)所示.

(5)

从式(5)中可知:Focal Loss函数在交叉熵的基础上添加了2个因子γ和α.其中γ是一个大于0的常数,作用是使易分类样本的损失减少.如当γ=3时,就正样本来说,若预测的结果为0.97,则这个样本十分容易被区分其正负样本类别,即该样本为简单样本.其损失函数的值为(1~0.97)的立方,会更小.若某个样本预测概率为0.3,其对应的损失函数值为(1~0.3)的立方,会大一些,得到更多的关注.就负样本而言,预测概率为0.2的样本,其损失函数值与预测概率为0.5的样本的损失函数值相比较会小很多.因为预测概率为0.5的样本的损失函数值减少了0.75,而预测概率为0.2的样本的损失函数值减少了0.04.同时模型的参数是随着损失函数的变化而改变,这样会让整个模型给予那些比较难以区分的样本更多的关注,同时使得容易区分样本对模型的影响也减弱了.Focal Loss函数的另外一个平衡因子α是为了平衡数据自身存在的正负样本的不均衡而设置的.α是一个权重因子,它的取值范围为0~1.可以看出当y=0(非检测目标)时,随着α逐渐增大,损失函数值会逐渐降低,从而使非检测目标对整个模型训练的影响减弱.

2.2.3损失计算

在对YOLOv3算法的定位损失和置信度损失函数进行改进后,算法的损失函数表达式如式(6)所示.

(6)

3.3 图像输出处理改进

在进行去除重复的预测框这步操作的时候,若图像中存在2个或多个重叠度很高的物体时,NMS会过滤掉其中置信度较低的一个,造成漏检.为解决这类问题,采用Soft-NMS算法,如式(6)所示.当选取类置信度高的bounding box,计算其余每个bounding box和选定的bounding box的IoU值时,NMS计算方式是直接删除IoU值大于阈值的bounding box;Soft-NMS则是使用基于IoU的衰减函数来降低IoU值大于阈值的bounding box的置信度,衰减程度与IoU值成正比.

(6)

3 实验结果及分析

3.1 样本集制作

实际的巡检图像是由有危险行为的图像和没有危险行为的图像组成.因此采集了300张有危险行为的图像作为正样本,同样采集了700张没有危险行为的巡检图像作为负样本.这些没有危险行为巡检图像同样包含输电线路和输电杆塔,甚至还包括建筑物、树木和路灯等常见干扰物.然后将这1 000张图像通过数据增强操作来进行数据集扩充.图5的6张图像分别是原始图像和进行翻转、旋转、缩放、裁剪以及添加噪声后的图像.最后,使用数据标注工具对扩充后的数据集进行标注,主要对人、异物、吊车、挖掘机和其他工程车辆五类目标进行标注.

图5 原始图片及数据增强后的图像(a)原图;(b)翻转;(c)旋转;(d)缩放(e)裁剪;(e)添加噪声

3.2 实验平台

所有实验均在Linux CentOS服务器上进行,服务器配备有两个显存为15 GB的Tesla T4GPU.开发环境是Pycharm和Anaconda3,开发语言是python,深度学习框架为Tensorflow-gpu 2.1.0,cuda10.2.

3.3 实验结果分析

实验时首先对模型中需要的一些参数进行设置,模型的批量大小为64,初始学习率为0.001,动量参数为0.8,学习率衰减为0.005.

将本研究中的测试图片分别在YOLOv3网络模型和改进的YOLOv3模型上进行训练,测试集中有300张图片,其中包含240张正样本和60张负样本,实验表明:mAP提高了约4.2%,精确度提升了约5.2%,速度提高了约22.5%.损失函数的值会随着训练次数的增加而减少,但改进的YOLOv3的损失函数的值较原始YOLOv3损失函数的值小,如图6所示,故本文对损失函数的改进是有效果的.在原始YOLOv3网络模型进行危险行为检测后的评价指标数据如表1所示,在改进的YOLOv3网络模型进行危险行为检测后的评价指标数据如表2所示.

图6 损失函数

表1 原始YOLOv3网络评价指标

表2 改进的YOLOv3网络评价指标

由表1,2中的数据可知,在改进的YOLOv3检测模型上检测性能和速度都有一定程度提升,说明进行的改进对危险行为的检测是有一定贡献的.

4 结语

提出了一种基于经典YOLOv3改进的目标检测算法,该算法是对YOLOv3网络结构、损失函数及图像输出处理部分进行改进而得到的.使用构建的数据集分别在经典YOLOv3和改进的YOLOv3上进行训练和测试,实验表明改进的YOLOv3在实时性和精确度方面都有了进一步的提升.下一步工作将扩大数据集,通过不断训练网络模型,对模型中的个别参数进行微调,找到最优的参数,更进一步提高模型的检测速度和精度.

猜你喜欢
置信度网络结构损失
基于数据置信度衰减的多传感器区间估计融合方法
洪涝造成孟加拉损失25.4万吨大米
一种基于定位置信度预测的二阶段目标检测方法
两败俱伤
基于AutoML的保护区物种识别①
校核、验证与确认在红外辐射特性测量中的应用
带通信配网故障指示器故障监测方法及安装分析
损失
非常规突发事件跨组织合作网络结构演化机理研究
那些损失上百万的演员