YOLOv3论文翻译,一个YOLOv2的升级版。作者还表达了对计算机视觉技术应用到不好的地方的担忧,并吐槽了论文评审和mAP评价方法。感觉是个超酷的人~
YOLOv3: An Incremental Improvement
Joseph Redmon, Ali Farhadi, 2018.4
University of Washington
1. Introduction
有时候人就是会漫不经心地过完一年。今年我并没有做特别多研究。花了很多时间在推特上。稍微玩耍了一下GAN。去年还剩余了一点动力,我成功的提升了一些YOLO。但实话说,没有什么超级有趣的,仅仅是一系列让其更好的小改变。我也参与了一些其他人的研究。
这就是如今情况的原因。我们有一个camera-ready截止日,我们需要引用一些我在YOLO中实现的更新,但我们没有来源。因此就有了这篇技术报告。
技术报告最棒的地方就是它们不需要介绍,大家都知道目前情况。首先我们会告诉你YOLOv3到底啥情况。接下来我们会告诉你我们怎么做的。我们还会告诉你我们试过但无效的方法。最后我们会思考这一切的意义。
2. The Deal
我们主要采用了其他人的主意。我们还训练了一个新的比其余好的分类网络。我们会带领你从草稿到整个系统,以便理解。
2.1 Bounding Box Prediction
我们按YOLO9000的方法,使用尺寸聚类作为锚点框来预测限位框。网络为每个限位框预测4个坐标,$t_x,t_y,t_w,t_h$。如果该格偏离图片左上角$(c_x,c_y)$,限位框prior宽高为$p_w,p_h$的话,预测就为:
我们在训练中使用平方和误差loss。如果一些坐标预测的gt值为$\hat t_{\star}$,我们的梯度就是gt值减去预测值:$\hat t_{\star}-t_{\star}$。这一gt值通过上述公式变化能简单算出。
YOLOv3为每个限位框使用逻辑回归预测一个objectness分。如果一个prior比其余prior覆盖gt物体都多,该值为1。如果它不是最多的,但与gt物体的重叠超过了一个阈值(0.5),我们按[17]的做法忽略该预测。不像[17],我们系统仅为每个gt物体赋予一个限位框prior。如果一个prior没有关联的gt物体,它将不参与坐标或分类预测loss计算,仅有objectness。
2.2 Class Prediction
每个限位框使用多标签分类预测该框可能包含的物体类别。我们没有使用softmax,因为发现它不是好的性能所必需的,使用了独立逻辑回归器。在训练中对于类预测我们使用了二分交叉熵loss。
这一方法有助于我们迁移到更复杂的领域,如Open Image Dataset$^{[7]}$。该数据集有许多重叠标签(如“女人”和“人”)。使用softmax需要假定每个框仅有一个类,然而事实常常不是这样。多标签方法更适合为该数据集建模。
2.3 Predictions Across Scales
YOLOv3在3个不同尺度预测限位框。我们的系统用一个类似FPN$^{[8]}$的概念从那些尺度提取特征。我们为基础特征提取器增加了多个卷积层。最终预测一个编码了限位框、objectness和类预测的3维张量。在COCO实验中,我们在每个尺度预测3个限位框,故张量为:$N\times N\times [3*(4+1+80)]$,4个限位框偏移,1个objectness预测和80个类预测。
接着我们采用两层之前的特征图,并进行2倍的下采样。我们还采用了更早的特征图,并用串联法与未采样的特征合并。这一方法让我们能从未采样的特征得到更有意义的语义semantic信息,从更早的特征图得到细纹理信息。接下来我们又增加了几个卷积层来处理合并了的特征图,并最终预测一个类似的张量,但大小变为两倍。
我们再一次实现了同样的设计以为最终尺度预测限位框。因此为第三个尺度的预测收益与所有之前的计算,包括网络早期的细纹理特征。
我们还是使用k-means聚类来决定限位框prior。我们随机地选择了9个簇和3个尺度,并将簇均匀分到各scale中。在COCO上的9个簇是:$(10\times13)$,$(16\times30)$,$(33\times23)$,$(30\times61)$,$(62\times45)$,$(59\times119)$,$(116\times90)$,$(156\times198)$,$(373\times326)$。
2.4 Feature Extractor
我们使用了新的网络来进行特征抽取。我们的新网络是YOLOv2使用的Darknet-19和新流行的残差网络的混合方法。我们的网络使用连续的$3\times3$和$1\times1$卷积层,但现在也有一些短路连接,而且深得多了。因为它有53个卷积层,因此称之为Darknet-53。
这一网络比Darknet-19强力得多,仍比ResNet-101或ResNet-152高效。下表是ImageNet结果:
每个网络都是用同样设定训练,并在$256\times256$上测试单切片准确度。运行时间在一块Titan X上测量。Darknet-53与前沿分类器有着近似的性能,但浮点运算数更少,速度更快。它比ResNet-101性能好,同时快1.5倍,跟ResNet-152性能相似,但快2倍。
Darknet-53同样获得了测得最高的每秒浮点数运算数。这意味着网络结构更好地利用了GPU。这主要因为ResNet有着过多的层,因此不够有效率。
2.5 Training
我们仍在完整图片上训练,未使用HNM或任何类似的东西。我们使用多尺度训练,许多数据增广方法,BN,所有标准的东西。我们使用Darknet网络进行训练和测试。
3. How We Do
YOLOv3相当棒!见表3。在COCO的奇怪的mAP评价方法下,它的性能类似SSD变种,但要快3倍。它仍在这一评判中落后于其它模型,如RetinaNet。
但假如我们查看旧的评价方法,mAP@.5,YOLOv3非常强大。它接近RetinaNet的性能,远超SSD的变种。这说明YOLOv3是强力的检测器,擅长为物体产出相当好的限位框。但当IoU阈值上升时性能的大幅下降,说明它很难将框完美对齐物体。
在过去YOLO在小物体上非常挣扎。但现在我们发现这一趋势开始逆转了。使用新的多尺度预测,我们看到YOLOv3有着相对高的AP性能。但相比起中大型物体,性能仍稍差。还需更多探索搞清楚这一问题。
当我们在AP50上画出精确度/速度曲线时(图3),我们发现YOLOv3明显好过其它系统。更快、更好。
4. Things We Tried That Didn’t Work
我们研究YOLOv3时尝试过许多方法。很多都不管用,以下是我们能回忆起的:
Anchor box $x,y$ offset predictions. 我们尝试过常见锚点框预测机制,预测限位框宽高的倍数作为$x,y$偏移,并使用线性激活。我们发现这一方法会降低模型稳定性,并不特别有效。
Linear $x,y$ predictions instead of logistic. 我们尝试过使用线性激活函数来直接预测$x,y$偏移,而不是逻辑激活。这导致mAP降低了几个点。
Focal loss. 我们尝试过focal loss,它降低了我们2个点的mAP。也许对于focal loss尝试解决的问题,YOLOv3已经足够健壮。因为它将objectness预测和条件类概率预测分开了。因此大部分样本没有类预测的loss?或是其他原因?我们也不是完全确定。
Dual IoU threshold and truth assignment. Faster R-CNN在训练时使用了两个IoU阈值。如果预测与gt的重叠超过0.7,它就是正样本,[.3-.7]之间忽略,对于所有gt物体都低于.3的作为负样本。我们使用了类似策略但结果不佳。
我们对当前的方法比较满意,它似乎至少是一个局部最优解。也许这些方法最终会得到好的结果,也许它们仅需要一些调优来稳定训练。
5. What This All Means
YOLOv3是一个好的检测器,它快速而精确。它在COCO评价方法上没那么强大,但在老的mAP@.5上非常好。
为何我们要切换评价方法呢。原始COCO论文有如下神秘句子:“一旦评估服务器完成,会添加完整的评估方法讨论”。Russakovsky等人报告人类区分.3到.5的IoU非常困难。“训练人类使其区别IoU0.3和0.5超乎想象地困难”$^{[18]}$。如果人类都难以区分,那意义何在?
但或许更好的问题是:“我们现在有了这些检测器,我们用来做什么呢?”。许多相关研究人员在Google和Facebook工作。我猜想这一技术不会用于挖掘个人信息并卖给。。。啥,你说这正是它要使用的地方?哦。。。
那么其他重金资助视觉研究的都是军队,他们不会做任何恐怖的事,比如用新技术杀掉许多人。。。哦等一下(作者由海军研究办公室和Google资助)。
我希望大部分人使用计算机视觉来做一些快乐、好的事情,如计算国家公园中的斑马数量$^{[13]}$,或追踪家里乱晃的猫$^{[19]}$。但计算机视觉已用于可疑的地方,作为研究者我们应由责任,至少考虑我们的工作可能的危害,并想办法缓解它。我们欠这个世界那么多。
最后,别再@我了(因为我终于退出推特了)。
References
[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. Dollar. ´
Focal loss for dense object detection. arXiv preprint
arXiv:1708.02002, 2017. 1, 3, 4
[10] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan,
P. Dollar, and C. L. Zitnick. Microsoft coco: Com- ´
mon 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
Rebuttal
吐槽ICCV的论文审阅,反驳了评委的审阅意见。吐槽了目前的评价方式mAP。