改进YOLOv5s的轨道障碍物检测模型轻量化研究

2023-02-28 09:19孙士杰张朝阳冯明涛吴成中
计算机工程与应用 2023年4期
关键词:剪枝注意力卷积

李 昂,孙士杰,张朝阳,冯明涛,吴成中,李 旺

1.长安大学 信息工程学院,西安 710064

2.西安电子科技大学 计算机科学与技术学院,西安 710064

3.湖南大学 机器人视觉感知与控制技术国家工程实验室,长沙 410000

4.中车株洲电力机车有限公司,湖南 株洲 412000

随着社会经济水平的不断提高,铁路运输由于安全便捷、绿色高效、运量大、成本低等特点,已经成为货物运输和人民出行的首选交通方式。列车的全自动驾驶技术已经成为当下研究的热点,无人驾驶列车更是未来铁路运营的重要目标。随着列车行驶速度以及铁路线路里程的不断提高,对列车的行驶安全问题提出了重大要求。其中列车行驶轨道中随机出现的障碍物对列车运行安全的影响最为严重,如果高速行驶的列车与障碍物发生碰撞,就会造成重大的安全事故,造成严重的国民经济损失。对列车轨道障碍物的智能检测与识别一直是人们研究的重点。

传统的检测方法主要有接触式和非接触式两大方法[1]。其中接触式检测方法的代表为电网检测法以及传感器检测法,这一检测技术虽然趋于成熟,但是安装步骤复杂,工程量巨大,且需消耗大量金钱与人力成本,不适合大规模投入使用。基于图像和雷达的非接触式检测方法近年来发展迅速,且成本与效率远大于接触式检测方法。郭双全等[2]提出了一种基于雷达检测的检测方法,该方法可以精准定位到轨道障碍物的位置及大小信息,但无法从中判定障碍物的种类信息,使得工作人员无法采取及时有效的应对措施,有一定局限性。金炳瑞等[3]提出一种基于图像处理的障碍物检测方法,但只考虑了天气、光照、时段等情况良好的场景,对于大雾、大雪等恶劣天气以及夜晚时段光照不充分的情况具有很大的局限性。2012 年以来随着深度学习理论的迅速发展,深度卷积神经网络在目标检测领域取得了广泛应用,目标检测的实时性和精确性都获得了巨大提升。

目前主流的深度学习检测网络主要分为单阶段检测网络和双阶段检测网络两种。其中以Faster R-CNN[4]为代表的双阶段检测网络需要先用特征提取器生成一系列可能包含物体的预选框,然后在预选框上进行进一步的目标检测,具有较高的检测精度,但检测的实时性较差。史红梅等[5]通过深度学习方法将异物检测与分类相结合,但检测精度还有待提升。徐岩等[6]提出了一种基于Faster R-CNN 的铁路异物侵限检测方法,但模型体积较大,检测实时性较差,不利于在移动端及嵌入式设备上部署。以YOLOv4[7]、SSD[8]为代表的单阶段检测网络只需一次特征提取就可实现目标检测,速度相比于双阶段检测网络更快,但检测精度会有一定的损失。刘力等[9]提出了一种基于YOLOv4 的铁路障碍物检测方法,取得了不错的检测效果,但该方法对较小目标的障碍物检测精度较低,无法准确识别距离较远的障碍物目标。如何平衡检测速度与检测精度这两个指标也是当下研究的重要问题。目前主流单阶段检测网络的YOLOv5,在检测速度及检测精度上皆有良好的表现,在实际工程应用中取得了广泛的关注。郭磊等[10]提出了一种针对小目标检测的YOLOv5算法模型,在小目标物体检测上具有更强的特征提取能力和更高的检测精度。邱天衡等[11]提出了一种改进特征融合结构的YOLOv5 算法模型,降低了网络的参数量和计算量,在提升模型检测精度的同时保持了模型的轻量化。杨晓玲等[12]将YOLOv5算法应用于路面障碍物目标检测,在实际的交通场景中取得了良好的效果。本文提出了一种基于改进YOLOv5的列车轨道障碍物检测模型,通过Mixup数据增强技术对输入图像进行预处理,增强了模型的泛化能力。将YOLOv5 网络中的普通卷积层替换为深度可分离卷积GhostConv卷积模块,并引入了注意力机制,同时进行了模型剪枝操作,有效减少了参数总量,在大幅提高模型检测速度的同时提高了检测精度,在实际应用中取得了良好的检测效果。

1 YOLOv5算法原理

YOLOv5 是YOLO 系列发展至今的第五代检测算法,它在更加轻量化的同时提供了更高的检测精度,现已成为该系列中性能最优的算法,在工程应用中取得了出色的效果。YOLOv5根据网络的深度与宽度可分为四个不同的版本,分别为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,四个版本的检测精度与模型大小依次提升。本文主要针对高速行驶的列车前方500 m 范围内随机出现的轨道障碍物进行检测,为了满足对检测实时性的要求,选用更加轻量化的YOLOv5s作为基准模型,方便后续在嵌入式设备中的应用。YOLOv5s的总体结构如图1所示,总共由四部分组成。

图1 YOLOv5网络结构Fig.1 YOLOv5 network structure

1.1 输入端

(1)Mosaic 数据增强:Mosaic 数据增强使得模型可以一次性读入四张图片,并对其中的每张图片进行随机裁剪、色域变换、缩放、翻转等操作,最后将这些图片拼接在一起进行处理。这种操作方式丰富了检测物体的背景,增强了网络的泛化能力和鲁棒性。

(2)自适应图片缩放:模型在进行运算时需要将输入的图片尺寸变为固定大小,如果简单地使用resize,就会造成图片的失真。YOLOv5 自适应地对输入的图片两端填充上最少的黑边,然后再送入神经网络模型中进行训练。这种处理方式能够有效提升模型的运算速度又不会造成过多的信息冗余。

(3)自适应锚框计算:YOLOv5 在训练之前会采用k-means 算法和遗传学习算法对数据集进行解析,预先设置固定的Anchor,在网络训练中会在初始锚框的基础上输出预测框,并且计算和Ground Truth 的差距,再反向更新,迭代网络参数,降低损失函数。

1.2 Backbone特征提取网络

(1)CBS结构:CBS层由Conv+BN+Silu激活函数组成,输入的图像先经过卷积层得到输入的不同特征,然后经过BN层对特征数据进行归一化处理,最后再由Silu激活函数处理输入到下一层卷积中。

(2)C3 结构:YOLOv5_v6.0 在主干网络Backbone中使用了C3结构代替了原有的BottleneckCSP结构,其结构与CSP结构基本相同,只是在修正单元的选择上略有不同。C3 结构使得模型更加轻量化,在提高模型学习能力的同时又不会占用大量计算资源。

(3)SPPF结构:SPP结构又被称为空间金字塔池化,能将任意大小的特征图转换成固定大小的特征向量,旨在增强特征图特征表达能力。在YOLOv5_v6.0中使用了SPPF 结构代替了SPP 结构。SPPF 只指定一个卷积核,每次池化后的输出会成为下一个池化的输入,速度相较于SPP更快。

1.3 Neck特征融合网络

Neck部分采用了FPN+PAN结合的方式,运用自上而下的FPN结构以及自下而上的PAN特征金字塔结构作为网络的融合部分。该网络主要用于对提取的特征信息进行堆叠处理并传送到输出层,加强了网络特征融合的能力。

1.4 Head输出端

Head 用来完成目标检测结果的输出。YOLOv5 通过非极大值抑制(NMS)来筛选出目标框,同时采用GIOU_Loss作为损失函数,进一步提升了算法的检测精度。Head中的主体部分是三个Detect检测器,当输入为608×608时,三个尺度上的特征图分别为76×76、38×38、19×19,基于网格的Anchor在不同尺度的特征图上进行目标检测。

2 改进YOLOv5检测算法

2.1 Mixup数据增强

为提升模型在小样本情况下的泛化能力,引入一种更加轻量化的Mixup 数据增强方式。传统离线数据增强方式可以一次性扩充较多数据,但是在假定领域内样本都是同一类,没有对不同类不同样本之间领域关系进行建模。而且传统的数据增强方式会有较大的计算开销,占据较多的存储空间。本文采用了Mixup数据增强技术替代了YOLOv5 中的Mosaic 数据增强。Mixup 是一种与数据本身无关的数据增强策略,以线性插值的方式来构建新的训练样本和标签,可以大幅提升模型的泛化能力而只需要引入极小的计算开销,相较于传统数据增强方式有更好的适用性。其原理如下所示:

其中,λ是由参数α、β的Beta 分布计算出来的混合系数。batchx1与batchx2分别是两个batch样本,batchy1与batchy2是对应的标签,mixed_batchx是混合后的batch样本,mixed_batchy是对应的标签。图2 为α、β相同时的Beta分布概率密度曲线。

图2 不同取值情况下Beta分布Fig.2 Beta distribution under different values

2.2 GhostNet

在实际应用场景中,深度学习模型的计算能力通常会受到硬件环境以及设备空间布局设计的影响,从而受到较大限制。为适应网络模型在列车嵌入式设备中的应用,引入专为移动设备设计的GhostNet[13]网络结构,其核心是利用线性操作来生成丰富的特征图。在原始的网络结构中,提取图片特征的过程中会生成大量冗余特征图,极大地占用了硬件存储空间,降低了运算速度,实时性较差,不符合高速运行的列车进行快速检测的要求。

为了实现网络的轻量化,使用深度可分离卷积GhostConv 模块替代了原有的普通卷积层,结构如图3所示。

图3 GhostConv网络结构Fig.3 GhostConv network structure

为了能够准确获取特征图细节信息,分离出多尺度局部特征信息,首先使用CV1实现更深层特征提取,这是一个1×1 大小的普通卷积层。然后把输出的数据分成若干组特征,经由5×5 大小的卷积核进行线性变换,对特征进行更深层次的提取,最终将变换结果进行堆叠操作,合并输出。网络通过分组卷积的方式来平衡分组效果和卷积数量,大大降低了模型的复杂度,减少了网络参数数量,提升了模型运算速度。

2.3 CA注意力机制

注意力机制是在网络模型计算能力有限的情况下,为了解决信息超载问题,将计算资源分配给更重要的任务而添加进来的一种增强移动网络特征表达能力的计算单元,它可以告诉模型需要关注哪些位置和内容,目前已被广泛使用来加强模型的计算能力。考虑到轻量级网络受硬件环境的约束以及计算能力有限的问题,目前最广泛使用的是SE(squeeze-and-excitation)通道注意力机制[14],它的出现是为了解决在卷积池化过程中Feature Map的不同通道所占的重要性不同带来的损失问题,并且可以在消耗少量计算资源的情况下大幅提升模型的性能。

但是SE 模块仅仅考虑了通道信息编码,在后续的稀疏训练及通道剪枝操作中容易丢失重要的位置信息,为此运用了CA(coordinate attention)空间注意力机制[15]来解决上述问题,在特征编码的同时还保留了位置信息。SE模块和CA模块结构如图4所示。

图4 SE模块与CA模块结构图Fig.4 SE module structure and CA module structure

在CA模块中,使用尺寸为(H,1) 和(1,W)的池化核,沿着水平坐标方向和垂直坐标方向对输入的数据进行通道编码。因此高度为h以及宽度为w的第c个通道分别表示为:

通过该变换可以将输入特征图分为宽度和高度两个方向分别进行全局平均池化,获得在宽度和高度两个方向的特征图,对该特征图进行编码操作可以生成两个注意力图,将生成的注意力图与特征图相乘以增强目标表达能力。其公式表示为:

其中,δ表示对提取的特征进行下采样操作,f表示通过下采样操作得到的中间特征图,F1表示1×1 卷积。特征图沿空间维度切分后可得到两个单独张量fh和fw,再利用1×1卷积Fh和Fw进行σ变换,经过Sigmoid激活函数后分别得到特征图在高度和宽度上的注意力权重gh和在宽度方向的注意力权重gw,将注意力权重加到输入上,得到最终输出yc。

与SE模块只产生一个特征向量不同,CA获取图像宽度和高度上的注意力并对精确位置信息进行编码,既可以获得沿着一个方向的长程依赖,也可以将位置信息沿着另一个方向保存。本文在网络结构的最后加入了CA 模块,不需要过多的计算开销就可以对目标进行更加精确的定位,弥补了SE 模块的缺陷。改进后的结构由图5所示。

图5 改进后的YOLOv5网络结构Fig.5 Improved YOLOv5 network structure

2.4 模型剪枝技术

突触修剪(synaptic pruning)是许多哺乳动物幼年期和青春期的必经过程,是指轴突和树突完全衰变和死亡。受启发于人脑中的突触修剪,提出了人工神经网络中的模型剪枝技术,如图6所示。

图6 稀疏化神经网络Fig.6 Sparse neural network

模型剪枝[16-17]可以用来减小模型复杂度,去除多余参数,提升模型泛化性能,从不同剪枝粒度上可分为通道级、权重级或层级,是复杂模型轻量化的一种广泛使用的方法。粗粒度剪枝只有当网络层数足够深时剪枝才有效果,并且要对整层进行修剪,使用非常不灵活。细粒度剪枝如权重级剪枝率较高,且相比于粗粒度剪枝更加灵活,但对硬件设备要求较高,不符合嵌入式设备及移动设备项目的使用需求。通道级别的剪枝[18-22]能够很好地权衡实现难易程度以及灵活性,能够应用于任何全连接的网络,使得传统CNN 在大部分平台上快速有效运行。

稀疏训练利用深层模型的通道稀疏性,获得重要性较低的通道数量,有利于通道剪枝。首先每个通道引入一个缩放因子γ并与该通道相乘,缩放因子的绝对值即表示通道重要性。将γ正则项与权重损失函数进行稀疏正则化训练,对网络本身重要性较低的通道进行剪除,同时不影响其泛化性能。微调剪枝后的模型进行性能评估,再进行修剪迭代,最后实现网络模型的轻量化。具体实现流程如图7所示。

图7 通道剪枝流程Fig.7 Channel pruning process

在细粒度目标检测任务中,如果模型修剪比例较高,会导致模型一些通道的缺失,降低模型检测精度。模型微调的过程即对剪枝后模型的再训练,通过模型微调来弥补精度损失。如式(13)所示,对剪枝后的模型权重参数W1进行微调,在微调过程中设置的学习率learning_rate和迭代次数epoch均比预训练时小,最后得到更加轻量化的权重参数W2,其中argmin表示使目标函数取最小值时的变量值。

3 数据集构建

3.1 交通场景存在的问题

在实际轨道交通场景下,轨道障碍物检测会存在很多问题,最常见的有如下几类:

(1)场景变化:由于列车在运行过程中地形、坡度及视野的变化,安装在火车头部的摄像机设备所采集到的图像视角也会存在差异,这种差异会导致图像中障碍物发生形变,出现大量障碍物目标误检,严重影响模型检测的准确率。

(2)时段变化:同一场景在不同时段也存在较大差异,场景受光照影响可见度不同,尤其是夜晚期间的障碍物目标难以获取,误检率较高。本文考虑到此种情况,将夜晚数据集包含在构建过程中,在训练过程中增强模型的泛化性能。

(3)实际轨道交通中障碍物目标存在随机性大、交通情况复杂等因素,易存在物体遮挡现象,将多个目标检测为一个目标,导致漏检与误检。

以上问题的存在使得现有公开数据集如COCO、VOC 等不适用于轨道交通中摄像机所采集到的图像,容易造成障碍物目标的漏检和误检。

3.2 获取数据集

为了提高网络模型的泛化能力,需要制作场景丰富有效的数据集。本文视频于2021年11月远程采集于某集团试验场地,运用OpenCV来读取视频并将视频进行逐帧保存,帧率选定为5 FPS。本文采集了多种场景下不同时段的轨道列车运行视频,样本数据丰富,为建立多样化数据集奠定了良好基础。

为解决不同轨道交通场景下目标数据集不匹配导致检测率低下的问题,本文根据采集到的视频构建了一个涵盖多种交通场景及不同时段的多样化数据集,共20 024张图片,主要可以划分为4个子数据集,这4个数据集根据不同应用场景进行划分。根据光照条件不同分为白天应用数据集、夜晚应用数据集、隧道应用数据集,根据天气状况不同分为极端天气应用数据集,其中包含了大雾、雨雪等极端天气。构建的数据集如图8所示。样本情况如表1所示。

表1 数据集样本情况Table 1 Dataset sample situation

图8 多样化数据集示意图Fig.8 Schematic diagram of diverse datasets

3.3 数据预处理

数据集使用LabelImg标注工具进行标注。LabelImg是一款常见的深度学习图像标注软件,将每张图片上的障碍物用最小的矩形框标注,使用障碍物名称作为目标类别,如图9 所示。将标注好的数据集按照训练集、测试集、验证集以8∶1∶1的比例分类。

图9 自建数据集标注示意图Fig.9 Schematic diagram of self-built dataset annotation

将标注好的图片加载进模型并进行Mixup 数据增强,将两张图片按比例进行差值来混合数据,为训练提供不同数据类别之间的连续数据样本,并因此直接扩大了给定训练集的分布,从而使网络在测试阶段更加强大。Mixup相比于传统的数据增强技术更加轻量化,只需占据极小的计算开销,能显著提升模型的运算速度。经过数据增强的图片如图10所示。

图10 Mixup数据增强Fig.10 Mixup data enhancement

4 实验结果与分析

4.1 实验环境

本文实验环境为ubuntu20.04系统,硬件配置为Intel®CoreTMi5-10500H CPU@2.50 GHz 2.50 GHz,NVIDIA GeForce RTX3060 显卡,系统内存为16 GB,CUDA 版本为11.1,利用的深度学习框架为Pytorch1.9.0。

4.2 模型算法评价指标

实验采用准确率(precision,P)、召回率(recall,R)、多个类别平均精度(mean average precision,mAP)、占用存储空间大小、每秒检测帧数(frames per second,FPS)几项性能指标评判算法的性能。其中精度P、召回率R和mAP分别表示为:

其中,TP(true positives)表示被正确检测出的目标数,FP(false positives)表示被错误检测出的目标数,FN(false negatives)表示未被检测出的目标数,n表示需要分类的类别数,AP(average precision)表示某个目标类的平均精度。

4.3 实验结果

4.3.1 改进Mixup数据增强的实验结果分析

为了验证Mixup数据增强方式的有效性,以YOLOv5s为基础,将算法中原始的Mosaic 数据增强方式改为Mixup 数据增强方式,其余部分不做改动,改动后的算法称为YOLOv5s-M。将两种数据增强方式进行实验对比,实验结果如表2所示。

表2 改进Mixup数据增强验证实验Table 2 Improved Mixup data enhancement validation experiment

从表2 中可以看出,引入Mixup 数据增强方式使得模型检测精度提升了1.4 个百分点,模型体积减小了2.3 MB,并小幅提升了检测速度,证明了改进方法的有效性。

4.3.2 改进GhostNet结构的实验结果分析

为了验证改进GhostNet 结构的有效性,将原始YOLOv5s 模型中特征提取网络、特征融合网络中的普通卷积层替换为深度可分离卷积GhostConv,其余部分不做改动,改动后的算法称为YOLOv5s-G。将改进后的网络结构和原有网络结构进行实验对比,实验结果如表3所示。

表3 改进GhostNet结构验证实验Table 3 Improved GhostNet structure validation experiment

从表3中可以看出,改进后的网络模型极大减小了模型体积,检测速度上也有很大提升,但检测精度降低了1.6 个百分点,有较大损失。证明GhostNet 结构虽然能够有效实现模型轻量化,但是会大大降低模型检测精度,单纯的GhostNet网络结构不符合使用需求。

4.3.3 改进CA注意力机制的实验结果分析

为了验证引入空间注意力模块的有效性,现以经过上述两种改进方法的模型为基础,引入空间注意力机制CA,并与其他常见注意力机制模块进行对比实验。现将CA 注意力模块与SE 注意力模块、CBAM 注意力模块[23]、ECA注意力模块[24]分别嵌入至模型的特征提取网络中,实验结果如表4所示。

表4 改进CA注意力机制验证实验Table 4 Improved CA attention mechanism validation experiment

从表4中可以看出,四种注意力机制都会带来一定的检测速度损失,并且会不同程度增大模型体积。四种注意力机制对检测精度分别提升了0.7个百分点、0.6个百分点、1.0个百分点、0.6个百分点,其中CBAM注意力机制带来的精度提升效果最为明显,但是使得模型检测速度损失较大。其余三种注意力机制对模型精度提升相差不大,但CA注意力机制带来的检测速度损失最小。综上所述,本文引入的CA注意力机制在本模型中的应用更具有优越性。改动后的算法称为YOLOv5s-MGC。

4.3.4 稀疏训练与通道剪枝

通过常规训练得到权重模型后,将权重文件输入到模型中进行稀疏训练,稀疏训练批次与常规训练保持一致设置为300,设置尺度稀疏率为0.002,聚合模型中的参数,使得模型便于剪枝。

将经过稀疏训练的模型进行通道剪枝,为保证模型在修剪过程中不会被过度修剪,分别设置全局通道修剪率为50%,60%,70%,80%,输入图像尺寸为608×608,分别测试四种通道剪枝后的模型,以寻求最为合适的剪枝率。现调整剪枝率对改进后的模型进行通道剪枝,剪枝结果如表5。

表5 通道剪枝验证实验Table 5 Channel pruning validation experiment

由表5可得,经过通道剪枝操作后模型检测精度会出现不同程度的下降。当剪枝率为50%时,由于剪枝率最小,有较多对模型精度影响不大的通道仍然被保留,对模型大小及检测速度的提升有限,但检测精度损失最小,下降了0.6个百分点。当剪枝率为80%时,由于剪枝率最大,其模型大小达到了3.1 MB,检测速度也达到了107 FPS,但剪去了模型中较为重要的通道和卷积层,使得模型检测精度损失较大,下降了14.1个百分点。综上所述,当剪枝率为60%时,能在较大程度压缩模型大小的同时又能保持原有检测精度,使得模型便于部署,检测效果更好,性价比更高。

最后微调剪枝后的模型,并采用知识蒸馏的方式重新训练剪枝后的模型,设置训练批次为300,提升剪枝后模型的检测精度。微调后的模型训练得到的Loss 曲线如图11 所示,并与原始YOLOv5s 模型进行对比。改进后的算法称为YOLOv5s-MGCT。

图11 Loss曲线图Fig.11 Loss curves

4.3.5 消融实验

本文提出的四种改进方法分别为M(Mixup数据增强)、G(GhostNet)、C(CA 注意力机制)、T(通道剪枝处理)。为了验证四种不同改进方法的有效性,在所应用数据集上设计了消融实验。为了验证四种不同改进方法的有效性,从以下两方面设计消融实验:(1)以原始YOLOv5s算法为基础,分别只增加一种改进方法,以验证每种改进方法对原算法的改进效果;(2)以最终YOLOv5s-MGCT 算法为基础,分别只消除一种改进方法,以验证每种改进方法对最终算法的影响程度。

“√”表示引入该方法,从表6 中可以看出,相比于原始YOLOv5s算法,引入CA注意力机制对检测精度的提升最为明显,检测精度提升了1.5个百分点,但对检测速度有较大影响,模型体积增大了3.2 MB,检测速度降低了31 FPS。引入GhostNet结构对检测速度提升最为明显,模型大小减小了7.3 MB,检测速度提高了11 FPS,但对检测精度有较大影响,检测精度降低了1.6 个百分点。而相比于最终YOLOv5s-MGCT 算法,消除CA 注意力机制对检测精度影响最大,检测精度降低了4.4 个百分点。消除通道剪枝处理对检测速度影响最大,模型体积增大了6 MB,检测速度降低了15 FPS。同时,本文提出的最终YOLOv5s-MGCT算法相较于原始YOLOv5s,在所应用数据集上检测精度提升了1.0 个百分点,模型体积减小了9.7 MB,检测速度提高了14 FPS,能够在保持算法实时性的同时有着更高的检测精度。

表6 消融实验结果Table 6 Ablation experiment results

4.3.6 场景对比实验

为了验证所提出算法在不同场景数据集上的泛化性和适用性,现将本文算法模型与原始YOLOv5算法模型在不同场景数据集上进行对比实验,比较在不同交通场景下的检测性能,结果如表7与表8所示。

表7 YOLOv5s在不同场景数据集上的检测结果Table 7 Detection results of YOLOv5s on different scene datasets

对比表7和表8中实验结果可得,原始YOLOv5s算法与本文所提出的YOLOv5s-MGCT算法均在白天场景数据集上的检测精度最高,分别为95.2%与95.5%,在极端天气场景数据集上的检测精度最低,分别为92.7%与94.1%。总体来说,在四种不同场景数据集上本文所提出的YOLOv5s-MGCT 算法在检测精度上均高于原始YOLOv5s算法,证明本文算法具有一定的泛化性,能够适应在不同交通场景下的障碍物检测。

表8 YOLOv5s-MGCT在不同场景数据集上的检测结果Table 8 Detection results of YOLOv5s-MGCT on different scene datasets

4.3.7 方法对比实验

为了进一步证实本文算法的有效性和优越性,现将本文算法模型与当前主流算法模型在同一场景下进行对比实验。本文算法与YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x、Faster R-CNN、SSD、YOLOX-tiny、YOLOXs、YOLOv4-tiny[25]、YOLOv4 算法进行实验对比,结果如表9所示。

表9 与当前主流方法的对比实验Table 9 Comparative experiment with current mainstream methods

对比表9中实验结果可得,本文算法相比于其他主流检测模型,有最小的模型体积,同时保持了较高的检测精度。相比于原始YOLOv5s 模型检测精度提高了1.0个百分点,比YOLOv5m高0.9个百分点,比YOLOv5l高0.4 个百分点,比YOLOv5x 高0.1 个百分点。与传统的two-stage算法Faster R-CNN相比具有较大的检测速度优势,检测精度也有极大提升,精度提升了10.6个百分点,模型体积减小了104.2 MB,检测速度提升了78 FPS。改进后的模型相比于SSD、YOLOX-tiny、YOLOXs、YOLOv4-tiny、YOLOv4 算法在检测精度上也有较大提升。综上所述,本文提出的YOLOv5s-MGCT 算法在保持轻量化的同时,有着最高的检测精度,保持了较好实时性,整体表现较为突出,证明了本文算法的可行性与优越性。本文对改进后算法的效果在不同光照条件的场景下进行了对比展示,如图12所示。

图12 不同光照条件下检测结果Fig.12 Detection results under different lighting conditions

同时对改进后的算法效果在不同种类的极端天气场景下进行了对比展示,如大雾、大雪天气等,如图13所示。

图13 不同天气条件下检测结果Fig.13 Detection results under different weather conditions

5 结束语

针对复杂轨道交通环境下传统目标检测算法检测精度不足、检测实时性较差等特点,本文通过引入Mixup数据增强方式、改进GhostNet 网络结构、增加CA 空间注意力机制、稀疏训练和通道剪枝等方法的集成,来优化YOLOv5这一典型的one-stage检测算法。

实验结果表明,改进后的YOLOv5s-MGCT 算法在自制的轨道交通数据集上相较于原始YOLOv5s算法检测精度提高了1.0 个百分点,模型体积减小了9.7 MB,检测速度提高了14 FPS,在保持轻量化的同时小幅提高了检测精度。相比于其他主流检测算法,在具有一定的速度和体量优势的同时保持了较高的检测精度。综上所述,本文提出的算法适合复杂轨道交通环境下的目标检测,具有一定的可行性与优越性。

猜你喜欢
剪枝注意力卷积
人到晚年宜“剪枝”
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于YOLOv4-Tiny模型剪枝算法
基于激活-熵的分层迭代剪枝策略的CNN模型压缩
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
剪枝