YOLOv3: An Incremental Improvement 论文翻译

YOLOv3: An Incremental Improvement 论文翻译

YOLOv3:渐进式改进

约瑟夫·雷德蒙,阿里·法哈迪

华盛顿大学

摘要

我们为YOLO提供一些更新!我们做了一些小的设计更改以使其更好。我们还培训了这个相当庞大的新网络。比上次要大一点,但更准确。不过速度还是很快的,请放心。对于320×320的输入,YOLO v3运行时间为22毫秒,mAP值为28.2,与SSD一样精确,但速度提高了三倍。当我们查看YOLO v3旧的0.5 IOU mAP检测指标时,它是相当不错的。在Titan X上,它在51毫秒内可达到57.9 AP,而RetinaNet在198毫秒内可达到57.5 AP ,性能相似,但快3.8倍。与往常一样,所有代码都可以在https://pjreddie.com/yolo/在线获得。

1.简介

有时您一年只是打电话,知道吗?我今年没有做很多研究。在Twitter上花费了很多时间。和GANs一起玩了一点。去年我剩下一点动力。我设法对YOLO进行一些改进。但是,老实说,没有什么比这超级有趣的了,只是一堆小小的改进而已。
我也帮助了其他人的研究。

实际上,这就是今天把我们带到这里的原因。我们有一个可随时使用相机的截止日期,我们需要引用我对YOLO所做的一些随机更新,但我们没有消息来源。因此,准备一份技术报告!

技术报告的优点在于它们不需要介绍,大家都知道我们为什么在这里。因此,本导论的结尾将为本文的其余部分指明路标。首先,我们将告诉您YOLO v3解决了什么。然后,我们将告诉您我们的做法。我们还将告诉您一些我们尝试过的无效的事情。最后,我们将考虑所有这些。

2.解决方案

因此,这是与YOLOv3的解决方案:我们大多从别人那里得到了好主意。我们还培训了一个新的分类器网络,它比其他分类器要好。我们将带您从头开始学习整个系统,以便您可以全部了解。

在这里插入图片描述
图1.我们根据Focal Loss论文[9]修改了该图。YOLO v3的运行速度明显快于其他具有可比性能的检​​测方法。从M40或Titan X来看,它们基本上是相同的GPU。

2.1 边界框预测

在YOLO9000之后,我们的系统使用尺寸簇作为锚定框来预测边界框。网络为每个边界框tx,ty,tw,th预测4个坐标。
如果单元格从图像的左上角偏移了(cx,cy)并且边界框具有宽度和高度pw,ph,则预测对应于:

bx =σ(tx)+ cx
by =σ(ty )+ cy
bw = pw × etw
bh = ph × eth

在训练期间,我们使用平方和误差损失。如果某个坐标预测的真实值为ˆ t *,则我们的梯度为真实值(从真实框计算)减去我们的预测:ˆ t * − t *。通过转换上述公式,可以很容易地计算出真实值。

在这里插入图片描述
图2.具有尺寸先验和位置预测的边界框。我们预测盒子的宽度和高度为与簇质心的偏移量。我们使用 sigmoid 函数预测盒子相对于过滤器应用位置的中心坐标。这个数字公然自夸。

YOLO v3使用逻辑回归预测每个边界框的客观性得分。如果先验边界框与真值目标的重叠量大于任何其他边界框先验,则应为1。如果先验边界框并不是最好的,但是它会与真实目标重叠超过某个阈值,因此我们忽略了预测。我们使用的阈值为0.5。与参考文献[17]不同,我们的系统仅为每个真实目标分配一个边界框。如果没有将先验边界框分配给真实目标,则不会对坐标或类别预测造成任何损失,而只会造成客观性的损失。

2.2 类预测

每个框使用多标签分类来预测边界框可能包含的类。我们不使用softmax,因为我们发现它不是良好性能的必需品,而是仅使用独立的逻辑分类器。在训练期间,我们使用二进制交叉熵损失进行类预测。

当我们移至开放的Images数据集等更复杂的领域时,这种表达方式会有所帮助。在此数据集中,有许多重叠的标签(即“女人”和“人”)。使用softmax会假设每个盒子只有一个类,而通常并非如此。多标签方法可以更好地对数据建模。

2.3 跨尺度的预测

YOLO v3预测3种不同尺度的边界框。我们的系统使用与特征金字塔网络相似的概念,从这些尺度中提取特征。从基本特征提取器中,我们添加了几个卷积层。这些中的最后一个预测一个三维张量编码边界框,客观性和类预测。
在我们用COCO 进行的实验中,我们预测了每个尺度上的3个框,因此对于这4个边界框、一个客观性预测和80个类预测,张量为N×N×[3 *(4 + 1 + 80)]

接下来,我们从之前的两层中取得特征图(feature map),并将其上采样2倍。我们还从网络中的较早的地方获取特征图,并使用串联将其与我们的上采样特征进行合并。这种方法使我们能够从早期特征图中的上采样特征和更细粒度的信息中获得更有意义的语义信息。然后,我们再添加几个卷积层来处理这个组合的特征图,并最终预测出一个相似的张量,虽然现在是原来两倍的大小。

我们再次执行相同的设计来预测最终尺度的方框。因此,我们对第三种尺度的预测将从所有先前的计算中获益,并从早期的网络中获得细粒度的特征。

我们仍然使用k-means聚类来确定我们的边界框的先验。我们只是选择了9个聚类(clusters)和3个尺度(scales),然后在整个尺度上均匀分割聚类。在COCO数据集上,9个聚类是:(10×13);(16×30);(33×23);(30×61);(62×45); (59×119); (116×90); (156×198); (373×326)。

2.4 特征提取器

我们使用新的网络来实现特征提取。我们的新网络是用于YOLOv2,Darknet-19中的网络和那些新颖的残差网络的混合方法。我们的网络使用连续的3×3和1×1卷积层,但现在也有一些捷径(shotcut)连接,该网络明显更大。它有53个卷积层,所以我们称之为… Darknet-53!

在这里插入图片描述
表1. Darknet-53。

这个新网络比Darknet-19功能强大得多,而且比ResNet-101或ResNet-152更有效。以下是一些ImageNet上的实验结果:

在这里插入图片描述
表2.网络骨干的比较。各种网络的准确性,数十亿次操作,每秒十亿次浮点操作以及FPS。

每个网络都使用相同的设置进行训练,输入256×256的图片,并进行单精度测试。运行环境为Titan X。我们得出的结论是Darknet-53在精度上可以与最先进的分类器相媲美,同时它的浮点运算更少,速度也更快。和ResNet-101相比,Darknet-53的速度是前者的1.5倍;而ResNet-152和它性能相似,但用时却是它的2倍以上。

Darknet-53也可以实现每秒最高的测量浮点运算。这意味着网络结构可以更好地利用GPU,使其预测效率更高,速度更快。这主要是因为ResNets的层数太多,效率不高。

2.5 训练

我们只是输入完整的图像,并没有做其他处理。实验过程中设计的多尺寸训练,大量数据增强和batch normalization等操作均符合标准。模型训练和测试的框架是Darknet神经网络。

3 我们做了什么

YOLO v3的表现非常好!请参见表3,就COCO奇怪的平均mAP成绩而言,它与SSD变体相当,但速度提高了3倍。尽管如此,它仍然比像RetinaNet这样的模型要差一点。
在这里插入图片描述
表3.我很认真地只是从参考文献[9] Focal loss for dense object detection 中偷走了所有这些表格,它们花了很长时间才能从头开始制作。好的,YOLOv3一切正常。请记住,RetinaNet的图像处理时间要长3.8倍。YOLO v3比SSD变种要好得多,可与AP 50 度量标准上的最新模型相媲美。

如果仔细看这个表,我们可以发现在IOU=0.5(即表中的AP50)时,YOLOv3非常强大。它几乎与RetinaNet相当,并且远高于SSD变体。这就证明了它其实是一款非常灵活的检测器,擅长为检测对象生成合适的边界框。然而,随着IOU阈值增加,YOLOv3的性能开始同步下降,这时它预测的边界框就不能做到完美对齐了。

在过去,YOLO被用于小目标检测时存在困难。但现在我们可以预见其中的演变趋势,随着新的多尺寸预测功能上线,YOLO v3将具备更高的APS性能。但是它目前在中等尺寸或大尺寸物体上的表现还相对较差,仍需进一步的完善。

当我们基于AP50指标绘制精度和速度时(见图3),我们发现YOLOv3与其他检测系统相比具有显着优势。也就是说,它的速度正在越来越快。!

在这里插入图片描述
图3.再次根据参考文献[9]进行改编,这次显示了在mAP上以0.5 IOU度量标准的速度—精度折衷。您可以说YOLO v3很好,因为它很高而且离左边很远。你可以引用自己的论文吗?猜猜谁要尝试,这个人→参考文献[16]。哦,我忘了,我们还修复了YOLO v2中的数据加载错误,该错误通过2 mAP的帮助而得以解决。只是潜入这里不放弃布局。

4 失败的尝试

我们在研究YOLO v3时尝试了很多东西,以下是我们还记得的一些失败案例。

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

用线性方法预测x,y,而不是使用逻辑方法: 我们尝试使用线性激活来直接预测x,y的偏移,而不是逻辑激活。这降低了mAP成绩。

Focal loss: 我们尝试使用focal loss,但它使我们的mAP降低了2点。 对于focal loss函数试图解决的问题,YOLO v3从理论上来说已经很强大了,因为它具有单独的目标预测和条件类别预测。因此,对于大多数例子来说,类别预测没有损失?或者其他的东西?我们并不完全确定。

双IOU阈值和真值分配: 在训练期间,Faster RCNN用了两个IOU阈值,如果预测的边框与0.7的真实目标重合,那它是个正面的结果;如果在[0.3—0.7]之间,则忽略;如果和0.3的真实目标重合,那它就是个负面的结果。我们尝试了这种思路,但效果并不好。

我们对现在的更新状况很满意,它看起来已经是最佳状态。有些技术可能会产生更好的结果,但我们还需要对它们做一些调整来稳定训练。

5 更新的意义

YOLOv3是一个很好的检测器,它速度快,精度又高。虽然基于0.3和0.95的新指标,它在COCO上的成绩不如人意,但对于旧的检测指标0.5 IOU,它还是非常不错的。

为什么我们要改变指标呢?最初的COCO论文里只有这样一句含糊其词的话:一旦评估完成,就会生成评估指标结果。Russakovsky等人曾经有一份报告,说人类很难区分0.3与0.5的IOU:“训练人们用肉眼区别IOU值为0.3的边界框和0.5的边界框是一件非常困难的事”。如果人类都难以区分这种差异,那这个指标有多重要?

但也许更好的一个问题是:现在我们有了这些检测器,我们能用它们来干嘛?很多从事这方面研究的人都受雇于Google和Facebook,我想至少我们知道如果这项技术发展得完善,那他们绝对不会把它用来收集你的个人信息然后卖给……等等,你把它真正的用途说出来了!!哦哦。

好在其他巨资资助计算机视觉研究的人是军方,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人……呸呸呸

我有很多希望!我希望大多数人会把计算机视觉技术用于快乐的、幸福的事情上,比如计算国家公园里斑马的数量,或者追踪小区附近到底有多少猫。但是计算机视觉技术的应用已经步入歧途了,作为研究人员,我们有责任思考自己的工作可能带给社会的危害,并考虑怎么减轻这种危害。我们非常珍惜这个世界。

最后,不要在Twitter上@我(因为我终于退出了Twitter)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值