一种基于卷积神经网络的输电线路螺栓检测方法与流程

文档序号:11178351阅读:1137来源:国知局
一种基于卷积神经网络的输电线路螺栓检测方法与流程

本发明涉及一种输电线路螺栓检测方法,尤其是涉及一种基于卷积神经网络的输电线路螺栓检测方法。



背景技术:

随着我国国民经济持续稳定发展,电力规模也得到快速发展,人民对电力需求的依赖性越来越强,国家对电力生产的安全性、稳定性要求越来越高。设备缺陷和故障的发生时影响电网安全的主要问题,及时发现缺陷、故障点是线路运行检修人员的主要工作。电力输电线路中的金具检测是电网安全性中的一个重要工作,其中金具带插销的螺栓检测是一个重要检测内容。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种算法流程简单易实现,速度快,识别率高、检测效果好的基于卷积神经网络的输电线路螺栓检测方法。

本发明的目的可以通过以下技术方案来实现:

一种基于卷积神经网络的输电线路螺栓检测方法,包括以下步骤:

1)构建带有标签的螺栓图像库作为样本集;

2)采用滑动窗口法得到螺栓图像中螺栓的候选区域,

3)采用surf算法对候选区域进行粗筛选;

4)将螺栓粗筛选的候选区域作为输入送入构建cnn卷积神经网络进行判别,依据cnn卷积神经网络的输出向量判断螺栓粗选区域是否为正确的螺栓区域,并对螺栓区域进行螺栓缺失检测。

所述的步骤2)具体包括以下步骤:

将螺栓图像库内的图像作为螺栓待检测图像,采用滑动窗口法获取待检测图像的候选区域,滑动窗口基本尺度为50*50,滑动窗口步长为25。

所述的步骤3)具体包括以下步骤:

31)对候选区域的滑动窗口块进行特征点提取;

32)获取每个特征点的主方向;

33)生成surf特征描述子。

所述的步骤31)中,特征点的判据为当该点像素亮度的hessian矩阵的行列式值在其邻域内为一个极值时,则该点为特征点。

所述的步骤32)具体包括以下步骤:

321)获取以该特征点为中心,正比于该特征点尺度的定值为半径,张角为60°的扇形区域内所有像素点的合成向量的角度和模长;

322)将扇形区域以0.1个弧度为步长沿逆时针旋转,计算合成向量的角度和模长;

323)所有计算合成向量模长最大值对应的角度即为特征点主方向。

所述的步骤321)中,所述的合成向量的角度θ计算式为:

θ=arctan(sumy/sumx)

合成向量的模长l计算式为:

l=sqrt(sumy*sumy+sumx*sumx)

sumx=xby*g

sumy=xbx*g

其中,xby为y方向小波变换响应,xbx为x方向小波变换响应,g为高斯函数。

所述的步骤33)具体包括以下步骤:

选定以特征点为中心的一块正方形区域,将其旋转与该特征点主方向对齐,将正方形区域多个子区域,对每个子区域进行haar小波变换,生成surf特征描述子。

所述的步骤4)中,cnn卷积神经网络为七层cnn卷积神经网络,包括依次连接的输入层、第一卷积层c1、第一下采样层s2、第二卷积层c3、第二下采样层s4、第三卷积层c5、以及输出层。

训练七层cnn卷积神经网络具体包括以下步骤:

41)将所有样本图像归一化为32*32大小;

42)设置第一卷积层c1的卷积核大小、特征图和卷积核个数;

43)依次通过第一卷积层c1、第一下采样层s2、第二卷积层c3和第二下采样层s4进行卷积和下采样,构成全连接,使卷积后特征图的大小为1;

44)第三卷积层c5获取第二下采样层s4的所有数据生成一维向量给输出层;

45)输出层通过欧式径向基函数输出结果,输出结果为将类别数排成一维数组,数组中唯一置1的位置即为对应的类别。

所述的训练出的七层cnn卷积神经网络损失函数<0.0001。

与现有技术相比,本发明具有以下优点:

一、由于本发明采用滑动窗口多尺度缩放获取螺栓候选区域,且与训练集比较进行粗筛选,提取的粗候选区域舍弃大量背景环境的干扰的区域,算法流程简单易实现,速度快,效果好,能较好提取复杂背景环境中的螺栓候选区域。

二、本发明采用基于卷积神经网络cnn的螺栓识别方法,通过卷积神经网络多层的网络自学习的特征对环境变化具有更高的鲁棒性,有较高的识别率,因此检测效果较好。

附图说明

图1为本发明的方法流程图。

图2为7层cnn网络结构图。

图3为卷积过程示意图。

图4为下采样过程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

本发明采用surf特征提取粗候选区域,形成样本集,采用cnn分类得到最后检测结果。分为训练和测试两个环节,如图1所示,本发明的方法流程如下:

一、金具螺栓图像的预处理

1.1候选区域的滑动选择

本发明采用滑块窗口选取螺栓图像和非螺栓图像,加以人工标签信息。

将拍摄的图像(基本大小为500*500)作为螺栓待检测图像,采用滑动窗口法获取待检测图像的候选区域。滑动窗口基本尺度为50*50大小(基本上覆盖了螺栓的尺寸),滑动窗口步长为25。因此,一副图像的检测窗口块约为400个。

1.2surf描述子的粗筛选

首先对滑动窗口块进行粗筛选,采用区域相似度原则进行筛选。在样本集中选取正样本50个,采用surf特征描述子进行特征提取。surf算法提取的特征具有尺度和旋转不变性,同时对光照和透视变换具有适应性,因此有较高的鲁棒性。它使用了近似hessian矩阵检测兴趣点,并使用积分图像大大降低了特征检测时间。surf算法包括特征点检测,主方向确定,描述子的生成等步骤。

首先,先对surf算法的特征点提取:

在surf算法中,特征点的判据为某像素亮度的hessian矩阵的行列式值(dxx*dyy-dxy*dxy)为一个极值。在surf算法里,为提高算法运行速度,在精度影响很小的情况下,用近似的盒状滤波器(0,1,1组成的boxfilter)代替高斯核。因为滤波器仅有0,-1,1,因此卷积的计算可以用积分图像来优化,大大提高了效率。每个点需计算dxx,dyy,dxy三个值,故需要三个滤波器;滤波后,得到一幅图像的响应图(responseimage,其中每个像素的值为原图像素的dxx*dyy-dxy*dxy)。对图像用不同尺寸的滤波器进行滤波,得到同一图像在不同尺度的一系列响应图,构成一个金字塔。

若某点的dxx*dyy-dxy*dxy大于其邻域的26个点的dxx*dyy-dxy*dxy,则该点为特征点。

为保证特征点描述子的旋转不变性,需对每个特征点计算主方向。计算主方向的过程如下:

统计以特征点为中心,正比于特征点尺度的某个数位半径,张角为60°的扇形区域内所有像素点的sumx=(y方向小波变换响应)*(高斯函数),sumy=(x方向小波变换响应)*(高斯函数),计算合成向量角度θ=arctan(sumy/sumx),模长l=sqrt(sumy*sumy+sumx*sumx)。

将扇形沿逆时针旋转(一般取步长为0.1个弧度),以同样方法计算合成向量。

求出各方向扇形的合成向量模长最大值,其对应的角度即特征点主方向。

描述子的建立过程如下:

选定以特征点为中心的一块正方形区域,将其旋转与主方向对齐。

将正方形分为4x4的16个子区域,对每个区域进行haar小波变换(同样用积分图像加速),得到4个系数。

由上述两步,生成4x4x4=64维向量,即描述子,用它可以进行匹配等工作。本发明采用欧式距离作为度量进行匹配。

对检测窗口块提取surf特征,找出与20个样本集中相似度最大的前20个候选区域,由于样本归一化为50*50,因此筛选候选区域的计算量并不大。图2中左图是模板与候选区域采用surf特征描述子的匹配结果,右图是样本集匹配后得到的结果。

二、卷积网络cnn结构设计

如图2所示,本发明构建的7层cnn网络结构类似于letnet-5结构,分别由输入层、卷积层、两层下采样与卷积相互交叉,最后是一层输出层。如在c1层有三个卷积核,而在c3层有两个卷积核。

如图3所示,选用33的特征图,移动步长为1,则可以将55的输入图像通过卷积核进行卷积,再加入一个偏置b和非线性变换,得到具有33大小的特征图。此特征图还要经过非线性变换。

如图4所示,下采样是考虑简化计算信息,基于图像局部相关性,在减少下一层输入的信息的同时,仍然保留有用的信息。

其过程与卷积类似,不过采用的卷积核是一个固定参数都为0.25的22模板并且感受野不重叠,所以可以将输入的维度降低为原来的1/4。

在通过卷积和下采样的不断抽象下,最后会将这些结果连接成一个一维数组输入到传统的神经网络里。

将此输出与标签进行对比,需要再反向传播回模型进行参数的微调,按照梯度下降算法以最快方向向极小化误差移动,反复迭代整个过程,得到训练好的模型。

构建7层cnn结构的具体做法:

1、将所有样本集归一化为32*32大小。

2、输入训练图像的大小为3232,卷积核大小是55,其移动的步长为1,其大小为2828(32-5+1)。c1层有六个特征图,因此,此层有六个不同的卷积核。

3、s2层是一个下采样的过程,特征图的大小也变为1414。考虑到之前提到得稀疏连接,卷积不再是将上一层所有的特征图都连接作为下一层的输入,而是使用相邻的几张图。

4、c3层有16个特征,如第一个特征图参考上一层特征图的前三个特征图,这样大大减少了计算的复杂程度,且保留了数据的有用信息。此时特征图的大小为1010,再通过下采样变为55。

5、s4层的输入大小为55,卷积核大小也是55,使得卷积后的特征大小为1,构成了全连接。

6、c5层输入为s4层的所有数据,最后得到有120个单元的一维向量。

7、输出层有84个节点,计算输入向量和权重之间的点积,再加上一个偏置。然后使用激活函数得到一个反应,输出层是欧式径向基函数计算得到,输出结果是将类别数排成一维数组,分到第几类就是对于数组的第几位且置一,其他为零,对于标签也采用同样的方式表示。

三、cnn的螺栓图像训练和识别

对上述构建的cnn结构,输入已标签的螺栓样本和非螺栓样本图,训练cnn,直至输出层的损失函数<0.0001,得到螺栓识别的卷积神经网络cnn。最后,对输入一幅图像,进行窗口滑动得到候选区域,经surf筛选候选区域,然后将候选区域输入cnn网络进行螺栓图像识别。

本发明所用的数据库为收集的一组包含1500张输电线路金具螺栓的图像,其中正样本选自其中的2000张标签的螺栓,其中100张为缺失插销的螺栓,非螺栓区域的样本为10000张,构成3类样本集用于cnn的训练。剩下的1000张图像作为测试样本。本实验采用深度学习框架基于ubuntu14.04操作系统,8g内存,酷睿i7-4720hqcpu运行环境,实验设置参数迭代10000次停机。

仿真实验将训练样本集输入一个7层卷积神经网络cnn中,利用高斯随机初始化网络权值,对该卷积神经网络进行训练,直到卷积神经网络最后一层分类层的输出损失函数<0.0001,或者迭代次数10000次为止。

然后将一幅测试的螺栓图像,先将滑动窗口选择候选区域,经过surf粗筛选,再将粗筛后的候选图像,输入到训练好的网络进行测试,测试螺栓检出率达到92.01%,其中正确检出缺失螺栓率达到79.2%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1