【論文翻譯】YOLOv3: An Incremental Improvement

《YOLOv3: An Incremental Improvement》

發表會議: CVPR 2018

Joseph Redmon Ali Farhadi

University of Washington

Abstract:

我們向YOLO提供一些更新!我們做了一些小的設計更改以使其更好。我們還培訓了這個非常好的新網絡。它比上次稍大一些,但更準確。儘管如此,不用擔心。在 YOLOv3以22.2 mAP運行22 ms,與SSD一樣精確,但速度提高了三倍。當我們看看舊的0.5 IOU mAP檢測指標YOLOv3是相當不錯的。在Titan X上,它在51 ms內達到57.9 AP50,而RetinaNet在198 ms內達到57.5 AP50,性能相似但速度快3.8倍。與往常一樣,所有代碼都在https://pjreddie.com/yolo/在線。圖1.我們從Focal Loss論文中調整這個數據[9]。YOLOv3的運行速度明顯快於其他性能相當的檢測方法。來自M40或Titan X的時代,他們基本上是相同的GPU。

1. Introduction:

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

事實上,這就是今天帶給我們的。我們有一個相機準備好的截止日期[4],我們需要引用我對YOLO進行的一些隨機更新,但是我們沒有一個源。所以準備好技術報告!關於技術報告的好處是他們不需要介紹,你們都知道我們爲什麼來到這裏。因此,這篇介紹的結尾將爲本文的其餘部分提供路標。首先我們會告訴你YOLOv3的處理方式。然後我們會告訴你我們是怎麼做的。我們還會告訴你我們嘗試過的一些事情沒有奏效。最後,我們將考慮這一切意味着什麼。

在這裏插入圖片描述

2. The Deal:

所以這裏是與YOLOv3的交易:我們主要從其他人那裏獲得好點子。我們還培訓了一個比其他人更好的新分類網絡。我們將從頭開始介紹整個系統,以便您能夠理解這一切。

2.1. Bounding Box Prediction:

在YOLO9000之後,我們的系統使用維度集羣作爲錨箱來預測邊界框[15]。網絡預測每個邊界框的4個座標tx,ty,tw,th。如果單元格通過(cx, cy)從圖像的左上角偏移並且邊界框具有寬度和高度pw,ph,則預測對應於:

在這裏插入圖片描述

在訓練期間,我們使用平方誤差損失的總和。如果一些座標預測的基本事實是 ,我們的梯度是地面真值(從地面實況框計算)減去我們的預測:t 。通過反轉上面的方程可以很容易地計算出這個地面真值。

YOLOv3使用邏輯迴歸預測每個邊界框的對象分數。如果先前的邊界框比之前的任何其他邊界框重疊地面真實對象,則該值應該爲1。如果以前的邊界框不是最好的,但是確實將地面真值對象重疊了一定的閾值以上,我們忽略了這個預測[17]。我們使用.5的閾值。與[17]不同,我們的系統僅爲每個地面真實對象分配一個邊界框。如果先前的邊界框未分配給地面真實對象,則不會對座標或類別預測造成損失,只會導致對象。

在這裏插入圖片描述

圖2.具有維度先驗和位置預測的邊界框。我們預測盒子的寬度和高度作爲集羣質心的偏移量。我們使用sigmoid函數預測箱子相對於濾波器應用位置的中心座標。這個數據公然從[15]自剽竊。

2.2. Class Prediction:

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

當我們轉向更復雜的領域時,這個公式可以幫助開放圖像數據集[7]。在這個數據集中有許多重疊的標籤(即女性和人物)。使用softmax強加了一個假設,即每個盒子只有一個類別,通常情況並非如此。多標記方法更好地模擬數據。

2.3. Predictions Across Scales:

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

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

我們再次執行相同的設計來預測最終尺寸的方框。因此,我們對所有先前計算的第3個等級的預測以及網絡早期的細化特徵都是有益的。

我們仍然使用k-means聚類來確定我們的邊界框的先驗。我們只是選擇了9個簇和3個尺度,然後在整個尺度上均勻分割簇。在COCO數據集上,9個集羣是:

2.4. Feature Extractor:

我們使用新的網絡來執行特徵提取。我們的新網絡是用於YOLOv2,Darknet-19的網絡和那些新穎的剩餘網絡的混合方法。我們的網絡使用連續的3×3和1×1卷積層,但現在也有一些快捷連接,並且顯着更大。它有53個卷積層,所以我們稱它爲…等待它…暗網-53!這個新網絡比Darknet19功能強大得多,但仍比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 [5] 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 18.7 1457 78表2.骨架的比較。精度,數十億次操作,每秒億次浮點運算,以及各種網絡的FPS。

在這裏插入圖片描述

表1. Darknet-53。

每個網絡都使用相同的設置進行培訓,並在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. Training:

我們仍然訓練完整的圖像,沒有硬性負面挖掘或任何東西。我們使用多尺度培訓,大量的數據增強,批量規範化,所有標準的東西。我們使用Darknet神經網絡框架進行訓練和測試[14]。

3. How We Do:

YOLOv3非常好!請參見表3.就COCO奇怪的平均平均AP指標而言,它與SSD變體相當,但3×速度更快。儘管如此,它仍然比像RetinaNet這樣的其他模型落後很多。

但是,當我們查看IOU=.5 (或圖表中的AP50)的“舊”檢測指標時,YOLOv3非常強大。它幾乎與RetinaNet相當,並且遠高於SSD變體。這表明YOLOv3是一款非常強大的探測器,擅長爲對象製作像樣的盒子。然而,隨着IOU閾值增加,性能下降明顯,表明YOLOv3正在努力使盒子與物體完美對齊。

在過去,YOLO用小物體掙扎着。但是,現在我們看到了這種趨勢的逆轉。隨着新的多尺度預測,我們看到YOLOv3具有相對較高的APS性能。但是,它在中等和更大尺寸的物體上的表現相對較差。需要更多的調查來了解這一點。

當我們在AP50度量標準上繪製精確度和速度時(見圖5),我們看到YOLOv3在其他檢測系統上具有顯着的優勢。也就是說,速度越來越快。

4. Things We Tried That Didn’t Work:

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

錨盒x,y偏移量預測。我們嘗試使用常規錨點框預測機制,您可以使用線性激活將x,y偏移量預測爲框寬度或高度的倍數。我們發現這種配方降低了模型的穩定性,並且效果不佳。

線性x,y預測而非邏輯。我們嘗試使用線性激活來直接預測x,y偏移量而不是邏輯激活。這導致了MAP的幾點下降。

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

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

圖3.再次根據[9]進行修改,這次顯示的速度/準確度在mAP上以0.5 IOU度量進行權衡。你可以告訴YOLOv3是好的,因爲它非常高並且在左邊很遠。你能引用你自己的論文嗎?猜猜誰會去嘗試,這個人→[16]。哦,我忘記了,我們還提供了YOLOv2中的一個數據加載錯誤,這得益於2 mAP的幫助。只是偷偷摸摸地在這裏擺脫佈局。

雙IOU閾值和真值分配。更快的RCNN在訓練期間使用兩個IOU閾值。如果一個預測與.7的基本事實重疊,這是一個正面的例子,[.3-.7]被忽略,所有地面真值對象都小於0.3,這是一個負面的例子。我們嘗試了類似的策略,但無法取得好成績。

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

5. What This All Means:

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

爲什麼我們要改變指標?最初的COCO文件只是有這樣一句含糊不清的句子:“一旦評估服務器完成,就會添加對評估指標的全面討論”。Russakovsky等人報告說,人類很難區分.3與.5的欠條。 “訓練人們目視檢查一個邊界框的IOU爲0.3,並將其與IOU 0.5區分開來是非常困難的。”[18]如果人類很難區分這種差異,那麼它有多重要?但是也許更好的問題是:“現在我們有了這些探測器,我們要做什麼?”很多做這項研究的人都在Google和Facebook上。我想至少我們知道這項技術是非常好的,絕對不會用於收集您的個人信息並將其銷售給…等等,您是說這正是它將用於的?哦。

那麼其他大量資助視覺研究的人都是軍人,他們從來沒有做過任何可怕的事情,例如用新技術殺死很多人哦等等… 1我有很多希望,大多數使用計算機視覺的人都是隻需做好快樂,好東西,比如計算國家公園裏的斑馬數量[13],或者追蹤他們的貓在它們周圍徘徊[19]。但計算機視覺已經成爲可疑的用途,作爲研究人員,我們有責任至少考慮我們的工作可能造成的損害,並考慮如何減輕這種損害。我們非常珍惜這個世界。

最後,不要@我。 (因爲我最終退出Twitter)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章