Joseph Redmon,Ali Farhadi
University of Washington
论文地址:https://arxiv.org/pdf/1804.02767.pdf
论文提交时间:2018年4月8日
摘要
我们向YOLO提供一些更新! 我们做了一些小的设计更改以使其更好。我们还训练了这个规模较大的新网络。 它比上次更大一点,但更准确。不用担心,它仍然很快。320×320的YOLOv3运行22毫秒可达到28.2 mAP,与SSD一样准确,但速度提高了三倍。当我们查看旧的0.5 IOU mAP检测指标,YOLOv3的表现非常好。它在Titan X上运行51毫秒内达到了57.9,相比之下,RetinaNet在198毫秒内达到57.5,性能相似,但速度提高了3.8倍。与往常一样,所有代码都在https://pjreddie.com/yolo/上。
1.介绍
你知道吗?有时你只需要打一年电话。今年我没有做很多研究,在Twitter上花了很多时间。玩了一下GAN。全年我留了下了一点动力[12][1];我设法对YOLO做了一些改进。但是,老实说,只是一点改变让它变得更好,没有什么比这更有趣了。我也在其他人的研究上做了一点帮助。
实际上,这就是我们今天来到这里的原因。我们有一个相机就绪截止日期[4],我们需要引用一些我对YOLO进行的随机更新,但我们没有来源。所以准备好进行技术报告!
技术报告的好处是他们不需要介绍,你们都知道我们为什么会在这里。因此,本文的结尾部分将针对本文的其余部分进行标记。 首先,我们将告诉您YOLOv3的处理方式。 然后我们会告诉你我们是怎么做的。 我们还会告诉你一些我们尝试过但不起作用的事情。最后,我们将思考这一切意味着什么。
2.处理方式
YOLOv3的处理方式:我们主要是从其他人那里获得了很好的想法。我们还训练了一个比其他分类器更好的新分类器网络。我们将从头开始带您浏览整个系统,以便您可以全面了解它。
2.1.边界框预测
在YOLO9000之后,我们的系统使用维度聚类作为anchor boxes来预测边界框[15]。网络预测每个边界框的4个坐标,,,,。如果单元格偏离图像的左上角(,),并且前面的边界框具有宽度和高度,,则预测对应于:
在训练期间,我们使用平方误差损失的总和。如果某些坐标预测的ground truth是,我们的是ground truth值(从ground truth框计算)减去我们的预测:。通过反转上面的等式可以容易地计算该ground truth值。
YOLOv3使用逻辑回归预测每个边界框的对象性得分。如果之前的边界框与ground truth对象重叠超过任何其他边界框,则该值应为1。如果之前的边界框不是最好的但是与ground truth对象重叠超过某个阈值,我们忽略预测,按照[17]。我们使用0.5的阈值。[17]与我们的系统不同,它只为每个ground truth对象分配一个边界框。如果之前的边界框未分配给ground truth对象,则它不会导致坐标或类预测的损失,只会导致对象性的损失。
2.2.类预测
每个框使用多标签分类预测边界框可能包含的类。我们不使用softmax,因为我们发现它不需要良好的性能,而只是使用独立的逻辑分类器。在训练期间,我们使用二元交叉熵损失进行类预测。
当我们迁移到更复杂的领域(如Open Images Dataset)时,此公式会有所帮助。在此数据集中有许多重叠标签(即女人和人)。使用softmax假设每个框只有一个类,而通常不是这种情况。多标签方法可以更好地模拟数据。
2.3.跨尺度预测
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)。
2.4.特征提取
我们使用新网络执行特征提取。我们的新网络是YOLOv2中使用的网络Darknet-19和残差网络的混合方法。我们的网络使用连续的3×3和1×1卷积层,但现在也有一些快捷连接,并且明显更大。它有53个卷积层,所以我们称之为....等等...... Darknet-53!
这个新网络比Darknet19强大得多,但仍然比ResNet-101或ResNet-152更有效。以下是一些ImageNet结果:
每个网络都使用相同的设置进行训练,并以256×256的大小,单一裁剪精度进行测试。 运行时间以256×256的大小在Titan X上测量。因此,Darknet-53的性能与最先进的分类器相当,但浮点运算更少,速度更快。 Darknet-53优于ResNet-101,速度提高1.5倍。 Darknet-53具有与ResNet-152类似的性能,速度提高了2倍。
Darknet-53还实现了每秒最高的测量浮点运算。 这意味着网络结构可以更好地利用GPU,从而提高评估效率,从而提高速度。 这主要是因为ResNets的层数太多而且效率不高。
2.5.训练
我们仍然训练完整的图像,没有hard negative mining或任何这些东西。 我们使用多尺度训练,大量数据扩充,批量标准化,所有标准的东西。 我们使用Darknet神经网络框架进行训练和测试[14]。
3.我们如何做
YOLOv3非常棒!参见表3。就COCO而言,奇怪的平均AP指标与SSD变体相当,但速度快3倍。尽管如此,它仍远远落后于RetinaNet等其他模型。
但是,当我们在IOU = 0.5(或图表中的)中查看“旧”的mAP检测度量时,YOLOv3非常强大。它几乎与RetinaNet相当,远远超过SSD变体。这表明YOLOv3是一种非常强大的探测器,擅长为物体产生合适的框。然而,随着IOU阈值的增加,性能显着下降,表明YOLOv3努力使框与物体完美对齐。
过去,YOLO与小物件斗争。但是,现在我们看到了这种趋势的逆转。通过新的多尺度预测,我们看到YOLOv3具有相对较高的性能。但是,它在中型和大型物体上的性能相对较差。需要更多的探索才能深究这一点。
当我们在指标上绘制准确度与速度的关系时(见图5),我们看到YOLOv3比其他检测系统具有显着的优势。也就是说,它更快更好。
4.我们尝试过但是不起作用的东西
我们在YOLOv3的工作上尝试了很多东西。 很多都行不通。 这是我们能记住的东西。
anchor box的x,y偏移预测。我们尝试使用常规anchor box预测机制,您可以使用线性激活将x,y偏移预测为框宽度或高度的倍数。 我们发现这个公式降低了模型的稳定性并且效果不佳。
线性x,y预测而不是逻辑预测。我们尝试使用线性激活来直接预测x,y偏移而不是逻辑激活。这导致了mAP的几个点下降。
Focal loss。我们尝试使用Focal loss。它将我们的mAP降低了大约2个点。YOLOv3可能已经对Focal loss试图解决的问题具有鲁棒性,因为它具有单独的对象性预测和条件类预测。因此,对于大多数例子,类预测没有损失? 或者其他的东西? 我们并不完全确定。
双IOU阈值和真值分配。Faster RCNN在训练期间使用两个IOU阈值。 如果一个预测与ground truth重叠了0.7它是一个正例,如果在[0.3-0.7]它被忽略,小于0.3对于所有ground truth对象来说它是一个反面的例子。 我们尝试了类似的策略,但无法取得好成绩。
我们非常喜欢我们目前的公式,它似乎至少在本地最佳。 这些技术中的一些可能最终会产生良好的结果,也许他们只需要一些调整来稳定训练。
5. 这一切意味着什么
YOLOv3是一个很好的探测器。它很快,很准确。它在0.5和0.95 IOU指标之间对COCO的平均AP不怎么好。但它对0.5 IOU的旧检测指标非常好。
我们为什么要切换度量标准?最初的COCO论文只有一句含蓄的话:“一旦评估服务器完成,将添加对评估指标的完整讨论”。Russakovsky等人报告说,人类很难区分0.3和0.5的IOU!“训练人类目视检查一个IOU为0.3的边界框,并将其与IOU为0.5的边界框区分开来,是非常困难的。”[18]如果人类很难分辨出两者之间的区别,那有多重要?
但也许一个更好的问题是:“现在我们拥有它们,我们将如何处理这些探测器?”很多从事这项研究的人都在谷歌和Facebook上。我想至少我们知道技术掌握得很好,绝对不会用来收集你的个人信息并把它卖给....等等,你说这正是它将用于什么?哦。
那么大量资助视觉研究的人是军队,他们从来没有做过任何可怕的事情,就像用新技术杀死很多人一样等等.....
作者由海军研究办公室和谷歌办公室资助。
我非常希望大多数使用计算机视觉的人只是在做一些快乐,好的东西,比如计算一个国家公园里的斑马数量[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) challenge. 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. Redmon, D. Fox, and A. Farhadi. Iqa: Visual question answering in interactive environments. arXiv preprint arXiv:1712.03316, 2017. 1
[5] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016. 3
[6] J. 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] I. 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. Openimages: A public dataset for large-scale multi-label and multi-class image classification. Dataset available from https://github.com/openimages, 2017. 2
[8] T.-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, R. Girshick, K. He, and P. Dollr. Focal loss for dense object detection. arXiv preprintarXiv:1708.02002, 2017. 1, 3, 4
[10] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollr, and C. L. Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pages 740–755. Springer, 2014. 2
[11] W. 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] I. Newton. Philosophiae naturalis principia mathematica. William Dawson & Sons Ltd., London, 1687. 1
[13] J. 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] J. Redmon. Darknet: Open source neural networks in c. http://pjreddie.com/darknet/, 2013–2016. 3
[15] J. 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] J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv, 2018. 4
[17] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. arXiv preprint arXiv:1506.01497, 2015. 2
[18] O. 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] M. Scott. Smart camera gimbal bot scanlime:027, Dec 2017. 4
[20] A. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Beyond skip connections: Top-down modulation for object detection. arXiv preprint arXiv:1612.06851, 2016. 3
[21] C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017. 3
反驳
我们要感谢Reddit评论员,同事,电子邮件,并在走廊里传递呐喊,感谢他们可爱而真诚的话语。如果你像我一样正在审查ICCV,那么我们知道你可能还有其他37篇论文,你可能会一直推迟到上周,然后邮件给你该领域的一些传说关于你应该如何完成这些评论除非不完全清楚他们说的是什么,也许他们来自未来? 无论如何,如果没有你过去自己在过去所做的所有工作,而且只是进一步前进,而不是一直到现在为止,这篇论文将不会成为它将要成为的东西。如果你发推文,我也不知道。只是说。
评论家#2 AKA Dan Grossman(lol blinding谁这样做)坚持我在这里指出我们的图表只有两个非零来源。Dan,你是绝对正确的,那是因为它看起来比承认自己更好,我们都只是在这里争夺超过2-3%的mAP。但这是请求的图表。我也用FPS投了一个,因为当我们在FPS上进行投影时,我们看起来像是超级好。
评论家#4 AKA JudasAdventus在Reddit上写道“娱乐性阅读,但反对MSCOCO指标的观点似乎有点弱”。 好吧,我一直都知道你会成为那个让我犹豫不决的人。你知道当你在一个项目上工作时它是如何出来的,所以你必须找出一些方法来证明你的实际操作是非常酷的吗?我基本上是在努力做到这一点,而且我对COCO指标有点猛烈抨击。 但是现在我已经把这座小山盯上了,我也可能死在它上面。
看到这里的东西,mAP已经有点破坏,所以对它的更新应该可以解决它的一些问题,或者至少证明为什么更新的版本在某种程度上更好。而我认为最重要的是缺乏理由。对于PASCAL VOC,IOU阈值“故意设置为低,以解释ground truth数据中边界框的不准确性”[2]。COCO的标签比VOC好吗? 这绝对是可能的,因为COCO有分段掩码,标签可能更值得信赖,因此我们并不担心不准确。但我的问题同样是缺乏理由。
COCO指标强调更好的边界框,但强调必须意味着它不再强调其他东西,在这种情况下强调的是分类准确性。是否有充分的理由认为更精确的边界框比更好的分类更重要? 错误分类的示例比稍微移位的边界框更明显。
mAP已经被搞砸了,因为重要的是每个类的排序。例如,如果你的测试集只有这两个图像,那么根据mAP,产生这些结果的两个探测器就是好的:
现在这显然是对mAP问题的过度夸大,但我想我的新观点是,“现实世界”中人们关心的内容和我认为的当前指标之间存在明显的差异。要想出新的指标,我们应该关注这些差异。还有,平均mAP,它已经意味着平均精度,我们甚至称之为COCO指标?
这是一个提议,人们真正关心的是图像和探测器,探测器在图像中找到并分类对象的能力如何。如何摆脱每个类的AP并实现全局平均精度? 或者对每个图像进行AP计算并对其进行平均?
无论如何,框都是笨的,我可能是masks的真正信徒,除非我不能让YOLO学习它们。