丁凤霞
(1.北京交通大学 经济管理学院,北京 100044;2.国家能源投资集团有限责任公司,北京 100011)
目前,我国铁路运输已经占据货物运输的主导地位,保障铁路运营安全的任务愈发重要[1].影响铁路运营安全最直接的因素之一是列车自身的故障[2].我国采用货车运行故障动态图像检测系统(Trouble of moving Freight car Detection System, TFDS)[3]对列车故障进行检测.作为我国铁路车辆安全运行监控系统重要组成部分,TFDS 利用安装在轨边的高速工业相机对列车的底部和侧面抓拍图片,之后通过网络将图像传递给列检检测中心,最后通过人工方式对图像进行故障类别和故障位置的判断,但列检员在长时间工作后难免产生漏判、误判情况.研究新型故障检测算法,提升TFDS 故障检测的准确性,加强铁路安全管理,是落实交通强国目标的重要举措.由实地到肃宁北站调研得到的数据可知,C80、C80B、C70A 三类列车的车辆异物故障分别占其发生的所有故障的38.48%、20.49%、24.5%.显然,车辆异物是列车运行过程中最主要的故障之一,因此有必要针对铁路货运应用场景深入研究异物检测算法.
目前有许多学者采用传统图像处理方法进行异物检测.郜振国[4]针对煤矿井下运输异物提出基于概率图模型提取纹理特征和基于紧凑颜色编码结构化的目标跟踪方法,对异物进行定位和识别.郭碧等[5]针对铁路限界的异物提出一种基于帧间差分累积的传统图像处理方法实现异物检测.于之靖等[6]针对机场跑道异物提出基于小波变换与数学形态学相结合的边缘检测质心定位算法.雷蕾等[7]针对TFDS 中锁紧板偏转故障,提出一种基于霍夫变换、Canny 边缘检测和形状模板相结合的HCRD(Hough-Canny-Right angle Detection)方法.采用传统图像处理方法的异物检测在特定应用场景中可以有效识别异物和异常,但依赖手工设计特征,难以深度挖掘和利用数据本身的潜在特征,识别效果有限.
深度学习在各行业的目标检测任务中[8-11],表现出强大的特征提取能力.周雯等[12]提出一种基于深度学习的动车组运行安全图像异物检测方法,采用ResNet-50[13]作为基础网络架构,通过特征金字塔[14]融合异物多尺度特征并通过2 个分支网络完成分类、分割任务,引入锚框机制[15]、在线困难样本挖掘[16]、可变卷积[17]等策略以对应异物表现形态的复杂性,提高模型异物检测性能.程擎等[18]针对机场跑道异物,提出一种改进的YOLOv5 算法,通过在YOLOv5 的主干网络中添加有效通道注意力模块,将颈部网络中原特征金字塔模块替换为加权双向特征金字塔BiFPN 网络,实现双向跨尺度连接和加权特征融合.廖扬航等[19]提出一种基于改进YOLOv3的异物检测算法,采用K-means 算法聚类出适合异物的锚框值,引入跨阶段网络(Cross-Stage Network,CSPNet)并改进特征金字塔,以提高算法检测精度.武中凯等[20]提出一种基于Token 的车辆异物检测优化方法,根据聚类提取异物的类别特征设计Token,并利用所设计的Token 对不同类别的目标检测模型进行训练,来实现树枝、纸巾、羽毛和塑料瓶4 类异物的检测与定位.
针对目前研究中存在的异物种类难以全覆盖且检测性能对标注样本依赖较强的问题,本文对基于无监督学习的重构方法进行研究,提出一种基于新型对抗自编码器的车辆异物检测算法.利用无标注的正常图像训练模型解决故障图像的采集与标注难题,引入注意力机制充分提取占幅较小的异物的特征信息,使用特征匹配损失优化损失函数,提出异常值评分机制判定异常图像,自建数据集并进行实验,实验结果验证了所提算法的可行性及有效性.
基于无监督学习的重构方法是异常检测的主流方法之一,该方法应用生成模型学习正常数据分布,在这个分布之外的数据被识别为异常数据.新型对抗自编码器基于传统的生成模型自编码器[21]和生成对抗网络[22]进行设计,不仅可以学习数据的联合概率分布、计算边缘分布等其他信息,而且具有收敛速度快等优点.新型对抗自编码器网络结构如图1 所示,由生成网络、推断网络和判别网络3部分组成.
图1 新型对抗自编码器网络结构Fig.1 The proposed network structure of the adversarial autoencoder
1.1.1 生成网络
生成网络是第一个子网络,采用自编码器的思想.生成网络包括编码器GE和解码器GD,均仅用正常图像x进行训练.正常图像x输入到生成网络的编码器GE中,编码器GE通过不断压缩正常图像x,得到图像1×1×100 的特征向量z;然后,使用解码器GD将特征向量z映射到256×256×3 的图像维度上,通过反卷积、上采样、归一化等操作得到重构图像x′.在使用大量正常图像x训练生成网络时,通过约束重构损失Lcon,确保网络对正常图像有较好的重构能力.同时,只使用正常图像训练网络能够保证网络的泛化能力,确保模型可以对新的、未经学习过的异常图像进行较模糊的重构,从而保证模型在实际应用场景中的有效性.
编码器共有7 层,除最后一层只有卷积操作外,其他各层都由卷积和批量归一化BN 层组成.由于有些异物在整幅图中占比较小,在编码中其信息易被忽略,为充分提取此类异物的特征信息,在编码器和解码器的第4~6 层加入注意力机制提高图像重构效果.解码器最后一层使用Tanh 激活函数,其他层使用ReLU 激活函数.编码器和解码器的详细结构如表1 所示.
表1 生成网络结构Tab. 1 Architecture of generation network
本文考虑3 种注意力机制:SE (Squeeze-and-Excitation)模块[23]、自注意力网络[24]和CBAM (Convolutional Block Attention Module)模块[25].
1) SE 模块.
SE 模块通过对输入的每个通道进行加权处理,自适应地学习输入的关键特征.SE 模块由压缩和激励2 个主要部分组成.在压缩阶段,SE 模块通过对输入进行全局平均池化,将每个通道的特征压缩为1 个数值;在激励阶段,SE 模块将该数值转换为每个通道的权重,表示每个通道的重要性.SE 模块网络结构如图2 所示.w、h分别表示图像特征的宽、高,c1、c2分别为图像特征的通道数.
图2 SE 模块网络结构Fig.2 Network structure of SE module
2) 自注意力网络.
自注意力网络结构如图3 所示,其优势在于可以捕捉输入之间的关系,通过计算注意力权重来调整每个输入的重要性,自适应地学习输入中的关键信息,在不增加太多计算成本的情况下显著提高模型的准确性和稳定性.
图3 自注意力网络结构Fig.3 Structure of self-attention network
3) CBAM 模块.
CBAM 模块会沿着通道和空间2 个独立的维度依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征优化.由于CBAM 是轻量级的通用模块,因此可以忽略该模块的开销而将其无缝集成到任何卷积神经网络(Convolutional Neural Networks,CNN)架构中.CBAM 模块网络结构如图4 所示.
图4 CBAM 模块网络结构Fig.4 Network structure of CBAM module
1.1.2 推断网络
推断网络I的作用是提取重构图像的特征,并将提取的特征与原始图像的特征进行比较,以检测车辆异物故障.推断网络I的设计与生成网络中的编码器GE相同.因此,在训练过程中,推断网络I将重构图像x′进行压缩,并将其转换为特征向量,这些特征向量具有与输入图像的特征向量相同的维度,方便进行原始图像和重构图像的特征比较和后续异常图像的故障检测.
1.1.3 判别网络
判别网络D用于判断输入判别网络的图像是原始输入图像x还是重构图像x′.判别网络采用经典的分类网络,输出为0~1 的实数,1 表示图像完全来源于真实数据,0 表示图像完全来自于生成数据.当判别网络的输出接近0.5 时,认为判别网络已经无法判断输入数据的来源,此时生成器已经能够生成逼真的图像.判别网络在生成网络编码器结构的基础上,在最后一层添加Sigmoid 激活函数,帮助判别网络提取输入图像的特征,并将输入图像分类为真实数据或生成数据.
新型对抗自编码器采取交替训练模式,该模式分为2 个阶段进行.
第一阶段,固定生成网络参数和推断网络参数,优化判别网络参数.判别网络的目标是将生成数据与真实数据区分开.当判别网络无法区分这2 种数据时,认为判别网络已经优化完毕.
第二阶段,固定判别网络参数,优化生成网络参数和推断网络参数.在训练过程中,生成网络和判别网络通过不断博弈来共同进步,最终达到生成网络能生成足够逼真的图像且判别网络无法判别输入数据来源的程度.
本文设计的损失函数考虑对抗损失Ladv、重构损失Lcon和编码损失Lenc3 种不同的损失,具体为
式中,λadv、λcon和λenc是各损失的权重,控制着3 种损失的相对重要性.
改进后的判别网络D(x)可以判断样本真伪性,若采用原生生成对抗网络的对抗损失进行对抗性学习,则对抗损失为
式中,Ex~PX[log (D(x))]表示对log (D(x))求期望,x服从PX分布.
为提高对抗性训练的稳定性,本文更加关注生成网络重构图像的特征向量与原始图像的特征向量是否匹配,故用特征匹配损失作为对抗损失,具体为
式中,f(⋅)表示判别网络的前6 层.
同时使用重构损失函数Lcon优化生成网络,学习输入数据的重构信息.L1距离比L2距离能够产生更少的模糊结果,因此采用L1距离度量输入图像和重构图像之间的距离,可产生更清晰的图像.本文采用的重构损失为
推断网络不依靠输入图像和重构图像的像素距离,而是通过最小化输入图像特征向量和重构图像特征向量之间的距离来进行网络优化,以L1距离表示编码损失
模型完成训练后,当输入图像为正常图像时,原始图像和重构图像分别经过生成网络编码器和推断网络得到的特征十分接近;当输入图像为异常图像时,原始图像和重构图像分别经过生成网络编码器和推断网络得到的特征具有较大差异.对于一个测试样本y,采用的异常值评分A(y)定义为
异常值评分为原始图像和重构图像特征向量的L2距离,正常图像和异常图像的异常值评分应为2 种有明显差异的分布,从而可以通过阈值化实现车辆异物的检测,大于阈值的图像被判定为异常.
为评估整体异常检测性能,在测试集中计算单个测试样本yi的异常值评分,相应地产生一组异常值评分A={A(y1),A(y2),…,A(yn) },然后对这些异常值评分进行归一化得到
实验使用的GPU 为NVIDIA GeForce RTX 2060,CPU 为Intel(R) Core(TM)i9-10900. 采用Pytorch 深度学习框架,运行环境为Ubuntu 18.04,计算架构为CUDA10.2.
为验证所提算法的有效性,构建TFDS 车辆异物数据集,其中,训练集包含3 800 张正常图像,测试集包含1 500 张正常图像和1 500 张异常图像.数据集中的图像采集于TFDS 现场,分辨率为1 400×1 024,包含转向架底部和转向架侧部2 个场景.
在实验中,图像进行分割处理,原始采集图像缩放为768×256 分辨率后,使用滑窗法裁剪出分辨率为256×256 图像块.TFDS 采集图像时铁路货车在不同时刻的车速存在差异,不同车厢的相同部位在图像中的位置会因此存在差异.为提高模型鲁棒性,对图像块进一步采取平移、旋转、镜像等数据增强方法以模拟图像受到应用场景中车速等因素干扰产生的变化.
在训练过程中,训练集训练次数为300 次,批大小为64,衰减系数为0.000 5,初始学习率为0.000 1,随机梯度下降动量为0.9.由于转向架底部和转向架侧部场景间存在部件结构、光照条件差异,选取3 种损失函数权重组合在2 个场景下分别进行实验,对比相应配置下的小分辨率图像块的模型检测指标,即曲线下面积(Area Under Curve,AUC),实验结果如表2 所示.由表2 可知,在λadv=1、λcon=50、λenc=50的情况下2 个场景的检测性能同时达到最佳,故后续实验中均采用该权重组合.
表2 不同权重设置下的AUC 指标Tab. 2 AUC indicators under different weight settings
针对转向架底部和侧部2 种场景,开展注意力机制的消融实验,对比不采用注意力机制和在编码器和解码器第4~6 层分别加入SE 模块、CBAM 模块、自注意力网络4 种设置下检测模型的AUC 指标,结果如表3 所示.4 种设置下检测模型的接收者操作特征(Receiver Operating Characteristic,ROC)曲线对比如图5 所示,纵横坐标分别为真阳性率(True Positive Rate,TPR)和假阳性率(False Positive Rate,FPR).
表3 不同注意力机制下的AUC 指标Tab. 3 AUC indicators under different attention mechanisms
图5 不同注意力机制下的ROC 曲线Fig.5 ROC curves under different attention mechanisms
由表3 和图5 可知,当检测模型不采用任何注意力机制时检测性能最差,3 种注意力机制都能够提升模型的检测性能;转向架底部场景中SE 模块对检测性能的提升效果最佳,与无注意力机制相比,AUC 指标提升了2.0 百分点;转向架侧部场景中CBAM 模块将AUC 指标提升了1.4 百分点.
根据注意力机制消融实验得到的最佳注意力机制进行配置,得到测试集中图像块的异常值评分分布直方图,如图6 所示.由图6 可知,在2 个场景中,正常图像块和异常图像块的异常值评分分布存在明显差异:正常图像块获得的异常值评分较小,集中在0 附近;而异常图像块的异常值评分分布更加分散,能在一定程度上与正常图像块进行区分.明显的分数分布差异证实提出的异物检测算法具有有效性.
图6 转向架底部和侧部图像异常值评分分布Fig.6 Distribution of outlier scores in bogie bottom and side images
在测试集上进行测试时,模型对输入图像块进行重构并计算异常值评分,异常值评分较大的图像块检测为车辆异物图像块,并用红色框标出.将图像块还原回原始采集图像尺寸,车辆异物图像与相应的重构结果如图7 所示.由图7 可知,异物像素对应的重构结果相比于正常的车体部件更加模糊.同时,模型的检测速度达到23 FPS,能够满足应用的实时性需求.
图7 车辆异物检测模型检测效果Fig.7 Detection performance of the vehicle foreign object detection model
在实际工程中,以适当减少漏报、确保尽可能多的异常图像被检测出为目标,选取合适的异常值评分阈值.根据图6 的异常值评分分布,设置转向架底部场景异常值评分阈值为0.066 9,转向架侧部场景异常值评分阈值为0.025 0 时,检测效果最好.在所设阈值下,模型的漏报及误报情况如表4 所示.
表4 车辆异物检测实验结果Tab. 4 Test results of vehicle foreign object detection
由表4 可知,将提出的车辆异物检测算法运用于实际列车运行场景,可以取得良好的检测效果:转向架侧部场景误报率为3.9%、漏报率为8.0%;转向架底部场景的构造较侧部更为复杂,效果略差,误报率为4.1%、漏报率为12.2%.
TFDS 采集装置大多布设在野外,成像受到自然光线干扰,在白天、夜间或晴朗、多云、雨雪等不同条件下的成像效果存在差异.其中,转向架零部件由于反光会呈现不同程度的局部高亮,部分异物由于所处位置光照不足在图像中颜色暗沉.围绕上述2 种干扰情况进行测试,实验结果如图8 所示.由图8 可知,在图像较暗且存在车辆异物的情况下,模型能够检测出图像中的车辆异物,并且从重构图像中可以看出车辆零部件重构效果与异物重构效果的差异.因此,提出的车辆异物检测算法能够应对自然光线差异带来的成像干扰,实现真实环境下的车辆异物检测任务.
图8 成像干扰下的对比实验Fig.8 Comparative test under imaging interference
1) 针对目前货车车辆异物检测采用自监督方法严重依赖样本标注的问题,研究无监督学习方式,提出一种基于新型对抗自编码器的铁路货车车辆异物检测算法.新型对抗自编码器基于自编码器和生成对抗网络进行设计,通过对正常样本的学习,实现更多异物种类的检测,适用于铁路货车的车辆异物检测任务.
2) 针对占幅较小的异物,在所提模型中引入多种注意力机制并进行消融实验,得到最优搭配;利用生成网络生成的重构图像的特征向量与原始图像的特征向量的匹配损失优化损失函数,并对损失权重进行实验,得到最优权重组合;提出相应的异常值评分机制,计算正常图像和异常图像的分数分布,通过设置阈值判定异常图像,得到较低的误报率和漏报率.实验结果证明所提算法具有有效性,在实际运行场景中可以取得良好的检测效果.
由于车辆异物数据集稀缺,该算法投入实际运用之前仍需经过更多真实故障数据样本的考验.改进算法,进一步提高真实场景下车辆异物故障检测的准确率,是未来研究的方向.