APP下载

基于Faster R-CNN网络模型的铁路异物侵限检测算法研究

2020-05-29陶慧青虎丽丽

铁道学报 2020年5期
关键词:异物卷积精度

徐 岩, 陶慧青, 虎丽丽

(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)

行人和车辆等异物侵入铁路周界现象的频频发生,是影响铁路行车安全的重要因素之一。此问题虽已得到了极大的重视及研究,并已在我国的高速铁路线路沿线建立了综合视频监控系统,具备了一定的侵限异物检测和预警能力,但大部分线路还是采用人工巡检的方式。随着铁路的不断提速以及行驶里程的增加,这种检测方式耗费了大量人力资源且效果欠佳,不符合当前智慧交通的理念。早期提出的基于红外光幕[1]、激光扫描[2]等多种铁路异物检测方法,无法准确判断异物的类型,所计算的参数不具备显著的特征,为异物识别增加了难度。近年来提出的基于机器视觉[3]的异物检测方法具有检测设备易安装维护、识别精度相对较高的优点,但其检测结果易受外界环境变化影响。

近年来,深度学习特别是卷积神经网络在计算机视觉上取得了显著的应用成果[4]。2017年王洋等[5]提出的基于卷积神经网络特征快速提取算法,采用三层网络结构实现了异物检测。同年Wu等[6]提出将基于候选区域的快速卷积神经网络(Faster Region-based Convolutional Neural Network,Faster R-CNN)模型应用于人脸检测中取得了显著的效果。2018年Sun等[7]改进的Faster R-CNN模型在著名的FDDB人脸检测基准评测中实现了最先进的人脸检测性能,并在FDDB基准测试中被评为ROC曲线最好的模型之一。传统的机器学习方法主要针对单一领域内的问题求解,训练数据和测试数据需满足相同特征分布。当训练和测试数据特征分布不同时,则需要运用新的数据集对模型进行训练。虽然基于大规模数据集和深度卷积神经网络模型的物体识别方法表现出了极高的准确度,但是当训练样本不足时,深度卷积神经网络易于出现过拟合;当目标领域识别物体的特征分布不同时,则不能应用源领域训练得到的深度卷积神经网络模型进行物体识别[8]。因此将迁移学习理论引入基于Faster R-CNN模型的铁路异物检测中,可以有效地降低网络模型训练时对于侵限异物图像数据以及高资源配置的依赖,解决了铁路异物侵限的现实图像数据较少的研究难点。

本文提出一种基于深度学习的铁路异物检测方法,通过增加锚点的个数来提高区域建设网络(Region Proposal Network,RPN)对于过小物体的检测准确度;用全局平均池化层代替全连接层 (Full Connection,FC)中FC6和FC7以减少模型时间消耗;引入迁移学习的思想,用已训练好的识别人、车的网络模型参数初始化改进后的Faster R-CNN网络,用取自列车上无线视频监控终端的具有异物侵限现象的现场监控视频照片对网络进行优化等多种策略相结合的方式,实现了网络模型的适应性改进。通过兰州西站现场监控视频中截取的具有侵限现象的照片来检测评价所提出的铁路异物检测方案,仿真实验表明本方案能够有效地检测视频图像中的各类异物。

1 算法描述

1.1 Faster R-CNN算法

基于区域的图像目标检测领域网络有R-CNN网络、SPP-Net、Fast R-CNN和Faster R-CNN。前3种算法均采用原始图像经过选择性搜索(Selective Search,SS)算法提取出约2 000个候选区域框,由于此算法占据整个目标检测总时间的2/3,所以很难满足实时性的要求。基于候选区域耗时最长,且候选区域框的质量好坏程度直接影响后续使用神经网络进行目标检测的精度。Faster R-CNN算法[9]采用区域候选网络RPN层进行候选框提取,这极大地提升了检测候选框生成的速度。

Faster R-CNN算法的网络基本结构见图1。它主要由两个模块组成:①产生候选区域建议的RPN网络;②沿用Fast R-CNN的分类和边框回归(Bounding-box),同时保留感兴趣池化层(RoI Pooling)和多任务损失函数。

Faster R-CNN算法的总体网络框架流程图见图2,其步骤为:

Step1原始图像经预处理至相同大小输入网络,经5层卷积层后将得到的特征图作为RPN层和RoI Pooling层的输入。

Step2RPN层产生候选区域建议,并且将top300的候选区域送入RoI Pooling层,较采用SS算法,减少了候选窗冗余产生,降低了算法耗时。

Step3RoI Pooling层的输入为经过最后一层卷积层后产生的特征图以及RPN层产生的候选区域框,输出为RoI特征图。

Step4对候选区域框的特征图进行类别判定,同时通过边框回归获得Bounding-box的精确位置。

1.2 迁移学习

迁移学习[10]中领域和任务的定义:

定义1 (领域)一个领域可以形式化地表示为

D={χ,P(X)}

(1)

式中:χ为特征空间;P(X)为X={x1,x2,…,xn}∈χ,i=1,2,…,n的边缘分布。

定义2 (任务)给定某一个具体的领域D={χ,P(X)},一个任务可以形式化地表示为

Γ={Y,f(·)}

(2)

迁移学习可定义为在一个给定的源领域Ds和源任务Γs中定义有目标领域Dt和目标任务Γt,当Ds≠Dt或者Γs≠Γt时,目标领域Dt中对目标预测函数f(·)的学习是使用源领域Ds和源任务Γs中已有的知识去改进的。迁移学习的过程就是将源领域Ds中解决任务Γs时学习到的有用知识迁移到目标领域Γt,并结合Γt中已有的训练数据为完成任务构造出泛化能力更好的模型。根据迁移学习的迁移内容可以将迁移学习方法分为4类,见表1。

表1 迁移学习方法分类及内容

2 基于改进的Faster R-CNN的铁路异物检测算法

本文在比较了现有检测模型精确度的前提下,基于保证检测精度的同时尽可能缩短检测时间的优化思想,选用目前精度最高的Faster R-CNN模型,并以图3为例,针对铁路异物侵限检测算法对于目标检测的精确率和实时性都有极高要求的情况下,对Faster R-CNN网络模型进行如下改进。

2.1 用全局平均池化层代替全连接层

在卷积层后增加全连接层(Global Average Pooling Layer,GAP)来进行特征的向量化,能在一定程度上提高卷积神经网络的分类性能。然而全连接层存在着参数量过大的致命弱点,这在与卷积层相连的全连接层上体现的尤为明显。而参数量过大不仅会导致训练和测试网络模型时的计算量过大,同时极易造成过拟合现象的发生。

全局平均池化[11]摒弃了全连接层的分类方式,即将特征图转换成列向量,再根据具体神经元的个数进行矩阵乘法运算得到特定元素个数的列向量,其中特定的元素个数等于需要分类的类别数。它只需在多个卷积层和池化层后仅进行一次n个卷积核的卷积操作,然后对形成的特征矩阵进行全局平均池化,即对每一个特征图进行求平均值的操作,形成含有n个元素的列向量,其中n为需要分类的类别数。全局平均池化层不仅可以在保证分类效果的同时有效地减少计算量,同时也能对输入任意大小的图像数据进行检测,在铁路异物检测的实际应用中无需考虑实际视频监控截取到的图片的大小,保证了本算法输出的有效性。本算法将采用全局平均池化层代替FC6和FC7全连接层,以此来改善由于计算量过大而导致的训练和测试模型时的耗时过久的情况。

2.2 改变锚点数量

区域建议网络RPN用于对目标物体和背景进行分类,并对边框进行回归。滑动窗口对在最后一层卷积层上得到的特征图进行滑动,用于为目标识别提供定位参考,区别物体和背景的位置。对于每一个位置,候选区域网络通过不同面积、不同比例的组合形成n个候选区域。文中选取3种面积和3种长宽比组成9种可能的候选窗口,即Anchor Scales为{128×128,256×256,512×512},Aspect Ratios为{2∶1,1∶1,1∶2},候选窗口通过设定参数枚举而得到。但为适应铁路异物检测的应用场景,使模型对小目标敏感,不再使用默认设置,而是添加更小的64×64的参数,使得每个锚点增加到12个候选窗口,即修改后的参数:Anchor Scaleso为{64×64,128×128,256×256,512×512},Aspect Ratios为{2∶1,1∶1,1∶2}。

2.3 引入迁移学习

鉴于铁路线路中异物侵限的图像资料匮乏的情况,且基于Pascal VOC 2007数据集训练的模型的源领域任务与铁路异物侵限检测目标领域任务相似,故本文先采用基于参数的迁移学习方法,使用源领域的模型参数作为改进后的模型初始值。由于INRIA Person Dataset数据集和KITTI数据集中的数据资料对于铁路异物检测而言是“有用”的,且这两个源领域的数据与目标领域的数据的特征分布相似,故在初始化模型的基础上使用基于实例的迁移学习方法,将以上两个数据集中的有用数据借用到铁路异物检测的模型训练中,以防止由于铁路异物侵限数据的缺乏导致模型训练产生过拟合等不良现象的发生。

3 实验设计及结果分析

3.1 实验平台环境

算法在深度学习工作站上进行训练和测试,并测试训练好的网络模型对于铁路异物侵限的检测情况,其训练和测试环境见表2。

表2 网络模型训练及测试环境

3.2 网络模型训练

3.2.1 训练数据集

由于铁路异物侵限视频资源相对匮乏,可采用迁移学习的思想,将其与源领域相近的图像数据对网络进行预训练,再使用铁路视频监控截取的数据对网络进行微调。本文应用的数据主要包括VOC2007数据集中的人像及车辆的内容(见图4(a))、INRIA Person Dataset数据集(见图4(b))、KITTI数据集(见图4(c)),以及按照VOC2007格式人工标注的基于兰州西站监控视频的铁路异物侵限视频素材数据集(见图4(d))。

3.2.2 损失函数

相较于R-CNN将网络模型的训练过程分为3个阶段的繁琐训练方式,Fast R-CNN在使用softmax层替代支持向量机(Support Vector Machine,SVM)分类器进行分类的同时,利用多任务损失函数将边框回归加入到网络中进行学习,使得整个过程实现了端到端的训练过程。在图像数据经过最后一个全连接层后将产生两个输出,即Softmax Loss及Regression Loss。其中,Softmax Loss计算K+1个类的分类损失函数(K为K个分类目标,1个背景类别);Regression Loss给出K+1个分类相对应的Bounding-box的4个坐标值。

为使卷积神经网络训练时能达到减少训练时间和训练步骤的效果,在分类检测阶段,本模型的卷积神经网络特征检测和边框回归任务都是基于同一个损失函数的,该损失函数表达式为

(3)

(4)

(5)

由于L1 Loss与L2 Loss相比,具有高抗噪性、对数值波动不敏感等特点,使得在寻找目标分类的边框值时能够达到更好的效果,故采用L1 Loss,于是式(5)中的R为

R=smoothL1(x)=

(6)

3.2.3 训练步骤

本文基于迁移学习思想对模型进行训练。首先基于参数迁移的思想,在GitHub上下载已经训练好的Faster R-CNN模型,用于对区域建议网络RPN以及分类检测网络Fast R-CNN的初始化;其次基于实例迁移的思想,使用图5的样本集对RPN和Fast R-CNN分别进行微调训练;最后进行联合训练,即可完成整个模型的端到端的训练过程,步骤为:

Step1区域建议网络RPN的预训练。使用下载的模型对RPN进行初始化,并使用均值为0,方差为0.01的高斯分布对新增加的网络层进行随机初始化,得到数值为RPN0的RPN。

Step2Fast R-CNN的预训练。固定Step1中的RPN0参数,使用下载的模型参数对Fast R-CNN进行初始化,得到Fast R-CNN0。

Step3RPN网络的微调训练。固定Step2中Fast R-CNN0参数,将共享卷积层的学习率设置为0,仅对RPN所特有的卷积层进行参数更新,得到数值为RPN1的RPN。

Step4Fast R-CNN的微调训练。使用Step3中RPN1得到区域建议,对Fast R-CNN特有的卷积层进行更新操作,此时便完成了区域建议及分类检测网络的联合训练过程。

3.3 实验结果分析和比较

3.3.1 改进后的Faster R-CNN与原模型性能对比

(1) 全局平均池化层替代全连接层的性能对比

本算法针对Faster R-CNN的基础模型VGG16中,全连接层的使用引起训练时间过长、易产生过拟合现象发生的缺点,采用全局平均池化层替代了全连接层。为验证改进模型的效果,从VOCdevkit数据集中选取包含人、车及动物等目标的图像数据,总共9 963张图片,并从视频监控中选取异物侵限各类图片1 500张,按照该数据集的组织方式对所有的图片进行分类处理,将其作为测试集进行结果验证。分别使用上述数据集对改进前后模型进行训练,得到50次迭代后的模型准确率和损失值,见图5。从图5可见,FC和GAP有着不错的表现,准确率都达到了70%以上,FC的准确率稳定在80%~90%,GAP的准确率稳定在90%以上。随着迭代次数的增加,由于FC的参数量过多,更易出现过拟合现象,GAP的表现则更加稳定。

(2) 改进后模型整体性能对比

为验证本算法的整体性能,设计了如下对比实验:

① 改变Proposal(候选区域)的数量对模型精度和速度的影响:由于实验过程中发现不同的Proposal数量对于模型检测精度和速度都有影响,因此需验证不同大小的不同数量Proposal下的模型检测精度和速度。首先通过不同Proposal数量下Faster R-CNN的检测速度和精度的对比,验证调节proposal数量能够改变模型检测精度和速度理论的正确性。所有的实验基于KITTI行人数据集下,见表3,序号1和序号2的实验分别为Faster R-CNN在Proposal=300和Proposal=600时的结果,通过把Proposal数量上调300,不同目标大小的区域建议框的检测精度都有所上升,综合检测精度也上升了1.6%,但是检测速度却下降了2 FPS;序号3为Proposal=100时的实验结果,与序号1和序号2的实验对比,检测速度分别提升了9 FPS和11 FPS,综合检测精度分别上升了5.7%和4.1%。

② 验证模型对不同大小目标的检测情况:表3中第2至第6列分别给出了模型对于不同大小的目标(单位:像素),即微型目标(15<目标大小≤40)、小型目标(40<目标大小≤80)、中型目标(80<目标大小≤160)、大型目标(目标大小>160)的检测精度。通过纵向比较发现,将锚点增至12种后,模型对于微型目标和小目标的检测精度有了显著的提高,并且略微提高了模型对于其他大小的目标的检测效果。

③ 本算法实验和其他模型精度的对比:表3中序号5和序号6分别给出了当前主流深度学习目标检测算法YOLO和SSD的综合精度,相对于Faster R-CNNProposal=100的网络模型,检测速度分别提升了30FPS和43FPS,检测精度却分别降低了17.4%和1.4%。由此可见SSD网络在目标检测中的表现也是客观的,然而考虑到铁路异物侵限检测的主要目标是针对异物的检测正确率和精度,因此舍去SSD网络。本文算法采用改进后的Faster R-CNNProposal=100的网络模型,对比表3中序号1、2、3、5、6的实验,无论是在检测速度还是检测精度上都达到了良好的实验效果,可以满足铁路异物侵限检测的要求。

表3 改进后Faster R-CNN整体性能对比

3.3.2 铁路异物检测性能对比

本文算法基于4类数据集综合以后的数据集进行模型的训练和测试,采用的数据集图片分配见表4。

表4 实验数据集数量分配

本文采用铁路限界的标准对铁路检测区域进行区域划分,使用兰州西站的监控视频将铁路异物侵限检测图片的检测结果分为5组,见图6。6(a)—6(d)为本算法检测出的侵限结果,6(e)组为本算法未能检测出的侵限异物,包括列车的前端摄像头拍摄的监控图片,主要是漂浮在接触网上的塑料袋等不常见异物。

为验证本文算法对于铁路异物侵限检测的效果,将本算法与已有研究成果进行比较。由于铁路异物检测方面基于深度学习方法的研究十分匮乏,因此设计了3种纬度的比较试验:

(1) 比较使用相同的基础网络Faster R-CNN检测相似目标的检测结果(见表5序号1和序号4的算法对比):文献[14]算法的检测平均耗时为286 ms,本算法相比之下减少了82 ms;同时比较检测精度,本算法比文献[14]的检测精度高出了5.71%。综合考虑,本算法优于文献[14]的算法。

(2) 比较使用相似基础检测网络检测相似目标的检测结果(见表5序号2和序号4的算法对比):文献[15]算法未给出检测速度,此处不再比较,就检测精度而言,本文算法远高于文献[15]。

(3) 比较传统目标检测方法同样检测铁路异物侵限的检测结果(见表中序号3和序号4的算法对比):文献[16]算法是基于帧间差分的传统目标检测算法在铁路异物侵限检测领域的研究应用,文中给出仅是目标的提取过程耗费了137 ms,本算法在保证高检测速度的情况下,与文献[16]算法的检测精度类似。

综合上述实验,将Faster R-CNN模型进行改进后与其原模型进行对比,能有效提升其网络模型本身的性能,将其应用到侵限异物检测中,其检测速度和精度均能够达到实际应用要求。将本算法与基于传统的目标检测算法、基于相同网络模型的检测算法及基于相似网络模型的基于卷积神经网络的目标算法等进行比较,都显示出了其优越性。

表5 铁路异物侵限算法性能对比

4 结束语

本文基于在目标检测领域表现出最佳检测精度的Faster R-CNN网络模型,实现了对于铁路侵限异物检测的算法;针对全连接层参数量过多容易产生过拟合的现象,采用全局平均池化层代替了全连接层,大大减少了训练网络模型的时间;同时由于铁路异物侵限领域的图像数据匮乏,因此采用基于参数的迁移和基于实例的迁移的混合迁移学习方式,实现了对于本网络模型的训练和测试,在检测速度和检测精度上都达到了较高的水准,具有现实应用的价值。本模型在对于无规则物体的检测上,还存在明显的不足,在今后的研究中可加以改进。此外数据集的匮乏也是导致铁路异物检测方向进度缓慢的原因,增加相关领域数据集的建立,可从实质上解决基于机器学习类算法的准确性。

猜你喜欢

异物卷积精度
热连轧机组粗轧机精度控制
基于3D-Winograd的快速卷积算法设计及FPGA实现
食管异物不可掉以轻心
如何处理异物进入眼睛
卷积神经网络的分析与设计
从滤波器理解卷积
眼耳鼻进异物咋处理
基于DSPIC33F微处理器的采集精度的提高
基于傅里叶域卷积表示的目标跟踪算法
以工匠精神凸显“中国精度”