基于Matlab GUI 的绝缘子缺陷检测系统
2023-09-19熊力颖徐铭海古渝涛张铭洋
熊力颖,徐铭海,古渝涛,张铭洋
(西南交通大学电气工程学院,四川成都 611756)
架空输电线路由于长时间暴露在外,容易在雷击、沙尘暴、极寒天气等诸多恶劣环境下发生损坏,进而严重影响线路的寿命和安全[1-3]。因此,对绝缘子缺陷的检测是保证输电线路稳定安全运行的关键。以人工巡线方式进行检测易受主观、环境等多种因素影响[4-7]。同时,绝缘子检测面临着输电线路长、检测环境恶劣等诸多问题,大大提高了人工检测成本。在此背景下产生了借助紫外线设备[8]、计算机视觉[9]、激光检测[10]等绝缘子缺陷检测方法。随着电网智能化和计算机技术的发展,利用无人机进行线路巡检已成为研究热点[11]。
因此,文中基于Matlab GUI构建出一套绝缘子缺陷检测系统。该系统利用图像识别技术对无人机拍摄图像进行处理,辅助工作人员进行绝缘子缺陷的识别。
1 系统总体设计
系统利用无人机进行绝缘子的图像采集以提高效率,解决了地理环境恶劣导致人工图像采集困难的问题。为保证图像识别的准确性,无人机应满足像素高、待机时间长、机械性能好等要求。系统采用大疆公司生产的“御Mavic2”专业版无人机,其相机采用了2 000 万有效像素作为影像传感器,镜头视角77°,等效焦距为28 mm,飞行器展开尺寸为322 mm×242 mm×84 mm,质量为907 g,最大飞行高度达到6 000 m,悬停时长为29 min,可承受5 级风力,在-10~40 ℃的环境中运行。
系统包括图像预处理、二值图像处理及缺陷定位三大部分。图像预处理包括无人机采集图像、边缘模糊、灰度化及全局膨胀;二值图像处理包括目标边缘检测、全局腐蚀、形态学闭运算及去除小面积干扰;缺陷定位包括目标定位算法和识别结果显示。整体框架图1所示。该系统能够直接对无人机采集的绝缘子图像进行批量处理,排除噪声干扰,实现绝缘子缺陷的准确与快速识别,避免人工识别的主观性错误,便捷工程运用。
图1 系统绝缘子缺陷识别流程
系统首先需要选择图像,根据是否有图像数据输入到[fn,pn]中进行判断,若无则给出提示。在读取到图像数据后,对数据进行记录,便于后续算法对数据进行提取并处理。识别模式分为单步检测和分步检测两种方式。前者直接得到最终的缺陷检测结果,后者可以认为控制检测的步骤并得到相应的图像处理结果,每一步均有操作说明文档。两种方式只存在步骤的差别,对同一图像的识别结果相同。系统主界面如图2 所示。
图2 绝缘子缺陷检测系统主界面
2 各模块算法设计及实现
2.1 边缘模糊模块
绝大多数绝缘子图像是从室外采集的,这导致图像中除绝缘子外的其他环境区域具有极大的对比度[12]。因此,系统通过边缘模糊降低图像边缘对比度,提高识别精度。首先使用PSF=fspecial(′gaussian′,220,220)生成高斯低通滤波器矩阵,以创建PSF 矩阵,然后使用I0=edgetaper(img,PSF)对图像进行边缘模糊。
2.2 灰度化模块
无人机在采集图片时会受到机械振动、线路电磁干扰、环境光照变化等多种影响。因此,图像经边缘模糊后,再进行灰度化处理,有利于进一步去除图像冗余数据,加快特征信息的处理速度。根据现有常用的灰度化处理方法——Gooch 加权平均法[13],将图像中的所有元素按照相同的规则进行灰度处理,对R、G、B三个分量按照式(1)进行加权计算。使用rgb2gray(I0)操作可实现图像的灰度化处理。
2.3 全局膨胀模块
为进一步降低绝缘子以外区域的环境对比度,需要对图像进行全局膨胀,进而增大图像中各区域元素的面积。确定一个由像素组成的形状元素和独立参考点,利用该形状元素遍历图像,确定形状元素覆盖区域的最大值,将其赋值给参考点所在的像素位置,公式表达如下:
区域元素面积的增大使得相邻区域元素的连通性增强,从而减小各独立区域元素间的对比度。首先使用be=strel(′ball′,5,5)操作创建球型半径为5、高度为5 的结构元素;接着使用bw=imdilate(I1,be)操作对图像进行全局膨胀操作。
2.4 目标边缘检测模块
图像的边缘是获取图像数据极为重要的范围之一,对图像进行边缘处理能有效提高图像特征的获取。常见的边缘处理方法有基于形态学的边缘检测算法[14]、边缘检测滤波处理技术[15]。Matlab 中最常见的边缘处理算子包括Roberts、Prewitt、Sobel、Laplacian算子等。考虑到灰度化和全局膨胀后图像的噪声得到减小,同时绝缘子具有较强的垂直或斜向边缘,采用Roberts 算子进行边缘检测。
分别使用p=edge(bw,′roberts′,0.15)及edge_canny=bwperim(p,8)操作对预处理图像进行边缘检测,即勾勒预处理图像高对比度区域包括绝缘子的图像边界。为突出绝缘子缺陷部位,每个模块操作后均使用imcomplement()函数对图像进行黑白对调。处理效果如图3 所示。
图3 目标边缘检测效果
2.5 全局腐蚀模块
经过上述操作处理后的图像包含绝缘子的主要高对比度区域与部分其他高对比度区域,因此采用全局腐蚀对图像进行降噪。腐蚀操作与膨胀操作相反,将形状元素覆盖区域的最小值赋值给参考点,表示如下:
经过全局腐蚀后的图像会根据形状元素相应地缩小,从而达到消除噪声、断开图像中物体粘连的效果和区分不同对比度图像区域的效果。I2=imerode(edge_canny,se)操作可实现二值图像的全局腐蚀,缩小部分高对比度区域。处理效果如图4 所示。
图4 全局腐蚀效果
2.6 形态学闭运算模块
从图4 可以看出,图像经全局腐蚀后虽然增强了绝缘子缺陷的有效特征、减小了噪声,但也导致了绝缘子轮廓出现部分断裂。这种断裂可能导致后期缺陷识别与定位错误的产生。因此,利用形态学闭运算连接相邻的两个分离目标,从而达到恢复图像轮廓特征的目的[16]。
使用ce=strel(′rectangle′,[25,25])与I3=imclose(I2,ce)进行形态学闭运算,膨胀二值图像轮廓,使绝缘子轮廓与小面积噪声区域的二值图像面积增大,从而加大两者间面积的差距。处理效果如图5所示。
图5 形态学闭运算效果
2.7 去除小面积干扰模块
不论是绝缘子的缺陷还是污闪,在形态学闭运算处理后均在缺陷处出现高对比度的聚集形状,而边缘出现的线条轮廓可能影响识别精度。因此,使用I4=bwareaopen(I3,100)操作移除膨胀后图像中的小面积目标,仅保留二值图像中面积较大的绝缘子部分图像,从而达到去除小面积目标的干扰、清除背景噪声的目的[17]。处理效果如图6 所示。
图6 去除小面积干扰效果
2.8 缺陷识别与定位模块
在完成上述操作后,进行绝缘子缺陷的识别与定位。根据原图像中的目标定位算法,在检测到绝缘子缺陷位置的基础上,对缺陷部分进行局部放大从定位。算法中定义了一个行向量与一个列向量,并用这两个向量分别遍历图像的行与列,在向量循环到值发生变化时标记该点的行与列坐标,从而得到缺陷部位原图像中的相对位置,并对其进行局部放大。污闪及缺损绝缘子的缺陷识别与定位效果分别如图7、图8 所示。
图7 污闪绝缘子的缺陷识别与定位效果
图8 缺损绝缘子的缺陷识别与定位效果
3 实验结果
系统对不同绝缘子拍摄空间形态进行了识别和统计,结果如表1 所示。
表1 绝缘子缺陷识别统计结果
由表1 得出,在绝缘子处于水平、垂直和倾斜状态的图像中,利用该系统进行的缺陷识别正确率均在80%及以上,证明了系统在应用中的可行性。
4 结论
文中结合智能电网发展趋势下,无人机巡检在输电线路绝缘子图像采集的优势,建立了一套基于Matlab GUI 的绝缘子缺陷检测系统。该系统能够识别并定位绝缘子污闪及缺陷部分,具有一定的应用价值。系统对无人机获取的绝缘子图像进行缺陷识别定位,相较与人工巡检的缺陷检测方式提高了识别效率与精度,降低了检测成本;相较于基于深度学习[18-19]和基于卷积神经网络的[20-21]绝缘子缺陷检测方法,能有效降低计算复杂度,提高检测效率。
文中不足之处主要在于样本数较少、统计数据缺乏全面性,后续研究将进一步优化系统进行更完善的图像检测识别。