嵌入scSE模块的改进YOLOv4小目标检测算法

2021-09-19 13:55蒋镕圻彭月平谢文宣谢郭蓉
图学学报 2021年4期
关键词:骨干网集上注意力

蒋镕圻,彭月平,谢文宣,谢郭蓉

(1.武警工程大学信息工程学院,陕西 西安 710086;2.武警工程大学研究生大队,陕西 西安 710086)

目标检测作为计算机视觉领域中的重要分支,在智能监控、航空航天、工业检查等诸多领域发挥着十分重要的作用,近年来一直备受关注并被众多学者研究。小目标的检测是目标检测领域的一个重点问题,由于小目标在视频或图像中所占像素小,相关特征不明显,同时目前的目标检测算法大多是基于卷积神经网络(convolutional neural network,CNN),在经过多次卷积和池化操作后,大量的小目标特征信息被丢弃而导致检测结果存在较多的错检和漏检,所以其一直以来都是目标检测任务中一项难点[1-2]。而在实际场景中,大多数目标以小目标形式出现,因此研究小目标的检测是目标检测任务中一项十分重要且具有挑战性的工作。

传统的人工提取目标特征的算法对于小目标检测存在较大的局限性[3],目前小目标检测的算法都是基于CNN[4-6],主要包括以YOLO[7]系列、SSD[8]系列等为代表的单阶段检测算法,以Fast R-CNN[9]系列、Mask R-CNN[10]等为代表的二阶段检测算法,以及以Cascade R-CNN[11]为代表的多阶段检测算法。当下目标检测任务主要针对应用场景的不同而选择合适的检测算法:单阶段算法检测速度最快,但准确率较低;二阶段和多阶段检测算法能够获取较高检测精度,却牺牲了检测速度。

由于目标检测问题很大一部分是基于视频,对检测的实时性要求较高,所以本文以目前最优的单阶段目标检测算法YOLOv4[12]为基础,选择小目标数据集VEDAI[13]中的目标为检测对象,结合scSE注意力机制[14]和空间金字塔池化[15](spatial pyramid pooling,SPP)对YOLOv4 网络进行改善。首先使用K-means++聚类算法对锚定框进行优化,并以优化后的YOLOv4 算法为baseline。分别研究和分析:①scSE 注意力模块嵌入至模型的骨干网、颈部以及检测头前,这3 个位置对算法性能带来的影响;②在网络颈部第1 和第2 次上采样后增加SPP模块对算法性能的影响。实验结果表明,在骨干网的“Add”和“concat”特征融合操作后嵌入scSE 注意力模块能有效提升算法对小目标的检测精度,mAP@0.5 值较YOLOv4 提升了2.4%,而将其嵌入至算法模型更深的颈部和检测头前并不能带来算法性能的提升,相反可能降低检测性能。在网络颈部增加SPP模型能有效增强网络颈部特征图信息表达能力,使算法对小目标的检测更加友好。最后根据上述实验结果,提出scSE-IYOLOv4 检测算法,算法综合了在YOLOv4 骨干网嵌入scSE模块、在颈部增加 SPP模块的改进方式。实验证明scSE-IYOLOv4 能显著提升小目标的检测精度,在VEDAI 测试集上mAP@0.5 值较YOLOv4 提升了4.1%,在PASCAL VOC 数据集上mAP@0.5 提升了2.2%。

1 背景知识

1.1 YOLOv4 算法介绍

1.1.1 算法模型结构配置

YOLOv4[12]是一种实时性较强的单阶段目标检测算法,该算法由用于特征提取的骨干网Backbone、特征融合的颈部Neck 和进行分类和回归操作的检测头 Head 3 部分组成。与经典的YOLOv3目标检测算法相比,YOLOv4 算法在YOLOv3 的“Darknet53+FPN+YOLO-Head”算法结构的基础上,融合了近年来深度神经网络中优秀的算法模型思想和训练技巧。模型骨干网在Darknet基础上,融合 CSPNet[16]算法的思想,形成CSPDarknet,达到了在降低网络计算量的同时保证网络准确率的效果;颈部由YOLOv3 采用的特征金字塔网络(feature pyramid networks,FPN)改为加入空间金字塔池化层[15](spatial pyramid pooling,SPP)的路径聚合网络[17](path aggregation network,PANet),其将骨干网输出的深层特征向浅层传递,改善了FPN 网络由浅层特征向深层传递导致的浅层特征丢失的问题;检测头部延续了YOLOv3 中的YOLO-Head,见表1,最终形成“CSPDarknet+PAN-SPP+YOLO-Head”的模型结构。

表1 YOLOv3 与YOLOv4 网络对比 Table 1 Comparison of YOLOv3 and YOLOv4 network

1.1.2 算法检测流程

如图1(a)所示,YOLOv4 在输入端将输入图像尺寸调整为608×608 输入至网络进行训练和检测;利用CBM 卷积层和残差模块Resunit 堆叠而成的CSP模块组成的骨干网,在加深网络层数以得到更丰富的语义信息特征图的基础上有效地防止了梯度消失或爆炸的问题,并在骨干网中通过5 次步长为2、kernel 大小为3 的卷积层进行下采样实现特征图的降维;在网络颈部分别进行2 次上采样并以PAN+SPP模型结构实现浅层特征与高层语义特征的融合以及多尺度感受野的融合,更加充分地利用了浅层网络的细节特征,改善了小目标特征丢失的问题;检测头利用回归+分类的思想,将输入图像分别划分为76×76、38×38、19×19 的3 种不同尺寸大小的栅格图,分别实现了对小型、中型和大型目标的检测,相比于2 阶段检测算法,YOLOv4 在有效提升检测精度的同时,节省了大量的计算资源和训练时间成本,提升了检测速度。

图1(b)~(c)中CBM 和CBL模块是融合了批量归一化(batch normalization,BN)并使用Mish 和Leaky relu 激活函数的卷积层;图1(d)为残差模块Resunit 的结构,其中“Add”操作是将相同尺寸大小的特征图进行相加;图1(e)为SPP模块结构,其中“concat”操作是将相同大小的特征图进行通道拼接;图1(f)为CSP模块结构,结合CSPNet 的思想由多个残差块堆叠组成。

图1 YOLOv4 网络结构((a) YOLOv4 网络结构图;(b) CBM模块结构;(c) CBL模块结构;(d) Resunit模块结构;(e) SPP模块结构;(f) CSP模块结构) Fig.1 YOLOv4 network structure ((a) YOLOv4 network structure diagram;(b) CBM module structure;(c) CBL module structure;(d) Resunit module structure;(e) SPP module structure;(f) CSP module structure)

1.2 scSE 注意力机制

受SENet[18]中提出的SE模块启发,文献[14]设计了3 种基于SE模块的变体,即:空间压缩通道激励模块sSE、通道压缩空间激励模块cSE,以及将cSE 和sSE模块并行组合形成的scSE模块。上述3 种注意力模块已在语义分割任务中进行了测试,实验证明scSE模块在语义分割任务中能发挥出优于通道注意力和空间注意力的效能。

(1) cSE模块的核心思想是将特征图的全局空间特征压缩为各通道的描述符,根据各个通道之间的依赖不同对特征图进行调整,提高网络对于重要通道特征的表征能力。具体是将输入的特征图U=[u1,u2,…,uc](其中通道ui∈RH×W,H和W分别为特征图的高和宽)通过全局池化层[19]将特征图全局空间特征嵌入到向量z(其中z∈R1×1×C,C为通道数),其第k个通道处的值为

其中,i,j分别为输入特征图中第k个通道特征图上每个参数所处的高、宽空间位置(i∈H,j∈W),即每个参数的坐标。

再将得到的向量z通过权重分别为W1和W2的全连接层,并依次经过ReLU 激活函数(δ(…))和Sigmoid 归一化处理(σ(…))得到第i个通道ui的特征重要性程度,其中的值为

(2) sSE模块通过压缩特征图的通道特征,激励重要空间特征来提高网络对重要空间特征的学习。假设输入特征图U=[u1,1,u2,2,…,ui,j,uH,W](ui,j∈R1×1×C表示位置在特征图(i,j)处的所有通道特征信息),通过通道数为C权重为Wsq的一个1×1 的卷积块对输入特征图进行通道压缩,输出通道数为1,尺寸为H×W的特征图为

将得到的特征图q经Sigmod 归一化(σ(…)),得到特征图中每个空间位置(i,j)的空间信息重要性程度σ(qi,j),以增强对重要空间位置特征。

(3) scSE模块是cSE 和sSE模块的并行组合。通过对输入特征图U分别做通道和空间上重要性程度的提取,并进行相加处理后,将得到的具有高重要性(即同时具有重要通道和重要空间特征)的特征子图进行更强的激励,促使网络学习更有意义的特征信息。

2 改进的YOLOv4 算法

2.1 K-means++进行目标框优化

YOLOv4 网络预设了9 个共3 类目标框(Anchor box=12,16;19,36;40,28;36,75;76,55;72,146;142,110;192,243;459,401),分别用于76×76,38×38和19×19 的3 个不同尺度的YOLO 检测头预测出目标的Bounding box。这些Anchor box 是在常规大小目标数据集PASCAL VOC 上通过边框聚类得到的Anchor box,涵盖了大到汽车、自行车,小到鸟类等多尺度的目标,从原预设的Anchor box 的尺寸可以看出其检测的目标大小差距较大对于普通场景下的目标检测任务具有较好的适用性,但针对目标大小较为极端的数据集,使用原预设的Anchor box会使YOLO 检测头计算交并比IOU 时筛选不出合适的Bounding box,会严重影响模型的性能。因此为提升Bounding box 的检出率,本文预先针对数据集中目标大小进行边界框聚类分析。

本实验使用K-means++聚类算法对VEDAI 数据集中目标的Anchor box 进行聚类分析,与传统的K-means 聚类算法[20]相比,K-means++优化了初始点的选择,能显著改善分类结果的误差,以获得更适合小目标数据集的Anchor box 的大小,提高小目标检测的精度。K-means++算法首先随机选取某一个样本目标框区域作为初始聚类中心,然后计算每个样本xi与已有聚类中心点的距离D(x),并计算每个样本被选为下一个聚类中心的概率,即

再通过轮盘法选出下一个聚类中心。重复上述计算距离D(x)和概率P(x)的步骤直到得出K个目标框。最后不断重复计算每个样本到聚类中心K个点的距离,将该样本点划分到距离最小的聚类中心的类中并更新聚类中心,直到Anchor box 的大小不再发生改变。

2.2 scSE模块的嵌入式设计

目前,实验已证明嵌入scSE模块的CNN 在语义分割任务中能够取得良好的性能提升,但对于目标检测任务,scSE 注意力模块能否有效提升算法的检测性能仍是有待考究的问题。

在小目标检测任务中随着网络层次的不断加深,特征图中小目标的特征也愈发微弱,因此造成漏检和误检。而scSE 注意力本身是将特征图中重要的空间和通道特征增强,使得网络在训练过程中能抓住目标特征的“重点”学习。但在具体情况下将scSE 注意力模块嵌入至网络哪个位置更加有效至今没有一套理论说法。

本文将对scSE模块嵌入至网络模型中的不同位置所发挥的性能进行研究。根据YOLOv4 检测模型结构,可在YOLOv4 的骨干网、颈部和检测头3 个区域分别嵌入scSE 注意力模块,由于其是对重要通道和空间特征进行增强,因此可将scSE 注意力模块分别嵌入到上述3 部分中的每一特征融合区域(即Add 和concat 层后以及模型检测头之前),由此产生3 种基于YOLOv4 算法的新网络模型:scSE-YOLOv4-A,scSE-YOLOv4-B 和scSE-YOLOv4-C,图2 展示了scSE模块嵌入的具体位置。

图2(a)将scSE模块嵌入至YOLOv4 网络骨干网CSPDarknet 的每个残差块的Add 层和每一CSP模块中的concat 层后;图2(b)表示scSE模块嵌入至YOLOv4 颈部PAN 结构的每一特征融合concat层后;图2(c)表示在YOLOv4 的每一个检测头前分别嵌入一个scSE模块。

图2 3 种嵌入scSE模块的YOLOv4模型((a) scSE-YOLOv4-A 算法的修改区域;(b) scSE-YOLOv4-B 算法的修改区域;(c) scSE-YOLOv4-C 算法的修改区域) (图中“⊗”代表图1 中的concat 操作,“⊕”代表图1 中的Add操作,“”表示嵌入scSE模块前后的转换符号) Fig.2 Three YOLOv4 mode embedded in the scSE modules ((a) Modification area of scSE-YOLOv4-A algorithm; (b) Modification area of scSE-YOLOv4-B algorithm; (c) Modification area of scSE-YOLOv4-C algorithm) (In the figure,“⊗”represents the concat operation in Fig.1,“⊕”represents the Add operation in Fig.1,“”represents the conversion before and after embedding the scSE module)

2.3 增加SPP模块的YOLOv4 算法

受SPPNet 网络[15]的启发,YOLOv4模型在骨干网后加入了SPP模块,结构如图3 所示。

图3 YOLOv4 网络中SPP模块结构图 Fig.3 SPP module structure diagram in YOLOv4 network

图3 输入的特征图通过一个卷积层后,分别经过5×5,9×9 和13×13 的3 个不同尺寸的内核做最大池化处理,再通过concat 将得到的特征图进行通道的拼接,输出的通道数变为原通道数的4 倍,其特征图尺寸不变。其中每个池化层设步长stride 为1,填充padding=(k-1)/2 (k为最大池化中内核的尺寸),得到输出特征图尺寸为

其中,n为输入特征图的大小;p为填充padding;s为步长;为向下取整。由式(5)可得,通过池化层得到的特征图大小与输入时保存一致。

Maxpool 层在保持特征图平移不变性的同时,扩大了感受野,而SPP模块通过使用不同大小内核的Maxpool层得到特征图局部区域感受野和接近全局的感受野信息,并进行特征融合。融合不同尺度感受野的操作能有效丰富特征图的表达能力,增强骨干网输出特征的接受范围,分离出重要的上下文信息[21],有效提升了模型的检测性能。

在YOLOv4 中,SPP模块位于特征图大小为19×19 的骨干网后,经过SPP模块的特征信息直接送入特征图大小为19×19的YOLO检测头进行结果预测。基于上述基础,本文分别在YOLOv4 网络第一次和第二次上采样后,即网络第123 层和140 层加入SPP模块,以增强输入到38×38 和76×76 尺寸YOLO 检测头的特征图特征信息的表达能力,实现更好地检测效果,本文将加入SPP模块的改进YOLOv4 网络称为YOLOv4-SPP3 (图4)。

图4 YOLOv4-SPP3 算法的修改区域 Fig 4 Modification area of YOLOv4-SPP3 algorithm

3 实验与结果分析

本实验模型训练使用硬件平台为 Intel(R) Xeon(R) Gold 5218 CPU,GeForce RTX 2080 Ti 11 G GPU;模型测试推理平台为AMD R7 4800H 2.9 GHz CPU,GeForce RTX 2060 6 G GPU。软件使用Ubuntu系统,python 3.7,PyTorch 1.5.0 深度学习框架。

3.1 数据集

本实验采用针对车辆等小目标检测的航空图像VEDAI (Vehicle detection in aerial imagery)公共数据集[13],该数据集共包括来自美国犹他州的1 210 张1024×1024(或512×512)大小的卫星图像,其包含车辆、船、飞机在内共3 640 个实例,9 个类别,即“轿车”“卡车”“野营车”“拖拉机”“飞机”“轮船”“皮卡”“面包车”和“其他”,如图5 所示。所有目标分别分布在田野、草地、山脉、市区等背景丰富的地区,平均每幅图像有5.5 辆车,占据了图像总像素的0.7%左右,VEDAI 作为小目标检测的公共数据集具有一定的挑战性。

图5 VEDAI 数据集中不同类别的目标图像 Fig.5 Different types of target images in the VEDAI dataset

实验首先将VEDAI 数据集中的原标签转换为适合YOLO 网络的txt 标签文件,选择512×512 尺寸VEDAI数据集图片并随机从1 210张图片中抽取960 张图片作为训练集,将余下的250 张图片作为测试集,训练集和测试集占比为8∶2。

3.2 Anchor box 优化

实验采用 K-means++算法对数据集目标的Anchor box 进行聚类分析,并以平均交并比(Avg IOU)作为聚类的评价标准,结果如图6 所示。其展示了取k个初始Anchor box 下Avg IOU 的结果。

图6 K-means++算法聚类结果 Fig.6 K-means++algorithm clustering results

为保证预测结果的精度,同时避免选取过多的Anchor box 带来巨大的运算量,本实验选取k=9,Avg IOU=79.52%时聚类产生的Anchor box,其宽和高分别为(22,10),(10,21),(20,18),(14,29),(38,14),(24,26),(20,67),(40,35),(64,63)。

3.3 网络训练与测试

本实验采用准确率(precision,P)、召回率(recall,R)、F1 分数、mAP (mean average precision,即平均AP 值)4 项性能指标评判网络性能[22],其中mAP 指标用于多标签图像分类任务的评价,是多类别目标检测中衡量模型整体检测精度的重要指标。其中检测精度P、召回率R和mAP分别为

其中,XTP为被正确检测出来的目标数;XFP为被错误检出的目标数;XFN为未被检测出来的目标数;c为分类数;AP为单个目标类别的平均精度,其中

实验设置输入图片大小尺寸为512×512,阶段初始学习率为0.001,每50 次迭代后将学习率衰减为原来的0.1 倍,动量为0.9,衰减系数为0.000 5,使用SGDM 梯度优化算法,batchsize 设为3,设置训练Epochs 为230 次。

3.3.1 K-means++优化结果对比实验

实验首先对比了使用K-means++聚类算法优化锚定框Anchor box 后,在VEDAI 数据集上,YOLOv4 算法对小目标的检测性能的变化。将未经优化的目标框与通过K-means++聚类得到的目标框的YOLOv4 网络在VEDAI 数据集上进行了训练,并在测试集上进行验证,结果见表2。

表2 目标框优化结果对比(%) Table 2 Comparison of target frame optimization results (%)

表2 通过平均准确率P、平均召回率R以及mAP@0.5 的3 个指标对比分析了使用K-means++算法优化目标框对网络性能带来的影响。其中YOLOv4-1 表示使用未经优化的Anchor box 的原始网络,YOLOv4-2 表示使用优化的Anchor box 的网络。从结果可以看出,优化目标框使其适合对VEDAI 数据集上小目标的框定能够明显提升网络的检测精度,mAP@0.5 提升了6.4%。

3.3.2 改进YOLOv4 网络模型的效能评估和分析

本实验将3.2 节提出的3 种scSE模块嵌入式网络模型 scSE-YOLOv4-A,scSE-YOLOv4-B,scSE-YOLOv4-C 和3.3 节中提出的YOLOv4-SPP3网络模型在VEDAI 训练集上进行训练,并在测试集上对模型性能进行评估,对比原YOLOv4模型检测性能,研究scSE模块嵌入至检测网络的不同位置所带来的性能的变化,以及在不同检测头之前增加SPP模块给网络性能带来的改变,以实现对网络更好的优化设计,实验结果如图7 和表3 所示。

图7 不同模型训练过程中mAP 的变化 Fig.7 Changes in mAP during training of different models

表3 不同模型在测试集上的效能评估(%)Table 3 The effectiveness evaluation on different models in the test set (%)

图7 为不同网络在训练200 个Epochs 的过程中训练模型在测试集上返回的mAP值的变化,其中测试集上IOU 阈值设为0.6。

表3 为将训练好的模型在测试集上测试得到的模型性能评估指标结果,其中IOU 阈值设置为模型评估通用的0.5,即mAP@0.5。

通过图7 和表3 可以看出,在骨干网的“Add”和“concat”特征融合层后嵌入scSE 注意力模块能有效提升算法对小目标的检测性能,mAP@0.5 值较YOLOv4 提升了2.4%;而将scSE模块嵌入至网络的颈部和头部,模型性能并没有得到提升,相反mAP@0.5 值产生了1.2%和0.5%的下降。本文认为将scSE 注意力模块嵌入至网络不同部位所以会产生截然不同的实验效果,是由于骨干网中特征图的语义信息并不丰富,仍然保留着目标在特征图中的中、浅层的纹理信息和轮廓信息,而这些信息对于小目标的检测至关重要,在骨干网中嵌入scSE 注意力模块能更好对特征图中小目标的空间特征和通道特征进行增强,而在网络更深层的颈部和头部,其特征图表现出更丰富的语义特征、更大的感受野以及更小的特征图尺度,scSE 注意力模块难以再从特征信息高度融合的小尺度特征图中有效区分出重要的空间和通道特征,相反,嵌入注意力模块可能造成网络对重要特征学习的偏差,导致检测精度下降。

图7 和表3也证明了2.3节提出的YOLOv4-SPP3算法的有效性。同时增加SPP模块的YOLOv4-SPP3网络较YOLOv4 网络在测试集上性能有所提升,mAP@0.5 值较YOLOv4 提升了2.4%。由此证明,在颈部增加多尺度感受野的融合,能增强特征图对不同尺度感受野的表达能力,丰富局部区域的目标特征与全局特征图下的目标特征信息,有效提升YOLOv4模型对目标在图像上的定位和分类,得到更高的检测精度。

3.3.3 scSE-IYOLOv4 算法性能测试及对比实验

结合3.3.2 节的实验结果,可以发现在骨干网嵌入scSE 注意力模块和在网络颈部增加SPP模块能有效提升YOLOv4 算法对小目标的检测性能,因此需将两者相结合,提出一种嵌入scSE模块的改进YOLOv4 小目标检测算法——scSE-IYOLOv4 算法,该算法结构如图8 所示。

图8 scSE-IYOLOv4 算法结构图 Fig.8 scSE-IYOLOv4 algorithm structure diagram

为了验证算法的有效性,可将scSE-IYOLOv4算法在VEDAI 数据集上进行了训练,并在VEDAI测试集上测试,结果见表4,并与在YOLOv4 骨干网相同位置嵌入不同注意力模块进行对比,结果见表5。

表4 模型改进前后在VEDAI 测试集上的检测结果对比(%)Table 4 Comparison of test results on the VEDAI test set before and after model improvement (%)

表5 不同注意力模块对YOLOv4 网络性能的影响(%)Table 5 The impact of different attention modules on YOLOv4 network performance (%)

由表4 和表5 可知,scSE-IYOLOv4 算法在小目标的检测上较YOLOv4 算法表现更好,mAP@0.5值提升了4.1%,并对比嵌入其他注意力模块的改进网络,scSE-IYOLOv4 算法达到了77.1%的最高mAP@0.5 值。同时实验也证明了在骨干网中嵌入注意力模块确实能改善模型的检测性能,嵌入cSE,sSE 和scSE模块的改进网络,其检测性能均能得到不同程度的提升,mAP@0.5 值分别有1.1%、0.5%和2.4%的提升。同时,对比嵌入cSE模块和sSE模块的YOLOv4 算法的实验结果,本文进一步发现,相比于空间注意力(如sSE模块),通道注意力(如cSE模块)能给目标检测网络YOLOv4 带来更高的性能提升,这恰恰与语义分割相反[14]。

图9 为使用YOLOv4 和scSE-IYOLOv4 算法在VEDAI 数据集检测得到的部分结果图。从中可以看出,原网络在小目标检测中很难找到合适目标框,存在较多的误判和较低的置信度,而改进后的网络能够更加准确地给出正确的目标框,并提升了目标判别的置信度,同时有效减少了目标类别的误判。

图9 改进模型检测结果对比Fig.9 Comparison of improved model detection results ((a) YOLOv4;(b) scSE-IYOLOv4)

本实验还将本文提出的scSE-IYOLOv4 网络与YOLOv3 网络、文献[2]提出的改进的YOLOv3 网络以及基于DENG 等[23]提出SE-IYOLOv3 网络的思想设计的SE-YOLOv4 网络在VEDAI 数据集的测试集上进行检测性能的对比,具体结果见表6。

结合表6 对比不同算法在VEDAI 数据集上的检测精度,本文提出的scSE-IYOLOv4模型表现出了最高的检测性能,证明了该算法在小目标检测上的有效性。

表6 不同算法性能对比(%) Table 6 Performance comparison of different algorithms (%)

同时实验还进一步选择PASCAL VOC 数据集,测试了scSE-IYOLOv4 检测算法在检测常规大小目标时的表现。本文使用了2007 和2012 的2 个版本图片进行训练和测试,其中将除VOC2007 版测试集以外的数据集全设定为训练集。图10 为训练100 个 Epochs 后 YOLOv4,scSE-YOLOv4 和scSE-IYOLOv4 训练集上总损失值的变化曲线,表7 为训练后的模型在测试集上的检测结果。

如图10 和表7 所示,本文算法在普通目标的检测效果上也有一定程度的提升,在VOC 数据集上较原网络提升了2.2%。

图10 模型在VOC 数据集上训练的情况Fig.10 Comparison of test results before and after model improvement

表7 VOC 测试集上测试结果(%) Table 7 Test results on VOC Test-set (%)

4 结论与展望

为提升目标检测任务中小目标的检测精度,本文基于YOLOv4 网络模型结合scSE 注意力机制和空间金字塔池化SPP模块对YOLOv4 算法进行优化,并提出scSE-IYOLOv4 的小目标检测算法。使用的VEDAI 数据集,采用K-means++聚类对目标样本进行锚定框大小的优化。在YOLOv4 算法的基础上,分别研究、分析并证明注意力模块并非嵌入至网络的每个位置都能得到性能的提升,只有在YOLOv4 算法模型骨干网的“Add”和“concat”层后嵌入注意力模块,才能提升算法对小目标的检测精度,其中嵌入scSE 注意力模块,在VEDAI 测试集上mAP@0.5 提升了2.4%。本文还发现在网络颈部增加SPP模型能有效增强网络颈部特征图信息表达能力,使算法对小目标的检测更加友好,在VEDAI 测试集上mAP@0.5 提升了2.4%。最后通过实验本文提出的scSE-IYOLOv4 检测算法,即在YOLOv4 算法的骨干网嵌入scSE模块,在颈部增加SPP模块。实验证明,本文算法能显著提升对小目标的检测精度,在VEDAI 测试集上mAP@0.5 值较YOLOv4 提升了4.1%,并且该算法对常规大小的目标也能得到一定效果的提升,在PASCAL VOC数据集上mAP@0.5 提升了2.2%。

但嵌入注意力模块和增加SPP模块会提升算法的参数量和浮点运算量,降低算法检测的实时性。在下一步的研究中,将考虑对模型进行压缩、剪枝来轻量化scSE-IYOLOv4 网络模型,在保证算法检测精度的基础上提升模型检测的实时性。

猜你喜欢
骨干网集上注意力
让注意力“飞”回来
GCD封闭集上的幂矩阵行列式间的整除性
基于互信息的多级特征选择算法
构建铁路数据通信网骨干网的网络安全管理中心
有轨电车信号系统三层骨干网传输方案分析
加快新基建 200G骨干网呼之欲出,400G还有多远?
如何培养一年级学生的注意力
中国广电网络成为互联网骨干网单位
A Beautiful Way Of Looking At Things
师如明灯,清凉温润