APP下载

基于多尺度的Yolov3目标检测算法的改进

2022-06-15白佳乐樊永生

中北大学学报(自然科学版) 2022年3期
关键词:特征提取尺度卷积

白佳乐, 樊永生

(中北大学 大数据学院, 山西 太原 030051)

0 引 言

深度学习是目标检测[1-2]算法的重要方法. 最早的深度学习检测算法RCNN[3]通过SS算法(Selective Search)获取大量候选框, 用神经网络对每个候选框进行特征提取, 最后利用SVM分类器对目标物种进行预测. 但是, 该算法需要花费大量时间来将候选区域放入CNN中进行特征提取. Fast RCNN借鉴了SPPNet[4]算法思想, 改进损失函数, 将边界框回归直接加入到网络训练; 为了进一步提高检测效率, Faster RCNN算法[5]使用RPN(Region Proposal Network)网络取代SS算法, 并在此基础上提出FPN[6](Feature Pyramid Networks), 在不明显增加计算量的前提下, 实现了对检测目标的多尺度特征提取, 解决了目标检测中的多尺度问题.

上述目标检测算法都需要生成候选区域, 然后对候选区域进行分类细化. 这类方法精度较高, 但速度慢, 不能实现实时检测. Yolov1[7](You Only Look Once)将目标检测作为回归问题来实现图像边界框定位并预测其类别概率; 为了提高精度又提出了Yolov2[8], Yolov2网络在每个卷积层后进行了归一化处理, 极大地提高了模型收敛速度, 并且在预训练过程中提高了网络分辨率, 同时引入k-means聚类方法, 提高了检测的准确性; Yolov3[9-11]使用Sigmoid进行多标签类别预测, 设计了Darknet-53网络, 并引入FPN网络进行多维度特征提取, 极大地提高了网络性能, 使其在目标检测领域得到了广泛应用; Yolov4[12-13]是Alexey等人在Yolov3的基础上, 总结了目前目标检测算法的优化策略, 在进行了充分的组合实验后提出的目标检测算法, 其在目标检测精度和速度方面都有很大的提升.

Yolo系列的不断发展使得单阶段目标检测算法的精度越来越高. 为了进一步提升算法的检测精度, 本文基于Yolov3的基础架构进行研究, 针对其特征提取能力不足以及预测框定位不准确的问题, 对Yolov3模型中的主特征提取网络和预测框处理部分进行了改进. 主要工作包括: 在模型训练时采用随机擦除策略对图像进行处理, 提高模型的泛化能力; 在特征提取网络中加入Res2Net多尺度模块, 优化Yolov3特征提取网络, 提取更加有效的特征; 在预测框回归阶段采用CIoU交并比算法, 提高目标框回归精度.

1 Yolov3目标检测

Yolov3目标检测算法直接将待检测图片等分为互不重叠的小方块, 再利用神经网络生成与其同等大小的特征图对应于图片中每个小方块, 之后预测每个小方块包含目标的概率以及目标种类.

1.1 Yolov3网络结构

Yolov3目标检测算法采用Darknet-53网络进行特征提取, 借鉴ResNet[14](Residual Network)思想, 在某些层之间设置快捷链接, 既实现了特征的进一步提取, 又避免了因为网络过深带来的梯度问题; 引入FPN, 用于得到不同尺度的特征, 以对不同分辨率的目标进行检测.

1.2 Yolov3检测过程

Yolov3将待测试图像调整成416×416的大小, 然后放入到主干特征提取网络Darknet-53中进行训练, 构建特征金字塔, 得到3个有效特征层, 它们的大小分别为13×13, 26×26, 52×52, 之后利用这3个有效特征层进行特征融合, 得到更好的不同层次特征, 并对不同层次特征进行处理. Yolov3算法采用k-means算法对训练样本预测框进行聚类, 共聚类出9种大小不同的先验框并进行调整; 每个特征层将整个图像按照其长度和宽度划分成网格, 每个网络中心各有9个预先设定的先验框, 网络预测结果通过判断先验框中是否包含对象以及对象类型来获得预测结果, 最后对预测结果进行非极大值抑制后获得最终结果. Yolov3目标检测算法的流程如图 1 所示.

图 1 Yolov3算法流程图

2 Yolov3目标检测算法改进

2.1 数据增强

丰富的数据集是良好效果的保证, 因此, 本文在数据预处理部分采用了一些数据增强策略来实现数据增强, 如: 图像翻转、 噪声变换、 色彩变换等. 在此基础上引入随机擦除[15]技术, 处理后的结果如图 2 所示.

(a) 原始图像

随机擦除技术是指网络训练时, 在训练图像中用随机值对随机生成的矩形区域像素进行替换生成一张被遮挡的图像, 降低网络出现过拟合的概率, 提升模型的泛化能力. 根据文献[15], 选择在整个图像和每个对象边界框中选取擦除区域, 将选中区域中的每个像素值设为[0, 255]的一个随机值.

假设擦除概率为p, 图像面积S=W×H; 随机初始化擦除的面积为Se,Se/S的范围在Sl与Sh之间,Sl和Sh分别是随机擦除矩形面积占图像面积比例的上下阈值; 擦除矩形的长宽比在r1与r2之间, 设置为re, 则可求得擦除矩形的长He和宽We为

(1)

随机初始化一个点P=(xe,ye), 保证这个点所画的框在图像内, 则选择区域为

Ie=(xe,ye,xe+We,ye+He).

(2)

这里, 分别设置p=0.5,sl=0.02,sh=0.4和r1=r2=0.3, 来进行随机擦除.

2.2 多尺度模块

在目标检测中, 物体形状和尺寸大小不一, 给目标识别和定位带来了很大的挑战. 不同分辨率的特征图用来检测不同大小的目标. 分辨率高的特征图具有丰富的细节信息和较小的感受野, 可以用来检测尺寸较小的目标, 而分辨率低的特征图因较强的语义信息和较大的感受野, 适合检测尺寸较大的目标, 据此可对图像进行多尺度特征处理.

Yolov3算法引入FPN特征金字塔网络[6]来获取多尺度特征, 通过自上而下的路径和侧向连接, 将高分辨率的低层次特征和多语义信息的高层次特征进行融合, 对不同尺寸的目标构建了不同语义层次的特征.

以ResNet为例, FPN利用CNN的前馈计算将每个残差模块的特征作为输出, 记为{C1,C2,C3,C4,C5}.多尺度特征预测步骤如图 3 所示, 以P4层特征生成为例: 图片经过特征网络处理后得到C1到C55个层特征; 首先对C5层特征进行1×1 卷积得到F5层特征, 然后对F5层特征进行上采样后, 再与C4层特征经过1×1卷积得到的特征图上的对应元素相加得到F4层特征; 最后对F4层特征进行3×3卷积得到最终的P4层特征.其余层特征获取原理相同, 就能得到最终的金字塔特征{P3,P4,P5}.

图 3 FPN多尺度网络预测图

本文在Yolov3特征提取网络的基础上, 融入Res2Net[16-17]模块, 在不增加额外网络参数的前提下, 增加小的卷积块, 有效地增加了特征层的感受野范围, 可以提取更细粒度特征, 残差块对比图如图 4 所示.

图 4 残差块对比图

图4(a)表示基本残差卷积块, 图4(b)是对图4(a) 中的3×3卷积块进行改进后的卷积块. Res2net在对特征图进行一次1×1的卷积后, 将其按照通道数等分成s个子集, 定义为xi, 其中i∈(1,2,…,s).除了x1, 其余子特征还会经过3×3 卷积, 输出为ki(xi); 当i>2时, 子特征xi和ki-1(xi-1)相加, 然后输入到ki()进行卷积操作, 最后输出特征可定义为

(3)

每次对xi的卷积操作都能利用之前的所有特征信息, 扩大感受野范围, 充分地利用上下文信息, 增强网络特征表达能力.s为维数控制参数, 本文将s设置为4, 改进后Yolov3网络结构图如图 5 所示, 其中虚线框为改进后的残差模块.

图 5 Yolov3网络结构图

2.3 CIoU交并比

在Yolov3目标检测过程中, 每个特征图的网格中会得到不同大小的先验框, 对先验框进行处理可以得到预测框, 之后依次计算出预测框的IoU(Intersection over Union), 以非极大值抑制的方式来筛选出最终预测结果.

IoU作为目标检测算法性能mAP计算的一个函数, 用来反映框A与框B之间的重叠程度, 定义为

(4)

IoU的值越高说明两个框重合程度越高, 代表模型预测越准确, 反之则表示模型性能越差. 将1-IoU作为边界框回归损失函数, 表示为

(5)

但IoU无法判断两个框之间的距离, 也无法衡量两个框的相交方式, 为此, 文献[18]将损失函数进行了改进, 提出增加了惩罚项的GIoU-loss, 表示为

(6)

式中:C为同时包含两个框的最小矩形框的面积, 当两个框发生包含关系时,GIoU依然存在很大误差.

文献[19]提出CIoU(Complete IoU)交并比,CIoU将两个框之间的距离、 重叠率、 长宽比加入惩罚项, 使预测框回归更加准确,CIoU的计算公式为

(7)

式中:ρ2(b,bgt)为不同框中心点的欧氏距离;c为能够同时包含两个框的最小闭包区域的对角线距离;α为权重函数, 当两个框没有重合时, 给予IoU-loss更大的权重;v用来衡量高宽比的重合度, 使预测框更加符合真实框.

计算α和v的公式为

(8)

(9)

式中:w和h为预测框的宽和高;wgt和hgt为真实框的宽和高,CIoU回归时的损失函数为

(10)

3 实验结果与分析

在Windows 10系统下进行实验, GPU为NVIDIA Tesla P40, 开发环境为PyCharm. 训练时, 初始化学习率设置为0.001, 采用StepLR调整策略对学习率进行调整, 调整倍数为0.9, 调整间隔为1 s.

3.1 PASCAL VOC 2012 数据集

本文选择Pascal VOC 2012数据集作为实验的数据集, 主要包括人、 动物、 车辆和家具4大类, 20个不同种类的目标, 共有11 540张图片, 其中用于训练的有8 078张, 用于验证的有1 038张, 其余的2 424张用于测试.

3.2 结果与分析

本文采用平均精度AP(Average Precision)和平均精度均值mAP(Mean Average Precision)作为改进算法的评价指标.

AP指单目标的检测精度, 通过模型的准确率P和召回率R来衡量, 计算公式为

(11)

式中: 准确率P为预测正确的实际正样本占所有预测正样本的比例; 召回率R表示预测正确的实际正样本占所有实际正样本的比例.

(12)

(13)

式中:TP表示预测正确的正样本;FP为预测错误的正样本;FN为预测错误的负样本.

mAP为各个类别AP的均值, 用来衡量多目标检测精度, 可以体现出模型对所有类别的检测效果.

改进Yolov3算法的部分检测P-R曲线如图 6 所示. 通过P-R曲线可以计算出, person、 car和table 3种类别的AP值分别达到了89.6%, 87.9%, 85.2%, 最终算法的mAP达到85.7%, 较Yolov3算法提升了3.4%.

图 6 各类目标的P-R曲线

为了综合评估改进算法的性能, 将改进算法与主流算法在同一个数据集上进行实验, 包括单阶段检测算法SSD[20]、 原Yolov3算法以及二阶段检测算法Faster RCNN, 实验结果如表 1 所示. 由表 1 可以看出, 与其他算法相比, 本文方法在多类别的AP和mAP上均有较大提升. 在实时性方面, 相比Yolov3算法, 本文方法在检测速率上损失了1.3 fps, 平均检测速率为24.1 fps, 但仍具有较好的实时性. 本文在算法设计上增强了主干网络的特征提取能力, 对细节特征处理更好, 检测效果也更好. 同时, 实际场景检测效果对比实验进一步说明了改进算法的有效性.

表 1 不同算法的检测对照表

3.3 检测效果对比

实际检测效果对比如图 7 所示, 其中图7(a)为原版Yolov3的检测效果, 图7(b)为改进后的Yolov3对相同场景的检测效果. 由图 7 可以看出: 原Yolov3算法对目标框的定位效果不太好, 对目标的检测效果也不佳; 改进后的Yolov3算法提高了算法的特征提取能力, 并对预测框回归进行了改进, 使改进算法在保证实时性的情况下, 对目标的定位和检测效果都有了较大提升.

(a) Yolov3检测效果图

3.4 消融实验

为了验证多尺度提取和预测框回归部分实验的合理性和有效性, 进行了消融对比实验. 实验结果如表 2 所示. 实验包含4种不同的模型: ① 原始的Yolov3网络模型; ② 引入多尺度模块Res2net的网络模型; ③ 引入CIoU交并比的网络模型; ④ 本文设计的网络模型. 表中两个评价指标分别为平均检测精度均值(mAP)和检测速率(Speed).

由表 2 中消融实验结果的分析可知: 方法①与方法②的对比表明, 引入多尺度模块Res2net能提高算法的检测精度, 原因在于Res2net模块通过对特征图进行卷积处理, 充分利用了上下文信息, 扩大了感受野范围, 提高了网络特征提取能力, 进而使模型的检测精度提升了1.9%; 方法②与方法③的对比表明, 引入CIoU交并比作为预测框回归的损失函数能有效提高算法的精度, CIoU解决了IoU损失函数不相交不能反向传播的问题, 并将框的中心点距离和框的宽高比例作为参考要素加入损失函数中, 使模型的检测精度提升了 2.7%; 方法①与方法④的对比表明, 本文提出的改进算法比原算法的mAP提升了3.4%. 对于实时性, 本文方法的检测速度达到了24.1fps, 达到了实时监测的要求. 表 2 中各项评价指标的对比结果证明了本文改进算法的合理性与有效性.

表 2 消融实验结果

4 结 论

针对Yolov3目标检测算法主干网络特征提取能力不足的问题, 本文将Res2Net多尺度模块引入Yolov3主干特征提取网络中, 可以有效地增加特征层的感受野范围, 提取更细粒度的特征, 从而提高了网络的特征提取能力. 同时, 在目标框回归部分加入了对目标框与真实框之间重叠面积、 中心点距离和长宽比的考虑, 在基本不损失检测速率的情况下, 使目标框回归效果和检测精度都得到了提升. 在后续研究中, 将继续对模型结构进行优化, 以进一步提升目标检测算法的检测精度.

猜你喜欢

特征提取尺度卷积
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
环境史衰败论叙事的正误及其评判尺度
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
以长时间尺度看世界
9