基于分块重构GAN的铁路隧道漏缆卡扣缺陷检测
2024-02-26许知建王逸涵李柏林
李 毅,许知建,王逸涵,杨 前,李柏林
(西南交通大学机械工程学院,成都 610031)
引言
近年来,随着我国铁路运营里程的不断增长,多功能铁路综合巡检车[1]被开发用于替代人工巡检铁路。漏缆卡扣作为固定铁路信号传输线路的重要装置[2]也被纳入综合巡检车的检测范围[3-6]。作为智能巡检的关键部分,卡扣缺陷检测算法是不可或缺的。图1展示了由综合巡检车采集到的漏缆及漏缆卡扣图像。目前,基于特征设计[7]和深度学习[8]等方法被广泛地应用于卡扣的缺陷检测,取得了较好的检测结果。然而,上述算法只针对单个类型卡扣的缺陷识别,无法满足实际检测中对于多种类型卡扣识别的需求。而多类型卡扣的缺陷识别仍然存在以下问题及挑战:(1)不同类型卡扣形态学差异较大,以人工特征设计为基础的方法对多类型卡扣的缺陷识别缺乏鲁棒性;(2)相较于漏缆图像,卡扣尺寸较小,无法提供足够的特征用于缺陷识别;(3)卡扣的缺陷样本是罕见的,且缺陷类型多样,因此收集的数据很难拟合真实的缺陷数据分布,这会导致以监督学习为基础的方法存在缺陷卡扣漏检的问题。
针对监督学习方法由于缺陷样本不足而无法有效地对其进行识别的问题,以生成对抗网络(generative adversarial network,GAN)为基础的无监督或半监督的方法被广泛地用于正负样本不平衡的缺陷检测问题中[9-12],其缺陷检测流程如图2所示。通过生成器与判别器的对抗训练来学习正常样本的分布,并将学习后的生成器用于包含缺陷样本重构,最终算法依据重构前后的图像差异来判断样本是否存在缺陷。由于训练只需正常样本,因此基于GAN的缺陷检测方法对缺陷样本的分布不敏感。针对缺陷样本较少的缺陷检测问题,葛小三等[13]将GAN用于在遥感图像中检测灾后受损的建筑。张宏伟等[14]将GAN用于有色织物的缺陷检测中,并通过添加高斯噪声的方式增强检测的鲁棒性。AKCAY等[15]提出了Skip-GANomaly用于检测X-ray图像中的异常物体。该方法以增加跳跃连接的方式实现了特征的重复利用,这使得生成器网络能够捕获多尺度图像空间的细节信息,输出高质量的重构图像。基于Skip-GANomaly网络,王道累等[16]引入结构相似度与峰值信噪比的差异分数计算方法,实现了玻璃绝缘子自爆缺陷的检测。尽管上述方法取得较好的缺陷检测性能,但Skip-GANomaly采用跳跃连接在重复利用特征的同时也容易导致生成器训练的过拟合,这使得生成器网络无法精确地重构缺陷卡扣,导致缺陷卡扣的漏检。由于卡扣缺陷的主要形式为结构缺失,随机高斯噪声不能改善卡扣缺陷重构的过拟合问题。
图2 基于GAN方法的缺陷检测流程Fig.2 The process of defect detection based on GAN defect detection process
综上,针对监督学习方法在卡扣缺陷识别中对缺陷数据敏感的问题,提出一种基于GAN的多类型卡扣缺陷检测算法。此外,受文献[17]的启发,以分块处理的方式将正常卡扣图像拆分为多个不相交的子集图像,并使用拆分图像训练GAN网络。在单个子集图像中一些区域被随机去除,这使得生成器网络更多地侧重于利用去除部分的邻域信息重构卡扣图像;同时,图像拆分也是一种数据增广方式,它能够改善Skip-GANomaly中生成器网络的过拟合导致缺陷漏检的问题。不同于文献[17]中采用的多尺度训练方法,本文根据卡扣尺寸大致相当的特性,采用了单尺度的训练方式,简化了训练流程,提高了训练速度。在缺陷判别方面,针对卡扣图像的成像质量低导致采用结构相似度、峰值信噪比和残差等方式无法有效地根据重构前后的卡扣图像判别缺陷,采用一种基于余弦相似度[18]的异常分数计算方法,提升卡扣缺陷识别的性能。
1 多类型漏缆卡扣缺陷检测算法
本文提出的基于分块重构GAN的多类型漏缆卡扣缺陷检测算法流程如图3所示,算法主要由三部分组成:漏缆卡扣定位、卡扣分块重构和卡扣缺陷检测。首先,目标检测网络被用于定位并截取卡扣图像I,减少后续卡扣重构过程中背景区域的干扰。其次,基于分块重构的Skip-GANomaly被用于重构截取的卡扣图像I,并生成重构图像Ir。最后,基于卡扣图像I和重构图像Ir,并利用余弦相似度来判断该卡扣是否存在缺陷。
图3 通讯漏缆卡扣缺陷检测算法流程Fig.3 The Algorithm flow of the defect detection for cable fastener
1.1 漏缆卡扣定位
由于卡扣类型多样且尺寸较小,漏缆图像无法提供足够的特征用于准确地完成卡扣定位、分类和缺陷判别。为避免漏缆图像中无用的背景信息干扰后续重构,首先采用目标检测网络定位并截取卡扣区域,使后续重构网络专著于卡扣特征的学习。
在漏缆卡扣图像数据集上,详细地对比了Faster-RCNN[19-20]、YOLOv4[21-22]及YOLOv5[23-24]等目标检测网络的定位性能和时间效率。在权衡了算法的时间效率和定位性能后,最终选取YOLOv5-M作为卡扣的定位算法。YOLOv5-M主要由特征提取模块和预测模块组成,其前者用于提取目标的特征,后者则用于回归目标的位置。由于漏缆数据集中各类型卡扣的尺寸大致相当,将卡扣定位后的截取尺寸设为128像素×128像素,截取的卡扣如图3中I所示。
1.2 卡扣分块重构
基于GAN的缺陷检测方法期望生成器能够将包含缺陷的图像以较高的异常分数进行重构。而在实际情况中,基于深度卷积神经网络架构的生成器在采用跳跃连接来增强其特征表征能力的同时,也容易导致部分缺陷区域特征被过拟合地表达在重构图像中,这会导致以重构误差为基准的缺陷检测方法失效。针对这个问题,提出分块重构的方法来缓解过拟合问题。如图4所示,首先以网格的形式将截取的卡扣图像I划分为N个矩形区域,其中每个区域的大小均为k×k像素。
(1)
式中,H和W分别为图像的高度和宽度。
这N个矩形区域被随机划分为n个互补的子集Si,i∈{1,2,…,n},其中每个子集包含N/n个矩形区域。根据每个子集Si生成对应的二元掩码MSi,每个掩码的尺寸与卡扣图像相同,其生成方法如式(2)所示。
(2)
根据该二元掩码,子集图像Ii可表示为卡扣图像与掩码的点积,即
Ii=MSi⊙I
(3)
式中,子集图像Ii表示将卡扣图像I中属于Si的区域去除,并使用像素点0来填充。
(4)
在每个图像子集中,由于卡扣图像的部分区域被随机去除,因此,生成器网络将更多地侧重于利用去除部分的邻域信息来修复图像,从而缓解生成器网络的过拟合。
本文采用的卡扣图像重构网络为Skip-GANomaly,主要由生成器和判别器组成。生成器网络主要用于学习输入特征到输出图像的映射关系,其采用的Skip-Unet网络主要包含用于特征下采样的编码器以及上采样的解码器。编码器通过组合运用卷积和池化层将输入图像抽象表示为潜在空间向量δ。解码器则采用反卷积还原潜在空间向量中的特征信息。此外,跳跃连接被用于传递下采样过程中各层的特征信息,弥补信息采样过程中丢失的特征信息。生成器的结构及参数如图5所示。
图5 生成器网络结构及参数Fig.5 The outlines of generator network and its parameter
图6 判别器网络结构及参数Fig.6 The outlines of discriminator network and its parameter
在对抗训练过程中,监督损失函数主要由对抗损失Ladv、内容损失Lcon和潜在损失Llat三部分组成,总体损失L表示为上述三类损失的权重求和。
L=λ1Ladv+λ2Lcon+λ3Llat
(5)
式中,λ1,λ2和λ3作为权重参数,用于调整各部分损失函数对整体的影响。
(6)
对抗损失的目标是确保生成器网络尽可能真实地将输入样本重构为正常的卡扣样本,并同时保证判别器无法区分重构样本与输入样本。
在内容损失中,L1正则被用于确保生成器重构的图像Ir与输入图像I之间具有较强的上下文相似性,如式(7)所示。
(7)
(8)
1.3 卡扣缺陷检测
由于受到采集条件的限制,收集到的漏缆图像中卡扣区域具有灰度小、边界模糊、与背景区分度较小等特点。因此,采用结构相似度、峰值信噪比和残差等方法无法有效地依据重构前后的图像相似度来区分正常与缺陷卡扣图像。为提升多类型缺陷卡扣的检测效果,采用了一种基于余弦相似度的卡扣缺陷检测方法,其计算方法如式(9)所示。
(9)
式中,ai和bi为向量A和B的分量。
Score=λcosI+(1-λ)cosδ
(10)
式中,λ为权重参数,用于控制两部分相似度在缺陷判别中所占比重,λ∈(0,1)。
依据相似度分数,卡扣的缺陷判别结果Θ被定义为
(11)
2 实验与分析
2.1 实验数据集
本文研究的实验数据来自中国铁道科学院,该数据是由综合巡检车采集到的漏缆卡扣图像,每张漏缆图像的尺寸均为2 048×2 021像素。从中挑选了5 052张漏缆图像作为卡扣缺陷检测的实验数据集,该数据集包含了4种类型的卡扣,其中包含缺陷卡扣的漏缆图像共445张,均为正常卡扣的漏缆图像4 607张。该数据集中缺陷卡扣与正常卡扣的具体数量如表1所示。经卡扣定位后,卡扣区域的截取尺寸均为128×128像素,如图7所示。
表1 各种类型卡扣的数量Tab.1 The numbers of various types of fasteners
图7 各种类型卡扣区域图像Fig.7 The visualization of various types of fastener images
将定位到的卡扣数据集按照7∶3的比例分为训练集(3 536张图像)和验证集(1 516张图像)。在卡扣重构及缺陷判别实验中,随机挑选了4 000张截取的正常卡扣图像来训练GAN的生成器网络,每种类型卡扣图像各1 000张。为验证GAN算法的缺陷检测性能,随机挑选了2 500张未经训练的卡扣区域图像作为验证集,其中正常卡扣和缺陷卡扣图像分别为1 833和667张。
2.2 实验平台及参数设置
本文所有的实验均在dell服务器上进行模拟,该服务器的CPU为Intel(R) Core(TM) i9-10900X,GPU为NVIDIA GeForce RTX 3090,采用CUDA 11.1版本。采用的编译语言为Python3.8,并选用PyTorch 深度学习框架。在训练卡扣定位算法时,将目标检测网络的输入尺寸统一设定为416×416×3;并采用Adam优化器优化目标检测函数;在相关的网络参数设置中,batch size被设定为8,迭代次数被设定为200次;初始学习率设定为0.0263。在卡扣缺陷重构判别阶段,GAN输入与输出重构图像的尺寸均为128×128×3像素,在相关参数的设置中,batch size被设置为8;迭代次数被设定为200次;初始学习率设为0.001,学习率具有λ衰减的属性,其中动量b1=0.5和b2=0.999。参考文献[16],实验将最终损失函数L中的三类损失分别设定为Ladv=1,Lcon=40,Llat=1,并采用Adam优化器对式(5)所示总体损失L进行优化。
2.3 实验评价指标
在卡扣定位的实验中,采用IOU=0.5时的精准度(Precision)、召回率(Recall)和总体平均准确率(mean AP,mAP)来评估卡扣的定位性能,其中,mAP值越高表明卡扣的定位性能越好。在卡扣缺陷重构判别阶段,采用精准度(Precision)、召回率(Recall)以及AUC值来评估算法的缺陷检测性能。AUC(area under the curve)值定义为受试者工作特性(receiver operating characteristic curve,ROC)曲线下的面积,其值越接近1,表明模型的缺陷检测效果越好。
2.4 卡扣定位实验
在定位实验中,详细地对比了不同的目标检测网络在漏缆卡扣数据集上的定位性能,检测结果如表2所示。
表2 卡扣定位结果对比Tab.2 The comparison results of various locating methods
从实验结果中可以发现。
(1)YOLOv4(98.7%)、YOLOv5-M(98.9%)以及YOLOv5-L(99.2%)均取得了较高的定位准确率,且其检测速度在实验的计算设备上均满足实时检测要求。
(2)在所有的定位算法中,YOLOv5-L取得了最高的定位准确率,其mAP值(99.2%),检测速度为79FPS。
由于综合巡检车巡检速度约为120 km/h,而数据集中每张漏缆图像沿铁路方向的视场宽度约2 m,这要求卡扣缺陷识别算法的识别速率应远大于17FPS。此外,综合巡检车还需要同时检测如接触网、铁路扣件、信号盒等其他设备缺陷,因此卡扣定位算法需要具有较高的时间效率。依据上述卡扣定位结果,本文权衡各个算法的mAP值与时间效率,选择YOLOv5-M作为最终的卡扣定位方法。
2.5 卡扣缺陷检测的对比实验
为评估卡扣缺陷检测方法的有效性,在所构建的卡扣数据集上测试了无监督学习方法Skip-GANomaly以及监督学习方法YOLOv4、YOLOv5-M对缺陷卡扣的检测性能。卡扣检测结果如表3所示。
表3 卡扣缺陷检测结果对比Tab.3 The comparision results of defect detection of fasteners
从实验结果中可以发现:
(1)本文所提方法在卡扣数据集上取得了较好的缺陷检测性能。针对四种类型的卡扣,本文方法缺陷检测的平均准确率和召回率分别为91.1%和91.9%,其AUC值为0.961;
(2)相较于同为无监督学习的Skip-GANomaly,本文方法对卡扣缺陷检测的召回率和准确率分别提升了3.0%和2.8%,这证明了分块重构能够提升缺陷卡扣的检测性能;
(3)在卡扣缺陷检测任务上,本文算法取得了与采用监督学习方式的YOLOv4与YOLOv5-M相当的检测性能。但本文算法在缺陷检测过程中无需大量的人工标注,且对缺陷数据分布不敏感。
图8分别可视化了本文算法与Skip-GANomaly对缺陷卡扣图像重构的效果。采用Skip-GANomaly会保留部分缺陷区域,并影响最终的缺陷判别。相较而言,本文所提方法能够较好地将缺陷图像重构为正常的卡扣图像,保证后续的缺陷判别。
图8 缺陷卡扣重构效果图Fig.8 The visualization of reconstruction results of defect fasteners
2.6 基于余弦相似度的缺陷判别
根据每个卡扣输入图像、重构图像以及潜在空间向量,采用余弦相似度方法计算对应的相似度分数。根据设定的相似度阈值,本文算法能够判断该输入的卡扣图像中是否存在缺陷。图9展示了测试集中2500卡扣图像相似度分数的分布。
图9 本文方法相似度分数的分布Fig.9 The score distribution of our similarity method
结构相似度和峰值信噪比作为衡量图像重构效果的重要指标,也常被一些研究者[16]用于GAN中作为缺陷判别的方法。在卡扣图像的验证集上,本文基于重构前后的卡扣图像分布测试了结构相似度和峰值信噪比方法的缺陷检测性能,它们的相似度分数分布分别如图10(a)和图10(b)所示。
图10 结构相似度和峰值信噪比相似度分数的分布Fig.10 The score distribution of structural similarity method and peak signal-to-noise ratio method
从图9、图10中对比可以看出:相较于结构相似度和峰值信噪比,本文提出的基于余弦相似度计算方法在卡扣验证集上对正常卡扣和缺陷卡扣的区分性能最好。
图11可视化了采用文献[15]与文献[17]中的异常检测方法对缺陷卡扣的识别结果。从图11中可以看出,文献[15]和文献[17]中方法无法有效地识别缺陷卡扣的缺陷位置。
图11 不同方法对缺陷卡扣的识别结果Fig.11 The results of different defect detection methods
2.7 参数寻优实验
在本文提出的卡扣缺陷检测算法中,式(11)选取的相似度分数阈值能够影响卡扣缺陷判别的精度和召回率。此外,式(1)中参数k能够决定分块大小以及分块数量,式(2)中的参数n能够决定子集图像的数量,从而侧面影响单个子集图像中被去除的区域。因此,它们都是能够影响缺陷重构效果的重要参数。
为确定最佳的相似度分数阈值,实验分别计算了Score∈[0.960,0.970]、子集数量n=3、去除区域k=4条件下缺陷卡扣识别的精确度和召回率,实验结果如图12所示。
图12 不同相似度分数阈值的缺陷识别结果Fig.12 The quantitative comparison in terms of different similarity score thresholds
从实验结果中可以发现:随着相似度阈值越高,卡扣缺陷检测的召回率不断提升,而精度不断下降。在召回率-精度坐标系中,由于坐标点越靠近右上角,表明该阈值下的缺陷检测性能越好。因此,本文选取Score=0.965作为最终的相似度阈值。
为评估k值对缺陷重构的影响,实验中分别测试了k∈{1,2,4,8,16}在子集数量n=3条件下算法对四种类型缺陷卡扣识别的AUC值。实验结果如表4所示。
表4 去除区域k的大小对缺陷识别结果影响Tab.4 The influence experiment of the parameter k on the defect detection results
从实验结果中可以发现。
(1)当k=4时,4种类型卡扣缺陷识别取得了最高的AUC值。
(2)相较于不采用分块重构(k=0),当k取值为1时,模型识别的AUC值无明显提升;当k=16时,缺陷识别的AUC反而更低。上述实验结果表明:当k取值较小时,分块重构效果不明显。这是因为当分块区域较小时,随机去除的区域无法有效地屏蔽部分卡扣缺陷区域;当k取值较大时,模型AUC值反而降低。这表明区域较大可能会破坏卡扣缺陷区域的特征,从而造成缺陷识别性能的降低。因此,本文最终选取k=4作为分块区域尺寸的参数。
由于式(2)中的参数n能够决定划分的子集数量,为了测试n的取值对缺陷重构的影响,本文分别测试了n∈{2,3,4,5}条件下对模型AUC值的影响。实验结果如表5所示。
表5 不相交的子集n个数对检测结果的影响Tab.5 The influence of the number of disjoint subset n on detection results
从实验结果中有如下发现。
(1)当n=3时,分块重构GAN的方法取得了最佳的缺陷检测AUC值。
(2)相较于不采用分块重构(n=1),当1
上述实验结果表明:当n=3时采用分块重构能够同时提高4种类型卡扣的缺陷识别性能。n=3表示卡扣图像会被拆分为3张互补图像,每张图像中缺失的区域以像素0来填充。由于分块操作,在一张子集图像中卡扣区域的特征被离散化,因此网络的特征学习更加专注于去除区域的领域信息,这能够缓解模型训练的过拟合。而当n取值较大时,在单个子集图像中,去除区域较多则可能破坏卡扣的缺陷特征,从而导致模型识别精度降低。
3 结论
针对铁路隧道复杂应用场景中漏缆卡扣缺陷检测这一特定目标,提出一种无监督检测模型。为缓解Skip-GANomaly网络因特征重用而使图像重构容易过拟合至卡扣缺陷区域,从而导致缺陷检测失效的问题,本文提出了基于分块重构的卡扣缺陷检测算法。该方法以分块去除的方式将训练图像拆分为多个互补集合,离散卡扣特征的同时增加样本容量,缓解了生成器网络训练的过拟合问题。
此外,针对卡扣结构模糊、背景差异小而导致现行的异常判别方式无法有效识别卡扣缺陷的问题,采用余弦相似度方法度量重构前后卡扣图像的相似度分数,提升卡扣的缺陷识别性能。实验及可视化结果表明,相较于Skip-GANomaly,采用分块方法后,模型的卡扣缺陷检测AUC值提高了3%,其中召回率和精准度分别从89.1%和88.1%提升至91.9%和91.1%。
进一步对比其他监督学习方法,本文提出的无监督算法取得了具有竞争力的缺陷检测性能,这表明了无监督学习方法在多类型卡扣缺陷识别领域中的可行性。