面向变电站视频监控终端的目标检测方法及其优化

2019-10-10 07:05吴晖李铭钧杨英仪吴昊孙强
广东电力 2019年9期
关键词:细粒度变电站监控

吴晖,李铭钧,杨英仪,吴昊,孙强

(1.广东电网有限责任公司电力科学研究院,广东 广州 510080;2. 广东电网有限责任公司,广东 广州 510060)

随着视频监控系统在变电站内的普及应用,工作人员可借助这些监控设备对现场实现远程巡查,从而使得变电站监管的边界得到拓展。尽管当前智能技术手段在变电站视频监控领域的应用改变了此前通过依赖人员手动调度视频终端的被动式的监控方式[1],但随着变电站内需要监控的目标增多和对现场监控实时性要求的提高,即使在后端为视频监控系统搭配高性能服务器,海量高清视频数据传输也会对网络带宽、延迟等提出极高的要求,在某些紧急事件发生时,往往会造成严重的后果。

针对上述问题,本文对目标检测技术在变电站中的应用展开研究。该研究主要围绕基于深度学习的目标检测技术在视频监控前端[2]的推理需求进行优化设计,以提升其整体、高效的智能化检测分类能力。

1 研究现状

智能视频监控技术对视频图像的处理一般分为目标检测与跟踪、目标识别、行为分析3个层次[3]。作为智能视频监控技术的基础,目标检测性能好坏直接影响到后续层次的性能的优劣。一般来说,对视频目标进行检测的重点着眼于对底层特征的处理。常用的建模方法主要分为基于目标建模和基于场景建模等2种,如帧间差分[4]和高斯混合模型[5]就是基于目标建模方法的经典算法,它主要应用于固定式视频监控终端中;基于场景建模的方法主要依赖于对视频图像中特征的提取与分类,其具有代表性的特征提取方法包括尺度不变特征转换(scale-invariant feature transform, SIFT)[6]、HoG[7]等,代表性的分类器有支持向量机(support vector machine,SVM)[8]、AdaBoost[9]等。基于场景建模的方法不受应用场景的限制,因此可以用于移动式视频监控终端。

为了提升视频监控数据智能化分析的能力,电力运行维护领域的众多专家学者也开展了一系列的研究,试图利用计算机视觉手段,对非结构化的视频监控数据进行主动分析,以辅助提升变电站视频监控数据的利用率和智能化分析水平。在面向电力行业的应用中,基于人工设计特征的方法被广泛应用在各类场景中。文献[10]提出了基于区域特征和局部特征相融合的运动目标检测算法,并将场景分为动态背景和静态背景分别建模处理,有效地抑制了动态背景产生的虚假目标。该算法仍以背景建模为基础,因此只适用于静止的设备监控终端。文献[11]面向移动机器人云台采用了一种基于特征点匹配的指针仪表目标检测与识读方法。该方法通过消除光线变化、污秽等外部干扰因素的图像预处理,有效地提升了表盘和指针目标的检测效果,但这是在云台静止不动的情况下应用的,因此其在移动式视频监控终端的有效性有待验证。基于边缘轮廓提取的方法[12]也被应用于复杂环境下绝缘子的定位检测,即通过计算目标图与模板图的归一化互相关系数矩阵,并在空域上对模板图像进行尺度变换和角度旋转,实现基于模板匹配的绝缘子定位。此外,基于人工设计特征的其他方法如基于纹理特征的定位[13]、融合颜色特征的图像定位分割[14-15]等方法也被广泛应用于电力运行维护领域的目标检测中。

以上方法虽然在特定应用场景下取得了较好的效果,但仍有以下需要解决的问题[16]:①传统方法结合梯度、颜色或纹理等人工设计的浅层特征进行目标检测,难以对视频图像中丰富的深层次特征进行提取和描述,在边缘对比度较低的情况下,极易造成漏检漏判。②人工设计的特征可分性较差,致使目标检测方法容易受到背景噪音的干扰,无法为后续的识别提供更多分类依据,导致最终分类错误率偏高。③人工设计的特征具有针对性,很难将针对性的单一特征用于对多目标进行检测,因此在视频图像中关注的目标较多的情况下,必须针对不同的目标分别设计不同的特征。

2 基于YOLO v3优化的变电站目标检测方案

2.1 YOLO 及YOLO v3

当前基于深度学习的目标检测方法通常被分为2类:基于区域提议(或候选窗口)的方法和基于回归的方法。区域卷积神经网络(region-convolutional neural networks,R-CNN)系列[17-18]是基于区域提议的方法中最具代表性的目标检测框架。而YOLO系列[19]则是基于回归的方法中应用最为广泛的框架之一。相比较于基于区域提议的R-CNN系列方法在检测精度上极具优势,YOLO系列方法的优势则体现在检测速度上[20]。

YOLO v3[21]、YOLO v2[22]都是由YOLO演变而来,YOLO v3则是在YOLO v2的基础上又进行改进,在维持检测速度的同时可获得更好的检测精度,即:①bounding box预测。YOLO v3延续了YOLO v2对每个方格预测5个方框的bounding box预测方式,在判断anchor box的正负时,通过最大IoU法确定正anchor box。②类预测。不同于softmax,YOLO v3采用independent logistic classifiers和binary cross-entropy loss,更好地处理了多标签任务。③多尺度预测。YOLO v3使用了3个不同的scale进行预测,将前2层的feature-map进行上采样,从网络低层取feature-map,用element-wise addition将其与上采样特征合并,加一些卷积层,然后进行预测。④基础分类。YOLO v3采用了比YOLO v2的darknet-19更深层的darknet-53网络,在特征提取上表现出更好的性能,实现了与Resnet-152近乎相同的准确率,而速度却是后者的2倍。

由此可见,随着算法的不断改进,基于回归的YOLO系列方法在检测精度和实时性2个方面都得到了较好的平衡,尤其是YOLO v3在部分数据集上已经获得了接近快速 R-CNN的性能。

2.2 面向变电站关键目标的检测算法方案

整体而言,针对变电站关键目标的检测主要采用粗粒度检测与细粒度分类相结合的方案。在方案中,将检测的目标细分为作业人员、施工车辆2类,而其中作业人员又包含了是否穿戴作业安全帽和是否穿着工作服,施工车辆又进一步划分为吊车、泵车、铲斗车、挖掘机等特种车类别。在面向上述目标的粗粒度检测方面,主要采用基于TensorFlow框架的YOLO v3目标检测方案,使用优化后的YOLO v3算法对目标进行检测并输出其在图像中的位置坐标。在细粒度分类方面,采用基于TensorFlow框架的深层神经网络分类方案。当智能视频终端采用目标检测算法捕捉到变电站作业人员之后,再利用优化裁剪后的分类网络对作业人员进行更细致的下一级类内区分,主要是针对变电站作业人员判断其是否佩戴安全帽和是否穿着工作服等,即使用单目标的多标签分类对变电站作业人员的属性类别进行独热编码。例如:一个佩戴了安全帽并穿着工作服的工作人员就可以独热编码表示为“1 0 1 0”。细粒度独热编码表见表1。

表1 变电站作业人员细粒度独热编码Tab.1 Fine-grainedone-hot encoding for operators’ attributes

3 面向边缘端的YOLO v3算法优化

由于对边缘端装备的智能推理能力的需求越来越高[23],应用于变电站关键目标检测的CNN模型在终端应用前需要进行适当的优化。本节分别介绍了对粗粒度检测算法与细粒度分类算法进行的优化。

3.1 粗粒度算法优化

标准的YOLO v3算法是近年来表现最为优异的边框回归类算法,但在变电站应用环境进行目标检测时,由于变电站现场设备、环境等非关注物的影响,造成模型在训练的过程中会遇到大量的假正例,即负样本被错误地分类为正样本。大量令分类器难以正确分辨的负样本会造成正负样本比例失衡,从而影响分类器正确率。因此,本文利用在线困难实例挖掘(online hard example mining,OHEM)方法,提高真负例的比率,并对算法原来采用的损失函数进行改进,对正/负样本使用了focal loss损失函数[24],通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。focal loss损失函数

(1)

式中:y为真实样本的标签(1为正,0为负);y′为经过sigmoid激活函数的预测输出(数值在(0, 1)之间);γ为样本预测参变量,当γ> 0时,函数减少了易分类样本的损失,使得模型更关注于困难的、易错分的样本。

此外,由于算法针对作业人员是否佩戴安全帽、是否穿着工作服进行了独热编码,对于损失函数而言,当使用预测概率去拟合真实概率函数时,将无法保证模型的泛化能力,容易造成过拟合。为了解决这个问题,采用标签平滑[25]的方法,即在真实标签中加入噪声,减少计算损失函数时真实标签所占的权重,在不改变模型结构的情况下防止其过拟合,从而使模型性能达到最优。

3.2 粗粒度算法压缩

智能算法需要在监控终端上进行部署,形成智能视频监控终端,为了提高模型在终端上处理的实时性,对YOLO v3网络进行模型压缩。本文采用MobileNetV1替换YOLO v3的Darknet-53,将上采样层替换成MobileNet的最后3层,使YOLO v3更加轻量和高速。经过测试,这样的改造使模型耗时相比于改造前缩短了5 ms,提升了模型速度。

此外,采用剪枝的方法对YOLO v3滤波器通道进行处理。对于权重贡献度低于设定阈值的部分,则认为其作用较小予以删除。贡献度的高低按照权重的绝对值大小来进行衡量,将分布在0的两侧且低于设定阈值的贡献值转化为0,转化后的部分将不参与网络的前向和后向传播,如图1所示。经4次压缩后,模型大小减小到原来的1/2,模型耗时相比压缩前缩短了4 ms,模型速度提升,模型精度损失微小。

图1 单次剪枝后某层权重分布Fig.1 Weight distribution of a layer after a single pruning

3.3 细粒度算法优化

为了在低功耗的视频监控终端上实现对作业人员穿戴属性的进一步分类,同样需要对细粒度分类算法进行优化。目前在细粒度分类实现上采用了SmallerVGGNet[26]。对该部分算法的优化包括2个方面:①对网络进行裁剪和网络修改。去除网络中的全连接层,改用全局平均池化层,同时剔除掉输出通道最大的2层卷积网络,因为其具有最大的参数量。可视几何组(visual geometry group,VGG)网络原先保存的权重尺寸将近200 M,在进行裁剪和修改后只剩下14 M,使得算法的检测速度大幅提高。②针对分类方法进行优化。对于多标签分类而言,一个样本的标签不仅仅局限于一个类别,可以具有多个类别,且不同类之间是有关联的。在作业人员穿戴识别中,安全帽、工作服是作业人员的不同属性,但是这2个属性标签不是互斥的,而是有关联的。在同一个场景样本中,作业人员穿戴的标注是属于多标签问题。原网络中采用的softmax损失函数适用于单标签多分类问题,因此在这里改用了更适合多标签分类问题的sigmod函数。

4 实验评估

4.1 服务器配置及样本集准备

为验证算法的有效性,对优化后的算法进行了一系列测试,以评估粗粒度检测与细粒度分类的性能表现。算法的训练是在一台深度学习服务器上进行的,该服务器配置多颗NVIDIA 1080Ti GPU和Intel XEON 12核CPU,16 GB DDR4内存。在服务器的Ubuntu 16.04上配套搭载TensorFlow 1.12、Keras 2.2.4框架,并配置OpenCV3.4、scikit-learn 0.20.3、numpy、pillow等配套软件。

变电站中出现的目标类型众多,其中开展现场作业的人员和车辆通常具有运动特征,其行为动作对变电站现场设备、环境的变化会造成影响,因此是变电站现场视频监控中的主要目标对象。此类目标通常具有一些典型的局部视觉表征,如作业人员的安全帽、工作服等。为了支持前端对此类目标进行后续目标跟踪、目标分类、行为分析与语义理解等更高层次智能视频监控,本文选取作业人员佩戴的安全帽、穿着的工作服、大型施工车辆为关键目标,采集所需的图像样本。针对粗粒度检测部分,在变电站户外环境下收集了包括不同季节和不同光照条件下的目标图像样本20 000张,并使用如翻转、旋转等几何变换方法对数据进行有监督性的数据增强。针对细粒度分类部分,采集包括作业人员、施工车辆等细节目标的图片样本10 000张,同样对数据进行增强处理。所有原始图像样本在具体训练过程中进行统一压缩与归一化处理。

4.2 模型测试结果

4.2.1 粗粒度检测结果

针对粗粒度目标检测的测试,选取施工车辆作为算法检测的目标对象,具体车辆类型包括吊车、泵车、铲斗车、挖掘机这4种特种车辆。在模型训练与测试过程中将所有样本按照1∶3的比例分为训练集与测试集。为了评估算法的优化效果,采用原始的YOLO v3算法与本文所述优化的YOLO v3算法进行模型训练、验证与结果对比。测试结果主要包括召回率、准确率、平均准确率3个指标,具体结果见表2。

由表2可见:在针对变电站施工车辆进行粗粒度目标检测时,优化后的YOLO v3算法在召回率、准确率和平均准确率指标上相比较于原始的YOLO v3算法均有整体提升。这说明针对粗粒度算法采用OHEM方法及改进损失函数的优化手段是有效的,该方案通过在线挖掘真负例比率和降低易分类样本权重,使模型训练过程中的正负样本的比例更加均衡,提升了分类器的分类准确率,进而对算法整体的指标产生了正面的影响。

表2 面向施工车辆的粗粒度检测结果对比Tab.2 Comparison of coarse-grained detectionresults on vehicles

考虑到算法优化的主要目标是在视频监控终端上进行部署并提供边缘端推理,在实时性方面具有较高的要求,因此对优化后YOLO v3算法的推理时间进行测试。评估将输入图像压缩并归一化到不同尺寸下采用粗粒度检测算法在检测施工车辆上所需的时间,结果见表3。

表3 面向施工车辆的粗粒度检测所需推理时间Tab.3 Inferring timeof coarse-grained detection on vehicles

由表3可见:利用优化后的YOLO v3算法对图像压缩和归一化处理后的具有不同尺寸的图像样本进行推理,推理时间均在100 ms以内。这表明针对算法的网络压缩和剪枝优化使算法更加轻量,从而有效地保证了算法推理的实时性,有助于其在视频监控终端上的应用。

4.2.2 细粒度分类结果

针对细粒度分类的测试主要是围绕作业人员的穿戴属性进行的。为了进行细粒度分类,首先利用粗粒度检测对样本进行处理,将检测到存在作业人员的样本作为细粒度分类网络的输入,进行作业人员是否佩戴安全帽和是否穿着工作服的识别分类,最终将检测结果打上标签并输出。在细粒度分类算法中,主要以准确率为考核指标。检测分类的效果如图2所示,图2中左上角的数据代表检测到的作业人员佩戴安全帽和穿着工作服的概率,其预测准确率达到了现场应用的要求。

图2 细粒度分类识别效果Fig.2 Fine-grained classification results on operators

5 结束语

本文在介绍当前变电站视频监控系统应用现状及技术需求的基础上,分析了传统目标检测方法在变电站目标检测上存在的问题,继而提出了采用基于深度学习的YOLO v3优化方法。考虑到在视频监控终端上提供前端推理的需求,针对变电站关键目标粗粒度检测和细粒度分类的实现方案分别进行了优化设计。实验结果表明:优化后的YOLO v3算法在粗粒度检测上相比较于优化前的YOLO v3算法在性能上有了整体提升,而其推理速度能够支持其在前端的应用;而结合独热编码、网络压缩与损失函数优化的细粒度分类方法能够实现对相同对象不同属性类别的准确分类。

下一步的工作是进一步扩展目标检测的对象,在构建具备更强分类能力与检测精度的深度卷积神经网络模型的同时保持其前端推理速度,并在具备专用人工智能芯片的智能视频终端上开展集成验证。

猜你喜欢
细粒度变电站监控
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
The Great Barrier Reef shows coral comeback
基于SVM多分类的超分辨图像细粒度分类方法
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
关于变电站五防闭锁装置的探讨
基于web粒度可配的编辑锁设计
超高压变电站运行管理模式探讨
支持细粒度权限控制且可搜索的PHR云服务系统
220kV户外变电站接地网的实用设计