YOLOv3:增量改进

摘要

我们向YOLO提供一些更新! 我们更改了一些设计,以使其更好。我们还训练了这个非常膨胀的新网络。它比比以前的版本大,但更准确。当然,它仍然很快。在320×320的图像上, YOLOv3以22毫秒的速度运行,mAP达到了28.2。与SSD一样准确,但速度提高了三倍。当我们使用旧的0.5 IOU mAP的检测指标度量YOLOv3,发现它效果非常好。它在Titan X上在51毫秒内达到57.9 AP50,相比之下,RetinaNet在198毫秒内达到57.5 AP50,性能相似,但速度提高了2.8倍。所有代码都在https://pjreddie.com/yolo/。

1.介绍

有时你打电话就要花费一年,你知道吗? 今年我没有做过很多研究。花了很多时间在Twitter上。尝试和GAN玩了一下。去年我留下了一点动力[12] [1]; 我设法对YOLO做了一些改进。但是,说实话,没有什么超级有趣的,只是一堆小改变让它变得更好。我也帮助了其他人的研究。

这就是我们在此的原因。我们有一个准备交稿的截止日期[4],我们需要引用我对YOLO进行的一些随机更新,但我们没有来源。所以准备好做一个技术报告!

技术报告的好处是他们不需要介绍,大家都知道我们为什么会在这里。因此,此次介绍的结束将指引本文的其余部分。首先,我们将告诉您如何处理YOLOv3的。然后告诉你我们是怎么做的。我们还会告诉你一些我们尝试过但不起作用的事情。最后,我们将考虑这一切意味着什么。

2.处理

这里是对YOLOv3的处理:我们大多从其他人那里获得了很好的想法。我们还训练了一个比其他分类器更好的新分类器网络。我们将从头开始带您浏览整个系统,以便您了解所有内容。

图1.我们从Focal Loss论文[9]中调整了这个数字。YOLOv3的运行速度明显快于其他具有可比相似性能的检测方法。时间来自M40或Titan X的,它们基本上是相同的GPU。

2.1 边界框预测

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

测试时使用平方误差损失之和。如果真实值对于坐标预测值是 ,梯度是(使用真实边界框计算的)真实值减去预测值: 。通过反转上面的等式可以容易地计算真实边界值。

YOLOv3使用逻辑回归预测每个边界框的对象得分。如果先前的边界框与真实边界框对象重叠超过任何其他先前的边界框,则此值应为1。如果先前的边界框不是最好的,但是和真实边界对象的重叠程度超过了某些阈值,则忽略掉预测值,按照[17]中的方法进行。把阈值设置为0.5。我们的系统和[17]不同,系统给每个真实边界框对象只分配一个先前的边界框。如果先前的边界框没有被指定给真实边界对象,它就不会对坐标和类别预测造成损失,只会影响对象性。

2.2类别预测

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

当我们转向更复杂领域时这个公式很有帮助。例如Open Images Dataset [7]比较复杂,在此数据集中存在重复的标签(如,女人和人类)。

使用softmax时,加上每个边界框只有一个类别的假设,但通常不是这种情况。多标签方法可以更好地模拟数据。

图2.具有尺寸先验和位置预测的边界框。我们预测框的宽度和高度作为聚类质心的偏移量。我们使用sigmoid函数预测框相对于过滤器应用程序位置的中心坐标。这个数字明显来自[15]。

2.3跨尺度预测

YOLOv3从三个尺度预测边界框。系统从使用类似的概念来构建金字塔网络[8]的尺度中提取出特征。加入多层卷积层到基本特征提取器中。最后的卷积层预测了一个三维张量,包括边界框,对象和类预测。在COCO数据集[10]的试验中,每个尺度预测3个边界框,所以每个尺度中对于4个边界框偏置;1个对象预测;80个类别预测,张量的维度为N×N×[3×(4+1+80)]。

然后对前两层得到的特征图按照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)。

2.4特征提取器

我们使用了新的网络用于实现特征提取器。新的网络是YOLOv2中网络、Darknet-19和深度残差网络的结合体。该网络使用连续的3×3和1×1的卷积层,同时也使用了短路链接,因此网络的体量也显著增大了。它有53个卷积层,所以我们称之为Darknet-53。

Darknet-53比Darknet-19更强大,也比ResNet-101或ResNet-152更有效。以下是ImageNet数据集的训练结果。

骨干

Top-1

Top-5

Bn Ops

BFLOP/s

FPS

Darknet-19[15]

74.1

91.8

7.29

1246

171

ResNet-101[2]

77.1

93.7

19.7

1039

53

ResNet-152[5]

77.6

93.8

29.4

1090

37

Darknet-53

77.2

93.8

19.7

1457

78

表2.骨干比较.准确率,每秒百万操作数,每秒百万浮点数操作数和不同网络的FPS。

每个网络都使用相同的设置进行训练,并以256×256,单一裁剪精度进行测试。运行时间在Titan X上以256×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的变体相当,但速度提高了三倍。尽管如此,它仍然比RetinaNet这种模型落后很多。

但是当我们看到旧的检测器标准,即在IOU=0.5时的mAP时(或者表格中的AP50),YOLOv3效果都很好。它几乎和RetinaNet相当,远比SSD变体效果要好。这表明YOLOv3是一种非常强大的检测器,它擅长为物体生成合适的边界框。但是当IOU阈值变大时,性能就显著下降了。这表明YOLOv3勉强使边界框与物体完美对齐。

以前,YOLO难以检测小目标。但是,现在我们看到了这种趋势的逆转。通过新的多尺度预测,我们看到YOLOv3具有相对较高的APS性能。但是,它在中型和大型物体上的性能相对较差。需要更多的调查来探究这一点。

当我们在AP50指标上绘制准确度与速度的关系时,我们看到YOLOv3比其他检测系统具有显着的优势。也就是说,YOLv3更快更好。

4.未竟之事

我们在YOLOv3上工作时尝试了很多东西。很多都行不通。这是我们能记住的东西。

       锚框xy偏移预测。我们尝试使用常规锚框预测机制,你可以使用线性激活将x,y偏移预测为边界框宽度或高度的倍数。我们发现这种方法降低了模型的稳定性并且效果不佳。

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

焦点损失。我们尝试使用焦点丢失。它导致mAP降低了大约2个点。YOLOv3可能已经对焦点损失试图解决的问题具有鲁棒性,因为它具有单独的对象预测和条件类预测。因此,对于大多数例子,类预测没有损失?或者其他的东西?我们并不完全确定。

IOU阈值和真值分配。Faster R-CNN在训练期间使用两个IOU阈值。如果一个预测与真实值的IOU大于0.7,则作为一个正例。IOU在0.3到0.7,则被忽略。对于所有真实值的IOU小于0.3的预测作为反例。我们尝试了类似的策略,但无法取得好成绩。

我们非常喜欢我们目前的配置,它似乎至少在最佳状态。其中一些技巧有可能最终产生良好的结果,也许他们只需要一些调整来稳定训练。

表3.我真的只是从[9]中窃取了所有这些表,他们需要花很长时间才能从头开始。好吧,YOLOv3做得还不错。请记住,RetinaNet处理图像的时间要长3.8倍。YOLOv3比SSD变体要好得多,与AP50指标上最先进的型号相当。

图3.再次从[9]改编,这次显示在0.5 IOU度量上mAP的速度/准确度的折衷。你可以说YOLOv3是好的,因为它非常高并且远在左边。你能引用自己的论文吗? 猜猜谁会去尝试,这家伙->[16]。我们还修复了YOLOv2中的数据加载错误,这提高了mAP两个点。只是偷偷摸摸这里不要甩掉布局。

5.这一切意味着什么

YOLOv3是一个很好的探测器。它很快,很准确。它在COCO以0.5和0.95 IOU指标为度量的mAP表现并不好。但它对0.5 IOU的旧检测指标非常好。

为什么我们还要切换指标? 最初的COCO论文只有这句神秘的句子:“评估服务器完成后,将对评估指标进行全面讨论”。Russakovsky等报道,人类很难将0.3的IOU与0.5区分开来!“训练人类用IOU为0.3目视检查边界框并将其与IOU 0.5区分开来是非常困难的[18]。如果人类很难说出差异,那有什么作用?

但也许一个更好的问题是:“现在我们拥有它们,我们将如何处理这些探测器?”很多从事这项研究的人都在Google和Facebook上。我想至少我们知道技术掌握得很好,绝对不会用来收集你的个人信息并把它卖给....等等,你说这正是它将用于什么?

那么大量资助视力研究的人就是军队,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人等等(作者由海军研究办公室和谷歌办公室资助)。

我非常希望大多数使用计算机视觉的人只是在做一些快乐,好的东西,比如计算一个国家公园里的斑马数量[13],或跟踪他们的猫在它们周围徘徊[19]。但计算机视觉已经被用于质疑,作为研究人员,我们有责任至少考虑我们的工作可能造成的伤害,并考虑如何减轻它。我们欠世界这么多。

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

参考文献

  • 【1】Analogy. Wikipedia, Mar 2018. 1
  • 【2】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】-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】Gordon, A. Kembhavi, M. Rastegari, J. Redmon, D. Fox, and A. Farhadi. Iqa: Visual question answering in interactive environments. arXiv preprint arXiv:1712.03316, 2017. 1
  • 【5】He, X. Zhang, S. Ren, and J. Sun. Deep residual learn- ing for image recognition. In Proceedings of the IEEE con- ference on computer vision and pattern recognition, pages 770–778, 2016. 3
  • 【6】Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara, A.Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, et al. Speed/accuracy trade-offs for modern convolutional object detectors. 3
  • 【7】Krasin, T. Duerig, N. Alldrin, V. Ferrari, S. Abu-El-Haija, A.Kuznetsova, H. Rom, J. Uijlings, S. Popov, A. Veit, S. Belongie, V. Gomes, A. Gupta, C. Sun, G. Chechik,D. Cai, Z. Feng, D. Narayanan, and K. Murphy. Open- images: A public dataset for large-scale multi-label and multi-class image classification. Dataset available from https://github.com/openimages, 2017. 2
  • 【8】-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2117–2125, 2017. 2, 3
  • 【9】T.-Y. Lin,  P.  Goyal,    Girshick,  K.  He,  and  P.  Dolla´r. Focal loss for dense object detection. arXiv preprint arXiv:1708.02002, 2017. 1, 3, 4
  • 【10】-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ra- manan, P. Dolla´r, and C. L. Zitnick. Microsoft coco:  Com- mon objects in context. In European conference on computer vision, pages 740–755. Springer, 2014. 2
  • 【11】Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg. Ssd: Single shot multibox detector. In European conference on computer vision, pages 21–37.Springer, 2016. 3
  • 【12】Newton. Philosophiae naturalis principia mathematica. William Dawson & Sons Ltd., London, 1687. 1
  • 【13】Parham, J. Crall, C. Stewart, T. Berger-Wolf, and D. Rubenstein. Animal population censusing at scale with citizen science and photographic identification. 2017. 4
  • 【14】Redmon. Darknet: Open source neural networks in c.

http://pjreddie.com/darknet/, 2013–2016. 3

  • 【15】Redmon and A. Farhadi. Yolo9000: Better, faster, stronger. In Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on, pages 6517–6525. IEEE, 2017. 1, 2, 3
  • 【16】Redmon and A. Farhadi. Yolov3: An incremental improve- ment. arXiv, 2018. 4
  • 【17】Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: To- wards real-time object detection with region proposal net- works. arXiv preprint arXiv:1506.01497, 2015. 2
  • 【18】Russakovsky, L.-J. Li, and L. Fei-Fei. Best of both worlds: human-machine collaboration for object annotation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2121–2131, 2015. 4
  • 【19】Scott. Smart camera gimbal bot scanlime:027, Dec 2017. 4
  • 【20】Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Be- yond skip connections: Top-down modulation for object de- tection. arXiv preprint arXiv:1612.06851, 2016. 3
  • 【21】Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017. 3

【全文翻译】YOLOv3:增量改进相关推荐

  1. 全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样 ...

  2. Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters全文翻译Gmapping

    Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters全文翻译Gmapping Improved Te ...

  3. 全文翻译(三) TVM An Automated End-to-End Optimizing Compiler

    全文翻译(三) TVM An Automated End-to-End Optimizing Compiler 5. 自动化优化 考虑到一组丰富的调度原语,剩下的问题是为DL模型的每一层,找到最佳的算 ...

  4. 全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 3.优化计算图 计算图是在DL框架中表示程序的常 ...

  5. 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样的硬件 ...

  6. iMeta:德布鲁因图在微生物组研究中的应用(全文翻译,PPT,视频)

    德布鲁因图在微生物组研究中的应用 Applications of de Bruijn graphs in microbiome research DOI: https://doi.org/10.100 ...

  7. “利他主义者”乔治·普莱斯的一生(全文翻译自Independent)

    本文转载自"生态学文献分享",已获授权 图1. 乔治·普莱斯漫画(插图) 原文: George Price: the altruistic man who died trying ...

  8. 高山仰止 | “利他主义者”乔治·普莱斯的一生(全文翻译自Independent)

    本文转载自"生态学文献分享",已获授权 图1. 乔治·普莱斯漫画(插图) 原文: George Price: the altruistic man who died trying ...

  9. CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 全文翻译+详细解读

    CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 全文翻译+详细解读 文章速览 全文翻译及详细解释 0 ...

最新文章

  1. C语言按要求打印数组
  2. Android小测验感受
  3. 我现写掼蛋游戏就是要努力奋斗
  4. 【产品】产品经理常用的五大分析法
  5. StarCraft的工程师谈美国的游戏开发过程
  6. mysql自动备份工具 linux_自动备份MYSQL方法 (Linux)
  7. oracle数据库if函数,Oracle NULLIF函数
  8. 趣味Python — 不到20行代码制作一个 “手绘风” 视频
  9. 计算机硬盘被配制成动态磁盘。在这种情况下无法进行重装?,动态磁盘转换为基本磁盘(完美解决方案)...
  10. 墨菲定律吉德林法则吉尔伯特定律沃尔森法则福克兰定律
  11. 国产手机品牌线下渠道将崩溃,难怪618纷纷割肉抛售努力逃生
  12. 解决加载libqxcb.so失败以及Linux库搜索顺序
  13. TIA博途中OB86组织块的功能和使用方法
  14. CSS3 变形:平移、旋转与缩放
  15. #Jshop小程序商城
  16. 【面试大全-Java】Spring核心问答
  17. 索佳电子水准数据传输软件_徕卡DNA03电子水准仪数据传输步骤
  18. 四工业控制系统的攻击场景研究
  19. 金属膜电阻 碳膜电阻 水泥电阻 铝壳电阻比较
  20. HTML缩写标签对应的英文单词

热门文章

  1. 普通高等学校招生全国统一考试(江苏卷)
  2. 在elementUI中格式化信息几种方式
  3. 矩形的面积为什么是长乘以宽
  4. 关于手机已经设置成开发者模式但是Android studio不能识别问题
  5. Android开发之MVVM模式实践(六),2021字节跳动春招技术面试题
  6. TWS耳机充电盒蓝牙芯片MS1656供应正常
  7. 同时购买多件设置了不同运费模板的商品,该如何合理计算运费
  8. 故障电弧的危害以及相关标准规范
  9. windows 安装linux wubi,windows下安装ubuntu 12.04---利用ubuntu的iso包中的wubi.exe工具安装...
  10. c# post和接收的实现