深度学习论文翻译 -- YOLO-V3

摘要

在这里插入图片描述

我们再次对YOLO进行更新,我们进行一系列的设计,使得效果更好。我们训练了新的网络,网络比之前的大,但是更加准确,速度依然很快。320x320的图像,22ms,28.2mAP,与SSD的准确度一样,但是比它快3倍。如果按照0.5IOU评测标准,在Titan X上,可以达到57.9 A P 50 AP_{50} AP50,耗时51ms,与RetinaNet的57.5 A P 50 AP_{50} AP50,耗时198ms相比,准确度相当,但是更快。


1. Introduction

在这里插入图片描述

作者今年没有做太多研究,在推特上花费太多时间。抽个空研究了下YOLO,做了一系列小的改进。


2. The Deal

在这里插入图片描述

在YOLO-V3中,我们主要参考了其它好的研究结果,并且训练了一个新的分类网络,比其它的都好。下面我们将详细的解析整个系统。

2.1Bounding Box Prediction

在这里插入图片描述

与YOLO-V2一样,我们使用维度聚类生成先验框(anchor boxes)。网络为边框预测4个值, t x , t y , t w , t h t_x,t_y,t_w,t_h tx,ty,tw,th. 如果当前的单元偏离图像左上角为( c x , c y c_x,c_y cx,cy),先验框的宽度和高度分别为,( p w , p h p_w,p_h pw,ph),那么预测框的计算如下:
b x = δ ( t x ) + c x b y = δ ( t y ) + c y b w = p w e t w b h = p h e t h b_x = \delta(t_x) + c_x\\ b_y = \delta(t_y) + c_y\\ b_w = p_we^{t_w}\\ b_h = p_he^{t_h} bx=δ(tx)+cxby=δ(ty)+cybw=pwetwbh=pheth
训练过程中,我们使用平方和误差损失。如果标签(真实边框)是 t ^ ∗ \widehat{t}_* t ,那么梯度值=真实值 - 预测值( t ^ ∗ − t ∗ \widehat{t}_*-t_* t t)。通过上述公式,很容易计算真实框中的每个单元格的偏移量。

在这里插入图片描述在这里插入图片描述

YOLO-V3使用逻辑斯蒂回归为每一个边框预测置信度分数。如果 anchor box与一个真实框的IOU大于其它的任何一个 ,则该项为1. 如果先验边框并不是最优的(IOU最大),但是与真实框的重叠度大于阈值(>0.5),那么忽略这个预测(不会参与计算任何损失)。我们使用的阈值为0.5. 与Fast R-CNN不同,我们的系统为每个真实目标只分配一个先验框。如果先验框没有与真实框匹配,那么不会计算坐标损失或者类预测,只计算置信度损失部分。

YOLO-V3的损失函数和YOLO-V1的类似,只是置信度项更换了其它形式的损失函数,参考下面的博客:
YOLO-V3的损失函数公式


2.2. Class Prediction

在这里插入图片描述

每一个边框预测的类可能是多标签的类。我们不使用Softmax,因为并能使得结果更好,相反我们使用独立的逻辑斯蒂分类器。训练过程中,我们二值交叉熵进行类预测。这种处理对复杂的数据更有帮助(比如 Open Image Dataset)。这种数据集下,有很多重叠的标签(比如Women 和 Person)。使用softmax加强了每一个边框只有一类的假设,但是实际情况下并不是这样。一个多标签方法更适合对数据建模。


2.3. Predictions Across Scales

在这里插入图片描述

YOLO-V3在3个不同的尺度下(对于416的输入,13x13,26x26,52x52)预测边框。我们的网络使用类似金字塔网络提出不同尺度的特征。在基础的卷积网络模块上,我们添加了多次卷积层。最后的一层预测3D的张量,用于输出对应的边框,置信度分数,类别预测。在我们的实验中(COCO数据),每一个尺度下预测3个边框,那么输出张量为 N × N × [ 3 ∗ ( 4 + 1 + 80 ) ] N \times N \times [3*(4+1+80)] N×N×[3(4+1+80)],分别表示4个边框偏移量,1个目标置信度分数,80个类别。

在这里插入图片描述

下一步,我们将取2层上层的输出,并上采样2倍。然后取低一层与上采样2倍的特征进行连接(concatenation)。这样我们可以从上采样层的获得更有语义信息的特征和低层更加细粒度的特征。我们还会添加几层卷积处理融合的特征,最终预测相似的张量。

我们使用同样的设计得到最后的尺度下的预测。这样我们第三个尺度下的特征融合前面层的细粒度特征。

我们仍使用K聚类获得先验框。我们对得到的9个聚类和3个任意的尺度进行排序,然后进行尺度上的划分。在COCO数据集上,9个先验框为:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。


2.4. Feature Extractor

在这里插入图片描述

我们提出新的卷积网络用于特征提取。新的网络混合了YOLOv2和Darknet-19,与流行的残差网络类似(residual network)。我们的网络使用连续的3x3和1x1的卷积层,以及一些直连通道(short connections),网络也变的更大。新网络总共53层卷积,Darknet-53

在这里插入图片描述

新网络比Darknet-19更加优秀,比RseNet-101和ResNet-152效率更高。表2给出了结果。

在这里插入图片描述
每一个网络的训练设置是一样的,测试图像为256x256,单尺度裁剪。运行时间的硬件为Titan X。Darknet-53与顶级的分类网络达到同等的水平,但是速度更快。Darknet-53每秒具有更高的浮点型运算量。这意味着该网络能够更有效的利用GPU。而ResNet由于层太多,所以速度更慢。


2.5. Training

在这里插入图片描述
我们训练过程中,没有过多的关注难分的样本。我们使用多尺度训练,很多的数据增强,BN,以及一些标准的技巧。我们使用的神经网络框架为:Darknet。


3. How We Do

在这里插入图片描述在这里插入图片描述

YOLO-V3效果很好,可以参考表3。在COCO数据集奇怪的平均mAP的评测指标下,效果与SSD相当,但是速度是其3倍。精度比其它网络(RetinaNet)略低。但是,当我们采用传统的目标检测评价标准( A P 0.5 AP_{0.5} AP0.5,或者 A P 50 AP_{50} AP50)时,YOLO-V3很强大,效果与RetinaNet相当,并且远超SSD以及变体。这表明YOLO-V3非常善于预测标准的边框(COCO中可能很多目标重叠之类,或者不规则的偏多)的检测器。但是,当评测阈值提高时,YOLO-V3精度降低很大,表明还是很难预测合适的边框。

在这里插入图片描述

在YOLO-V1中,很难预测小的目标。但是,当前的网络在小目标检测有很大改善。在多尺度预测下,YOLO-V3在 A P s AP_s APs上表现相对较高。但是,在中等和大目标上相对较差。我们需要更多的研究来弄清楚问题的真相。当我们在 A P 50 AP_{50} AP50标准下画出速度和精度的曲线,与其它目标检测系统相比,可以看到YOLO-V3有很大的优势,见图3.

在这里插入图片描述


4. Things We Tried That Didn’t Work

在这里插入图片描述

我们在YOLO-V3上尝试了很多技巧,但是没有什么效果,下面是我们尝试的,但是没有效果:
Anchor box x,y offset predictions:我们尝试使用标准化的先验框预测机制(预测xy的偏移量,然后乘以宽高)。这样使得网络不是很稳定,效果不好。

Linear x,y predictions instead of logistc:我们打算直接用线性的激活函数预测xy,而不是logistic。但是会降低mAP值。

Focal Loss:当时用Focal loss(解决样本不平衡)的时候,mAP降低2个点。YOLO-V3可能已经对Focal Loss解决的问题比较稳定了,因为预测置信度和条件概率是分开的。这样大部分样本是没有损失的。

在这里插入图片描述

Dual IOU thresholds and truth assignment:在训练过程中,Faster R-CNN使用两个IOU阈值。如果预测和真实框的重叠比值是0.7,它是正样本,[0.3,0.7]是忽略样本,小于0.3是负样本。我们尝试了同样的策略,但是效果不好。我们很喜欢现在的公式,至少可能局部最优。也许这些技巧可以产生好的结果,但是需要不断的调试。


5. What This All Means

在这里插入图片描述在这里插入图片描述

YOLO-V3是很好的检测器,速度快,精度高。在COCO上,平均 AP在[0.5, 0.95]之间的精度并不是很好。但是,在 A P 0.5 AP_{0.5} AP0.5效果不错。我们为什么要切换度量标准呢?原始的COCO论文中提到这样的句子:一旦评测服务器完成了,已经讨论的评测标准会加入。Russakovsky 曾经说过,人类很难区分区分0.3和0.5的IOU。如果人类都很难分别区别,数值是多少,有区别吗?

在这里插入图片描述

但是,一个更好的问题是:我们对现在拥有的检测器,如何使用呢?可能很多都是在Google和Facebook的实验室里,没有打算出售或者使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值