周 雯,史天运,李 平,马小宁,杨 凯
(1.中国铁道科学研究院,北京 100081; 2.中国铁道科学研究院 电子计算技术研究所,北京 100081)
我国铁路运输高速发展,旅客周转量、运输密度、运输里程等均居世界第一。历经多次大提速后运行速度显著提高,周转时间缩短,列检保证区段延长,动车组运行的安全性受到越来越多的关注。动车组结构复杂,由大量的零部件构成,即使是细小的零部件损坏,也可能造成灾难性事故,及时发现缺陷并修复关键零部件,如齿轮箱、转向架及异物悬挂,可以提升动车组的运输效率和安全保障。过去几年中,可用于多种自动操作、计算机视觉和数字图像处理的应用逐渐得到普及[1]。动车组运行故障动态图像检测系统TEDS是一种实时图像采集识别系统,是计算机和图像处理技术应用于铁路工程的典型案例。图1为该系统的组成和工作原理。TEDS图像采集模块由4个侧部相机和5个底部相机组成,能够对动车组底部及侧部可视部件进行线阵图像采集,采集范围主要包括:底部可视部件(车体底部及转向架制动装置、传动装置、牵引装置、轮轴、车钩装置、电务车载设备车底部件)、侧部可视部件(侧部裙板、转向架及轴箱、车端连接部等可视部位)。在数据处理中心简单操作后,图像被传送到监视室以供室内检查员查看分析。由于检测精度低,缺陷检测在TEDS中尚未完全实现自动,需要室内检查员进行二次识别,效率低且质量不可控。因此,进行自动的TEDS缺陷检测研究具有重要的意义。
图1 动车组运行故障动态图像检测系统概览
动车组车底、转向架等关键部件结构复杂,运行过程中,易受运行环境的影响而悬挂异物,如树枝、纸片、塑料袋、瓶子等,若不及时发现并清理异物,将会影响动车组关键部件的正常工作,导致动车组的运行安全受到威胁。此外,齿轮箱、抗蛇行减震器等关键部件的漏油,车底防松铁丝的断裂也会影响动车组的安全性,见图2。本文以TEDS缺陷自动检测及分割为主要研究任务,该任务有3个主要特点,一是悬挂异物的尺度多样化,例如,输入图像为512×512像素,最小异物的尺度为25×25像素,占整幅图像的0.24%,最大异物的尺度为461×431像素,占整幅图像的76%,而多尺度目标检测为视觉任务中的一个挑战;二是缺陷数量远小于背景数量,例如,动车组转向架制动、牵引装置等复杂的零部件结构作为背景,其零部件多达30种以上,而每幅图像缺陷类别可能仅有1个,见图2(a);三是漏油缺陷尺寸多样且与背景结构差异小,导致边界不清晰,见图2(c)。针对TEDS缺陷检测任务的特点与难点,提出基于卷积神经网络的TEDS缺陷检测模型。该模型通过特征金字塔网络提取多尺度融合特征,利用区域提议网络生成候选的未知缺陷类别区域ROI(Region of Interest),通过预测网络合成ROI和多尺度融合特征图的映射信息并对ROI进行识别和位置回归,并通过分割网络生成预测区域的掩码。两个优化方法OHEM和DCN针对正负样本不平衡和缺陷尺寸多变的情况,提升缺陷检测模型的性能,特别是小尺寸缺陷的检测精度。
图2 复杂背景下的TEDS缺陷
近年来,一些学者开始探索铁路业务领域的目标自动检测系统,如货车故障动态图像检测系统TFDS,该研究过程可分为3个阶段。
第一个阶段是基于图像处理算法的应用,该阶段中目标检测的方法仅依靠图像处理,例如图像分割和特征匹配,这些方法需要大量的先验知识。文献[2]提出一种基于霍夫变换和模板匹配的铁路货车承载故障检测系统;文献[3]采用局部归一化的图像处理算法,实现基于投影轮廓的铁轨缺陷检测。然而,这些方法的主要缺点是检测精度较低,特别是在图像背景复杂的情况下。
第二个阶段是基于机器学习算法的应用,旨在提高目标检测的效率和精度。文献[4]采用基于支持向量机的分类器检测货车的闸瓦插销是否丢失;文献[5]研究了货车转向架自动视觉检测系统,利用梯度编码共生矩阵特征和支持向量机识别零部件缺失的故障;文献[6]使用线性SVM模型检查货车紧固螺栓,该模型使用定向梯度直方图HOG特征训练,超越了95%的识别率;文献[7]采用基于灰度投影的方法确定螺栓区域,然后用基于定向梯度的稀疏直方图和支持向量机的检测器确定是否为螺栓区域。上述方法都是基于手工设计特征或图像的统计特征,虽然优于基于图像处理的方法,但是不同的目标需要设计不同的特征和大量的专家知识,算法的稳健性较低。
第三个阶段是基于深度卷积神经网络算法的应用,与前两个阶段的技术相比,深度卷积神经网络可以获得更丰富、更抽象的通用特征,并在定位精度、识别准确率和速度方面取得更好的结果。文献[8]提出了基于卷积神经网络的TFDS(Trouble of Moving Freight Car Detection System)故障自动识别,相比较传统方法识别精度得到提升。然而,用于区域定位和故障分类的两个模型增加了系统的复杂性,并且未考虑小目标的检测,且采用选择性搜索生成候选区域十分耗时。
文献[9]针对CRH3型动车组牵引逆变器绝缘栅双极型晶体开路问题,利用键合图对非线性的牵引逆变器进行建模,利用最小二乘法对系统当前行为进行辨识,通过比较系统的实际行为以及预期行为,产生故障识别向量,从而对开路IGBT进行识别和定位。文献[10]提出一种基于机器视觉的列车外齿轮磨损状态定量检测方法,结合分块分割、区域聚合及边缘修正,实现齿面图像啮合区分割。TEDS在TFDS等5T系统在全路的成功推广下应用而生,将货车运行状态的监测扩展至动车组领域,上述研究为TEDS和基于卷积神经网络目标检测方法的结合提供了基础。然而,动车组的结构相对而言更为复杂,零部件种类多样,因此,基于卷积神经网络的TEDS缺陷自动检测的研究非常必要。
近年来,深度卷积神经网络CNN已经成为直接从图像数据中自动学习复杂、精细、抽象的通用特征表达的有力方法,并且推动目标检测领域取得了重大突破。目标检测旨在图像中识别预定义类别的实例,并返回其空间位置,而实例分割是在目标检测的基础上返回实例的像素范围并区分相同类别的不同实例,因此,目标检测边框可能包含对分析有用的背景区域,而实例分割只包含目标区域。
基于CNN的目标检测算法大致可以分为一阶段方法和两阶段方法。一阶段方法是直接从整幅图像中识别预定义类别实例和回归其位置,如YOLO、SSD[11-12],该方法速度快,可实现实时检测。然而,它的检测精度低,特别是对小目标物体的检测。两阶段方法首先从图像中生成与类别无关的候选区域,然后利用RCNN确定区域的位置和类别。Faster RCNN[13]提出基于CNN的候选区域提议网络RPN,首次利用单一的网络完成候选区域生成和区域分类,该算法同时具备精度高、速度快的优点。Mask RCNN[14]通过添加候选区域二进制掩码输出的分支扩展Faster RCNN实现实例分割,该算法精度高,结构简单灵活。就多尺度检测而言,FPN[15]利用特征金字塔不同尺度的特征图实现多尺度目标检测。另外,基准数据集(PASCAL VOC,MS COCO等)的最新领先结果都是基于Faster RCNN的,如ORN、MegDet[16-17]。
本文提出的模型采用两阶段的方法,实现TEDS缺陷的自动检测,同时克服了复杂背景下正负样本不平衡和缺陷形态尺寸变化多样的困难,提高了检测精度。
基于卷积神经网络的TEDS缺陷自动检测与分割模型的网络结构如图3所示,该模型由4个连接的子网络组成:特征金字塔网络、区域提议网络、预测网络和分割网络。为了解决复杂背景下正负样本的不平衡问题,增加了只读的在线困难样本挖掘网络,筛选困难样本,同时,加入可变形卷积以提高多形态缺陷的定位和分割精度。
图3 缺陷检测与分割模型网络结构
特征金字塔网络用来生成多尺度的具有丰富语义信息融合的特征图,该子网络包括自底向上的下采样过程,自顶向下的上采样过程,低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征自上而下的融合,见图3中蓝色部分。其中,自底向上的部分是ResNet-101基础网络的前向过程。任意尺寸的TEDS图像输入网络后,重新定义为512×512像素,以步长为2的下采样计算多尺度特征图,每个阶段最后一个残差结构的输出为特征图,表示为{C2,C3,C4,C5};自顶向下的上采样过程采用步长为2的最近邻插值方法,使得上采样后的特征图具有和下一层特征图相同的大小;侧边横向连接将上采样的结果和自底向上生成的特征图进行融合,即将特征图{C2,C3,C4,C5}进行1×1的卷积操作,产生和后一层维度相同的特征图,然后融合不同层的特征图,得到一个新的具有更丰富信息融合的特征图。在特征融合之后,采用3×3的卷积层对每个融合结果进行卷积,目的是消除上采样的混叠效应,最后得到的特征图表示为{P2,P3,P4,P5} ,尺寸分别为128×128、64×64、32×32、16×16。
区域提议网络用于在密集的锚框中初步选择正样本生成ROIs,见图3中绿色部分。将特征图{P2,P3,P4,P5,P6}作为输入,P6是由P5经过步长为2的下采样得到的大小为8×8像素的特征图;在特征图中每个像素点位置利用3×3的卷积层和k个锚框生成k个ROI,每个ROI都具有初步位置回归信息和正负样本标记(缺陷或背景);利用非极大值抑制消除重复的ROI。这是粗略检测的过程,为预测网络提供先验信息,进一步生成缺陷分类和更准确的位置,并且减少了预测网络的搜索空间。
预测网络用于将区域提议网络选择的ROIs进行正确分类和位置回归,见图3中紫色部分。首先,RoI Align层合成ROIs和特征图的映射信息,来提取7×7的ROIs特征图,对于任一个大小为w×h的ROI和特征图{P2,P3,P4,P5,P6}的映射规则为
k=k0+log2(wh224)
(1)
其中:k0=4。假设原图中有一个大小为335×335的ROI,映射到层后特征图的大小为10.47×10.47(335/32=10.47,其中32为下采样步长),特征图输入Pooling层后固定为7×7大小,即将10.47×10.47的ROI划分为49个同等大小的小区域,每个区域大小为1.49×1.49(10.47/7=1.49),再采用双线性插值法计算每个小区域的像素值,组成7×7大小的特征图; 然后通过两个1 024的全连接层执行分类和回归以获得准确的边界框。
分割网络用于缺陷的实例分割,见图3中粉色部分。同预测网络一样,利用RoI Align层提取7×7的ROIs特征图,通过4个3×3的卷积层,1个2×2的反卷积层和1个1×1的卷积层生成缺陷实例的掩码。
整个模型采用了多任务损失函数,包含分类损失值、位置回归损失值和掩码损失值,多任务损失函数为
(2)
式中:i为锚框的索引;li为标注的类标签;gi为标注的位置信息;pi和ci分别为锚框i在区域提议网络中为前景的概率和位置初步偏移值,ti和di分别为在预测网络中锚框i的类别概率和位置信息;mij为分割网络中锚框i掩码的第j个像素点的二进制掩码;Nc、Nd和Nm分别为区域提议网络、预测网络和分割网络的正样本锚框数量;M为锚框i掩码的像素点数量;Lc为区域提议网络中两个类别(前景或背景)的交叉熵损失;Ld为预测网络中多个类别置信值的softmax损失;Lr为位置回归的smoothL1损失;Lm为分割网络中掩码像素点的二值交叉熵损失;I(·)为指示函数,li≥1表示锚框i是正样本,li=k表示锚框i为类别k。
TEDS缺陷检测任务中缺陷的数量远小于背景的数量,导致模型训练过程中出现大量的假阳性结果,为了防止损失函数受到大量假阳性样本的支配,常规方法是设置预测网络的一些关键参数,如缺陷ROI区域和标注区域的IoU阈值(≥0.5)、背景ROI区域和标注区域的IoU阈值间隔([0.1,0.5))、及缺陷ROI和背景ROI的比例(1∶3),其中25%的缺陷ROIs是随机选取的,而不考虑简单或困难样本。困难样本是指在训练过程中出现的损失值较高的ROIs。
由OHEM理论可知[18],OHEM是将筛选出来的困难样本重新输入预测网络进行训练,以平衡正负样本比例,提升模型的识别准确率。OHEM增加一个只读的候选区域生成网络,只进行前向传播,根据损失值对ROIs进行降序排序,图3中红色部分为OHEM的处理过程。该网络和预测网络共享特征参数,将区域提议网络产生的ROIs作为输入,并将前128个损失值较大的ROIs样本作为困难样本输出,用于网络训练和参数更新。 OHEM有助于减少参数设置的大量实验,并降低训练过程中的损失函数。
TEDS图像缺陷的尺寸和形态多样,通常情况下,CNN利用数据增强的方式增加样本的复杂性来适应这种多样化,如图像的翻转、裁剪、仿射变换等。然而,这种方式很难学习到缺陷几何变形的内在机制。为了解决该问题,在预测网络和分割网络的ROI Align层中引入可变形卷积DCN[19]。可变形卷积核的每一个元素有一个偏移值,感受的范围随着物体形状不同而发生变化,而常规卷积核的感受野固定不变。常规卷积核和可变形卷积核分别为
(3)
(4)
式中:w为卷积核的值;Δk和Δl为k和l的偏移值。
核参数(k,l)和偏移值(Δk,Δl)在网络训练过程中通过两个3×3卷积层[19]分别学习得到。可变形卷积可以随着缺陷形态的变化改变采样点的位置,增强缺陷的定位和分割能力,另外,还可以改变感受野的范围,这点对不同尺度的缺陷至关重要,特别是小尺度缺陷。如图4中红色的曲线表示经过可变形卷积后的定位和分割结果,相比绿色曲线(常规卷积后的结果),红色曲线可以更好地定位和分割不同尺度和形态的缺陷。
图4 可变形卷积和常规卷积定位和分割结果对比
本节首先描述如何将TEDS图像转换为试验数据集;然后提供了验证缺陷检测方法有效性的指标;最后对试验结果进行分析。为了定量评估OHEM和DCN对模型性能的影响,进行剥离实验,将未增加OHEM和DCN的模型称为基础模型BM(Base Model)。
从TEDS图像采集模块中的9个高速线阵扫描相机中采集6 518张缺陷图片,其中80%作为train数据集,10%作为val数据集,10%作为test数据集。用VIA(VGG Image Annotator)标注工具对train数据集进行缺陷的多边形标注来生成缺陷的掩码,将整个数据集标记为3个类别:异物、漏油、防松铁丝断裂。为进一步验证模型的泛化性能,将2 559张尺寸形态各异的异物悬挂图片标记为5个类别:塑料袋、纸片、树枝、瓶子、羽毛,分析模型对不同尺寸缺陷的检测性能。在训练过程中,选择能覆盖所有掩码像素的最小长方形作为缺陷的检测边框。缺陷标记示例见图5。
图5 原图和缺陷掩码图
由TP、FP、TN、FN可以计算得到缺陷检测算法评估指标:召回率、准确率和F-score,其计算公式为
(5)
(6)
(7)
平均准确率AP由召回率和准确率组成的曲线面积表示,评估算法对每个类别的有效性;mAP评估算法在所有类别上的性能为
(8)
试验过程中,使用MS COCO预训练权重初始化特征提取网络ResNet-101,考虑到缺陷的不同尺寸,锚框的比率设置为0.33、0.5、1、2,锚框的大小设置为8×8、16×16、32×32、64×64、128×128、256×256。初始学习率为0.001,随机梯度下降的动量为0.9,权重衰减为0.000 5,所有试验中整个训练过程最大迭代120次,批尺寸batch_size设置为128,区域提议网络中ROIs的数量设定为300。
3.3.1 缺陷检测模型性能评估
为了综合评估缺陷检测模型的性能,将BM+OHEM+DCN与传统滑动窗口HOG[20]+SVM[21]方法及BM进行对比。SVM是二值分类器,针对异物、漏油和防松铁丝断裂3种缺陷分别训练了两个线性SVM分类器。在训练阶段从标注的数据集中截取每类缺陷的512×512的正样本,并随机从非目标区域截取512×512的负样本,然后从正负样本中提取HOG特征用于训练SVM分类器。在检测阶段使用大小为224×224的滑动窗口进行检测。三种模型缺陷检测性能实验结果如表1所示。实验结果表明,本文所提检测模型的准确率高于传统方法HOG+SVM,这是因为基于卷积神经网络的深度学习方法可以从训练数据中提取比HOG更加复杂、精细、抽象的通用特征;同时,BM+OHEM+DCN的准确率高于BM,这是因为通过OHEM和DCN克服了TEDS缺陷检测中的难点。对于召回率而言,基于卷积神经网络的深度学习方法要远远优于传统的方法,而召回率过低表明漏检率高。此外,检测速度表示测试集中每张图像的平均检测时间。由实验结果可知,在GPU模式下检测速度高于传统方法。
表1 三种模型缺陷检测结果对比
为了进一步验证所提模型对三种缺陷的检测性能,使用相同的异物、漏油、防松铁丝断裂缺陷测试集对两种模型进行对比试验,结果如表2所示,试验结果表明,OHEM和DCN方法可以提升三种缺陷的检测精度,其中,异物缺陷的AP提升0.023 7,漏油缺陷的AP提升0.014 9,防松铁丝断裂缺陷的AP提升0.033 5,平均检测精度提升0.025 2。
表2 三种缺陷检测精度对比
3.3.2 迁移学习试验结果分析
为了验证提出模型的泛化能力,将异物数据集细分为塑料袋、纸片、树枝、瓶子、羽毛五个类别对模型参数进行调优,IoU设置为0.7,试验结果如表3所示。从试验结果可以看出,塑料袋的AP提升0.023 1,纸片的AP提升0.030 5,树枝的AP提升0.049 6,羽毛的AP提升0.021 6,平均检测精度提升0.039 3。
表3 异物检测结果对比
由表3可以看出,树枝类别的AP值提升显著。因为,初始数据集中树枝样本数量最少,在模型优化的同时,用数据增强方式扩充树枝样本的数量,数据增强不改变像素值,只改变像素所在的位置,数据增强方法如表4所示,由于原始数据集中,树枝的尺度相对较大,因此,缩放变换时,用不同比例对样本图像进行缩小,增加树枝样本的尺度多样化。试验结果表明,数据量的扩充对模型检测精度的提升也至关重要。
3.3.3 多尺度检测与分割试验结果分析
为了验证所提模型对不同尺度缺陷的检测精度,将塑料袋异物缺陷分为小、中、大三类,其中小于90×90像素的塑料袋定义为小尺度缺陷,大于200×200
表4 数据增强方式
像素的塑料袋定义为大尺度缺陷,中间值为中等尺度缺陷,试验结果如表5所示,由结果可知,大尺度缺陷的AP提升了0.002 5,而小尺度缺陷的AP提升了0.063 2。显然,小尺度缺陷的精度提升高于大尺度缺陷,由于小尺度缺陷的特征信息少于大尺度缺陷,导致这些小尺度缺陷的损失值较大,OHEM的只读分支会将这些样本挖掘为困难样本,而DCN的优点在于它的感受野会根据缺陷的尺寸变化而变化,这点对于小尺度缺陷的检测至关重要。
表5 多尺度缺陷检测结果对比
缺陷检测与分割试验结果见图6,结果表明,所提出的模型可以对尺寸形态多样的缺陷进行检测,并同时实现实例分割,其中虚线框表示缺陷检测的定位框,蓝色和红色区域分别表示物体实例分割结果。图6(e)中的蓝色区域和红色区域分别表示塑料袋异物缺陷的两个实例,图6(f)中的红色区域表明所提模型对缺陷的精准分割,背景区域没有包含于实例分割区域。
图6 缺陷检测与分割试验结果
本文通过将TEDS和基于卷积神经网络的深度学习算法相结合,实现TEDS缺陷的自动检测与分割。OHEM和DCN方法可以选择更加有效的样本和得到更具有代表性的特征图。通过对几个动车段TEDS数据试验,验证了所提模型的有效性和准确性,并且可以实现缺陷实例的精准分割。本文的研究为动车组行车安全图像缺陷检测与分割提供了新的思路和解决方案。