APP下载

基于语义分割的钢轨表面缺陷实时检测系统

2021-06-23李忠海白秋阳王富明刘海荣

计算机工程与应用 2021年12期
关键词:钢轨语义卷积

李忠海,白秋阳,王富明,刘海荣

沈阳航空航天大学 自动化学院,沈阳110135

列车运行和自然环境的长期影响,会使钢轨表面形成孔洞、擦伤和疤痕等各种缺陷[1],这些缺陷对铁路安全运行造成严重威胁,因此,钢轨表面缺陷检测成为保障铁路安全运营的一个重要手段。目前,轨道表面缺陷检测主要依靠人工实现,人工检测需要耗费大量的人力资源,检测效率较低,不具备实时性,而且检测准确性受主观因素影响较大,很大程度上依赖于技术人员的经验水平,这些因素导致人工检测已经无法满足现代铁路,尤其是中国高铁(CRH)日常检查的需求[2]。因此,迫切需要建立一个高效快速的自动检测系统,对运行线路中的钢轨表面进行实时检测。

随着计算机科学和数字图像处理技术的快速发展,利用图像检测钢轨表面缺陷,逐渐成为主要的研究方向,经过各大高校和铁路研究院所的不懈努力,已取得大量成果,主要包括:茅正冲等人提出了改进类间方差法对钢轨表面缺陷进行直接提取,但检测精度较差,无法满足工业需求[3];唐湘娜等人利用灰度投影法实现轨道表面区域的快速分割,但该算法的适应性较差[4],袁小翠等人利用改进Ostu算法对缺陷进行分割,但该算法的阈值选取需要根据具体场景进行调整,不具备通用性[5];贺振东等人利用均值背景差分算法提取表面缺陷,但受环境和噪声等因素影响较大,算法鲁棒性较差[6];李清勇等人建立了缺陷图像的稀疏模型,一定程度上解决了光照不均匀和遮挡等环境问题,但算法复杂度较大,不具备实时性[7]。

通过对国内外的研究现状进行分析,目前的研究成果主要存在以下问题:

(1)鲁棒性较差,对于光照不均匀、背景噪声较大的图像,检测精度无法满足要求。

(2)侧重于检测精度的研究,算法较为复杂,耗时较长,但根据工程应用的要求,需尽可能地降低算法的计算成本,提高系统的实时性和适应性。

(3)侧重于算法研究,虽然在仿真实验上取得了较好的效果,但忽略了许多现实因素,工程应用仍存在许多障碍,使得我国仍大规模采用人工检测的方法[8]。

针对以上问题,本文将基于深度学习的语义分割网络应用于钢轨表面缺陷检测上,提出了一种轻量型的语义分割模型,并结合图像采集、人机交互等模块,建立了一个完善的钢轨表面缺陷实时检测系统。系统不仅可以实现缺陷的快速识别与定位,还可以提供缺陷位置和类型等各种信息,以便维护人员能及时进行相关的分析和处理。利用本文的系统进行轨道表面检测,将极大地提高检测效率,降低检测成本,增强检测工作的自动化水平。

1 钢轨表面缺陷检测系统

本文设计的钢轨表面缺陷检测系统如图1所示,系统由系统控制模块、图像采集模块、目标区域定位模块、缺陷检测模块和人机交互模块五大部分组成。其中系统控制模块主要用于测速测距和控制相机的工作方式,为了达到精确控制的目的,本文不再使用传统的光电编码器,而是利用列车上的现有资源“黑匣子”,即机车运行监控装置(LKJ)进行精确测控;图像采集模块主要用于采集钢轨表面图像,为了减少外部复杂光照的影响,在该模块中增加了遮光罩和LED辅助光源,为图像采集提供稳定的光照环境;目标区域定位模块主要用于在采集到的图像中快速定位目标区域(即钢轨表面区域),从而减少后续缺陷检测的计算量,节省检测时间;缺陷检测模块主要用于对轨道表面缺陷进行快速识别和分析,为了满足系统实时性的要求,采用计算复杂度较低的轻量型语义分割模型进行缺陷定位分割,采用紧凑型卷积神经网络模型进行缺陷分类;人机交互模块主要用于实时显示和记录检测结果,并给出有效的报警信息,该模块设计了友好的操作界面,使用简易方便,以便维护人员能快速对缺陷进行分析和处理。下面对这五个模块分别进行详细介绍。

1.1 图像采集模块

工业上通常采用面阵相机和线阵相机两种相机来采集二维图像,这两种相机各有优缺点,需要根据应用场景和系统要求进行选择。线阵相机的传感器利用单线感光元素进行扫描,能够实现高扫描频率和高分辨率,因此具有动态范围大,图像失真小,采集速度快等优点,被广泛应用于工业测量场合[9]。针对系统对高速采集和高分辨率的要求,本文选用CCD线阵相机和工业级镜头进行图像采集。

在图像采集模块中,采集光源会直接影响采集图像的质量,从而对后续的缺陷检测产生影响,为了避免光照不均匀等现象的出现,本文在该模块中加入遮光罩和LED辅助光源,通过精确调整遮光罩和辅助光源的位置和亮度,保证采集模块处于稳定的光照环境中。

确定好图像采集设备后,需要对其进行合理布局,从而保证采集到的图像完全覆盖钢轨表面,本文的采集模块布局结构图如图2所示。该模块安装在列车车厢底部,列车运行时,LED辅助光源以一定角度照射钢轨表面,并结合遮光罩使采集模块处于稳定的光照环境中,在嵌入式系统的控制下,通过CCD线阵相机连续采集现场轨道图像,并将图像通过通信接口进行传输保存,以供系统后续检测分析使用。

图1 检测系统原理图

图2 图像采集布局结构

1.2 系统控制模块

列车在运行过程中无法全程保持匀速行驶,因此相机和钢轨之间的相对运动速度是随时变化的,由于CCD相机的线性扫描方式,会导致图像采集过程中出现图像失真现象。当相机采集速率和列车行驶速率保持一致,获取的缺陷图像没有发生变形,如图3(a)所示,对其的后续检测结果最接近缺陷的真实尺寸;当相机采集速率大于列车行驶速率,缺陷将被拉长,如图3(b)所示,对其的后续检测结果将大于缺陷真实值;当相机采集速率小于列车行驶速率,缺陷将被压缩,如图3(c)所示,对其的后续检测结果将小于缺陷真实值。

图3 线阵CCD扫描图像

为了避免上述现象的出现,本文引入了系统控制模块,该模块根据列车运行速度产生相应的触发脉冲,通过触发脉冲调整图像采集速率,实现CCD相机扫描的同步控制。

传统的同步控制方式主要是通过光电编码器来实现的,其基本原理如下:假设列车的车轮周长为C,在单位时间t内转动了N圈,列车的行驶距离为S=N×C。在车轮的轴承上安装光电编码器,车轮每转动一周,光电编码器就会均匀地发出m个脉冲信号,若在单位时间t内光电编码器发出的脉冲个数为K,则列车行驶距离为S=C×K/m,列车的瞬时行驶速度为v=Δs/Δt。这样便可以通过光电编码器获得列车的行驶速度和瞬时速度,从而进一步获得缺陷的位置信息。同时光电编码器触发信号传输到线阵CCD相机的外部触发输入端,直接控制相机的线性扫描频率,从而实现相机的同步扫描[10]。

利用光电编码器进行测速测距和同步控制,存在较多问题,主要包括:精度较低、受复杂因素影响较大,需要进行误差补偿和可靠性验证。为了解决以上问题,本文不再使用光电编码器,而是利用列车上的现有资源,即机车运行监控装置(LKJ)。LKJ采用先进的传感技术和智能微机技术,能够实时采集记录列车的运行速度、位置、里程和时间等信息,利用LKJ对线性CCD相机进行外部触发以及获取图像的位置信息,将极大提高系统的准确性和精度,同时充分利用了列车现有资源,使系统更加具有经济性和可操作性。

1.3 目标区域定位模块

在实际的缺陷检测中,需要对钢轨缺陷进行实时检测,系统对检测时间有严格要求,因此,需要从采集图像中快速定位钢轨表面区域,从而节省后续处理时间,本文利用钢轨表面区域的色调特性,提出了一种钢轨表面区域快速定位分割算法。

色调、饱和度和亮度(HSL)是工业中常用的一种颜色标准,该标准包括了人类视觉所能感知的所有颜色。其中色调(Hue,H)作为颜色的第一特征,可以用来准确区分不同颜色,且H值受光照条件影响变化较小,即在一定光照条件下,可以认为该特征值不受外部光照的影响[11]。H的计算表达式如式(1)所示:

采集图像通常由钢轨表面、道砟、轨枕和扣件四大区域组成,不同区域的H值分布存在较大差异。为了进一步分析不同区域的H值分布特性,本文选取4组不同光照强度的环境进行图像采集,4组光照强度分别为500~1 000 lx,1 000~5 000 lx,5 000~10 000 lx,10 000~100 000 lx,每组平分10个点,共计40个采样点进行采集,每个采样点采集100张图像,总共采集4 000张图像,这些图像涵盖了实际采集过程中所存在的大部分光照强度,对以上图像中不同区域的H值进行统计,得到不同区域的H值分布曲线,如图4所示。由图可知,钢轨表面区域H值整体偏大,且具有较小突变;道砟区域H值具有多个较大突变;扣件区域H值曲线波动变化,且具有单个较大突变;轨枕区域H值整体偏小,且较为平滑。

图4 不同区域H值曲线

根据不同区域H值的变化特性,本文提出了一种钢轨表面区域快速定位分割算法。算法步骤如下:

(1)建立图像坐标系。以采集图像左下角为坐标原点O;图像的两侧分别为x轴和y轴,建立图像坐标系O xy,具体示意图如图5所示。假设图像大小为u×v,(x,y)为图像中的一个像素点,对应的H值为h(x,y),且x和y的取值范围为:

图5 图像坐标系示意图

(2)检索突变点。如果对整幅图像每列像素点的H值都进行计算,从而检索突变点,会导致计算量增大,无法快速确定钢轨表面区域边界。因此,将采集到的图像沿x轴正方向进行垂直n等分,在等分线上沿着y轴正方向检索H值突变点。其中,直线P表示等分线,(xp,y)表示等分线P上的像素点,h(xp,y)表示对应的H值,t表示是否存在H值突变,t的计算表达式为:

t=1时,表明该等分线上存在突变点,将突变点保存记录下来;t=0时,表明该等分线上不存在突变点,需要在该等分线周围区域重新检索。设定单位步长为:

其中,u c为图像水平像素点总数,当t=0时,对该等分线左右两侧5d范围内与等分线平行的10条直线依次进行突变点检索。若在设定范围内的直线上找到突变点,则停止检索其他直线,用该直线将等分线进行替换;若设定范围内的直线上未找到突变点,为了避免陷入循环检索,将该等分线删除,不参与后续计算。

(3)确定边界点。假设等分线上两个相邻的H值突变点为(xp,y q)和(x p,y q+1),则按式(6)进行判断。

其中,w r为采集图像中钢轨表面区域宽度的像素总数,如果满足式(6),(xp,y q)则将作为钢轨表面区域的下边界点,(x p,y q+1)将作为钢轨表面区域的上边界点。

(4)拟合边界。对确定的个边界点进行线性拟合,得到钢轨表面区域的上下边界,从而快速定位到采集图像中钢轨表面区域。定位结果如图6所示。

图6 边界拟合结果图

(5)图像分割。利用定位到的钢轨表面区域对原始图像进行分割,分割结果如图7所示。

图7 钢轨表面区域分割结果

图8 钢轨表面缺陷检测模块结构图

1.4 缺陷检测模块

缺陷检测模块由缺陷识别和缺陷分类两部分组成,模块设计结构图如图8所示。其中,在缺陷识别部分,首先利用语义分割网络将钢轨表面图像转化为像素级预测掩模;然后对预测结果进行二值化操作,得到缺陷轮廓;利用检测器对缺陷区域进行裁剪,将裁剪结果作为分类部分的输入。在缺陷分类部分,利用一种紧凑型CNN网络进行分类。整个检测模块在保证检测准确率的基础上,尽可能降低算法复杂度,减少计算量,从而实现钢轨表面缺陷的实时检测。具体缺陷检测网络模型在第2章进行详细介绍。

1.5 人机交互模块

为了方便操作人员使用,本模块设计了友好的操作界面。本文采用MATLAB GUI完成软件界面的设计开发工作,钢轨表面缺陷检测系统界面如图9所示。

图9 缺陷检测软件界面图

系统实时摄像机采集到的图像,以图像的形式显示采集图像及处理结果,以文本形式显示当前图像中包含的缺陷类型,并进行报警提示;以曲线形式记录检测结果,并将检测结果以文本数据格式进行保存。其中数据曲线的水平坐标为测量时间,检测结果随测量时间动态变化;保存的文本数据中包括测量时间、缺陷位置及缺陷类型等内容。本模块能够实时显示检测结果,并将其记录保存,操作界面简洁,使用方便,可以有效地协助铁路维护人员完成检修保养工作。

2 缺陷检测网络模型

2.1 基于CASAE结构的语义分割网络

钢轨表面缺陷区域和背景区域具有不同的纹理特征,缺陷区域通常是均匀纹理的局部异常部分,利用数据驱动的方式,通过神经网络学习表面缺陷的共同特征,将缺陷检测问题转化为语义分割问题,利用语义分割网络将输入图像转化成像素级的预测掩码,从而实现缺陷的定位与分割。

本文的语义分割网络由两个级联自编码网络构成,两个自编码网络具有相同的网络结构。其中前一个自编码网络的输出预测掩码作为后一个自编码网络的输入,后者通过对像素标签的进一步微调,从而提高语义分割的预测结果。自编码网络的结构如图10所示。网络由编码器和解码器两部分组成。其中,编码器部分包括10个卷积层,每个卷积层的卷积核采用7×7的空洞卷积核[12],激活函数采用ReLu函数。每两层卷积层后设置一个池化层,池化层的stride设置为2,采用2×2的最大池化操作。在经过池化层后,将特征图的厚度增加一倍,从而减少语义信息的丢失。解码器是编码器的逆操作,结构与其相似,但每经过两层卷积层后,需要进行2×2的上采样操作,将上采样操作得到的结果与编码器部分的对应特征映射,通过concatenatee操作进行连接,从而获得最终的特征映射。最后一层利用softmax函数将输出转换成概率图的形式,并将其调整为与输入图像大小相同。

本文在进行卷积操作时,采用7×7的空洞卷积核,空洞卷积核与传统卷积核对比如图11所示,由图可知,空洞卷积核在保证计算量大致不变的基础上,扩大了感受野,同时可以捕获图像多尺度上下文信息,从而更加有效地提取图像缺陷特征。

图10 自编码网络结构图

图11 不同卷积核对比

通常来说,钢轨表面图像中背景区域远远大于缺陷区域,因此为了使训练后的网络模型更加适应缺陷检测的要求,本文设计了一种加权交叉熵损失函数L seg,具体计算方法如式(7)、(8)所示。

其中,w1表示缺陷权重,本文将其设置为0.2,w2表示背景权重,本文将其设置为0.8,K表示类别数量(背景和缺陷),M表示训练样本的数量,N表示每幅样本图像的像素总数,表示第i幅图像中的第j个像素点,表示其对应标签,表示像素点为标签k的概率值。

2.2 图像二值化

通过对语义分割网络得到的概率图进行像素级阈值操作,可以进一步细化预测掩码结果,提高语义分割的效果,二值化操作方法如式(9)所示:

其中,I pm表示经过语义分割网络后得到的概率图,I f表示最终的预测掩码图像,G s表示细化阈值,可以根据实际情况进行调整,本文通过实验验证,将其设定为100,0表示缺陷区域像素值,1表示无缺陷区域像素值。为了突出显示检测后的缺陷,用红色在原始图像上标记缺陷区域像素点。最终的检测结果如图12所示。

图12 最终检测结果

2.3 缺陷MER区域提取

根据上文得到的语义分割结果,提取缺陷的最小矩形包围区域(MER),MER具有随机方向,需要通过仿射变换,将其转换为正向MER,正向MER能够准确地反映缺陷包络区域,将其从原图像中裁剪出来作为CNN网络的输入,可以更好地训练网络模型,准确地对缺陷进行分类。MER提取结果如图13所示。

图13 MER提取结果

2.4 紧凑CNN网络模型

本文提出的紧凑CNN模型包括5层卷积层和3层最大池化层、卷积层的激活函数采用PReLU激活函数,同时在前两层卷积层后添加一个批量规范化层,通过零均值和零单位方差对每个通道中的数据进行规范化,加快网络模型训练过程,模型最终通过全连接层,利用softmax函数实现缺陷分类任务,网络模型整体结构如图14所示,模型具体参数设置如表1所示。

图14 紧凑CNN模型结构

表1 紧凑型CNN的模型具体参数(输入227×227)

本文提出的紧凑CNN模型在进行模型训练时,不使用经典的分类网络作为预训练模型,而是基于提取到的缺陷MER区域数据重新开始训练,这样可以极大地减少模型训练时间,同时本文提出的紧凑CNN模型结构紧凑,网络规模较小,从而大大缩短了分类时间。与经典的分类网络如Google-Net和ResNet相比,在保证分类准确率的同时,极大地减少了模型训练时间和分类时间,更加适用于钢轨表面缺陷的实时检测。

3 实验结果及分析

3.1 实验配置

实验配置对最终的实验结果有重要的影响,本节将详细地描述实验需要的数据集、重要的参数设置以及实验平台,下面将对以上内容进行具体阐述:

(1)数据集。在深度学习中,数据集的选择是一个关键环节,将直接影响到模型训练的效果。为了解决钢轨表面缺陷的分割问题,本文建立了一个较为庞大的具有语义分割标注的钢轨表面缺陷数据集。首先利用图像采集模块对不同场景下的钢轨进行采集,然后利用目标区域定位模块提取钢轨表面区域图像,最后结合专家经验,通过人工的方式对图像中的钢轨缺陷进行逐一筛选、分类,并利用Photoshop软件进行标注。

本文选取600幅钢轨表面缺陷图像作为原始缺陷图像,这些图像覆盖了不同光照、不同类型的钢轨。由于摄像头采集到的图像为4 096×4 096高分辨率图像,无法直接作为神经网络的输入,因此需要对原始的图像进行裁剪,裁剪后的图像大小为512×512,经过裁剪,存在一些不包含缺陷的图像,需要进一步进行过滤,经过裁剪和过滤后,数据集的总量为15 000。采用专业的图像处理软件Photoshop对上述图像进行标注,利用不同颜色绘图笔刷对不同类型缺陷进行覆盖,同时为了获得缺陷的全局信息,画笔的宽度需比缺陷宽度多5~8个像素。

为了更好地训练网络模型,增加数据集的代表性,本文将RSSD数据集按照上述步骤进行筛选标注,作为增广数据集添加到本文的表面缺陷数据集中。最终得到的数据集中包含16 000幅图像,尺寸为512×512,将其中12 000幅图像作为训练数据集进行网络模型训练,将剩余的4 000幅图像作为测试数据集进行网络模型测试。

(2)实验平台。本文采用的实验平台配置如下:GPU采用Intel Corei7-7700HQ四核处理器,主频2.80 GHz;内存为32 GB;GPU采用NVIDIA GTX-2080 Ti;操作系统为Ubuntu 16.04;开发环境采用CUDA10.0,网络框架采用Pytorch1.0。

(3)参数设置。对于语义分割网络,对第一个自编码网络进行30个epoch的训练,学习率设置为0.000 1,第二个自编码网络以同样的学习率进行20个epoch的训练,两个自编码网络的批处理大小(batchsize)都设置为2。对于紧凑CNN网络,使用均值为0,标准差为0.001的高斯分布函数对每层权值进行初始化,batchsize设置为8,初始学习率设置为0.000 1,动量设置为0.9,权重衰减设置为5×10-5,最大迭代次数设置为30 000。

3.2 缺陷分割实验对比

为了评估本文提出的语义分割网络在钢轨缺陷分割方面的性能,选用了阈值分割算法[13]和全卷积神经网络FCN[14]进行对比实验,实验结果如图15所示。由图15可知,Ostu阈值分割算法容易过度检测,导致大量的背景噪声被当作缺陷进行分割;FCN网络对于明显的规则缺陷检测效果较好,但对于擦伤、疤痕等不规则缺陷,容易出现漏检或检测不全等现象,不能分割出完整的缺陷区域。而本文提出的语义分割网络模型对于不同场景下的钢轨表面缺陷图像,均具有较好的分割效果,具有较强的鲁棒性。

图15 不同方法缺陷分割实验结果

为了更加客观、科学评价这三种算法的缺陷分割效果,选择像素精度(PA)和交并比(IoU)两项指标对三种算法的分割结果进行定量分析,PA定义如式(10)所示:

其中,k为类型总数,pij为类型标签为i的像素预测类型为j,当i=j时,表示预测结果正确的像素点,当i≠j表示预测结果错误的像素点。

IoU定义如式(11)所示:

G T表示真实掩码,P M表示预测掩码。对比结果如表2所示。由表2可知,本文的语义分割网络模型的PA和IoU值均高于阈值分割和FCN网络,表明本文算法的缺陷分割性能更加优越,更符合工业检测的需求。

表2 不同方法下的PA值和IoU值 %

3.3 缺陷分类实验对比

为了定量评估紧凑CNN网络模型的分类性能,本文将其与经典的分类网络模型GoogleNet[15]和ResNet[16]进行比较,实验结果如表3所示。

表3 不同方法下的正确率和检测时间

由表3可知,本文提出的紧凑CNN模型分类正确率略高于GoogleNet模型,略低于ResNet模型,三种网络模型的分类正确率基本相同,都达到90%以上,满足工业缺陷分类的要求,但本文的模型分类时间远远小于其余两种模型,由此可得,紧凑CNN模型在保证分类准确率的同时,极大地减少了模型训练时间和分类时间,更加适用于钢轨表面缺陷的实时检测。

3.4 系统实验

由于现有的铁路中不存在同时包含疤痕、孔洞和擦伤缺陷的连续路段,因此分别选择不同的线路,利用本文的系统以不同速度通过缺陷区域,并对检测结果进行统计。其中疤痕、孔洞和擦伤缺陷均存在20处,统计结果如表4所示。

表4 钢轨表面缺陷检测结果

实验结果表明,本文设计的系统在速度不超过200 km/h时,检测到了全部60处缺陷,检测效果良好,在缺陷分类时,仅有一处擦伤缺陷误分为疤痕缺陷,其余缺陷全部分类正确,检测效果极为理想。但在超过200 km/h时,由于采集图像的质量严重下降,导致出现大量误检和漏检现象。我国列车的常速行驶速度一般在100~160 km/h,因此本文的系统满足我国的实际需求,可以安装在大部分列车上进行钢轨表面缺陷检测,而且单幅图像的平均处理时间达到245.61 ms,实现了对钢轨表面缺陷的实时检测。

4 结束语

本文构建了一个基于语义分割的的钢轨表面缺陷实时检测系统,设计了一种带有LED辅助光源和遮光罩的图像采集装置,训练了一种基于CASAE结构的轻量型语义分割网络模型和一种紧凑CNN网络模型对缺陷实时进行识别分类。将本文的系统进行现场实验,验证了系统对于钢轨表面缺陷检测的有效性,其检测时间和检测准确率均满足工业检测的需求,同时,系统设计了智能化的人机交互界面,极大地满足了铁路维护人员的检测需求,可以在一定程度上替代人工对钢轨表面进行检测。

由于时间和实验条件的制约,本文构建的系统只是轨道表面缺陷检测自动化的初步实现,仍存在一些问题需要进一步进行研究,例如数据集的图像数量较少,模型的学习能力还存在一定局限性,数据集的规模还有待进一步提高;同时对于有遮挡的钢轨表面无法进行有效检测,这些都是下一步需要特别关注的研究方向。

猜你喜欢

钢轨语义卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
语言与语义
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
钢轨焊后双中频感应加热工艺研究
“上”与“下”语义的不对称性及其认知阐释
高速铁路钢轨疲劳过程的超声非线性系数表征
国内外高速铁路钢轨性能对比研究
认知范畴模糊与语义模糊
减缓高速铁路钢轨波磨的仿真分析