APP下载

基于轻量化GoogLeNet模型的轨道扣件缺陷状态识别

2023-01-19李少佳胡美振陈辉东刘艳霞

北京联合大学学报 2023年1期
关键词:实时性扣件轻量化

李少佳,胡美振,陈辉东,刘艳霞

(北京联合大学 城市轨道交通与物流学院,北京 100101)

0 引言

随着我国高速铁路越来越普及,运行速度越来越快,对铁路基础设施安全性的要求也越来越高。轨道扣件作为轨道最重要的部件之一,其健康状态会直接影响运输安全[1-2]。

传统轨道扣件健康状态的维护一直通过人工巡检来完成,但是随着我国轨道交通的发展,钢轨数量日益扩增,人工巡检任务繁重且成本较高,而且视觉的过度疲劳也容易出现漏检,给轨道交通安全带来一定的风险。LeNet-5作为卷积神经网络的开山之作,吸引了包括工业界在内的众多研究人员[3-4]。牛津大学研发了VGGNet网络,通过多个3×3卷积核和2×2 MaxPooling层的叠加,构建了16层和19层的VGGNet网络[5]。与2012年研发成功的AlexNet网络相比,错误率大幅下降,同时也提高了网络的泛化能力。然而对于轨道扣件的状态检测来说,VGGNet网络的参数量大,推理速度慢[6],无法满足轨道扣件的状态识别任务对实时性的要求。2014年,在ImageNet举办的图像分类大赛ILSVRC[7]中,由Google团队提出的GoogLeNet[8]网络斩获了该年度ImageNet竞赛中分类任务的冠军,其在网络中引入了Inception结构,避免了梯度爆炸,并融合了多尺度特征[9],在大多数分类任务中均取得良好效果。

目前,轨道扣件的检测方法大多是基于改进形状匹配的扣件缺陷检测方法,该方法无须提前对扣件进行定位,采用多模板匹配方法,以提高模板的多样性,单张图片的匹配时间为180 ms[10]。还有基于多传感器信息融合的轨道扣件缺陷检测方法,通过结构光设备采集扣件信息,使用ResNet18网络进行检测[11]。再有基于改进YOLOv4的铁路扣件检测[12-13],使用CSPDarknet53作为特征提取网络,提高了CNN的学习能力,从而提高了网络的检测精度[14]。另有基于语义融合的扣件检测,通过信息熵来确定权值,判断待检测扣件的状态[15]。虽然这些方法对于轨道扣件状态检测的精度均可达到90%以上,但是识别速度还无法满足轨道扣件识别的实时性要求。

本文通过对GoogLeNet网络中的Inception结构、网络层数及卷积核个数等进行一系列轻量化改进,在保证检测精度的同时,降低网络复杂度。随后通过与主流网络模型VGG16、VGG19和GoogLeNet的对比实验表明,轻量化GoogLeNet(Lightweight GoogLeNet)模型在轨道扣件数据集上取得识别精度和速度的最佳平衡,满足轨道扣件状态识别对实时性的要求。

1 扣件数据集的构建

1.1 数据集的采集

由于轨道扣件没有公开的数据集,我们自行采集并构建了轨道扣件数据集。其中,大部分样本通过实地拍摄获得,少数通过网络收集,共得到335张不同缺陷状态的轨道扣件图片,包括正常、断裂、移位和缺失4类,如图1所示。

图1 数据集样本Fig.1 Sample of Dataset

1.2 数据增强

计算机视觉研究在近几年取得重大进展的原因之一是大规模数据集的出现,样本数量的多少对网络训练起到了至关重要的作用。由于很难获取现实中轨道扣件缺陷状态的样本,数据集样本量较小,所以我们使用roboflow对数据集进行随机采样增强,主要增强方法包括水平翻转、垂直翻转、镜像、灰度处理、曝光处理、随机裁剪及色彩变化等[16],图像增强后的效果如图2所示。由此我们得到了789张图片,然后将其按照9∶1的比例分成训练集和验证集。

图2 图像增强处理后的数据集样本Fig.2 Sample of Dataset after Image Enhancement

2 轻量化GoogLeNet模型

因为轨道扣件数据集图片的颜色趋于黑色,通过数据增强后也只有不到1 000张图片,对于原始GoogLeNet网络来说,使用9个Inception模块容易造成过拟合现象,所以,需要通过减少网络的深度和参数量来缓解过拟合现象。另外,由于轨道扣件图片中没有重叠和遮挡现象,且采集的扣件样式相对固定,而轨道扣件检测中对实时性要求较高,所以,采用轻量化网络更容易同时满足扣件识别任务对精度和速度的要求。轻量化GoogLeNet模型的总体架构如图3所示。

图3 轻量化GoogLeNet网络模型Fig.3 Lightweight GoogLeNet Network Model

2.1 轻量化Inception模块

轨道扣件状态识别的数据比较集中,松动移位和断裂等缺陷样本与正常样本的区别不大,对纹理特征等细节信息的依赖相对较大。而在原始Inception结构中通过5×5大小的卷积操作后,特征图会被压缩得很小,容易丢失图像的细节信息。我们将原Inception结构中的5×5 Conv及其前面的1×1 Conv构成的整个Inception分支去掉;同时将3×3 Conv及其前面的1×1 Conv的卷积核个数减少为原来的一半。另外,考虑到批归一化(BN)操作可以提升模型训练精度,而且不含训练参数,对推理速度几乎没有影响,所以,我们在轻量化的Inception结构卷积层后分别添加了BN操作。轻量化前后的Inception结构如图4所示。

图4 Inception模块以及轻量化inception模块Fig.4 Inception Module and Lightweight Inception Module

2.2 优化网络模型结构

在原始的GoogLeNet网络模型中,包括9个Inception模块,并且在第4个和第7个模块中引入辅助分类器模型,防止梯度消失与过拟合现象。改进后的轻量化GoogLeNet模型用7个轻量化Inception模块取代原始的9个Inception模块。因为改进后的Inception模块中使用了批归一化(BN)操作,所以为了避免重复轻量化,GoogLeNet模型中取消了Inception模块之前的两个局部响应归一化(Local Response Norm)层。除此之外,将原来第4个和第7个Inception模块后连接的两个辅助分类器减少为1个,且将其位置调整到第5个轻量化Inception模块之后,并在辅助分类器中引入批归一化(BN)操作,如图5所示。轻量化GoogLeNet模型的网络结构及参数如表1所示。

表1 轻量化GoogLeNet模型的网络结构及参数设置Table 1 Network Structure and Parameter Settings of Lightweight GoogLeNet Model

图5 基于BN的辅助分类器Fig.5 BN-based Auxiliary Classifier

2.3 激活函数

在轻量化GoogLeNet模型中,我们使用了Tanh激活函数取代ReLU激活函数。Tanh激活函数和ReLU激活函数分别如式(1)和式(2)所示。ReLU激活函数也被称为单侧抑制函数,当输出值小于0时就会导致一部分神经元得不到更新。Tanh激活函数可以解决这一问题,并应用于轻量化GoogLeNet模型中,与ReLU激活函数相比,网络精度提高了1.2个百分点。

(1)

(2)

3 实验

3.1 实验环境

在训练过程中,服务器使用Ubuntu 20.0.4系统,深度学习框架为Pytorch 1.10.0,CPU型号为Intel(R)Core(TM)i7-7700,GPU为NVIDIA GeForce GTX 1080,显卡内存为8 G。Pytorch是基于Torch的开源机器学习库,在处理图像的过程中可以对GPU进行加速。

3.2 消融实验

首先将包含4种扣件状态类型的数据集打乱顺序,然后以9∶1的比例将其划分为训练集和验证集,并将输入图像统一缩放为224×224的RGB图像。在训练过程中,将网络的学习率设置为0.000 3,Dropout设置为0.5,batch size设置为32,使用ADAM优化器对网络中的参数进行优化更新,加快模型收敛。对轻量化模型的不同版本进行消融实验,结果如表2所示。

表2 消融实验Table 2 Ablation Experiments

由表2可知,采用Tanh激活函数比ReLU激活函数更有利于改进轻量化GoogLeNet模型的训练精度。在推理时间相同的情况下,采用Tanh激活函数可使模型精度提高1.2个百分点。而且添加BN操作后,可进一步使模型精度提高9.8个百分点,达到92.7%,所以,改进轻量化模型采用BN加Tanh激活函数的版本。

3.3 对比实验

为进一步验证轻量化GoogLeNet模型的优势,本文分别在VGG16、VGG19、GoogLeNet和轻量化GoogLeNet网络模型上,对轨道扣件数据集进行训练。这些网络模型在训练阶段的验证准确率曲线和损失曲线如图6所示。

从图6可以看出:由于轨道扣件各种缺陷状态的样本量较少,对于VGG16和VGG19这两个规模较大的网络模型来说,容易造成过拟合现象,并且VGG16和VGG19的验证准确率曲线一直处于上下浮动状态,模型鲁棒性较差;从验证损失曲线来看,这两个网络模型在损失下降的过程中都存在较大波动,网络损失下降过程不稳定,最终的分类准确率分别只有71%和73.2%。对于GoogLeNet网络模型来说,虽然原始网络模型验证准确率曲线的波动性略好于轻量化GoogLeNet网络模型,但是轻量化GoogLeNet网络模型的验证准确率高于原始网络模型,最终达到90%以上,在损失曲线下降率方面也要优于原始网络模型。在训练结束后,利用轨道扣件测试集对3种经典网络模型和改进的轻量化GoogLeNet网络模型进行测试,结果如表3所示。

图6 各个网络模型的验证准确率和损失曲线图Fig.6 Validation Accuracy and Loss Curves for Each Network Model

由表3可知,对于轨道扣件数据集,原始GoogLeNet的网络参数量比VGG16和VGG19小1个数量级,为13.378 280 M,网络精度达到了84.1%,FPS为145.4,识别精度和速度都优于VGG网络。但对轨道扣件状态识别任务来说,实时性仍然有待提高。本文对其改进后提出的轻量化GoogLeNet网络模型,其参数量仅有4.089 048 M,推理时间为3.933 3 ms,FPS可达254.2,满足扣件缺陷识别任务对实时性的要求,而且网络测试精度达到92.7%,比原始GoogLeNet网络提高了8.6个百分点。

表3 模型结果统计Table 3 Model Results Statistics

4 结束语

由于轨道扣件检测任务对网络实时性要求较高,本文针对自行构建的专用数据集特点,对GoogLeNet网络模型进行轻量化改进,主要包括裁剪Inception结构、增加BN操作、 减少网络层数和辅助分类器的个数,并用Tanh激活函数代替ReLU激活函数。改进后的轻量化GoogLeNet网络模型在提升精度的同时,还大大提高了网络实时性,更适用于轨道扣件状态的识别任务。

猜你喜欢

实时性扣件轻量化
汽车轻量化集成制造专题主编
基于规则实时性的端云动态分配方法研究
科隆蛋扣件力学特性分析
一种轻量化自卸半挂车结构设计
一种改进的LBP特征实现铁路扣件识别
基于虚拟局域网的智能变电站通信网络实时性仿真
航空电子AFDX与AVB传输实时性抗干扰对比
非均布荷载下扣件式脚手架的随机缺陷稳定分析
瞄准挂车轻量化 锣响挂车正式挂牌成立
用户:轻量化挂车的使用体验