1.本发明涉及绝缘子故障检修技术领域,具体涉及一种基于图像识别的绝缘子掉串故障检测方法。
背景技术:2.随着我国电网建设不断加强,电力网络也变得越来越复杂,绝缘子作为电力网络中不可或缺的器件,及时检测绝缘子是否发生故障显得尤为重要。因此越来越多的研究人员将图像识别方面的研究成果应用于该领域,建立以图像处理为基础的电网绝缘子检修系统,从而达到提高工作效率,降低劳动强度的目的。
3.传统的绝缘子检修的方法主要包括:(1)目测检查;(2)仪器仪表测试。其中由于绝缘子暴露于大气中并长期工作在强电场、强机械应力、骤冷骤热、风雨雪雾、化学物质腐蚀等恶劣环境中,时常发生掉串故障,如果不及时发现并处理,可能会引发大面积停电,更严重时,甚至会引发森林火灾、电力系统瘫痪等特大的事故。
技术实现要素:4.为解决上述技术问题,本发明提供一种基于图像识别的绝缘子掉串故障检测方法,以绝缘子图像为依据,基于图像识别技术,通过二维最大熵改进canny算子提取图像边缘特征,结合改进hough变换和直线拟合,实现掉串故障检测,有效解决了传统巡检方法导致效率低下,准确率差的问题。
5.本发明采取的技术方案为:
6.基于图像识别的绝缘子掉串故障检测方法,以绝缘子图像为依据,利用二维最大熵改进canny算子提取绝缘子图像的边缘特征,并通过改进hough变换检测单片绝缘子,最终通过直线拟合统计绝缘子串上的椭圆个数,实现绝缘子掉串故障检测。
7.基于图像识别的绝缘子掉串故障检测方法,包括以下步骤:
8.步骤一:以绝缘子图像为依据,对彩色图像灰度化得到灰度图像;
9.步骤二:计算灰度图像的二维最大熵;
10.步骤三:利用计算所得的二维最大熵,作为canny算子的阈值,提取灰度图像的边缘特征;
11.步骤四:通过改进的hough变换,对边缘图像中的椭圆进行检测,从而实现单片绝缘子检测;
12.步骤五:对检测到的椭圆圆心进行直线拟合,从而实现绝缘子串定位;
13.步骤六:统计同一绝缘子串上的单片绝缘子个数,并对比不同电压等级下规定的绝缘子串数,判断其是否发生掉串故障。
14.所述步骤二中包括如下步骤:
15.步骤2.1:以二维灰度函数来表示所得图像,像素点设为n
×
n,像素点的灰度值分为l个等级;首先对原始图像的区域灰度求均值,选定目标像素与相邻像素为模板,以数据
(i,j)表示对应坐标的像素点灰度值与其区域灰度均值,设n
i,j
是点灰度为i,区域灰度为j的像素点个数,p
i,j
为概率密度,则有:
[0016][0017]
横坐标i表示点灰度值,纵坐标j表示区域灰度均值,建立图像的二维灰度分布图;二维灰度分布图包含4个区域,即a、b、c、d这4个区域,其中,a区代表目标区域,b区代表绝缘子以外的背景区域,c区和d区分别代表边界像素点和干扰噪声分布区域。
[0018]
步骤2.2:分别用a区和b区的概率进行归一化处理,熵值具有可加性,则a区和b区的概率为:
[0019][0020][0021]
pa、pb为图3中a、b区的概率,横坐标i表示点灰度值,纵坐标j表示邻域灰度均值,(s,t)处表示分割的阈值,l为图像的最大灰度值。
[0022]
离散二维熵定义为:
[0023][0024]
ha、hb分别为a区、b区的离散二维熵,p
i,j
为概率密度;
[0025]
可得a区的二维熵:
[0026][0027]
又:
[0028][0029]
同a区,则b区的二维熵为:
[0030]
h(b)=lg pb+hb/pbꢀꢀ
(7)
[0031]
忽略阈值分割中的噪声和边缘,令c区和d区的p
i,j
≈0,则c区:i=s+1,s+2,
…
,l;d区:i=1,2,
…
,s;j=t+1,t+2,
…
,l。可得:
[0032][0033]
熵的判别函数定义为:
[0034][0035]
式(10)中,ha、hb为a区、b区的离散二维熵,a区代表目标区域,b区代表绝缘子以外
的背景区域,
[0036]
对此,选取的最佳阈值满足:
[0037][0038]
式(11)中,为熵,(s,t)表示阈值,表示最佳阈值;
[0039]
当熵取得最大值时,s、t为最佳阈值。
[0040]
所述步骤三中包括如下步骤:
[0041]
步骤3.1、设原始输入图像为f(x,y),首先用高斯函数作平滑运算,即平滑后的g(x,y)的梯度为:
[0042][0043]
为经过高斯滤波后图像的梯度,为图像中横向的梯度、为图像中纵向的梯度,为图像的梯度。
[0044]
图像的计算,类似于矩阵的计算,每个像素点的灰度值范围为0~255,0为黑色,255为白色,若为彩色图像,则含有rgb三个维度,每个维度中的灰度值范围为0~255,例如:一副256
×
256的图像,即图像中共含有256(横)
×
256(竖)个像素点,每个像素点为一个数值,x、y则相当于一个坐标。
[0045]
由卷积运算特性有:
[0046][0047]
式(13)中:g(x,y)为高斯函数;为经过高斯滤波后图像的梯度,f(x,y)为原始图像,g(x,y)为高斯函数;
[0048]
步骤3.2、设二维高斯滤波函数为:
[0049][0050]
式(14)中表示高斯函数的定义,图像中滤波的方法很多,例如均值滤波就是求取卷积核范围的均值,而高斯滤波则是求取卷积核范围的加权平均值,在图像的中滤波核如图6(1)、图6(2)所示。设中心点坐标为(0,0),带入x、y的值,当高斯滤波器的大小为3
×
3时,σ为0.8。
[0051]
用分解的方法将梯度矢量的两个滤波卷积模板分解为两个一维的行列滤波
器:
[0052][0053]
对x、y两个方向进行卷积,将这两个卷积模板分别于图像进行卷积计算,得到输出:
[0054][0055]
对x、y两个方向进行卷积
[0056][0057]
式(17)中,a(i,j)为图像的梯度幅值,α(i,j)为角度,即梯度的方向,e
x
,ey为x、y方向的梯度。
[0058]
如图7所示,式(17)中:a(i,j)反应了图像f(x,y)上点(i,j)处的边缘强度,也就是梯度的幅值;α(i,j)是图像f(x,y)上(i,j)点处的法向矢量,它是正交于边缘方向的矢量,也就是梯度的方向。
[0059]
步骤3.3、将计算好的二维最大熵h(s,t).
[0060]
作为canny算子中双阈值中的高阈值,在双阈值算法中,t1和t2分别为低阈值和高阈值,且t2≈2t1,从而能够将传统canny算子进行改进。
[0061]
传统的canny中,
[0062]
第一步:高斯滤波;
[0063]
第二步:计算梯度幅值和方向;
[0064]
第三步:对幅值进行非极大值抑制;
[0065]
第四步:用双阈值算法检测和连接边缘
[0066]
在第四步中,传统canny算子中双阈值没有具体的算法,靠经验求取,普适性较差,本发明算法中利用二维最大熵法求取,具有更好的普适性,且能够更好的获取图像的边缘值。
[0067]
所述步骤四中,
[0068]
设椭圆的中心为(x0,y0),点(x,y)为椭圆上不同于(x1,y1)和(x2,y2)的任意一点。点(x,y)到点(x1,y1)的距离为d,与点(x2,y2)的距离为f。点(x,y)与(x0,y0)的连线与x轴的正向夹角为α。则椭圆的中心坐标:
[0069][0070]
长轴:
[0071][0072]
短轴:
[0073][0074][0075]
旋转角度:
[0076][0077]
椭圆的检测步骤如下:
[0078]
(1)、建立一个数组a,将已进行边缘检测后图像中的像素点存入其中;
[0079]
(2)、将边缘像素点按顺序依次赋给点(x1,y1),重复步骤(3)~(7);
[0080]
(3)、寻找点(x2,y2),使得点(x1,y1)与点(x2,y2)大于所设定的阈值,然后重复步骤(4)~(7);
[0081]
(4)、通过点(x1,y1)和点(x2,y2)算出椭圆的中心(x0,y0),椭圆的长轴2a,椭圆的旋转角度θ四个参数;
[0082]
(5)、寻找点(x,y),使得(x,y)与椭圆中心(x0,y0)的距离大于阈值,并且小于椭圆中心(x0,y0)与点(x1,y1)的距离。对所有满足条件的点(x,y)计算椭圆的参数2b,建立累加器并且累加器递增;
[0083]
(6)、记录累加器的累计值,如果累计的峰值超过所设定的阈值,则所检测到的椭圆为真实椭圆,并将椭圆参数存入数组b;
[0084]
(7)、将已经检测到的真实椭圆的所有边缘像素点从数组a中去除,累加器清零。所述步骤五包括以下步骤:
[0085]
s5.1:图像预处理获取边缘特征;
[0086]
s5.2:基于改进hough椭圆检测的单片绝缘子定位;
[0087]
s5.3:基于随机采样一致性(ransac)直线拟合的绝缘子串检测:
[0088]
s5.3a:选取椭圆圆心作为数据点,取其中的任意两点,并确定一条直线l;
[0089]
s5.3b:根据设定的阈值t,统计与直线l的距离小于阈值t点的,将该点集设为直线l的一致集;
[0090]
s5.3c:遍历图中的所有点,重复以上步骤,得到所有直线l1,l2,
…
,ln的一致集;
[0091]
s5.3d:将具有最大一致集的直线作为最终的拟合直线,并确定该直线为绝缘子串。
[0092]
s5.4:统计单片绝缘子数量,在检测的绝缘子串上绘出最终的拟合直线,及该直线的一致集,统计一致集内的圆心数量,根据该地区电力系统内绝缘子串的串数标准,判断其是否发生掉串故障。
[0093]
本发明一种基于图像识别的绝缘子掉串故障检测方法,技术效果如下:
[0094]
1)本发明方法一方面,提取图像边缘特征时可以有效减少伪边缘和噪声的干扰;
另一方面,通过改进hough变换和直线拟合,能够检测并统计同一绝缘子串上的串数,最终通过根据不同电压等级下绝缘子串的个数,实现掉串故障检测,从而提高检修人员的工作效率,降低因掉串故障带来的经济损失。
[0095]
2)本发明方法可以广泛应用于智能巡线系统,做到绝缘子实时监测,不仅能减少人力物力,提高工作效率,更能大大减少因绝缘子发生掉串故障而造成的经济损失,保证电网的安全稳定。
[0096]
3)本发明利用图像识别技术,对绝缘子图像进行处理,并利用二维最大图像熵法改进canny算子,进一步地,通过改进hough变换和直线拟合,最终实现绝缘子掉串故障检测。本方法可以有效提高电网绝缘子检修的效率和准确性,降低电网检修人员的劳动强度,减少电网中由于绝缘子故障造成的经济损失。
附图说明
[0097]
图1为本发明方法流程图。
[0098]
图2为绝缘子图像预处理步骤图。
[0099]
图3为图像二维灰度分布图。
[0100]
图4为canny算子检测边缘流程图。
[0101]
图5为椭圆的几何模型图。
[0102]
图6(1)为高斯滤波核的坐标图;
[0103]
图6(2)为高斯滤波核图;
[0104]
图7为图像的梯度示意图;
[0105]
图8(1)为原始绝缘子图;
[0106]
图8(2)为图8(1)提取得到的边缘特征图。
[0107]
图9(1)为绝缘子灰度图;
[0108]
图9(2)为改进canny算子提取的绝缘子边缘特征图;
[0109]
图9(3)为基于改进hough变换的单片绝缘子检测结果图;
[0110]
图9(4)为绝缘子故障检测结果图。
具体实施方式
[0111]
基于图像识别的绝缘子掉串故障检测方法,以绝缘子图像为依据,采用图像识别技术,利用二维最大熵法改进canny算子提取边缘,并结合改进hough变换和直线拟合。如图1所示包括以下步骤:
[0112]
步骤一:以绝缘子图像为依据,对彩色图像灰度化得到灰度图像,提高图像的清晰度,使图像对比度得到扩展,特征更加明显。
[0113]
步骤二:计算灰度图像的二维最大熵。
[0114]
步骤三:利用计算所得的二维最大熵,作为canny算子的阈值,提取灰度图像的边缘特征。由于二维最大熵从信息论的角度出发,充分考虑像素的空间特征,可以有效减少边缘图像中伪边缘和噪点的出现,更加准确的提取出图像的边缘。
[0115]
步骤四:通过改进的hough变换,对边缘图像中的椭圆进行检测,从而实现单片绝缘子检测;
[0116]
步骤五:对检测到的椭圆圆心进行直线拟合,从而实现绝缘子串定位。这样可以避免其他非绝缘子椭圆也被识别为单片绝缘子,进而造成故障的误判。
[0117]
步骤六:统计同一绝缘子串上的单片绝缘子个数,并对比不同电压等级下规定的绝缘子串数,判断其是否发生掉串故障。
[0118]
本发明具体方法为:
[0119]
(一)、绝缘子图像的预处理:
[0120]
绝缘子图像存在以下几个特点:
[0121]
(1)背景复杂:绝缘子图像中包含其它电力设施,例如电线、杆架、变压器等,同时还有其它背景,像天空、墙壁,这些非目标物体;
[0122]
(2)特点突出:绝缘子特征明显,它们颜色与周围景物区别较大,而且外形容易辨认,是具有多个间距相等的弧形瓷裙的规则物体。
[0123]
综上所述,由于绝缘子图像存在以上的特点,需要对绝缘子图像进行预处理,保证最终故障检测的准确率。其步骤如图2所示。
[0124]
1、图像灰度化:
[0125]
对于绝缘子掉串故障检测,过多的颜色信息不仅不会提高准确率,反而会增大计算量,影响检测效率。灰度化,即将原始图像中存在的rgb三通道,转换为仅有亮度值的一通道,因此可以有效提高计算速度,并在一定程度上增强图像的对比度,突出目标物体的形态特征。计算机中表示灰度图是把亮度值进行量化等分成0-255共256个级别,0最暗,255最亮。在rgb模型中,使r=g=b,则称将(r,g,b)颜色转换为灰度值,常用经验公式进行灰度转换。转换公式为:
[0126]
gray(i,j)=0.11r(i,j)+0.59g(i,j)+0.30b(i,j)
ꢀꢀꢀꢀꢀꢀꢀ
(22)
[0127]
式(1)中,gray(i,j)为转换后的灰度图像在(i,j)点处的灰度值。
[0128]
2.基于改进canny算子的边缘特征提取:
[0129]
灰度变换可以提高图像成分的清晰度,使图像对比度得到扩展,特征更加明显。进一步地,通过二维最大熵改进canny算子提取图像的边缘特征,为后续绝缘子掉串故障检测提供依据。
[0130]
步骤1:计算二维最大熵。最大熵原则,除了利用图像像素信息,还充分考虑了邻域像素的空间信息,具有更好的抗噪声性能。以二维灰度函数来表示所得图像,像素点设为n
×
n,像素点的灰度值分为l个等级。首先对原始图像的区域灰度求均值。在实际计算时,选定目标像素与相邻像素为模板,以数据(i,j)表示对应坐标的像素点灰度值与其区域灰度均值,设n
i,j
是点灰度为i,区域灰度为j的像素点个数,p
i,j
为概率密度,则有:
[0131][0132]
如图3所示,横坐标i表示点灰度值,纵坐标j表示区域灰度均值,由此建立图像的二维灰度分布图。图3中,(s,t)处表示分割的阈值,二维灰度分布图就可以将其分为4个区域,即a、b、c、d这4个区域。其中,a区代表目标区域,b区代表绝缘子以外的背景区域,c区和d区分别代表边界像素点和干扰噪声分布区域。为了达到目标区域与背景区域理想的分割效果,对其采用二维最大阈值法,得到最佳阈值。分别用a区和b区的概率进行归一化处理,熵值具有可加性,则a区和b区的概率为:
[0133][0134][0135]
离散二维熵定义为:
[0136][0137]
可得a区的二维熵:
[0138][0139]
又:
[0140][0141]
同a区,则b区的二维熵为:
[0142]
h(b)=lg pb+hb/pbꢀꢀ
(29)
[0143]
忽略阈值分割中的噪声和边缘,令c区和d区的p
i,j
≈0,则c区:i=s+1,s+2,
…
,l;d区:i=1,2,
…
,s;j=t+1,t+2,
…
,l。可得:
[0144][0145]
熵的判别函数定义为:
[0146][0147]
对此,选取的最佳阈值满足:
[0148][0149]
步骤2:改进canny算子边缘检测,边缘检测流程如图4所示。
[0150]
设原始输入图像为f(x,y),首先用高斯函数作平滑运算,即平滑后的g(x,y)的梯度为:
[0151][0152]
由卷积运算特性有:
[0153][0154]
式中:g(x,y)为高斯函数。
[0155]
采用高斯函数的图像平滑处理,会使原图像边缘模糊及宽度增加,在这引入非极大值抑制技术对模糊边缘进行锐化。
[0156]
设二维高斯滤波函数为:
[0157][0158]
用分解的方法将梯度矢量的两个滤波卷积模板分解为两个一维的行列滤波器:
[0159][0160]
将这两个卷积模板分别于图像进行卷积计算,得到输出:
[0161][0162][0163]
式(17)中,a(i,j)反应了图像f(x,y)上点(i,j)处的边缘强度,也就是梯度的幅值;α(i,j)是图像f(x,y)上(i,j)点处的法向矢量,它是正交于边缘方向的矢量,也就是梯度的方向。
[0164]
图像f(x,y)上点(i,j)处的边缘强度a(i,j)值的大小并不能确定该点是否为边缘点,需要细化幅值图像中的屋脊带,保留幅值局部变化最大的点,这就是非极大值抑制。非极大值抑制能够使边缘细化,这样就可以得到较细的边缘。但是图像依然存在许多由噪声和细纹理引起的假边缘,需要双阈值算法进一步过滤边缘并进行边缘连接。
[0165]
在传统的canny算子边缘检测中,最大的不足在于整个算法中阈值的选取没有明确的计算方法,而阈值的选取,决定了边缘检测的最终结果,阈值过低,绝缘子边缘检测过程中会产生很多假边缘和噪点,阈值过高,则绝缘子图像中需要保留纹路和裂纹的信息将
无法保留。
[0166]
针对上述不足,将前面中计算好的二维最大熵h(s,t),将其作为canny算子中双阈值中的高阈值,在双阈值算法中,t1和t2分别为低阈值和高阈值,且t2≈2t1,从而可将传统canny算子进行改进。
[0167]
基于改进canny算子的边缘特征提取得到的边缘特征图,如图8(2)所示。
[0168]
(二)、绝缘子掉串故障检测:
[0169]
在边缘特征图的基础上进行绝缘子掉串故障检测,主要包括两个步骤:基于改进hough变换的单片绝缘子定位、基于直线拟合的绝缘子掉串故障检测。
[0170]
1..基于改进hough的单片绝缘子定位:
[0171]
单片绝缘子在航拍图像中呈椭圆形,具有明显的形态特征,因此通过改进hough变换识别边缘图像中的椭圆,进而实现单片绝缘子的识别。
[0172]
在直角坐标系下,一个确定的椭圆由长、短轴长,中心点和旋转角度四个参数构成。为了简化计算,利用椭圆的几何特征降低参数的维度。先确定椭圆中心(x0,y0),椭圆的长轴2a,椭圆的旋转角度θ四个参数的大致范围,进而将参数空间降为一维,只需建立一维累加器统计椭圆的短轴2b,来实现椭圆的检测。设椭圆长轴的两端点分别为(x1,y1)和(x2,y2),椭圆的几何模型如图5所示。
[0173]
设椭圆的中心为(x0,y0),点(x,y)为椭圆上不同于(x1,y1)和(x2,y2)的任意一点。点(x,y)到点(x1,y1)的距离为d,与点(x2,y2)的距离为f。点(x,y)与(x0,y0)的连线与x轴的正向夹角为α。则椭圆的中心坐标:
[0174][0175]
长轴:
[0176][0177]
短轴:
[0178][0179][0180]
旋转角度:
[0181][0182]
椭圆的检测步骤如下:
[0183]
(1)建立一个数组a,将已进行边缘检测后图像中的像素点存入其中;
[0184]
(2)将边缘像素点按顺序依次赋给点(x1,y1),重复步骤(3)~(7);
[0185]
(3)寻找点(x2,y2),使得点(x1,y1)与点(x2,y2)大于所设定的阈值,然后重复步骤(4)~(7);
[0186]
(4)通过点(x1,y1)和点(x2,y2)算出椭圆的中心(x0,y0),椭圆的长轴2a,椭圆的旋
转角度θ四个参数;
[0187]
(5)寻找点(x,y),使得(x,y)与椭圆中心(x0,y0)的距离大于阈值,并且小于椭圆中心(x0,y0)与点(x1,y1)的距离。对所有满足条件的点(x,y)计算椭圆的参数2b,建立累加器并且累加器递增;
[0188]
(6)记录累加器的累计值,如果累计的峰值超过所设定的阈值,则所检测到的椭圆为真实椭圆,并将椭圆参数存入数组b;
[0189]
(7)将已经检测到的真实椭圆的所有边缘像素点从数组a中去除,累加器清零。
[0190]
2..基于直线拟合的绝缘子掉串故障检测
[0191]
在绝缘子图像中,同一串上绝缘子片的大小,椭圆的角度相似,且同一串绝缘子的圆心也基本位于一条直线上。又在同一电压等级下、位于同一地区的电力系统中,绝缘子的串数是一定的。
[0192]
根据以上条件,通过对图中的椭圆圆心进行ransac直线拟合,并排除距拟合直线超过阈值的点,可以剔除非绝缘子椭圆从而精准的检测到绝缘子,进一步地,统计每一串绝缘子上的椭圆个数来判断其是否发生掉串故障。其主要步骤如下:
[0193]
(1)图像预处理获取边缘特征;
[0194]
(2)基于改进hough椭圆检测的单片绝缘子定位;
[0195]
(3)基于随机采样一致性(ransac)直线拟合的绝缘子串检测:
[0196]
a.选取椭圆圆心作为数据点,取其中的任意两点,并确定一条直线l;
[0197]
b.根据设定的阈值t,统计与直线l的距离小于阈值t点的,将该点集设为直线l的一致集;
[0198]
c.遍历图中的所有点,重复以上步骤,得到所有直线l1,l2,
…
,ln的一致集;
[0199]
d.将具有最大一致集的直线作为最终的拟合直线,并确定该直线为绝缘子串。
[0200]
(4)统计单片绝缘子数量。在检测的绝缘子串上绘出最终的拟合直线,及该直线的一致集,统计一致集内的圆心数量,根据该地区电力系统内绝缘子串的串数标准,判断其是否发生掉串故障。
[0201]
这样通过直线拟合的方法,可以有效排除图中其他非单片绝缘子椭圆的干扰,从而更准确地进行掉串故障检测。
[0202]
(三)、统计同一绝缘子串上的单片绝缘子个数,并对比不同电压等级下规定的绝缘子串数,判断其是否发生掉串故障。
[0203]
表1各级电压线路悬垂串应有的绝缘子片数
[0204][0205]
表1为各级电压线路悬垂串应有的绝缘子片数统计表,若存在缺串,如图9(1)、图9(2)、图9(3)、图9(4)所示,则通过统计同一直线上的绝缘子片数,并对比要求的片数,可以
检测出是否发生故障。
[0206]
如图9(1)~图9(4)所示,首先对灰度图9(1)进行边缘特征提取,得到图9(2),再检测图9(2)中的椭圆,得到图9(3),即检测单片绝缘子,由于边缘特征图中可能存在不是绝缘子的椭圆,如果单纯地统计图中的椭圆个数,可能会造成误差,而同一串上的绝缘子,椭圆圆心基本在同一直线上在,因此进一步通过直线拟合,将位于同一直线上的椭圆连接起来,最后,通过统计同一直线上的椭圆,得到图9(4),并对比不同电压等级下规定的绝缘子串数,进而判断是否发生故障。相关程序最终运行出来的结果图为图9(4),最后的结果直接显示为故障或者正常。