APP下载

基于迅颈模块与单解耦头的航拍车辆检测方法

2024-03-11高宏伟王雨桐

沈阳理工大学学报 2024年2期
关键词:主干特征提取语义

高宏伟王雨桐

(沈阳理工大学自动化与电气工程学院,沈阳 110159)

无人机是一种高效的大规模环境传感与监测设备[1],广泛应用于军事、民用等多个领域[2]。 航拍图像的目标检测是无人机应用研究的热点内容,目标检测也是计算机视觉领域中最基础且最具挑战性的任务之一[3]。 目标检测算法中,两阶段模型通常精度较高[4],但效率较低,难以在计算资源有限的无人机平台上实现。 近年来,基于YOLO 的单阶段模型被广泛应用于嵌入式系统[5],但基于锚框的YOLO 模型,在资源极度有限的无人机设备上难以满足实时性需求。 此外,YOLO 需要通过数据集获取锚框的尺寸,这种方式使得模型在其他数据集上的泛化能力较弱。

针对上述问题,许多研究人员致力于开发高效的检测器架构,提出了Nanodet、YOLOX-Nano、YOLOX-Tiny 和PP-PicoDet 等网络模型[6-7]。 尽管这些检测器促进了轻量化目标检测研究的进展,但应用于边缘设备上的无人机检测中仍存在两个实际问题:一是GPU 设备上多检测头导致网络参数和计算量(GFLOPs)显著增加,特别是随着多分支结构的进一步扩展,GFLOPs 增加更为明显[8];二是现有的轻量化模型没有考虑到航拍时角度变化会导致图像中目标的分布稀疏及正负样本不平衡[9]。

为解决以上问题,本文提出一种对无人机边缘GPU 友好的使用无锚策略且为单输出解耦头的轻量级深度学习架构Faster S。 首先,提出一种称为迅颈模块的轻薄结构,用以替代特征金字塔网络(FPN)[10]和路径聚合网络(PANet)[11]的颈部层,迅颈模块由简单而高效的运算器部分卷积(PConv)和分组卷积构成,可大大减少网络参数,更好地满足轻量化网络的需求。 其次,提出一种轻量级单输出解耦头(single decoupled head,SDHEAD),该解耦头根据目标检测中分类和定位两个子任务的特点,设计了两个分支,即用于分类的语义特征提取器和用于定位的边界特征提取器,两分支利用不同语义上下文的特征,以适应不同的目标尺度和复杂度。 SDHEAD 通过两个分支的特征融合,结合不同层级的感受野,实现单一输出头检测不同尺度物体的功能。 最后,为解决航拍图像正负样本不均衡问题,采用动态标签分配策略(adaptive training sample selection,ATSS)优化训练过程[12],获得全局优化结果。

1 网络结构与原理

本文提出的Faster S 网络整体结构如图1 所示,图中各变量含义详见下文中各部分说明。Faster S 的主体部分由主干网络、颈部网络和单输出解耦检测头组成。

图1 Faster S 结构Fig.1 The structure of Faster S

1.1 轻量化主干网络

本文主干网络采用高效而强壮的深度神经网络ShuffleNet。 相比于其他轻量化主干网络,如MobileNet[13]、GhostNet[14]等,ShuffleNet[15]使用通道洗牌技术,将输入特征图分成较小的组,并将这些组重新组合,从而减少模型参数数量。 这种分组卷积的方法不仅可以有效减少计算量,还可以避免过拟合和降低内存占用。 此外,ShuffleNet还具有较好的鲁棒性,其采用深度可分离卷积和残差块等先进技术,在小数据集上的表现比其他轻量化主干网络更好,可在资源受限的环境下高效完成目标检测任务。

1.2 轻量化颈部网络

本文在Faster S 的颈部层设计了一种轻量化迅颈网络,计算公式如下。

式中:P1 为骨干网络的最高层;P1′为迅颈网络的最高层;P2 为骨干网络的第四层;P2′为迅颈网络的第二层;P3 为骨干网络的第三层;P3′为迅颈网络的第一层;US2×(•)表示2 倍下采样;F(•)表示迅颈模块;Concat(•)表示通道拼接操作。

P1 经过迅颈模块得到P1′,P2 经过迅颈模块并与P1′通道拼接后得到P2′,P3 经过迅颈模块并与P2′通道拼接后得到P3′。 迅颈网络利用迅颈模块降低了深层网络的通道数,但并不降低深层网络的特征提取能力。

迅颈模块结构如图2 所示。 该模块由一个3 ×3 的PConv 和两个组卷积组成,这些结构一起形成倒置的残差块,中间层的组卷积具有扩展通道数量的功能,并通过残差连接以重用输入特征。此外,在第一个1 ×1 组卷积运算后,加入归一化层(BatchNorm)和激活层(ReLU), 以保持特征多样性并实现更低的延迟。

图2 迅颈模块结构Fig.2 The structure of fast neck module

PConv 结构计算公式如下。

式中:Y为输出特征;C为输入特征的通道数;Cp为进行PConv 的通道数;XCp为进行PConv 的输入特征;XC-Cp为进行映射的输入特征;Conv(•)表示卷积操作。

PConv 只对部分输入通道进行常规卷积,而其余通道保持不变,这种方式可以简单有效地利用特征图中不同通道的信息。 PConv 的计算量(FLOPs)为H×W×k2×,其中H和W分别为特征图的高和宽,k为卷积核大小。

当PConv 的通道数为输入特征通道数的1/4时,PConv 的FLOPs 仅为普通卷积的1/16。 此外,PConv 具有较小的内存访问量,仅为常规卷积的1/4。

1.3 检测头SDHEAD

本文通过分析目标检测任务中分类和定位两个主要子任务的差异,并融合不同层间感受野特征,优化检测头的设计,提出一种适用于轻量级网络的单输出解耦头SDHEAD。

1.3.1 检测头框架

本文采用解耦头的传统目标检测器,将分类和定位两个任务分开处理,以充分利用不同类型的信息,提高目标检测的准确性。

给定一个颈部层l的真实对象,具有边界框B和类别标签C,采用解耦头的目标检测器在特征图Pl上的损失L包括分类损失Lcls和定位损失Lloc,即

式中:Fc(•) ={fcls(•),S(•)},表示分类分支;Fr(•) ={floc(•),R(•)},表示定位分支;fcls(•)和floc(•)分别表示用于提取分类和定位特征的投影函数;S(•)和R(•)分别表示分类分支和定位分支中的最后一层模块,用于将特征解码为分类分数和边界框位置。

传统解耦头的fcls(•)和floc(•)共享相同的结构,但该设计不能充分获得分类和定位所需要的不同语义信息和边界信息。 为此,SDHEAD 在源头上解耦两个任务的特征编码,使用特定任务的输入特征为两个分支提供输入(图1 中和),故式(5)可以写为

对于分类分支,本文生成空间更粗糙但语义更丰富的特征图;对于定位分支,本文为其提供了包含更加详细的纹理和边界信息的特征图。

如图1 检测头部分所示,SDHEAD 接收三个颈部层的特征图,对这些特征图进行融合以获取不同的感受野信息,并将生成的解耦特征图用于分类和定位任务。 在分类阶段,采用两层特征投影函数,在定位阶段仅采用一层特征投影函数,在减少参数的同时保证模型的高精度。 SDHEAD包括用于分类的语义特征提取器和用于定位的边界特征提取器两部分。

1.3.2 语义特征提取器

语义特征提取器结构如图3 所示。 语义特征提取器利用来自Pl和Pl+1两个颈部层的特征图生成语义丰富的特征图进行分类。

图3 语义特征提取器结构Fig.3 The structure of semantic feature extractor

首先对Pl进行2 倍下采样,下采样采用平均池化操作,卷积核大小为3 ×3,步距为2。 将其与Pl+1聚合,生成最终的,公式为

式中Avg(•)表示下采样层。

通过上述操作,语义特征提取器融合了Pl层和Pl+1层间的感受野,不仅可利用显著特征的稀疏性,还可受益于更高金字塔级别的上下文语义,有助于更有效地推断对象类别,特别是没有纹理的对象和被严重遮挡的对象。

1.3.3 边界特征提取器

边界特征提取器结构如图4 所示。

图4 边界特征提取器结构Fig.4 The structure of boundary feature extractor

边界特征提取器利用来自颈部层的特征图Pl-1、Pl和Pl+1,在融合感受野的同时,Pl-1提供了更多的细节和边缘特征,Pl+1提供了更全面的物体视角。 为提高计算效率,本文对Pl-1、Pl和Pl+1进行简单融合。Pl首先进行2 倍上采样,然后与Pl-1相加,之后进行下采样恢复到Pl的分辨率,下采样采用平均池化操作,卷积核大小为3 ×3,步距为2。 该设计有效保留了Pl-1中的详细信息,且几乎没有额外的计算开销。 最后对Pl+1进行上采样并相加,生成最终的。 公式表示为

式中μ(•)表示上采样。

2 实验结果和分析

2.1 数据集

本文使用CARPK 数据集,包含由无人机(大疆,型号为PHANTOM 3 PROFESSIONAL)拍摄的来自4 个不同停车场的89 777 辆汽车图像。 无人机拍摄高度约为40 m,图像大小为1 280×720 像素。

2.2 实验细节与评价指标

本文实验平台硬件配置为:AMD Ryzen 55600 处理器, 16 GB 运行内存, NVIDIA RTX3070 GPU。 系统环境配置为:Ubuntu22.04,PyTorch 1.11,CUDA11.3。

实验中采用416 ×416 像素大小的三通道图像作为网络的输入,初始学习率为0.001,使用SGD 优化器,动量为0.949,权重衰减为0.000 5,训练批次大小为32,训练的迭代次数为500 次。使用负对数似然函数和Smooth L1 作为损失函数。 推理时间包括前向推理时间和后处理时间。由于轻量级网络的数据增强不适合采用复杂的方法,如Moscia 和Mixup 等,故本文采用简单的数据增强方法,如随机平移和随意缩放等。

本文通过对比实验和消融实验对Faster S 算法的性能进行分析,采用的评价指标包括平均精度均值(mAP)、FLOPs、参数量和推理时间。 mAP是所有检测类别平均精度(AP)的均值,其数值越大,说明模型准确度越高,本研究中数据集仅有车辆一个类别,故mAP 即为AP。 本文使用的评价指标包括AP0.5∶0.9、AP0.5和AP0.75,其中AP0.5∶0.9表示在不同交并比(IoU) 阈值(0.5 ∶0.95,步长0.05)上的平均AP,AP0.5和AP0.75分别表示IoU设置为0.5 和0.75 时所得到的AP 值。 FLOPs 代表模型的复杂程度,即计算量。 参数量是衡量模型复杂度和容量的一个重要指标。 推理时间代表模型在推理单张图片时所用的时间,其数值越小,说明推理速度越快。

2.3 对比实验

2.3.1 不同网络对比

为证明Faster S 的优越性能,本文在CARPK数据集上同时使用其他较为先进的轻量级网络(包括Fastestdet、Yolo-FastestV2 和Nanodet-m)进行实验。 实验结果比较如表1 所示。

表1 不同网络在CARPK 数据集上的实验结果比较Table 1 Comparison of experimental results of different algorithms on the CARPK dataset

由表1 可以看出:Faster S 相较于Fastestdet,AP0.5提高了3.5%,参数量仅增加0.099 M,推理时间增加极少;Faster S 相较于Yolo-FastestV2,AP0.5提高了12.7%,参数量仅上升了0.097 M,推理时间几乎不变;Faster S 相较于Nanodet-m,尽管检测精度有所降低,但参数量和FLOPs 约为前者的1/3,推理时间则降低了76%。 可见,Faster S具有较佳的综合性能。

2.3.2 不同主干网络对比

为探究不同主干网络对Faster S 检测性能的影响,本文对目前流行的轻量级主干网络(包括Ghostnet、 Mobilenetv3-small 和 Shufflenetv2) 在CARPK 数据集上进行实验。 在不影响网络检测精度的前提下,为减少主干网络的重量,本文使用三种主干网络的0.5 倍大小的模型结构。 实验结果如表2 所示。

表2 不同主干网络对检测性能的影响Table 2 The impact of different backbone networks on the algorithm

由表2 可以看出:本文使用Shufflenetv2 ×0.5为主干网络时,Faster S 参数量仅为0.335 M,远少于Mobilenetv3-small×0.5 和Ghostnet ×0.5 为主干网络时的参数量;采用Shufflenetv2 ×0.5 的模型AP0.5较Ghostnet × 0.5 提高了31.1%,较Mobilenetv3-small × 0.5 提高了19.8%; 采用Shufflenetv2 ×0.5 的模型计算量FLOPs 较Mobilenetv3-small×0.5 降低了194.2 s-1,且其推理时间也较其他主干网络更低。

尽管Ghostnet 和Mobilenetv3 被设计为轻量化模型,但其最轻量化版本在特征提取能力上不及Shufflenetv2,因而精度较低。 此外,前两者的输出通道数量远超过Shufflenetv2 网络,需在颈部进行大量的卷积操作以调整通道数量,导致参数量大幅增加。

2.4 消融实验

为探究Faster S 中不同结构(迅颈网络、SDHEAD)对参数量、准确率、FLOPs 和推理时间的影响,本文以Shufflenetv2 ×0.5 主干网络、FPN 颈部网络、单独检测头(YOLOX 解耦头)为基础网络进行消融实验研究,消融实验结果如表3 所示。

表3 CARPK 数据集上的消融实验结果Table 3 Comparison of ablation experimental results on the CARPK dataset

在基础网络中主干网络和检测头不变的情况下,将FPN 替换为迅颈网络,实验结果如表3 中第二行所示。 与基础网络比较,在参数量降低0.311 M 的同时,AP0.5∶0.9和AP0.5分别提高了16.9%和6.1%,推理时间降低了0.3 ms,验证了新的颈部网络的有效性。 迅颈网络不仅减小了网络规模,而且保持了出色的检测精度。 这是因为自顶向下结构可以保证深层语义信息传递到浅层特征图,浅层特征图可为无人机拍摄的小对象提供语义支持。

保持基础网络中主干网络和颈部网络不变的情况下,将检测头替换为SDHEAD,实验结果如表3 中第三行所示。 相较于单独的YOLOX 解耦头,使用SDHEAD 的模型参数量降低了0.274 M,AP0.5∶0.95提高了6.0%,AP0.5提高了4.0%,推理时间降低了1.1 ms。 该结构不仅可以提高检测精度,而且可以提高推断速度,充分展现了SDHEAD的高效性能。

保持基础网络中主干网络不变,将FPN 替换为迅颈网络、检测头替换为SDHEAD,实验结果如表3 中第四行所示。 可见,Faster S 参数量仅有0.335 M,AP0.5∶0.95高达36.7%,推理时间仅为29.56 ms。 相比于其他几种网络结构,Faster S 参数量更低、精度更高、推理速度更快,总体性能更好。

3 结论

本文提出了一种新型的轻量级目标检测网络Faster S,用于无人机的实时目标检测。 首先,设计了一种轻薄的迅颈模块,引入迅颈模块的颈部层在保持网络精度的前提下,有效减少了网络的参数量。 其次,设计了一种单解耦头输出结构SDHEAD,通过语义特征提取器生成空间粗糙但语义更丰富的特征图用于分类,通过边界特征提取器生成包含更多边缘信息的高分辨率特征图,以更好地回归物体边界。 在CARPK 数据集上的大量实验表明,与目前流行的轻量级模型相比,Faster S 在准确性和延迟之间实现了更好的平衡。

猜你喜欢

主干特征提取语义
全球首条1.2T超高速下一代互联网主干通路
抓主干,简化简单句
语言与语义
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
“上”与“下”语义的不对称性及其认知阐释
整合内容 构建高效课堂——开展非线性主干循环活动型单元教学模式
全国主干公路网交通安全监控信息共享平台构建研究
认知范畴模糊与语义模糊
基于MED和循环域解调的多故障特征提取