基于生成对抗网络的输电线路机巡影像去雨滴方法

2020-10-23 01:55辛明勇徐长宝高吉普高在武王波王晓阳
广东电力 2020年9期
关键词:掩码雨滴注意力

辛明勇,徐长宝,高吉普,高在武,王波,王晓阳

(1.贵州电网有限责任公司电力科学研究院,贵州 贵阳 550002;2.贵州电网有限责任公司安顺供电局,贵州 安顺 561000;3.武汉大学 电气与自动化学院,湖北 武汉 430072)

无人机巡检图像是无人机巡检中最重要的信息载体,通过对机巡影像的目标检测和故障定位可以达到智能化巡检的目的[1-2]。无人机在野外巡线的过程中有时摄像头上会有雨滴存在,雨滴会覆盖背景图像中目标物体信息,降低图像质量。雨滴使得输电线路设备成像时吸收了更广泛的环境光线,这些折射光线与目标物体反射光线叠加造成了图像的退化。另外无人机巡线拍照时相机应该聚焦在输电线路设备上,雨滴会影响相机的聚焦,使得图像背景虚化,图像细节信息损失严重。因此,雨滴的存在会导致拍摄的机巡影像质量参差不齐,影响图像信息提取和利用,降低目标检测的准确性和可靠性[3]。

单幅图像去雨滴是图像处理领域中极其复杂的技术,国内外开展相关技术研究的时间不长,现有方法不多,大致可以分为传统去雨滴方法和基于卷积神经网络(convolutional neural network,CNN)的去雨滴方法。传统去雨滴方法又分为基于滤波的方法和基于字典学习加稀疏编码的方法,其中滤波法包括引导滤波法[4]、改进引导滤波法[5]、多次引导滤波法[6]、L0最小范数平滑滤波法[7]、非均值滤波法[8]等。滤波法生成的去雨滴图像较为模糊,且存在部分雨滴无法去除的问题。Fu等人[9]利用滤波器对含雨滴图像滤波得到高频图像和低频图像,再利用字典学习和稀疏编码对高频图像去雨滴,然后将高频去雨滴图像和低频图像合并得到去雨滴图像。在此基础上,Kang等人[10]引入雨滴梯度直方图特征,利用K-means聚类方法对高频图像进行聚类,获得有雨字典和无雨字典,然后分别进行稀疏编码,获得高频无雨图像,将高频无雨滴图像和低频图像融合获得无雨滴图像,该方法比文献[9]提出的方法获得的图像背景更清晰。Lou等人[11]提出了判别式稀疏编码方法去除图像雨滴,该编码方式具有一定的判别能力,能够降低雨滴判别的失误率,提升去雨滴效果。2013年,David等[12]首次将CNN用于图像去雨滴,首先构建包含有雨滴-无雨滴图像对的样本库,利用步长为1的滑动窗口对相应图像进行分割,然后利用对应图像块之间的均方误差进行网络训练,最终获得能够去雨滴的CNN模型。之后Fu[13-14]等将CNN和图像分解融合,利用CNN提取图像中的雨滴特征,作为高频分量中的雨滴特征实现对高频分量去雨滴,提升去雨滴效果图的质量。

通过对现有图像去雨滴方法进行研究发现,目前传统的去雨滴方法大多是基于模型去雨滴,利用经典模型分别描述雨滴、雨线和背景图像,通过相应的优化算法一步步迭代优化去除雨滴。传统方法对于雨滴密集的图像处理效果很差,被雨滴覆盖区域的背景图像不能精细修复。而基于CNN的去雨滴方法能够充分提取图像的特征信息,利用此方法实现图像去雨滴的效果明显优于传统方法。但随着网络深度的增加,网络容易出现过拟合现象,去雨滴效果很难有进一步的提高。针对上述算法的不足,本文分析了雨滴图像生成原理,论述了生成对抗网络(generative adversarial networks,GAN)的基本结构,在此基础上将雨滴图像生成模型融入到GAN中,提出了基于GAN的去雨滴方法,该方法得到的去雨滴图像更加接近真实图像。

1 单幅图像去雨滴模型

1.1 含雨滴图像生成模型

在研究图像去雨滴的过程中,通常将含雨滴图像建模为背景图像和雨滴层的线性组合,数学表达式为

I(x)=(1-M(x))ΘB(x)+Z(x).

(1)

式中:I为无人机巡线时拍摄的含雨滴图像;x为图像中像素点的位置;B为背景图像,即无人机拍摄的清晰输电线路设备;Z为雨滴对图像造成的影响;M为二进制掩码,用来表示雨滴对背景图像造成的影响;Θ为渐近紧确界记号。

1.2 GAN

近年来随着深度学习的不断发展,学者提出了GAN,在处理复杂数据分布方面表现出了较好的性能,是无监督学习领域最具前景的方法之一。该模型包含生成模块和判别模块,在图像修复方面,通过2个模块之间的互相博弈能够输出高质量的图片。

GAN的核心思想在于博弈,生成模型用于生成1个逼真的样本,判别模型用于判断生成图像的真假。判别网络应能够判别输入的图像是真实拍摄图片还是来自于生成网络生成的图片,如果为真实拍摄图像则输出1,否则输出0。生成网络应按照拍摄的真实图片规律不断生成新的图片,通过与判别网络进行博弈使得生成图片质量尽可能接近真实拍摄图像,以至于判别器无法识别该图像来自于生成器还是拍摄图像集。GAN为了实现这样的功能需要分别对生成网络和对抗网络进行交替迭代训练。

GAN的强大之处在于能够快速学习复杂的数据分布,而且网络不需要复杂的约束函数,整个学习过程无需人为干预。GAN另外一个特点是可以依靠样本数据分布规律自动更新网络损失函数。在GAN进行训练的过程中,判别网络可以作为生成网络的损失函数,对生成网络的优化起着监督和引导的作用。判别网络参数更新的过程也就是不断优化生成网络损失函数的过程。

1.3 基于GAN的去雨滴模型

和GAN的最基本结构一样,本文提出的基于GAN的去雨滴模型主要包括生成网络和判别网络。生成网络和判别网络之间相互博弈,在注意力图的引导下尽可能生成清晰真实的去雨滴图像,去雨滴网络总体架构如图1所示。

图1 去雨滴网络结构Fig.1 Structure of the raindrop removal network

下面对改进的生成网络和判别网络进行详细说明。

基于GAN的去雨滴模型的整体损失函数为

(2)

式中:PR、PI分别为真实图像和生成图像的概率;C为生成网络;D为判别网络;I为含雨滴图像;G(I)为去雨滴后的图像;R为不含雨滴的真实样本。

1.3.1 改进的生成网络

改进的生成网络包含注意力循环网络和上下文自动编码-解码网络。注意力循环网络中包含长短期记忆(long short term memory,LSTM)神经网络,通过循环迭代的方式生成注意力图。注意力图是含雨滴图像中雨滴的位置和形状信息,引导上下文编码-解码器重点关注雨滴及其周围区域。

1.3.1.1 注意力循环网络

注意力循环网络曾经被应用于视觉注意模型中,定位图像中的目标区域,提高目标识别的准确性[15-17]。受此启发本文将这一结构应用在去雨滴网络中,利用视觉注意引导生成网络和判别网络寻找图像中雨滴的位置。如图1中生成器部分所示,注意力循环网络共包含4个循环模块,每个模块中包含残差模块(Residual Block)[18]、LSTM单元和卷积层(Convs),其中残差模块用于从输入图像和前一个循环模块产生的注意力图中提取雨滴特征信息,LSTM单元[19]和卷积层用于生成二维注意力图。

在注意力图生成过程中,二进制掩码图起着关键作用。掩码图中只包含有0和1,0表示这个像素点没有雨滴存在,1表示该像素点有雨滴存在。将掩码图和含雨滴图像输入到注意力循环网络的第1个循环模块中用于初始注意力图的生成。掩码图是由含雨滴图像减去清晰图像,然后设置一定的阈值进行过滤得到的,虽然获得的掩码图比较粗糙,但是对精细的注意力图的生成有很大作用。注意力图和掩码图最大的区别是掩码图只包含0和1,而注意力图的取值是[0,1]。注意力图中,取值越大表示去雨滴网络越应该注意该像素点,也即该像素点处存在雨滴的可能性越大。即使在同一个雨滴区域内注意力图的值也会有所不同,这和雨滴的形状和厚度有关,同时也反映雨滴对背景图像不同像素点的影响程度。

注意力循环网络中包含1个LSTM单元,LSTM单元包括1个输入门it、1个遗忘门ft、1个输出门ot以及1个单元状态ct。状态和各门之间在时间维度上的相互作用定义为:

it=σ(Wxi*xt+Whi*ht-1+Wci⊗ct-1+bi);

ft=σ(Wxf*xt+Whf*ht-1+Wcf⊗ct-1+bf);

ct=ft⊗ct-1+

it⊗tanh(Wxc*xt+Whc*ht-1+bc);

ht=ot⊗tanh(ct).

(3)

式中:下标t为时间步长;xt为残差网络生成的图像特征;ht为LSTM单元的输出特征;Wxi、Whi、Wci分别为xt、ht、ct与输入门it之间的权重矩阵;Wxf、Whf、Wcf分别为xt、ht、ct与遗忘门ft之间的权重矩阵;Wxc、Whc分别为xt、ht与单元状态ct之间的权重矩阵;bi、bf、bc分别为it、ft、ct的偏差向量;“⊗”表示矩阵乘法,“*”表示卷积运算。LSTM单元的输出一方面输入到卷积层用于产生二维注意力图,另一方面输入给循环网络的下一个LSTM单元中实现时间维度上的特征保留。

生成网络的输入是背景完全相同的图像对,一幅含雨滴,另一幅不含雨滴。每个循环模块的损失函数定义为输出注意力图与二进制掩码M之间的均方误差LMSE。对于注意力循环网络前边的循环模块损失函数赋予较小的权值,后边的模块损失函数赋予较大的权值。损失函数

(4)

式中:A为循环网络运算期间产生的注意力图;N为循环模块的数量;θ表示每个步骤映射与前一步的交互;LMSE(At,M)为At和二进制掩码M的均方误差,其中At为时间步长t时循环网络产生的注意力图,At=Ut(Ft-1,ht-1,ct-1),Ft-1为含雨滴图像和上一个循环单元输出注意力图的融合向量,Ut函数表示在时间步长为t时的循环单元。在整个循环网络中,N越大越有利于生成更加精细的注意力图,但是N的增大也意味着需要更多的内存储存中间参数,经过测试发现当N=4、θ=8时网络效率最高。

1.3.1.2 上下文自动编码-解码器

上下文自动编码-解码器的输入为含雨滴图像和注意力循环网络生成的注意力图,在注意力图的引导下实现图像去雨滴和背景修复。上下文自动编码-解码器共有16个Conv+ReLU模块,编码和解码部分结构对称,对应模块之间添加了跳跃连接,防止去雨滴图像模糊。上下文自动编码-解码器采用2种损失函数——多尺度损失和感知损失。

多尺度损失函数从解码器不同层提取图像特征信息,充分利用图像多层次信息对模型进行优化,获得清晰的去雨滴图像。多尺度损失函数

(5)

式中:S为模型输出的图像特征;Si为从编码器中第i层提取出的图像特征;ANi为具有与Si相同尺度的真实图像;λi为权重;Y为编码器的层数。多尺度损失函数的设计更关注在大尺寸图像上进行特征提取,尺寸较小的图像包含信息量较少,对于模型优化的影响也较小。解码器最后1层、倒数第3层和倒数第5层的输出图像尺寸分别为原来尺寸的1/4、1/2和1,对应的权重分别设置为0.6、0.8、1.0。

除了基于像素点的尺度损耗之外,本文还增加了感知损耗,用于获得上下文自动编码-解码器输出与相应清晰图片之间的全局差异。感知损耗从图像的全局角度衡量去雨滴图像和真实的图像之间的差异,使去雨滴图像更加接近真实样本。图像全局信息可以利用VGG16进行提取,需要事先在ImageNet数据集上完成网络预训练。感知损失函数

LP(O,R)=LMSE(V(O),V(R)).

(6)

式中:V为经过预训练的CNN网络,能够完成对给定输入图像的特征提取;O为自动编码器的输出图像,O=G(I)。

综上所述,生成网络的损失函数

(7)

式中LGAN(O)=lg(1-D(O))。

1.3.2 改进的判别网络

判别网络的作用是区分真假样本,GAN中的判别器通常采用全局判别器[20-22],判断生成器输出的图像和真实样本之间的差异。仅利用全局信息进行图像真假判别不利于生成网络对图像局部信息的恢复。对于图像去雨滴来说,该方法希望能够尽可能恢复图像的细节,以便进行后续的目标检测工作,现有的判别网络不能直接使用;因此,本文将全局判别器和局部判别器组合起来,共同判别生成网络输出样本的真假。

局部判别器的使用是以知道图像中雨滴的位置信息为前提的,在图像修复阶段注意力循环网络中生成了注意力图,这就解决了图像中雨滴位置的定位问题;因此,可以将注意力图引入到判别器网络中,指导局部判别器自动寻找图像中雨滴区域。利用CNN从判别器的内层进行特征提取,同时也对生成器生成的去雨滴图像进行特征提取,然后将获得的特征图和注意力图结合构成局部判别器的损失函数。注意力图的存在将会引导判别网络对图像中的雨滴区域进行重点关注,在判别网络的最后1层使用全连接层来判断输入图像的真假。判别网络的整体损失函数

LD(O,R,AN)=-lg(D(R))-

lg(1-D(O))+γLmap(O,R,AN) ,

(8)

Lmap(O,R,AN)=

LMSE(Dmap(O),AN)+LMSE(Dmap(R),0).

(9)

式中:系数γ设置为0.05;式(8)等号右边前2项为全局判别器的损失函数;Lmap为局部判别器的损失函数;Dmap为由判别网络生成的二维注意力掩码图函数;式(9)中0表示仅包含0值的注意力图,即真实的图像中没有雨滴,不需要注意力图引导网络进行特征提取;AN为真实图像。

本文中的判别网络包含7个卷积层,其内核为(3,3),全连接层神经元个数为1 024,单个神经元采用Sigmoid激活函数。

2 模型训练

2.1 数据集的形成

对于本文提出的去雨滴网络的训练,需要1组输电线路设备图像对,每对图像包含完全相同的背景场景,其中一幅图像含有雨滴,另一幅没有雨滴。为了使本文所提方法能够适用于无人机巡线场景下的图像去雨滴,在制作数据集时尽可能模拟输电线路真实场景。拍摄图片时采用无人机上携带的2个摄像头,使用2块完全相同的玻璃(厚度3 mm),其中一块喷水以模拟雨天时摄像头上有雨滴的情形,另一块保持清洁。将玻璃和摄像头之间的距离设置为2~5 cm,以产生不同的雨滴图像,并且要最大限度地减少玻璃的反射效果。在拍摄过程中保持摄像头与玻璃镜片的相对位置不变,保证2个摄像头拍摄的背景图像相同,同时确保在图像对的采集过程中大气条件(例如阳光、云等)和背景物体是相对静态的。采用上述方法,拍摄了2 000对包含输电线路设备场景的图像。

2.2 去雨滴网络训练细节

将数据集中的2 000对图片按照8∶2进行分配,其中1 600对作为模型训练集,400对作为模型测试集。对模型的超参数进行设定,其中初始学习率设为0.001,批大小设为16,迭代次数设为40 000。最初采用Adam优化算法,在训练过程中发现梯度下降的速率较低;后改为Momentum优化算法,模型收敛速度明显加快。经过40 000次迭代训练之后,利用测试集对模型进行验证,发现基于GAN的去雨滴模型具有较好的可移植性。

3 实验结果分析

3.1 去雨滴效果图对比

随机从含雨滴的图像数据集中选取2张图片进行去雨滴处理,结果如图2、图3所示。

图2、图3中背景图像分别是杆塔和绝缘子串,(a)—(f)分别是原始图像、去雨滴图像和4个循环网络生成的注意力图。原始图像中含有密集的雨滴,利用本文提出的去雨滴方法能够去除图像中的大部分雨滴,并对雨滴覆盖部分的背景图像进行修复。从注意力图中可以看出原始图像中雨滴的位置和大小已经能够清晰确定。对比(a)和(b)可以发现,去雨滴图像与原图像的对比度、亮度和目标边缘信息基本一致。

图2 去雨滴图像及注意力图(杆塔)Fig.2 Raindrop removal images and attention maps (tower)

图3 去雨滴图像及注意力图(绝缘子串)Fig.3 Raindrop removal images and attention maps (insulator string)

3.2 去雨滴图像指标对比

随机从含雨滴数据集中选1张图片,分别利用W.Yang去雨滴方法[23]、Fu去雨滴方法和本文提出的方法进行去雨滴处理,计算3种方法获得图像的峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity,SSIM)值,结果见表1。

表1 去雨滴图像的PSNR和SSIM值Tab.1 PSNR and SSIM values of raindrop removal images

由表1可知,本文所提方法获得图像的PSNR和SSIM值均高于W.Yang、Fu的方法,表明本文所提方法获得的去雨滴图像和原始的清晰背景图像之间的相似度较高,证明基于GAN的图像去雨滴方法效果优于W.Yang、Fu的方法。

3.3 目标检测结果对比

从测试集中随机选取含有杆塔故障、小尺寸金具故障、导地线故障、绝缘子故障的带雨滴输电线路巡检图像各50张。分别利用W.Yang去雨滴方法和本文提出的去雨滴方法进行图像去雨滴处理。利用Faster RCNN目标检测算法对含雨滴图像、W.Yang去雨滴图像、Fu去雨滴图像和本文方法的去雨滴图像进行设备缺陷目标检测,分别计算4种故障的平均精度(average precision,AP)以及每组图像的均值平均精度(mean average precision,MAP),结果见表2。

表2 目标检测结果Tab.2 Target detection results

由表2中AP值和MAP值可以看出,去雨滴之后图像的目标检测精度要高于没有经过图像增强时的精度,本文所提方法比传统方法在去雨滴和图像修复方面效果更好。

4 结束语

本文提出了基于GAN的输电线路机巡影像去雨滴方法,该方法利用注意力递归网络生成含雨滴图像的注意力图,注意力图引导上下文编码-解码器实现对含雨滴图像的修复,生成清晰真实的去雨滴图像。判别网络利用全局判别器和局部判别器结合的方法对生成的去雨滴图像进行判别。利用本文中的测试集对模型进行测试,结果表明本文所提方法能够彻底去除图像中的雨滴并对背景图像进行修复,去雨滴图像更加接近真实图像,利用本文方法进行图像去雨滴处理能够恢复图像细节信息,提高目标检测算法的精度。

猜你喜欢
掩码雨滴注意力
让注意力“飞”回来
小雨滴
可爱的小雨滴
低面积复杂度AES低熵掩码方案的研究
小雨滴
基于布尔异或掩码转算术加法掩码的安全设计*
解析网络掩码
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
基于掩码的区域增长相位解缠方法