YOLOv3: An Incremental Improvement

YOLOv3更新了YOLO目标检测系统,通过小设计更改和新网络Darknet-53,实现了更快更准确的目标检测。在320×320分辨率下,YOLOv3以22毫秒的速度运行,与SSD同样准确但速度提高3倍。在COCO数据集上,其在51毫秒内达到了57.9AP50,与RetinaNet性能相似但速度提高了3.8倍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Abstract

  • 我们向YOLO提供一些更新。我们做了一些小的设计更改,以使其更好。我们还训练了这个非常膨胀的新网络。 它比上次有点大,但更准确。它仍然很快,不用担心。 在320×320时,YOLOv3以22.2毫秒的速度运行22毫秒,与SSD一样准确,但速度提高了三倍。当我们查看旧的.5 IOU mAP检测指标YOLOv3非常好。它在Titan X上在51毫秒内达到了57.9 AP50,相比之下,RetinaNet在198毫秒内达到57.5 AP50,性能相似,但速度提高了3.8倍。

Introduction

  • 你知道,有时你只需要打电话一年。 我今年没有做过很多研究。 在Twitter上花了很多时间。 和GAN一起玩了一下。 去年我留下了一点动力[12] [1]; 我设法对YOLO做了一些改进。 但是,老实说,没有什么比超级有趣了,只是一堆小改变让它变得更好。 我也帮助了其他人的研究。
  • 实际上,这就是我们今天来到这里的原因。 我们有一个相机就绪截止日期[4],我们需要引用一些我对YOLO进行的随机更新,但我们没有来源。 所以准备好进行技术报告!
  • 技术报告的好处是他们不需要介绍,你们都知道我们为什么会在这里。 因此,本文的其余部分将发布此简介的结尾。 首先,我们将告诉您与YOLOv3的交易。 然后我们会告诉你我们是怎么做的。 我们还会告诉你一些我们尝试过但不起作用的事情。 最后,我们将考虑这一切意味着什么。

The Deal

  • 所以这是与YOLOv3的交易:我们主要是从其他人那里获得了很好的想法。 我们还培训了一个比其他网络更好的新分类网络。 我们将从头开始带您浏览整个系统,以便您可以全面了解它。
  • 在YOLO9000之后,我们的系统使用维度聚类作为锚框来预测边界框[15]。 网络预测每个边界框的4个坐标,。 如果单元格偏离图像的左上角并且前面的边界框具有宽度和高度,则预测对应于:
  • 在训练期间,我们使用平方误差损失的总和。 如果某些坐标预测的基本事实是,则我们的梯度是地面实况值(从地面实况框计算)减去我们的预测:。 通过反转上面的等式可以容易地计算该地面实况值。YOLOv3使用逻辑回归预测每个边界框的对象ness得分。 如果边界框先前与地面实况对象重叠的次数超过任何其他边界框,那么这应该是1,这不是最好的,而是在地面真实对象与预测之后超过某个阈值重叠[17]。 我们使用.5的阈值。 与[17]不同,我们的系统只为每个地面实况对象分配一个边界框。 如果先前的边界框未分配给地面实况对象,则它不会导致坐标或类预测的损失,只会导致对象性。
  • 每个框使用多标签分类预测边界框可能包含的类。 我们不使用softmax,因为我们发现它不需要良好的性能,而只是使用独立的逻辑分类器。 在训练期间,我们使用二元交叉熵损失进行类预测。当我们转向更复杂的领域(如Open Images Dataset [7])时,这个公式会有所帮助。 在此数据集中有许多重叠标签(即女人和人)。 使用softmax假设每个盒子只有一个类,而通常不是这种情况。 多标签方法可以更好地模拟数据。
  • YOLOv3预测3种不同尺度的盒子。 我们的系统使用与金字塔网络相似的概念从这些尺度中提取特征[8]。 从我们的基本特征提取器中,我们添加了几个卷积层。 最后一个预测了3-d张量编码边界框,对象和类预测。 在我们使用COCO [10]的实验中,我们预测每个尺度有3个框,因此对于4个边界框偏移,1个对象性预测和80个类预测,张量为N×N×[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)。
  • 我们使用新网络执行特征提取。 我们的新网络是YOLOv2中使用的网络,Darknet-19和新奇网络之间的混合方法。 我们的网络使用连续的3×3和1×1卷积层,但现在也有一些快捷连接,并且明显更大。 它有53个卷积层,所以我们称之为等待它Darknet-53!
  • 每个网络都使用相同的设置进行训练,并以256×256,单一裁剪精度进行测试。 运行时间在Titan X上以256×256测量。 因此,Darknet-53的性能与最先进的分类器相当,但浮点运算更少,速度更快。 Darknet-53比ResNet-101和1.5倍更快。 Darknet-53具有与ResNet-152类似的性能,速度提高了2倍。Darknet-53还实现了每秒最高的测量浮点运算。 这意味着网络结构更好地利用GPU,使其更有效地进行评估,从而更快。 这主要是因为ResNets的层数太多而且效率不高。
  • 我们仍然训练完整的图像,没有硬负面采矿或任何这些东西。 我们使用多规模培训,大量数据扩充,批量标准化,所有标准的东西。 我们使用Darknet神经网络框架进行训练和测试[14]。

How We Do

  • YOLOv3非常棒! 参见表3.就COCO而言,奇怪的平均AP指标与SSD变体相当,但速度快3倍。 尽管如此,它仍远远落后于RetinaNet等其他模型。但是,当我们在IOU = .5(或图表中的AP50)中查看mAP的“旧”检测度量时,YOLOv3非常强大。 它几乎与RetinaNet相当,远远超过SSD变体。 这表明YOLOv3是一种非常强大的探测器,擅长为物体生产合适的盒子。 然而,随着IOU阈值的增加,性能显着下降,表明YOLOv3努力让盒子与物体完美对齐。在过去,YOLO与小物件斗争。 但是,现在我们看到了这种趋势的逆转。 通过新的多尺度预测,我们看到YOLOv3具有相对较高的APS性能。 但是,它在中型和大型物体上的性能相对较差。 需要更多的调查才能深究这一点。

Things We Tried That Didnot Work

  • 锚框x,y偏移预测。 我们尝试使用常规锚框预测机制,您可以使用线性激活将x,y偏移预测为框宽度或高度的倍数。 我们发现这种配方降低了模型的稳定性并且效果不佳。
  • 线性x,y预测而不是逻辑。 我们尝试使用线性激活来直接预测x,y偏移而不是逻辑激活。 这导致了mAP的几个点下降。我们尝试使用焦点丢失。 它将我们的mAP降低了大约2个点。 YOLOv3可能已经对焦点损失试图解决的问题具有鲁棒性,因为它具有单独的对象预测和条件类预测。
  • 更快的RCNN在训练期间使用两个IOU阈值。 如果一个预测与地面实况重叠了.7它是一个正例,通过[.3-.7]它被忽略,小于.3对于所有地面实况对象它是一个反面的例子。 我们尝试了类似的策略,但无法取得好成绩。我们非常喜欢我们目前的配方,它似乎至少在当地的最佳状态。 这些技术中的一些可能最终会产生良好的结果,也许他们只需要一些调整来稳定训练。

What This All Means

  • YOLOv3是一个很好的探测器。 它很快,很准确。 它在COCO平均AP之间的差异不大于.5和.95 IOU指标。 但它对.5 IOU的旧检测指标非常好。为什么我们还要切换指标? 最初的COCO论文只有这句神秘的句子:“评估服务器完成后,将对评估指标进行全面讨论”。 Russakovsky等报道,人类很难将.3的IOU与.5区分开来! “训练人类用IOU为0.3视觉检查边界框并将其与IOU 0.5区别开来是令人惊讶的困难。 如果人类很难说出差异,重要的是多少?
  • 我非常希望大多数使用计算机视觉的人只是在做一些快乐,好的东西,比如计算一个国家公园里的斑马数量[13],或跟踪他们在家里徘徊的猫[19]。]。 但是计算机视觉已经被用于质疑,作为研究人员,我们有责任至少考虑我们的工作可能造成的伤害并考虑减轻它的方法。 我们欠世界的那么多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值