下午看到一篇关于铁道故障检测的研究工作,想着趁着晚上闲下来的时候整体看一下,本文主要是自己的论文阅读记录,感兴趣的话可以参考一下,如果想要进一步了解研究内容详情的话可以移步阅读原论文,地址在这里,如下所示:
摘要: 由于铁路线路缺陷和脱轨导致的交通事故在东南亚国家频繁发生。为了防止此类事故,对这些故障进行适当的诊断至关重要。然而,定期手动检测这些故障既耗时又昂贵。在本文中,我们提出了一种基于深度学习(DL)的算法,用于铁路轨道自动故障检测,我们称之为集成卷积自编码器ResNet(ECARRNet)。我们将其输出与现有的DL技术进行了比较,包括几种预训练的DL模型,以调查铁路轨道并确定其是否存在缺陷,同时考虑常见的故障,如轨道和紧固件的缺陷。此外,我们手动从孟加拉国不同铁路轨道收集图像,并制作了我们的数据集。在将我们提出的模型与现有模型进行比较后,我们发现我们提出的架构在完整数据集上产生了最高的准确率,达到了93.28%。此外,我们将数据集分为两部分,分别包含紧固件和轨道两种不同类型的故障。我们在这些单独的数据集上运行模型,分别在轨道和紧固件上获得了98.59%和92.06%的准确率。我们使用Grad-CAM和LIME等模型解释技术来验证模型的结果,发现我们提出的模型ECARRNet能够有效地分类和检测故障铁路区域,相比于现有的迁移学习模型。
关键词: 深度卷积神经网络;RNN;集成学习;InceptionV3;Xception;InceptionResNetV2;可解释AI;铁路;紧固件;轨道
1. 引言
自1862年以来,铁路一直是东南亚地区成本效益高、安全且便捷的交通方式。铁路轨道在以客运列车和货运列车的形式承载大量人员方面发挥了关键作用。但火车事故可能对一个国家造成巨大损害,其后果比其他任何交通事故都更为可怕。
大多数事故是由于脱轨造成的,这些事故造成了大量死亡。根据[1],印度所有后续火车事故的43%和67%的死亡是由铁路道口造成的。不同国家的死亡率可能显示不同的数字,但一个不变的事实是其高比例。在[2]中,对2008-2014年间孟加拉国的18,771起事故进行了比较分析,其中12%发生在铁路上。尽管在事故预防和恢复方面投入了大量努力,但在孟加拉国铁路事故预防方面的工作较少[3]。识别铁路轨道上的故障并进行修复可以防止事故发生。然而,孟加拉国铁路的故障检测方法是手动进行的。手动检测和分析故障是繁琐的,如果人们被分配去覆盖铁路轨道的大距离进行检查,可能会导致缺乏准确性。这是因为他们很容易错过一些损坏的地方,这可能会导致事故。此外,需要具备铁路轨道及其后续组件(如紧固件、轨枕和铁路开关)良好技术知识的人员来检查轨道。在这里,深度学习技术可以派上用场,因为它们可以取代任何劳动密集型、耗时且低效的手动检测技术。因此,这将导致更快速和更迅速的危机响应,从而减少事故和死亡人数。
深度学习在图像处理方面已经有效地证明了其能力。当迁移学习架构如Alexnet[4]展示了其在大规模图像处理任务中的有效性时,它取得了巨大的成功。之后,我们见证了一些显著的神经网络(NN)模型的发展,如VGG16[5],以及在日常应用中的图像识别的出色结果,包括用于检测肺部疾病的医学图像分析[6-8],调查勒索电话,面部识别[9,10],使用无人机图像进行物体检测[11,12]等等。
使用深度学习自动检测此类故障可以使过程更加方便并产生更准确的结果。具体来说,不同的模型如InceptionV3、InceptionResnetV2、Xception等已应用于不同的数据集,我们观察了这些现有算法及其相应的研究论文以及它们产生的结果,并引入了我们版本的模型,该模型产生了更好的准确性。我们试图研究他们论文中的可能限制,并分析我们可以避免哪些错误以加强我们的模型。对于我们的研究工作,我们从孟加拉国不同城市如Satkhira和Feni收集了我们的数据,并使用我们定制的算法ECARRNet训练图像,我们还添加了模型可解释性。以下是这项工作的主要贡献:
-
我们收集的数据集总共包含428张图像,来自轨道和紧固件两个不同部分的故障和非故障铁路轨道。由于很难找到故障图像,我们在训练前对数据集进行了增强,以增加其大小,并使用SMOTE等过采样技术解决了类别不平衡问题。
-
我们使用了三种最先进的基于CNN的迁移学习模型(InceptionV3、InceptionResnetV2和Xception)来分类和检测铁路轨道上的故障,并使用准确率曲线、混淆矩阵和分类报告等指标展示了它们的性能。
-
我们提出了一种集成深度学习架构ECARRNet,以更高的预测性能预测缺陷(故障)和非缺陷(非故障)铁路轨道。
-
我们使用Grad-CAM和LIME等可解释AI工具来探索模型的黑箱性质,并进一步验证我们的结果,以证明我们提出的模型的有效性。
论文的其余部分组织如下:第2节介绍了早期研究人员用于铁路缺陷识别的算法背景数据,以及我们研究主题的一些优秀研究出版物。第3节详细描述了数据获取、预处理、数据集构建的分解以及提出的和比较模型的架构。第4节传达了结果部分,其中以每个模型的准确率和损失的视觉化形式展示了观察结果,而第5节讨论了结论。
2. 相关工作
我们在背景研究中发现,有多种基于机器学习(ML)、深度学习(DL)和计算机视觉的方法用于自动检测铁路轨道故障。[13]的作者提出了一种模型,他们使用了多种模型并从中获得了不同的结果。他们提出了以Inception V3、ResNet50和Faster R-CNN形式的深度学习模型来检测松散道砟、SunKink、轨道开关和信号的故障。他们在超过100GB的视频数据上运行这些模型,获得了96%的松散道砟准确率、100%的SunKink准确率、95.6%的轨道开关准确率和99.4%的信号颜色模型准确率。他们还使用这些数据准备了一个轨道健康指数。Lin, Y.等[14]提出了一种基于GPS的方法,用于确定故障位置并使用GO pro相机拍摄照片。他们在其提出的架构中使用了YOLO v3,这是YOLO的更新模型,其基础网络为darknet-53。此外,他们使用特征预测网络(FPN)来提高对小物体的预测能力。他们拍摄了紧固件的图像,并强调了紧固件的检测。因此,他们展示了89%的精确度和95%的召回率。
在论文[15]中,作者提出了一种多阶段深度学习技术来执行图像分割。首先,他们使用基于视觉的轨道检查系统(VTIS)检测轨道表面缺陷并定位感兴趣区域(ROI)。分割通常通过在ROI上裁剪分割图像来工作。他们要求其准确率从71%提高到90%,如表1所示。在研究[16]中,他们使用U-net图形分割网络和损伤定位的显著性提示方法来识别高速铁路损伤。他们的检测准确率为99.76%。
[17]的研究人员发现,将图像处理与神经网络(NN)结合使用比其他方法更有效和高效。他们使用了反向传播方法,并讨论了一个将使用创建的数据集和绝对输出进行训练的隐藏层,其中1表示铁路轨道裂缝,0表示无裂缝。另一方面,论文[18]提出了传统的图像处理方法来检测紧固件中的缺陷,并从图像中去除噪声,包括中值滤波器、二值图像转换、高斯噪声去除等技术,以及投影算法。他们建议使用Dense-SIFT特征作为故障检测和识别的策略。最后,他们训练了VGG16来识别和诊断紧固件缺陷。此外,他们还应用了Faster RCNN来提高检测率和效率。他们使用Faster VGG16网络展示了97.14%的准确率。
Min, Y.等[19]使用机器视觉技术实时检测缺陷中的疤痕和裂纹。本文提出了一种损伤检测模型,首先使用平面阵列相机和LED灯增加图像亮度来收集图像。然后,目标区域被本地化以从色调、饱和度和亮度(HSL)中提取值。之后,作者使用几种图像增强技术从图像中获取更多特征,如图像去噪、阈值处理和形态学处理。他们还使用方向链码跟踪方法提取故障位置的轮廓信息。Karakose, M.等[20]提出了一种使用两个独立单元检测铁路故障的方法。他们创建了IAS来完成三项任务:扩展轨道、增强对比度和自动化缺陷检测过程。他们首先将图像转换为灰度,然后使用三种不同的Canny边缘检测技术。
在研究[21]中,作者提出了一种基于自动视频分析的轨道检查方法。他们跟踪每个窗口的边缘像素数量。通过这种方式确定每个窗口的边缘密度。通过绘制每个窗口的边缘密度与窗口编号的关系图来计算峰值值。该峰值表示剪辑的位置。当峰值值低于某个阈值时,该窗口被认为包含噪声而不是剪辑。如果两个峰值值都大于某个阈值,则该帧将被标记为包含两个剪辑。因此,他们实现了95.3%的平均准确率。在研究[22]中,他们提出了一种完全基于CNN的系统,该系统在十种不同类别的材料上进行训练,然后使用十种不同的通道进行特征映射。他们的目的是同时识别每个预设ROI中最可能的紧固件位置,然后将这些检测分类为三种基本条件之一:背景(或缺失紧固件)、断裂紧固件或良好紧固件。他们测试了我们的紧固件检测器在85公里连续轨道床照片上的准确性。使用深度CNN MLT 3方法,他们能够达到95.02%的准确率。
Alawad, H.等[23]提出了一种监控技术,利用计算机视觉自动快速检测车站中的危险行为,为决策者提供实时支持,并减少不良事件的可能影响。然后他们在每一层构建了一个顺序模型,这是Keras库中最简单的层形式。使用他们的CNN-0模型,他们能够达到81.90%的准确率。Kamilaris, A.等[24]在同一研究论文中比较了相同数据的不同策略,使用了相同的度量标准。他们使用了包括AlexNet、VGG和Inception-ResNet在内的主要CNN架构。他们还尝试了他们的设计,其中一些结合了CNN和其他方法。
Yang, C.等[25]提出了基于机器学习的铁路检查方法,包括基于加速度数据的特征方法和基于深度神经网络的方法。因此,ResNet和FCN在本研究中进行了研究。FCN由三个卷积块组成,随后是soft-max层和全局平均池化层。通过在连续卷积层之间建立快捷连接,ResNet将神经网络扩展到非常深的结构。实验结果表明,ResNet和全卷积网络(FCN)在联合检测中表现良好。Yao, H.等[26]提出了一种模型,其中RNN被认为具有与卷积神经网络相似的能力,可以从图像中提取特征。CNN和RNN同样重要。为了在训练阶段更好地平衡CNN和RNN提取的特征,模型使用感知器注意力机制分别对CNN和RNN接收到的特征进行加权。他们使用堆叠LSTM作为RNN模块,从像素中提取时间序列属性。还使用了CNN(Inception-ResNet V2)技术,最高准确率为83%。
根据Alzubaidi, L.等[27]的说法,评估指标在生成最佳分类器方面在深度学习任务中起着关键作用,它们在典型数据分类过程的两个步骤中使用:训练和测试。他们讨论了FPGA,它可以用于创建效率超过80%、八位精度和超过15 TOPs峰值性能的CNN叠加引擎。Voxnet的准确率为79%,而ResNet的准确率为80%。在欧洲共同农业政策框架下,CamposTaberner, M.等[28]希望了解更多基于Sentinel-2时间序列(CAP)的土地利用分类的RNN。调查结果表明,红色和近红外Sentinel-2波段提供了最有用的数据。从夏季采集中获得的特征在时间信息方面最为重要。2-BiLSTM网络在每个类别中的性能精度超过91.4%。
Shafique, R.等[29]提供了一种基于声学分析的自主铁路轨道缺陷检测系统。他们在巴基斯坦铁路线上使用声学信号收集数据,并将各种分类系统应用于收集的数据,这是这项工作的两个主要贡献。他们使用RF和DT获得了最佳结果,准确率为97%。Ye, Y.等[30]构建了一个基于深度学习的RVSFD故障诊断网络。诊断网络有三个阶段:第一阶段(数据预处理)使用GWN策略对加速度信号进行处理,以使诊断网络对轨道不规则性引起的相对高频影响具有鲁棒性。第二阶段(训练数据集创建)提出了EST策略,以提高诊断网络对车轮磨损的鲁棒性。最后,在第三阶段(训练和识别)创建了一个基于GONEST-1D CNN的高速列车悬挂系统故障诊断网络。所有状态都可以使用为测试样本提供的混淆矩阵完全识别(100%)。
表1. 回顾来源的概述。
参考文献 | 任务 | 数据集 | 分类器 | 准确率 |
---|---|---|---|---|
[13] | 提出模型以检测松散道砟、SunKink、轨道开关和信号的故障。 | 从100GB视频数据中创建的数据集 | Inception V3, ResNet50, Faster R-CNN | 96%的松散道砟准确率,100%的SunKink准确率,95.6%的轨道开关准确率,99.4%的信号颜色模型准确率 |
[14] | GPS确定故障位置并使用GO pro相机拍摄照片。 | 从视频数据中提取的图像创建的数据集 | Yolo v3 | 89%的精确度和95%的召回率 |
[15] | 提出多阶段深度学习技术来执行图像分割。 | 从实际铁路轨道收集的数据集,由COTS VTIS收集 | Visual-based track inspection systems(VTIS), TrackNet | 准确率从71%提高到90% |
[16] | 检测高速铁路轨道损伤,结合U-net图形分割网络和损伤定位的显著性提示方法。 | Type-I RSDDs数据集 | SCueU-Net | 99.76% |
[18] | 提出使用Dense-SIFT特征的缺陷检测和识别方法。 | 从北京地铁6号线拍摄的图像组成的数据集 | RCNN, VGG16 | 97.14% |
[19] | 提出损伤检测模型,首先使用平面阵列相机和LED灯增加图像亮度来收集图像。 | 从平面阵列相机拍摄的图像创建的数据集 | 方向链码跟踪 | - |
[20] | 提出基于计算机的视觉轨道状况监控。 | 从放置在火车顶部的相机获取的数据 | 图像处理 | - |
[21] | 提出基于自动视频分析的轨道检查方法。 | 从放置在火车前部的视频相机获取的数据 | 图像处理 | 95.3% |
[22] | 提出基于计算机视觉和模式识别方法的自动轨道检查。 | 从放置在移动火车前部的相机获取的数据 | 深度CNN | 95.02% |
[23] | 使用计算机视觉和模式识别进行铁路系统中的风险管理。 | 从不同铁路轨道手动收集的图像 | Keras, ReLU, CNN | 81.90% |
[24] | 研究与农业相关的研究问题,使用的模型,数据来源,以及基于作者的性能指标获得的总体精度。 | PlantVillage, LifeCLEF, MalayaKew, UC Merced | AlexNet, VGG, Inception-ResNet | - |
[25] | 提出基于机器学习的铁路检查方法,包括基于加速度数据的特征方法和基于深度神经网络的方法。 | 从安装在轨道检查车上的传感器获取的加速度数据集 | ResNet, FCN | 100% |
[27] | 提供深度学习及其最近添加的改进的更全面调查。 | ImageNet, CIFAR-10, CIFAR-100, MNIST | Xillinx, Voxnet, ResNet | 80% |
[28] | 展示深度学习方法在遥感(RS)数据分析中的快速增长。 | 从遥感(RS)数据和卫星数据构建的数据集 | Sentinel-2, 2-BiLSTM, CamposTaberner | 91.4% |
[29] | 提供基于声学分析的自主铁路轨道缺陷检测系统。 | 从巴基斯坦铁路线上使用声学信号收集的数据 | 向量机, LR, RF, DT | 97% |
[30] | 构建基于深度学习的RVSFD故障诊断网络。 | 从加速度传感器收集的数据 | CONEST-1D CNN | 100% |
3. 方法论
3.1. 提出的架构概述
我们提出了一种新的集成卷积自编码器ResNet-LSTM深度架构(ECARRNet)用于铁路故障检测,并将其结果与传统模型进行了比较,以展示基于RNN的模型在图像分类中的前景,如图1所示。此外,使用CNN-RNN集成模型还有一些主要优势,这些优势也优于传统CNN模型。首先,我们使用卷积自编码器来减少图像的维度并从数据中提取重要特征。在下一阶段,我们提出的模型包含一个基于ResNet的迁移学习架构,该架构在imagenet数据集上进行了训练,以便我们可以在我们的模型中使用有用的网络权重来解决数据不足的问题,这可以减少我们的性能。第三,我们还使用了一个LSTM层,该层具有记忆单元而不是简单的循环单元,通过门控机制存储和输出信息,从而扩展了RNN的能力。最后,在最终的二分类层之前,我们还使用了几层全连接神经网络层。我们还特别注意减少梯度消失或爆炸问题,因为我们的提议架构非常深。我们使用He核初始化器等初始化参数来初始化权重,这将在减少梯度消失或爆炸方面发挥关键作用。此外,批量归一化层也有助于减少梯度消失问题,并作为正则化参数。表2详细描述了模型架构,按其层和类型给出了概述。
表2. 模型架构总结。
层类型 | 单元/神经元数量 |
---|---|
输入 | - |
Conv2D | 128 |
MaxPooling2D | - |
Conv2D | 64 |
MaxPooling2D | - |
Conv2D | 64 |
MaxPooling2D | - |
Conv2D | 64 |
UpSampling2D | - |
Conv2D | 128 |
UpSampling2D | - |
Conv2D | 1 |
InceptionResNetV2 | - |
GlobalAveragePooling2D | - |
Reshape | - |
Bidirectional LSTM | 2900 |
GaussianNoise | - |
Dense | 100 |
Dense | 100 |
Dense | 1 |
3.1.1. 卷积自编码器
自编码器是一种无监督的神经网络模型,它产生的输出数据噪声和失真较小。它通常用于数据压缩任务,并减少数据的存储空间,提高训练时间,并丢弃冗余变量。另一方面,卷积神经网络也非常适合从图像中提取有用特征。因此,我们使用卷积层来改进简单自编码器的性能。我们还尝试了仅在模型第一阶段使用卷积神经网络,发现卷积自编码器表现更好。简单自编码器主要由三部分组成——编码器、代码和解码器。首先,输入通过编码器生成代码,其中编码器是一个全连接神经网络。然后,解码器仅使用代码生成输出,其中解码器也是一个全连接人工神经网络。这一步的目标是获得与输入相同的输出。解码器架构通常是编码器的镜像。在自编码器中,输入和输出的维度应始终相同。
卷积自编码器通过用卷积层替换编码器和解码器部分中的全连接层,为简单自编码器的基本结构添加了特殊性。输入层的尺寸也将等于输出层的尺寸,类似于简单自编码器。解码器网络在卷积自编码器中也转换为转置卷积层。除了卷积层外,编码器和解码器网络还包括最大池化层。卷积自编码器有许多用例,如图像压缩、图像去噪等[31,32]。在我们提出的架构中,我们尝试了不同的编码器和解码器架构以找到最佳架构。我们的编码器架构有3个卷积层和3个最大池化层,并且通过使用批量归一化和dropout层进一步增强。第一个卷积层有128个神经元,6×6的滤波器大小和ReLU作为激活函数。我们还使用了一种称为归一化的特殊核初始化器来减少梯度消失。所有最大池化层都包含2的池化大小。在接下来的两个卷积层中,我们使用64个神经元,每个神经元有4×4的滤波器大小。在解码器部分,第一个2D卷积层有64个神经元,并且有几个2D上采样层,滤波器大小为2×2,以重建与输入相同的输出维度。接下来的卷积层有128个神经元,最后一个卷积层只有一个神经元,激活函数为sigmoid。解码器中的所有卷积层都有6×6的滤波器大小。
在卷积自编码器部分和我们的整体提议模型中,我们频繁使用批量归一化层,几乎在每一层之间。这是因为最初我们的训练非常慢,因为数据集和模型相对较大,并且容易过拟合。在使用批量归一化后,我们的训练时间显著提高,并且由于批量归一化的正则化效果,它在产生最先进的准确率方面发挥了关键作用。根据[33],在训练深度神经网络时,由于前一层参数的变化,每一层的输入分布在训练过程中发生变化。因此,训练变慢,需要较低的学习率和更仔细的参数初始化。因此,使用饱和非线性函数训练模型变得困难,这被称为内部协变量偏移。为了解决这个问题,我们可以对每个训练小批量的层输入进行归一化,因为它允许使用更高的学习率,而不需要太仔细的初始化。批量归一化能够在14倍的训练步骤中达到相同的准确率,并且显著优于未使用批量归一化的模型。
3.1.2. 基于ResNet的迁移学习
在这一阶段,我们使用了一个基于ResNet的迁移学习架构,该架构在imagenet数据集上进行了训练。在迁移学习中,我们将模型从具有丰富训练数据的任务中获得的专业知识应用于新任务,新任务的数据可用性有限,以提高性能。在我们的问题中,由于我们没有太多的初始数据,因此我们必须借助迁移学习来利用它们在某一任务中已经学到的知识,以增强在另一上下文中的泛化能力。因此,我们使用了一个预训练模型,称为inception-ResNet-v2,它在我们的数据集上表现优于其他预训练网络,如inceptionv3、Xception等。Inception架构已经通过许多研究工作证明在低成本下表现良好。此外,发现使用残差inception网络大大加快了inception网络的训练速度。ResNet中的残差连接由卷积层和ReLU激活函数组成。在Inception-ResNet中,批量归一化仅用于传统层之上,而不用于求和之上[34]。
3.1.3. 循环神经网络
这一阶段解释了我们提议模型的独特部分。在这一部分中,我们使用循环神经网络,其中单元的连接形成一个有向循环。RNN可以对任意长度的序列的动态行为进行建模。在我们提出的架构中,在Inception-ResNet-v2中描述的卷积层之后,当数据到达RNN层时,它创建了一个结合的CNN-RNN框架。CNN-RNN框架在图像分类中有许多优势[35]。通常,循环神经网络更适合建模序列数据。在CNN-RNN模型中,RNN使用CNN的输出作为输入,为不同的时间步生成序列预测。图像数据通常被认为是二维波数据,其中卷积层充当过滤过程。卷积层能够过滤图像中的简单带信息,但通常会留下重要的图像信息特征。因此,使用RNN层很重要,因为CNN-RNN框架可以利用RNN计算CNN模型中间层输出的依赖性和连续性特征。它还允许将这些中间层的特征连接到全连接网络进行分类预测,从而导致更好的分类准确率[36]。
然而,由于梯度必须通过RNN的许多层,它创建了长期依赖性,因此经常遇到梯度消失和爆炸问题,使其难以建模。为了解决这个问题,我们在提议的模型中使用长短期记忆(LSTM)。LSTM由记忆单元组成,用于在每个时间点加密知识。三个门——输入门、遗忘门和输出门——控制记忆单元的行为。更具体地说,LSTM的记忆单元形成一个单元状态,将相关信息从早期时间步传递到后期时间步,从而减少短期记忆的影响。由于单元状态在整个序列中传递信息,信息通过门添加或删除。门是独立的神经网络,用于决定哪些信息应允许或从单元状态中丢弃。另一方面,门由sigmoid激活函数组成。它们在通过时给出0到1之间的输出值。不同的门使用这一原理。遗忘门决定应保留或丢弃哪些信息。当信息从先前的隐藏状态和当前输入通过时,它通过sigmoid函数。sigmoid函数产生0到1之间的值,如果值接近0,则被遗忘,如果接近1,则必须被单元状态记住。输入门用于更新单元状态。最后,输出门用于决定使用哪个隐藏状态。因此,这些门通过保留长期的有用信息并去除不必要的冗余信息,帮助输入信号通过循环隐藏状态。通过这种方式,LSTM很好地解决了梯度消失和爆炸问题,并且可以很好地建模长期的时间动态,而RNN则不能。在我们的论文中,我们使用了一个具有2900个神经元的双向LSTM层,这有助于形成CNN-RNN架构,该架构具有上述许多优势。我们还尝试了另一种门控版本的RNN,称为GRU,但在我们的数据集中,具有2900个神经元的双向LSTM表现更好。
3.1.4. 全连接层
最后,我们的集成深度网络还包含一些全连接层。在LSTM层之后,我们添加了另外两个全连接层,每个层包含100个神经元。最后,我们在最后一层之前添加了一些dropout正则化器和批量归一化层。最后一层是一个用于二分类的密集层,激活函数为sigmoid。
最后,我们想简要讨论一些基本部分,以展示我们提议模型的独特功能,这使我们能够产生如此好的性能。由于计算资源有限,我们使用的批量大小相对较低,通常小于10。使用的图像尺寸通常为300×300,但我们的实验表明500×500和600×600的图像产生最佳结果。我们使用Adamax优化器,因为它比Adam更好地优化。我们使用二元交叉熵作为损失函数。
3.2. 比较模型概述
在我们的研究中,我们使用了三种不同的最先进模型进行图像分类,以评估我们的数据集并将获得的结果与我们的提议模型进行比较。以下是按其架构简要描述的比较模型。
3.2.1. InceptionV3
由Google研究人员制作的模型,是inception架构的修改版本[37]。尽管该模型由42层组成,但计算成本仅比GoogleNet高2.5倍。在ILSVRC中的图像分类中,它成为亚军,证明了其有效性。Inception V3模型使用本研究中使用的数据集进行了训练,我们确定了其在训练和验证中的准确性。
3.2.2. Xception
深度CNN架构,使用深度可分离卷积。在Inception中,原始输入使用1×1卷积进行压缩,然后根据输入空间为每个深度空间提供一组新的滤波器。Xception则相反。它首先将滤波器应用于每个深度图,然后使用1×1卷积压缩输入空间。我们使用Xception是因为它不引入任何非线性。
3.2.3. InceptionResNetV2
一个具有164层的深度卷积神经网络。输入图像的尺寸为[229×229]被输入到模型中,该模型通过一个输出尺寸为3×3、步幅为32的卷积块,然后是另一个具有相同尺寸和步幅的卷积层。下一层具有64的步幅,该层被输入到一个卷积层和一个最大池化层。生成的层通过两个连续的卷积神经网络层传递,每个层的尺寸为1×1,深度为64和3×3,深度为96,分别通过四个卷积层传递,每个层的尺寸为1×1,深度为64,7×1,深度为64,1×7,深度为64和3×3,深度为96。两个新兴层通过滤波器连接,最终输出层通过一个3×3卷积层和一个步幅为2的最大池化层传递。最终输出层通过滤波器连接。
4. 性能评估参数
我们使用准确率作为性能指标,我们还使用分类报告和混淆矩阵等指标测试模型的性能。我们的分类报告有四个指标来衡量每个模型的有效性。这些指标包括支持、精确度、F1分数和召回率。支持可以通过混淆矩阵的最后一行求和来计算。支持是数据集中每个特定类别的实际出现次数,这意味着它显示了数据集中该类别的实际出现次数。
在上面的方程组中,
-
TP = 真阳性
-
FP = 假阳性
-
FN = 假阴性
-
TN = 真阴性
AI模型通常被认为是黑箱模型,缺乏透明度。透明模型可以解释它们的预测和预测的原因。因此,它在模型中建立了信任,并确保它们只以可解释的方式预测所需的对象。透明的目标是找出模型严重失败的案例。有几种方法和框架可用于实现可解释的AI,这些方法和框架可以生成视觉演示,以更好地理解模型在新数据样本上的预测以及它们如何进行预测。在图像的情况下,生成补丁以指示模型关注的图像位置。LIME(局部可解释模型无关解释)是一种革命性的解释方法,可以忠实且易于理解地解释任何分类器的预测。我们在论文中使用LIME来解释我们提议模型的性能,因为我们找不到任何其他可用的解决方案来解释我们的自定义模型。此外,我们使用Grad-CAM,它在图像的位置上生成热图,模型在该位置上关注[38]。我们使用Grad-CAM来获得用于与我们提议架构进行比较的模型的模型可解释性。LIME是一种算法,可以忠实地解释任何分类器和回归器的预测,并通过可理解的模型局部化它[39]。
Grad-CAM和LIME产生的结果显示在实验结果部分。
5. 实验结果
5.1. 数据收集
我们通过访问孟加拉国不同地点的铁路轨道收集了我们的数据集[40]。由于铁路轨道多年前建成,只发现了米轨和宽轨线路的故障。我们去了Jessore和Feni的铁路轨道,并在城市的不同地方拍摄了几天照片。我们去了车站和交汇处,从旧的、新的和废弃的轨道上收集数据。我们还考虑了废弃的轨道,因为我们在常规轨道上找不到所有类型的故障。我们主要在轨道和紧固件上发现了故障,这些是铁路轨道的主要组成部分,通常是导致严重事故的原因。为了制作一个统计上显著的数据集,我们只能使用轨枕和紧固件图像来训练我们的模型。我们总共收集了428张图像,其中156张有缺陷,272张无缺陷。我们尝试从不同角度拍摄每种类型的错误图像。我们初始数据集的一些样本图像如图2所示。
5.2. 数据预处理
首先,我们准备了三个不同版本的数据集来训练和实验,以找出哪种数据安排方式效果最好。在第一个版本中,我们只使用了包含轨道缺陷和无缺陷类别的轨道图像。在第二个版本中,我们只有来自紧固件的缺陷和无缺陷图像,在最后一个和最终版本中,我们同时包含了来自轨道和紧固件的缺陷和无缺陷图像。这使得我们的实验和提议模型更加可靠,因为它在多个场景中多次重复以产生类似的结果。我们还根据感兴趣区域裁剪了每张图像,并准备了我们的数据集,将它们分为测试、训练和验证,每个包含不同类型的故障。
我们进行了四种增强,因此图像数量从初始数量增加到四倍,即达到1712张图像。此外,我们还使用Keras中的ImageDataGenerator类进行了代码内增强,以增加我们数据集中的图像数量。使用TensorFlow和Keras进行代码内增强在训练过程中增加了数据集的大小,而不占用任何物理内存。我们使用旋转、垂直翻转、水平翻转、亮度等参数。总的来说,我们使用了大约8000张图像进行训练。
另一方面,我们还面临类别不平衡问题,因为我们无法在铁路轨道上找到足够数量的故障图像。因此,我们发现更多无缺陷或无故障的铁路轨道图像。因此,我们不得不应用一种称为SMOTE(合成少数过采样技术)的过采样技术,这是一种非常成功的类别不平衡问题技术。SMOTE通过在同一行上生成数据点的副本来为少数类别或图像数量较少的类别创建图像。SMOTE通过在连接一个点和其KNN的同一行上生成数据点来实现这一点[42]。
最后,我们还希望提到我们使用了洗牌方法,如分层K折洗牌分割,以确保我们的训练和测试分割中的两个类别数量相等。这确保了我们的数据在训练、验证和测试分割中不是随机采样的。因此,这通过减少采样偏差和增加实验的有效性,使我们的实验更加有效。
5.3. 在轨道数据集上生成的结果
图3显示了所实现算法的准确率曲线集。这些曲线表明,我们提议的模型ECARRNet在峰值准确率和平均准确率方面优于其他模型。
图4展示了模型在轨道数据集上的混淆矩阵。结果显示,ECARRNet产生的假阳性比InceptionV3少,并且在比较InceptionResnetV2和Xception时产生类似和可比的结果。
图5描绘了从轨道数据集中随机选择的相同图像的Grad-CAM可视化,用于比较模型。使用InceptionResnetV2模型生成的热图区域在图像中没有故障的区域分类错误,红色区域表示模型对分类的最高贡献,不在轨道的有缺陷部分。另一方面,InceptionV3和Xception生成的热图相对更接近故障轨道区域。
从表3中,我们可以看到Xception在RAIL数据集上表现优于其他模型。它在缺陷和无缺陷类别中都具有最高的F1分数(0.96),以及最高的精确度和召回率(0.96)。InceptionResnetV2和ECARRNet的F1分数均为0.95,表现非常具有竞争力,略低于Xception。尽管InceptionV3仍然是一个强大的模型,但它的表现略逊于其他模型,F1分数最低为0.91。总的来说,Xception是这个特定数据集的顶级模型,在准确分类缺陷和无缺陷案例方面表现最佳。
5.4. 在紧固件数据集上生成的结果
图6显示了基于紧固件数据集的模型的准确率曲线。我们再次看到我们的ECARRNet模型优于其他迁移学习模型。InceptionV3和Xception产生的结果与ECARRNet相当,而InceptionResNetV2在紧固件数据集上表现非常差。
图7展示了模型在紧固件数据集上的混淆矩阵。结果显示,ECARRNet产生的假阳性比InceptionV3少,并且在比较InceptionResnetV2和Xception时产生类似和可比的结果。
图8描绘了从紧固件数据集中随机选择的相同图像的Grad-CAM可视化,用于比较模型。使用InceptionResnetV2、InceptionV3和Xception模型生成的热图区域在所有图像上分类的区域略接近故障紧固件,但红色区域表示高贡献的分类区域并不完全集中在有缺陷或故障的紧固件部分。
表4显示,Xception再次脱颖而出,具有最高的F1评分(0.89),适用于缺陷和无缺陷类别,表明精确度和召回率的平衡。InceptionV3以0.87的F1分数位居第二,召回率良好,但精确度略低。InceptionResnetV2和ECARRNet在所有标准上表现相同,F1分数为0.87。总的来说,在这个数据集上,Xception的表现与其他模型相似且一致,除了在正确分类缺陷和无缺陷项目方面略有优势。
5.5. 在完整数据集上生成的结果
图9显示了基于完整数据集的模型的准确率曲线,其中包括来自紧固件和轨道的缺陷和无缺陷图像。我们再次看到我们的ECARRNet模型优于其他迁移学习模型。InceptionV3和Xception产生的结果与ECARRNet相当,而InceptionResNetV2在完整数据集上表现非常差。
图10显示了模型在包含来自紧固件和轨道的缺陷和无缺陷图像的完整数据集上的混淆矩阵。结果显示,ECARRNet产生的假阳性比InceptionV3少,并且在比较InceptionResnetV2和Xception时产生类似和可比的结果。
图11显示了从包含来自紧固件和轨道的故障图像的完整数据集中随机选择的相同图像的Grad-CAM可视化,用于比较模型。使用InceptionResnetV2、InceptionV3和Xception模型生成的热图区域在所有图像上分类的区域略接近故障紧固件,但红色区域表示高贡献的分类区域并不完全集中在轨道中的故障/间隙部分。
在表5中,ECARRNet在非缺陷项目中具有最佳召回率,在缺陷项目中具有最高精确度,表现出色,F1分数为0.92。Xception以0.91的F1分数位居第二,在两个领域中表现出平衡的召回率和精确度。结果具有竞争力,但略低于InceptionV3的0.90。InceptionResnetV2的F1分数为0.86,略低于其他模型。宏观和加权平均值与F1分数一致,表明ECARRNet是本次评估中表现最好的模型,其次是Xception和InceptionV3,InceptionResnetV2表现最差。
5.6. 使用LIME可视化解释ECARRNet的输出预测
经验分析使用GRADCAM表明,它与InceptionResNetV2、InceptionV3、Xception等迁移学习模型配合得非常好,但无法处理我们提出的包含双向LSTM和CNN模型的集成模型。GRADCAM无法处理我们的模型,因此我们无法使用GRADCAM获得所需的视觉化。
另一方面,LIME是模型无关的,这意味着它可以与任何类型的模型一起使用。因此,我们使用LIME来解释ECARRNet的预测。图12显示了使用LIME可视化从我们用于实验目的的三个不同版本中随机选择的图像的可视化,即轨道数据集、包含来自轨道和紧固件的故障图像的组合数据集和紧固件数据集。使用LIME生成的可视化结果用黄色边界包裹,仅使用我们提出的模型ECARRNet生成。LIME生成的区域解释并展示了我们提出的模型在检测铁路轨道故障方面的有用性和鲁棒性。它展示了ECARRNet在所有三个版本的数据集中如何准确地定位铁路轨道故障的位置。它准确地包裹了轨道中的故障区域,甚至非常准确地定位了故障紧固件,错误结果非常少。因此,这些可视化证明了我们ECARRNet模型在预测铁路轨道故障方面的优越性。
图13展示了三个不同版本数据集的准确率百分比。对于每个数据集,它比较了我们提议的模型ECARRNet与Xception、InceptionV3和InceptionResNetV2的性能,这些模型在图像分类用例中也展示了出色的结果。它还显示了训练和验证或测试集的准确率值,清楚地区分了ECARRNet与其他模型的性能。我们在这里考虑测试或验证准确率进行比较,因为我们确保测试/验证集中的每张图像都没有标签。我们只是向模型提供了图像以预测类别。因此,我们可以看到,对于所有三个版本的数据集,我们提议的模型ECARRNet的验证准确率最高,相比于其他用于预测铁路轨道故障的最先进模型。此外,通过比较表2-4的结果,我们还可以说ECARRNet在其他指标如精确度、召回率、F1分数和支持方面也展示了预期的结果。这意味着我们提议的模型在预测和区分缺陷和无缺陷铁路轨道方面表现非常好,这再次证明了其在铁路故障检测方面优于其他流行的基于CNN的架构。
6. 结论
本文的主要目的是区分缺陷和功能齐全的铁路轨道,并提出一种自动解决方案来跟踪故障,以减少导致数百人死亡的铁路轨道事故。我们通过借助尖端算法和我们的集成算法ECARRNet进行了铁路故障的分类和检测。我们提出的模型优于其他已建立的算法,并产生了更好的结果,这在获得的结果中显而易见。未来,我们希望从孟加拉国和其他地区的不同部分收集更多数据,以分类更多类别的故障并改进我们提出的模型。