英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
YOLOv3: 进一步地提升
Joseph Redmon Ali Farhadi
University of Washington
摘 要
我们向 YOLO提供一些更新! 我们进行了一些小的设计更改,以使其更好。我们还训练了这个非常膨胀的新网络。它比上次有点大,但检测更准确。它仍然很快,不用担心。在 320 times; 320 , YOLOv3 以 22.2 毫秒的速度达到了28.2mAP 的精度,与 SSD一样准确,但速度提高了三倍。当我们查看旧的 .5 IOU mAP 检测指标时 YOLOv3 也非常好。 它在 Titan X 上在 51 毫秒内达到了 57.9 的AP50,相比于 RetinaNet 在 198 毫秒内达到了 57.5 的AP50,性能相似,但速度提高了 3.8。 与往常一样,所有代码都在https://pjreddie.com/yolo/ 。
1. 介绍
你知道,有时你只需要玩一年手机。我今年没有做过很多研究。在 Twitter 上花了很多时间。和 GAN 一起玩了一下。去年我留下了一点动力[12] [1];我设法对 YOLO 做了一些改进。但是,说实话,没有什么能更令人提起兴趣的了, 只是一堆小改变让它变得更好。我也帮助了其他人的研究。
实际上,这就是我们今天来到这里的原因。我们有一个“相机就绪”截止日期[4],我们需要引用一些我对 YOLO 进行的随机更新,但我们没有资源。所以准备好进行技术报告!
技术报告的好处是他们不需要介绍,你们都知道我们来 这儿的理由。因此,此次介绍的结束将为本文的其余部分提供指示。首先,我们将告诉您与 YOLOv3 的协定。然后我们会告诉您我们是怎么做的。我们还会告诉你一些我们尝试 过但不起作用的事情。最后,我们将考虑这一切意味着什么。
2. 协定
所以这是与 YOLOv3 的协定:我们主要是从其他人那里获得了很好的想法。 我们还训练了一个比其他分类器网络更好的新分类器网络。 我们将从头开始带您浏览整个系统, 以便您可以全面了解它。
推理时间 (ms)
图 1。我们从 Focal Loss 论文[9]中调整了这个数字。YOLOv3 的运行速度明显快于其他具有可比性能的检测方法。来自 M40 或Titan X 的时间,它们基本上是相同的 GPU。
2.1. 边界框预测
在 YOLO9000 之后,我们的系统使用维度聚类作为锚框来预测边界框[15]。 网络预测每个边界框的 4 个坐标,tx,ty,tw,th,如果单元格从图像的左上角偏移(cx ,cy) 并且前面的边界框具有宽度和高度pw ,ph,则预测对应于:
在训练期间,我们使用平方误差损失的总和。 如果某些坐标预测的基本事实是,我们的梯度是真实标签值(从真实标签框计算)减去我们的预测:。 通过反转上面的等式可以容易地计算该真实值。
YOLOv3 使用逻辑回归预测每个边界框的对象得分。 如果边界框先前与真实对象重叠超过任何其他边界框,则该值应为 1。 如果前面的边界框
图 2.
具有尺寸先验和位置预测的边界框。 我们预测盒子的宽度和高度作为聚类质心的偏移量。 我们使用 sigmoid 函数预测盒子相对于过滤器应用程序位置的中心坐标。 这个数字显然是自我抄袭的[15]。
不是最好但是与真实对象重叠超过某个阈值,我们会忽略预测,如[17]。 我们使用阈值 .5。与[17]不同,我们的系统只为每个真实对象分配一个边界框。 如果先前的边界框未分配给真实对象,则它不会导致坐标或类预测的损失,只会导致对象损失。
2.2. 类预测
每个框使用多标记分类预测边界框可能包含的类。我们不使用 softmax,因为我们发现它不需要良好的性能,而只是使用独立的逻辑分类器。在训练期间,我们使用二元交叉熵损失进行类预测。
当我们转向更复杂的领域(如 Open Images Dataset [7]) 时,这个公式会有所帮助。在此数据集中有许多重叠标签(即女人和人)。使用 softmax 假设每个盒子只有一个类,而通常不是这种情况。多标签方法可以更好地模拟数据。
2.3. 跨尺度的预测
YOLOv3 预测 3 种不同尺度的方框。我们的系统使用与金字塔网络相似的概念从这些尺度中提取特征[8]。从我们的基本特征提取器中,我们添加了几个卷积层。最后一个预测了 3-d 张量编码边界框,对象和类预测。在我们使用 COCO [10]的实验中,我们预测每个尺度有 3 个框,因此对于 4 个边界框偏移,1 个对象预测和 80 个类预测,张量为 。
接下来,我们从前面的 2 个图层中获取特征图,然后将其上采样至 2 倍。我们还从网络中较早的位置获取了一个特征图,并使用连接将其与我们的上采样功能合并。这种方法允许我们从上采样特征中获取更有意义的语义信息,并从先前的特征图中获得更细粒度的信息。然后我们再添加一些卷积层来处理这个组合特征图,并最终预测出类似的张量,尽管现在是两倍大小。
我们再次执行相同的设计来预测最终尺度的方框。因此,我们对第 3 级尺度的预测受益于所有先前的计算以及网络早期的细粒度特征。
我们仍然使用 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. 特征提取器
我们使用新网络执行特征提取。我们的新网络 YOLOv2,Darknet-19 和那个新奇的残差网络之间的混合网络。我们的网络使用连续的 3 times; 3 和 1times; 1 卷积层,但现在也有一些快捷连接,并且明显变得更大。它有 53 个卷积层,所以我 们称之为....噔噔噔Darknet-53!
表 1. Darknet-53.
这个新网络比 Darknet-19 强大得多,但仍然比ResNet-101 或 ResNet-152 更 有效。以下是一些ImageNet 结果:
表 2.骨干(backbones)的比较。 准确性,数十亿次操作,每秒十亿次浮点运算,以及各种网络的FPS。
每个网络都使用相同的集合进行训练,并以 256 times; 256单一裁剪精度进行测试。运行时间在 Titan X 上按 256 times;256 测量。因此,Darknet-53 的性能与最先进的分类器相当,但浮点运算更少,速度更快。 Darknet-53 优于ResNet-101,速度提高 1.5 倍。Darknet-53 与 ResNet- 152 具有相似的性能,速度提高 2 倍。
Darknet-53 还实现了每秒最高的测量浮点运算。这意味着网络结构可以更好地利用 GPU,从而提高计算效率,从而提高速度。这主要是因为 ResNets 的层数太多而且效率不高。
2.5. 训练
我们仍然训练完整的图像,没有困难负例挖掘或任何这些东西。我们使用多尺度训练,大量数据扩充,批量归一化,所有标准的东西。我们使用 Darknet 神经网络框架进行训练和测试[14]。
3. 我们如何做
YOLOv3 非常棒!参见表 3。就 COCO 而言,奇怪的平均 mAP 指标与 SSD 变体相当,但速度提高了 3 倍。尽管它仍然有点落后于其他
的像 RetinaNet 这样的模型,在这个指标中。
表 3。我真的只是从[9]中偷走了所有这些表,他们从头开始做太长时间。好的,YOLOv3 做得还不错。请记住,RetinaNet 处理图像要多用3.8 倍的时间。 YOLOv3 比 SSD 变体要好得多,与AP50指标上最先进的模型相当。
但是,当我们在 IOU = .5(或图表中的 AP50)中查看mAP 的“旧”检测度量时,YOLOv3 非常强大。它几乎与RetinaNet 相当,远远超过 SSD 变体。这表明 YOLOv3 是一种非常强大的探测器,擅长为物体生产合适的边界框。然而,随着 IOU 阈值的增加,性能显著下降,表明 YOLOv3 努力使框与物体完美对齐。
在过去,YOLO 与小物件斗争。但是,现在我们看到了这种趋势的逆转。通过新的多尺度预测,我们看到 YOLOv3 具有相对较高的 AP50 性能。但是,它在中型和大型物体上的性能相对较差。需要更多的研究来解决这个问题。
当我们在AP50 指标上绘制准确度与速度的关系时(见图5),我们看到 YOLOv3 比其他检测系统具有显著的优势。也就是说,它更快更好。
4. 我们尝试过的但不起作用的事情
我们在 YOLOv3 上工作时尝试了很多东西。很多都行不通。下面是我们能记住的东西。
边界框 x,y 偏移预测。我们尝试使用普通的锚框预测机制,即使用线性激活偏移为框宽度或高度的倍数来预测 x, y。我们发现这种方法降低了模型的稳定性并且效果不佳。
线性 x,y 预测而不是逻辑激活。我们尝试使用线性激活来直接预测 x,y 偏移而不是逻辑激活。这导致了 mAP 的几个点下降。
焦点损失。我们尝试使用焦点丢失。它将我们的 mAP 降低了大约 2 个点。 YOLOv3 可能已经对焦点损失试图解决的问题具有鲁棒性,因为它具有独立的对象预测和条件类预测。因此,对于大多数例子,类预测没有损失?或者其他的东西?我们并不完全确定。
图 3。再次从[9]改编,这次显示 mAP 的速度/准确度权衡,为 .5 IOU 指标。 你可以说 YOLOv3 是好的,因为它非常高并且远在左边。 你能引用自己的论文吗? 猜猜谁会去尝试,这家伙 → [16]。 哦,我忘记了,我们还修复了 YOLOv2 中的数据加载错误,这提升了大约 2 点mAP。 只是这里偷偷摸摸一点不要甩掉原有布局。
双 IOU 阈值和真值分配。Faster R-CNN 在训练期间使用两个 IOU 阈值。如果一个预测与真实值重叠达到 .7 它是一个正面的例子,而处于[.3,.7]则会被忽略,小于 .3 对于所有真实物体就成为了一个反面的例子。我们尝试了类似的策略,但无法取得好成绩。
我们非常喜欢我们目前的方法,它似乎至少是当前的最佳状态。有可能这些技术中的一些最终会产生良好的结果,也许他们只需要一些调整来稳定训练。
5. 这一切意味着什么
YOLOv3 是一个很好的探测器。它很快,很准确。它在COCO 的 mAP 处于.5 和 .95 IOU 指标之间上的表现不太好。但它对 .5 IOU 的旧检测指标非常好。
为什么我们还要切换指标?最初的 COCO 论文只有这句神秘的句子:“评估服务器完成后,将添加评估指标的完整讨论”。 Russakovsky 等人报告说,人类很难将.3 的 IOU 与.5 区分开来! “训练人类用 IOU 为 0.3 目视检查边界框并将其与 IOU 0.5 区别开来是超乎寻常的困难。“[18] 如果人类很难说出差异,那有多重要?
但也许一个更好的问题是:“现在我们拥有它们,我们将如何处理这些探测器?”很多从事这项研究的人都在谷歌和 Facebook 上。我想至少我们知道技术掌握得很好,绝对不会用来收集你的个人信息并把它卖给hellip;等等,你说这正是它将用于什么??哦。
那么大量资助视觉研究的人是军队,他们从来没有做过任何可怕的事情,就像用新技术杀死很多人一样哦等等hellip;。
我非常希望大多数使用计算机视觉的人只是用它来做快乐,好的事情,比如计算一个国家公园里的斑马数量[13],或跟踪他们的猫在它们周围徘徊[19]。但是计算机视觉已经被用于质疑,作为研究人员,我们有责任至少考虑我们的工作可能造成的伤害并考虑如何减轻它。我们欠世界的那么多。
最后,不要@我。 (因为我最终退出 Twitter)。
参考文献
[1] Analogy. Wikipedia, Mar 2018. 1
[2] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and
A. Zisserman. The pascal visual object classes (voc) chal-lenge. International journal of computer vision, 88(2):303– 338, 2010. 6
[3] C.-Y. Fu, W. Liu, A. Ranga, A. Tyagi, and A. C. Berg. Dssd: Deconvolutional single shot detector. arXiv preprint arXiv:1701.06659, 2017. 3
[4] D. Gordon, A. Kembhavi, M. Rastegari, J. Red
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[239196],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。