YOLOv3: An Incremental Improvement

 论文下载地址:https://pjreddie.com/media/files/papers/YOLOv3.pdfhttps://pjreddie.com/media/files/papers/YOLOv3.pdf翻译word和pdf下载地址:

YOLOv3:AnIncrementalImprovement论文全文翻译-行业报告文档类资源-CSDN下载

YOLOv3:AnIncrementalImprovement论文翻译-行业报告文档类资源-CSDN下载

YOLOv3:AnIncrementalImprovement原文英文注解-行业报告文档类资源-CSDN下载

YOLOv3:增量改进

摘要

我们为YOLO带来一些更新!我们做了一些小的设计改变,让它变得更好。我们还训练了这个非常棒的新网络。比上次大一点,但更准确。不过它还是很快的,别担心。在320 × 320的情况下,YOLOv3在28.2 mAP上运行22 ms,与SSD一样精确,但比SSD快三倍。当我们着眼于旧的.5 IOU mAP检测指标时,YOLOv3是相当不错的。它在Titan X上可以在51 ms内实现57.9 AP50,而在RetinaNet上则可以在198 ms内实现57.5 AP50,性能类似,但要快3.8倍。和往常一样,所有的代码都可以在https://pjreddie.com/yolo/上找到。

1. 介绍

有时候你会把它搁置一年,你知道吗?我今年没有做很多研究。花了很多时间在推特上。稍微研究了一下GANs。我有一点去年留下的动力[12][1];我设法对YOLO做了一些改进。但是,老实说,没有什么超级有趣的,只是一些小的改变,让它变得更好。我还帮了别人一点研究的忙。

事实上,这就是我们今天来这里的原因。我们有一个可以拍照的最后期限,我们需要引用一些随机更新,我对YOLO,但我们没有来源。所以准备好一份技术报告吧!

科技报道最棒的一点就是它们不需要介绍,你们都知道我们为什么在这里。因此,本介绍的结尾将为本文的其余部分指明方向。首先我们会告诉你YOLOv3的交易。然后告诉你我们是怎么做的。我们还会告诉你一些我们尝试过但没有成功的事情。最后,我们将思考这一切意味着什么。

2. 方法

所以YOLOv3的做法是:我们主要是从其他人那里获得好的想法。我们还训练了一个新的分类器网络,它比其他分类器更好。我们会从头开始讲解整个系统,这样你就能理解它了。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

图1所示.我们从Focal Loss论文[9]中改编了这个数字。YOLOv3的运行速度明显快于其他具有同等性能的检测方法。M40或Titan X,它们基本上是相同的GPU。

2.1边界框的预测

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

bx = σ(tx) + cx

by = σ(ty) + cy

bw = pwetw

bh = pheth

在训练中,我们使用误差平方和损失。如果坐标预测的地面真实值是tˆ*,我们的梯度是地面真实值(从地面真实值框中计算出来)减去我们的预测值:tˆ*-t*。这个地面真值可以很容易地通过上述方程的求逆来计算。

YOLOv3使用逻辑回归预测每个边界框的对象性得分。如果之前的边界框与地面真值对象的重叠大于之前的任何其他边界框,则该值应为1。如果先验的边界框不是最好的但确实与地面真值对象重叠超过某些阈值,我们忽略预测,跟随[17]。我们用.5作为阈值。与[17]不同,我们的系统只为每个地面真实对象分配一个边界框。如果一个边界框之前没有分配给地面真实对象,它不会导致坐标或类预测的损失,只是对象性。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

图2.具有尺寸先验和位置预测的包围盒。我们预测框的宽度和高度作为与星团中心的偏移量。我们使用sigmoid函数预测相对于滤波器应用的位置的盒子的中心坐标。这个数字公然来自文献[15]。

2.2.类的预测

使用多标签分类,每个框预测边界框可能包含的类。我们没有使用softmax,因为我们发现它对良好的性能是没有必要的,而是简单地使用独立的逻辑分类器。在训练过程中,我们使用二元交叉熵损失进行类预测。

当我们移动到更复杂的领域,如开放图像数据集[7]时,这种公式很有帮助。在这个数据集中有许多重叠的标签(如女人和人)。使用softmax会假定每个盒子只有一个类,但通常情况并非如此。多标签方法可以更好地为数据建模。

23. 跨尺度预测

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

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

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

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

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

24.特征提取器

我们使用一个新的网络来进行特征提取。我们的新网络是YOLOv2中使用的网络、Darknet-19和新发明的残差网络的混合方法。我们的网络使用了连续的3 × 3和1 × 1卷积层,但现在也有一些残差连接,而且明显更大。它有53个卷积层,所以我们叫它....等待……Darknet-53 !

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

表1.Darknet-53

这个新网络比Darknet强大得多但仍然比ResNet-101或ResNet-152更有效。下面是一些ImageNet的结果: watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

表2.比较的主要指标。精度,数十亿次操作,每秒数十亿次浮点操作,各种网络的FPS

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

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

25 训练

我们仍然训练完整的图像,没有硬负面挖掘或任何类似的内容。我们使用多尺度训练,大量的数据增强,批量标准化,所有的标准内容。我们使用Darknet神经网络框架对[14]进行训练和测试。

3.我们如何去做

YOLOv3非常好!见表3。在COCOs方面,它的平均AP指标与SSD版本相当,但比SSD快3倍。不过,在这个指标上,它仍然远远落后于其他模型,比如RetinaNet。

然而,当我们着眼于IOU= .5(或图表中的AP50)时的“旧”mAP检测度量时,YOLOv3非常强大。它几乎与RetinaNet持平,远高于SSD版本。这表明YOLOv3是一种非常强大的探测器,擅长为物体制作像样的识别框。然而,随着IOU阈值的增加,性能会显著下降,这表明YOLOv3很难让识别框与目标完美地对齐。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

表3.我真的是从[9]搬来的这些表格他们从零开始做的时间太长了。好的,YOLOv3做得很好。记住,RetinaNet处理图像的长度大约是3.8倍。YOLOv3比SSD版本要好得多,在AP50指标上可与最先进的模型相媲美。

过去,YOLO一直在为小物件而挣扎。然而,现在我们看到了这一趋势的逆转。在新的多尺度预测中,我们看到YOLOv3相对较高APS的性能。然而,在中等和较大的目标上,它的性能相对较差。需要进行更多的调查才能弄清真相。

当我们在AP50上绘制精度与速度的关系时(见图3),我们可以看到YOLOv3比其他探测系统有显著的优势。也就是说,它更快更好。

4. 我们尝试过但没有成功的事情

我们在制作的过程中尝试了很多东西YOLOv3。很多都没有成功。下面是我们可以记住的东西。

识别框x, y偏移预测。我们尝试使用普通的识别框预测机制,即使用线性激活将x、y偏移量预测为识别框宽或高度的倍数。我们发现这种方法降低了模型的稳定性,并没有很好地工作。

线性的x, y预测而不是逻辑推理。我们尝试使用线性激活来直接预测x, y偏移量,而不是逻辑激活。这导致了mAP的几个点下降。

焦点损失。我们尝试了焦点损失。它让我们的mAP下降了2个点。YOLOv3可能已经能够很好地解决焦点损耗问题,因为它具有独立的目标预测和条件类预测。因此对于大多数例子来说,类别预测并没有什么损失?还是什么?我们不完全确定。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

图3.再次改编自[9],这一次显示的速度/精度权衡在mAP的0.5 IOU metric。你可以看出YOLOv3很好,因为它非常高,离左边很远。你能引用自己的论文吗?猜猜谁来试试,这个→[16]。哦,我忘了,我们还修复了YOLOv2中的一个数据加载错误,这需要2mAP的帮助。我偷偷把这个放进来,以免打乱布局。

双重IOU阈值和真实值分配。FAST-RCNN在训练中使用两个IOU阈值。如果一个预测与地面事实超过0.7倍,则作为一个正例,[.3-.7]它被忽略,小于.3对于所有地面真实对象,它是一个反例。我们试过类似的策略,但效果不好。

我们相当喜欢我们目前的计算方法,它似乎至少是在一个局部优化。这些技术中的一些可能最终会产生好的结果,也许他们只是需要一些调整来稳定训练。

5. 这一切意味着什么

YOLOv3是一个很好的检测器。它快速,准确。COCO平均AP在.5到.95之间没有那么好IOU指标。但它在旧的0.5IOU的检测标准上很好。

为什么我们要转换度量?最初的COCO论文中只有这句话:“一旦评估服务器完成,将添加一个完整的评估指标讨论”。Russakovsky等人报告称,人类很难区分0.3和0.5 IOU!“训练人类用视觉识别框0.3的IOU和0.5 IOU是很难区分的。[18]如果人类分辨不出它们的区别,那又有多大关系呢?

但也许一个更好的问题是:“我们现在有了这些探测器,我们要用它们做什么?”做这项研究的很多人都在谷歌和Facebook。我想,至少我们知道这项技术掌握得很好,而且肯定不会被用来获取你的个人信息,然后卖给....等等,你是说这就是它的用途??哦。

嗯,其他大量资助视觉研究的人是军队,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人,哦,等等....

我对大多数使用计算机视觉的人抱有很大的希望,他们只是在用它做一些快乐的、有意义的事情,比如在国家公园里数斑马的数量,或者在他们的猫在房子里闲逛的时候跟踪它们。但是,计算机视觉已经被用于可疑的用途,作为研究人员,我们至少有责任考虑我们的工作可能造成的危害,并想办法减轻它。我们欠这个世界太多了。

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

图4.零轴图表可能更真实……我们仍然可以通过改变变量来让自己看起来更好!

Rebuttal-反驳

我们要感谢Reddit的评论者、实验伙伴、电子邮件,以及在走廊里传递的呼喊,感谢他们可爱的、衷心的话语。如果你像我一样,正在评估ICCV然后我们知道你可能有37个其他文件你可以阅读,你会总是推迟到最后一周,然后有一些传说的邮件你你真的应该如何完成这些评论除它不会外完全清楚他们所说的,也许他们的未来? 无论如何,如果没有你们过去所做的努力,这篇论文就不会变成现在的样子,只是稍微向前推进了一点,而不是一直向前。如果你发推特,我就不知道了。

评论者#2 AKA Dan Grossman坚持认为我在这里指出我们的图表不是一个而是两个非零起源。你说得很对,丹,因为这比承认我们只是在这里为2% -3%的IOU而战要好得多。但这里是所请求的图表。我也添加了一个FPS,因为当我们在FPS上绘图时,我们看起来非常棒。

评论者#4 AKA JudasAdventus在Reddit上写道:“读起来很有趣,但是反对MSCOCO指标的论点似乎有点薄弱。”我就知道背叛我的人是你。你知道当你在做一个项目,结果是好的,所以你必须找出一些方法来证明你所做的实际上是很酷的?我基本上是在尝试这样做,我抨击了COCO的度量标准。但既然我已经把守了这座山,我宁愿死在山上。

事情是这样的,mAP已经坏了,所以对它的更新可能会解决一些问题或者至少说明为什么更新的版本更好。这是我所反对的一件大事,那就是缺乏正当理由。为PASCAL VOC, IOU阈值“故意设置得很低,以解释地面真实数据中包围框的不准确性”[2]。COCO是否比VOC有更好的标签?这是绝对可能的,因为COCO有分离掩膜,也许标签更值得信任,因此我们不担心不准确。但同样,我的问题是缺乏理由。

COCO度量强调更好的包围框,但这种强调必须意味着它不强调其他东西,在本例中是分类精度。是否有充分的理由认为更精确的边界框比更好的分类更重要?一个分类错误的例子比一个稍微移动的边界框要明显得多。

mAP已经搞砸了,因为所有重要的是每个类的排名顺序。例如,如果你的测试集只有这两个图像,那么根据mAP的两个检测器产生这些结果是一样好的:

这地图的问题显然是过于夸张,但我想我的新retconned点是人们之间的这种明显的差异在“现实世界”的关心和我们目前的指标,我认为如果我们要想出新的指标我们应该关注这些差异。同样,就像,它已经是平均精度,我们甚至叫COCO度量,平均平均精度?

这里有一个提议,人们真正关心的是给定一张图像和一个检测器,检测器能在多大程度上发现和分类图像中的物体。如果去掉每个等级的AP,只做一个整体平均精度呢?或者对每幅图像进行AP计算并求平均值?

盒子不管怎样都很愚蠢,我可能是mask的忠实信徒,只是我不能让YOLO学会它们。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZW_5rKZ5pyJ6IKl6bG8,size_20,color_FFFFFF,t_70,g_se,x_16

图5.根据mAP对这两幅图像的分析,这两个假想的探测器是完美的。他们都很完美。完全平等的。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙有肥鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值