一种基于改进YOLO v3的小目标检测方法

2021-04-23 02:19:30蔡鸿峰吴观茂
湖北理工学院学报 2021年2期
关键词:尺度边界卷积

蔡鸿峰,吴观茂

(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)

目标检测包含目标的定位和分类。早期的目标检测方法是使用手工提取特征,再在此基础上构造模型。使用该方法设计的模型结构复杂,提升模型精度困难。卷积神经网络具有较好的学习特征能力,Girshick等[1]将CNN应用到目标检测中,提出了R-CNN模型,使模型的检测性能有了很大提升,但其网络只能输入固定尺寸的图像,且R-CNN通过SS算法生成的候选区大量重叠,造成计算资源浪费。针对R-CNN模型的这类缺点,He等[2]提出了SPP-Net网络。Girshick[3]与Ren等[4]先后提出了Fast R-CNN与Faster R-CNN模型。从R-CNN发展到Faster R-CNN,模型的检测速度与检测精度均有所提高,但这类两阶段的检测方法在检测速度上与单阶段检测方法仍存在一定差距。典型的单阶段目标检测方法有YOLO系列算法和SSD算法。Redmon等[5]在2015年提出了第一个单阶段检测方法YOLO算法,Liu等[6]借鉴了YOLO和Faster R-CNN的优点提出了SSD算法,检测速度快并且实现了多尺度预测。在YOLO v1的基础上,Redmon等[7-8]又提出了YOLO v2和YOLO v3算法。其中,YOLO v2进行了各种尝试,使用了批标准化技术;YOLO v3使用了Darknet-53和sigmoid函数。本文以YOLO v3作为研究基础,通过网络结构和损失函数的改进来提升小目标检测的精度。

1 YOLO v3算法

相较于YOLO v2,YOLO v3算法在整体网络结构上有较大改变,使用sigmoid函数代替了softmax函数,并实现了多尺度预测。YOLO v3能够在3个不同位置的3个不同尺寸的特征图上使用大小为1×1的卷积核实现检测,其中的2个特征图是经过上采样和特征融合以后得到的。Darknet-53作为主干网络进行特征提取,借鉴了残差网络的结构,实现了跳层连接与残差模块。YOLO v3网络结构的加深使其在检测速度上较之前的版本有所降低,但在检测准确度上得到了提升。

Darknet-53是全卷积网络,使用了残差结构,共有53个卷积层,主要作用是提取图像特征。对于像素为256×256的输入图像,用于检测的3个特征图的步长为8,16,32。而对于像素为416×416的输入图像,用于检测的3个特征图的步长为13,26,52。3个不同尺度的特征图经过FPN(Feature Pyramid Network)进行融合后,采用多尺度方法帮助Darknet-53网络学习到不同层次的特征信息,然后将融合后的特征信息输入 YOLO 层,实现类别预测和边界框回归。

YOLO v3中使用了多个尺度的特征图预测,根据不同尺寸的输入图像,得到不同大小的输出特征图,最终的特征图包含了检测框位置信息、检测置信度和类别信息。YOLO v3 共使用了 9种anchor box作为先验框。这9种anchor box由K-means聚类算法得到,先验框尺寸与特征图尺度大小成反比。13×13的特征层用于检测大目标,26×26的特征层用于检测中等目标,52×52的特征层用于检测小目标。

YOLO v3检测置信度的计算公式为:

Confidence=Pr(object)×IoU

(1)

式(1)中,Pr(object) 用于判断预测边界框中是否包含待检测目标;IoU为预测边界框与真值边界框的交并比。

得到全部预测边界框后,通过设置阈值与非极大值抑制等操作得到目标边界框。有了先验框与输出特征图,就可以解码检测框。边界框位置预测示意图如图1所示。

图1 边界框位置预测示意图

YOLO的位置预测是指相对于左上角格点坐标预测偏移量,计算每个网格实际预测框的中心位置和尺寸大小。计算公式为:

(2)

式(2)中,cx,cy为坐标偏移量;bx,by为实际预测框的中心位置;Pw,Ph为实际先验框的宽度和长度;bw,bh为实际预测框的尺寸;tx,ty为坐标预测值;tw,th为边界框宽度和高度的预测值。

2 YOLO v3算法的改进

2.1 网络结构的改进

YOLO v3算法使用Darknet-53 网络进行特征提取,利用卷积核实现下采样操作,步长为2,大小为 3×3 。该网络虽然感受野较大,但是牺牲了空间分辨率,经过深层卷积提取特征后容易使小目标的信息丢失。针对小目标物体的检测更加依赖浅层特征这一特点,将网络层数较少的Darknet作为检测网络的backbone,使用49层主干网络,记为Darknet-49。

Darknet-49共有49个卷积层,5个残差块。由于使用ReLU激活函数会对低维特征信息造成大量损失,根据MobileNet网络中倒残差结构的最后一个1×1的卷积层,使用线性激活函数来保留低维特征的思想,在Darknet-49的第1个卷积层使用线性激活函数,减少低维信息的损失。Darknet-49网络对输入图像进行 5 次下采样操作,得到5个尺度的特征图。改进后的检测网络将原有的3个检测尺度扩展为5个检测尺度,多尺度的特征融合能够提升检测性能[9]。改进后的检测网络结构如图2所示。

图2 改进后的检测网络结构

2.2 损失函数的改进

YOLO v3是一种端到端的单阶段目标检测算法,其损失函数由坐标回归损失、置信度损失和分类损失3个部分共同组成,其中坐标回归损失使用均方误差进行计算,其余使用交叉熵进行计算。

目标尺度的变化会影响坐标回归的准确性,使用均方误差不能处理检测目标尺度敏感问题。IoU为预测目标边界框与真实目标边界框之间的交并比,其公式为:

(3)

式(3)中,B为预测目标边界框;Bgt为真实目标边界框。

IoU Loss具有尺度不变性的特点,能够更好地反映重合程度。虽然IoU Loss 比均方误差更有优势,但是当预测框与ground-truth是包含关系时,其IoU Loss为定值,检测效果会具有较大差异;当两者不相交时,IoU Loss的值为0,则无法进行优化。

IoU Loss的计算公式为:

LIoU=1-IoU

(4)

针对IoU Loss的不足,本文使用DIoU Loss(Distance IoU Loss)[10],DIoU示意图如图3所示。

图3 DIoU示意图

DIoU公式为:

(5)

式(5)中,b为预测目标边界框的中心坐标;bgt为真实目标边界框的中心坐标;ρ为2个中心点之间的距离;c是2个目标边界框最小外接矩形的对角线长度。

则DIoU Loss表示为:

(6)

置信度损失Lconf与分类损失Lclass均用均方误差进行计算,计算公式为:

(7)

(8)

最终损失函数公式为:

Loss=LDIoU+Lconf+Lclass

(9)

3 实验分析

3.1 实验环境

实验使用ubuntu18.04操作系统,使用Python3.7与pytorch进行编程,通过GPU加速计算。

3.2 数据集

实验使用PASCAL VOC 2012数据集,共有20种类别,背景为第21类。PASCAL VOC 2012数据集见表1。

表1 PASCAL VOC 2012数据集

3.3 实验结果

将PASCAL VOC 2012 数据集作为测试数据集和训练数据集,将改进后的YOLO v3算法与原YOLO v3,Faster R-CNN,SSD进行对比,实验结果以mAP值和FPS值作为评估指标。FPS表示模型每秒钟可以检测的图片数量,FPS值越大,模型的检测速度越快。mAP指标即各类别AP的均值,公式为:

(10)

式(10)中,C为样本种类数;AP为样本的平均精度。

4种算法模型的mAP和FPS见表2。由表2可以看出,改进后的YOLO v3算法的mAP值相较于原YOLO v3算法有一定提升,提升了约2.4%,但低于Faster R-CNN和SSD300算法;其FPS值与原YOLO v3算法相比有所降低,但远超Faster R-CNN和SSD300算法。这是因为虽然主干网络选取了比原网络层数更少的Darknet-49网络,但同时也增加了网络的预测输出层数,对检测速度产生一定影响,致使FPS值降低。总体来说,改进后的YOLO v3算法在mAP值上有一定提升,其检测速度与原算法接近。

表2 4种算法模型的mAP和FPS

改进前后YOLO v3算法各类别的AP值如图4所示。由图4可以看出,改进后的YOLO v3的mAP值提高了约2.4%,对应的各个类别的AP值都有一定提升。例如,train这一类的目标在算法改进前后AP值的变化不大,主要原因是这一类大尺度图片本身已经达到了较高的精度且这类大尺度图片占有较大的图片比例,不容易因为尺寸的缩放而丢失精度;而改进后类别为bottle的AP值增加最多,上升了约0.13%,说明通过增加特征融合层的数量可以提高小目标物体的检测精度。

图4 改进前后YOLO v3算法各类别的AP

4 结论

通过对原YOLO v3算法的网络结构和损失函数进行改进,增强了算法对小目标物体的检测精度。但是,改进后的算法检测速率有所降低,并且在实际检测过程中仍然会存在漏检的情况。

猜你喜欢
尺度边界卷积
拓展阅读的边界
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
论中立的帮助行为之可罚边界
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
9
“伪翻译”:“翻译”之边界行走者
外语学刊(2014年6期)2014-04-18 09:11:49
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20