改进多尺度特征的YOLO_v4目标检测方法

2022-11-20 12:54欧阳继红王梓明刘思光
吉林大学学报(理学版) 2022年6期
关键词:颈部尺度卷积

欧阳继红, 王梓明, 刘思光

(1. 吉林大学 计算机科学与技术学院, 长春 130012;2. 吉林大学 符号计算与知识工程教育部重点实验室, 长春 130012)

0 引 言

目标检测任务旨在对图像或视频中的目标物体进行定位并分类, 应用场景广泛. 早期的目标检测方法主要使用人工设计的特征(如HOG[1]), 具有成本高、 精度低、 跨领域适应性差等缺点. AlexNet[2]使用卷积神经网络学习的方式完成视觉特征的定义及提取, 有效规避了传统特征提取方法的不足. 此后, 基于卷积神经网络完成目标检测成为主流.

近年来, 主流的目标检测器主要分为两类: 两阶段检测器和一阶段检测器. 两阶段检测器以类R-CNN模型[3-5]为主, 虽然在精度上逐步提升, 但速度很难满足实时场景需要. 为进一步提升目标检测模型的速度, 一阶段检测器会直接预测图像像素及其边界框属性. 一阶段检测器主要由骨干网络(特征提取)、 颈部网络(特征融合)和检测头(检测回归)三部分组成. 颈部网络从浅层网络提取出的特征图分辨率较高, 空间几何信息表征能力强, 但感受野较小, 语义信息表征能力较弱; 而深层网络特征图拥有更大感受野和更丰富的语义信息. 因此, 有效地表示和处理多尺度特征是提升目标检测模型检测效果的主要方法之一. 早期的SSD模型[6]和基于GoogleNet[7]设计的YOLO模型[8]直接根据从骨干网络中提取的特征进行预测; YOLO_v3模型[9]使用一种由深层到浅层的特征金字塔网络(FPN)[10]组合多尺度特征对YOLO_v2模型[11]进行了改进. Bochkovskiy等[12]提出了YOLO_v4模型使用的PANet[13]在FPN结构基础上增加了一个额外的由浅层到深层的路径聚合网络丰富模型特征, 该模型还使用一些只增加训练时间的方法提高模型效果.

YOLO_v4模型使用颈部网络收集并处理来自骨干网络的多分辨率特征图, 处理后信息传递给后续网络得出最终的检测结果. 在该过程中, 不同特征的融合效果会较大程度地影响模型性能. YOLO_v4模型的颈部网络使用串行方式进行信息融合, 使先进入融合过程的特征会在后续操作中被逐渐稀释, 在一定程度上限制了后续网络的性能发挥. 为解决该问题, 本文基于YOLO_v4模型设计了XYOLO_v4模型, 通过引入中间层并改变特征连接方式重构其颈部网络, 丰富全局信息. 同时, 引入加权融合系数将原特征之间的直接拼接融合变为加权融合, 强化YOLO_v4模型对多尺度特征的利用. 实验结果表明, 通过优化网络架构和融合方式可使原模型有更高的检测精度.

1 YOLO_v4模型

YOLO_v4模型由三部分组成: 用于特征提取的骨干网络(Backbone), 用于特征融合的颈部网络(Neck), 用于分类检测回归的头部网络(Head). 骨干网络采用由Darknet53和多层残差块(Resblock_body)构成的Csp-DarkNet53, 每个残差块如图1所示. 残差块是将特征向量经过卷积后经由残差边与该向量多次卷积后的结果相连, 以解决当网络层数较深时出现的梯度消失或爆炸问题. 骨干网络提取出图像特征经由特征金字塔SPP-block[14]后送入颈部网络进行特征融合.

图1 残差块结构

颈部网络采用路径聚合网络PANet, 将从主干网络提取出的不同尺度特征进行一次由深到浅及一次由浅到深融合后送入头部网络进行检测. 模型整体结构如图2所示.

图2 YOLO_v4网络架构

2 XYOLO_v4模型

在YOLO_v4颈部网络中, 先进入融合过程的特征会在后续操作中被逐渐稀释, 从而影响模型性能. 为解决该问题, 本文提出将颈部网络结构X-FPN模块代替原网络PANet结构, 通过引入中间层增加信息流动通道, 从而丰富模型的全局信息. 同时引入可学习参数ω, 控制融合比例, 强化网络对特征信息的利用. 为说明本文提出的特征融合方法, 将各层级的残差块从上到下依次标记为P1,P2,P3,P4,P5, 其中P3,P4的输出直接参与颈部网络融合, P5经过SPP模块处理后作为SPP_Output输入颈部网络. 图3为本文提出的XYOLO_v4网络结构.

图3 本文提出的XYOLO_v4网络结构

2.1 X-FPN网络结构

图4为目标检测任务中几种常见的特征融合结构, 其中FPN是最常见的方法, 如图4(A)所示, 该网络只包含由深到浅的信息流, 限制特征的融合; PANet则将一条路径中的信息流方向改为由浅到深, 在一定程度上解决了FPN的问题, 如图4(B)所示; 图4(C)中的NAS-FPN[15]则是通过自动搜索的方式得到对于训练所用数据集最优的网络架构, 融合效果虽好但时间成本较高, 且对于不同的数据集网络结构并不通用. 综合考虑, 本文选择PANet作为基础进行网络结构的改进.

图4 各融合模块结构

为结合颈部网络输入的特点, 有针对性地优化特征融合策略, 本文对PANet进行如下改进: 首先, 为在丰富特征融合方式的同时不增加模型整体计算量, 在特征融合时采用加权按位相加(Add)操作; 其次, 在特征融合网络的中间位置添加一个过渡层TL(transition layer), 用以将网络左侧自下而上信息流中产生的不同尺度特征进行融合, 而后送入右侧自上而下的信息流中参与运算, 丰富全局信息. 其结构如图3中颈部网络X-FPN所示. 该网络首先将骨干网络层中P5部分的输出经过SPP结构后作为颈部网络中的SPP_Output, 然后将其输出经卷积和上采样后, 与P4部分的输出加权按位相加后得到Add1的输出. Add2的输出则为Add1输出与P3部分输出按相同操作运算得到. 最后, 将SPP_Output在经过卷积接上采样操作后与Add1的输出以及下采样后的Add2输出共同送入TL层, 目的是使TL层的输入拥有相同的通道数及特征图分辨率, 方便后续操作.

TL层会将三部分输入加权按位相加, 为后续操作提供一个不同尺度特征信息的集合体. 其输出会经由卷积加上采样或下采样操作, 使其被分别调整到与Add1,Add2,SPP_Output输出特征图相同的尺寸, 而后送入由Add3,Add4,Add5组成的右侧网络对应位置. 右侧网络的操作流程与左侧类似, 只是将卷积加上采样操作替换为下采样. 该网络最终将Add3,Add4,Add5的输出送入不同的YOLO检测头得出最终检测结果.

2.2 加权融合系数

传统的特征融合通常只是简单的特征图叠加或相加, 不对同时输入的特征图进行区分. 但不同输入特征图具有不同的分辨率, 高分辨率特征图语义信息更丰富, 对小目标的检测更友好; 而低分辨率特征图位置信息更丰富, 适合大目标的检测. 因此, 在检测不同大小目标时它们对融合的新特征图的贡献也不相同, 而YOLO_v4网络通过将提取的多层级特征进行直接拼接后作为YOLO检测头的输入. 为优化深浅层特征信息融合方式, 需设计一种对不同输入特征有区分的融合方式, 本文通过网络学习的方式引入权重系数进行特征按位相加融合, 以减少信息间的相互污染, 并通过快速归一化方法计算特征权重, 用数学公式表示为

(1)

其中系数ω作为权重计算中多尺度特征的平衡因子, 通过网络训练进行自适应学习,I表示对应的输入特征图. 经过加权计算的融合特征更有针对性, 同时不增加整体计算量.

基于提出的优化特征融合计算方法, 本文提出的中间特征层TL计算公式为

(2)

TL层会将自下而上信息流中产生的不同尺度特征SPP_Output,Add1,Add2进行加权融合, 其中UpSampling与DownSampling分别对应上采样和下采样操作, Conv为卷积操作, 为提高计算效率, 将融合结果进行了进一步卷积计算. 得到的TL层会参与图3中颈部网络右侧的加权融合, 以Add3为例计算, 用公式可表示为

(3)

3 实 验

3.1 实验数据集

本文使用目前目标检测任务中常用的数据集VOC-2007和VOC-2012作为实验数据集. 其中数据集VOC-2007包含训练集5 011张图片, 测试集4 952张图片; 数据集VOC-2012为VOC-2007的加强版, 共11 530张图片20个类别. 对于数据较少的图像类别, 本文采用随机添加高斯噪声、 水平翻转、 Mosic数据增强等方法将数据扩充至平均每类1 100张图片.

3.2 实验环境与参数设置

实验环境: 系统为Windows10, CPU为英特尔酷睿I7-7700k, 计算机内存为16 GB, GPU为英伟达GTX1080. 采取从头训练的方式, 每个网络训练迭代300次, 图像的输入分辨率为416×416, 初始学习率为0.000 1. 为提高训练速率, 前150次迭代后会将训练冻结保留参数, 再进行剩余部分训练, 当损失保持稳定时提前结束训练.

3.3 评价指标

在检测头检测物体时采用IoU作为预测框保留条件, IoU为真实框与预测框交集与并集的比值, 即若比值大于设定值则认为框中存在物体. 同时, 本文采用mAP作为模型检测结果的评价指标, mAP数值越大说明检测效果越好. mAP表示各类物体检测结果AP的平均值, AP是以预测的精确率(Precision)为坐标纵轴, 以反映数据集中被检测出目标的数据占全部数据比例的召回率(Recall)为坐标横轴, 所围R-P曲线进行平滑处理后与横坐标轴所围面积. 其计算公式表示为

(4)

精确率与召回率表示为

(5)

(6)

其中: TP表示检测样本被分为正样本, 并且分类正确; FP表示检测样本被分为正样本, 并且分类错误; FN表示检测样本被分为负样本, 并且分类错误.

3.4 结果与分析

本文在数据集VOC-2007上进行整体模型对比实验, 采用如下对比模型: 一阶段模型检测效果较好的YOLO_v3[16-17], 作为基线模型的YOLO_v4以及输入图像大小为300×300和512×512的SSD算法, 其中SSD300精度与同时期的两阶段检测器相似, 但速度更快, SSD512检测效果与YOLO_v4相似. 实验结果列于表1. 模型尺寸为图片输入大小, 在同一IoU(IoU>0.5)条件下比较模型的mAP.

表1 不同模型的平均精度

由表1可见, YOLO_v4模型相对于YOLO_v3模型在mAP上有12.9%的提升, 表明了特征融合的必要性. 而XYOLO_v4模型相对于YOLO_v4有1.2%的提升, 这主要是因为通过改变颈部网络结构丰富了全局信息, 表明了本文模型的有效性.

为进一步考察本文模型在各类别上的检测效果, 本文将数据集VOC2007与数据集VOC2012合并进行对比实验. 选择当IoU>0.5时认为候选框包含目标物体, 结果列于表2. 由表2可见, XYOLO_v4模型在各类别上的精度较其他算法均有提升, 在其他模型效果不好的类别, 如船、 瓶子、 椅子、 餐桌、 盆栽植物、 电视等检测效果提升明显, 这是因为深浅层特征在检测不同大小物体时有不同的效果, 本文通过特征加权融合的方式在检测时放大对其有利特征所占比例.

表2 各模型不同类别的平均精度

为验证本文X-FPN模块的效果, 进行如下实验: 采用CspDarknet53和相同参数设置下对FPN,PANet,NAS-FPN等颈部网络模块与X-FPN模块进行比较, 实验数据为整体数据集中(VOC-2007+VOC-2012)所有的车辆图片, 结果列于表3. 由表3可见, 传统FPN只进行单向融合, 精度较低的同时参数量也较大; 而原网络使用的PANet执行自上而下和自下而上的双向特征融合, 精度提升的同时参数量也相应增加; 随机搜索的NAS-FPN网络虽然参数量较小但精度有所下降; 而本文的X-FPN模块相比其他融合方法在精度上有提高的同时具有较小的参数量.

表3 不同特征融合模块性能对比

综上所述, 针对YOLO_v4模型颈部网络特征串行连接导致特征被稀释影响模型性能的问题, 本文根据其骨干网络特征提取的特点, 结合加权处理优化颈部网络特征融合, 并在颈部网络添加中间层用于融合过渡, 实现特征跨尺度连接, 丰富全局信息. 实验结果表明, 本文XYOLO_v4模型能有效实现多尺度特征加权融合.

猜你喜欢
颈部尺度卷积
居家运动——颈部练习(初级篇)
居家运动——颈部练习(中级篇)
改良颈部重要外敷方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
颈部淋巴结超声学分区