李昊,周帅
(云南电网有限责任公司电力科学研究院,云南 昆明 650217)
变电设备缺陷检测在保证电网安全稳定运行等方面有着非常重要的价值,近年来,随着各类成像设备在变电站的安装和使用,通过图像来发现设备缺陷已经成为变电站检修人员的日常工作之一,但是由于变电站每天存储的图片或视频较多,人工审核的压力较大,且容易出现由于人眼疲劳而导致未能发现部分设备缺陷的问题。一般而言,变电站成像设备都暴露在自然环境中,由于条件限制,也很少有人去维护,这就导致在拍摄到的图片中经常会有水汽、雾气、灰尘等,其中,雾气对图片质量的影响尤为严重,这些都对变电设备缺陷检测有严重影响。因此,本文提出将去雾算法和深度学习算法相结合的方式来进行缺陷监测,使用暗通道去雾算法改善图片质量,然后使用YOLOV4对设备缺陷进行检测。
1.1.1 暗通道先验理论
基于暗通道先验的去雾算法实际上是一种统计意义上的算法,何恺明博士总结了大量的室外无雾图像,发现了在无雾图像中局部区域存在一些像素,这些像素中至少有一个颜色通道的像素非常低(低亮度值区域不包括天空区域),基于这一统计结论,定义了暗通道,公式如下所示。
其中,Jc代表图像J的某一个颜色通道,而Ω(x)是以x为中心的一块方形区域,Jdark为对应的暗通道图。对于图像J而言,获取其暗通道图的流程是:先求出图像中每个像素的三个颜色通道在邻域窗口Ω(x)内的最小值,组成一幅与原图相同大小的灰度图,再通过最小值滤波滤掉图像中可能存在的白色场景目标。暗通道图的获取示意图如图1所示。
图1 暗通道图的获取示意图
2)有雾条件下图像退化模型
在计算机视觉和计算机图形领域,一个常用来描述有雾图像的成像模型是:
其中,I(x)表示有雾图像,J(x)是要恢复的无雾的图像,A是全局大气光照,t(x)为透射率。要想计算出无雾图像J(x),需要先求出全局大气光照A和透射率t(x)。
3)暗通道去雾算法
暗通道去雾算法以暗通道先验理论为基础,借助暗通道图估计出原始图像中的全局大气光照A和始粗糙透射率图,然后使用软抠图(Soft Matting)算法对初始粗糙透射率进行细化处理,最后根据大气散射模型,实现对雾天图像的清晰化去雾处理。
在何恺文博士的论文中给出了一种简单有效的全局大气光照计算方法:
1)降序排列暗通道图中的各像素点灰度值,选择前0.1%的灰度值像素点;
2)在上一步选择的像素点中,选取对应雾天图像中最大灰度值作为全局大气光照的估计值。
1)初始透射率的计算
首先,假设已知全局大气光照A的值,并且假设初始透射率在一个局部窗口区域内为一恒定常数对式(2)进行变形并在局部窗口区域内进行最小值滤波可得到下面的式子:
对式(3)在三个颜色通道上进行最小值滤波可得到:
根据前述的暗通道先验理论,无雾图像J的暗通道图Jdark的像素点灰度值趋近于0,而且Ac为正值,所以有:
结合式(4)和式(5)可以得到初始透射率的预估值:
为防止雾气的彻底去除,引入一个可以调节大小的参数因子w(o<w<1)防止雾气被彻底除尽而导致人类视觉不能感受到图像的景深。对式(6)的修正如下:
2)细化透射率的计算
式(7)得到的透射率只是一个粗略的估计值,若用该值来恢复图像会导致去雾后的图像中有严重的光晕现象,因此采用Matting Laplacian 算法对公式(7)中得到的初始透射率进行改进修正。用表示细化透射率t(x)的向量形式,表示初始透射率的向量形式,可得到如下损失函数:
其中,T表示转置矩阵,L表示m×n图像的拉普拉斯矩阵,λ为正则化参数。元素为(i,j)时矩阵L的定义如下:
式中,Ii和Ij是图像I在像素点i和j处的灰 度 值,δij为Kronecker De系 数,Uk和Σk是以k为中心的窗口wk中像素的均值和协方差,|wk|是wk窗口中像素点的数量,ε(10-4-10-3)是一个正则化参数,U3是一个(3×3)的单位矩阵。最小化损失函数可得到:
式中,U是与L大小相同的单位矩阵,λ是一个值较小的参数(一般设置为10-4),通过上式即可求出细化透射率。
选取3幅图像进行实验,结果如图2所示。从结果中可以看出,尽管经过暗通道去雾后物体周围会出现光晕现象,但是图像的整体质量提升了,更有利于物体缺陷的检测,而且对于任一幅图像,本文设置只有当暗通道图像的平均灰度值大于0.6的时候才进行去雾操作,即只有图像中出现浓雾的时候才进行暗通道去雾,进一步限制了光晕的影响。
图2 暗通道去雾算法实验结果
YOLOV4目前是大家公认的最新的YOLO系列算法,它是在YOLOV3的基础上吸收了大量优化技巧后形成的,其主要改进有:将YOLOV3中卷积块的激活函数和残差模块分别替换为Mish激活函数和CSPnet结构,形成了主干特征提取网络CSPDarknet53;在CSPDarknet53的基础上增加了加深卷积网络的特征金字塔结构( SPP), 针对不同级别的检测器,选用PANet作为对不同骨干层进行参数聚合的方法,此外优化方法还包括Mosaic数据增强、余弦退火衰减学习率、自对抗训练等。YOLOV4的网络结构图如图3所示。
图3 YOLOV4网络结构图
收集整理3000张变电设备的缺陷照片作为训练集,200张图片作为测试集,训练集中随机选取总数的10%作为验证集。将变电设备缺陷分为熔断、渗漏和部件损坏3类,相关图片示例如图4所示。
图4 常用的COCO数据集
本文训练时的硬件环境:GPU是NVIDIA Tesla V100,CPU是Intel i7,操 作 系 统 是Ubuntu 16.04.7 LTS,训练参数设置如下:训练批尺寸为8,学习率为1×10-3,epoch设置为100,使用早停法防止过拟合,当验证集损失函数的值连续10个epoch没有下降则停止训练。
训练结束后在测试集上检验模型的检测效果,相关指标和检测结果如图5和图6所示。
图5 YOLOV4检测变电设备缺陷的性能指标
图6 变电设备缺陷检测结果
由于在部件损坏这一类缺陷中包含了缺损和破裂两个小类,渗漏缺陷发生的部位一般会出现锈蚀的情况,导致渗漏部位的颜色各异,这些都导致部件损坏和渗漏两类缺陷的检测指标偏低,后续将从细化缺陷分类、扩充训练集等方面进一步改进。
本文使用深度学习方法实现了熔断、部件损坏和渗漏3类变电设备缺陷的检测,并且针对变电站摄像头处于自然环境下,容易受到雾气、水汽、灰尘的影响而导致成像质量不佳的问题,使用了暗通道去雾算法对有雾图像进行处理,改善了待检测图像的质量,从而提高检测准确率。实验结果表明,对三类缺陷的检测基本满足实际使用的要求。