基于深度学习的智能绝缘子识别技术
罗浩天 罗锦 严智敏 宋晓雪
摘 要 为保证电力系统的稳定运行,输电线路的巡检是必不可少的。随着相关技术的发展,传统的人工巡检被无人机远程拍摄而取代,利用无人机携带的高清摄像机可以安全快捷的进行输电线路的日常巡检,将采集到的图像信息传输到终端并加以处理就可以了解各个输电塔的状况。为了便于对无人机采集的数据进行处理分析,本文利用深度学习技术对图片进行处理:首先为生成数据集,对图像进行预处理,并统一大小方便进行训练;再利用FCN算法,利用制作好的数据集,训练网络,调整参数;而后进行连通域的标定和绝缘子自爆位置的检测。通过深度学习算法,可以极大的减少人工成本,减少因疲劳而导致的错误
关键词 图像预处理 语义分割 FCN 连通域算法 目标检测 YOLO算法
中图分类号:TM73 文献标识码:A 文章编号:1007-0745(2020)02-0001-07
1 基于深度学习的智能绝缘子识别技术
1.1 研究背景及意义
在输电系统中,输电塔和高压线是其中主要的部分。在输电塔上,绝缘子是维修的关键部位。绝缘体通常由陶瓷或玻璃制成,以支撑导体并防止电流返回地面。然而,由于野外环境的多变,绝缘子极易损坏,常见的原因有污秽,高温,湿润,尘土等。若发生故障则不能保证电力系统的正常运转。
通过深度学习技术的应用,可以实现在复杂背景下针对绝缘子串的识别分割及绝缘子自爆故障的检测,有利于保证电力系统的安全稳定的运转。
1.2 研究内容和技术路线
1.2.1 研究内容
电力系统中的传输链路主要由架空输电线路实现。输电塔由若干部件组成:杆塔、电线、绝缘子、避雷针、开关、电缆、及其连接装置。内容繁多,过程复杂。为了有效完成对电力系统的检查,采用无人机设备对其进行全方位的拍摄。以完成绝缘子自爆的检测。利用深度学习技术对无人机采集到的图像进行分析处理,完成相应的任务要求。
1.2.2 技术路线
本文通过无人机拍摄到的绝缘子图片,依据现有国内外对绝缘子的检测和自爆缺陷的识别发展现状,基于深度学习技术对获得的图片进行预处理、分割和识别,并检测出自爆绝缘子的位置。其中分为:
a) 数据集的生成。本文使用官方的测试数据和Github公開的数据集作为绝缘子图像数据集。
b) 绝缘子图像预处理。为增加数据集的图片量,采用旋转的方式将现有图片进行变形。为保证图片的大小一致,通过缩放方式将图片统一大小,为之后的深度学习提供数据集。
c) 绝缘子的分割。利用FCN算法,利用制作好的数据集,训练网络。用测试数据生成的测试集进行测试,最后通过调参提高分割的成功率。
d) 绝缘子连通域检测。
e) 绝缘子自爆的识别。通过Yolov3对绝缘子的自爆故障进行定位,流程图如下:(如图1)
2 绝缘子图像数据的采集和预处理
2.1 采集数据
因为电路中的绝缘子通常建立在环境恶劣的地方,没有工具很难到达。大部分由无人机捕获和存储。无人机的任务包括自主设定计划、执行任务、对地面的监控,并且要对无人机的图像进行处理。无人机自动总要目标的检查、飞行控制、图像捕获和存储等一系列操作,最终获得较好的绝缘子状况。
2.2 图像预处理
对图像进行一定的提取准备,可以减少噪声,使图像特征更明显,使得图像蕴含的信息得到较好的保存,从而提高后续处理的准确度。[1]
2.2.1 图像切分
现有原始图片分辨率大致为7360×4912-3632×2624,每张图片大小大约都在7MB上。这些数据保存会耗费一定的储存空间,并且现有分辨率对进行图像处理和深度学习都过大,会大大增加计算的时间。因此本文采取先将采集到的750张图片切分为640×480大小,并打乱顺序,随机分布,减少原图过大带来的存储空间和后期计算耗时问题。
2.2.2 基于Keras的图像变换
Keras封装了很多高层的神经网络模块,例如全连接层(Dense),卷积层(Conv2D),长短时记忆模型(LSTM)等等。利用Keras框架进行数据增强,进行上下,镜像翻转,以及随机修剪、色彩抖动、平移变换、尺寸变换,新增样本图片,将这些图片作为后续语义分割的训练集。
3 基于语义分割的图像处理
3.1 神经网络算法介绍
3.1.1 R-CNN算法
CNN是Region-CNN的缩写。AlexNet 是卷积神经网络的一种,主要包含8层,其中前五层为卷积层,后三层为全连接层。虽然R-CNN有着较高的准确度,但是它的识别效率较低,主要原因是它要提取说以的特征,计算的冗余量很大。所以将采用Fast-RCNN模型。Fast-RCNN在原来的基础上新增了回归性,将融合的地方化成一个模型。
下方为Faster RCNN结构流程图:(如图2)
3.1.2 FCN算法
3.1.4 模型建立
RCNN基本步骤为:
(1)通过对显著性进行校验获得2000个较为重要的位置ROI;
(2)将图片变化为合适的大小让它上面小,下面大,再使用卷积层获得特征;
(3)对于金字塔每个尺度的每个ROI,求图像在特征图中的映射,并且统一到相同的尺度;
(4)将结果输入到并行的两个全连接层,第一个层针对每个ROI区域的分类进行概率预测,第二个层针对每个ROI区域进行位置的偏移优化。经过Fast-RCNN对RCNN的优化,将分类和窗口放在了统一的框架里面,极大的较少了模型训练和图片测试的时间。
FCN的建立:
(1)在上文预处理中分好训练集和验证集后,对形成学习机进行如下步骤;
(2)构建FCN-8s模型:根据全卷积神经网络原理,在VGG-19(Visual Geometry Group,VGG)网络模型的基础上构建FCN-8s模型;
(3)训练FCN-8s模型:同时将训练集和验证集放入构建好的模型进行训练及验证, 通过参数对比调优,完成模型的训练;
(4)FCN-8s模型预识别:将测试集输入训练好的模型,经计算后输出FCN-8s梯田影像预识别结果;
(5)DenseCRF模型:输入梯田预识别结果,构造Dense CRF模型二阶势函数,计算后输出本文方法的最终识别结果;
(6)精度评价:对比各测试区的真值图,对本文方法的实验结果计算总体精度、F1分数和Kappa系数进行精度评价。
流程图如下图所示:(如图3)
BoxSup的训练流程:
(1)对图片的bounding box ground-truth使用,Multiscale Combinatorial Grouping (MCG)生成分割mask的候选,并优化label选一个与bounding box平均交集最大的mask作为监督信息。
(2)利用上述标签信息更新分割网络(FCN)的参数。
(3)基于训练出的语义分割网络对物体框中的前景区域进行预测,提升前景mask 的准确度,再循环训练FCN。
3.2 结论分析
FCN是由模型RCN改进而得到,用卷积替换了全连接,相比于R-CNN提高了10%左右;BoxSup的核心就在不断迭代,迭代次数越多越准确,但是耗时过长。所以最后选定使用FCN算法。下面为由FCN算法得到部分掩模图结果如下:
4 基于连通域的绝缘子位置检测
4.1 算法介绍
4.1.1 基于Tow-Pass算法位置识别
Two-pass就是两边扫描,通过将图片进行两次扫描,就可以查找得到连通域并且标记它。在第一次扫描的时候,赋予每一个像素位置一个标签,扫描途中同一个连通区域的像素可能被赋予一个或者多个标签,因此需要将这些属于同一个连通区域但具有不同的标签的像素进行合并,记录其中相等的关系。在第二遍扫描中,将相等关系的标记像素归为一个连通区域并赋予相同的标签。
4.1.2 基于Seed-Filling算法位置识别
种子填充法来源于计算机图形学,对于某个图形进行填充。选取一个前景像素作为种子,根据连通区域的两个基本条件将和种子相邻的前景像素合并到同一个像素集合中,最后得到该像素集合就是一个连通区域。
4.2 模型建立
本文利用的是二值图像的连通域标记法。二值圖像是指只有黑和白两个状态的图像,由于其简单的模式,像素可以在空间上有很强的表现力。所以利用二值图像来分析连通域标记是非常方便的。根据现有的算法思路,对图片进行逐行的扫描,把每一行中连续的白色像素组成一个序列并进行标记,记下其中的起始点和终止点以及所在的行号。对于除了第一行中连续的标记以外,如果其他行的标记都没有于其之前的标记重合就标定为一个新的标号,如果仅与上一行中的一个标记有重合,则将上一行的标记赋予给它,如果与上一行的2个以上的标记区域有重叠的部分,则给当前的标记标上最小的标号,并将上一行这几个标记写入等价的对,说明是属于一个类型。将等价对转换为等价序列,每一个序列需要给一个相同的标号。将每个标号填入标记的图像中。
4.3 结论分析
通过对连通域进行标定,就可以得到不同的区域,并将其标定出来。通过程序将不同的颜色填充到不同的连通区域。可以将图像进行快速的标定。
5 绝缘子自爆位置识别
5.1 绝缘子自爆特征简介
玻璃绝缘子自爆的原因可分为产品自身质量原因与外部运行环境原因两类。其发生自爆的特征为:放射状,鱼鳞状,混合状。
5.2 算法
5.2.1 基于YOLO算法
Yolo V3作为最优秀的目标检测框架之一,与之前的RCNN、SPP-Net、Fast-RCNN、Faster-RCNN相比有了很大的进步。[3]Yolo的核心思想是使用整个画面作为输出,直接返回输出层中边界框的位置和类别。首先将一幅图像划分为7×7个网格单元,然后检测目标。如果目标中心落在网格中,网格负责预测目标。预测的候选框还需要预测一个置信度值,以确定目标是否存在。
得到每个分类置信分数之后,设置阈值将得分低的boxes筛除掉,就得到最终的检测结果。
5.2.2 基于YOLO算法的改进
目前,大多数神经网络的改进趋势是向更大、更深层次的网络发展。一般来说,层次性更强的神经网络倾向于在现实世界中学习更多的细节以获得更好的结果。YOLO v2没有专注于加深神经网络的层次,而是采用了批量归一化、高分辨率分类器、多尺度训练等方法,在保持原有速度的同时提高了精度。整个网络采用Darknet-19网络结构,包括19个卷积层和5个最大池层,与YOLO相比,卷积运算量大大减少。YOLO v3采用 Darknet-53的基础网络结构,确保了速度并再次大大提高了精确度。
5.2.3 改进SSD算法
经典 SSD 算法的模型参数运算繁多,运行时占用内存大,为了在有限的计算资源平台上完成图像识别任务并做出及时的反应,对 SSD 算法进行“减重”势在必行。提出改进的深度可分离卷积网络作为 SSD 前端特征提取的基础网络,避免卷积运算过程所带来的过大消耗,降低算法运算复杂度,适应未来实时识别车型的应用需求。[4]
(2)反残差模块。宽度参数通过压缩通道数进一步减少模型参数量,但是也造成了特征压缩的问题。而修正线性单元(ReLU)对于负输入,全部输出为零,会导致更多的特征信息丢失,深度卷积DW无法改变输入通道,这种情况下,特征提取效果不理想会导致目标检测准确率降低。
研究在 DW 之前引入反残差(inverted residuals,IR)模塊,输入为h×w的k维特征图,将 ReLU 改为 ReLU6 以限制输出范围,输出h/s×w/s的k维特征图。s 是步长,t 为扩张系数。首先用一个大小为1×1的扩展核把输入的低维特征图扩展到高维,在高维空间进行深度卷积,最后使用点卷积将特征提取结果降维映射到低维空间并用线性激活函数(linear)进行输出。对通道数扩增之后再收缩,提高了模型特征提取的能力,有效防止由于通道数较小时因非线性激活导致特征信息丢失的情况,可以提高目标检测准确率。结合反残差模块的深度可分离卷积SSD结构.
(2)GMM模型的改进:
i.GMM模型的自适应改进
在对运动的物体进行检测时,以往的GMM里K值是不发生变化的,这样就约束了算法在不同环境中的鲁棒性。如果环境中没有移动的物品时,那么不需要以往那么多的资源,只要观察一个最为重要的分布就可以观测到全局的分布。当环境中出现目标物体后,考虑的值会明显增多,这便需要利用较多的高斯分布来计算。在此基础上,改进出了不断适应环境的高斯算法。过程如下:
(1) 先加入稳定数ρ来修改权和协方差的分布,并且0<ρ<1。当新得到的权很大、方差很小时,分布会变的更加重要,变得容易成为用于背景构造的元素之一,造成整个模型的质量下降,可能会影响对结果的准确率。为了让分布更加符合实际情况,所以添加了一个稳定系数ρ,如果检测图像的像素点与多个分布都不同时,则按以下规则重新产生下一个分布:
5.3 结果比对
对于SSD模型来说,它的速度一般,准确度较高,但需人为预设默认边框的最小值,最大值和纵横比例值。模型中最初的默认边框基础的大小和形状都不能直接通过模型学习得到也无特定的初始值,必须要人为手工设置。且卷积神经网络每个卷积层的特征图使用的默认边框各类参数不一,以至于调试参数过程需要长期积累经验。
即使pyramdial feature hierarchy这样的思路,对较小的特征RECALL效果还是不好,并没有达可以完全替代Faster RCNN。这是由于SSD使用conv4_3低级特征去检测小目标,而它的卷积层数少,特征提取也不完整。所以它的使用复杂,不适合在讲求效率的工程领域使用。
GMM和K-means还是有很大的相同点的。GMM中数据对高斯分量的响应度就相当于K-means中的距离计算,GMM中的根据响应度计算高斯分量参数就相当于K-means中计算分类点的位置。然后它们都通过不断迭代达到最优。不同的是:GMM模型给出的是每一个观测点由哪个高斯分量生成的概率,而K-means直接给出一个观测点属于哪一类。所以GMM的模型的迭代次数多效率低。同样不适合使用工程领域,同时它的准确度也不具有稳定性,在几次实验中忽高忽低,使它的数据充满可疑性。
对比以上三个模型,经过各项技术参数的比对,在对YOLOv3 进行 channel pruning 之后,模型的参数量、模型大小减少 80% ,FLOPs 降低 70%,前向推断的速度可以达到原来的 200%,同时可以保持 mAP 基本不变(这个效果只是针对该数据集的,不一定能保证在其他数据集上也有同样的效果)。到此为止,YOLO算法的准确度已经达到70%远高于其他两个模型。YOLO3借鉴了残差网络结构,形成更深的网络层次,以及多尺度检测,提升了mAP及小物体检测效果。如果采用COCO mAP50做评估指标(不是太介意预测框的准确性的话),YOLO3的表现相当惊人,如下图所示,在精确度相当的情况下,YOLOv3的速度是其它模型的3、4倍。
6 总结与展望
6.1 总结
本文主要基于绝缘子图像数据研究不同的方法实现绝缘子“自爆”缺陷的检测。本文基于国家电网查找给出的图像,主要以无人机航拍的绝缘子图像数据为研究基本对象,将检测绝缘子“自爆”作为目标,对其中图像处理深度学习进行建立模型,结果比对,得出实验结果。对本文的研究内容和取得成果总结如下:
本文通过使用官方给出的数据以及在GitHub公开的数据集作为了图像的基础数据集,最早通过图像的预处理,将图片旋转几个角度以此来提高识别的准确度,在已有的基础上扩展数据集。
本文使用深度学习,利用FCN算法分割绝缘子,并用已有的数据集进行训练。然后在对连通区域进行检查得到较为客观的掩模图。最后通过基于Python平台的YoloV3算法对得到的自爆故障进行定位。在得到的结果中可以发现模型已经具有较好的效果,可以准确的识别出已经自爆的绝缘子。
本文值得注意的是,本文每一个步骤都选用了多个方法进行比较,保证了结果的准确性,并且同时也带来的更多的解决方案,以此来适应不同的环境。
6.2 展望
本文从图像处理和深度學习两个角度出发研究了航拍中绝缘子串的识别和绝缘子“自爆”点的位置识别。由于深度学习继续迅速,研究不断深入,新的模型和算法的提出,在今后的时间针对本文不足进行完善,可完善的地方主要有以下方面:
(1)数据的不充足性。由于电力图像获取难度大,本文所使用航拍图像有限。基本供于原图应是2000张左右,但是由于获取数据有限,在处理后才刚刚达到深度自主学习所需训练集,后期可以通过无人机拍摄更多图像进行加强。
(2) 基于深度学习的检测算法在未来探索更合适的网络模型,降低网络复杂度。以期实现绝缘子检测的智能化和自动化。
另外在从当下时期来看我国电网面临着严峻挑战,主要包括:西电东送距离遥远和线路走廊的限制,要实现大规模的输电面临着诸多技术难题:大区电网强互联的格局尚未形成,因而全局的电力资源优化配置,优化调度还难以实施,南北互供的电量还很少,电网建设滞后,电网中输电瓶颈增多,其中,电网绝缘子安全可靠性成为电网安全的重要因素。因为,电力网输配电线路大多建设在野外,长期在恶劣气候条件下工作,强化输配电绝缘子安全可靠性,对于线路安全起到重要的作用,输电网安全运行强调输电网绝缘子的重要性。更应该加快速度,将商业化的无人机识别技术投入到电网中。
可以预见在将来本文的技术可以被应用在各个多个领域,并且也具有较大的提升空间,和较好的可塑性。以本文的YoloV3模型为例,本次由于训练数据较少的原因,使识别的精度差强人意,如果可以收集更多的数据,多模型进行更多的训练,那么准确度会有一个质的飞跃。
参考文献:
[1] 王梦.基于绝缘子图像的缺陷检测方法研究[D].华中科技大学,2019-05-26.
[2] 段杰,崔志明,沈艺.一种改进 FCN 的肝脏肿瘤 CT 图像分割方法[J].图学学报,2020(02).
[3] Zhengxia Zou, Zhenwei Shi. Object Detection in 20 Years: A Survey [J].University of Michigan,2109-07-10.
[4] Wei Liu1 , Dragomir Anguelov2 , Dumitru Erhan2 . SSD: Single Shot MultiBox Detector University of Michigan, Ann-Arbor,2015-12-14.