1、高性能YOLOv5:面向嵌入式平台高性能目标检测算法研究刘乔寿赵志源*王均成皮胜文(重庆邮电大学通信与信息工程学院重庆400065)(先进网络与智能互联技术重庆市高校重点实验室重庆400065)(泛在感知与互联重庆市重点实验室重庆400065)摘要:针对目前深度学习单阶段检测算法综合性能不平衡以及在嵌入式设备难以部署等问题,该文提出一种面向嵌入式平台的高性能目标检测算法。基于只看1次5代(YOLOv5)网络,改进算法首先在主干网络部分采用设计的空间颈块代替原有的焦点模块,结合改进的混洗网络2代替换原有的跨级局部暗网络,减小空间金字塔池化(SPP)的内核尺寸,实现了主干网络的轻量化。其次,颈部采
2、用了基于路径聚合网络(PAN)设计的增强型路径聚合网络(EPAN),增加了P6大目标输出层,提高了网络的特征提取能力。然后,检测头部分采用以自适应空间特征融合(ASFF)为基础设计的自适应空洞空间特征融合(A-ASFF)来替代原有的检测头,解决了物体尺度变化问题,在少量增加额外开销情况下大幅提升检测精度。最后,函数部分采用高效交并比(EIoU)代替完整交并比(CIoU)损失函数,采用S型加权线性单元(SiLU)代替HardSwish激活函数,提升了模型的综合性能。实验结果表明,与YOLOv5-S相比,该文提出的同版本算法在mAP.5,mAP.5:.95上分别提高了4.6%和6.3%,参数量降低
3、了43.5%,计算复杂度降低了12.0%,在JetsonNano平台上使用原模型和TensorRT加速模型进行速度评估,分别减少了8.1%和9.8%的推理延迟。该文所提算法的综合指标超越了众多优秀的目标检测网络,对嵌入式平台更为友好,具有实际应用意义。关键词:目标检测;YOLOv5;混洗网络2代;自适应空间特征融合;嵌入式设备;TensorRT加速中图分类号:TN911.73文献标识码:A文章编号:1009-5896(2023)06-2205-11DOI:10.11999/JEIT220413High Performance YOLOv5:Research on High Performanc
4、e TargetDetection Algorithm for Embedded PlatformLIUQiaoshouZHAOZhiyuanWANGJunchengPIShengwen(School of Communication and Information Engineering,Chongqing University of Posts andTelecommunications,Chongqing 400065,China)(Advanced Network and Intelligent Connection Technology Key Laboratory of Chong
5、qing EducationCommission of China,Chongqing 400065,China)(Chongqing Key Laboratory of Ubiquitous Sensing and Networking,Chongqing 400065,China)Abstract:Consideringtheproblemsofimbalancedcomprehensiveperformanceofthecurrentdeeplearningsingle-stagedetectionalgorithmsanddifficultdeploymentinembeddeddev
6、ices,oneHigh-Performanceobjectdetectionalgorithmforembeddedplatformsisproposedinthispaper.BasedontheYouOnlyLookOncev5(YOLOv5)network,inthebackbonenetworkpartoftheimprovedalgorithmfirstly,theoriginalfocusmoduleandoriginalCrossStagePartialDarknetarereplacedbyadesignedspacestemblockandanimprovedShuffle
7、Netv2,respectively.ThekernelsizeofSpacePyramidPooling(SPP)isreducedtolightenthebackbonenetwork.Secondly,intheneck,anEnhancedPathAggregationNetwork(EPAN)basedonPathAggregationNetwork(PAN)designisadopted,aP6largetargetoutputlayerisadded,andthefeatureextractionabilityofthenetworkisimproved.Andthen,inth
8、ehead,anAdaptive-AtrousSpatialFeatureFusion(A-ASFF)basedonAdaptiveSpatialFeatureFusion(ASFF)isusedtoreplacetheoriginaldetectionhead,theobjectscalechangeproblemissolved,andthedetectionaccuracyisgreatlyimprovedwithasmallamountofadditional收稿日期:2022-04-07;改回日期:2022-07-07;网络出版:2022-07-08*通信作者:赵志源第45卷第6期电
9、子与信息学报Vol.45No.62023年6月JournalofElectronics&InformationTechnologyJun.2023overhead.Finally,inthefunctionsection,aCompleteIntersectionoverUnion(CIoU)lossfunctionisreplacedbytheEfficientIntersectionoverUnion(EIoU),aHardSwishactivationfunctionisreplacedbyaSigmoidweightedLinearUnit(SiLU),andmodelsynthesi
10、sabilityhasbeenimproved.TheexperimentalresultsshowthatcomparedtoYOLOv5-S,themAP.5andmAP.5:95ofthesameversionofthealgorithmproposedinthispaperareincreasedby4.6%and6.3%whilethenumberofparametersandthecomputationalcomplexityarereducedby43.5%and12.0%,respectively.UsingtheoriginalmodelandtheTensorRTaccel
11、eratedmodelforspeedevaluationontheJetsonNanoplatform,theinferencelatencyisreducedby8.1%and9.8%,respectively.Thecomprehensiveindicatorsofmanyexcellentobjectdetectionnetworksandtheirfriendlinesstoembeddedplatformsaresurpassedbythealgorithmproposedinthispaperandthepracticalmeaningisgenerated.Key words:
12、Objectdetection;YOLOv5;ShuffleNetv2;AdaptiveSpatialFeatureFusion(ASFF);Embeddeddevice;TensorRTacceleration1 引言在过去10年中,目标检测技术已广泛运用在智能视频监控、交通场景检测等领域1。此技术通过卷积神经网络获取特征,提升检测性能。当前主流基于卷积神经网络的目标检测算法可划分为两类:一类是以区域卷积网络(Region-basedConvolu-tionalNeuralNetwork,RCNN)2为主流的双阶段目标检测算法,其精度高但速度慢,是一种先产生候选框,再检测的算法;另一类是以单
13、镜头多框检测器(SingleShotmultiboxDetector,SSD)3和只看1次网络(YouOnlyLookOnce,YOLO)4为代表的单阶段目标检测算法,其速度快但精度低,是一种生成候选框过程一体化的实现,因此该算法更适合高实时性的目标检测任务。在过去6年中,YOLO算法已升级到第5个版本,形成目标检测系列。Redmon等人4首次提出YOLO目标检测框架,将整张图片作为网络输入,在输出层上直接对框的位置和类别预测,将目标检测视为回归问题。Redmon等人5继续提出YOLOv2,对预测准确率、速度、识别对象3方面进行了改进。Redmon等人6进一步提出YOLOv3,融合特征金字塔网
14、络结构来实现多尺度检测。YOLOv47作者通过组合大量前人所提技术并适当创新,实现性能最优平衡。而最近的YOLOv58与YOLOv4性能相似并共享相同设计,其代码全由PyTorch框架编写,更关注可访问性和开发环境使用。此外,YOLOv5比YOLOv4模型更小,训练和推理速度更快。YOLO系列虽然优秀,但其参数量较大且计算复杂度较高需要更强的图像处理器来部署。近年来,随着边缘计算、智能终端的发展,在嵌入式设备上部署人工智能模型受到广泛关注。特别地,JetsonNano因具有便携式、低功耗等特点被广泛应用在安防、交通等场景9,10,而且通过TensorRT还可以在保证检测精度的情况下实现推理加速
15、11。为了提升精度,往往需要使用更复杂的网络模型,但受嵌入式设备内存少且计算能力不足等限制,往往需要更轻量级的目标检测框架,以满足实时处理的需求。针对此类限制,研究者推出一系列YOLO的Tiny版本,如YOLOv2-Tiny,YOLOv3-Tiny,YOLOv4-Tiny12等,而YOLOv5则通过调整尺度比例来解决模型轻量化问题。其次许多研究者提出轻量级神经网络,如混洗网络2代(ShuffleNetv2)13通过内存访问成本和平台特点避免大量冗余计算,纳米网络(NanoDet)14系列通过集成多种轻量级方法同时兼顾速度、精度和体积。此外,文献9基于YOLOv4-Tiny实现对车辆的实时检测,
16、并部署到JetsonNano中,文献10通过YOLOv5实现交通标志识别,并结合JetsonNano实现智能小车设计。在嵌入式设备上,上述目标检测算法存在网络结构复杂、综合性能不平衡或嵌入式设备部署困难等问题。针对这些问题,以JetsonNano为例,本文提出一种面向嵌入式平台的高性能目标检测算法,命名为高性能-只看1次5代网络(HighPerformance-YouOnlyLookOncev5,HP-YOLOv5)。首先,该算法在主干网部分设计了空间颈块(spacestem)代替原焦点(focus)模块,使用改进的ShuffleNetv2代替原跨级局部暗网(CrossStagePartial
17、Darknet,CSPDarknet),并减少了空间金字塔池化(SpatialPyramidPooling,SPP)的内核尺寸,使主干网络架构更轻量化。其次,在颈部以路径聚合网络(PathAggregationNetwork,PAN)为基础设计了增强型路径聚合网络(EnhancedPathAggregationNetwork,EPAN),并增加了P6大目标输出层,提升检测性能。然后,在检测头使用改进的自适应空间特征融合(AdaptiveSpaceFeatureFusion,ASFF)15模块。最后本文通过修改了边框损失函数和激活函数以提升模型的综合能力。经实验验证,2206电子与信息学报第45
18、卷本文算法超越众多优秀的目标检测网络,实现了准确率和速度的最佳平衡,对嵌入式设备部署更加友好,具有实际应用意义。2 方法2.1 YOLOv5算法YOLOv5有4种不同的配置,包括S,M,L和X系列,检测性能和网络深度均由浅入深,以满足不同场景的检测需求。此网络架构如图1所示。一般情况下,YOLOv5模型包括输入、主干网、颈部和检测头4部分。网络输入部分通过马赛克数据增强等方式对图像预处理。预处理后图片通过Focus结构进行切片操作,然后通过多个卷积模块、CSP模块和SPP模块生成新特征图。颈部使用PAN实现特征融合。在头部生成边界框并预测目标的分类。2.2 YOLOv5算法改进针对嵌入式设备资
19、源有限的特点,直接部署YOLOv5网络架构会消耗大量设备资源。若使用小尺度的YOLOv5网络,其精度和速度难以有效平衡。为了解决此问题,本文对YOLOv5原始网络架构进行了6处关键修改:(1)提出了SpaceStem代替原始的Focus模块;(2)结合改进的ShuffleNetv2对CSPDarknet进行替换;(3)改变了SPP模块并且使用了更小的内核;(4)基于PAN,设计了新的EPAN来代替PAN;(5)添加了P6输出块,1个步长为64的大目标检测层;(6)融合改进的ASFF模块来增强检测头性能。2.2.1 主干网络轻量化2.2.1.1 Stem架构设计Focus模块虽然可以加速模型训练
20、,减少模型图1YOLOv5整体架构图第6期刘乔寿等:高性能YOLOv5:面向嵌入式平台高性能目标检测算法研究2207参数和计算复杂度。但本文对此模块进行了剔除,主要有两个原因:(1)切片操作有助于加强特征间联系,但需要在深层卷积下才有效,这也会加大训练难度;(2)频繁的切片操作对于嵌入式平台并不友好以及网络量化操作并不支持Focus模块。为了解决以上问题,本文设计了类似文献16的Stem模块来代替Focus模块,命名为SpaceStem模块,具体结构如图2所示。首先将输入图片通过33卷积来调整通道数,然后通过两部分进行处理,一部分通过一个卷积核为22、步长为2的最大池化层;另一部分通过一个普通
21、卷积将通道数调整为以前的1/2,再通过一个卷积核为13和卷积核为31、步长为2的空间可分离卷积进行特征提取,并将两部分进行合并,再通过通道混合融合通道间信息,最后通过11卷积对通道数进行调整。使用SpaceStem模块,计算复杂度会略微增加,但会大幅提升模型的表示能力。2.2.1.2 IS Block模块设计虽然CSPDarknet有强大的特征提取能力,但其网络参数和计算复杂度会消耗嵌入式设备大量计算资源。针对此问题,本文结合改进的Shuffle-Netv2对原主干进行修改,以减少计算资源。ShuffleNetv2是一种针对移动设备而设计的轻量级网络,以计算浮点运算量(FLoating-poi
22、ntOperationsPersecond,FLOPs)为指导和4种网络设计理念为准则,并结合深度可分离卷积、通道划分(ChannelSplit)和通道混合(ChannelShuffle)等操作提升网络计算效率,减少模型的计算复杂度和参数量,从而降低内存占用率。对于ShuffleNetv2中空间下采样的ShuffleBlock,每个分支均采用步长为2的深度可分离卷积,以实现下采样操作,随后通过11卷积来调整通道数,最后合并在一起并进行ChannelShuffle操作,使得通道数翻倍,具体结构如图3(a)所示。而Shuffle-Netv2中基础的ShuffleBlock,通过ChannelSpl
23、it划分通道,一部分通过11卷积减少通道数,采用深度卷积进行处理,随后通过11卷积调整通道数,另一部分无处理,直接将两部分进行合并,最后通过ChannelShuffle来加强通道间的信息融合,具体结构如图3(b)所示。图2SpaceStem架构图图3ShuffleBlock和ISBlock的模块对比图2208电子与信息学报第45卷由于直接将CSPBlock替换成ShuffleBlock会损失大量精度,因此本文还需要对ShuffleBlock进行合理改进,改进后的ShuffleBlock叫做增强型混合网络(ImprovedShuffleBlock,ISBlock),整体结构如图3(c)和图3(d
24、)所示。具体地,ChannelShuffle虽然提供了信道的信息交换,但会导致融合特性的丢失。为了解决此问题,本文在步长为2时增加了33的普通卷积和11的点卷积来整合不同信道信息。幽灵网络(GhostNet)17作者提出一种轻量化的Ghost模块,可通过少量参数来产生更多有效特征,从而提升网络性能。因此本文在步长为1的模块中引入Ghost模块,来减小计算复杂度。虽然深度可分离卷积会让整个网络变得更轻量化,但是这会极大减少模型的准确度,而对于推理速度提升略低。因此,本文将ISBlock中的深度可分离卷积全部改为普通卷积,以获得更好的性能,推理速度的损失位于可接受的范围。由于在卷积前或后使用11的
25、卷积,其作用通常为融合通道间信息和降维升维,所以本文认为左分支上使用两个11卷积是多余的。因此删除了卷积后的11卷积,进一步降低了参数量和计算复杂度,提升了推理速度。2.2.1.3 小内核SPP送入颈部之前,主干网最后部分的输出特征图可通过SPP模块增加感受野,从而分离出最重要的特征,但是过大的池化卷积核会使得网络推理时延增大。针对此问题,本文通过将原SPP内核大小(1313,99,55)修改为(99,55,33),较小的内核能够在维持性能的情况下减少推理时延。此外本文将主干网最大输出通道数降低为512,在降低计算复杂度的情况下能有效降低推理时延。2.2.2 特征融合性能增强2.2.2.1 E
26、PAN模块设计YOLO目标探测器随着层次的加深,特征变得更抽象,特征图的空间分辨率会因下采样而降低,从而导致空间信息和细粒度特征的丢失。为了保留细粒度特征,将特征金字塔(FeaturePyramidNetworks,FPN)引入到YOLOv3。FPN能融合更多语义信息,但忽略了定位信息。为了克服这个问题,PAN在此基础上又增加了一个自底向上的通道,将底层信息直接向上传递,提高信息利用率。为了进一步提高信息的利用率,本文针对PAN设计了一个EPAN模块,具体网络模块如图4和图6所示。本文依旧采用自下而上和自上而下的方式来加强特征间的融合,不同之处在于,我们在此基础上采用跳级连接和特征重用的方式。
27、具体地,通过对初始输入和输出节点增添跳级连接,在少量增加成本的基础上融合更多有效特征。考虑到低层特征语义信息较欠缺,高层特征语义信息较丰富,所以我们认为处于中间位置的P4特征层不仅包含较完整的语义信息,还不会引入庞大的计算量。因此本文将P4_1作为输入融合到P3_2和P5_2的输出部分,以此来加强特征重用,提升网络检测性能。由于颈部的CSP模块结构复杂,为降低其计算复杂度,本文引入文献18的C3模块,并在此模块基础上省去Conv操作,最后将C3模块对颈部CSP模块替换,修改后C3模块具体结构如图6(b)所示。2.2.2.2 P6输出层在YOLOv5中,原特征融合模块有3个输出特征层,分别为P3
28、,P4和P5,步长分别为8,16和32。在本文提出的HP-YOLOv5中,额外添加了P6输出块,其步长为64,P6具体结构如图6所示。几乎以往目标检测器都专注于提高小目标的检测,而忽略了大目标。因此,本文通过P6输出块解决此问题。由于P6输出块采用深度可分离卷积和相加的方式,所以对网络推理延迟、参数量无太大影响。考虑到P6输出块的步长为64,因此本文模型输入尺寸需要满足是64的倍数。2.2.3 检测头性能提升由于YOLO检测头难以充分利用不同层的特征。因此本文将ASFF融入到检测头并对ASFF进行合理设计,以优化其性能。ASFF模块通过学习权重参数对不同层次的特征图进行融合,使得信息层次化、模
29、型训练效率更佳。由于直接在YOLOv5中融合ASFF结构会损额外的参数、计算复杂度和延迟。因此,本文在ASFF基础上,结合深度可分离卷积和空洞卷积重新设计此模块,并命名为A-ASFF模块,此模块与ASFF图4PAN与EPAN的模块对比图图5A-ASFFHead结构第6期刘乔寿等:高性能YOLOv5:面向嵌入式平台高性能目标检测算法研究2209模块性能相当,但相对于ASFF模块的参数量、计算复杂度和延迟大幅减少,更符合轻量级网络模型的设计。此模块具体结构如图5和图6所示。以A-ASFF-1为例,经过EPAN后的特征图level3,通过步长为2,卷积核为33的深度可分离卷积和步长为2的最大池化层得
30、到与level1相同维度的特征图,记为Rlevel3,再将level2通过步长为2,卷积核为33的深度可分离卷积调整至同样维度大小,记为Rlevel2。将level1,Rlevel2和Rlevel3通过11卷积得到权重参数,和,再把三者分别乘以,和 再相加得到新的融合后的特征,最后与空洞率为2,卷积核为11的空洞卷积调整通道数,提升感受野。此模块具体算法如式(1)所示Yli,j=D(li,jx1li,j+li,jx2li,j+li,jx3li,j)(1)li,jli,jli,jli,j+li,j+li,j=1li,j,li,j,li,j 0,1xnli,j其中,,和表示不同层特征图的权重值,满
31、足和,lDYli,j表示n层到 层特征图的特征向量,为空洞计算,表示不同层通过此模块得到的新特征图。此外,在上采样层中依然使用最近插值法来降低计算成本。2.2.4 损失函数修改YOLOv5的损失函数由边界框损失、置信度损失和类别损失组成。为提高边界框的可靠性,本文修改了边界框的坐标损失。由于CIOU损失考虑了边界框回归的纵横比,而不是宽高和置信度的真实差异,所以当预测框和真实框的宽高纵横比呈现线性比例时,预测框的宽高难以同时增加或减少,最终停止回归优化。针对此问题,本文采用EIoU损失19来替代CIoU损失,计算方法如式(2)所示REIoU=RIoU+RDIS+RASP=1|A B|A B|+
32、2(b,bgt)c2+2(w,wgt)c2w+2(h,hgt)c2h(2)图6HP-YOLOv5整体架构图2210电子与信息学报第45卷RIoURDISRASPABbbgt2cwchc其中,该损失函数包含3个部分,分别是交并比损失,中心距离损失,宽高损失。其中为预测框,为真实框,和分别表示预测框和真实框的中心点,表示平方差。和分别表示覆盖两个框的最小边界框的宽度和高度,表示覆盖两个框的最小边界框的中心点。2.2.5 激活函数替换激活函数的质量往往决定了网络的性能。由于HardSwish激活函数会造成梯度硬饱和以及对一部分输入无响应,所以本文选择SiLU20激活函数对其进行替换。SiLU激活函数
33、能有效防止梯度消失,融合更多的输入信息,从而提升模型性能,计算方法如式(3)所示SiLU=x Sigmoid(x)=xexex+1(3)综合以上所提改进,本文改进后网络架构如图6所示,此网络架构由输入、主干网(Backbone)、颈部(EPAN)和检测头(A-ASFFHead)4部分组成。3 实验与结果分析3.1 实验细节及平台本文以YOLOv5-3.18代码库为基线,网络训练使用AdamW优化器,初始学习率为0.01,循环学习率为0.2,权值衰减为0.0005,以32个批尺寸的规模运行200个epoch。前3个热身阶段的动量为0.8,之后动量将变为0.937,图片输入尺寸均为448448。为
34、了公平对比,使用默认数据增强的方法,无额外预训练。本实验所使用的计算机配置:(1)PC平台:CPU为Intel(R)Xeon(R)W-2223CPU3.60GHz,GPU为NVIDIAGeForceRTX3080,操作系统为Ubuntu18.04,开发框架为PyTorch。(2)嵌入式设备平台:JetsonNano(4G),GPU为128核Maxwell,CPU为4核ARM*A571.43GHz,内存为4GB。3.2 数据集本实验使用PASCALVOC2012公共数据集,此数据集共有20类别,包含11530张图片,大小不一,其训练集、验证集图片分别为9531张和1999张。3.3 消融实验本节
35、将介绍HP-YOLOv5-S的修改效果以及本文方法与YOLOv5各个模块的对比实验结果。在此次研究中,表1、表2和表3初始模型均为YOLOv5-S,实验平台为PC平台。上述实验使用均值平均精度(meanAveragePrecision,mAP)、参数量(Params)、FLOPs和延迟(Latency)作为性能评价指标,其中Latency是在PC平台下通过网络模型对验证数据集以批尺度为1来计算出的平均推理延迟。为了直观说明所有改进对精度、参数量等指标的叠加影响,表1的实验选择以递增形式完成。SiLU对比HardSwish:首先对YOLOv5-S原始代码库进行常规训练,训练结果如表1所示,并列表
36、 1 网络叠加优化研究结果方法mAP.5(%)mAP.5:.95(%)Params(M)FLOPs(G)Latency(MS)YOLOv569.742.17.38.311.2替换SiLU70.2(+0.5)42.4(+0.3)7.38.310.8(0.4)修改SPP(3,5,9)70.242.47.38.310.3(0.5)替换SpaceStem71.5(+1.3)44.1(+1.7)7.38.410.5(+0.2)替换ISBlock70.8(0.7)43.2(0.9)3.87.08.3(2.2)替换EPAN71.8(+1.0)44.0(+0.8)3.97.18.7(+0.4)增添P6Bloc
37、k73.0(+1.2)45.5(+1.5)4.07.18.9(+0.2)替换A-ASFF/ASFF74.1/74.3(+1.1/+1.3)47.6/47.7(+2.1/+2.2)4.1/6.67.3/10.110.1/11.7(+1.2/2.8)替换EIoU74.3(+0.2)48.4(+0.8)4.17.310.1表 2 本文方法与基线各模块的对比实验结果原始方法/本文方法Params(修改前/后)MFLOPs(修改前/后)mAP.5(修改前/后)(%)SPP(5,9,13)/SPP(3,5,9)656896.0/656896.0257.8/257.869.7/69.7Focus/Space
38、Stem44032.0/67968.0(+54.0%)1643.0/2497.0(+51.9%)69.7/71.3(+1.6)CSPBlock/ISBlock986112.0/882432.0(10.5%)1549.0/71.3(95.4%)69.7/69.4(0.3)PAN/EPAN193654200.0/200566200.0(+3.6%)5838.6/5841.4(+0.1%)69.7/70.8(+1.1)Head/A-ASFFHead158300900.0/175772300.0(+11.0%)1442.7/1719.3(+19.2%)69.7/71.6(+1.9)第6期刘乔寿等:高性
39、能YOLOv5:面向嵌入式平台高性能目标检测算法研究2211出了模型的参数和计算复杂度的情况。通过将所有的激活函数替换为SiLU激活函数,根据表1结果发现,SiLU激活函数将mAP.5和mAP.5:.95分别提升了0.5%和0.3%,推理速度减少了0.4ms。不同SPP内核尺寸:将原始SPP内核大小(1313,99,55)修改为内核大小(99,55,33)后性能情况如表1所示。此外,结合表2和表3可知,修改SPP内核尺寸不会影响网络模型参数量和计算复杂度,但较小的内核大小可以在不降低精度的情况下降低延迟0.5ms。SpaceStem对比Focus:将设计的SpaceStem模块替换了Focus
40、模块的mAP性能在表1列出。从结果可知,SpaceStem模块将mAP.5和mAP.5:.95分别提升了1.3%和1.7%。此外,结合表2可以发现,SpaceStem模块相比Focus模块参数量和计算复杂度分别增加了54.0%和51.9%,但提高精度的同时推理速度只损失0.2ms。ISBlock对比CSPBlock:将设计的ISBlock替换了CSPBlock的mAP性能在表1列出。从结果可知,ISBlock会导致mAP.5和mAP.5:.95分别下降0.7%和0.9%。但是,其参数量降低了近1/2,计算复杂度降低了1.4G,模型推理速度减少了2.2ms。此外,结合表2可以发现ISBlock相
41、比CSPBlock参数量和计算复杂度分别减少10.5%和95.4%。EPAN对比PAN:将设计的EPAN替换了PAN模块的mAP性能在表1列出。从结果可知,EPAN模块使得mAP.5和mAP.5:.95分别提升了1%和0.8%。此外,结合表2可以发现,EPAN相比于PAN模块参数量和计算复杂度仅在略微增加3.6%和0.1%的情况下换来性能提升。P6输出块:添加P6模块的mAP性能在表1列出。从结果可知,此模块将mAP.5,mAP.5:.95分别提升了1.2%和1.5%,推理速度减少0.2ms。A-ASFFHead对比ASFFHead和Head:将设计的A-ASFF和ASFF模块分别替换原Hea
42、d,两者mAP性能在表1列出。从结果可知,A-ASFF所带来的精度提升与ASFF模块几乎一致,但ASFF模块会造成参数量、计算复杂度和延迟分别增加了2.6M,3.0G和2.8ms,而A-ASFF架构参数量、计算复杂度和延迟相对于原Head只增加了0.1M,0.2G,1.2ms,既减小了额外开销,又保证了精度大幅提升。具体地,相比原检测头,融合A-ASFF架构的检测头mAP.5和mAP.5:.95分别提升了1.1%和2.1%。因此本文使用改进的A-ASFF架构作为头部增强方式。此外,结合表2发现,A-ASFFHead相比原Head参数量和计算复杂度分别增加11.0%和19.2%,但相较于ASFF
43、大幅降低。EIoU损失函数:表1列出了加入EIoU的性能结果。从结果可知,EIoU损失函数将mAP.5和mAP.5:.95分别提升了0.2%和0.8%,其他指标无影响,表明替换损失函数有助于提升检测性能。通过表3所示的本文方法与基线消融对比实验结果可知,SpaceStem,EPAN,P6和A-ASFF都能表 3 本文方法与基线消融对比实验结果SiLU SpaceStem ISBlockSPP(3,5,9)EPAN P6 A-ASFF EIOU mAP.5(%)mAP.5:.95(%)Params(M)FLOPs(G)Latency(MS)69.742.17.38.311.270.242.47.
44、38.310.871.343.97.38.411.569.441.33.86.98.969.742.17.38.310.770.843.37.48.411.671.644.97.58.411.471.645.37.68.712.570.042.97.38.311.271.343.97.38.411.169.441.33.86.98.470.843.23.87.09.170.843.23.87.08.672.545.77.68.411.774.348.44.17.310.12212电子与信息学报第45卷给网络模型带来精度提升,其中P6和A-ASFF提升最大。而A-ASFF会带来更多额外的参数量和
45、计算复杂度,从而更加剧延迟,以及ISBlock虽然会带来一定精度损失,但会减少大量计算复杂度和参数量,进而降低延迟。由表3可知,对主干网络部分改进中,SpaceStem,ISBlock和小内核SPP之间不存在相互影响,在颈部同时添加EPAN和P6输出块,使准确率更优。相比YOLOv5-S,融合所有方法可将mAP.5,mAP.5:.95分别提高4.6%和6.3%,参数量、计算复杂度分别减少3.2M和1.0G。注意,由于表3中主干网和颈部并未修改,其最大通道数是1024而非512,所以表1和表3的A-ASFF模块带来的参数量和计算复杂度并不同。3.4 结果分析本文提出的HP-YOLOv5-S和YO
46、LOv5-S对PASCALVOC2012数据集训练结果的平均精度和召回率的曲线图如图7所示。通过图7可知,本文改进的网络架构比YOLOv5-S的精准率(纵坐标)和召回率(横坐标)的结果明显提升,并且展示了数据集中每个类别目标具体AP的测试结果,改进后模型的mAP比原始的提高了4.6%,对于每个类别的检测精度均有提升。本文将训练好的HP-YOLOv5-S和YOLOv5-S模型部署到JetsonNano嵌入式设备上,分别对办公场景、道路场景、公园场景和航空场景下的不同尺度目标进行检测,检测结果如图8和图9,其中黄色虚线边界表示误检,红色虚线边界框表示漏检,紫色虚线边界框表示重复检测。根据结果图可以
47、发现,在目标密集且小目标多的情况下,YOLOv5-S算法的识别效果欠佳,漏检、误检和重复检测较多,而本文所提HP-YOLOv5-S相比YOLOv5-S算法在识别精度上更优,几乎无漏检、误检和重复检测。3.5 与其他SOTA模型进行对比为了进一步验证改进算法的有效性,本文在PASCALVOC2012数据集上评估了所提方法,并在相同实验环境下与YOLOv3-Tiny,YOLOv4-Tiny,YOLOv5系列和NanoDet系列进行对比实验。本文使用模型大小,Params,FLOPs,mAP,Latency在内指标来评估性能,其中Nano指在Jet-sonNano下模型在验证数据集中的平均推理延迟,
48、TRT指将模型部署到嵌入式设备上并通过Tensor-RT加速后的平均推理延迟,具体结果见表4。从表4可知,该方法与同级别YOLOv5相比,在降低模型大小的情况下,模型的参数量和计算复杂度均有所减少,算法性能更佳,对于不同平台的延迟均有所降低。由于使用了更轻量级的主干网、可分离卷积和限制最大通道数等措施,所以相比于YOLOv3-Tiny和YOLOv4-Tiny,模型的大小、参数量和计算复杂度均大幅降低,精度显著提高。与NanoDet和NanoDet-Plus相比,HP-YOLOv5-N有着相似的参数量和计算复杂度,检测速度虽不如NanoDet系列,但其平均精度远大于NanoDet系列。4 结论当
49、前目标检测算法主要划分为1阶段和2阶段两图7YOLOv5-S和HP-YOLOv5-S的平均精度和召回率对比图第6期刘乔寿等:高性能YOLOv5:面向嵌入式平台高性能目标检测算法研究2213类算法,1阶段相比2阶段检测速度更快,更适合高实时性的检测任务。本文针对深度学习中单阶段检测算法综合性能不平衡和在嵌入式设备难以部署等问题,提出了一种面向嵌入式平台高性能目标检测算法,此算法以YOLOv5为基础架构。首先,在主干网络部分,使用SpaceStem代替Focus模块以及结合改进的ShuffleNetv2代替CSPDarknet以及减小了SPP内核尺寸,使得主干网络架构更轻量更高效。其次,在颈部,基
50、于PAN设计了EPAN来丰富特征信息并增加了P6大目标检测层以进一步提升对于大目标的检测。然后,在检测头部分,结合空洞卷积和深度可分离卷积改进了ASFF模块,在少量额外开销情况下大幅提升网络性能,并解决特征尺度不变性的问题;最后对函数部分进行修改,使用EIoU和SiLU分别对CIoU损失函数和HardSwish激活函数进行替换,以提升模型的综合性能。以JetsonNano嵌入式设备为算法部署载体并通过TensorRT加速处理,对不同场景目标进行检测,改进后网络检测性能显著提高。实验结果表明,本文所提算法相比YOLOv5和其他主流算法都具有更好综合性能的提升以及更少资源的占用,更合适嵌入式设备上