APP下载

基于YOLO v3的输电线路鸟类检测技术研究

2020-04-20陈咏秋孙凌卿张永泽傅启明李渊博孙建刚

计算机工程 2020年4期
关键词:驱鸟鸟类准确率

陈咏秋,孙凌卿,张永泽,傅启明,陆 宇,李渊博,孙建刚

(江苏电力信息技术有限公司,南京 210000)

0 概述

在当前社会现代化发展的背景下,社会对于电力的供应、传输的安全性以及可靠性的要求提出越来越高的要求,电力系统的可靠性和安全性发挥着重要的作用[1],同时随着环境保护理念的加强以及有关鸟类保护的相关法律法规的建立并完善[2],鸟类的数量以及活动场地已扩增到前所未有的规模,为输电线路的安全运行造成了危害。根据有关统计分析,鸟类活动引起线路跳闸次数在国家电网发生的全部输电线路跳闸次数中排名第三,仅仅排在雷击和外部损害导致的线路故障跳闸次数[3-5]。

目前针对输电线路鸟害问题,电网公司往往采取传统的驱鸟方式,如在杆塔的构建上安装鸟刺、安装绝缘板防止鸟粪、在绝缘子下端安装风车[6-8]。采用以上物理方式并不能长期有效地解决鸟害问题,其存在施工困难、成本高和需要有风的特殊条件等。目前最有效的方法是安装超声波驱鸟器[9-10],但是使驱鸟器长时间处于工作状态不仅浪费资源,还可能会对周围环境产生影响,定时间歇性工作又会使鸟类形成习惯,从而达不到驱鸟的效果。因此,如何制定驱鸟器的启停策略成为解决鸟害问题的关键。

近年来,由于卷积神经网络(Convolutional Neural Networks,CNN)的兴起,学者们将深度学习的方法运用在目标检测中并取得了较好的检测效果。文献[11]提出的R-CNN利用滑动窗口策略进行图像遍历,运用聚类的方法将候选框分组,但是存在训练阶段多、步骤繁琐等问题,导致效率较低。与R-CNN相比,Fast R-CNN[12]改变了区域选取的位置,用Softmax代替了支持向量机,显著降低了训练速度、测试速度和训练所需空间。Faster R-CNN[13]引入RPN候选框提取模块,在速度和精度上都有了一定的提升。文献[14-16]提出了YOLO目标检测方法,并对其进行了2个版本的改进,从而使实时检测成为可能。虽然基于深度学习的目标检测方法日渐成熟,如文献[17]将YOLO算法应用于对行人的检测,提高了定位准确性,文献[18]运用Fast RCNN进行前方车辆检测,解决了特征提取速度慢的问题,但是目前还没有将其应用于输电线路鸟类检测这一场景下。

本文将采集到的现场环境的监控数据进行相应数据预处理,制作成输电线路鸟类检测数据集。基于YOLO v3模型为主体,检测出输电线路附近的鸟类数目,当有一定数目的鸟活动在输电线路周围时启动驱鸟器,在驱鸟的前提下最大程度地节约能耗与保护环境。

1 基于YOLO v3的输电线路鸟类检测算法

1.1 YOLO算法

YOLO[14](You Only Look Once)自从被提出以来即受到了广泛关注,共经历了3个版本的迭代,不断地优化自身和吸取其他检测模型的优点。与Faster R-CNN基于区域预测的目标检测算法不同,YOLO运用回归的思想直接检测整张输入图像,从而得到目标的类别和位置。

YOLO算法实现了端到端的目标检测,模型将输入图像分成S×S的网格,如图1所示。如果一个目标的中心处于某个网格中,则这个网格负责预测这个目标。在检测的过程中,每个网格会产生B个边界框(bounding box),每个边界框都要预测边界框位置信息(x,y,w,h)和置信度(confidence)。置信度是边界框所含目标的可能性(Pr(object))与边界框准确度IOU的乘积,计算公式如下:

(1)

图1 图像划分示意图

引入目标类别属性,对包含目标的网格预测C个类别概率,用Pr(classi|object)表示。为了得到每个边界框的分类信息,将边界框所属网格的类别概率与边界框的置信度相乘得到置信度评分(confidence score),如式(2)所示,置信度评分代表了边界框中目标属于某个类的概率。

(2)

在模型训练中,将边界框的C个类别的置信度评分按高低排序,将得分小于阈值的置为0,最后再用非极大值抑制算法(NMS)去掉重复率较大的边界框,最后每一个边界框只保留置信度评分大于0且最高的类,从而检测出各类目标。

在YOLO v3中,模型的复杂程度进一步提升,采用多尺度融合方式来进行预测,在多尺度特征图上进行位置和类别的预测,从而提高目标检测的准确度,并在引入残差网络的同时提出更好的特征提取网络darknet-53。基于以上改进,YOLO v3模型在准确度和速度上都有较好的效果。

1.2 基于YOLO v3的输电线路鸟类检测算法

在采用驱鸟器解决输电线路鸟害问题时,驱鸟器的启停时机尤为关键,采用目标检测技术检测输电线路附近的鸟,从而控制驱鸟器的启停可达到实时驱鸟的效果。采用YOLO v3目标检测算法不仅可以做到实时检测,还可以保证多尺度目标检测的准确性。输电线路鸟类检测算法流程如图2所示。首先由输电线路附近监控装置以一定时间间隔提供实时图像,提取出单帧的图像送入检测模型中,对预测出来的目标进行计数,当鸟的数目达到阈值时启动驱鸟器进行驱鸟。其中,检测模型又可分为特征提取网络和目标检测网络。

图2 输电线路鸟类检测算法流程

1.3 特征提取网络darknet-53

随着提取网络的不断加深,在训练过程中会出现梯度消失和梯度爆炸等问题,而引入残差网络就可以很好地解决这一问题[19]。将进入残差盒前的特征和残差盒输出的特征相结合,能提取更深层次的特征信息。本文特征提取网络使用darknet-53,网络中运用到了残差网络,特征提取网络如图3所示,其中虚线标出部分为残差单元。

图3 特征提取网络结构

1.4 改进的目标检测网络结构

YOLO v3在目标检测领域已经取得较好的检测效果,采用多尺度融合的方式进行目标检测,对目标的尺度变化适应性较好,但是在输电线路鸟类检测任务中,从K-means算法聚类的结果中发现监控设备拍摄目标普遍较小,常会出现多目标聚集和小目标的情况。因此,需要对YOLO v3检测模型进行改进,从而适应特定的输电线路鸟类检测任务,同时为了提升运算速率保证任务的实时性,模型中仅提取两组多尺度特征对鸟类位置和类别进行预测,从而适应特定的输电线路鸟类检测任务。

输入图像大小为416×416,网络模型结构如图4所示。将L74(74层)进行5次卷积操作以及上采样操作,然后再进行5次卷积操作、3×3和1×1等卷积后得到26×26的特征,并与L61融合作为第一尺度特征,以类似的方法可以得到52×52的特征,并与L36融合作为第二尺度特征。通过多尺度特征分析,可以更好地适应输电线路鸟类检测场景下多目标聚集和小目标的情况,从而提高模型准确率,同时采用与现实场景相匹配的尺度数目,可以有效地减少计算量。此外,在输电线路鸟类检测中只需要检测鸟类这一个类,修改模型输出类别个数,从而减少不必要的计算量。

图4 网络模型结构

2 实验结果与分析

2.1 实验运行环境

本文实验硬件环境如表1所示,在此基础上搭建软件环境Ubuntu16.04、Python、OPPENCV、CUDA等,运用Caffe框架与darknet-53框架。

表1 实验硬件环境配置

2.2 实验数据集及预处理

实验中所用数据由江苏地区输电线路杆塔附近监控设备采集。在不同时段、不同天气及不同场景下随机抽取监控视频,并提取出单帧图像作为数据集,同时为了提高模型的鲁棒性,在数据集中加入部分来源于网络且符合实际的鸟类图片。

用Labellmg工具对收集到的图片进行标注并以VOC数据的格式来存储。数据集中共有5 000张图像,按照4∶1的比例将其划分为训练集和测试集。

在进行模型训练之前,需要确定预选框的个数及大小,采用合适的预选框参数可以有效地提高模型准确率和训练速度。本文采用k-means算法对标记好的数据集进行聚类分析,得到了6组预选框参数分别为:(20,51),(49,28),(45,43),(75,40),(61,64),(53,81),并使用这些参数进行下述模型训练。

2.3 训练过程

参考YOLO v3官方推荐权重参数及具体实验中进行适当调整后,采用模型训练参数如表2所示,从而使得训练出的模型具有最优的检测效果。

表2 模型参数说明

使用上述参数作为训练的初始化参数,共训练了13 000次,Loss变化示意图如图5所示。

图5 Loss值变化示意图

由于前3 000次Loss较大,当达到1 000次时,Loss已经下降到了2。随着网络训练的进行,网络的损失值逐渐降低,当训练到达指定次数时,网络开始降低学习速率,对模型进行微调操作,损失值随着训练的进行而继续缓慢下降,最终达到收敛状态。

在训练的13 000次中,每100次迭代输出一个模型,一共得到130个模型。通过比较这130个模型的平均精度均值(mAP),选出一个最优模型。由130个模型计算出的mAP值如图6所示,其中,横坐标代表模型序号,mAP值范围为0~100%。

图6 mAP值变化示意图

从图6可以看出,当迭代到了5 500次时mAP值已基本稳定,没有较大的变化,因此可以选出最优模型。

2.4 实验效果

为了验证模型的效果、准确情况、稳定性以及样本对其的影响,分别从训练集和测试集中每次随机抽取200张图片进行测试,共测试10次,并用准确率和召回率来比较测试结果。其中:TP表示预测有鸟,实际有鸟;FP表示预测有鸟,实际无鸟;FN表示预测无鸟,实际有鸟;TN表示预测无鸟,实际无鸟。准确率(P)和召回率(R)的计算公式如下:

测试结果如表3所示,从表3可以看出,在输电线路鸟类检测这一场景下,该模型表现较好,准确率达到并稳定在90%左右,平均识别一张图片所用的时间为20 ms,即平均检测速度达到47 frame/s,图7为检测结果。由此可知,该模型运用在输电线路鸟类检测这一场景下具有较好的效果,对检测出来的鸟类进行计数后便可以作为驱鸟器是否启动的重要判断条件。

表3 实验测试结果

图7 输电线路鸟类检测示意图

在现实场景中,由于大风、下雨、下雪和大雾等天气影响,会导致监控装置采集到的图片质量严重下降。为进一步验证模型在极端天气下的表现,选取一些存在极端情况下的图片进行检测,随机抽取部分具有代表性的检测结果如图8~图10所示。

图8 雨中检测示意图

图9 雾中检测示意图

图10 设备抖动检测示意图

图8为下雨场景,经过测试,下雨场景对该模型影响不大,准确度并没有明显下降。图9为大雾场景,大雾天气对检测效果有一定影响,个别鸟过于融入雾中导致无法检测出来。由于大风监控装置抖动,导致采集的图片模糊,如图10所示,对于小幅度抖动不会影响检测效果,但是抖动幅度过大将影响模型检测效果。综上所述,因为极端天气在实际情况中为少数,且只有浓雾和大幅度抖动会影响模型检测效果,对于检测后计数和启动驱鸟器阈值的影响在可接受范围内。

2.5 性能对比

为测评该模型的性能,本文对比了目前比较流行的目标检测模型:Faster R-CNN和SSD。运用相同的策略和数据集训练模型,并从测试集中随机抽取200张图片进行测试,每种模型进行5次测试并对结果求平均,以准确率和每识别一张图片所用的平均时间作为检测效果的评价指标,结果如表4所示。

表4 实验结果对比

由实验结果可知,在准确率方面,Faster R-CNN算法最高,达到了89.73%,YOLO v3的准确率为86.75%,虽然检测准确率低于Faster R-CNN,但是检测速度比Faster R-CNN算法快134倍,对于输电线路鸟类检测这一实时检测任务,使用YOLO v3较为合适。对于SSD算法来说,检测准确率和检测所需时间都略逊于YOLO v3。因此,基于YOLO v3的输电线路鸟类检测模型可以较好地完成鸟类检测任务,同时为制定启动驱鸟器策略起到重要支撑作用。

3 结束语

本文提出一种基于深度神经网络YOLO v3算法的输电线路鸟类检测方法。运用输电线路上监控装置采集的图像训练模型,实现对输电线路附近鸟类的检测,从而控制驱鸟器的启停时间,在节能环保的同时,达到保护输电线路并保证电网运行安全的效果。实验结果表明,与SSD算法、Faster R-CNN算法相比,YOLO v3算法具有较快的检测速度,在雨雾等恶劣天气的影响下能够基本满足输电线路鸟类检测任务所需的准确性和实时性要求。但是对于姿态多变的鸟类图像存在漏检的现象,还需要完善数据集并优化算法,以尽量避免漏检,从而提升输电线路鸟类检测的准确率。

猜你喜欢

驱鸟鸟类准确率
善于学习的鸟类
“绣球”来驱鸟
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
绣球驱鸟器
我的湿地鸟类朋友
鸟类
高速公路车牌识别标识站准确率验证法
用于机场驱鸟的扑翼无人机