YOLOv3:An Incremental Improvement全文翻譯

原標題: YOLOv3: An Incremental Improvement

原作者: Joseph Redmon Ali Farhadi

翻譯者: Amusi

YOLO官網:YOLO: Real-Time Object Detection

論文鏈接:pjreddie.com/media/file

Youtube:youtube.com/watch?

知乎話題:如何評價YOLOv3: An Incremental Improvement?

Amusi是一名CV初學者,論文翻譯中用到了Google,並自己逐句檢查過,但還是會有顯得晦澀的地方,如有語法/專業名詞翻譯錯誤,還請見諒,並歡迎及時指出。

Abstract

我們給YOLO提供一些更新! 我們做了一些小的設計更改以使其更好。 我們也訓練了這個非常好的新網路。它比上次(YOLOv2)稍大一些,但更準確。它仍然很快,所以不用擔心。在320×320 YOLOv3運行22.2ms,28.2 mAP,像SSD一樣準確,但速度快三倍。 當我們看看以老的0.5 IOU mAP檢測指標時,YOLOv3是相當不錯的。 在Titan X上,它在51 ms內實現了57.9的AP50,與RetinaNet在198 ms內的57.5 AP50相當,性能相似但速度快3.8倍。與往常一樣,所有代碼均在pjreddie.com/yolo/

1 Introduction

有時候,一年你主要只是在打電話,你知道嗎?今年我沒有做很多研究。我在Twitter上花了很多時間。玩了一下GAN。去年我留下了一點點的動力[10] [1];我設法對YOLO進行了一些改進。但是誠然,沒有什麼比這超級有趣的了,只是一小堆(bunch)改變使它變得更好。我也幫助了其他人的做一些研究。

其實,這就是今天帶給我們的。我們有一個camera-ready deadline ,we need to cite some of the random updates I made to YOLO but we don』t have a source 。所以為技術報告做準備!

關於技術報告的好處是他們不需要介紹,你們都知道我們為什麼來到這裡。因此,這篇介紹性文章的結尾將為本文的其餘部分提供signpost。首先我們會告訴你YOLOv3的詳細內容。然後我們會告訴你我們是怎麼做的。我們還會告訴你我們嘗試過的一些沒有奏效的事情。最後,我們將考慮這一切意味著什麼。

2 The Deal

這裡是YOLOv3的詳細內容:我們主要從其他人那裡獲得好點子。我們也訓練了一個比其他人更好的新分類器網路。我們將從頭開始介紹整個系統,以便您能夠理解這一切。

2.1 Bounding Box Prediction

在YOLO9000之後,我們的系統使用維度聚類(dimension clusters )作為anchor boxes來預測邊界框[13]。網路為每個邊界框預測4個坐標,tx,ty,tw,th。 如果單元格從圖像的左上角偏移(cx; cy),並且之前的邊界框具有寬度和高度pw,ph,則預測對應於:

b_{x}= σ(t_{x}) + c_{x}

b_{y}= σ(t_{y}) + c_{y}

b_{w}=p_{w}e^{t_{w}}

b_{h}=p_{h}e^{t_{h}}

在訓練期間,我們使用平方誤差損失的總和。如果對於一些坐標預測的ground truth是 	ilde{t_{*}} (原文中是使用^符號,但某乎自帶的代碼工具打不出來,所以這裡我用~符號替代),我們的梯度是ground truth(由ground box計算得到)減去我們的預測: 	ilde{t_{*}}-t_{*} 。 通過反轉上面的方程可以很容易地計算出這個ground truth。

YOLOv3使用邏輯回歸預測每個邊界框(bounding box)的對象分數。 如果先前的邊界框比之前的任何其他邊界框重疊ground truth對象,則該值應該為1。如果以前的邊界框不是最好的,但是確實將ground truth對象重疊了一定的閾值以上,我們會忽略這個預測,按照[15]進行。我們使用閾值0.5。與[15]不同,我們的系統只為每個ground truth對象分配一個邊界框。如果先前的邊界框未分配給grounding box對象,則不會對坐標或類別預測造成損失。

2.2 Class Prediction

每個框使用多標籤分類來預測邊界框可能包含的類。我們不使用softmax,因為我們發現它對於高性能沒有必要,相反,我們只是使用獨立的邏輯分類器。 在訓練過程中,我們使用二元交叉熵損失來進行類別預測。

這個公式有助於我們轉向更複雜的領域,如Open Image Dataset[5]。在這個數據集中有許多重疊的標籤(如女性和人物)。使用softmax會強加了一個假設,即每個框中只有一個類別,但通常情況並非如此。多標籤方法更好地模擬數據。

2.3 Prediction Across Scales

YOLOv3預測3種不同尺度的框(boxes)。我們的系統使用類似的概念來提取這些尺度的特徵,以形成金字塔網路[6]。從我們的基本特徵提取器中,我們添加了幾個卷積層。其中最後一個預測了3-d張量編碼邊界框,對象和類別預測。在我們的COCO實驗[8]中,我們預測每個尺度的3個框,所以對於4個邊界框偏移量,1個目標性預測和80個類別預測,張量為N×N×[3 *(4 + 1 + 80)]。

接下來,我們從之前的兩層中取得特徵圖(feature map),並將其上採樣2倍。我們還從網路中的較早版本獲取特徵圖,並使用element-wise addition將其與我們的上採樣特徵進行合併。這種方法使我們能夠從早期特徵映射中的上採樣特徵和更細粒度的信息中獲得更有意義的語義信息。然後,我們再添加幾個卷積層來處理這個組合的特徵圖,並最終預測出一個相似的張量,雖然現在是兩倍的大小。

我們再次執行相同的設計來預測最終尺度的方框。因此,我們對第三種尺度的預測將從所有先前的計算中獲益,並從早期的網路中獲得細粒度的特徵。

我們仍然使用k-means聚類來確定我們的邊界框的先驗。我們只是選擇了9個聚類(clusters)和3個尺度(scales),然後在整個尺度上均勻分割聚類。在COCO數據集上,9個聚類是:(10×13);(16×30);(33×23);(30×61);(62×45); (59×119); (116×90); (156×198); (373×326)。

2.4 Feature Extractor

我們使用新的網路來實現特徵提取。我們的新網路是用於YOLOv2,Darknet-19中的網路和那些新穎的殘差網路的混合方法。我們的網路使用連續的3×3和1×1卷積層,但現在也有一些shotcut連接,該網路明顯更大。它有53個卷積層,所以我們稱之為....... Darknet-53!(手動滑稽...)

這個新網路比Darknet-19功能強大得多,而且比ResNet-101或ResNet-152更有效。以下是一些ImageNet結果:

每個網路都使用相同的設置進行訓練,並以256×256的單精度測試進行測試。運行時間是在Titan X上以256×256進行測量的。因此,Darknet-53可與state-of-the-art的分類器相媲美,但浮點運算更少,速度更快。Darknet-53比ResNet-101更好,速度更快1:5倍。 Darknet-53與ResNet-152具有相似的性能,速度提高2倍。

Darknet-53也可以實現每秒最高的測量浮點運算。這意味著網路結構可以更好地利用GPU,從而使其評估效率更高,速度更快。這主要是因為ResNets的層數太多,效率不高。

2.5 Training

我們仍然訓練完整的圖像,沒有hard negative mining or any of that stuff 。我們使用多尺度訓練,大量的data augmentation,batch normalization,以及所有標準的東西。我們使用Darknet神經網路框架進行訓練和測試[12]。

3 How We Do

YOLOv3非常好!請參見表3。就COCO的mAP指標而言,它與SSD variants相當,但速度提高了3倍。儘管如此,它仍然比像RetinaNet這樣的其他模型落後很多。

然而,當我們在IOU = 0.5(或者圖表中的AP50)看到mAP的「舊」檢測度量時,YOLOv3非常強大。它幾乎與RetinaNet相當,並且遠高於SSD variants。這表明YOLOv3是一個非常強大的檢測器,擅長為目標生成像樣的框(boxes)。However, performance drops significantly as the IOU threshold increases indicating YOLOv3 struggles to get the boxes perfectly aligned with the object。

在過去,YOLO在小目標的檢測上表現一直不好。然而,現在我們看到了這種趨勢的逆轉。 隨著新的多尺度預測,我們看到YOLOv3具有相對較高的APS性能。但是,它在中等和更大尺寸的物體上的表現相對較差。需要更多的研究來達到這個目的。當我們在AP50指標上繪製精確度和速度時(見圖3),我們看到YOLOv3與其他檢測系統相比具有顯著的優勢。也就是說,速度越來越快。

註:這個圖只能用Amazing來概括!!!

4 Things We Tried That Didn』t Work

我們在研究YOLOv3時嘗試了很多東西。很多都不起作用。這是我們可以記住的東西。

Anchor box x,y offset predictions。我們嘗試使用正常anchor box預測機制,這裡你使用線性激活來預測x,y offset作為box的寬度或高度的倍數。我們發現這種方法降低了模型的穩定性,並且效果不佳。

Linear x,y predictions instead of logistic。我們嘗試使用線性激活來直接預測x,y offeset 而不是邏輯激活。這導致mAP下降了幾個點。

Focal loss。我們嘗試使用focal loss。它使得mAp降低了2個點。YOLOv3對focal loss解決的問題可能已經很強大,因為它具有單獨的對象預測和條件類別預測。 因此,對於大多數例子來說,類別預測沒有損失? 或者其他的東西? 我們並不完全確定。

Dual IOU thresholds and truth assignment 。Faster R-CNN在訓練期間使用兩個IOU閾值。如果一個預測與ground truth重疊達到0.7,它就像是一個正樣本,如果達到0.3-0.7,它被忽略,如果小於0.3,這是一個負樣本的例子。我們嘗試了類似的策略,但無法取得好成績。

我們非常喜歡我們目前的表述,似乎至少在局部最佳狀態。有些技術可能最終會產生好的結果,也許他們只是需要一些調整來穩定訓練。

5 What This All Means

YOLOv3是一個很好的檢測器。速度很快,很準確。COCO平均AP介於0.5和0.95 IOU指標之間的情況並不如此。但是,對於檢測度量0.5 IOU來說非常好。

為什麼我們要改變指標? 最初的COCO論文只是含有這個神秘的句子:「一旦評估伺服器完成,就會添加完整的評估指標的討論」。Russakovsky等人報告說,人類很難區分IOU為0.3還是0.5。「訓練人們目視檢查一個IOU值為0.3的邊界框,並將它與IOU 0.5區分開來是一件非常困難的事情。」[16]如果人類很難區分這種差異,那麼它有多重要?

但是也許更好的問題是:「現在我們有了這些檢測器(detectors),我們要做什麼?」很多做這項研究的人都在Google和Facebook上。我想至少我們知道這項技術是非常好的,絕對不會被用來收集您的個人信息,並將其出售給......等等,您是說這就是它的用途?

那麼其他大量資助視覺研究的人都是軍人,他們從來沒有做過任何可怕的事情,例如用新技術殺死很多人哦等等.....

我有很多希望,大多數使用計算機視覺的人都是做的快樂,研究了很多好的應用,比如計算一個國家公園內的斑馬數量[11],或者追蹤它們在它們周圍徘徊時的貓[17]。但是計算機視覺已經被用於可疑的應用,作為研究人員,我們有責任至少考慮我們的工作可能會造成的傷害,並考慮如何減輕它的影響。 我們非常珍惜這個世界。(作者走心了......)

最後,不要@我。 (因為我終於退出了Twitter)。

創新點

  • 使用金字塔網路
  • 用邏輯回歸替代softmax作為分類器
  • Darknet-53

不足

速度確實快了,但mAP沒有明顯提升,特別是IOU > 0.5時。

參考文獻

[1] Analogy. Wikipedia, Mar 2018. 1

[2] 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

[3] 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

[4] 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

[5] 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 github.com/openimages, 2017. 2

[6] 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

[7] 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

[8] 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

[9] 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

[10] I. Newton. Philosophiae naturalis principia mathematica. William Dawson & Sons Ltd., London, 1687. 1

[11] 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

[12] J. Redmon. Darknet: Open source neural networks in c. pjreddie.com/darknet/, 2013–2016. 3

[13] 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

[14] J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv, 2018. 4

[15] 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

[16] 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

[17] M. Scott. Smart camera gimbal bot scanlime:027, Dec 2017.

4

[18] 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

[19] C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017. 3

推薦閱讀:

目標檢測:SPPNet 論文閱讀
目標檢測|YOLOv2原理與實現(附YOLOv3)
yolov3 強勢發布
來不及想標題了,我要去打包收藏了 | 本周值得讀
深度學習之目標檢測的前世今生(Mask R-CNN)

TAG:深度學習DeepLearning | 目標檢測 | 計算機視覺 |