APP下载

基于特征增强SSD的隧道漏缆卡具检测

2021-06-03张云佐杨攀亮李汶轩

北京交通大学学报 2021年2期
关键词:卷积隧道深度

张云佐,杨攀亮,李汶轩

(石家庄铁道大学 信息科学与技术学院,石家庄 050043)

铁路移动通信系统对保障列车安全运行和提高列车服务质量起着至关重要的作用.通信泄漏同轴电缆由于能在隧道、地下停车场等信号较弱的地区表现出良好的移动通信性能,因此在铁路移动通信系统中得到了广泛的应用.通信泄漏同轴电缆通常悬挂在隧道壁上,并由卡具固定.列车在隧道内高速行驶所产生的巨大能量波会对漏缆和卡具产生巨大的振动和冲击,容易导致卡具松动脱落[1-2].一旦发生故障,很容易造成交通事故,严重影响铁路的安全运营.

为了保证铁路移动通信系统的安全运营,有必要对隧道内的漏缆卡具进行定期检查.传统的隧道漏缆卡具检测方法主要包括纯人工检测和采集视频回放检测[3].目前,铁路部门对漏缆卡具的检测大多还停留在纯人工检测阶段,即每月进行一次人工检测.人工检查受环境因素、地理因素和人为因素的影响,导致检查效率低,工作量大,耗费大量的人力、资金和设备.尤其在地形崎岖或隧道内光线不足的情况下,检查难度大且极易发生漏检等情况.此外,随着高速铁路的不断发展,隧道的数量和长度不断增加,有时甚至一条隧道长达几十千米,这对卡具维护人员提出了巨大的挑战.在采集视频回放检测阶段,通常在列车窗口安装高速摄像机,采集并存储列车在整个运行过程中拍摄的图像.虽然图像进行了压缩处理和定位识别等简单操作,但是由于存储的是列车运行过程中的所有视频数据,并且需要手动回放来确认故障点.这就导致了存储数据量大,检测周期长以及难以定位故障点等缺点.因此,解决隧道内漏缆卡具的智能检测有着重要的现实需求.

近年来,深度学习以其强大的学习能力在目标检测领域得到了成功应用[4-5].与机器学习相比,它不需要人工提取目标特征,可以实现端到端的检测.目前主流的基于深度学习的目标检测算法通常可分为one-stage算法和two-stage算法.其中,基于区域的two-stage算法主要包括R-CNN[6],Fast R-CNN[7]和Faster R-CNN[8].基于回归的one-stage算法主要有YOLO[9]和SSD[10].基于two-stage的算法一般精度高,但速度慢,实时性较差.在基于回归的one-stage算法中,YOLO算法速度较快,但精度不高.SSD算法结合了YOLO的回归思想和Faster R-CNN的anchor机制,既保持了YOLO速度快的特性,也保证了检测结果跟Faster R-CNN一样比较精准,具有广阔的应用前景.

本文作者提出了一种基于特征增强SSD的铁路隧道漏缆卡具检测方法,目的主要是提升漏缆卡具的检测精度.该方法在SSD算法的基础上,通过增加网络宽度和网络深度,增强模型特征提取能力.使用特征融合的方式结合高层网络和低层网络以增强网络特征信息,提升模型检测精度.采用深度可分离卷积和1×1卷积使模型轻量化以便于模型部署.实验结果表明,该方法可以准确检测并区分隧道内的漏缆卡具,具有很高的工业应用价值.

1 本文算法

1.1 特征提取网络

SSD是一种基于回归的目标检测算法[10].为了提升网络模型的性能,改进后的模型针对SSD算法的主网络VGG16,增加了网络模型的深度和宽度以增强网络的特征提取能力.改进后的模型在网络宽度上,主要结合了Inception结构[11-12],令每个BlockConv结合了1×1卷积,3×3深度可分离卷积以及3×3池化的操作,使BlockConv可以提取到更多的特征信息.该模型通过堆叠卷积层,增加了网络深度,并结合残差结构解决网络深度增加而带来的模型退化的问题.改进后的模型特征提取网络如表1所示.其中Conv2D采用的是传统卷积,D_S_Conv采用的是深度可分离卷积,BlockConv采用的是改进的卷积模块.改进的卷积模块BlockConv的结构如图1所示.在特征提取网络中,特征图大小的过渡采用步长为2的深度可分离卷积实现.

表1 特征提取网络Tab.1 Feature extraction network

网络宽度与每层网络可以提取到的特征数量相关,在一定程度上提升模型的网络宽度可以使特征提取网络得到更多的特征信息,对提高目标检测的精确度有一定的帮助.本文改进的SSD网络模型结合了Inception网络的相关组成结构,通过对输入的上层网络,分别进行1×1卷积,3×3深度可分离卷积和3×3最大值池化,并将检测结果拼接起来传入下层网络等操作,增加了SSD主干网络的宽度,使模型可以提取到更多有用的特征.改进后的结构结合了稀疏结构[13],将不同大小的卷积核卷积得到的结果和池化得到的结果,通过密集的结构模块来替代最优的局部系数结构,可以减小由于参数增加而带来的过拟合现象.

由于网络层数的加深在一定程度上可提高模型的非线性表达能力,使得模型可以学习到一些更加复杂的变换,有效提高模型对特征的拟合能力,且较深的网络模型汇集了各种低、中、高不同层次的特征,具有鲜明的特征层次.因此,该模型在构建卷积网络时,通过堆叠卷积层加深了网络深度.改进后的模型通过在卷积层之后激活函数之前加入批量归一化[14],将需要传递的特征规范化以解决梯度消失和爆炸问题.网络深度增加,也会使模型产生退化,如深层的网络结构可能比浅层的网络效果更差,这主要是由冗余的网络层学习了不是恒等映射的参数造成的.为了解决模型退化问题,模型引入了ResNet网络[15-17]中的残差结构.图1中,每个BlockConv的输入都可以在输出前直接叠加在Inception结构的输出中,确保随着网络深度的增加,该模型可以通过恒等映射退化为一个浅层网络,保证模型的检测效果.残差单元见图2.该结构可将学习一个恒等映射函数H(x)=x转化成学习一个残差函数F(x)=H(x)-x.这样拟合残差函数更加容易.当残差F(x)=0时,此时叠加的卷积层只是做了恒等映射,可以保证至少网络性能不会下降,这也使得深层网络在输入特征基础上学习到新的特征,从而拥有更好的性能.

图1 改进SSD的BlockConv结构Fig.1 Improved SSD BlockConv structure

图2 残差单元Fig.2 Residual unit

1.2 特征融合模块

为了增强待检测层的特征信息,改进后的模型通过特征融合的方式,对含有丰富语义信息的高层特征图和含有丰富位置信息的低层特征图进行融合,增强高层特征图位置信息表达能力,以提高目标检测的精度.网络的特征融合模块如图3所示.其中,对低层特征图进行卷积操作,对高层特征图以双线性插值的上采样操作使形成的特征层与低层特征层大小和深度一致,然后对这两层的特征图像素点对应相加,形成最终的待检测层,以用于后续的卡具分类和卡具定位.该模块根据低层特征分辨率高且包含更多位置和细节信息,但语义性低、噪声多;高层特征语义信息强,分辨率很低,对细节的感知能力较差,通过高、低层网络特征融合形成的待检测层,增强了语义特征及信息表达能力,更有助于后续的卡具分类及定位.

图3 特征融合模块Fig.3 Feature fusion module

1.3 模型轻量化

为了节省存储空间和算力资源便于模型部署,该模型使用了大量深度可分离卷积和1×1卷积,进行了轻量化处理.该模型使用深度可分离卷积替换了较多的传统卷积运算.深度可分离卷积将传统卷积分成了深度卷积和点卷积[18-19].当输入特征图为Fs×Fs×M,输出特征图为Fs×Fs×N,卷积核为Fk×Fk时,传统的卷积运算量Sc为

Sc=Fk×Fk×M×N×Fs×Fs

(1)

式中:Fs是特征图的宽与高;M是输入特征图的深度;Fk是卷积核的宽与高.

深度可分离卷积的计算量Sn为深度卷积和点卷积的计算量之和

Sn=Fk×Fk×M×Fs×Fs+

M×N×Fs×Fs

(2)

深度可分离卷积与传统卷积的计算量之比为

(Fk×Fk×M×Fs×Fs+M×N×Fs×Fs)/

(3)

2 模型训练

实验将原始卡具分为良好卡具和故障卡具两种类型,并对卡具目标进行标注.在训练过程中,在批量归一化操作中选用输入的批次大小为4.在网络的训练过程中,将一定批次大小的卡具图片及其对应的真实框坐标和标签输入到网络,把图片尺寸调整为300×300,通过SSD算法的主干网络提取特征.通过特征融合的方式分别在特征图为1×1×128,2×2×256,3×3×256,5×5×512和10×10×1024进行上采样,将新形成的每一张特征图与其对应的低层特征图的像素点对应相加,形成最终的6层待检测层.待检测层的特征图分别为19×19×1024,10×10×1024,5×5×512,3×3×215,2×2×256,1×1×128.然后在这6个特征层上分别生成anchor.结合分类损失和位置回归损失,预测anchor的分类及坐标,并将预测结果整合在一起,通过与真实框的IOU匹配,返回anchor对应的包围框坐标及分类标签,最后通过非极大值抑制得到置信度最高的检测结果.此外在先验框生成中,结合本实验中卡具的结构特征,将其中先验框宽高比由(1/3,3)改为了 (2/3,3/2).

实验中对训练数据进行了数据增强,因为当训练数据不足时,模型从原始数据中获得的信息相对较少,这可能会导致过拟合的风险.在这种情况下,模型的效果很难保证.因此,我们使用先验信息对原始数据进行处理,通过对原始数据进行调节亮度、对比度、旋转、翻转、模糊和加噪声等操作,实现了数据增强的效果.

3 实验与分析

本实验采用的硬件环境为:Intelxeon E5-2697-v2,NVIDIA GeForce GTX 1080 Ti,采用了tensorflow平台用于训练和测试工作.在实验中,数据来源于现场实测数据,由架设在高铁内窗上的高速双线CMOS相机采集的隧道内视频数据,经处理共获得3552张原始夹具数据.其中,75%的图像作为训练数据集,剩下的25%作为测试数据集.

在检测精度方面,一般使用mAP(mean Average Precision)衡量所有类别的平均准确率.在本实验中,所提出的模型和对照算法之间的性能对比如表2所示.可以看出,本文改进的SSD算法,在卡具检测中平均精度达到了90.4%,在检测精度上优于其他对比算法.改进的SSD算法相比于Faster RCNN平均准确率提升了0.8%,检测速度是Faster RCNN的3.1倍,性能明显更优.此外,对于模型的检测速度一般使用每秒检测的帧数来衡量.改进的SSD检测速度不是最优的选择,但是和Faster RCNN处于相对接近的水平,相比于MobileNet SSD算法,检测精度更是增加了10.7%,综合性能更优.

表2 算法性能对比Tab.2 Comparisons of algorithm performance

在隧道内漏缆卡具检测的场景下,本文改进SSD算法的实验检测结果示例如图4所示.

图4 模型检测结果示例Fig.4 Example of model checking results

从图4中可以看出,改进后的SSD算法在卡具检测与分类上,表现出良好的效果.此外,模型对卡具的检测精度不够好,有一定原因是虽然对卡具数据进行了一定的数据增强操作,但是故障卡具的数量依然相对较少,模型对故障卡具的学习能力并没有达到最好.随着后期工作的进展,故障数据采集增多,模型能够从数据中提取到更加丰富的特征,对故障卡具的检测结果也能进一步提高.

4 结论

1)提出了一种基于特征增强SSD的隧道漏缆卡具检测方法,该方法通过增加网络宽度和网络深度,增强了网络模型的特征提取能力.通过融合高、低层网络特征增强了待检测层的网络特征信息,提高检测精度.通过深度可分离卷积和1×1卷积使模型轻量化,更便于网络模型的部署.

2)实验结果表明,在隧道漏缆卡具检测场景中,该模型检测的平均准确率达到了90.4%,检测速度达到了22 fps,对实际卡具检测具有一定的指导意义.

在后期工作中,随着数据量的丰富,模型的检测精度也会有一定的提升,同时将故障数据进一步分类,也是后期的重点之一.

猜你喜欢

卷积隧道深度
基于全卷积神经网络的猪背膘厚快速准确测定
四增四减 深度推进
深度思考之不等式
云南:弥蒙高铁隧道全部实现贯通 弥蒙高铁最后一座隧道大庄隧道贯通
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
简约教学 深度学习
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用