YOLOv3: An Incremental Improvement 論文閱讀


Abstract

  對YOLO進行了一些更新。新的網絡比之前要大,但仍然很快。320x320的輸入22ms,mAP為28.2,與SSD一樣准確,但比它快三倍。When we look at the old .5 IOU mAP detection metric YOLOv3 is quite good. It achieves 57.9 AP50 in 51 ms on a Titan X, compared to 57.5 AP50 in 198 ms by RetinaNet, similar performance but 3.8×faster.

1. Introduction

  首先介紹對YOLOv3作了什么處理,然后介紹作者進行了哪些沒有效果的嘗試,最后思考這說明了什么。

2. The Deal

  主要從他人那里獲取good ideas,訓練了一個新的分類網絡。

2.1 Bounding Box Prediction

  與YOLO 9000一樣,使用聚類中心作為anchor boxes。每個bounding box有四個坐標,tx,ty,tw,th,如果cell相對左上角的偏移量為(cx,cy),且bounding box priors寬和高分別為pw,ph,預測為

  \[\begin{array}{l}
{b_x} = \sigma ({t_x}) + {c_x}\\
{b_y} = \sigma ({t_y}) + {c_y}\\
{b_w} = {p_w}{e^{{t_w}}}\\
{b_h} = {p_h}{e^{{t_h}}}\\
\end{array}\]

  訓練時使用平方誤差之各。如果坐標預測的真實值為t*hat,預測值為t*,則梯度就是用t*hat - t*。

  YOLOv3使用logistic regression為每個bounding box預測一個objectness socre。如果有一個bounding box prior比其它的和真實值重疊更多,那么它的score為1。如果一個bounding box prior不是最好的,但它與真實邊界框重疊達到了一個界限,就忽略之后的預測。此閾值設為0.5。Unlike oursystem only assigns one bounding box prior for each ground truth object. If a bounding box prior is not assigned to a ground truth object it incurs no loss for coordinate or class predictions, only objectness.

2.2 Prediction

  每個bounding box預測框中可能包含的物體類別時使用多標簽分類(multilabelclassification)。我們沒有使用softmax,因為我們發現沒有必要,而是使用獨立的logistic classifiers。訓練時使用二元交叉熵來進行類別預測。

  當我們應用到如Open Image Dataset更復雜的領域時,這個方法很有用。此數據集中有很多重疊標簽。使用softmax是在每個框只有一個類別的假設下,而通常情況並不是這樣。多標簽方法能更好地模擬數據。

2.3 Predictions Across Scales

  YOLOv3預測三種不同scale的box。系統使用類似金字塔網絡的概念從這些尺度中提取特征。在基本的特征提取器中加入了幾個卷積層。其中最后一層預測一個三維張量,它由bounding box,objectness,class的預測編碼得到。在COCO的實驗中,每個scale預測三個boxes,因此張量為NxNx[3*(4+1+80)],4個bounding box offsets,1個objectness prediction,和80個class predictionss。

  然后從對兩層的特征映射進行2x的上采樣。再對原來網絡的特征映射和上采樣后的特征映射進行合並。這種方法使我們能夠從上采樣的特征和早期特征映射的細化信息中獲得更有意義的語義信息。 然后,我們再添加一些卷積層來處理這種組合的特征映射,一種類似於張量的類似張量,只不過是原來的兩倍。

  采用相同的設計來預測最終尺寸的方框。 Thus our predictions for the 3rd scale benefit from all the prior computation as well as finegrained features from early on in the network.

  使用k-means clustering來確定bounding box priors。選擇了9個cluster和3個scales,然后在整個scales上均勻分割clusters。在COCO數據集上,9個clusters是:(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和新的殘差網絡中使用的網絡之間的混合方法。新的網絡使用了連續的3x3和1x1的卷積層,之間有短的連接,它比以前更大,有53個卷積層,稱之為Darknet-53。這個新的網絡比Darknet-19更強大,而且仍比ResNet-101、ResNet-152更強大。結果見Table 2。

  

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

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

2.5 Training

  We still train on full images with no hard negative mining or any of that stuff。 使用多尺度訓練,大量的數據增強,批量規范化,所有標准的東西。 使用Darknet神經網絡框架進行訓練和測試。

3. How We Do

  YOLOv3性能很好,見Table 3。在COCO數據集上,它的mAP與SSD及其變體相當,但比它快三倍。與其它模型如RetinaNet相比還是稍顯落后。

  然而,當我們考察“舊”的檢測度量時IOU = 0.5(即圖表中的AP50)時的mAP,YOLOv3非常強大。 它幾乎與RetinaNet相當,並且遠高於SSD變體。 這表明YOLOv3是一款非常強大的檢測器,能夠較好地為目標預測邊界框。 隨着IOU閾值增加,性能下降明顯。

  老版本的YOLO在檢測小物體上有困難,使用了多尺度預測后,YOLOv3有相對高的APs值。但是它在中等或較大目標上的性能較差。要解決這個問題還需要進一步研究。

  畫出AP50度量下的准確率和速度曲線,可以看出YOLOv3與其它檢測系統相比性能更好。

  

  

4. Things We Tried That Didn't Work

Anchor box x,y offset predictions.

  嘗試使用常規的anchor box預測機制,即使用線性激活函數將x,y的偏移量預測為邊界框寬度或高度的倍數,這個方法降低了模型的穩定性,效果不佳。

Linear x,y predictions instead of logistic.

  嘗試使用線性激活函數直接預測x,y的偏移量來代替logistic activation,這會使用mAP有一些下降。

Focal loss.

  嘗試使用focal loss,這使mAP下降約2個百分點。YOLOv3可能對focal loss試圖解決的問題已經很魯棒,因為它有單獨的objectness predictions和conditional class predictions。可能是對多數樣例,沒有來自class predictions的誤差,不太確定。

Dual IOU thresholds and truth assignment.

  Faster R-CNN訓練時使用了兩個IOU閾值。如果和真實值重疊超過0.7則為正例,0.3到0.7忽略,0.3以下為反例。作者嘗試了類似的策略但效果不好。

5. What This All Means

  YOLOv3是一個好的檢測器,它又快又准。在COCO數據集上,使用IOU在0.5到0.95上的mAP作為度量時,它並不是太好,但采用舊的0.5IOU的度量時,它的性能非常好。

  為什么改變度量標准呢,The original COCO paper just has this cryptic sentence: “A full discussion of evaluation metrics will be added once the evaluation server is complete”. Russakovsky et al report that that humans have a hard time distinguishing an IOU of .3 from .5! “Training humans to visually inspect a bounding box with IOU of 0.3 and distinguish it from one with IOU 0.5 is surprisingly difficult.” If humans have a hard time telling the difference, how much does it matter?

  

 

 

 

 

 

  

 

 

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM