YOLOv3论文翻译

Absstract

​ 本文为YOLO提供了一系列更新!它包含一堆小设计,可以使系统的性能得到更新;也包含一个新训练的、非常棒的神经网络,虽然比上一版更大一些,但精度也提高了。不用担心,虽然体量大了点,它的速度还是有保障的。在输入320×320的图片后,YOLOv3能在22毫秒内完成处理,并取得28.2mAP的成绩。它的精度和SSD相当,但速度要快上3倍。和旧版数据相比,v3版进步明显。在Titan X环境下,YOLOv3的检测精度为57.9AP50,用时51ms;而RetinaNet的精度只有57.5AP50,但却需要198ms,相当于YOLOv3的3.8倍。

1.引言

​ 首先,我们会告诉你YOLOv3的处理是什么。然后我们会告诉你我们是怎么做的。我们还将告诉您一些我们尝试过但没有成功的事情。最后,我们将思考这一切意味着什么。

2.The Deal

YOLOv3的处理是这样的:

​ 我们大多从别人那里得到好的想法。我们还训练了一个比其他分类器更好的新分类器网络。我们将带您从头开始浏览整个系统,以便您能够理解所有内容。

在这里插入图片描述

Figure 1.我们采用了Focal Loss(焦点损失)论文中的这张图。YOLOv3运行速度明显快于其他具有类似性能的检测方法。无论是M40还是Titan X,它们基本上都是相同的GPU。

2.1.边界框预测(Bounding Box Prediction)

​ 按照YOLO9000,我们的系统使用维度聚类作为定位框来预测边界框。网络预测每个边界框的4个坐标 tx、ty、tw、th 。如果单元格相对于图像左上角的偏移量为(cx,cy),且之前的边界框具有宽度和高度 pw,ph,则预测对应于:

​ bx = σ(tx) + cx

​ by = σ(ty) + cy

​ bw = pwetw

​ bh = pheth

​ 在训练期间,我们使用误差损失平方和。如果某个坐标预测的真实值为tˆ*,我们的梯度是真实值(从真实值框计算得到)减去我们的预测值:tˆ*− t*。该真实值可以通过上述方程计算得到。

YOLOv3使用逻辑回归预测每个边界框的检测分数。如果当前预测的边界框与真实值目标的重叠超过任何其他之前的边界框,则该值应为1。如果当前边界框预测不是最佳的,但确实与真实值目标重叠超过某个阈值,我们将忽略该预测。我们使用0.5的阈值。我们的系统只为每个真实值对象指定一个边界框。如果没有将之前的边界框指定给真实值目标,则不会导致坐标或类预测损失,只会导致目标损失。
在这里插入图片描述

Figure 2.具有标注优先级和位置预测的边界框。我们预测长方体的宽度和高度是簇质心的偏移量。我们使用sigmoid函数预测相对于滤波器应用位置的边框中心坐标。

2.2.分类预测(Class Prediction)

​ 每个框使用多标签分类预测边界框可能包含的类。我们不使用softmax,因为我们发现它对于良好的性能是不必要的,相反,我们只是使用独立的逻辑分类器。在训练过程中,我们使用**二元交叉熵损失(对数损失)**进行分类预测。

​ 当我们移动到更复杂的领域,如Open Images数据集时,这个公式(引用[7])会有所帮助。在这个数据集中有许多重叠的标签(即女性和个人)。使用softmax需假设每个框只有一个类,但通常情况并非如此。多标签方法可以更好地建模数据。

2.3.跨尺度预测(Predictions Across Scales)

YOLOv3以3种不同的尺度预测边框。我们的系统使用类似于金字塔网络的概念从这些尺度中提取特征。从我们的基本特征提取器中,我们添加了几个卷积层。最后一个预测是三维张量编码的边界框、目标和类预测。在COCO的实验中,我们预测每个尺度上有3个边框,因此张量为N×N×[3∗(4+1+80)],用于4个边界框偏移量、1个目标预测和80个类预测。

​ 接下来,我们从前面的两层中提取特征图,并通过2x将其上采样。我们还从网络早期获取一个特征映射,并使用concatenation将其与上采样特征合并。这种方法使我们能够从上采样的特征中获得更有意义的语义信息,并从早期的特征映射中获得更细粒度的信息。然后,我们再添加一些卷积层来处理这个组合特征图,并最终预测一个类似的张量,尽管现在的大小是原来的两倍。

​ 我们再执行一次相同的设计,以预测最终比例的边框。因此,我们对第三尺度的预测得益于所有先前的计算以及网络早期的细粒度特征。

​ 我们仍然使用k-means聚类来确定我们的边界框先验。我们只是随意选择了9个簇和3个尺度,然后在尺度上均匀地划分簇。在COCO数据集上,9个集群为:

​ (10×13),(16×30),(33×23),(30×61),(62×45),(59× 119),(116 × 90),(156 × 198),(373 × 326)

2.4.特征提取器(Feature Extractor)

​ 我们使用一个新的网络来进行特征提取。我们的新网络是YOLOv2Darknet-19中使用的网络和新的残差网络之间的混合方法。我们的网络使用连续的3×31×1卷积层,但现在也有一些快捷连接,而且更大了。它有53个卷积层,所以我们称之为Darknet-53
在这里插入图片描述

​ 此新网络比Darknet-19强大得多,但仍比ResNet-101ResNet-152更高效。以下是一些ImageNet结果:
在这里插入图片描述

Table 2.backbones比较。精度、数十亿次运算、每秒十亿次浮点运算以及各种网络的FPS。

​ 每个网络使用相同的设置进行训练,并以256×256的单作物精度进行测试。在Titan X上以256×256的速度测量运行时间。因此,Darknet-53与最先进的分类器相比,具有更少的浮点运算和更高的速度。Darknet-53ResNet-101好,速度快1.5倍。Darknet-53的性能与ResNet-152相似,速度快2倍。

Darknet-53还实现了每秒测量的最高浮点运算。这意味着网络结构更好地利用了GPU,使评估更有效,从而更快。这主要是因为ResNets的层太多,效率不高。

2.5.训练

​ 我们仍然在完整的图像上训练,没有硬性的负面挖掘或任何类似的东西。我们使用多尺度训练、大量数据扩充、批量标准化等所有标准工具。我们使用Darknet神经网络框架进行训练和测试。

3.如何做

YOLOv3相当不错!见Table 3。在COCOs平均mAP度量方面,它与SSD变体是一致的,但是快3倍。不过,在这一指标上,它仍然落后于其他型号,如RetinaNet

​ 然而,当我们在IOU=.5(或图表中的AP50)查看mAP的“旧”检测指标时,YOLOv3非常强大。它几乎等同于RetinaNet,远高于SSD变体。这表明YOLOv3是一个非常强大的检测器,擅长为物体产生像样的边框。但是,随着IOU阈值的增加,性能显著下降,这表明YOLOv3难以使框与目标完全对齐。

​ 在过去,YOLO致力于对小型目标进行检测。然而,现在我们看到了这一趋势的逆转。通过新的多尺度预测,我们看到YOLOv3具有相对较高的APS性能。然而,在中型和大型目标上的性能相对较差。要弄清这一点,还需要进行更多的调查。

​ 当我们在AP50指标上绘制精度与速度(见图5)时,我们发现YOLOv3比其他检测系统具有显著的优势。也就是说,它更快更好。
在这里插入图片描述

Table 3.YOLOv3做得很好。请记住RetinaNet处理图像的时间要长3.8倍。YOLOv3在AP 50指标上比SSD变体好得多,与最先进的型号相当。

4.我们试过但没用的东西(Things We Tried That Didn’t Work)

​ 我们在制作YOLOv3时尝试了很多东西。很多都没用。这是我们能记住的东西。

​ Anchor box坐标的偏移预测。我们尝试了常规的Anchor box预测方法,比如利用线性激活将坐标x、y的偏移程度预测为边界框宽度或高度的倍数。但我们发现这种做法降低了模型的稳定性,且效果不佳。

​ 用线性方法预测x,y,而不是使用逻辑方法。我们尝试使用线性激活来直接预测x,y的offset,而不是逻辑激活。这降低了mAP成绩。
​ focal loss。我们尝试使用focal loss,但它使我们的mAP降低了2点。 对于focal loss函数试图解决的问题,YOLOv3从理论上来说已经很强大了,因为它具有单独的对象预测和条件类别预测。因此,对于大多数例子来说,类别预测没有损失?或者其他的东西?我们并不完全确定。
​ 双IOU阈值和真值分配。在训练期间,Faster RCNN用了两个IOU阈值,如果预测的边框与.7的ground truth重合,那它是个正面的结果;如果在 [.3—.7] 之间,则忽略;如果和.3的ground truth重合,那它就是个负面的结果。我们尝试了这种思路,但效果并不好。我们对现在的更新状况很满意,它看起来已经是最佳状态。有些技术可能会产生更好的结果,但我们还需要对它们做一些调整来稳定训练。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值