YOLOv3论文解读

YOLOv3论文解读

论文地址:

https://arxiv.org/pdf/1804.02767.pdf

代码实现:

作者本人: https://pjreddie.com/darknet/yolo/
github:pytorch 简易版:https://github.com/eriklindernoren/PyTorch-YOLOv3
github:keras版:https://github.com/qqwweee/keras-yolo3

一、概述

YOLOv3原文:《YOLOv3: An Incremental Improvement》,是作者Joseph Redmon的封山之作。根据Twitter上的一则消息,因为YOLO开源算法被用于军事和隐私问题上,对他的道德造成巨大考验,所以他已经停止了一切CV的研究。下面是从量子位公众号截取的一张作者推特发文截图。大家对此都深感惋惜。好在另一位研究者接手了YOLO的研究成果,继续推出了YOLOv4。科学研究本无国界与对错,希望科研成果都能用在好的方面,同时我们也应该尊重每一位科研人的选择。
YOLOv3论文解读
YOLOv3一出,作者自己的网站:https://pjreddie.com/darknet/yolo/关于YOLOv1和YOLOv2的代码实现也已经消失不见。作者认为已经没有理由去继续使用YOLOv1和YOLOv2,因为YOLOv3的提升已经可以取代前面两者的工作。但是作为研究者向入手学习YOLO,前两篇文章中的方法和思想阅读并不可少,因为很多工作都是基于前面的改进。YOLOv3论文相比于前两篇也更加短小,算上参考文献在内仅有6页,作者的写作风格也愈发随意,它本人也更愿意把这篇文献称为这一年里自己的工作总结,各部分内容都十分精简,读摘要仿佛在听讲故事。以下两段节选自论文Abstract和结尾:
YOLOv3论文解读
YOLOv3论文解读
读完这一段哀伤的文字,里面有着作者强烈的情绪表达。作者交代了一年的工作,在论文里给读者say goodbye。

二、YOLOv3的改进

作者在开头提出自己花了许多时间在推特上,也会去关注一下GANs的动态,同时帮助其他同事进行一些科研,自己仅用上一年残留的动力做了一些YOLO的改进。他自己认为这些改进并不十分有趣,但是从工程上来说让YOLO更好了。
YOLOv3论文解读
YOLOv3相比于YOLOv2的改进在于以下几点。

  • 分类器改变。将softmax去除,而使用独立的逻辑回归分类器。
  • 损失函数的改进。训练中使用二分类交叉熵损失函数来进行分类。
  • 特征提取器(也叫Backbone)改进。使用了新的Darknet-53替代Darknet-19.(这也是最大的变化)。
  • 不同尺度的输出。YOLOv3中输出了三个不同尺度的feature map。这一点借鉴了FPN(feature pyramid networks)对不同大小的目标进行检测,因此对小物体的检测更加好了(不幸的是对大物体的检测性能由略微下降)。

三、Darknet-53

YOLOv3论文解读
该模型借鉴了GoogleNet引入了残差结构,使得模型可以更深而不会出现梯度消失问题。同时和ResNet-101或者ResNet-152相比又没有那么庞大,性能几乎持平。虽然相比于Darknet-19的速度不到一半,但是确实获得了性能上的提升。在论文以外的官网实现部分,作者也提供了切换Backbone的方式,让读者自行在准确度和效率上进行权衡。
YOLOv3论文解读
综上,我们可以看到YOLOv3相对于YOLOv2更多的是工程上的改进,而算法思想保持不变。通过引入别人比较新的研究成果(残差网络等)来改善自己的网络结构等。

三、一些失败的尝试

作者也列举了出了一些尝试改进YOLOv3但是失败了的方式。

  • 使用普通的anchor box机制来预测x,y坐标:作者试图使用一个线性**函数来预测x,y偏移量来确定多个boxes的宽高从而替换原有的逻辑归回预测机制,结果对模型的稳定性造成了影响。
  • 使用焦点损失来替换当前的损失函数:模型mAP下降2%,作者并不确定原因,可能是YOLOv3的鲁棒性已经解决了焦点损失尝试解决的问题,因为YOLOv3已经将目标物体检测和分类预测两项工作分开。
  • 尝试使用双IOU阈值:即类似于Faster R-CNN中,大于0.7为一个正面的例子,0.3-0.7之间直接忽略,而小于0.3为反例。这一机制在YOLO中并没有取得好的效果。

四、总结

文章的末尾,作者希望YOLO能够被用在让人开心的地方,例如在人们逛动物园时,能够通过相机识别斑马,或者能够追踪家里的猫跑来跑去。这一美好的愿望被制作为视频放在YOLO的首页上,视频内部分截图如下。作者极力反对计算机视觉被用于军事和隐私窃取,但他无法阻止这种行为,于是在文章末尾宣布退出。
YOLOv3论文解读
YOLOv3论文解读
YOLOv3论文解读

参考文献

YOLO官网:https://pjreddie.com/darknet/yolo/
YOLOv3原文:https://arxiv.org/pdf/1804.02767.pdf