树人论文网一个专业的学术咨询网站!!!
树人论文网

基于人工图像数据扩充的输电线路绝缘子识别

来源: 树人论文网发表时间:2021-12-06
简要:摘要:深度学习方法在计算机视觉领域发展迅速,但依赖于海量训练数据。输电线路绝缘子自动识别任务中,航拍图像数量不足、多样性差等问题影响识别的准确性。提出人工绝缘子图像数据

  摘要:深度学习方法在计算机视觉领域发展迅速,但依赖于海量训练数据。输电线路绝缘子自动识别任务中,航拍图像数量不足、多样性差等问题影响识别的准确性。提出人工绝缘子图像数据扩充方法,通过3D建模创建人工绝缘子图像,并构建导向反向补偿网络,对创建的人工图像进行补偿优化,用补偿后的人工图像扩充航拍绝缘子图像数据集。在多个典型卷积神经网络上进行绝缘子识别对比实验,结果显示,所提方法使绝缘子识别准确率平均提升2.1%,且网络相对轻量级,验证了所提方法的有效性和优势。

  关键词:人工图像;数据扩充;绝缘子;导向反向传播;卷积神经网络

基于人工图像数据扩充的输电线路绝缘子识别

  王亚茹;杨凯;翟永杰;郭聪彬;赵文清 系统仿真学报2021-12-05

  绝缘子是高压输电线路中用于电气隔离和机械固定的基本设备[1]。绝缘子故障直接威胁着输电线路的稳定和安全。据统计,由绝缘子缺陷引起的事故占电力系统故障的比例极高[2,3]。因此,绝缘子缺陷的及时检测尤为重要。传统的检测方法是电气维修人员攀爬电杆,对缺陷进行视觉或电气分析,费时、费力且危险。随着直升机和无人驾驶飞行器等空中平台的出现,它们表现出高效率和安全性,近年来已成为电力设备检查的重要工具[4,5]。安装在平台上的摄像机能够获得绝缘子航拍图像。目前,绝缘子图像识别、目标及缺陷检测均是人工手动执行,工作强度大、易发生漏检和错检,且需要专业技术人员。为了克服人工识别、检测的局限性,需要开发智能技术辅助或替代人工决策[6-8],而绝缘子图像识别是首要任务。近年来,深度学习算法在计算机视觉领域取得长足进展,也逐渐被应用于绝缘子的图像识别与检测研究[9]。然而,目前缺乏公开的绝缘子数据集;绝缘子长度、角度各异,航拍视角和视距变化很大,现场样本采集不全面,多样性差;不同状况的绝缘子样本数量差异大,样本分布不平衡;样本标注过程困难,因此样本集在数量和质量上均难以满足深度学习算法的要求[10,11],导致深度学习算法无法得到充分训练,难以得到期望的识别准确率。数据扩充是一个能够有效提高有限数据下模型识别能力的外部方法。主要可分为基于深度学习的数据扩充方法和基于图像处理的数据扩充方法。基于深度学习的数据扩充方法主要有对抗攻击[12,13]、生成式方法[14-16]、风格迁移[17-20]等。对抗攻击采用对抗性的数据明确数据空间中的类别边界;生成式方法以现有数据为基础训练生成网络 [21],产生与现有数据类似的图像,用以扩充训练集;风格迁移则通过神经网络改变图像风格的同时保留被识别目标的特征,扩充训练集。

  基于图像处理的数据扩充方法包含几何变换、噪声扰动、色彩变换、内核过滤、对比度扰动、灰度增强、图像融合等[22-24],通过一些较为规则的映射来扩充数据集的规模,从而使得模型的泛化能力得到一定程度的提高。由谷歌大脑( Google Brain ) [25] 提出的 AutoAugment 方法能够在策略空间中搜索出效果最优的图像处理策略,并得到包含多个子策略的数据扩充方案,其中每个子策略由两个基本的几何变换组成。Tao 等[10]通过给绝缘子目标更换背景的方式产生新的绝缘子样本图像,对原有图像数据集进行扩充。翟永杰等[26]基于平行视觉理论[27],初步探索了人工绝缘子图像建模。但上述数据扩充方法均未针对具体网络的响应及输出情况对用于扩充的图像进行评估,缺乏对图像进行针对性优化的策略。因此,本文通过 3D 建模软件创建人工绝缘子图像数据集,并基于导向反向传播算法设计导向反向补偿网路,对人工绝缘子图像进行补偿优化,提高其质量和数据扩充的效果,进而采用补偿后的人工绝缘子图像对航拍绝缘子图像数据集进行数据扩充,得到数量与质量更佳的训练数据集,使得卷积神经网络的训练更加充分,进一步提升网络的绝缘子识别性能。

  1 导向反向传播

  导向反向传播(Guided Backpropagation)[28] 广泛应用于卷积神经网络的可视化分析研究中。神经网络可视化方法一般是通过输出端反向估算网络上一层的梯度,将输入图像对神经网络输出结果的影响程度可视化,可以判断神经网络所关注的目标特征,对神经网络进行解释。以 AlexNet 网络[29]为例,在网络的前向传播(Forward Propagation)过程中,对输入图像像素矩阵进行反复的卷积、激活、规范化与池化操作,以提取图像特征,并将得到的特征图输入最终的全连接层后输出分类结果。激活层 ReLU(Rectified Linear Unit)的前向传播公式为: 1 ( ) max( ,0) l l l i i i f relu f f   (1) 其中, l i f 为前向传播过程中 ReLU 的输入, l 1 i f 为输出特征激活响应。反向传播(Back Propagation)与前向传播相反,是由网络输出端向输入端反推的过程,通过将梯度误差体现到网络参数的更新上,改变网络参数,使得神经网络能够作为一个“黑盒子”完成从图像到对应类别标签的近似拟合。反向传播时只回传激活响应大于 0 的区域,计算的梯度为: 1 1 1 ( ),( 0) l l l i i i l out i l i Back f f f   R R R (2) 其中, Back( ) 为反向传播的回传操作, l 1 i  R 代表反向计算过程中第 l 1 层的梯度,即该层输出对该层输入的偏导。反卷积(Deconvolution)通过将特征图中的激活响应映射到图像像素空间实现可视化,主要解决了三个关键问题:1)通过记录索引近似地对池化操作进行逆操作;2)使用卷积核的转置对卷积进行逆操作;3)用 ReLU 函数将激活单元的输入输出都保持为正的激活响应。反卷积过程将公式(2)中的回传限制条件改为梯度大于 0,即: 1 1 ( ),( 0) l l l i i i Dec   R R R   (3) 其中, Dec( ) 为反卷积的回传操作。导向反向传播算法在公式(3)的基础上添加限制条件,对激活响应与梯度值均大于 0 的区域进行回传,即: 1 1 _ ( ),( 0 & 0) l l l l i i i i G back f   R R R    (4) 其中, G back _ ( ) 为导向反向传播的回传操作。这种限制条件可有效筛选出能够对卷积神经网络的输出结果产生正向作用的图像像素区域,最终可得到比反卷积更优的激活响应可视化效果。

  2 提出的方法

  基于导向反向传播,提出的人工绝缘子图像数据扩充方法框图如图 1 所示,包括人工绝缘子图像创建、导向反向补偿网络构建和数据扩充三部分。具体介绍如下:

  (1)人工绝缘子图像创建

  真实场景的绝缘子图像来源于无人机航拍,拍摄距离和角度受输电线路、杆塔及无人机性能的限制,因此航拍图像数量和多样性不充分。相比之下,人工建模的绝缘子图像容易获取、可控性强。美国 Autodesk 公司开发的三维建模软件 3ds Max(3D Studio Max),主要功能是三维模型制作和渲染,广泛应用于场景设计、特效制作、工业设计等领域。采用 3ds Max 软件,人工绝缘子图像创建方法如下 : 根 据 电 力 线 路 绝 缘 子 国 家 标 准 ( GB/T 1386.1-1997)对绝缘子各部件进行标准化三维建模;设定各部件的材质参数,对三维模型进行颜色和材质的渲染;配置虚拟视觉摄像机,采用光源、景深等设置增加三维模型的真实性效果,并通过改变上述设置增加绝缘子模型的多样性;通过放缩、旋转等操作,利用虚拟摄像机拍摄得到不同角度、不同占比的多样性人工绝缘子图像;采用图像标注软件 LabelImg 对人工绝缘子图像进行批量标注。图 2(a)为陶瓷绝缘子的 3D 建模图,由此得到的人工陶瓷绝缘子图像如图 2(b)所示。

  (2)导向反向补偿网络构建

  为了强化人工绝缘子图像中的目标区域特征,基于导向反向传播算法构建导向反向补偿网络,对人工绝缘子图像进行补偿优化,步骤如下:

  1)计算人工图像的导向反向传播响应强度:将人工绝缘子图像输入训练好的卷积神经网络,根据公式(4)所示的导向反向传播算法,计算人工图像的响应强度矩阵,记为 R ,其中各元素为响应强度值。以 AlexNet 网络为例,将如图 3(a)所示的未补偿人工陶瓷材质绝缘子图像输入训练好的网络,根据公式(4),对人工图像的响应强度进行计算,其可视化结果如图 3(b)所示,响应强度直方分布统计如图 3(c)所示。图 3(c)中可见,反向传播的图像响应强度分布于 0 附近,-0.17~0.37 之间,其中响应强度大于 0 的像素为正面响应区域,反之则是负面响应区域;将图像的导向反向传播响应强度规范化到 0~255 之间,得到三通道可视化结果,如图 3(b)所示。由于绝大部分像素的响应强度在 0.01~0.04 之间,因此图 3(b)图像的背景为灰色。不难看出,绝缘子目标的轮廓明显地显现出来,这说明相较于其它特征,目标的轮廓特征响应强度较大,对卷积神经网络的目标识别结果影响也较大。

  2)响应强度变换:采用以自然常数 e 为底的指数函数,将响应强度 R 的各元素值由 0 附近变换到 1 附近,得到变换后的响应强度矩阵 * R 。这两个矩阵中元素之间的变换方法为: * , 1,2,..., , 1,2,..., Rij R e i M j N ij    (5) 其中,M 和 N 分别为 R 和 * R 矩阵的行数和列数。对图 3 中人工绝缘子图像的响应强度进行规范化后的响应强度直方分布统计如图 4 所示。3)人工图像补偿:将原始人工绝缘子图像的像素矩阵记为 0 I ,计算 0 I 与 * R 的 哈 达 马 积(Hadamard Product), 得到初步的补偿结果 c0 I : * c0 0 0   e R I I R I (6) 其中, "" 为哈达马积运算符。进一步对 c0 I 进行规范化(Normalization, Norm)处理得到最终的补偿结果 c I : 0 0 0 0 0 min( ) Norm( ) max( ) min( ) c c c c c c   I I I I I I (7) 其中, min( ) 和 max( ) 分别为取最小值和最大值函数。图 5(a)是对图 3(a)所示的原始人工绝缘子图像进行补偿优化的结果。图中可见,绝缘子目标的轮廓更清晰,颜色更深,目标区域更加突出,但图像的整体亮度降低,这是因为,根据公式(5)计算得到的初步补偿图像中存在 RGB 值大于 255 的区域,再根据公式(6)进行规范化后,拉低了图像的平均像素值。将图 5(a)和图 3(a)作差,并进行规范化,可以获得图像补偿算法对人工绝缘子图像的作用,其可视化结果如图 5(b)所示。直观上来看,补偿算法增强了绝缘子的目标区域,抑制了背景信息,并强化了绝缘子目标区域内部的光影效果,在视觉上丰富了图像的立体感。卷积神经网络中全连接层的输入是由激活响应变换的一维矩阵,因此通过计算每个特征图的激活响应之和,可以得到卷积层中每个滤波器对输入图像的响应。将图 3(a)所示的补偿前图像和图 5(a) 所示的补偿后图像分别输入 AlexNet 网络,以特征图为单位将全连接层前的激活响应进行统计,可以得到 256 个特征图的激活响应强度,如图 6 所示。对比图 6(a)和图 6(b),补偿后的图像中,对网络判断有强烈正面影响(响应强度值大于 0)和负面影响(响应强度值小于 0)的激活响应幅度被增强, 尤其是负面影响的激活响应幅度增强显著。

  (3)数据扩充

  如图 1 所示,将经过步骤(2)导向反向补偿网络补偿优化后的人工绝缘子图像数据集与航拍绝缘子图像数据集进行混合,构建虚实结合的混合图像大数据集,实现对航拍绝缘子图像数据集的数据扩充,提高其图像数量和多样性。最后,采用混合图像大数据集对卷积神经网络进行训练,并识别绝缘子。

  3 实验过程与结果

  3.1 数据集与实验环境

  本文实验模型在 Jupyter 平台建立,采用深度学习框架 PyTorch 实现,GPU 为 Nvidia 1080Ti。实验采用的航拍绝缘子图像数据集由无人机航拍或固定摄像头拍摄获得,均为 128 128 像素的三通道图像,总计 8000 张,部分图像如图 7(a)所示,绝缘子串或串组包含 4 到 16 个伞裙,其材质包括玻璃、陶瓷、复合材料等;图像背景包括绿色森林或田地、灰黄色荒野、阴沉或晴朗天空等;光照情况随机。人工绝缘子图像数据集由 3ds Max 建模软件创建,同样为 128 128 像素的三通道图像,总计 1000 张,部分图像如图 7(b)所示,目标为包含 4 到 20 个伞裙的绝缘子串;材质为乳白色陶瓷;背景为纯黑色;绝缘子大小、角度各异。

  3.2 实验内容

  绝 缘 子 图 像 识 别 实 验 分 别 在 torchvision. models 库 中 的 AlexNet 、 VGG11 、 VGG13 、 ResNet18、Inception_v3 等典型卷积神经网络上进行,均不加载预训练参数,选择随机梯度下降 (Stochastic Gradient Descent, SGD)算法优化损失函数,学习率设为 0.01,动量参数设为 0.5,迭代次数设为 500。用本文方法对航拍绝缘子图像数据集进行数据扩充,并与不进行数据扩充和采用未补偿的人工图像进行数据扩充的情况相比较。此外,现有的基于 GAN (Generative Adversarial Networks)网络的图像风格迁移也可产生新的图像用于数据扩充,而 CycleGAN(Cycle-Consistent Generative Adversarial Networks)[17]是近年来典型的风格迁移网络,对生成图像质量的可控性较好,且不需要大量成对样本训练,对训练样本量的要求远低于随机噪声生成方式,适用于航拍绝缘子图像数量不充足的情况,因此本文亦选择基于 CycleGAN 的图像风格迁移数据扩充方法作对比实验。采用准确率 Accuracy 和 AUC (Area Under Curve)值评价绝缘子识别结果,对比不同方法下卷积神经网络训练阶段的收敛速度,并对比不同数据扩充方法所需的浮点计算次数 FLOPs (Floating Point Operations)。由于以上数据扩充方法均不会引起参数量的改变,因此不对参数量进行统计。绝缘子数据集中,含有绝缘子目标的图像为正样本,不含绝缘子目标的图像为负样本。从航拍绝缘子图像数据集中分别随机抽取 2000 张正样本和 2000 张负样本组成包含 4000 张图像的原始训练集,再分别随机抽取 1000 张正样本和 1000 张负样本组成包含 2000 张图像的测试集。以 AlexNet 网络为例的对比实验流程如图 8 所示,不同实验中训练集不同,测试集是相同的,具体介绍如下:

  实验 1 不进行数据扩充的绝缘子识别:将原始训练集图像输入 AlexNet 网络进行训练,实时保存网络参数,训练完成后,在测试集上测试网络的绝缘子识别性能。

  实验2 采用未补偿的人工绝缘子图像进行数据扩充,并进行绝缘子识别:从 3D 建模得到的人工绝缘子图像数据集中随机抽取 1000 张正样本图像,从航拍绝缘子图像数据集中随机抽取 1000 张负样本图像,对原始训练集进行扩充。将扩充后的包含 6000 张图像的训练集输入 AlexNet 网络重新训练,并在测试集上进行绝缘子识别。

  实验 3 采用基于 CycleGAN 的图像风格迁移方法进行数据扩充,并进行绝缘子识别:从原始训练集中随机 抽取 1000 张正样本图 像,利用 CycleGAN 对每张图像进行风格迁移,生成 1000 张新图像。将新生成的 1000 张正样本图像和实验 2 中随机抽取的 1000 张负样本图像对原始训练集进行扩充,扩充后的训练集包含 6000 张图像,将其输入 AlexNet 网络进行训练。并在测试集上测试网络的绝缘子识别性能。

  实验 4 采用本文方法进行数据扩充,并进行绝缘子识别:对于实验 2 中的 AlexNet 网络,记录准确率平稳后的 AlexNet 网络参数,根据公式 (4)~(7)计算导向反向补偿网络,对实验 2 中的 1000 张人工正样本图像进行补偿,得到 1000 张补偿后的人工正样本图像。用补偿后的 1000 张人工正样本图像和实验 2 中随机抽取的 1000 张负样本图像对原始训练集进行扩充,扩充后训练集同样包含 6000 张图像,输入 AlexNet 网络进行训练。在测试集上测试网络的绝缘子识别性能。为了获得多组实验结果,重复进行以上实验 1~实验 4。每次重复开始时,需重新随机抽取 2000 张正样本图像和 2000 张负样本图像构建原始训练集,但需保持测试集不变。在其它卷积神经网络上的 实 验 , 例 如 VGG11 、 VGG13 、 ResNet18 、 Inception_v3 等,只需将上述实验 1~实验 4 中的 AlexNet 网络进行替换。

  3.3 实验结果

  重复进行以上实验 1~实验 4,获得 5 组绝缘子识别对比结果,对评价指标取平均值,如表 1 所示,具体分析如下:

  1)在准确率方面:不进行数据扩充时, AlexNet、VGG11、VGG13 和 Inception_v3 网络的准确率均为最低;使用未补偿的人工图像进行数据扩充后,四个网络的准确率分别提升 2.2%、1.2%、 0.9%和 0.6%;使用基于 CycleGAN 的图像风格迁移方法进行数据扩充后,以上四个网络的准确率分别提高 1.9%、1.6%、0.8%和 0.6%;使用本文方法进行数据扩充后,以上四个网络的准确率分别提高 3.3%、1.7%、2.0%和 1.9%;而对于 ResNet18 网络,只有本文方法使其准确率提高 1.5%,5 个网络的准确率平均提升 2.1%,明显优于现有方法。

  2)在 AUC 值方面:与不进行数据扩充相比,使用数据扩充方法后,各个网络的 AUC 值均变化不显著,甚至在使用基于 CycleGAN 的图像风格迁移数据扩充后,ResNet18 的 AUC 值有所降低。而本 文 方 法 使 VGG11 、 VGG13 、 ResNet18 和 Inception_v3 网络的 AUC 值均有所提高,在多数网络上对 AUC 值有一定的提升效果。

  3)在收敛速度方面:表 1 中统计了不同方法下卷积神经网络训练阶段准确率稳定时的迭代次数,迭代次数越低说明网络收敛速度越快。通过数据对比可见,采用未补偿的人工图像进行数据扩充,与不进行数据扩充时相比,网络的收敛速度明显提高;采用本文方法进行数据扩充时,大部分网络的收敛速度与未进行数据扩充时相比明显提高,但与采用未补偿的人工图像数据扩充时相比,有一定程度的下降,这是因为 3D 建模得到的未补偿人工绝缘子图像结构简单、背景单一,经过补偿优化后,更逼近于航拍绝缘子图像。而采用基于 CycleGAN 的图像风格迁移数据扩充时,多数网络的收敛速度最慢。

  4)在算法复杂度方面:仅对比不同数据扩充方法的复杂度,即计算所需的浮点计算次数 (FLOPs)。由于采用未补偿的人工图像进行数据扩充不会额外增加 FLOPs,因此仅需对比本文数据扩充方法和基于 CycleGAN 的图像风格迁移数据扩充方法的 FLOPs 值,如表 2 所示。需说明的是,表 2 仅反映数据扩充方法本身的复杂度,未将后续用于绝缘子识别的卷积神经网络计算在内。可见,基于 CycleGAN 的图像风格迁移数据扩充方法的 FLOPs 为 27.06 G,与后续采用的卷积神经网络无关。本文方法由于导向反向补偿网络与所采用的卷积神经网络有关,因此本文方法的 FLOPs 值随着所采用的卷积神经网络的不同而有差别,但均明显小于基于 CycleGAN 的风格迁移数据扩充方法,平均降低 60.3%,这说明本文数据扩充方法为相对轻量级的方法,便于移植到其它网络上使用。

  4 结 论

  本文针对输电线路绝缘子识别任务中训练样本不足的问题进行研究,探索更有效的绝缘子图像数据扩充方法,提出基于导向反向传播的人工绝缘子图像数据扩充方法,包括批量创建人工绝缘子图像、构建导向反向补偿网络和数据扩充三部分。在多个典型的卷积神经网络上的绝缘子识别对比实验结果表明,本文数据扩充方法能明显改善卷积神经网络的绝缘子识别准确性,且具有较小的 FLOPs 值,是相对轻量级的网络结构,便于和其它网络结合,对推进深度学习算法的应用具有现实意义。未来工作中,针对人工绝缘子图像与航拍绝缘子图像差异性或建模困难等情况,需要进一步探索人工图像数据扩充与网络训练相结合的策略。