改进YOLOv5的机场跑道异物目标检测算法

2023-01-29 13:20李小军邓月明陈正浩
计算机工程与应用 2023年2期
关键词:注意力精度速度

李小军,邓月明,陈正浩,何 鑫

1.湖南师范大学 信息科学与工程学院,长沙410081

2.湖南华诺星空电子技术有限公司,长沙410221

机场跑道异物(foreign object debris,FOD)主要指在机场跑道路面会对飞机安全起降带来隐患的外来物质,包括金属器件、碎石块、纸制品、动植物等[1]。FOD给飞机的起飞与降落带来严重的安全隐患,其在威胁乘客生命的同时,也给社会造成了不可估量的财产损失。目前,大多数机场主要采用人工目视巡场方式对跑道进行定期的检查和清扫,该方式需要在巡查时关闭跑道,这不但降低了机场容量,而且受巡查人员自身素质和天气条件制约,难以保证足够的检测率。因此,针对性能更好和效率更高的FOD探测方法的研究具有重要意义。

传统的FOD检测方法中,主要采用雷达探测技术和图像处理技术实现对FOD的检测,在雷达信号处理方向上,常采用恒虚警率(constant false-alarm rate,CFAR)检测方法和一些检测分类方法作为FOD检测处理器[2-3]。文献[4]中提出了一种基于毫米波雷达的迭代自适应(iterative adaptive approach,IAA)算法,通过对数据预处理获得粗糙FOD目标信息,再进行融合处理,从而获得准确的FOD目标信息。文献[5]提出了一种毫米波监视雷达FOD自动目标检测的综合算法,实现在超过660 m的远程条件下对小目标的检测。文献[6]针对FOD检测中大气扰动和系统硬件造成的系统相位漂移,提出了一种高分辨率雷达异物碎片探测系统相位漂移校正方法,有效改善探测系统的检测性能。上述基于毫米波的FOD探测技术虽然精度高、位置准确,但毫米波雷达仍存在制造与维护成本高、目标特征信息少、信号处理复杂等问题。

随着人工智能技术的广泛应用以及基于深度学习与计算机视觉的目标检测技术的发展,基于卷积神经网络(convolutional neural network,CNN)的目标检测算法在检测、识别方面比传统机器学习方法表现更优,促使许多基于CNN的FOD检测方法被提出。Cao等人[7]提出了一种基于改进区域提议网络(region proposal network,RPN)和基于空间变换网络(spatial transformer network,STN)的CNN分类器来实现对FOD的检测。蒋进等人[8]提出了一种基于Faster-RCNN的机场跑道异物识别定位系统,运用Faster-RCNN算法完成异物种类识别,再通过无人机位置信息换算求解,得到FOD的类别与位置信息。上述以Fast-RCNN[9]、Faster-RCNN[10]、Mask R-CNN[11]等为代表的基于区域候选的目标检测算法检测精度相对较高,但存在检测速度慢的缺点,无法满足实时性要求。文献[12-13]均在YOLOv3的基础上,优化网络结构,解决原YOLOv3存在的定位精度偏低和漏检问题。文献[14]同样在YOLOv3的基础上,通过计算anchor、改进损失函数提高了道路小目标的检测精度。以YOLO系列[15-16]为代表的基于回归的目标检测算法凭借其检测速度快以及不错的检测性能在工业界得到了广泛的应用,但该算法设计专注于对中等大小目标的检测。考虑到FOD目标尺度小、图像占比小,在小目标检测方向上,YOLO算法要实现对FOD的实时精准检测仍有挑战。

针对以上问题,本文提出一种基于改进YOLOv5的目标检测算法,通过添加较小目标检测层、裁减大目标检测层,提高较小目标检测精度并减少网络推理计算量;引用轻量高效的卷积注意力模块(convolutional block attention module,CBAM),让网络更加关注于有用信息;采用简单有效的RepVGG模块,增加特征融合能力;替换边框回归损失函数,提高回归速度与精度。为了验证改进模型在FOD检测上的性能,在自制FOD数据集上进行实验论证。

1 YOLOv5目标检测算法

YOLO系列算法在整个深度学习目标检测领域的地位举足轻重,从V1到V5,随着版本的迭代,模型性能也越来越好。而YOLOv5作为SOTA算法,凭借其优良的检测性能,受到了工业界广泛的应用。

如图1所示,YOLOv5的Backbone基于具有空间金字塔池层(spatial pyramid pooling,SPP)的跨阶段局部网络(cross stage partial network,CSPNet)构成,其中,YOLOv5借鉴CSPNet的设计思路,设计了包含3个标准卷积层以及多个Bottleneck的C3模块,并且将其用于Backbone层和Neck层,其中Neck层的C3_1模块即为不含残差连接的C3模块,C3模块主要是对残差特征进行学习,同时在准确性不变或者提高的基础上可以减少网络参数量。SPPF在SPP基础上减少了网络层,去除冗余运算,以更快速度进行特征融合。Neck层上YOLOv5采用特征金字塔(feature pyramid network,FPN)+路径聚合网络(perceptual adversarial network,PAN)结合的方式进行特征融合,其中FPN以自顶向下的方式,通过上采样将高层特征和低层特征做融合获得不同尺度进行预测的特征图。PAN则是在FPN层的后面添加了一个自底向上的特征金字塔。这样结合操作,FPN层自顶向下传达强语义特征,而PAN则自底向上传达强定位特征,两两联手,在不同的主干层对不同的检测层进行参数聚合。最后在Head层对small、medium、large三种尺寸目标做出预测。

图1 YOLOv5网络结构图Fig.1 Network structure diagram of YOLOv5

2 改进的YOLOv5算法

针对YOLOv5对小目标检测准确度不高、定位精度偏低和漏检问题,对其进行了改进,改进的网络结构如图2所示,具体改进如下:(1)在Neck层增加P2层的融合与检测,删除大目标检测层,在增加较小目标的检测精度的同时,有效减少网络推理计算量,提高FOD检测速度;(2)引入轻量高效的卷积注意力模块(CBAM),该模块能进行自适应特征优化,让网络更加专注于有用的信息,提高算法检测精度;(3)Neck层使用Repblock模块替换原有的C3_1模块,有效提升其特征融合的能力,其简单的模块设计同时也能极大提高模型推理的速度;(4)通过引入SIoU边框损失函数来监督网络的学习,加速网络收敛,进一步提高回归精度。

图2 改进后的YOLOv5网络结构图Fig.2 Network structure diagram of improved YOLOv5

2.1 多尺度检测的改进

如图3(a)所示,YOLOv5通过FPN+PAN的方式融合P3、P4层的特征,并对P3、P4、P5层分别以8倍、16倍、32倍进行多尺度检测,也就是在输入图片尺寸为640×640的情况下,P3、P4、P5分别对应生成80×80、40×40、20×20的特征图。YOLOv5使用20×20尺寸的特征图来检测大目标;然后通过上采样与拼接操作融合20×20与40×40的特征图,将不同的语义信息以及定位信息融合,用融合后的40×40尺寸特征图来检测中等大小目标;最后使用相同操作将40×40与80×80的特征图融合检测小尺寸目标。

在目前大多数基于FPN的目标检测器中,小目标往往是从高分辨率的特征图中检测出来的,而在宽阔的机场跑道背景下,FOD目标尺寸在图像像素中占比小,原始YOLOv5使用的80×80尺寸检测层无法完成对更小目标的精准检测。同时鉴于小目标更容易在高分辨率特征图中被检测的特点,因此本文对多尺度检测层进行了改进:如图3(b)所示,通过upsample+concat操作融合P2层的特征,并添加对160×160特征图的检测头用来检测更小的目标,在检测头部应用更高分辨率的特征图后,小目标能够占据更多的像素,因此更容易被检测,而不是在backbone的卷积阶段“丢失”。同时,由于FOD大都为中小尺寸目标,在检测部分裁减掉20×20尺寸的大目标检测层,减少网络计算推理量,加快模型推理速度。

图3 多尺度特征融合与检测改进图Fig.3 Multi-scale feature fusion and detection improvement graph

2.2 引入注意力模块

注意力机制(attention mechanism)源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注全局信息的一部分,同时忽略其他可见的信息。而在计算机视觉领域,注意力机制被用来进行视觉信息处理,传统的局部图像特征提取、滑动窗口法等都可以看作一种注意力机制。在深度学习中,注意力模块通常是一个独立的模块,通过对输入的不同部分分配不同的权重,让网络更加专注于有用信息,忽略其他的不重要信息;而在广阔的机场跑道背景下,为了实现对FOD的精准检测,注意力模块恰恰能够使网络更加专注于小目标的检测。因此,本文引入了CBAM模块。

CBAM模块是一个简单且有效的轻量级注意力模块,可以实现端到端的训练方式。如图4所示,给定一张中间特征图F∈ℝC×H×W作为输入,CBAM首先通过通道注意力模块(channel attention module,CAM),利用特征图通道间的关系生成通道注意力图Mc∈ℝC×1×1,然后与输入特征残差相乘,将得到的注意力图与输入特征图进行自适应特征细化,同理,将经过通道自适应细化后的特征图沿着空间注意力模块(spatial attention module,SAM)生成空间注意力图Ms∈ℝ1×H×W,最后残差相乘输出空间自适应细化后的特征。整体注意力过程如公式(1)、(2)所示:

图4 CBAM模块示意图Fig.4 Schematic diagram of CBAM module

式中,⊗表示加权相乘,特征F经过通道注意力模块输出F′,然后作为输入经过空间注意力模块得到最终输出结果F″。

根据文献[17]的实验结果,CBAM对模型的性能有较好的提高,并证明了其在目标检测、图像分类任务中的有效性。相比于传统的仅关注通道或仅关注空间的注意力机制方案,CBAM将两者结合使用,能够获得更好的效果。但目前并没有理论研究得出具体将CBAM模块嵌入到网络某一部分使得模型性能最佳,因此,本文在改进多尺度融合与检测的基础上,对Neck部分嵌入CBAM设计了两种结构,如图5所示,一种是在Neck层的每个C3_F模块后嵌入CBAM模块,生成的新模型命名为YOLOv5-P-C1,另外一种是在每个检测层前嵌入CBAM模块,命名为YOLOv5-P-C2。

图5 YOLOv5+CBAM网络结构示意图Fig.5 Schematic diagram of YOLOv5+CBAM network structure

2.3 引入RepVGG模块

RepVGG模块是由文献[18]中提出的一种由3×3 Conv和ReLU组成的简单体系结构,特别适用于GPU和专用推理芯片。如图6所示,RepVGG模块受ResNet的启发,应用了结构重参数化方法,该方法在训练期间将一个模块拆分为多个相同或不同的模块分支,并在推理期间将多个分支模块集成为完全等效的模块。ResNet中,该模块显式构造快捷分支,将信息流建模为y=x+f(x),使用残差方式学习f;当x与f(x)的通道数不匹配时,将其变为y=g(x)+f(x),其中,g(x)为一个1×1的卷积,通过该卷积将残差部分通道数与f(x)相匹配,ResNet的成功解释了该方法对模型性能有较好的提升。RepVGG则借鉴该方法,将信息流建模为y=x+g(x)+f(x),由于多分支架构在推理上存在缺陷,RepVGG仅在训练阶段简单地堆叠上述块构造训练模块。而在推理阶段,通过重参数化方法RepVGG将训练好的块转换到单个3×3卷积上进行推理。该模块在硬件上达到高效推理的同时,能够保持较好的多尺度特征融合能力。

图6 RepVGG模块示意图Fig.6 Schematic diagram of RepVGG module

YOLOv5在neck层使用不带残差连接的C3_F模块,其在特征融合方面具有一定局限性,因此本文通过堆叠n个RepVGG块组成RepBlock模块,使用RepBlock模块替换C3_F模块,该模块极大提升网络的多尺度特征融合能力,同时能有效提高推理速度。为了得到效果提升最优的RepBlock模块,本文设计了三种RepBlock模块:RepBlock_1、RepBlock_2、RepBlock_3,结构如图7所示。

图7 RepBlock模块示意图Fig.7 Schematic diagram of RepBlock module

2.4 损失函数改进

损失函数是衡量模型预测结果的准确性的一种方法。YOLOv5使用CIoU Loss作为Bounding box的损失函数,同时采用Logits损失函数和二进制交叉熵(BCE)分别计算目标得分和类概率的损失。其中CIoU计算方法如公式(3)、(4)所示:

式中,IoU表示真实框与预测框交并比,ρ2(b,bgt)表示求预测框与地面真值框中心点之间的欧式距离,c表示预测框与地面真值框的最小包围框的最短对角线长度,a为正平衡参数,v表示预测框与地面真值框长宽比的一致性,a与v的计算方法如公式(5)、(6)所示:

式中,wgt、hgt和w、h分别表示地面真值框与预测框的宽度与高度。

CIoU Loss综合考虑覆盖面积、中心点距离和长宽比,能够很好衡量其相对位置,同时能够解决预测框的水平与垂直方向优化的问题,但是该方法并没有考虑预测框与目标框之间方向的匹配性,这种不足导致收敛速度较慢。针对以上问题,本文采用SIoU Loss[19]损失函数替换CIoU Loss损失函数。SIoU计算方法如公式(7)、(8)所示:

式中,B、BGT表示预测框与真值框,Ω表示形状成本,Δ表示考虑角度成本后,重新定义的距离成本,Ω、Δ公式定义为:

SIoU通过引入了所需回归之间的向量角度,重新定义了距离损失,有效降低了回归的自由度,加快网络收敛,进一步提升了回归精度。因此,本文将SIoU Loss作为边框回归的损失函数。

3 实验与结果分析

3.1 数据集制作

目前,国内外没有公开的FOD数据集,为了验证本文改进的目标检测算法的检测性能,本文采用自制的FOD数据集。为了完成各种复杂场景、极端天气条件下的FOD检测任务,数据集应包含不同距离、不同光照条件、不同天气气候条件下的FOD图像,本文通过在国内某机场跑道上放置不同距离的FOD样本,然后使用高精度、高分辨率摄像机采集在不同光照条件下(正午、黄昏等不同时间段下)、不同聚焦下的视频图像,将采集到的视频切片处理成图片,通过使用ImageLabeler标注软件对每张图片上的FOD进行标注,得到最终的FOD数据集。本文采用的FOD样本由螺丝、圆柱、金属球组成,部分FOD数据集图片样本如图8所示。

图8 FOD数据集展示Fig.8 FOD dataset display

本文一共采集并制作了5 578张FOD数据集,并以8∶1∶1的比例将数据集随机划分为训练集、验证集与测试集,划分后的具体图像张数如表1所示。

表1 FOD数据集划分Table 1 FOD dataset partition

现阶段大部分目标检测算法更适用于中等大小目标,对小目标检测存在检测精度不高的问题。COCO数据集依据目标占图像像素的多少将目标尺寸划分为small、medium、large三类,具体分类如表2。

表2 目标尺寸图Table 2 Target size chart

根据COCO目标尺寸分类,FOD目标尺寸在12~42像素之间,且大多为small类别。图9为FOD数据集标签大小分布图,其中,横坐标与纵坐标分别表示标签框的宽度与高度。由图可知,大部分FOD目标聚集在图中左下角,进一步说明FOD数据集目标尺寸是以小目标为主,与FOD在相机中成像尺寸相符。因此,本文提出的针对YOLOv5在小目标检测性能方向上进行改进与优化与问题契合。

图9 FOD数据集标签分布图Fig.9 FOD dataset label distribution map

3.2 实验环境与评估指标

本文的实验环境为,CPU:Intel®Xeon®W-2102 CPU@2.90 GHz×4,运行内存64 GB,GPU为:GeForce RTX 2080Ti,显存11 GB,操作系统为:64位Ubuntu18.04.3 LTS,PyTorch深度学习框架,CUDA版本为10.1。本文主要以mAP50、计算量(GFLOPs)、参数量、检测速度(FPS)作为模型性能评估指标,其中mAP50表示IoU阈值为0.5时的平均检测精度,GFLOPs则代表每秒10亿次的浮点运算数,用于衡量训练模型所需的计算量,参数量衡量模型对内存资源的消耗量,FPS是指目标检测网络每秒可以处理多少张图片,用于衡量模型检测速度。

3.3 模型训练

本文选择YOLOv5m作为FOD目标检测的原始模型,训练配置如下:输入尺寸为640×640,epoch设置为500,batch_size为16,采用mosaic数据增强,为了得到最优的检测性能,本文采用K-means聚类算法对自制FOD数据集目标框进行聚类,得到适合的anchor尺寸。

3.4 多尺度融合与检测改进对比实验

为了验证多尺度融合与检测改进的有效性,本文在YOLOv5m的基础上,对多尺度融合与检测进行改进,改进后的算法命名为YOLOv5-P,如图3所示,即增加P2层的融合与检测的同时,裁减P5层的检测,最终输出对P2、P3、P4的检测。本文采用对比实验,在FOD数据集上分别对两种算法进行实验对比,实验结果如表3所示。

表3 多尺度融合与检测改进验证实验Table 3 Multi-scale fusion and detection improvement verification experiment

由表3可知,在检测速度下降10 FPS、计算量增加4.2 GFLOPs的情况下,检测精度提升了2.17%,同时参数量少了4.3×106。该对比实验验证了多尺度融合与检测改进的有效性,增加高分辨率特征图的检测在降低推理速度的情况下,有效提升FOD的检测精度,同时,裁减P5检测层,减少了网络推理计算量。

3.5 注意力模块对比实验

为了验证CBAM模块对FOD目标检测算法的有效性以及探究该模块的最佳嵌入方式,本文在3.4节的基础上,对两种嵌入方式进行对比实验,如图5所示,其中YOLOv5-P-C1是在Neck层的C3_1模块后均嵌入CBAM模块,YOLOv5-P-C2则仅在检测前嵌入CBAM模块,实验结果如表4所示。

表4 注意力模块验证实验Table 4 Attention module verification experiment

表4中YOLOv5-P-C1、YOLOv5-P-C2与YOLOv5m-P对比可得,在参数量与计算量没有很大变化的情况下,引入CBAM模块使得模型检测精度均有提升,其中,YOLOv5-P-C1的mAP提升了0.03个百分点,YOLOv5-P-C2的mAP提升了0.19个百分点。该数据证明引入CBAM模块能够提高算法的检测精度,让网络更加专注于有用的信息。而两种嵌入方式的结果对比可知,YOLOv5-P-C2的网络检测精度的提升更高,且检测速度优于前者。因此,最终的改进算法选择第二种CBAM嵌入方式。为了进一步验证CBAM模块的有效性,本文在YOLOv5-P的基础上分别引入SE[20]、ECA[21]、CA[22]注意力模块与第二种CBAM嵌入方式进行横向对比实验,并采用mAP50、FPS作为评价指标,实验结果如表5所示。

表5 注意力模块横向对比实验Table 5 Lateral comparison experiment of attention module

由表5注意力模块横向对比实验可得,引入的注意力模块对FOD的检测精度均有提升,其中,SE、ECA、CA分别提升了0.12、0.15、0.18个百分点的检测精度,而CBAM检测精度提升最大,达到了94.59%;对比检测速度,引入注意力模块均有一定程度的降低,但引入CBAM的模型检测速度损失最少。综上所述,本文提出的在检测层前引入CBAM模块相比于其他注意力模块对FOD检测性能提升更优。

3.6 RepVGG模块对比实验

为了验证RepVGG模块的引入对模型检测效果提升的有效性,如图7所示,本文通过堆叠不同数量的RepVGG设 计 三 种RepBlock模 块:RepBlock_1、RepBlock_2、RepBlock_3,并采用该模块替换原始模块C3_1,提出三种算法模型:YOLOv5-R1、YOLOv5-R2、YOLOv5-R3。对三种算法模型与原始算法YOLOv5m在FOD数据集上进行对比实验,结果如表6所示。

表6 RepBlock模块验证实验Table 6 RepBlock module verification experiment

对比表6中不同算法模型的实验结果,可以证明引入RepBlock模块对模型性能提升的有效性,具体分析为:YOLOv5-R1相较于YOLOv5m,检测精度提高了1.04个百分点,检测速度提升了14 FPS;YOLOv5-R2相较于其他算法,虽然检测速度略低于YOLOv5-R3和YOLOv5m,但检测精度提升最大,比YOLOv5m高1.47个百分点;YOLOv5-R3检测精度提升了1.37个百分点,但检测速度仅有85 FPS。从表5中三种改进算法实验结果可知,引入单个RepVGG模块,既能提升检测精度又加快了检测速度,说明RepBlock模块的优越性;引入两个RepVGG模块,检测精度进一步提升,而随着参数量的增加推理速度降低,引入三个RepVGG模块的实验结果可以说明,网络层数过深导致模型检测精度与速度降低。其中,RepBlock_2模块对模型检测精度提升最大,因此本文选择该模块进行算法改进。

3.7 损失函数对比实验

为了验证本文提出的改进损失函数的有效性,将本文采用的损失函数SIoU与原始损失函数CIoU进行对比实验,对比实验结果如表7所示。

表7 损失函数验证实验Table 7 Loss function verification experiment

在表7实验中,通过仅替换算法中的损失函数,对两种损失函数CIoU Loss、SIoU Loss进行横向对比实验,epoch设置为500,并采用mAP、FPS作为评价指标。从表中结果可以明显看出SIoU Loss相比于CIoU Loss,在检测速度基本保持不变的条件下,模型检测精度提升了0.35个百分点,该实验证明了SIoU损失函数的优越性,对模型性能提升更高。图10为损失函数训练时检测精度对比图,由图可以看出SIoU Loss前230个epoch精度低于CIoU Loss,后面的批次的检测精度均优于CIoU,且最佳的mAP优于CIoU,进一步证明引入SIoU的有效性。

图10 损失函数训练时mAP对比图Fig.10 mAP comparison chart during loss function training

3.8 消融实验

为了验证本文提出的改进算法的有效性,在前四节基础上对各个模块进行消融实验。首先在原算法YOLOv5m的基础上改进多尺度融合与检测(P),即对P2~P4特征图进行检测;其次在每个特征检测层前引入CBAM模块;然后在3.6节对比实验基础上,采用RepBlock_2模块替换C3_1模块;最后,采用SIoU Loss替换CIoU Loss作为损失函数,生成最终的改进算法模型,与原始算法YOLOv5m进行对比实验。采用mAP50、mAP50:95、FPS作为评价指标,其中,mAP50:95表示计算从0.5~0.95的10个阈值下的检测精度平均值。对比实验结果如表8所示。

表8实验结果可以看出,相比于序号1(原始YOLOv5m),序号2改进多尺度融合与检测部分,检测精度(mAP50)提升2.17个百分点,说明多尺度融合与检测改进的有效性;在序号2的基础上引入CBAM模块,虽然检测速度降至70 FPS,但mAP50提升了2.36个百分点,证明了引入CBAM的有效性;序号4表示在前者基础上采用RepBlock模块替换C3_1模块,与YOLOv5m相比检测精度提升了2.48个百分点,同时,检测速度比序号3提升了9 FPS,证明RepBlock在提升检测速度与精度上的有效性;最后,序号5表示采用SIoU Loss作为回归损失函数形成的最终改进模型,与序号4相比检测速度没有降低,检测精度达到了95.01%、相比于序号1提升了2.78个百分点,证明了SIoU对模型性能提升的优越性。上述实验数据分析证明本文提出的改进算法在FOD检测上的有效性与优越性。

表8 消融实验Table 8 Ablation experiment

图11为改进后的算法与原算法训练时的mAP对比图,由图可以明显看出,最终的改进模型检测精度优于原始YOLOv5m,且有极大的提升,取得了更好的检测效果。

图11 改进后算法与原算法训练时mAP对比图Fig.11 Comparison of mAP between improved algorithm and original algorithm during training

3.9 主流算法对比实验

为了验证本文提出的改进算法相比于主流目标检测算法的优越性,将本文改进算法与RetinaNet[23]、

Cascade R-CNN[24]、FCOS[25]、Faster R-CNN、YOLOv5m、YOLOv4、YOLOX[26]、YOLOR[27]等主流目标检测算法在相同条件下进行对比实验,并均采用640×640的图片输入尺寸,实验结果如表9所示。

通过对比表9各项参数可得,相较于其他主流目标检测算法,本文所提改进算法具有最高的检测精度。相较于Faster R-CNN、Cascade R-CNN等两阶段主流目标检测算法以及RetinaNet经典目标检测算法,本文改进算法在检测精度与检测速度上优势明显;与原始算法YOLOv5m,本文所提改进算法在损失一定检测速度的情况下,检测精度提升了2.78个百分点;YOLOv4在图片输入尺寸640×640的情况下,实现了92.9%的检测精度,而本文所提改进算法检测精度比YOLOv4高2.11个百分点,同时检测速度提升了38 FPS;相比于基于Anchor-free的FCOS与YOLOX,本文所提算法检测精度分别提升了11.4与2.21个百分点,检测速度分别提升了46 FPS、26 FPS;YOLOR在FOD数据集上检测精度达到了93.26%,比YOLOv5m高1.03个百分点,但检测速度仅有36 FPS,而本文提出的改进目标检测算法在FOD数据集上检测精度达到了95.01%,检测速度达到了79 FPS,比YOLOR分别高1.75个百分点、43 FPS。综上所述,本文改进算法相比于主流目标检测算法,检测精度优势明显,且具有较快的检测速度,证明了本文所提改进算法的优越性。

表9 主流算法对比实验Table 9 Mainstream algorithm comparison experiment

4 结论

本文针对机场跑道异物检测问题,提出了一种基于改进YOLOv5的目标检测算法。该算法意在解决在机场跑道宽阔、FOD目标图像占比小的情况下检测精度低的问题,以YOLOv5m为基础,改进多尺度融合与检测,有效提高较小目标检测精度;引入轻量高效的CBAM注意力模块,增强网络关注目标特征的能力;采用RepVGG模块替换C3_1模块,优化特征融合的能力,有效提高检测精度与检测速度;采用SIoU Loss损失函数作为损失函数,加速模型收敛速度并提升检测精度。同时,在自制的FOD数据集上进行对比实验可得,本文提出的改进算法在保证实时检测的前提下,检测精度达到了95.01%,提升了2.78个百分点,实现了减少FOD目标漏检、误检的目的,与主流目标检测算法相比,本文改进算法更具有优越性。

猜你喜欢
注意力精度速度
行驶速度
让注意力“飞”回来
热连轧机组粗轧机精度控制
速度
超高精度计时器——原子钟
分析误差提精度
基于DSPIC33F微处理器的采集精度的提高
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
比速度更速度——“光脑”来了