APP下载

基于改进Faster R-CNN的钢轨踏面块状伤损检测方法

2021-03-18

计算机应用 2021年3期
关键词:块状锚点钢轨

(华东交通大学信息工程学院,南昌 330013)

0 引言

在铁路运营过程中,列车轮轨与钢轨间产生的强烈摩擦、挤压、弯曲、冲击会使钢轨踏面易呈现块状、长宽比均匀的剥落、凹陷和掉块等块状伤损[1],该类伤损在灰度和纹理特征上与钢轨无伤损区域有明显差异,且存在形状、尺度多变等特点,若不及时被发现并采取安全措施,当其发展到一定程度时,将会导致列车脱轨、倾覆等重大事故,造成严重的人员伤亡和巨额财产损失。因此,采用有效的目标检测方法对钢轨踏面块状伤损进行准确定位和快速分类具有重大意义。

钢轨表面伤损的物理检测方法主要有涡流、漏磁、超声波、激光扫描、声发射等方法[2-5],此类伤损检测方法存在效率低、检测慢、分类精度低、成本高、受人为因素影响大等问题,不利于对钢轨表面伤损进行快速、准确的检测。而基于深度学习的目标检测算法则具有检测精度高、速度快且智能化的特点,主要分为基于无区域提名和基于区域提名的两类目标检测算法。其中,基于无区域提名目标检测算法以YOLO(You Only Look Once)系列[6-9]、单击多盒检测器(Single Shot MultiBox Detector,SSD)[10]为主,该类算法将生成候选框和分类回归合并成一个网络中,降低了网络计算的复杂度,提高了目标检测速度,但对小目标却无法准确定位,检测精确度较低。而基于区域提名目标检测算法主要以基于区域卷积神经网络(Regions with Convolutional Neural Network features,RCNN)系列为主,Girshick 等[11-12]先后提出了R-CNN[11]、快速区域卷积神经网络(Fast Regions with Convolutional Neural Network features,Fast R-CNN)算法[12],在R-CNN 的基础上加入感兴趣区域池化层,提高了训练和测试速度;Ren 等[13]提出了更快速的区域卷积神经网络(Faster Regions with Convolutional Neural Network,Faster R-CNN)算法,通过设计区域建议网络(Region Proposal Network,RPN)、候选框提取和Fast R-CNN 检测3 个模块,进一步提高了检测速度及检测精度;为了避免图像尺度对卷积计算的影响,He 等[14]提出了空间金字塔池化方法;Lin 等[15]将特征金字塔网络模型(Feature Pyramid Network,FPN)引入Faster R-CNN,实现了多尺度特征的融合,提高了小目标检测精度;基于区域提名的目标检测算法对多目标检测或小目标检测的精确度较高,检测效果较为理想。

因此,考虑到钢轨踏面块状伤损尺度变化较大,且存在尺度较小的伤损目标情况,本文提出了一种基于改进Faster RCNN的钢轨踏面块状伤损检测算法,主要改进点如下:

1)针对钢轨踏面块状伤损存在伤损类间差异小、尺度变化大的特性,提出了基于Faster R-CNN 和FPN 的钢轨踏面块状伤损检测方法。

2)引入文献[16]中提出的广义交并比(Generalized Intersection over Union,GIoU)损失函数优化预测框与实际边框之间的距离,以提高钢轨踏面块状伤损的检测精度。

3)针对Faster R-CNN 中RPN 生成的锚点大量冗余而导致检测网络训练中正负样本失衡和存在IoU 阈值设置、锚点尺度及长宽比等超参数设计困难的问题,采用引导锚定的区域提名网络(Region Proposal Network by Guided Anchoring,GA-RPN)[17]的优化方法。

1 Faster R-CNN 算法介绍

Faster R-CNN 算法结构如图1 所示,主要由特征提取网络、RPN 和检测网络组成。其中,特征提取网络采用ResNet-101 基础网络结构[18],如表1 所示,该网络输出的特征图由RPN和检测网络共享。

图1 Faster R-CNN结构Fig.1 Structure of Faster R-CNN

在RPN 中,首先,根据设定的长宽比和尺度窗口,以特征图中每个像素点为中心生成一定数量的锚点;然后,根据锚点和实际边框的重叠程度对锚点进行筛选,再将筛选出的锚点进行初步回归,生成质量较高的候选区域框。此外,RPN与特征提取层参数共享,减少了RPN 的训练成本,减少检测网络的计算量,同时保证了对目标的检测效率。RPN 具体结构如图2所示。

表1 ResNet-101的组成结构Tab.1 Composition structure of ResNet-101

图2 基于RPN的目标候选区域生成示意图Fig.2 Schematic diagram of object candidate region generation based on RPN

在RPN 训练过程中,生成的近10 000 个锚点首先经过软非极大值抑制(Soft-Non Maximum Suppression,Soft-NMS)处理,保留与实际边框的交并比(Intersection over Union,IoU)不超0.7 的最大分数预测锚点(2 000 个左右),进行前背景二分类后,将正样本的锚点进行初步回归。

RPN 的损失函数包含分类损失和回归损失两个部分,具体如下:

其中:Ncls和Nreg分别表示二分类锚点数量和待回归预测边框数量;Lcls为二分类的交叉熵损失函数,为pi锚点的二分类概率;pit为锚点的实际分类,取值为1(包含目标的正样本)或0(背景负样本);λ1用于平衡分类和回归损失,本文中设为10;Lreg是锚点的回归损失函数,用smoothL1定义;ei和eit分别表示预测边框Bp(xp,yp,wp,hp)和锚点a(xa,ya,wa,ha)到目标实际边框Bt(xt,yt,wt,ht)之间的定位误差;i表示经过非极大值抑制后保留的锚点序号。相关定义如下:

2 基于改进Faster R-CNN 的钢轨踏面块状伤损检测

2.1 特征提取网络的改进

针对钢轨踏面块状伤损呈现出的尺度变化大的特点,基于Faster R-CNN 的检测框架及FPN 的设计思想,通过上采样将低层特征的高分辨率和高层特征的高语义信息融合,对小尺度特征图的特征信息进行增强,以提高网络对多尺度伤损的检测精确度。首先,ResNet-101 生成5 个卷积特征图Conv1、Conv2、Conv3、Conv4、Conv5;然后,采用如图3 所示的bottom-top 和top-down 网络,用1 个1×1 卷积对当前尺度特征图Convi与下一层特征图经过上采样的输出结果相加,并通过一个3×3 卷积,生成与当前尺度相同的新特征图Pi(i取4,3,2),P5 为Conv5 通过1×1 卷积降维到256 得到。通过此方式,使得卷积特征图在原有尺度特征的基础上获得了更深语义特征的补充,进而增强了网络对不同尺度伤损特征的表达能力。

图3 基于FPN+Faster R-CNN的钢轨踏面块状伤损检测网络结构Fig.3 Structure of rail tread block defects detection network based on FPN+Faster R-CNN

2.2 边框回归损失函数的改进

Faster R-CNN 中目标框回归损失为SmoothL1损失,该损失只考虑到了预测边框和实际边框坐标间的距离,没有考虑到两框的重叠度,不利于预测框的精准回归;另外,使用IoU 损失作为回归损失,虽然能够考虑到两框的重合度,但依旧存在以下问题:

1)当预测边框与实际边框间无重叠区域时,即IoU 为0时,目标函数求导为0,无法进行优化;

2)当预测边框与实际边框存在两个或多个相同大小的IoU时,预测效果差异较大。

针对IoU 直接作为边界框回归损失函数的缺点,采用Rezatofighi 等[16]在CVPR2019 上提出了GIoU 回归损失函数,具体定义如下:

给定任意两个凸面形Bp和Bt(Bp,Bt⊆S∈Rn),C为包含Bp,Bt的最小凸面形C⊆S∈Rn,Bp和Bt的IoU为:

则Bp和Bt的GIoU损失定义为:

GIoU 损失具有以下性质:GIoU 具有度量标准的优良性质,即非负性、同一性、对称性和三角不等式性质;GIoU 损失继承了IoU 损失的尺度不变性;GIoU 损失小于或等于IoU 损失;对于两个矩形框Bp、Bt,有0 ≤IoU(Bp,Bt)≤1,-1 ≤IoU(Bp,Bt)≤1。

预测边框与实际边框的对齐程度会影响C的面积大小,当IoU 相同时,两者的对齐程度越好,C的面积越小,GIoU 损失值越大;反之亦然;并且,当Bp和Bt没有重叠区域时,虽然IoU 为0,但GIoU 损失依然存在。因此,GIoU 损失可以直接作为损失函数。图4 给出(a)、(b)、(c)三种不同预测边框情况下的均方误差(Mean Square Error,MSE)损失函数(简称均方损失)、交并比(IoU)以及GIoU 三种回归损失,当MSE 损失相同时,检测效果相差巨大,同时IoU和GIoU损失变化也较大。

图4 均方损失、IoU损失和GIoU损失对比Fig.4 Comparison of mean square loss,IoU loss and GIoU loss

2.3 区域建议网络的改进

基于RPN 的感兴趣区域生成过程中,块状伤损图像中伤损目标的数量远远小于生成的锚点数量,即生成的大量锚点框是冗余,会导致RPN 训练时正负样本数失衡,从而影响检测网络的性能;并且,还存在IoU 阈值设置、锚点尺度及长宽比等超参数设计困难的问题。因此,本文提出GA-RPN 替代RPN 的优化方案,以提高检测网络对钢轨踏面块状伤损的检测精确度。

GA-RPN 感兴趣域生成网络可分为锚点生成模块和特征自适应模块(如图5中GA-RPN模块所示)。其中,锚点生成模块中定位子分支用于判断输入特征图上每个特征点是否为目标点;定形子分支用于确定是目标特征点的锚点的宽和高;特征自适应模块则根据定形子分支生成的锚点形状对该区域内的特征进行重采样,根据兴趣域大小调整其区域内特征感受野。接下来分别对这3个过程进行介绍。

1)位置判断。

输入特征图F经由一个1×1 卷积后,再通过Sigmoid 函数激活,生成一个尺度与F相同的概率特征图Fp,其各点值表示F中每个特征点为目标的概率。然后,设定一个概率阈值τ,Fp中特征值大于τ的点,对应在F被判断为目标中心点。最后,通过阈值筛选减少近90%的锚点数量。

2)锚点形状生成。

锚点定位模块给出了锚点中心位置,还需对所有锚点框的宽(w)和高(h)进行预测。考虑到锚点尺度变化较大,直接学习w和h可能会导致网络不稳定,无法训练,将w、h做以下变换,见式(8)、式(9)。

其中:s为特征图相对于输入图像的卷积步长,σ取经验值1.6。该过程由一个2 维的1×1 卷积实现。这种非线性变换,能够将待学习的参数范围从[1,1 000]调整到[-1,1],简化网络训练。

这种根据锚点位置信息来学习锚点框宽和高的方法,增加了锚点位置与形状的相关性,进而能够获得更高的召回率。

3)特征自适应调整。

与RPN 生成的固定尺度和长宽比的锚点不同,GA-RPN生成的锚点的形状是不定的,而在目标检测任务中,通常尺度不同的目标需要的感受野不同。因此,GA-RPN 利用特征自适应模块对所有锚点框对应的感受野进行调整。

其中:fi是锚点生成模块生成的第i个锚点框对应在输入特征图F上的特征值;wi、hi是预测出该锚点的宽和高;H(•)由一个3×3的可变形卷积实现;f'i为调整后的特征值。

2.4 改进后的整体网络结构

基于FPN+GIoU+GA-RPN+Faster R-CNN 的钢轨踏面块状伤损检测网络整体结构如图5 所示。该结构中将原本串联在FPN 的每个特征层之后的RPN 结构直接替换成GA-RPN。而该结构的总训练损失分为兴趣域生成损失和目标分类与定位损失,兴趣域生成损失中又包含锚点定位损失Lloc和锚点形状预测损失Lshape,其中Lloc定义为特征图中点属于前景或背景的二分类损失。

图5 基于改进FasterR-CNN的钢轨踏面块状伤损检测网络设计Fig.5 Design of rail tread block defects detection network based on improved Faster R-CNN

由于生成锚点中正样本数量远小于负样本数量,因此采用具有正负样本平衡能力的Focal 损失,如式(11),其中:pi表示特征点预测为正样本的概率表示该特征点的实际标签,取值0 或1;α用于控制正负样本平衡,取值为0.25;γ用于使网络注重困难样本学习,取值为2。

在训练时用目标实际边框Bt(xt,yt,wt,ht)指导训练,即将实际边框Bt分为中心区域(Center Region,CR)、忽略区域(Ignore Region,IR)和外区域(Out Region,OR),定位在CR 内的锚点为正样本,定位在OR 区域内的锚点为负样本,具体关系如式(12):

其中:R用来定义区域,0 <φ1<φ2<1,用于控制生成锚点的数量以及距离实际边框中心的距离,实验中分别为0.2和0.5。

生成的锚点中心位置之后需要对其形状进行预测,首先要对锚点awh(x,y,w,h)锁定的目标实际边框Bt进行确定,然后就是利用Bt对awh的形状预测的指导。根据文献[17],直接回归得出awh值是难以实现的,因而采用对w、h采样近似的方法。具体地,借鉴RtinaNet[19],对FPN 的P2 到P5 分别设有9种可能的w和h,不同层的w、h组成的面积分别为{16×16,32×32,64×64,128×128}的20、21/2和22/3,且w∶h有0.5、1.0 和2.0三种取值。定义awh与某个实际边框的最大交并比为vIoU,找到与awh具有最大交并比的Bt,以及此时awh的w和h。

锚点形状预测Lshape损失如式(14):

得到锚点进入兴趣域池化产生感兴趣区域,之后便可对兴趣域中目标分类以及目标预测边框回归。目标分类损失Lcls是与Faster R-CNN相同的交叉熵,如式(15),而目标边框回归损失Lreg改成GIoU损失,具体为式(16):

其中:P是每个兴趣域中目标分别属于k个目标类别和背景类的概率分布;u为目标实际类别;Bp(xp,yp,wp,hp)为目标预测框。

网络训练的总损失L为以上4个损失之和,即:

其中:λ3、λ4用于平衡锚点定位和定形损失,取值分别为1和0.1。

3 实验结果与分析

3.1 数据集预处理

本实验基于MS COCO 2017数据集对钢轨踏面块状伤损检测网络进行预训练,选用我国北京交通大学李清勇老师团队[20]所采集的关于重型钢轨(大小为160×1 000,共67张)和普通钢轨(大小为55×1 250,共128张)踏面的伤损数据集RSDDs对预训练好的网络结构进行参数微调。通过分析RSDDs数据集中钢轨伤损特征,得出该数据集伤损类型皆为块状伤损,并且从伤损边缘是否规整,可将该数据集分为两种伤损类型,如图6(a)、(b)所示:一类为外轮廓不规则、呈分层状态,记为chip_fall;另一类则是外轮廓光滑、形状较为规则,记为scallop。

图6 两类伤损及伤损轮廓示例Fig.6 Examples of two categories of defects and their contours

考虑到RSDDs数据集中样本数量少,且两种图像尺度相差较大,对该数据集样本进行预处理:首先,把RSDDs数据集中每个伤损图像横向切割成等5张子图像,并筛选出含有块状伤损的子图像,建立新的钢轨踏面块状伤损数据集,样本数量为435张;然后,重新调整新数据集中的伤损图像尺度为200×200,并用开源标注工具Labellmg重新标记为chip_fall和scallop两类,并生成XML格式的标记文件,如图7所示;最后,对标记后的新钢轨伤损数据集进行翻转、随机裁剪和加随机噪声的数据增广操作(如图8所示),建立本文所用的钢轨踏面块状伤损数据集,增广后样本数量为3 045张,其中,72%作为训练集,8%作为验证集,20%作为测试集,具体样本分布如表2所示。

图7 scallop和chip_fall两类钢轨踏面伤损图像及标签示例Fig.7 Image and label examples of rail tread defects scallop and chip_fall

图8 钢轨踏面伤损数据增广示例Fig.8 Examples of rail tread defect data augmentation

表2 钢轨踏面块状伤损数据集样本分布Tab.2 Sample distribution of rail tread block defects dataset

3.2 结果分析

3.2.1 实验环境及评价指标

1)实验环境。

本实验采用的硬件环境为:GT1080Ti GPU 显卡、Intel i5-7600 CPU 处理器、内存16 GB。软件环境为:Ubuntu 16.04 操作系统、Python3.6、PyTorch 1.3深度学习框架。

2)评价指标。

为充分对基于改进Faster R-CNN 的钢轨踏面块状伤损方法的检测效果进行对比,本文采用平均精度(Average Precision,AP)、平均精度均值(mean Average Precision,mAP)作为算法的主要评价指标;分别统计检测预测框与实际边框的交并比IoU 值(0.5,0.75)的检测精度,分别记为AP50 和AP75;并对尺度分别在0~32×32、32×32~96×96、大于96×96 的三种钢轨踏面伤损的检测精确度进行统计,分别记为Aps、Apm、APl。即本文所用到的评价指标为:mAP、AP50、AP75、APs、APm、APl。

3.2.2 结果分析

本实验采用带动量的随机梯度下降法(Stochastic Gradient Descent,SGD)对网络进行训练,初始学习率为0.01,学习率衰减速率为0.000 1,动量为0.7,batch size设置为8,训练循环最大次数位10 000,输入伤损图像大小为200×200。取600 张测试样本,基于传统的Faster R-CNN 和改进Faster RCNN 分别对钢轨踏面块状伤损进行网络训练,其中训练集损失变化如图9 所示可以看出,改进的Faster R-CNN 相较于Faster R-CNN 在训练过程中收敛较快,且损失值较低。同时得出chip_fall 与scallop 两种类型的踏面块状伤损的检测结果如图10 所示,其中(a)组为输入的块状伤损图像,(b)组为基于YOLOv3 网络的块状伤损检测效果,(c)组为基于R-FCN 网络的块状伤损检测效果,(d)组为基于FPN网络的块状伤损检测效果,(e)组为基于Faster R-CNN 网络检测效果,(f)组为基于FPN+Faster R-CNN 网络的块状伤损检测效果,(g)组为基于GIoU+FPN+Faster R-CNN 网络的块状伤损检测效果,(h)组为基于GA+GIoU+FPN+Faster R-CNN 网络的块状伤损检测效果。从图10 中可以看出本文所提的基于改进Faster R-CNN的钢轨踏面块状伤损方法较其他组的检测效果而言,对小尺度伤损的检测精确度更高。为进一步分析模型的泛化性能,以mAP、AP50、AP75、APs、APm、APl 等指标对不同改进网络测试结果进行统计,结果如表3 所示,两类块状伤损的AP 值如表4所示。

图9 Faster R-CNN及改进Faster R-CNN的训练损失变化Fig.9 Change of training losses of Faster R-CNN and improved Faster R-CNN

从表3 可知:FPN+Faster R-CNN 网络相较于Faster RCNN 而言,小尺度钢轨踏面块状伤损检测的APs 值提高了4.535 个百分点,说明了FPN 的引入强化了小尺度钢轨踏面块状伤损的特征表达能力;而GIoU-Faster R-CNN 网络与FPN+Faster R-CNN 相比,钢轨踏面块状伤损检测效果的mAP、AP50、AP75、APs、APm、APl等各项评价指标分别提升了4.454、3.615、5.405、9.72、5.795、4.016 个百分点,因此说明基于GIoU 的回归损失函数改进方法与钢轨踏面块状伤损的检测精确度提高是有效的;相较于GIoU-Faster R-CNN,GAFaster R-CNN 对伤损检测效果的mAP、AP50、AP75、APs、APm、APl 等各项评价指标分别提升了4.496、0.554、5.8、0.513、4.335、6.623个百分点,即采用GA-RPN代替RPN作为兴趣生成网络,能够有效地提高钢轨踏面块状伤损检测精确度;总而言之,相较于传统的Faster R-CNN 算法来实现钢轨踏面块状伤损检测而言,采用FPN、GIoU 和GA-RPN 相结合的改进Faster R-CNN 网络对钢轨踏面块状伤损检测的mAP 值提高了13.201 个百分点,验证了本文所提改进方法对钢轨踏面块状伤损检测精确度提升的有效性。

图10 不同网络对chip_fall类和scallop类的伤损检测效果Fig.10 Defect detection effect of chip_fall category and scallop category by using different networks

表3 不同改进网络的钢轨踏面块状伤损检测结果对比 单位:%Tab.3 Comparison of detection results of rail tread block defects by using different improved networks unit:%

由表4 可知,不同的网络对两类伤损的检测精确度不同,但有相同规律,即相较于chip_fall 类块状伤损,scallop 类伤损的平均检测精确度(AP)值更高,由此可推断出scallop 类伤损的特征更明显、更规律,更易被检测;同时,基于GA+GIoU+FPN+Faster R-CNN 相较于传统的Faster R-CNN 方法对钢轨踏面块状伤损检测精度提高了12.326个百分点。

综合以上实验结果及分析可知,本文提出的基于改进Faster R-CNN 的钢轨踏面块状伤损检测方法对多尺度块状伤损的检测精确度有明显的提升。

表4 不同改进网络对两种块状伤损的平均检测精确度统计 单位:%Tab.4 AP statistics of two kinds of block defects by using different improved networks unit:%

4 结语

本文提出了基于改进Faster R-CNN 的钢轨踏面块状伤损检测方法,采用平移、翻转、裁剪、加随机噪声等方法对数据集进行扩充,解决了钢轨踏面块状伤损的数据集不足问题;并在特征提取阶段,采用ResNet-101基础网络结构,构建多尺度特征金字塔,提高了小尺度块状伤损的检测精度;此外,使用GIoU、Focal 损失函数及GA-RPN 自适应生成锚点方法,弥补了传统Faster R-CNN 中对预测边框回归定位不准确和生成锚点中正负样本不平衡的不足,可为轨道伤损巡检的智能化处理提供相关参考。然而,本文仅实现了两类块状伤损的检测分类,而在工程应用中存在多种多样的钢轨踏面伤损,未来可以从钢轨踏面伤损数据集的扩充着手,对其他常见类钢轨踏面伤损的精确检测进行深入研究。

猜你喜欢

块状锚点钢轨
强塑性明显提高的块状纳米结构铝硅合金研发取得进展
基于自注意力机制与无锚点的仔猪姿态识别
艺术史研究的锚点与视角
——《艺术史导论》评介
基于启发式候选区域推荐的目标孪生跟踪
汉语特色块状语英译认知研究*
——时政文本视域下的翻译能力调查
钢轨预打磨在地铁线路中的运用相关阐述
5G NSA组网下锚点站的选择策略优化
探索小学信息技术课堂的“块状”教学
火车道上为什么铺碎石
两种钢轨表面伤损在线整修技术方案的对比探讨