本发明属于绝缘子检测领域,具体涉及一种基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法。
背景技术:
随着我国工业化进程的不断加快以及经济水平的不断提高、电网建设不断加强,电力网络则越来越复杂。与之对应电网检修的工作强度也越来越大,快速、准确地判断绝缘子健康状况给电网检修工作带来的难度。
绝缘子暴露于大气中并长期工作在强电场、强机械应力、骤冷骤热、风雨雪雾、化学物质腐蚀等恶劣环境中,绝缘子难以避免地会产生裂纹。目前,现有的绝缘子裂纹检测方法主要包括目测检查方法、仪器仪表测试方法。绝缘子通常布设于输电铁塔上,目测检测准确率不高,无论是目测检查、还是仪器仪表测试方法,都需要检修人员靠近绝缘子,给检修工作带来不便,检修人员的劳动强度很大,效率低下。
噪点\噪声为妨碍人们感觉器官对所接收的信源信息理解的因素,图像中的噪点\噪声也就是图像中包含的各种不希望有的或不需要的部分。首先图像在产生、传输、接收的过程中不可避免地会产生噪声,其次绝缘子表面附着的尘土、雨雪等杂质是一种噪声,同时图像中绝缘子周围的线路、杆架等其它物体是无用信息,这些无用信息也可看作一种噪声。
技术实现要素:
本发明的技术问题是现有的绝缘子裂纹检测方法中,目测检测准确率不高,无论是目测检查、还是仪器仪表测试方法,都需要检修人员靠近绝缘子,给检修工作带来不便,检修人员的劳动强度很大,效率低下。采集的绝缘子图像由于绝缘子所处位置的原因,背景存在大量噪声,包括线路、杆塔、树枝等影响因素,且绝缘子表面由于风霜雪雾等的作用,也会产生污垢,在利用传统的图像识别技术进行绝缘子边缘检测时,噪声会对结果造成严重干扰,不利于检测出绝缘子的裂纹。
本发明的目的是解决上述问题,提供一种基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,采用图像识别技术,采集绝缘子的图像后,利用改进的canny算子从绝缘子图像中提取出可能包含裂痕的绝缘子边缘图像,辨识符合绝缘子边缘特征的断绝缘子边缘轮廓,并进一步确认绝缘子边缘轮廓中是否有裂纹,解决了人工目测导致效率低下,准确率差的问题,同时也能降低检修人员的劳动强度。
本发明的技术方案是基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,包括以下步骤,
步骤1:采集绝缘子图像,对绝缘子图像进行预处理;
步骤2:计算绝缘子图像灰度值的最大熵;
步骤3:对绝缘子图像进行高斯滤波;
步骤4:计算绝缘子图像的梯度幅值和方向,对梯度幅值进行非极大值抑制;
步骤5:对绝缘子图像设置高阈值、低阈值,将绝缘子图像灰度值的最大熵作为高阈值,采用canny算子提取出绝缘子边缘图像;
步骤6:对可能包含裂痕的绝缘子边缘图像进行裂纹检测。
进一步地,步骤1中,所述对绝缘子图像进行预处理,对绝缘子图像进行旋转变换,使图像中绝缘子中心线处于竖直方向,将绝缘子依次进行图像灰度化、增强对比度、去噪,包括以下子步骤,
步骤1.1:将绝缘子图像灰度化;
步骤1.2:增强绝缘子图像的对比度;
步骤1.3:对绝缘子图像进行去噪。
优选地,步骤1.2中,所述增强绝缘子图像的对比度,增强前图像的灰度分布函数为f(x,y),图像像素灰度分布范围为[a,b],增强绝缘子图像的对比度后,图像像素灰度分布范围为[0,255],灰度分布函数g(x,y)的表达式如下
优选地,所述对绝缘子图像进行去噪,采用维纳滤波器。
进一步地,步骤6中,所述对可能包含裂痕的绝缘子边缘图像进行裂纹检测,包括以下步骤,
步骤6.1:判断步骤5的边缘图像的边缘曲线中符合斜坡函数形状特征的绝缘子轮廓线,确定图像中绝缘子区域;
步骤6.2:判断绝缘子区域内是否存在跨越相邻伞裙的曲线,若存在跨越相邻伞裙的曲线,则判断为裂纹。
步骤2中,所述计算绝缘子图像灰度值的最大熵,利用像素灰度值分布及其邻域平均灰度值分布的像素构成的一个二维向量,得到二维测度取最大值时获得最佳阈值。
以绝缘子图像的像素点灰度值为横坐标,以区域灰度均值为纵坐标建立图像的二维灰度分布图。设点(s,t)为目标区域即绝缘子和背景区域分割点,图像的最大灰度值为l,点(s,t)代表分割的阈值,二维灰度分布图的点(0,0)与点(s,t)之间的区域为目标区域a,点(l,l)与点(s,t)之间的区域为背景区域b,点(s,0)与点(l,t)之间的区域为c区,点(0,t)与点(s,l)之间的区域为d区,c区、d区分别代表边界像素点分布区域、噪声信号分布区域;
a区的二维熵h(a)如下
其中
pi,j为概率密度,
绝缘子图像的像素点数量为n×n;
b区的二维熵h(b)如下
其中
令c区和d区的pi,j≈0;可得pb=1-pa;hb=hl-ha=lg(1-pa) (hl-ha)/(1-pa),其中hl为熵的判别函数
最大熵的阈值点
相比现有技术,本发明的有益效果:
1)本发明的方法可对绝缘子实时监测,减少人力物力,提高工作效率,大大降低绝缘子因产生裂纹而发生故障的概率,保证电网的安全稳定;
2)本发明的方法采用最大熵阈值优化的canny算子,能够有效减少因绝缘子污垢、背景元素等出现的图像噪声对绝缘子边缘检测的影响,提高裂纹检测的精度;
3)本发明的方法根据裂纹的普遍的贯穿相邻伞裙的特征,在采用斜坡函数形状特征判断、分离出绝缘子轮廓区域后,将绝缘子轮廓区域内的跨越相邻伞裙的窄链的曲线检测为裂纹,易于编程实现,实现了裂纹的快速检测。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法的流程图。
图2为绝缘子图像二维灰度分布图。
图3为绝缘子图像示意图。
具体实施方式
如图1-3所示,基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,包括以下步骤:
步骤1:利用无人机采集绝缘子图像,对绝缘子图像进行预处理,对绝缘子图像进行旋转变换,使图像中绝缘子中心线处于竖直方向,并依次进行图像灰度化、增强对比度、去噪;
步骤1.1:将绝缘子图像灰度化;
步骤1.2:增强绝缘子图像的对比度;
步骤1.3:对绝缘子图像进行去噪;
步骤2:计算绝缘子图像灰度值的最大熵;
步骤3:对绝缘子图像进行高斯滤波;
步骤4:计算绝缘子图像的梯度幅值和方向,对梯度幅值进行非极大值抑制;
步骤5:对绝缘子图像设置高阈值、低阈值,将绝缘子图像灰度值的最大熵作为高阈值,采用canny算子提取出绝缘子边缘图像;
步骤6:对包含裂痕的绝缘子边缘图像进行裂纹检测;
步骤6.1:判断步骤5的边缘图像的边缘曲线中符合斜坡函数形状特征的绝缘子轮廓线,确定图像中绝缘子区域;
步骤6.2:判断绝缘子区域内是否存在跨越相邻伞裙的曲线,若存在跨越相邻伞裙的曲线,则判断为裂纹。
步骤1.2中,所述增强绝缘子图像的对比度,增强前图像的灰度分布函数为f(x,y),图像像素灰度分布范围为[a,b],增强绝缘子图像的对比度后,图像像素灰度分布范围为[0,255],灰度分布函数g(x,y)的表达式如下
对绝缘子图像进行去噪,采用维纳滤波器。维纳滤波是一种最小方差滤波器,它是在假设图像信号可近似看成为平稳随机过程的前提下,按照使f(x,y)和
式中e为期望,
式中g(u,v)是退化图形的傅里叶变换函数,h(u,v)是退化函数,sn(u,v)为噪声的功率谱函数,sf(u,v)为原始图像的功率谱函数,
维纳滤波器对噪声放大有自动抑制作用。如果传递函数h(u,v)在某处为零,由于
sn(u,v)≤sf(u,v)
则滤波器效果趋向于逆滤波。
如果信噪比很小,即
sn(u,v)>>sf(u,v)
滤波器的表现不敏感,维纳滤波器在恢复图像的过程中避免了对噪声的放大作用。维纳滤波后的图像使噪声得到了有效过滤,而且前景和背景的对比变得更加明显和突出,这样可以突出绝缘子与背景之间的差异。
步骤2中,所述计算绝缘子图像灰度值的最大熵,利用像素灰度值分布及其邻域平均灰度值分布的像素构成的一个二维向量,得到二维测度取最大值时获得最佳阈值。
如图2所示,以绝缘子图像的像素点灰度值为横坐标,以区域灰度均值为纵坐标建立图像的二维灰度分布图。设点(s,t)为目标区域即绝缘子和背景区域分割点,图像的最大灰度值为l,点(s,t)代表分割的阈值,二维灰度分布图的点(0,0)与点(s,t)之间的区域为目标区域a,点(l,l)与点(s,t)之间的区域为背景区域b,点(s,0)与点(l,t)之间的区域为c区,点(0,t)与点(s,l)之间的区域为d区,c区、d区分别代表边界像素点分布区域、噪声信号分布区域;
a区的二维熵h(a)如下
其中
pi,j为概率密度,
绝缘子图像的像素点数量为n×n;
b区的二维熵h(b)如下
其中
令c区和d区的pi,j≈0;可得pb=1-pa;hb=hl-ha=lg(1-pa) (hl-ha)/(1-pa),其中hl为熵的判别函数
最大熵的阈值点
现有的canny算子,如2016年第50期《上海交通大学学报》刊登的论文“一种基于canny算子的图像边缘检测改进算法”中的canny算子,普遍存在canny算子的阈值的选取没有明确的计算方法的问题,而阈值的选取,决定了边缘检测的最终结果,阈值过低,绝缘子裂纹检测过程中会产生很多假边缘和噪点,阈值过高,则绝缘子图像中需要保留纹路和裂纹的信息将无法保留。针对上述不足,将步骤2中计算好的二维最大熵,作为canny算子中双阈值中的高阈值,t1、t2分别为低阈值、高阈值,实施例中设置t2≈2t1,从而对现有的canny算子进行改进。
步骤3中,高斯滤波的输入图像为f(x,y),用高斯函数作平滑运算,平滑后的图像g(x,y)的梯度为
由卷积运算特性有:
式中g(x,y)为高斯函数。
采用高斯函数的图像平滑处理,会使原图像边缘模糊及宽度增加,非极大值抑制可对模糊边缘进行锐化。
一种实施例中,高斯滤波函数为
式中σ为正态分布的标准差;
用分解的方法将梯度矢量▽g的2个滤波卷积模板分解为2个一维的行列滤波器:
式中k为微分算子;将这两个卷积模板分别用于图像进行卷积计算,得到输出:
式中ex为x轴的差分值,ey为y轴的差分值,表达式中*表示卷积运算;a(i,j)为梯度的幅值,反应了图像f(x,y)上点(i,j)处的边缘强度;α(i,j)是图像f(x,y)上(i,j)点处的法向矢量,它是正交于边缘方向的矢量,也就是梯度的方向。图像f(x,y)上点(i,j)处的边缘强度a(i,j)值的大小并不能确定该点是否为边缘点,需要细化幅值图像中的屋脊带,保留幅值局部变化最大的点,即进行非极大值抑制。
绝缘子出现的裂纹通常为孤立的与绝缘子边缘轮廓相交的一条窄链,窄链贯穿绝缘子的多个伞裙。
步骤6.1中,所述斜坡函数采用1991年13期《ieeetransactionsonpatternanalysisandmachineintelligence》刊登的论文“optimaledgedetectorsforrampedges”中公开的斜坡模型,斜坡模型如下:
其中ε为函数参数,通过分析样本空间中的各个样本,选用参数为ε=1.4的斜坡模型可以表征大多数绝缘子的外观特征。
实施例中,采用本发明的裂纹检测方法,提高了电网绝缘子检修的效率和准确性,降低了电网检修人员的劳动强度,减少了电网中由于绝缘子故障造成的经济损失。
1.基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,其特征在于,包括以下步骤,
步骤1:采集绝缘子图像,对绝缘子图像进行预处理;
步骤2:计算绝缘子图像灰度值的最大熵;
步骤3:对绝缘子图像进行高斯滤波;
步骤4:计算绝缘子图像的梯度幅值和方向,对梯度幅值进行非极大值抑制;
步骤5:对绝缘子图像设置高阈值、低阈值,将绝缘子图像灰度值的最大熵作为高阈值,采用canny算子提取出绝缘子边缘图像;
步骤6:对可能包含裂痕的绝缘子边缘图像进行裂纹检测。
2.根据权利要求1所述的基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,其特征在于,步骤1中,所述对绝缘子图像进行预处理,对绝缘子图像进行旋转变换,使图像中绝缘子中心线处于竖直方向,将绝缘子依次进行图像灰度化、增强对比度、去噪,包括以下子步骤,
步骤1.1:将绝缘子图像灰度化;
步骤1.2:增强绝缘子图像的对比度;
步骤1.3:对绝缘子图像进行去噪。
3.根据权利要求2所述的基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,其特征在于,步骤1.2中,所述增强绝缘子图像的对比度,增强前图像的灰度分布函数为f(x,y),图像像素灰度分布范围为[a,b],增强绝缘子图像的对比度后,图像像素灰度分布范围为[0,255],灰度分布函数g(x,y)的表达式如下
4.根据权利要求1所述的基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,其特征在于,步骤6中,所述对可能包含裂痕的绝缘子边缘图像进行裂纹检测,包括以下步骤,
步骤6.1:判断步骤5的边缘图像的边缘曲线中符合斜坡函数形状特征的绝缘子轮廓线,确定图像中绝缘子区域;
步骤6.2:判断绝缘子区域内是否存在跨越相邻伞裙的曲线,若存在跨越相邻伞裙的曲线,则判断为裂纹。
5.根据权利要求1-4任意一项所述的基于canny算子的最大熵阈值优化的绝缘子裂纹检测方法,其特征在于,所述对绝缘子图像进行去噪,采用维纳滤波器。
技术总结