一种实时多尺度目标检测识别算法*

2022-05-27 03:38朱佩佩赖作镁
电讯技术 2022年5期
关键词:金字塔分支尺度

朱佩佩,吴 元,赖作镁

(中国西南电子技术研究所,成都 610036)

0 引 言

目标检测与识别是计算机视觉领域中的重要研究课题之一[1-3]。随着人工智能技术的发展,目标检测与识别方法发展迅速,现有基于深度学习的目标检测与识别算法主要分为基于区域建议的目标检测与识别算法(two stage)和基于回归的单阶段目标检测与识别算法(one stage)两大类。第一类算法中,首先使用候选框生成器生成稀疏的候选框集,并从每个候选框中提取特征,然后使用区域分类器预测候选框区域的类别。第二类方法直接生成大量密集的目标候选框,对特征图上每个位置的对象进行类别预测。通常而言,第一类检测器检测性能更优,在公开基准上取得了当前最优结果,而第二类检测器更省时,在实时目标检测方面具备更强的适用性。在对算法效率有较高要求的场景中,如无人机目标检测与识别、自动驾驶等,one stage模型有较高的适用性。随着模型的进一步研究完善,YOLO算法在无人机目标检测与识别领域得到了广泛的研究应用,可以在检测效率和检测精度上取得较好的平衡。

文献[4]利用YOLOv2算法对无人机航拍图像中的目标进行检测定位,通过多尺度特征提取及更改候选框筛选规则,使目标检测平均准确率提高至79.5%,网络定位准确率大于84%。文献[5]利用YOLOv2对无人机航拍图像中的井盖进行破损检测,结合井盖特点增大池化层维度、减少网络层数等,其准确率为82.6%,基本满足破损井盖检测的需求。文献[6]结合YOLOv3实现无人机目标的跟踪识别,利用YOLOv3的主干网络和特征金字塔保留丰富目标特征,且网络的高效性保证了跟踪系统的实时性。文献[7]通过基于改进的YOLOv3的深度卷积神经网络来检测识别无人机飞行过程中的障碍物,实现实时障碍物检测并避障。然而,无人机拍摄的图像目标相较于常规目标容易受到飞行高度、拍摄角度、天气等因素的影响;获取的同一目标的尺寸、视觉特征差异较大,且存在大量的小目标,多尺度目标检测识别性能亟需进一步提升;目标特征在不同的拍摄角度下产生较大的差异,即具有较大的类内距离,加大了同一目标识别的难度;因飞行高度的攀升,目标细节特征越来越少,模型检测精度会明显恶化。

为了改善无人机目标检测与识别任务中目标多尺度导致的检测性能不高的问题,本文基于无人机拍摄的公开数据集,通过分析现有实时目标检测识别模型结构特点,提出了改进的特征金字塔结构。改进的特征金字塔由原始的三层结构和连接三个尺度特征变化为跨级连接更大、更多尺度特征的两个分支结构。改进后的网络结构未增加特征金字塔深度,特征传递距离没有显著增加,既可以克服目标多尺度变化带来的负面效应,也可以较好地保留小目标特征。与四层特征金字塔相比,该结构在公开数据集上获得了更好的检测识别性能。

1 FPN结构与模型

特征金字塔结构是一种常用于连接实时目标检测识别网络中主干网络和检测头的结构,如图1所示。特征金字塔FPN结构通过自上而下的连接和侧向连接实现特征的跨层融合,将低层特征传导到高层特征层中,减少了高层到低层的特征流通需要穿越的卷积层数。同时,自上而下的连接生成粗粒度特征,自下而上的连接通过侧向连接加入细粒度特征。将侧向连接与自上而下的连接组合起来,实现特征的跨层连接,就可以得到不同分辨率的的特征图,而它们都包含了原来最深层特征图的语义信息。用FPN的多分辨率特征取代单一分辨率的特征图,每一级上用同样的尺寸的锚点达到多尺度锚点的效果,特征金字塔的每一级都可以共享相似的语义水平。比如,一种经典实时目标检测识别模型——YOLOv4中(图2),FPN结合自下而上的Bottom up Path Augmentation结构构成Path Aggregation Network(PAN),将三个不同尺寸的特征图传递至检测头中。其中,下采样倍数越大,小目标特征丢失越多;下采样倍数越小,高层特征提取越弱,会降低网络性能。因此,下采样倍数对多尺度目标检测识别问题的影响较大。为了验证改进FPN结构的效果,本文基于YOLOv4和YOLOv5对目标检测识别效果进行验证。

图1 原始的特征金字塔结构

图2 YOLOv4网络结构示意图

2 改进的FPN结构

本文提出的改进的特征金字塔结构如图3所示,增加的尺度特征提取与连接如图中黄色部分所示。四层特征金字塔结构中,直接扩展金字塔的层数至四层,且和主干网络中尺度更大的特征相连,保留了包含更多小目标特征的特征图。提出的二分支特征金字塔结构改变了金字塔增加层数的方式,由顺序堆叠方式变化为并行二分支结构,增加了特征尺度输入输出的同时未增加金字塔结构的深度。

图3 改进的特征金字塔结构

2.1 四层特征金字塔结构

以原始YOLOv4为例,原始YOLOv4模型的三个分支分别连接至主干的第54层、85层、114层,即特征图的4倍下采样层、8倍下采样层、16倍下采样层。小目标自身的尺寸小、特征少,下采样倍数越大,丢失的信息越多。因此,为了保留较多的小目标特征,采用串行连接策略,将网络中的三层PAN结构扩展成四层。其中,FPN增加为四层和CSPDarknet53结构相连,自上而下的Bottom-up Path Augmentation结构对应变化为四层和FPN相连,具体连接方式如图4所示。

图4 基于四层PAN的YOLOv4网络结构示意图

四层PAN的输出分别为X1′、X2′、X3′、X4′,可以表示成

X1′=f1(X1,A1),

X2′=f2(X2,A2),

X3′=f3(X3,A3),

X4′=X4。

与原始三层FPN相比,改进的四层PAN结构中增加了尺度更大的输出X4′,可以保留较多的小目标特征,且输出X3′中增加了特征A2的输入,使输出X3′中融合了更多样的目标特征。

2.2 二分支FPN结构

四层特征金字塔结构中,增加FPN层数增加了低采样倍率特征传递至检测头的通道,同时也因为增加了FPN结构深度而增加了高采样倍率特征的传递距离。为了进一步减少因特征传递距离增加带来的负面影响,提出了改进FPN结构——二分支FPN结构。该结构在不增加FPN结构深度的基础上,增加低采样倍数特征的输出通道。增加的这个分支和原始FPN中尺度最大分支的结构及参数保持一致。在提高了FPN特征传递能力的基础上,使网络检测头获得更多的尺度特征。基于YOLOv4/v5的改进FPN具体结构如图5所示,各个层次特征输出可表示为

图5 基于二分支FPN的YOLOv4网络结构示意图

Z4′=Z4,

Z3′=Z3,

Z2′=h2(Z2,C2),

Z1′=h1(Z1,C1)。

Z1′、Z2′、Z3′、Z4′分别为二分支FPN的四个特征输出,总的输出分支个数和四层FPN一致。但二分支FPN通过并行分支设计,在增加输出的同时未增加FPN的深度,可减少特征传递的距离。

对比四层PAN结构和二分支FPN结构,四层PAN结构因连接了下采样层,比二分支FPN结构多若干个特征提取算子,如图4中黄色区域所示。实际使用中,可在二分支FPN中增加不超过四层FPN黄色特征提取算子总个数的N个卷积(图5中绿色区域)来提高二分支FPN结构的性能。

3 其他相关计算

应用在目标检测与识别网络中的FPN的三个分支分别和主干网络中不同特征采样率的层相连接。将提出的四层FPN结构和二分支FPN结构代替原始三层FPN嵌入到YOLOv4/v5网络结构中。在目标信息估计中,每一个输出分支包含三种不同尺寸的目标边界框。本文提出的改进的FPN结构将三个分支变化为四个输出分支,和多个不同尺度的特征图连接起来,最大程度上保留不同尺度特征。原始YOLOv4中的9个anchor变成12个anchor,每一个分支的输出张量大小为3×(class+5),其中class为类别数。四个分支的输出为12×(class+5)。12个anchor的初始化大小通过K-means聚类算法来计算,计算过程如下:

Step1 初始化12个聚类中心,即设置12对(wk,hk),k=1,2,…,12;设置阈值th。

Step2 采用以下交并比距离度量公式来计算数据集目标真值框boxGT和由12个聚类中心(wk,hk)(k=1,2,…,12)计算的锚点框boxAnchor的距离:

dGT,Anchor=1-IOU(boxGT,boxAnchor)。

Step3 将目标真值框boxGT分配给最近的聚类中心后,重新计算聚类中心点。

Step4 重复Step 2~3,直到聚类中心变化量小于阈值th,则停止迭代。

4 实验分析

为了测试本文提出的两种基于改进FPN的模型性能,将原始YOLOv4/v5模型作为对比模型。结合公开数据集Visdrone[8]和文献[9]制作的UAV Dataset对提出的两种基于四层PAN的YOLOv4/v5和基于二分支FPN的YOLOv4/v5模型进行性能测试。

测试的指标有目标检测与识别领域常用的平均精确率(Average Precision,AP)。AP需要计算被检目标的精确率P(Precision)和召回率R(Recall),两者的计算公式分别为

(1)

(2)

式(1)和式(2)中:TP表示模型正确检测出来的目标个数,FP表示模型误检的目标个数,FN表示模型漏检的目标个数。由正确率P和召回率R为横纵坐标可以画出PR曲线p(r),计算PR曲线下的面积可以得到平均精确率AP:

(3)

平均精确率可以更加全面地衡量模型性能。AP是单个目标类别下的平均精确率。当有N个类别时,利用多个类别的AP的均值,即均值平均精确率(Mean Average Precision,mAP)来衡量模型的性能:

(4)

在YOLOv4、YOLOv5中统计验证集在交并比阈值为0.5时的mAP值,记作mAP@0.5。其中,YOLOv5可以通过参数控制网络深度和宽度,本文选用YOLOv5l6这个较大的网络。为了更加充分验证二分支FPN和四层PAN的性能,且为实际使用提供参数调整参考,对YOLOv4和YOLOv5两类模型中改进FPN结构有区别的地方进行了卷积个数调整。具体实验中,在YOLOv4的二分支FPN中不人为增加卷积个数。相比于基于四层PAN的YOLOv4,基于二分支FPN的YOLOv4缺少了图3中黄色特征提取部分;在基于二分支FPN的YOLOv5l6中,特征尺度最大的一分支中增加了256个卷积,但仍保证了卷积总个数小于四层PAN。

4.1 第一组实验

VisDrone数据集中共有10类目标,分别为pedestrian、people、bicycle、car、van、truck、tricycle、awning-tricycle、bus、motor。随机从训练集的6 471张图像中将数据按8∶2的比例划分为本次实验所需的训练集和验证集,网络训练和测试时的大小均为512×512。验证集的mAP值如表1所示,其中,YOLOv5采用YOLOv5l6结构,该结构自身就包含四层PAN,因此原始YOLOv5l6等价于基于四层PAN的YOLOv5。分别观察原始YOLOv4和基于四层PAN的YOLOv4以及基于二分支FPN的YOLOv4可以看出,四层PAN和二分支FPN分别使mAP@0.5增加了2.18%和2.39%,即改进的FPN结构均可使原始YOLOv4提高检测识别性能。

表1 VisDrone数据集测试mAP值

进一步对比四层PAN和二分支FPN给网络性能提升带来的效果。其中,基于二分支FPN的YOLOv4比基于四层PAN的YOLOv4的mAP@0.5高0.21%,基于四层PAN的YOLOv5l6比基于二分支FPN的YOLOv5l6的mAP@0.5低0.7%,即二分支FPN可以获得比四层PAN更好的mAP提升效果。然而,实验显示,二分支FPN在YOLOv5l6中的性能提升效果高于在YOLOv4中的提升效果。YOLOv5l6中使用的二分支FPN比YOLOv4中的二分支FPN多n=256个卷积,增加卷积个数进一步提高了二分支FPN的性能。因此,在难度较高、mAP较低的Visdrone数据集中,增加二分支FPN中卷积个数可以进一步提高改进FPN的性能。

4.2 第二组实验

将文献[9]公开的无人机数据集用于再次验证二分支FPN结构的性能。该数据集只有car一类,以小轿车作为主要目标种类。该类目标的主要尺寸变化因素为拍摄高度的变化而导致的像素数变化,尺寸变化范围较小。将数据集按8∶2随机划分为训练集和验证集,用于网络的训练和验证。网络训练和测试大小均为512,训练轮数为300轮。各个模型验证mAP如表2所示。

表2 第二组公开UAV数据集测试mAP

相比于原始YOLOv4,基于四层PAN和二分支FPN的YOLOv4,mAP@0.5分别提高了-1.09%和1.98%。基于二分支FPN的YOLOv4使mAP@0.5得到进一步提升,但是基于四层PAN的检测识别mAP却低于原始基于三层PAN的模型。该数据集中的车辆目标尺寸整体较小,但尺度变化不大。四层PAN增加的尺度信息并没有给检测结果带来收益,反而在结合YOLOv4使用时,特征层次的增加降低了检测mAP。基于四层PAN的和二分支FPN的YOLOv5l6中,二分支FPN这组依然获得了更高的mAP。然而,基于二分支FPN的YOLOv5l6的mAP增长绝对值没有随着FPN中卷积个数的增加而高于YOLOv4中的增长值。相比于Visdrone数据集,该数据集尺度变化不大且较为简单,在基于四层PAN的YOLOv5l6中mAP已达到98.2%,进一步提高mAP难度较大。总的来说,二分支FPN可以提高YOLOv4/v5中的检测识别性能。

5 结束语

本文针对多尺度目标检测识别中多尺度目标检测精度低的问题,提出了基于改进FPN的实时多尺度目标检测识别算法。该方法通过增加特征金字塔特征层级覆盖尺度更广的目标,获取丰富的多尺度信息;同时,利用跨连接增加不同尺度特征融合的多样性,降低特征传导距离,保留更加完整的尺度特征。通过多组实验对比发现,本文提出的改进FPN均能获得高于原始FPN结构和四层PAN结构的检测识别mAP@0.5。实验证明,在多尺度目标检测场景中,本文所提出的二分支FPN改进策略能提高模型的检测精度,较好地兼顾多尺度目标检测识别,具有较高的实用价值。然而,第二组数据的实验结果显示,基于改进FPN的方法检测识别效果提升较小,说明该方法在尺度变化不大的数据集中优势不明显。在以后的研究中,需进一步研究如何更好地融合该结构和主干网络来降低网络复杂度,使之适用于更广的检测场景。

猜你喜欢
金字塔分支尺度
“金字塔”
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
财产的五大尺度和五重应对
Great Vacation Places
巧分支与枝
金字塔是用金子造的吗
宇宙的尺度
9
硕果累累