随着城市人口的快速增长和交通需求的不断增加,地铁在现代城市交通中扮演着不可或缺的角色。截至2023年底全球有79个国家和地区的563座城市开通了城市轨道交通系统,总里程超过43 400.39 km,其中地铁占总里程数高达50.07%,并且中国地铁里程占全球的48.60%,位居世界第一[1]。同时,随着疫情的结束、经济复苏,地铁客流规模和运营里程都迅速增长,地铁运营的安全性也愈发重要,有必要加强针对地铁安全运营的保障技术。铁路交通事故中,对地铁行车安全造成的危害最大的是地铁轨道中的障碍物,与障碍物碰撞容易造成人员伤亡和巨大的经济损失,目前基本依靠运营前轧道车检查和驾驶员的判断来确保驾驶安全[2],然而轧道车检查不具备实时性,驾驶员的疏忽和反应迟缓也是不可避免的,为保证地铁安全行驶,基于机器视觉的地铁轨道障碍物检测技术成为研究重点,由于对地铁行车安全造成影响的主要是轨道内的障碍物,铁轨图像识别也是障碍物检测的重要组成部分。铁轨识别主要分为基于传统图像处理和基于深度学习。基于传统图像处理的铁轨识别技术主要针对图像中的边缘特征,识别铁轨边缘从而划分出铁轨轨道区域。陈明曦等[3]提出改进Canny算法,通过对图像进行中值和频域滤波来保留和增强图像的边缘信息,以边缘搜索的方式提高图像的准确度,但处理速度慢,且容易丢失边缘特征。吴昭等[4]通过引入单帧融合决策和多帧处理结果融合的方法,提高在复杂环境干扰下轨道识别的准确性。董昱等[5]改进霍夫变换,针对铁轨的边缘特征完成远近景的标定,采用Hu不变矩特征来提取轨道特征,并用B样条曲线拟合来检测轨道,较好地解决弯道拟合问题,但准确度仍不够高。周占松[6]利用平行轨道的宽度特征提取轨道中心点集,在排除无关干扰点后利用霍夫变换拟合轨道,但是只能应用于直线轨道。沈鑫[7]对铁路轨道近景影像中钢轨区域灰度特征进行分析,利用SURF算法建立局部映射矩阵实现钢轨边缘自动提取。SELVER等[8]提出将视频帧划分为4个区域,使用不同尺度的二维Gabor小波进行边缘检测。WANG等[9]通过将基于ipm的图像的边缘特征与候选轨道模式进行匹配来提取轨道,提出一种基于几何约束的轨道提取方法。然而基于传统图像处理的铁轨识别技术仍具有很大的局限性,面对复杂场景如弯道、道岔或者极端光照情况等识别效果较差,而且其中一些算子和阈值需要根据经验进行手工确定,适应性和使用效率偏低。近年来深度学习凭借其学习能力强、适应性强和计算效率高等特性,在许多领域取得不错的成果,尤其是图像处理领域,进而有学者提出使用基于深度学习的方法进行铁轨识别。黄世泽等[10]提出利用Yolact实例分割算法检测轨道,该方法模型能以像素级的精度准确识别复杂场景下的轨道。王子冠等[11]将深度学习中的目标检测算法应用于铁轨识别领域,但识别速度受到限制,不能满足实时性的需求。然而,目前使用深度学习方法进行铁轨识别的研究较少,且大多数不能满足复杂的铁轨场景变化和实时性要求。车道线与铁轨轨道都具有极强先验特征,并且车道线检测的研究发展较为成熟,因此对铁轨识别有较大的参考价值。PAN等[12]深入探索CNN捕获图像中跨行和列像素的空间关系的能力而提出RCNN,使用特征映射中的逐片卷积实现层中跨行和列的像素之间的消息传递,可以捕获外观线索少的长连续性物体如车道线之间的空间关系,虽然提高了车道线检测的准确性,但计算量大,实际使用时无法满足实时性需求。NEVEN等[13]将车道线检测问题转化为实例分割问题,提出一种端到端的车道线检测网络LaneNet,将车道线检测分为车道检测和车道嵌入2个分支,分别用于从图片中分割出车道和从车道中分解出实例,但该方法的分割模型较大,聚类耗时高,难以满足实时性需求。KO等[14]基于关键点检测和实例分割提出能检测任意方向和数量的车道线PINet模型,有较低的误检率。RAN等[15]提出具有能够不断校正线锚的位置以提高检测性能和计算效率的线锚机制用以检测车道线,提高了细节提取和全局建模能力。QIN等[16]提出一种针对检测速度和无视觉线索问题的车道检测方法UFLD,将车道线检测任务重述为混合锚点坐标的有序分类问题,可以显著降低计算成本,但检测结果不够精确。TABELINI等[17]设计了LaneATT模型,提出一种可以集合全局信息的基于锚点的注意力机制,实现较高的准确性和精度。ZHENG等[18]提出CLRNet,将车道线中的高级语义和低级语义结合,并在公共数据集中取得了比其他车道线检测网络优秀的准确率。与车道线相比,铁轨因颜色较深而难以与背景区分,同时还有与车道不同的复杂铁路场景,铁轨识别相比于车道线检测有更大的挑战性,需要更多的特征信息。本文针对铁轨识别和车道线检测技术现状,将车道线检测任务的检测思想迁移至轨道识别任务,对CLRNet进行改进,提出针对铁轨识别的CLRNet-L算法模型,该算法能够有效地进行铁轨图像识别任务,同时满足实时性需求。
1 CLRNet-L模型
1.1 CLRNet-L网络结构
CLRNet-L是基于关键点检测的铁轨识别网络,网络结构如图1所示,整体主要分为跨层细化、特征增强和损失函数3个部分,跨层细化部分使用融合了大内核注意力(Large Kernel Attention,LKA)模块的特征金字塔结构,特征增强部分使用ROIGather模块进行轨道特征增强,损失函数部分引入线交并比作为轨道线损失提高模型性能。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F001.jpg)
1.2 先验轨道表示
轨道具有显著的形状先验,因此可以预定义先验轨道用以更好地定位轨道。目标检测任务通常使用矩形锚框表示对象,然而轨道又细又长,用锚框框出长条的轨道并不合理,容易包含大量无关信息,因此使用CLRNet-L时用等间距的2D点作为轨道线表示。如式(1)和式(2)所示,轨道线被表示为一系列点的序列P,纵轴坐标由在图像垂直方向上进行等间距采样取得,H是图像高度,N是采样数。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M001.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M002.jpg)
每个先验轨道由4个部分组成:1) 前景和背景概率。2) 先验轨道长度。3) 轨道线的起点和与x轴之间的夹角,分别由x、y、θ表示。4) N个偏移量,即预测值与真值之间的水平距离,本文设置N=72。图2为先验轨道示例。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F002.jpg)
1.3 跨层细化
在神经网络中,深层高级特征对整个对象具有更多的语义响应,而浅层低级特征则具有更多的局部上下文信息。轨道是一种带有高级语义的交通标志,但同时也需要详细的低级特征来进行精确的定位,因此检测轨道线需要考虑结合高级语义特征和低级特征。
CLRNet-L提出使用特征金字塔网络结构(Feature Pyramid Network,FPN)[19]生成特征映射进行特征融合,通过FPN检测到具有高级特征的轨道,对轨道进行初步定位,再基于初检测到的轨道,利用更详细的低级特征来逐步细化完善,同时在FPN中集成LKA来提取更多的上下文信息。
CLRNet-L使用ResNet[20]作为FPN的前馈骨干网络生成不同尺度下的特征,用{L0,L1,L2}表示由FPN生成的不同层级的特征图,P0是初始化预设的先验轨道,P1和P2是细化生成的先验轨道,从L0层开始自上而下从高级特征到低级特征逐层细化,细化过程如式(3)所示。式中Rt表示ROIGather层,Rt获取上一层的先验轨道Pt-1和特征图Lt-1生成优化后的特征,再将其与Pt-1结合得到细化后的先验轨道。跨层细化本质上是对先验轨道的细化修正。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M003.jpg)
铁轨轨道线通常覆盖整个图像,需要大量的上下文信息才能准确捕获,提高铁轨轨道的锚点特征质量是提高轨道识别准确性的重点。铁轨轨道具有细长和连续的物理特性,导致在整个图像中的有效信息占比很小,这使得对图像中铁轨轨道特征信息的准确描述和提取存在很大的障碍。为解决这个问题,本文引入一种结合了注意力机制和多尺度聚合器的大内核注意力模块[21]来增大接受野用以获取更多的上下文信息、增强轨道特征信息的表示。
LKA模块的结构如图3所示,参考Conv2Former[22]里Convolutional modulation的设计,不同于传统的自注意力机制将输入令牌进行Softmax等处理计算相似度评分矩阵,而是使用多尺度聚合器(MSA)来计算输入令牌之间的相似度,再依次通过哈达玛积和前馈神经网络来提取特征。具体实现如式(4)和式(5)所示,其中⊙表示哈达玛积,W1和W2表示2个线性层,Satt表示相似度评分矩阵,FFN表示前馈神经网络。总的来说,输入特征X分别通过线性层和MSA后求哈达玛积,结果加上X得到Z,最后将Z通过FFN的结果加到Z上得到增强的特征信息Z1。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F003.jpg)
MSA则是参考SegNeXt[23]中的多尺度卷积注意(MSCA)模块,如式(6)所示,MultiChi用于表示4条前馈路径,其中MultiCh0是跳跃连接,其他3条路径使用深度带状卷积来近似大卷积核(分别为7×7、11×11、21×21),深度带状卷积可以在近似大卷积核的同时减少参数数量,同时作为网格卷积的补充,有助于提取像铁轨轨道这样的长条形带状特征。输入特征X进行5×5深度卷积后分别通过4条前馈路径再求和,最后通过线性层变换求得相似度评分矩阵Satt。
LKA被集成在FPN网络的横向层之后,既实现了提取更多上下文信息和增强轨道特征表示的效果还能够最小化计算成本,满足模型性能需求。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M004.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M005.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M006.jpg)
1.4 特征增强
先验轨道特征可以用ROIAlign获得,然而轨道可能会在某些情况如极端光照条件下被模糊,此时仅靠ROIAlign提取的特征是不足够的。ROIGather是CLRNet-L中用于增强轨道特征的表示的模块,它可以有效地捕获全局上下文信息,从而提高检测的准确性。
ROIGather层被分为2个部分,特征提取和特征补偿。
特征提取部分将特征映射和先验轨道作为输入,从先验轨道中统一采样Np个点,并使用双线性插值来计算这些位置的输入特征的确切值(
上述特征提取方法提取得到的特征是不充分的,为此,使用了一种基于注意力机制的方法ROIGather Attention来收集上下文信息进行特征补偿。首先如式(7)中,用softmax归一化函数f计算车道先验特征xp和全局特征图xf之间注意力矩阵H,然后如式(8)所示将H与xf相乘得到全局特征图对先验轨道的特征补偿T,最后直接将补偿添加到先前提取的xp中输出增强后的特征。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M008.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M009.jpg)
1.5 损失函数
轨道先验由离散点组成,需要用其基础真值进行回归。受交并比(Intersection over Union,IoU)的启发,CLRNet-L引入了线交并比(Line Intersection over Union,LIoU)来计算轨道线的损失,它将轨道线表示为无限线点的组合,然后将其转换为离散形式进行计算。不同于传统距离损失只回归单独的点,LIoU将轨道线作为一个整体单元来回归,从而避免了轨道线的断裂和不连续问题。此外,LIoU还可以提高轨道线检测的鲁棒性,因为它可以将轨道线的形状和位置作为一个整体来考虑,从而减少了噪声和干扰的影响。
如图4所示,预测点
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F004.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M016.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M017.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M018.jpg)
总体损失函数定义如式(12),分别为预测和标签之间的分类损失Lcls,起始点坐标、角度和轨道长度的smoothL1损失Lxytl以及轨道线损失LLIoU的加权和。分类损失函数使用focal loss损失,可以用来缓解样本类别不平衡问题,如式(13)所示。起始点坐标、角度和轨道长度的损失使用smoothL1损失,如式(14)所示。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M019.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M020.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M021.jpg)
2 实验
2.1 数据集准备
由于现有的公共数据集中几乎没有轨道场景,本文从杭州5号线和6号线中收集数据,将摄像头固定于地铁驾驶室进行照片采集,摄像头采集帧率为25 FPS,地铁最高速度80 km/h。对摄像头采集到的视频进行处理,获取地铁前进过程中前方的道路画面,将图像分辨率统一为1 400*930,总共1 689帧,包含有直道、弯道和道岔场景,如图5所示,并手动创建用于训练和验证的数据集,其中训练集、验证集和测试集比例约为8∶1∶1。因为在实际铁轨识别中,只关注地铁列车实际运行的轨道,即画面中间的2条铁轨,因此数据集标注时只对地铁所在轨道进行标注,并将网络检测铁轨数量设置为2条。对于每一个图像,都生成对应的轨道线分割图和标签文件,如图6所示为具体标签文件内容,每2个数为一个(x,y)坐标,标签依据为纵向等间隔采样,表示为同一条铁轨在不同高度下的点的采样坐标,图6中所示为每50像素采样宽度,实际数据集中采样宽度设置为10像素。同时,因为铁轨分布在图像的中下方,综合分析数据集中所有图像,在训练时对图像进行裁剪,设置cut_height参数为300用以排除其他无关环境的干扰。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F005.jpg)
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F006.jpg)
2.2 训练
本文使用上述自制铁轨轨道数据集分别在网络CLRNet、CLRNet-L、UFLD和LaneATT上实验并进行对比分析。实验所用处理器为Intel(R) Core(TM) i7-7800X CPU@3.50 GHz,运行内存为32 GB,GPU为GeForce GTX 1080 Ti,采用PyTorch深度学习框架,均通过Python代码实现。
表1表示实验所用不同算法的参数设置,输入图像分辨率都为1 400*930。CLRNet和CLRNet-L学习率为3×10-4,批大小为16,分别使用骨干网络ResNet18、ResNet34、ResNet101,总训练轮次为100轮。UFLD学习率为0.1,批大小为32,分别使用骨干网络ResNet18、ResNet34,总训练轮次为50轮。LaneATT学习率为3×10-4,批大小为8,分别使用骨干网络ResNet18、ResNet34,总训练轮次为15轮。以上4种算法模型经过训练,其在训练集和验证集中的损失都趋于稳定且收敛于较低的损失值,说明在本文网络参数设置中各算法模型已训练充分。
算法 | 图像分辨率 | 学习率 | 批大小 | 训练轮数 | 骨干网络 |
---|---|---|---|---|---|
CLRNet | 1 400*930 | 3×10-4 | 16 | 100 | ResNet18/ResNet34/ResNet101 |
CLRNet-L | 1 400*930 | 3×10-4 | 16 | 100 | ResNet18/ResNet34/ResNet101 |
UFLD | 1 400*930 | 0.1 | 32 | 50 | ResNet18/ResNet34 |
LaneATT | 1 400*930 | 3×10-4 | 8 | 15 | ResNet18/ResNet34 |
2.3 评价指标
本文采用均交并比(Mean Intersection over Union,MIoU)作为评价指标,计算公式如式(15)所示。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-M022.jpg)
其中,TP(True Positive)为真阳性,表示预测结果为正样本,事实上也为正样本,即正样本被正确识别的数量,FN(False Negative)为假阴性,表示预测结果为负样本,事实上是正样本,即被漏报的正样本数量,FP(False Positive)为假阳性,表示预测结果为正样本,事实上是负样本,即错误预测的负样本数量。
本文使用训练所得模型在测试集中进行检测,对每一条轨道计算IoU,得出在整个测试集中的MIoU,并计算不同IoU阈值下的TP、FN、FP、准确率、召回率和F1值,通过以上测试结果来对模型效果进行评估。
2.4 实验结果与分析
图7展示了使用经过训练后的4种模型对测试集进行铁轨识别的可视化结果,可以看出,UFLD虽然能够大致检测出铁轨的位置,但是检测出的轨道线存在偏移,并且在弯道的检测效果比较差,所输出的轨道与实际铁轨有偏差,不足以满足检测要求;LaneATT在道岔和直道场景中能够较为准确地检测出铁轨轨道,但是在弯道场景中的检测结果中存在明显偏差,同时在弯曲程度更明显的弯道中会无法检测出轨道,说明LaneATT对弯道的检测效果不够好,无法满足检测需求;CLRNet针对数据集中的4种场景都可以较好地检测出铁轨,只是在铁轨轨道的末端,尤其是弯道场景中,检测出的轨道线会有一部分偏离;CLRNet-L都可以较好地检测出铁轨,并且在铁轨轨道末端的检测效果略优于CLRNet。
/alternativeImage/2B9FF9F7-E72E-4c9c-815B-B8D494B941DA-F007.jpg)
表2为不同骨干网络下使用4种网络模型在测试集上进行检测的结果指标对比。CLRNet-L/ResNet34的测试集MIoU最高,高达88.96%,ResNet18和ResNet101略低,但都在85%以上,与CLRNet相比有明显提升,且显著高于UFLD和Lane ATT网络的检测结果。另外根据不同IoU阈值下的F1值结果可以发现,UFLD网络在60%的IoU阈值之后检测精确度显著下降,甚至无法达到50%的准确率,预测出的轨道与实际轨道之间存在一定程度的偏移。Lane ATT网络表现略高于UFLD,在70%的IoU阈值时仍能达到80%左右的F1值结果,但在70%的IoU阈值之后也出现了准确度的明显下降。而CLRNet网络和CLRNet-L网络在80%的IoU阈值下仍然能够较好地检测到铁轨,检测结果F1值都在80%以上,CLRNet-L/ResNet101在80% IoU阈值时的F1值最高,有88.08%。同时,在90%的IoU阈值下CLRNet-L的表现相比CLRNet有了显著提高,都能够达到50%左右的F1。由此结果表明CLRNet-L网络在铁轨图像识别任务上的准确率表现明显优于UFLD、LaneATT和CLRNet网络。在检测时间方面,可以看到UFLD/ResNet18的检测速度最快,平均每张图片的检测时间只需要11.48 ms,CLRNet/ResNet101的检测速度最慢,平均每张图片的检测时间需要27.15 ms,而CLRNet-L的检测速度相较于CLRNet有了提升,同时略微慢于UFLD,但没有明显差距。在使用了不同骨干网络的CLRNet-L中,CLRNet-L/ResNet18的检测速度最快,平均每张图片的检测时间只需要11.54 ms,CLRNet-L/ResNet34能在保持较高的MIoU的情况下仍然达到13.64 ms的检测速度,相比LaneATT快了约1.30 ms,比检测速度最快的UFLD只慢了约1.34 ms。因此将CLRNet-L/ResNet34用于铁轨轨道识别任务,既能取得较高的MIoU值,有较高的准确度,而且检测速度快,能够满足实时性的需求。
网络 | MIoU/% | 时间/ms | F1@50/% | F1@60/% | F1@70/% | F1@80/% | F1@90/% |
---|---|---|---|---|---|---|---|
UFLD/ResNet18 | 61.08 | 11.48 | 73.26 | 55.52 | 35.17 | 23.26 | 8.43 |
UFLD/ResNet34 | 62.06 | 12.23 | 74.13 | 61.05 | 36.92 | 19.19 | 4.07 |
LaneATT/ResNet18 | 79.10 | 13.14 | 96.35 | 89.93 | 78.83 | 56.35 | 22.19 |
LaneATT/ResNet34 | 80.87 | 14.94 | 94.26 | 91.90 | 83.95 | 60.68 | 27.39 |
CLRNet/ResNet18 | 85.40 | 14.15 | 100.00 | 98.84 | 93.90 | 86.34 | 43.02 |
CLRNet/ResNet34 | 87.09 | 15.23 | 100.00 | 98.84 | 93.90 | 86.34 | 43.02 |
CLRNet/ResNet101 | 85.10 | 27.15 | 100.00 | 98.55 | 93.31 | 81.4 | 28.78 |
CLRNet-L/ResNet18 | 87.65 | 11.54 | 100.00 | 97.97 | 94.48 | 84.01 | 59.01 |
CLRNet-L/ResNet34 | 88.96 | 13.64 | 100.00 | 98.55 | 95.06 | 86.05 | 60.47 |
CLRNet-L/ResNet101 | 88.15 | 24.35 | 100.00 | 99.42 | 96.22 | 88.08 | 48.26 |
3 结论
1) 将车道线检测任务迁移至铁轨图像识别任务,车道线与铁轨轨道共同具有细长连续的形状特征,使用较为成熟的车道线检测算法在轨道交通场景中进行铁轨轨道检测能够获得较优的结果,且相较于现有的铁轨识别方法有更高的检测精度、实时性和适应性。
2) 提出针对地铁铁轨识别的深度学习算法CLRNet-L,利用将高级特征与低级特征融合的思想进行铁轨识别,结合大内核注意力模块提取更多的上下文信息,增强了铁轨轨道的特征表示,在一定程度上解决了铁轨颜色较深而难以与背景区分的问题,对地铁场景中轨道识别有较好的适应性,有助于提高铁轨识别的准确性。
3) 从杭州5号线和6号线中收集数据,采集地铁前进过程中前方的道路画面制作针对地铁铁轨识别的数据集,数据集中包含直道、弯道和道岔场景,可用于针对铁轨识别的深度学习算法的训练。
4) 实验证明,本文提出的方法能够在自制数据集中得到高达88.96 %的MIoU和最快11.54 ms的运行速度,对比车道线网络UFLD和Lane ATT,CLRNet-L在铁轨识别任务中能够取得更高的精度和较高的检测速度,表现更加出色。
SegNeXt: rethinking convolutional attention design for semantic segmentation
[EB/OL]. 2022: arXiv: 2209.08575. http://arxiv.org/abs/2209.08575.徐心慈,师秀霞,耿晨歌等.基于深度学习的铁轨图像识别技术[J].铁道科学与工程学报,2024,21(12):5232-5241.
XU Xinci,SHI Xiuxia,GENG Chenge,et al.Rail image recognition technology based on deep learning[J].Journal of Railway Science and Engineering,2024,21(12):5232-5241.