本发明属于图像目标检测识别和计算机视觉领域,主要涉及高压运输线上的电力小部件的绝缘子的故障定位识别实时检测方法,具体为:一种基于深度学习的绝缘子故障定位识别方法。
背景技术:
绝缘子作为电力运输中的常见电力小部件,对电网的安全运行起着不可替代的作用,绝缘子常年暴露在外,时间的累积和恶劣的天气会使绝缘子的遭到性能的破坏影响电力的运输,所以需要及时的检测出有故障的绝缘子并进行更换至关重要,目前人工的对绝缘子进行人工分析和处理,工作量庞大且效率低下,存在由工作人员经验和个人素质引起的偏差。因此,急需一种可靠的绝缘子故障识别的方法。
目前,针对绝缘子故障识别方法的研究,基于普通卷积神经网络的绝缘子识别研究中,是以绝缘子整个图像作为网络的输入,这种以整个图像作为网络的输入不能很好的结合绝缘子的背景信息,不能在复杂的环境下准确的识别出绝缘子并进行故障诊断。
技术实现要素:
本发明的目的在于克服现有技术中的缺点与不足,提出一种基于深度学习的绝缘子故障定位识别方法,提高检测准确率,大大缩短检测的时间,达到实时检测。
为实现以上目的,本发明采取如下技术方案:
一种基于深度学习的绝缘子故障定位识别方法,包括下述步骤:
(1)采集绝缘子图像并进行预处理,构建绝缘子图像数据集;
(2)构建深度卷积神经网络模型,该模型提取绝缘子的图像特征信息,采用选择性搜索和多尺度滑动窗口的方式来生成区域建议框,并对生成的区域建议框进行分类,进而对绝缘子进行类别判定和目标定位;
(3)利用绝缘子图像数据集对构建的深度卷积神经网络模型进行训练,具体是采用区域建议框生成网络和目标检测网络交替训练,并结合梯度下降法进行迭代计算权值;
(4)对训练完成的深度卷积神经网络模型进行故障定位识别测试。
作为优选的技术方案,步骤(1)中,对绝缘子图像进行预处理,构建绝缘子图像数据集,具体为:
对所述绝缘子图像的大小进行归一化,然后对归一化后的绝缘子图像进行扩增处理;所述扩增处理的方式包括对图像进行旋转、剪裁、平移、镜像、清晰化和去噪操作。
然后采用bbox-label-tools对扩增后的绝缘子图像进行绝缘子的位置和类别标注,并将类别标签分为三类,分别是绝缘子,绝缘子故障,背景。
作为优选的技术方案,所述步骤(2)中的深度卷积神经网络模型,该模型架构包括:输入图片层、共享卷积层、区域建议框生成层、roi池化层、区域建议框判定层、两个全连接层和最后用于类别判定与位置回归的两个优化目标层;
输入图片由输入图片层进入共享卷积层,共享卷积层作为特征提取层来提取输入图片的底层特征图,所述底层特征图经过区域建议框生成层生成区域建议框,使用非极大值抑制算法消除多余的区域建议框,未消除的区域建议框进入roi池化层,roi池化层是一个pooling层,提取区域建议框的特征图,然后输出到区域建议框判定层并对特征图进行类别判定,随后经过所述两个全连接层,最后进行绝缘子的分类和目标定位。
作为优选的技术方案,所述共享卷积层包括多层结构,每层结构由卷积层、relu层或池化层组成。
作为优选的技术方案,所述共享卷积层是由5个layer组成,第一个layer层由一个卷积层加一个relu层加一个池化层组成,卷积核的大小为7*7*3*96,步长为2,pooling的大小为3*3,步长为2,padding为1;第二个layer层由一个卷积层加一个relu层加一个池化层组成,卷积核的大小为5*5*96*256,步长为2,pooling的大小为3*3,步长为2,padding为1;第三个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*256*384,步长为1;第四个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*384*384,步长为1;第五个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*384*256,步长为1;在所述的每个layer层中,池化层均采用最大池化,选取区域内的最大值作为特征值。
作为优选的技术方案,所述区域建议框生成层采用选择性搜索和多尺度滑动窗口的方式来生成区域建议框;
对深度卷积神经网络模型进行训练时,同时使用选择性搜索和多尺度滑动窗口来生成区域建议框;对训练完成的深度卷积神经网络模型进行测试时,采用选择性搜索生成区域建议框。
作为优选的技术方案,所述区域建议框判定层用于对生成的区域建议框进行类别判定,所述类别判定取决于区域建议框的宽度和长度,具体的判定公式如下:
其中
为强制使生成的区域建议框属于五种判定类别,采用如下的分类公式:
其中roic为区域建议框类别,h为垂直细长建议框,sh为次垂直细长建议框,s为方框,v为水平细长建议框,sv是次水平细长建议框。
作为优选的技术方案,所述两个优化目标层为深度卷积神经网络的两个输出,即每个类别区域建议框的分类概率预测和偏移优化,目标损失函数由分类损失和位置损失组成;对区域建议框进行类别判定时,对每个类别的建议框设置不同的通道,每个通道都可分别计算每种类别区域建议框的目标损失函数,所述目标损失函数定义如下:
其中,l2(w)为正则化函数,
ti和
ti=(tx,ty,tw,th)tx=(x-xa)/waty=(y-ya)/hatw=log(w/wa)th=log(h/ha)
式中,x,y,w,h分别表示预测的包围框中心坐标、宽度和高度;xa,ya,wa,ha分别表示候选区域的包围框中心坐标、宽度和高度;x*,y*,w*,h*分别表示真实包围框中心坐标、宽度和高度。
作为优选的技术方案,步骤(3),具体如下:
采用区域建议框生成网络和目标检测网络交替训练,在训练的过程中使用梯度下降的方式进行迭代计算并且更新网络中的参数,一开始对参数进行初始化,利用绝缘子训练数据进行迭代,计算真实数值和输出网络数值之间的损失函数误差,再将误差从最后一层往前传播,一直传输到输入,同时利用梯度算法计算每一步的梯度,进而对每一层的权值进行更新,直到损失函数达到最小,或者达到设置的迭代次数从而结束训练;
其中,所述采用区域建议框生成网络和目标检测网络交替训练,具体过程如下:
第一步:用imagenet模型对区域建议框生成网络进行初始化,然后开始训练区域建议框生成网络,实现端到端微调以用于区域建议框生成,区域建议框由选择性搜索和滑动两种方式共同生成;
第二步:利用第一步使用两种方式生成的区域建议框训练一个目标检测网络,所述目标检测网络包括卷积层部分、区域建议框生成层、roi池化层、区域建议框判定层、两个全连接层、以及两个优化目标层,其中区域建议框生成层只使用选择搜索生成区域建议框;训练过程中,所述使用两种方式生成的区域建议框替换只使用选择搜索生成的区域建议框,目标检测网络的其他网络层保持不变,此时第一步所述的区域建议生成网络与训练后的目标检测网络仍是独立的两个网络,没有共享卷积层部分;
第三步:利用第二步训练得到的目标检测网络重新初始化第一步的所述的区域建议生成网络,此时固定两个网络的卷积层部分,对区域建议生成网络的独有的网络层进行微调,所述独有的网络层包括用于滑动窗口的卷积层和两个全连接层;
第四步:固定共享两个网络的卷积层部分,对目标检测网络的两个全连接层进行微调。
作为优选的技术方案,在步骤(4)中,利用训练完成的深度卷积神经网络模型对待测绝缘子图像进行绝缘子的故障定位测试,设置目标损失函数的置信度阈值,若检测结果大于置信度得分就输出该结果;否则,不输出该结果,测试结束。
本发明相对于现有技术具有如下的优点和效果:
(1)本发明方法的与现有的技术相比,在现有的目标检测识别技术中,区域建议框的提取采用的是选择性搜索或者是滑动窗口,在本发明中是同时使用两种方式,在使用选择性搜索的同时使用多尺度滑动窗口,可以捕获选择性搜索遗漏的众多相邻的区域建议框,从而提供大量的训练实例,在训练过程中同时使用这两种方式,在测试过程中只使用选择性搜索,采用该方式可以更好的提取区域建议框,更加有效的提取物体的底层特征,使绝缘子的识别率上升,位置定位回归更加的准确。
(2)由于绝缘子的拍摄场景导致拍摄的绝缘子大小形状不一这个特点,与现有的技术相比,本发明添加了区域建议框判别层,添加的区域建议框判别层专注于更好的捕捉由形状不一,姿势和视角引起的绝缘子的外观变化,区域建议框判别层根据区域建议框的长度和宽度来判断建议框的类别,并定义了判别方式,本发明一共设定了5个类别,分别为每个类别的设置了一个通道,本发明在每一个通道设置了全连接层、类别判定以及位置回归层,重新定义了进行反向传播的损失函数,此方式可以更加有效的对区域建议框进行类别判定和位置回归,使map增加。
附图说明
图1为发明基于深度学习的绝缘子故障定位识别的流程示意图;
图2为发明深度卷积神经网络的总体框架示意图。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不限于本发明。
实施例
如图1所示,一种基于深度学习的绝缘子故障定位识别方法,包括下述步骤:
步骤1、采集绝缘子图像并进行预处理,构建绝缘子图像数据集;
1a)用无人机搭载摄像头对高压线进行巡视拍摄绝缘子图片,对拍摄回来的绝缘子进行剪裁,把图片进行归一化到300*300,对剪裁后的图片进行扩增处理,所述扩增处理的方式包括对图像进行旋转、剪裁、平移、镜像、清晰化和去噪等操作,将图片数量扩增到1万张,建立存放数据的文件夹insulator,在insulator文件夹下分别建立annotations、imagesets、images、label文件夹,将图片放在images文件夹下;
1b)对步骤1a)中扩增后的图片用bbox-label-tools进行绝缘子的位置和类别标注,将类别标签修改成3类,分别是insulator、faulty_insulator、background。
步骤2、构建深度卷积神经网络模型,该模型提取绝缘子的图像特征信息,采用选择性搜索和多尺度滑动窗口的方式来生成区域建议框,并对生成的区域建议框进行分类,进而对绝缘子进行类别判定和目标定位;
如图2所示,本实施例的深度卷积神经网络模型是由输入图片层、共享卷积层、区域建议框生成层、roi池化层、区域建议框判定层、两个全连接层和最后用于类别判定与位置回归的两个优化目标层构成;
输入图片由输入图片层进入共享卷积层,共享卷积层作为特征提取层来提取输入图片的底层特征图,所述底层特征图经过区域建议框生成层生成区域建议框,使用非极大值抑制算法消除多余的区域建议框,未消除的区域建议框进入roi池化层,roi池化层是一个pooling层,提取区域建议框的特征图,然后输出到区域建议框判定层并对特征图进行类别判定,随后经过所述两个全连接层,最后进行绝缘子的分类和目标定位。
所述共享卷积层包括多层结构,每层结构由卷积层、relu层或池化层组成,具体地,所述共享卷积层是由5个layer组成,第一个layer层由一个卷积层加一个relu层加一个池化层组成,卷积核的大小为7*7*3*96,步长为2,pooling的大小为3*3,步长为2,padding为1;第二个layer层由一个卷积层加一个relu层加一个池化层组成,卷积核的大小为5*5*96*256,步长为2,pooling的大小为3*3,步长为2,padding为1;第三个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*256*384,步长为1;第四个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*384*384,步长为1;第五个layer层由一个卷积层和一个relu层组成,卷积核的大小为3*3*384*256,步长为1;在所述的每个layer层中,池化层均采用最大池化,选取区域内的最大值作为特征值。
所述区域建议框生成层采用选择性搜索和多尺度滑动窗口的方式来生成区域建议框;在对深度卷积神经网络模型进行训练时,同时使用选择性搜索和多尺度滑动窗口来生成区域建议框;在对训练后的深度卷积神经网络模型进行测试时,只使用选择性搜索生成区域建议框,使map得到提升。
所述多尺度滑动窗口来生成区域建议框,具体是:区域建议框生成层中以滑动窗口的方式需要用一个3*3矩阵在共享卷积层最后输出的特征图(featuremap)上进行滑动,所述的3*3矩阵和特征图上的3*3大小的窗口进行全连接,然后将结果映射到一个对应的低维向量上,每个滑动窗口都会对应一个数值;得到的向量输出后,连接到两个并行的全连接层,即全连接层1和全连接层2,最后进行区域打分,并根据得分,进行区域建议。
所述roi池化层,其特点是输入的特征图的尺寸不固定,但是输出特征尺寸固定,使用maxpooling把每一个h*w的roi区域转化成大小为h*w的子窗口,生成(h/h)×(w/w)个子窗口,然后把这些对应的子窗口经过maxpooling输出到对应的cell上。
所述区域建议框判定层,由于绝缘子的拍摄场景导致拍摄的绝缘子大小形状不一,针对此问题对区域建议框生成层提取的区域建议框进行类别判定,所述类别判定取决于区域建议框的宽度和长度,具体的判定公式如下:
其中
为强制使生成的区域建议框属于五种判定类别,采用如下的分类公式:
其中roic为区域建议框类别,h为垂直细长建议框,sh为次垂直细长建议框,s为方框,v为水平细长建议框,sv是次水平细长建议框。
所述两个优化目标层为深度卷积神经网络的两个输出,即每个类别区域建议框的分类概率预测和偏移优化,目标损失函数由分类损失和位置损失组成;对区域建议框进行类别判定时,对每个类别的建议框设置不同的通道,每个通道都可分别计算每种类别区域建议框的目标损失函数,所述目标损失函数定义如下:
其中,l2(w)为正则化函数,
ti和
ti=(tx,ty,tw,th)tx=(x-xa)/waty=(y-ya)/hatw=log(w/wa)th=log(h/ha)
式中,x,y,w,h分别表示预测的包围框中心坐标、宽度和高度;xa,ya,wa,ha分别表示候选区域的包围框中心坐标、宽度和高度;x*,y*,w*,h*分别表示真实包围框中心坐标、宽度和高度。
步骤3、利用绝缘子图像数据集对构建的深度卷积神经网络模型进行训练,采用区域建议框生成网络和目标检测网络交替训练,在训练的过程中使用梯度下降的方式进行迭代计算并且更新网络中的参数,一开始对参数进行初始化,利用绝缘子训练数据进行迭代,计算真实数值和输出网络数值之间的损失函数误差,再将误差从最后一层往前传播,一直传输到输入,同时利用梯度算法计算每一步的梯度,进而对每一层的权值进行更新,直到损失函数达到最小,或者达到设置的迭代次数从而结束训练;
其中,所述采用区域建议框生成网络和目标检测网络交替训练,具体过程如下:
第一步:用imagenet模型对区域建议框生成网络进行初始化,然后开始训练区域建议框生成网络,实现端到端微调以用于区域建议框生成,区域建议框由选择性搜索和滑动两种方式共同生成;
第二步:利用第一步使用两种方式生成的区域建议框训练一个目标检测网络,所述目标检测网络包括卷积层部分、区域建议框生成层、roi池化层、区域建议框判定层、两个全连接层、以及两个优化目标层,其中区域建议框生成层只使用选择搜索生成区域建议框;训练过程中,所述使用两种方式生成的区域建议框替换只使用选择搜索生成的区域建议框,目标检测网络的其他网络层保持不变,此时第一步所述的区域建议生成网络与训练后的目标检测网络仍是独立的两个网络,没有共享卷积层部分;
第三步:利用第二步训练得到的目标检测网络重新初始化第一步的所述的区域建议生成网络,此时固定两个网络的卷积层部分,对区域建议生成网络的独有的网络层进行微调,所述独有的网络层包括用于滑动窗口的卷积层和两个全连接层;
第四步:固定共享两个网络的卷积层部分,对目标检测网络的两个全连接层进行微调。
本实施例中,对包含10000张图片的自制绝缘子数据集进行训练,将前60个mini-batch的学习率设置为0.001,后20个mini-batch的学习率设置为0.0001,动量设置为0.9,权值衰减设置为0.0005。
步骤4、利用训练完成的深度卷积神经网络模型对待测绝缘子图像进行绝缘子的故障定位测试,设置目标损失函数的置信度阈值,若检测结果大于置信度得分就输出该结果;否则,不输出该结果。在测试过程中只使用选择性搜索产生区域建议框,对绝缘子进行故障定位与识别。
对本实施例的深度卷积神经网络模型进行模型评估,具体是对最后的绝缘子的分类的准确率和位置回归的定位正确与否来判断模型的好坏。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以权利要求所述为准。