基于边缘特征的绝缘子故障检测
2023-01-05谭慧敏IpyanaIsaacMbugi
谭慧敏,丁 进,Ipyana Isaac Mbugi,谭 平
(浙江科技学院 自动化与电气工程学院,杭州 310023)
中国高速铁路总里程已达3.79万km,是中国综合交通运输体系的重要骨干。高速铁路接触网是高速铁路的关键系统,是高速列车运行的动力之源。接触网腕臂绝缘子是接触网关键部件,具有重要的支撑和绝缘隔离作用,绝缘子故障将会影响高速铁路的运输效率甚至运行安全。绝缘子数量巨大,进行绝缘子故障及缺陷的智能化检测对提高检测效率和检测精确度具有非常重要的研究及工程应用价值。
目前绝缘子故障检测算法主要通过定位识别[1]来检测绝缘子的故障,可以有效检测小的故障[2]。Gao等[3]针对绝缘子的细小缺陷,提出了一种采用批归一卷积块注意模块和特征融合模块的绝缘子检测网络,提高了绝缘子细微故障检测的精确度。Zhang等[4]通过缺陷检测生成对抗网络来克服缺少故障绝缘子样本的问题,从而提高绝缘子故障检测的精确度。Ji等[5]在基于区域的更快卷积神经网络(faster region-based convolutional neural network,Faster R-CNN)引入特征图金字塔网络来定位绝缘子位置,并提出了一种基于导航-教导-审查网络(navigator-teacher-scrutinizer network,NTS-Net)细粒度分类的绝缘子缺陷识别,提高了Faster R-CNN的鲁棒性,进而提高了故障绝缘子检测的精确度。张子健[6]采用旋转区域候选框网络定位斜臂绝缘子,然后进行绝缘子片与片的比较以检测故障绝缘子,保障了图片的一致性,降低了对比的干扰从而获得更高的精确度。Li等[7]通过将检测和分割网络级联,同时设计了一种融合二进制交叉熵损失和骰子系数的混合损失来解决类不平衡问题,大幅降低了漏检率。Han等[8]提出了一种针对绝缘子瓷片破损与夹杂异物的基于局部周期异常变化的缺陷检测方法,绝缘子的误报率降到了9.63%。Liu等[9]将缺陷区域视作背景,提出了一种无监督学习的绝缘子缺陷检测方法,能准确地检测出污秽严重的悬链线绝缘子缺陷。Tan等[10]提出了一种基于棚轮廓特征和灰度相似匹配的绝缘子匹配算法,取得了较高的精确度和召回率。
在上述研究的基础上,我们选择通过Faster R-CNN定位绝缘子的位置,并将其截取下来进行精确的故障检测。通过分析既有绝缘子样本的故障特征,可以发现故障绝缘子边缘特征与正常绝缘子的边缘特征存在差别。最常见的边缘特征的提取方法有二值化、Canny算法[11]、形态学处理等,对算法的改进主要通过计算图像信息自适应选择阈值[12],或对滤波方式[13]、比较范围[14]进行改进,但这些方式提取的边缘特征无法直接用于绝缘子边缘特征匹配。由于接触网巡检车采集的图片一致性较差且绝缘子故障具有不可预测性,因此需要研究具有较强泛化能力、较高检测精确度的算法。本研究基于绝缘子故障特征提出改进的特征提取算法,实现了一种基于绝缘子边缘特征的故障检测,并对绝缘子缺陷检测模型进行试验验证。
1 基于纵坐标方向连续单像素边缘提取算法
为提高绝缘子片边缘特征提取的精确度,我们研究基于纵坐标方向连续单像素边缘提取算法。采用骨架提取算法得到绝缘子片纵坐标方向连续单像素边缘。由于接触网巡检车相机向斜上方拍摄绝缘子,拍摄角度的倾斜导致图像上的绝缘子两端与绝缘子片边缘连在一起,在骨架提取时,绝缘子两端边缘特征会影响绝缘子片边缘提取,因此需进一步研究干扰边缘过滤的算法。
1.1 骨架提取
绝缘子图像如图1所示,将图像通过Sobel算子实现边缘增强之后进行二值化,得到的图像如图2所示。为得到单像素边缘,采用骨架提取算法[15]细化边缘。最终得到的绝缘子图像如图3所示。在y轴方向上单绝缘子片超过了图像的80%,因此需计算绝缘子片的最小外接矩,若在y轴方向上的最小外接矩超过图像的80%即为连通的绝缘子片,利用上述方法保留绝缘子片边缘。但是如图3(a)、(c)和(d)所示,由于故障及光线的影响在提取绝缘子片边缘时不连通,导致故障绝缘子及过度曝光的绝缘子被误过滤,因此需要对位置进行边缘精确检测以提高本算法的精确度。
图1 绝缘子图像
图2 二值化后的绝缘子图像
图3 骨架提取之后的绝缘子图像
1.2 干扰边缘滤除
绝缘子片的边缘做骨架提取后,为滤除因拍摄角度引起的绝缘子两端边缘特征对绝缘子片边缘特征的影响及过滤干扰边缘过多的非两端绝缘子片,如图3(b)、(c)和(d)所示,我们研究了去干扰边缘的算法。算法由以下两部分组成。
首先定位出干扰边缘所在位置,左旋的绝缘子在最左侧绝缘子片上出现绝缘子端干扰,右旋的绝缘子在最右侧绝缘子片出现。将绝缘子片边缘特征点中y值最小点设置为采样初始点P(x1,y1+1),统计(x1-1,y1+1)、(x1,y1+1)、(x1+1,y1+1)这3邻域范围内灰度值为255的点。若邻域范围内满足条件的点个数大于1,则该处存在干扰边缘;若邻域范围内满足条件的点个数等于1,则将采样点更新为3邻域内灰度值为255的点,保存采样点。
其次,若端绝缘子片存在干扰边缘,则设置采样点为(x1,y1+1),继续向下寻找,同时将3邻域改为5邻域,统计邻域范围内灰度值为255的点。若满足条件的点个数大于1,则将(x1,(y1+1)+1)设置为新的采样点,继续向下一行搜索5邻域,直到邻域范围内满足条件的点个数重新为1;再次将5邻域变为3邻域,一直到边缘特征结束。因为骨架提取之后,干扰边缘与正确的绝缘子片边缘方向是不同的,并且随着向下追溯,干扰边缘距离真正的绝缘子片越来越远。若其他绝缘子片存在干扰边缘,则过滤掉。去除干扰边缘之后的绝缘子如图4所示。
图4 去除干扰边缘之后的绝缘子边缘图像
2 改进的Canny边缘检测算法
传统的Canny算法双阈值设置较高,连通性较差,设置偏低,伪边缘多,且不同图像的质量不同,适用阈值也不尽相同;因此,为了既提高连通性又减少伪边缘,我们提出了一种基于多峰梯度直方图的阈值分割和边缘跟踪的改进的Canny算法来提取被误过滤的绝缘子片的边缘特征。改进的Canny边缘检测流程如图5所示。
图5 改进的Canny算法流程
2.1 截取过滤绝缘子片
由于纵坐标方向连续单像素边缘提取算法中边缘不连通,出现干扰边缘的内部绝缘子片被过滤,其边缘特征无法得知,因此截取过滤绝缘子片进行改进的Canny算法边缘检测。绝缘子片大小相同且分布规律,根据纵坐标方向连续单像素边缘提取算法,得到连通的绝缘子片中心坐标及外接矩形的高和宽,进而定位出不连通的绝缘子片中心坐标及外接矩形的高和宽。定位过滤绝缘子片的位置有以下方式。
1) 待检测绝缘子有11片绝缘子片,连通的绝缘子片不足11片且绝缘子片之间有规律地分布。绝缘子两端与绝缘子片相比纵坐标值较小,因此以连通的两端绝缘子片为起点,连通绝缘子片的宽为宽,图像的宽为长,统计纵坐标的最小值和最大值,计算与连通的绝缘子片纵坐标最小值和最大值的差值。若差值均小于20个像素点,则该处存在绝缘子片,对该处截取图像进行精确提取边缘特征。若加上定位的绝缘子片仍小于11片,则说明过滤绝缘子片顶端或底端存在缺陷,所以该绝缘子是故障绝缘子。
2) 待检测绝缘子有11片绝缘子片,连通绝缘子片不足11片且相邻绝缘子片中心横坐标之间的差值大于其他相邻绝缘子中心横坐标差值的1.5倍,存在被过滤的绝缘子片。以连通绝缘子片的宽为宽,图像的宽为长截取图像进行精确提取边缘特征。
图6 绝缘子片
3) 干扰边缘过多的连通绝缘子,以其最小外接矩的宽为宽,图像的宽为长截取图像,进行边缘特征精确提取。按照上述3种方法定位出的绝缘子片图像如图6所示。
2.2 改进的Canny算法
采用Canny算法对图像进行边缘特征提取。为保障Canny提取边缘的完整性,我们设定图像低阈值为20,高阈值为60。将Canny算法检测的边缘特征点的梯度幅值保存为其灰度值,Canny算法检测图像如图7所示。
绝缘子伪边缘主要由绝缘子边缘的阴影造成,因此绝缘子片梯度幅值大于伪边缘,采用梯度直方图波谷处的值作为阈值对绝缘子片图像进行阈值分割,来保
图7 Canny算法检测图像
留绝缘子的边缘。以10为一个阈值段,统计梯度幅值分布在该阈值段内的边缘特征点的数量。理想情况下,梯度直方图为双峰直方图,但试验过程中,由于光线、拍摄角度的影响,多为多峰直方图。判断直方图是否为多峰直方图,需通过零点定理求出其波峰、波谷,表示如下:
Z=(y-y1)×(y2-y)。
(1)
式(1)中:y为当前点纵坐标;y1为当前点前一个点纵坐标;y2为当前点后一个点纵坐标;若Z>0,则表示该处存在波峰或者波谷。若满足y-y1<0,y2-y>0为波谷,则满足y-y1>0,y2-y<0为波峰。
若统计的梯度直方图为单峰直方图,则认为检测到准确的边缘特征,不进行阈值分割;若为如图8所示的多峰直方图,则选择波谷处的值作为分割阈值。选
图8 多峰直方图
取分割阈值作为阈值对图像进行阈值分割,统计分割后仍为边缘特征点的数量,最靠近F的值作为最佳分割阈值。因为特征匹配需要构造在纵坐标上连续的边缘特征,待检测的图像纵坐标长度为400,所以选择400作为阈值选取标准(F)。为了保证边缘的连通性,若是阈值分割后的点的数量小于F/2,则直接删除该阈值,不作为考虑范围。
保存梯度幅值超过最佳分割阈值的特征点,忽略梯度幅值小于阈值的特征点,最终得到阈值分割后的图像如图9所示,阈值分割后边缘的完整性会受影响。
图9 阈值分割后的图像
为保证得到的绝缘子片边缘特征在纵坐标上连续单像素,首先对阈值分割后的点进行处理,将相同纵坐标下连续的点取中间值作为该行连续点的有效坐标,保留间断的坐标。然后选择在相同纵坐标下单像素且上一行或者下一行的不是单像素点的点作为采样点,以采样点中纵坐标最小的点作为起点P1(x,y),在Canny算法检测出来的边缘图像按照先向上、再向下的方向进行3邻域跟踪(3邻域是指横坐标为x-1、x、x+1纵坐标由跟踪方向决定+1还是-1的3个点组成),若点满足两个条件,一是邻域范围内有特征点,二是自身灰度值不为0,则认为是边缘特征点;同时将新的边缘点更新为采样点,直到3邻域内没有边缘特征点。在每次邻域跟踪结束后,比较跟踪到的点在纵坐标上是否连续,若没有,则继续选择新的采样点进行跟踪,直至在纵坐标上连续。
图10 3邻域跟踪后的图像
若邻域跟踪的边缘在纵坐标上无法连续,即截取的绝缘子片图像中不连续位置处梯度幅值极小,则无法提取边缘。过度曝光的绝缘子片在绝缘子片中间位置灰度值极高,导致该位置的梯度值极小,因此当2个边缘端点的横坐标差值的绝对值小于10个像素点,并且纵坐标满足两个条件,一是差值超过1个像素点,二是纵坐标处于图像长的1/2处上下各50个像素点之间,则将两个端点直接相连,构造出在纵轴上连续的边缘特征。3邻域跟踪后的图像如图10所示。
3 基于边缘特征相似度匹配的缺陷检测
绝缘子缺陷检测是基于均匀采样的边缘特征点计算相邻点之间的角度而进行相似度计算,以此构建绝缘子缺陷检测模型并进行测试验证。
3.1 绝缘子缺陷检测模型
按照上述的边缘特征提取算法提取在纵坐标上连续的绝缘子片边缘特征进行匹配,为了线性化出边缘特征,在边缘特征曲线上均匀地采n+1个特征点,用离散点之间的角度来线性化表示曲线段的弧度,将相邻两个特征点之间的斜率求出,转换成角度(角度范围为0°~360°),公式如下:
(2)
式(2)中:αn为第n个点与第n+1个点的角度。
根据式(2)得到的角度构成n维向量,采用欧氏距离公式计算匹配距离
(3)
式(3)中:Ai为待匹配绝缘子片特征向量的第i个分量;Bi为待匹配绝缘子相邻的绝缘子片特征向量的第i个分量。D衡量绝缘子片之间的差异,D值越大,两绝缘子片之间的差异越大。
将绝缘子a、b、c、d先进行边缘特征提取,然后选取n=15构造特征向量进行片与片的匹配,匹配结果如图11所示。由图11可知,绝缘子a、b是无缺陷绝缘子,其D值无明显波动,小于4;绝缘子c的D值在5、6处高于其他位置,高达17,由此可以推出其缺陷片是第9片绝缘子片;绝缘子d在8、9处的D值明显高于其他位置,高达34,由此可以推出缺陷位置为第6片绝缘子片。测试结果均与实际相符。
图11 匹配结果
3.2 试验结果验证
试验采用315个正常绝缘子和91个故障绝缘子(包括脏污和缺陷绝缘子)共406个绝缘子,选择n=15构造特征向量,进行算法验证。当绝缘子存在片与片之间匹配的距离超过4或者连续2片的匹配距离在3以上时,则认为该绝缘子为故障绝缘子;当绝缘子不存在片与片匹配距离超过4或者没有连续2片的匹配距离大于3时,则认为该绝缘子为正常绝缘子。绝缘子的检测结果见表1。
表1 绝缘子的检测结果
召回率(R)为测试集中所有检出的无缺陷绝缘子中,被正确识别为无缺陷绝缘子的比例,计算公式如下:
(4)
式(4)中:NTP为正常绝缘子被正确识别为正常绝缘子的数量;NFN为无缺陷绝缘子被错误识别为缺陷绝缘子的数量。计算得到算法的召回率是98.7%。
精确度(P)为NTP在识别出为缺陷绝缘子中所占的比率,计算公式如下:
(5)
式(5)中:NFP为正常绝缘子被识别为缺陷绝缘子的数量。计算得算法的精确度为99%。
本算法绝缘子4个误检是由于背景的干扰。如图12(a)所示,提取的绝缘子片边缘特征与背景的边缘特征连在一起对匹配过程造成干扰;提取的边缘特征如图12(b)所示,计算的D值达到7,超过设定的阈值,因此造成误检。
图12 误检的绝缘子
4 结 语
本试验基于Visual Studio平台采用C++进行编写,试验结果表明,Sobel强化边缘+二值化+骨架提取+去伪边缘能够提取到连通的绝缘子边缘特征,对过滤绝缘子片进行改进的Canny算法检测,去除大部分伪边缘,提取到准确的边缘特征。基于提取的边缘特征,用均匀采样的边缘特征点计算相邻点之间的角度,构造特征向量进行相似度计算,超过阈值视为绝缘子不匹配。经过试验证明,本算法精确度达到99%,召回率达到98.7%,满足运营维修保养的要求。试验结果也表明,复杂背景会影响绝缘子的匹配结果,未来可以定位不匹配的位置,融合其他特征来分析背景引起的误匹配。