基于平行图像与深度学习的绝缘子目标检测法

2021-11-18 04:08刘鑫月王坤峰翟永杰
计算机仿真 2021年1期
关键词:绝缘子准确率颜色

刘鑫月,陈 瑞,王坤峰,翟永杰

(1. 华北电力大学自动化系,河北 保定 071003;2. 中国科学院自动化研究所,北京100190)

1 引言

绝缘子是电力能源传输系统中的重要元件之一,它一端连接输电导线,另一端连接高压塔,起着必要的绝缘作用[1]。因此绝缘子需要承受超高的电压和机械张力。由于其长期工作在室外风雪雨雾等恶劣的环境,极易发生例如掉片,自爆和闪络等故障。这些故障将给电力电网的运行留下很大的安全隐患,因此及时检查绝缘子的工作状态十分重要[2]。

为了方便检修人员及时对故障进行检修,需要在无人机拍摄采集的图像中定位绝缘子故障,而此工作的重点之一就是先定位绝缘子。由于传统的人工分析处理绝缘子图像数据需要良好资格和经验丰富的人员,且由于图像的数量庞大而十分耗时,也容易出现漏分、误分现象,不利于后续绝缘子状态的诊断。绝缘子材质、颜色、串数种类多,图像背景十分复杂[3],可能包含杆塔、线路等伪目标,拍照的角度也具有不确定性,如图1所示。这些干扰也为实现绝缘子的自动检测和定位加大了难度[4]。

图1 无人机拍摄的绝缘子和非绝缘子图像

目前,随着目标检测算法的不断更新,通过学习大量图像样本的特征,实现绝缘子目标检测已逐渐成为的研究趋势。由于各个算法在绝缘子目标检测中的应用并没有统一的评价标准,因此本文根据研究需求,采用在目标检测中较为成熟的、检测精度相对较高的深度学习分类算法[5],来实现绝缘子的检测。

但是,由于目前国内很多有关绝缘子的图像数据并没有公开,因此图像的数据量较少成为该研究的瓶颈之一。本文借鉴王坤峰等人的“平行图像”理念[6],通过对绝缘子图像数据结构进行研究,建立了人工绝缘子图像,并将真实绝缘子图像与人工绝缘子图像相结合,以实现数据量的扩充。根据数据量与数据结构,本文搭建了5层的卷积神经网络,用于特征提取与分类。

2 数据准备

2.1 平行图像

平行图像是利用从实际场景中采集得到的真实图像,通过人工图像系统对真实图像的特点进行解析和吸纳,从而自动生成大量新的人工图像数据。人工图像系统的实现方法包括:图形渲染、图像风格迁移、生成式模型等。平行图像为平行视觉研究提供大规模多样性的图像数据[6]。

借鉴这个理念,根据国家标准GB/T 7253-87《盘形悬式绝缘子串元件尺寸与特性》及GB1001-86《盘形悬式绝缘子技术条件》中规定的绝缘子结构和技术条件,运用3ds Max软件对绝缘子各个部件的形状、材质和颜色进行建模,生成符合研究需求的人工绝缘子图像[7],建立人工绝缘子图像数据集,主要流程如图2所示。

由于真实图像中的复杂背景是影响绝缘子检测的最大干扰,因此在建立人工绝缘子图像数据集时主要采用了单色的纯净背景,以凸显出绝缘子目标的主要特征,提升数据质量。根据材质的不同,绝缘子可以分为玻璃绝缘子、瓷质绝缘子和复合绝缘子,生成三类人工绝缘子图像有1000余张,大小均为256×256。再结合由无人机拍摄采集的如图1所示的真实绝缘子图像6000张以及非绝缘子图像5000张,共同构成训练和测试所需数据集。建立的人工绝缘子图像数据集中的部分数据如图3所示。

图2 人工绝缘子图像生成过程

图3 人工绝缘子图像数据集示例

2.2 颜色预选

图像区域的显著性取决于其自身特征与周围环境之间的差异[8],在基于内容的图像理解中具有重要的作用。绝缘子是具有颜色显著特征的目标,且颜色特征是计算机语言中较为准确、直接和快速的特征之一,因此采用与人类视觉系统最相似的HSV颜色空间,能够在一定程度上有效地将目标与背景分离开[9]。

深度学习分类目标检测算法的第一步就是根据提取的特征生成候选区域。借鉴此想法,本文对真实绝缘子图像进行颜色特征提取,并利用此特征实现目标与背景的分离,获取的不同程度的凸显目标的图像即为经过颜色预选的图像。

颜色预选的主要目的有两方面:一是为了改善数据质量,二是为了实现目标检测。其主要步骤是,首先经过大量的实验与测试,获得最合适的HSV颜色空间设定阈值,然后以这些阈值为权重,建立颜色预选的数学模型,最后把真实图像数据集中的1000张绝缘子图像代入模型求解,将满足阈值的像素点决策到相应的颜色系中,则这些颜色系的图像共同构成了不同程度的包含绝缘子候选区域的图像和背景图像共计8000张的颜色预选图,其包含两类:颜色预选绝缘子图像和颜色预选非绝缘子图像。各个颜色系对应的H、S、V变量的阈值设置如表1所示,其中红色系在H的阈值有两种情况。

表1 各颜色系对应H、S、V变量的阈值

经过上述的颜色预选处理,获得的颜色预选绝缘子图像和非绝缘子图像,如图4所示。

图4 颜色预选获得绝缘子和非绝缘子图像

3 基于深度学习的目标检测方法

3.1 构建卷积神经网络

深度学习目标检测算法常用的CNN架构都包含32层以上的网络层数,训练用的数据都是几万甚至几十万的数据量,而研究所用的绝缘子图像数据量则是千量级的,如果直接送入这些深层网络中训练很容易出现过拟合的问题。因此,经过对数据结构与内容的分析,选择Pytorch深度学习框架,构建了一个5层的卷积神经网络,如图5所示。网络的输入是进行重设大小的256×256的RGB图像,通道数为3;网络第一层卷积核大小为5×5,通道数为16;第二层卷积核大小为5×5,通道数为32;第三层卷积核大小为4×4,通道数为64;第四层卷积核大小为4×4,通道数为128;网络的前四层卷积的步长s都设为1,每一层不仅包含卷积层,也均包含了一个大小为5×5的感受野,以及步长s为2的最大池化层;网络的第5层为全连接层,输出通道为2,即获得分类的两种结果。

图5 卷积神经网络架构

3.2 模型训练

利用CNN对输入图像进行特征提取,从而获得一批权值的过程称为训练模型。训练后获得的预测值会与真实值之间存在一定的差异,这个差异通常被定义为损失函数。训练的目的就是通过梯度下降、权值更新和不断的迭代,让损失函数无限趋近于0,从而让计算机获得对输入图像较好的认知理解。对于图像数据来说,最终目标是建立一个良好的分类网络,区分出包含绝缘子目标的图像。

3.2.1 公式化

首先定义输入数据为

S={(Xn,Yn),n=1,…,N}

(1)

其中Xn表示原始图像数据,Yn表示图像的对应二进制标签,Yn={y(n)},y(n)∈{0,1},y(n)表示真实输出值。

为了缓解梯度消失,节省计算量,使用了ReLU函数作为激活函数。它可以提升网络的稀疏性,减少参数之间相互依存的关系,从而缓解过拟合的情况[10]。还在部分隐藏层中添加了dropout来使部分神经元失效,防止过拟合[11]。除此之外,又通过设置批次数为64来适当提高内存的利用率[12]。在卷积神经网络的每一层,都会得到输出如式(2)所示的预测值。

n=ReLU()

(2)

选择交叉熵损失函数(Cross Entropy Loss)作为训练模型的loss。由于选用的是Pytorch深度学习框架,所以其中集成的交叉熵函数包括了归一化指数函数(Log Softmax)和负对数似然损失函数(NLL Loss)两部分,因此在上面图5的网络架构中没有添加softmax层。

交叉熵函数的计算公式为

(3)

(4)

等式(4)是成本函数J,表示在整个绝缘子图像训练集上的loss的平均值。通过学习参数W,使总体成本函数最小化。如下式(5)所示,通过标准(反向传播)随机梯度下降实现最小化目标函数。

(W)*=argmin(J(Y))

(5)

其中,(W)*表示使成本函数最小的权值集合。

3.2.2 训练方案1-无迁移学习

本文采用的训练方案如下:

1) 训练1:使用真实的绝缘子图像A和真实非绝缘子图像B训练搭建的CNN分类模型,达到一定训练效果以后,获得模型1;

2) 分类:用模型1将颜色预选后的8000张图像进行分类,得到两类图像,随机选取其中部分数据作为训练集的一部分(1000张颜色预选的绝缘子图像D和1000张颜色预选的非绝缘子图像D1);

3) 训练2:随机初始化参数,在A中加入人工绝缘子图像C,在B中加入真实非绝缘子图像B1,用该数据结构重新训练CNN分类模型,获得模型2;

4) 训练3:随机初始化参数,在A中加入经过颜色预选的绝缘子图像D,在B中加入经过颜色预选的非绝缘子图像D1,用该数据结构重新训练CNN分类模型,获得模型3;

5) 对比不同数据集结构的训练效果,包括loss的变化曲线和准确率变化曲线。

其中,训练集的准确率实时反馈给训练网络作为更新参数的参考,因此训练集的准确率是用来评价训练集上模型训练的程度的。准确率计算公式如下

P=(TP+TN)/(TP+FP+TN+FN)

(6)

其中,TP表示被模型预测为正的正样本,TN表示被模型预测为负的负样本,FP表示被模型预测为正的被模型预测为正的正样本样本,FN表示被模型预测为负的正样本。

3.2.3 训练方案2-迁移学习

迁移学习属于机器学习的一个研究领域。它专注于存储已有问题的解决模型,并将其利用在其它不同但相关的问题上,其最大的优势在于节省训练时间。采用迁移学习检验本文方法的效果,实验步骤如下所示:

1) 训练1:同3.2.2中的1),获得模型1;

2) 分类:同3.2.2中的2),获得1000张颜色预选的绝缘子图像D和1000张颜色预选的非绝缘子图像D1;

3) 训练2:使用迁移学习,将训练1获得的模型1参数作为训练2的初始化参数。用A+C与B+B1的数据结构训练模型1,获得模型2;

4) 训练3:使用迁移学习,将训练1获得的模型1参数作为训练3的初始化参数。用A+D与B+D1的数据结构训练模型1,获得模型3;

5)对比不同数据集结构的准确率变化曲线。

由于是迁移学习,因此loss的下降变化不大,因此这里只讨论不同数据集结构的准确率变化曲线,而不再讨论其loss的变化曲线。

3.2.4 训练数据集结构

如下表2是训练方案中不同的模型所对应的训练集结构、数据量和标签,0表示正样本,1表示负样本。训练方案1和训练方案2均使用表3中的数据结构。

表2 不同训练的训练集数据量和标签

3.3 模型测试

3.3.1 公式化

在测试期间,给定图像集X,训练后得到参数W*,获得预测输出如式(7)所示

=CNN(X,W*)

(7)

其中CNN(·)表示由CNN网络产生的预测标签,然后进一步聚合这些生成的标签获得最终的统一预测输出。

测试数据是模型未学习过的,测试的准确率是用来评价模型的泛化能力的。

3.3.2 测试数据集结构

测试过程是对训练方案1和训练方案2获得的模型进行测试,测试数据集均使用表3中的数据结构。

表3 不同测试的数据集结构

3.4 目标检测

3.4.1 步骤

1) 颜色预选处理目标检测数据集中的图像;

2) 采用训练方案1和2中效果较好的模型3对颜色预选后的图像进行分类预测,预测标签为“0”的数据即为颜色预选的绝缘子图像;

3) 对2)中获得的颜色预选的绝缘子图像进行连通域检测,并进行形态学闭运算和面积阈值选择去除噪声;

4) 获得满足阈值的绝缘子目标区域,记录其最大外接矩形框的坐标,并在原图进行标记。

目标检测的效果是根据模型画出的矩形框和标注的标准矩形框之间的重叠率来评价的,其示意图如图6所示。评价指标交并比(IOU)的计算公式如式(8)所示。

图6 矩形框重叠示意图

3.4.2 目标检测数据集结构

目标检测的数据集是模型在训练和检测中没有用过的真实绝缘子图像数据,数据量为100,该数据集需要标注标准矩形框来表示绝缘子在图像中的准确位置,即记录矩形框的坐标。

4 实验结果与分析

4.1 训练结果

4.1.1 训练方案1-无迁移学习

图7 训练1、2、3中的loss变化曲线对比

计算对比3种不同数据集结构的模型训练效果,其中loss在训练过程中的变化曲线如图7所示,3个模型在训练集上的准确率变化如图8所示,其中epoch是指训练迭代的次数。从图7(a)的趋势线可以看出,模型2的loss在训练过程中下降速度最快,最后收敛的程度与模型1相近。在最后阶段,模型2的loss比模型1稳定一些;从图7(b)的趋势线可以看出,模型3的loss在训练的前期下降速度较快,最后收敛的程度也与模型1相差无几,虽然在训练的中间阶段速度不如模型1,但是在后期收敛时模型1的loss波动更大。

从图8可以看出,模型2和模型3的准确率在训练过程中上升的速度都比模型1 更快,在后期收敛的阶段准确率也比模型1更高。

图8 训练1、2、3的准确率变化曲线对比

模型1和模型2的对比实验结果表明,利用人工绝缘子图像加入训练数据集是可行的;而模型1和模型3的对比实验结果表明,颜色预选处理对训练的过程也有明显的积极的影响。二者都可以提升训练的效率,并且准确率也均有明显提高。

4.1.2 训练方案2-迁移学习

使用迁移学习后,计算对比使用3种不同数据集结构的模型训练效果,其中3个模型在训练集上的准确率变化如图9所示。

图9 训练1、2、3的准确率变化曲线对比

从图9(a)可以看出,由于使用了迁移学习,因此在训练前期模型2的准确率就能达到较高的水平,由此可以推断,在达到相同或者更高的准确率的前提下,模型2能够有效的节省训练时间;虽然在训练后期二者准确率收敛程度相似,但是模型2的准确率在整个训练阶段的平均水平明显超过模型1;从图9(b)可以看出,针对模型3的训练,在训练前期,模型3的准确率也很高,而且在后期收敛阶段模型3的准确率也明显超过了模型1。

对比实验结果证明,利用迁移学习进行训练,也可以显著提升模型的训练效果,而且可以在达到相同性能要求的情况下消耗更少的训练时间,提升效率。

4.2 测试结果

统一使用表3中的数据,测试两个不同的训练方案(未使用/使用迁移学习)获得的模型,计算得到准确率和测试时间如表4所示。

表4 测试准确率和时间

由测试结果可以看出,在未使用迁移学习的训练中,模型2和模型3的泛化能力较模型1均有所提升,测试时间也大大减少,说明人工绝缘子图像的加入和颜色预选方案也可以有效提升模型的泛化能力。

而在迁移学习的过程中,模型2的准确率提升较大,但是时间没有明显提高,而模型3的测试时间虽然有所提高,但准确率提升不大,说明迁移学习方法具有可行性,但是对模型的泛化能力影响较小。

4.3 目标检测结果

IOU代表着两个框之间的重叠率,其值越接近于1代表检测到的矩形框位置越准确。根据3.4.1所提的目标检测步骤,进行目标检测实验,其中每个步骤的实验结果如下:

1) 100张真实绝缘子图像经过颜色预选处理后获得100张颜色预选的绝缘子图像和700张颜色预选的非绝缘子图像;

2) 选用训练后的效果较好的模型对混合数据分类后,在获得的预测标签为“0”的图像中选取100张;

3) 对数据进行连通域检测等处理后在标注了标准矩形框的原图上标记出预测的矩形框并记录矩形框坐标,如图10所示,其中蓝色框代表标注的标准矩形框,红色框代表预测的矩形框;

图10 目标检测结果

4) 计算获得的平均IOU为0.81,这表明通过该方法能够较好的检测出图像中的绝缘子并获得较准确的定位。

5 结论

本文介绍了一种平行图像与深度学习相结合的绝缘子检测方法。其中三个关键性改进是:

1) 利用平行图像理念,建立人工绝缘子图像数据集,突出绝缘子目标的主要特征,忽略背景及干扰,用于扩充训练数据获得了较好的效果;

2) 搭建了5层的CNN架构用于训练模型,并采用了剥离实验对不同的训练方案进行了独立研究与对比;

3) 对待检测的绝缘子图像进行颜色预选,一方面改进了数据集质量,另一方面也实现了绝缘子目标检测。

通过实验验证,本文所提出的方法可以有效提升模型训练效果,即loss和准确率收敛的更快,也更稳定。对于目标检测,根据实验的评估指标显示,所提方法也可以较准确的检测定位绝缘子,有助于进一步的绝缘子故障检测,维护电网的安全运行。

猜你喜欢
绝缘子准确率颜色
接触网覆冰绝缘子的多物理场分析及伞裙结构优化
基于Mask RCNN的绝缘子自爆缺陷检测
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
500kV输电线路玻璃绝缘子劣化对V串绝缘子电场分布影响仿真分析
特殊颜色的水
广西某500kV线路绝缘子选型