(安徽理工大学 电气与信息工程学院,安徽 淮南 232000)
铁轨的伤损检测在铁路安全运营中意义重大,国内由于铁路客货混跑、行车密度大、客运提速等因素,导致铁轨表面易造成伤损,如果发现不及时,会使缺陷进一步加大,从而引起严重的交通安全事故[1]。截至2016年,通过分析统计的全球铁路里程数据,国内铁路总里程数据排名世界第二,其中高速铁路总里程数据排名世界第一。若对提速后的火车线路完全依靠人工巡检,不仅耗费巨大的人力物力,而且增加铁路巡检工作的危险性。在铁轨伤损方面研制快速自动检测技术对铁轨安全运行变得极为重要。目前,在铁轨表面伤损检测中,大多都是运用机器视觉方法对铁轨样本图像进行判别[2-4],如西南交通大学官鑫的学习向量量化神经网络算法、江南大学茅正冲的图像增强与分割的算法等。但这些算法前期都要对样图进行烦琐的图像预处理或特征提取工作,且铁轨样本图像的分类精度严重依赖预处理和特征提取的合适与否。
深度学习中在探究模式识别时引用卷积神经网络,且应用卷积网络的效果明显,因此学术界对于卷积网络很关注[5]。卷积神经网络识别图像在前期可省略复杂的特征提取工作,再对图片进行识别。卷积网络具有网络学习特点,经学习后得到的图片特征相对于人工方法提取的特征,更能反映样本背后的规律,对于复杂度高的图像也能实现高精度分类[6-8]。
卷积神经网络的网络训练过程和BP神经网络的训练过程类同[9],其中相关参数的计算为参数的前向过程传递和误差的反向过程回馈。卷积神经网络训练在每次迭代过程中包含对多层卷积层计算过程与池化层池化计算过程,这极为耗费时间。因此提出一种改进卷积神经网络模型,用于铁轨伤损与非伤损样本图像的识别。改进算法在保证识别准确率下减少了卷积神经网络的网络训练时间,在铁轨探伤方面提高了检测速度。
20世纪60年代,Hubel和Wiesel在研究神经网络时针对猫脑皮层的局部敏感和方向选择的神经元,得出卷积网络具有独特的网络结构,可以有效降低网络反馈方面存在的复杂性问题。在构建好的卷积神经网络中直接输入图像,网络训练过程对参数进行前向传递并对误差进行反向传播回馈,不断重复计算、修正参数使输出值达到期望值。卷积神经网络结构如图1所示。
图1 卷积神经网络结构简图
在图1中,卷积网络结构包含输入层、一层卷积层、一层池化层和一层全连接层。建立的卷积神经网络中输入60像素×60像素的图片,实现卷积计算作用的卷积层选择卷积核的大小为5×5,卷积计算过程中采取的步长为1,卷积层中卷积计算使用的激活函数类型有Sigmoid、Relu函数,选择Relu函数时不需要再进行引入稀疏性工作;池化作用的池化层选择池化核的大小为2×2,池化计算的步长为2,采用最大池化法计算后得到的值作为池化层输出值,能减少采样过拟合问题。最后一层全连接层可以将图片样本学习后得到的分布式特征与建立的样本标记空间通过映射建立关系。
卷积神经网络在网络结构上可以建立多卷积层,卷积层在功能上实现特征提取,数学表达式为
(1)
式中,αj-1+l,k+m为卷积神经网络卷积计算中第j个卷积层所在的第k个神经元相对应的输入表示;αj,k为卷积神经网络卷积计算中第j个卷积层所在的第k个神经元的输出表示;f为卷积神经网络卷积计算中卷积层使用的激活函数;ω为在卷积神经网络卷积计算中卷积层使用卷积核5×5大小的共享矩阵;b为共享偏置。
池化层在降低过拟合问题时利用局部平均计算和子抽样计算来实现,通过降低样本的输出来简化输出特征量的大小。池化作用可获得有映射关系的样本特征,特征通过平移形式或者其他形式变形后,特征敏感度能够降低,数学表达式为
αj+1=β·Pool(αj)
(2)
式中,β为下采样层的权重系数;Pool为池化作用的函数,有max-pooling函数。
BP神经网络在结构上有进行数据学习的输入层、包含多个隐含节点的隐含层与输出网络学习结果的输出层,其中隐含层学习可以由多层结构构成。BP神经网络在学习训练过程中使用的是一种多层网络学习算法,计算内容包括对参数进行前向传递和对误差进行反向传播回馈。对于实际输出量的计算,计算方向是从输入到输出的方向。其中隐含层和输出层包含的神经元节点相关的输入输出计算数学表达式[10]如下:
隐含层第m个节点的输入
(3)
隐含层第m个节点的输出
(4)
输出层第k个节点的输入
(5)
输出层第k个节点的输出
(6)
式中,Wmn为在BP网络学习计算中该隐含层所在的第m个隐含神经元节点与到相邻输入层包含的第n个神经元节点连接的权值参数;Wkm为在网络学习计算中该输出层所在的第k个输出神经元节点与到相邻输入层所包含的第m个节点连接的权值参数;xn为在BP网络学习计算中该输入层所在的第n个神经元节点的输入;θm为在网络学习计算中该隐含层第m个神经元节点的阈值参数;αk为在BP网络学习计算中该输出层第k个神经元节点的阈值参数;φ为在网络学习计算中该隐含层选择的激励函数。训练网络的权值与阈值通过梯度下降反向调整误差,从输出到输入反转修正隐含层,其中权值的误差函数为[10]
(7)
训练学习过程中由选择的训练样本构成一个训练集,训练集的样本数量为T个。式中,Tk为输出层第k个神经元节点要求的期望输出,Ok为输出层包含的第k个神经元节点的实际输出。通过相关误差公式计算,反向调整相应权值和阈值,使用的计算数学表达式[10]为
(8)
通过式(7)与式(8)式来计算期望输出与实际输出的误差量,使用误差梯度下降法反馈调整该输出层包含的各层神经元的权值与阈值大小,重复训练直到期望输出与设定期望值接近。
构建了卷积、BP网络进行图像识别,结果分析得出:卷积网络的识别准确率高但训练时间过长,BP网络的识别效果不理想但训练时间短。设计一种改进的铁轨伤损图片识别算法用于铁轨伤损与非伤损图片的分类识别。改进后的算法结构如图2所示。
图2 改进算法的结构简图
改进算法在网络模型上由卷积神经网络与BP神经网络组成,其中设计的卷积神经网络结构是用于初步提取铁轨图像的特征,设计的BP神经网络结构是用于训练卷积提取后的低维度铁轨图像特征。
改进算法中,对用于特征提取的卷积网络设计了3层卷积-池化层。每层卷积-池化层中,进行卷积计算的卷积核大小为5×5,卷积的计算步长为1,实现该卷积层卷积功能的激活函数选择Sigmoid激活函数;池化层通过池化计算来简化特征量,采用的池化核大小为2×2,池化作用的计算步长为2,池化函数类型选择max-pooling;最后一层是全连接层,它的作用是将经卷积-池化学习得到的4像素×4像素的图片转变为一维向量形式的16个特征。
改进算法中,BP网络的输入层节点数为16,是经过卷积神经网络一次前向运算得到的低维度铁轨特征图的特征数。改进算法中BP网络结构包含的隐含层神经元节点数目选择,第一层隐含层神经元节点数目为24,第二层隐含层神经元节点数目为8。输出层的神经元节点数目是2(二分类问题,识别伤损与非伤损图片)。
铁轨在其使用过程中,会发生铁轨面压溃、压裂等伤损现象,这会影响和限制着铁轨的使用性能,即铁轨的伤损。实验中铁轨表面图片是利用超声波获取铁轨表面状态信息,经专用软件处理后而获得的。经软件处理后获取的铁轨表面图片包括伤损点、焊接点和磨损点,如图3所示。
图3 铁轨超声波探测图
图片中出现的“X、Y、V、W、八”形状是伤损部位,需要被识别出来,磨损点和焊接点视为正常部位,不需检测出来。实验中,改进卷积神经网络的输入铁轨表面图片是从图3中获取的60像素×60像素的图片,包括伤损点图片、焊接点图片、磨损点图片如图4所示。
图4 铁轨超声波探测局部图
铁轨表面伤损与否在超声波图片里表现为不同的形状,与色彩无关,为减少图片里的冗余信息,将其转换成灰度图片作为改进算法的输入数据。其中,伤损图片组和非伤损图片组各200张,从两组中随机各选取320张图片用于算法的模型训练,样本剩余的80张伤损图与非伤损图用于测试已训练好的模型、分析识别性能。
由改进算法构建的网络模型训练学习中,得到的铁轨伤损与非伤损图片识别的训练误差曲线和误差变化率曲线(即error(i+1)-error(i))如图5所示。实验中,改进算法的网络训练迭代次数为4000次,图中只画出网络训练初期迭代前3000次的误差和误差变化曲线。
由图5可知,改进算法在铁轨表面样图识别的模型训练阶段,误差变化大约在第600次迭代时达到最大后慢慢减小。经历1000次迭代,网络误差就已小于0.05,网络误差的收敛速度效果好,且网络的误差变化较平滑。改进算法测试结果如表1所示。
表1中训练误差是指在训练过程中每次迭代计算得到的期望值与实际值的差值;测试精度是指测试分类效果时正确识别图片数量与总体数量的百分比。由表1可知改进算法在迭代4000次后训练误差达到0.0049,训练好的模型用于待测数据测试结果精度达到95%,可以达到较好的识别效果。铁轨伤损图片识别实验结果表明,改进卷积神经网络用于铁轨探伤图像的特征提取识别具有可行性,能应用于铁轨探伤检测作业。
用改进算法、BP算法与卷积神经网络算法在相同学习因子等参数下对320张图片进行模型训练。实验中,BP神经网络算法建模采用三层网络结构,第一层由数目为3600个神经元构成的输入层(像素大小60×60=3600);第二层由数目为96个神经元构成的隐含层;最后一层由数目为2个神经元构成的输出层(二分类问题,伤损与非伤损图片)。卷积网络在建模中设计三层卷积-池化结构,每个卷积层后连接一个池化层,三层卷积-池化层由相应的卷积层、池化层连接。三层卷积-池化层具有的卷积层的卷积核大小都为5×5,卷积计算步长为1,在每层卷积层后连接实现压缩简化特征作用的池化层的池化核大小都为2×2,池化作用计算的步长为1。其中关于卷积层、全连接层中神经元数具体数目选择,对于第一层卷积层的神经元数目为6,第二、三层卷积层的神经元数目为12,在卷积网络算法中设计的网络结构所包含全连接层神经元数目为192,网络的输出层神经元数目为2(二分类,伤损与非伤损图片)。改进算法、BP算法与卷积神经网络三种神经网络算法等同学习条件下的的网络训练误差曲线如图6所示。
图6 3种算法误差曲线比较图
在图6中包含了3种算法在进行4000次迭代计算后得到的网络训练误差曲线。分析3种神经网络算法误差曲线可知,在大概200次迭代前BP网络训练变化误差下降最快;在200~700次迭代中,卷积神经网络误差下降最快;大约在经历750次迭代后,改进算法的训练误差先达到最小。3种算法中CNN、BP训练误差曲线收敛效果不太理想,改进算法的误差曲线收敛效果较好,误差变化较平滑。采用改进算法、BP算法与卷积神经网络算法在相同学习因子等参数下对相同铁轨样本图片进行训练与测试,实验结果如表2所示。
由表2可知,改进算法在图片识别实验中测试精度最高,为95.00%,BP算法的测试精度最低,为76.25%,CNN算法居中,为93.75%;改进算法的训练时间最少,为22.46 s,CNN的训练时间最多,为1012.87 s,BP算法居中,为307.16 s。此外,BP神经网络的训练误差约为0.0499,而测试精度只有
76.25%,表明BP网络训练已过拟合。综合铁轨图片在3种算法下的识别实验数据分析,可得改进的卷积神经网络结合BP神经网络新算法在铁轨伤损图片识别中性能最好。
表2 三种算法实验数据结果
铁轨表面伤损的快速识别,在铁路安全运营中意义重大。本文设计的改进卷积神经网络识别伤损图像,不仅减少了传统模式识别中存在的预处理和特征处理工作量,而且提高了卷积神经网络对铁轨表面伤损图片的识别性能。并将该算法与BP算法、卷积算法进行性能比较,通过对训练时间、测试误差与测试精度3个方面的比较,得出改进算法在铁轨探伤识别性能上有较高的识别速率与识别精度。实验结果表明,基于改进卷积神经网络算法在铁轨伤损检测识别上具有很好的应用前景。