田二胜,李春蕾,朱国栋,粟忠来,张小明,徐晓光
(许继集团有限公司,许昌 461000)
随着电网建设覆盖范围的不断增加,输电线路总里程也逐渐增多,具有规模大、距离长、分布地域广等特点,通常分布在偏远地带,运行环境比较恶劣.山火、滑坡等自然灾害损害架空输电线路的正常运行,同时还存在施工机械、超高车辆、船舶导致外力破坏的危险.传统采用人工巡线的方式存在劳动强度大、工作效率低的问题,对突发外破事件应对时效性差.
随着智能监测技术的发展,以视频、图像为主的输电线路巡检的方式受到越来越多的关注,然而传统的输电线路在线监测系统通常是将视频、图像的数据传回监控平台,通过人工筛选的方式识别施工机械等外破隐患发生,存在工作效率低、无法实时识别并预警的问题[1].随着卷积神经网络算法在图像识别中的应用越来越广泛[2–6],为基于深度学习的图像识别技术在输电线路巡检中的研究和应用提供新的解决方法.张骥等[7]提出Faster RCNN 算法提取特征,用于输电线路目标的图像识别,代替人工筛选,提高隐患预警实时性.许志君[8]采用单步识别的SSD 算法,与Faster RCNN相比,识别速度更快,满足边缘计算识别要求.赖秋频等[9]提出YOLOv2,引入锚框机制,提高模型收敛速度和识别准确率.徐守坤等[10]提出YOLOv3 算法,采用Darknet53 残差网络提取深层次网络的图像数据特征,适用于输电线路复杂背景下的目标识别,与YOLOv2采用Darknet19 网络结构相比,目标识别效果更好.然而,以上大多数的图像识别算法模型计算时间长,不能满足输电线路图像识别模型边缘部署对算法识别实时性的要求.
针对以上问题,本文提出基于YOLOv4的输电线路外破隐患识别算法.该算法采用改进K-means 算法对图片样本集目标的大小进行聚类分析,筛选出符合检测目标特征的锚框,之后利用CSP 与Darknet-53 残差网络相结合,能够提取图片深层次网络特征数据,同时减小计算量,并采用SPP 算法对特征图进行处理增加感受野,提取更高层次的语义特征.最后将实际的输电线路现场监控图片作为测试样本集,验证该算法的性能.
YOLOv4 图像识别算法[11]与YOLOv3 算法相比,改进了网络结构和模型训练技巧等多个方面.YOLOv4利用CSP 与Darknet-53 残差网络相结合,能够提取图片深层次网络特征数据,同时减小计算量;增加SPP 网络模块,增大感受野,提取更高层次的语义特征,能够适应不同尺寸和背景特征的目标识别.此外,采用Mosaic样本增强方法,将随机翻转、旋转等预处理后的4 张图片拼接起来用于模型训练,减少模型对样本背景的依赖.
YOLOv4 网络结构主要包括主干网络、Neck 模块,网络结构如图1所示.其中Darknet-53 残差网络结构包括一系列的1×1和3×3 卷积以及不同大小的残差模块组成[12,13].主干网络采用CSPDarknet53 结构形式,将CSPNet 网络结构应用于Darknet-53中残差模块,使上层的特征图一个分支进行残差运算,同时另外一个分支和经过残差运算后的特征图相结合.此外,CSPDarknet53在卷积层之后采用Mish 激励函数,代替YOLOv3中的Leaky ReLU 函数,提高非线性映射能力.Neck 模块包括SPP 网络结构和PANet 网络结构.其中,SPP 网络结构采用1×1、5×5、9×9、13×13 最大池化层分别对上层特征图进行处理;PANet 采用高低层特征融合方法实现3个不同大小的特征图Y1、Y2、Y3 输出,用于不同大小的目标识别.C为识别目标类别数.
图1 YOLOv4 网络结构
将一张图片划分为S×S网格,假如被识别的目标中心位置落在某个网格内,则该网格用于该目标的识别[14].
每个目标识别结果需要对5个参数进行预测:目标中心位置偏移量 (x,y),YOLOv4 以相对网格左上角的偏移代替中心位置的坐标.目标边框尺寸相对整张图片的宽高尺寸为(w,h),以及该目标识别结果的置信度Pconfidence.
式中,Pobject为预测目标的网格存在目标的概率,存在则概率为1,不存在为为预测结果的边框与原图片中标注的目标边框位置重合度[15,16].
式中,boxprediction为预测结果的边框,boxtruth为原图片中的目标边框.
式中,PCprediction表示该网格预测的属于第i类目标及边框位置置信度的概率.P(Classi|object)为当存在目标的情况下该目标属于第i类目标的概率.
因此,YOLOv4 算法输出3个特征图Y1,Y2,Y3的大小表示将图片分别划分为19×19、38×38、76×76个网格,每个特征图对应3个锚框,每个网格预测4个位置 (x,y,w,h)和Pconfidence,输出尺寸为S×S×[3×(4+1+C)].
采用改进K-means 算法对输电线路外破隐患图片样本集目标的坐标进行聚类分析,筛选出符合检测目标特征的锚框,用于预测目标边框位置.K-means 算法采用基于欧氏距离的聚类分析[17],这对于不同大小的目标筛选是不合适的.本文采用改进K-means 算法,将预测边框和实际目标边框重合度作为距离的度量[18,19].聚类距离公式如下:
式中,d(boxtruth,center)为实际目标边框与聚类中心的距离,center为聚类中心.
采用改进K-means 算法对输电线路外破隐患图片样本集进行聚类分析,得到用于预测目标的9个锚框,3个特征图Y1,Y2,Y3 分别对应于3个锚框.将锚框按照尺寸从大到小进行排序,将尺寸大的特征图对应于小的锚框,能够得到更丰富目标图片的边缘信息,因此排名前3个锚框对应于大小为19×19的Y1,较大的3个锚框对应于大小为38×38的Y2,排名后3个锚框对应于大小为76×76的Y3.
YOLOv4 对输入的外破隐患目标图片样本集进行预处理:包括统一调整分辨率大小,对样本图片进行色彩调整、翻转、旋转,用于减少样本背景对目标识别的影响.之后采用YOLOv4 算法进行模型训练.其中,损失函数计算公式如下:
式中,fLOSS表示损失函数,由5 部分组成:第1、2 部分表示对目标坐标位置的预测,第3 部分表示对目标边框置信度的预测,第4 部分表示对该网格内未包含目标置信度的预测,第5 部分表示对目标所属类别的预测.λcoord表示目标坐标位置的损失权重,λnoobj表示未包含目标边框置信度的损失权重.为网格i包含目标,表示网格i中第j个锚框包含目标,表示网格i中第j个锚框不包含目标.(xi,yi,wi,hi) 表示网格i中预测的目标边框,表示网格i中实际的目标边框.ci为网格i预测的类别,表示网格i目标所属实际的类别.pi(c)为网格i内预测的目标概率,(c)表示网格i内实际的目标概率.S2表示一张图片被划分的网格数.b为每个网格需要预测的边框数[20].
基于YOLOv4的输电线路外破隐患目标检测流程图如图2所示,包括3个阶段:对图片样本集进行预处理、模型训练及待检测目标图片的测试.
图2 输电线路外破隐患目标检测流程图
检测步骤如下:
(1)对样本集进行预处理
1)收集输电线路外破隐患图片样本集,对图片样本名称进行统一编号,之后将图片分辨率统一调整为608×608;
2)采用样本增强的方法对样本图片进行色彩调整、翻转、旋转等处理;
3)运用标注工具对样本集进行目标类别和边框的标注;
4)按照VOC2007 数据集的格式整理样本集及标注文件,并生成训练样本集和测试样本集.
(2)模型训练
1)根据本项目的样本集数据,修改配置文件中的学习率、批次数等相关参数;
2)运用CSPDarknet53 网络提取输入样机图片的外破隐患目标特征;
3)运用Neck 模块将特征向量进行高低层次特征融合,生成3个不同尺寸的特征图,用于目标多尺度预测;
4)将预测结果和标注文件中实际目标边框、类别代入损失函数计算公式,得到损失值;
5)利用神经网络反向传播方法自动调整网络结构参数,重复步骤2)~4),直到模型满足精度要求或达到训练次数,生成模型文件.
(3)模型测试
1)输入外破隐患图片测试样本集;
2)利用网络前向传播得到目标的边框和类别;
3)根据目标预测边框、实际边框计算IOU重合度;
4)根据步骤3)得到的IOU值和类别概率得到置信度;
5)设置IOU阈值筛选到IOU值较小的预测框,对剩余的预测框采用最大值抑制算法得到最终的预测结果.
本文采用Ubuntu18.04 操作系统,GPU 硬件选择NVIDIA GTX 1080Ti,软件为CUDA9.0,CUDNN7.0.搭建基于Keras 框架的模型训练及测试环境,采用YOLOv4 算法模型对输电线路外破隐患目标进行识别,输出被检测图片中外破隐患目标的类别和边框.
根据实际的输电线路现场监控视频及图像信息,制作模型训练及识别的数据集,包含施工机械、吊车、塔吊3 种外破隐患目标类型,共计3825 张.其中施工机械类1362 张,吊车类1184 张,塔吊类1279 张.该数据集涵盖不同背景内容、光照强度、天气情况下的目标图片样本,能够减小图像背景对目标识别的影响,提高模型精度.将数据集按照7:3的比例分为训练集和测试集,划分结果如表1所示.
表1 数据集划分结果
将外破隐患目标图像数据集按照VOC2007 数据格式进行整理,并将数据集中目标标注的坐标位置进行归一化处理,作为模型训练的样本输入,归一化公式如下:
式中,(x,y)为归一化处理后的中心点坐标,(w,h)表示归一化处理后的图片宽度和高度.(xmin,ymin)为原始图片中目标的左上角坐标,(xmax,ymax)表示原始图片中目标的右下角坐标.
将训练集图片中外破隐患目标作为聚类算法输入,采用改进K-means 算法筛选出适用于本项目的锚框,共计9个锚框,分别是(39,27),(72,51),(85,213),(112,83),(147,289),(179,161),(221,321),(323,379),(539,431),该组锚框与图片中施工机械等外破隐患目标大小快速适配,提高模型训练速度.
首先,修改预训练模型的配置文件相关参数,以适用于本项目特点,部分参数值如表2所示.此外,将本项目的9个锚框替换配置文件中相应位置的锚框.然后,在Keras 框架下加载预训练模型,输入图片样本集进行模型训练.
表2 配置文件部分参数值
保存训练后生成的模型文件,结合数据集制作时得到的测试样本集,进行模型性能的测试.
挑选不同项目目标图像特点的测试样本,用于检测模型在复杂背景、不同姿态、不同光照、不同天气、多个目标情况下的性能.图3(a)、图3(b)为同类目标在不同背景内容下的识别结果,实验结果表明该模型能够识别不同背景下的目标,减少对图片背景内容的依赖.图4(a)、图4(b)为同一目标不同姿态下的识别结果,实验结果表明该模型能够识别不同姿态的目标,增强对目标姿态的识别.图5(a)、图5(b)为同一目标不同光照强度下的识别结果,实验结果表明该模型能够识别不同光照强度下拍摄的目标图片,提升对图片色彩、亮度变化的适应能力.图6(a)、图6(b)为同一目标不同天气情况下的识别结果,实验结果表明该模型在有雾天气下对目标的准确识别.图7(a)、图7(b)为一张图片中存在多个目标的识别结果,实验结果表明该模型能够实现对多个目标的完整识别,提高识别准确率.
图3 不同背景内容下目标识别
图4 不同姿态下目标识别
图5 不同光照强度下目标识别
图6 不同天气情况下目标识别
图7 同一张图片多个目标识别
将本文算法与常用的图像识别算法进行对比,对比结果如表3所示.从表3可以看出,与常用的Faster RCNN、SSD 算法相比,本文算法的各个类别AP 及mAP值均高于其它算法,平均单张图片识别速度更快,表明本文算法的优越性.
表3 不同算法对比结果
文中提出基于YOLOv4的输电线路外破隐患识别算法,采用CSPDarknet-53 残差网络提取图片深层次网络特征数据,并结合SPP 算法对特征图进行处理增加感受野,提取更高层次的语义特征.同时,采用改进K-means 算法对图片样本集目标的大小进行聚类分析,筛选出针对检测目标特征分析的锚框,用于模型训练及检测.最后采用本文算法和其它两种常用的图像识别算法对实际的输电线路现场图片样本集进行测试,实验结果表明本文算法具有更高的识别准确率,且平均单张图片识别速度更快,满足模型前端部署的要求,验证该算法的优越性.