YOLOv3 解讀:小改動帶來的性能大提升

Title: YOLOv3: An Incremental Improvement(2018)
Link: Paper Website
Tips:

  1. YOLOv3 的改進有哪些,模型融合形成新網絡

Summary:

YOLOv3 在 YOLOv2 基礎上做了一些小改進,文章篇幅不長,核心思想和 YOLOv2、YOLO9000差不多。

但是這些小改動確帶來了不錯的性能提升,改動包括爲邊界框預測分數,多標籤分類,預測多尺寸的邊界框,替換骨幹網絡。

文中的各種嘗試無論是否 work,都值得我們瞭解學習,它們能給我們提供思路。


Abstract

YOLOv3 相比 YOLOv2 檢測更準了,而且速度仍然很快。

YOLOv3 在320×320 的圖像分辨率上取得了 28.2 mAP,速度在22毫秒內,與SSD一樣準確,但速度提高了三倍。

1. Introduction

這是一段風格清奇的 introduction,作者說他比較忙沒有太多時間改進 YOLO,但一個項目需要引用 YOLO,所以他對 YOLO 做了一些小改動,這篇論文其實是一篇技術報告,技術報告不需要introduction,所以這部分寫得很隨意。

報告剩下的部分爲:

  • YOLOv3 的改進
  • 實驗結果
  • 嘗試的一些沒效果的做法
  • 總結

2. The Deal

如何改進:參考別人的 good idea,訓練一個更好的分類器。

2.1. Bounding Box Prediction

繼續採用 YOLO9000 使用 anchor box 預測 bounding box 的方法(參考:目標檢測中的Anchor)。


YOLOv3 使用邏輯迴歸爲每個邊界框都預測了一個分數 objectness score,打分依據是預測框與物體的重疊度。如果某個框的重疊度比其他框都高,它的分數就是 1,忽略那些不是最好的框且重疊度大於某一閾值(0.5)的框。

2.2. Class Prediction

和 YOLOv2 一樣,YOLOv3 仍然採取多標籤分類(multilabel classification),因爲標籤有重疊,比如人和女人。訓練中爲每個類使用獨立的邏輯分類器,使用 binary cross-entropy loss 。

2.3. Predictions Across Scales

YOLOv3 檢測時會預測三個尺寸的檢測框。因此,卷積層最後輸出三維的邊界框(4 個偏移量),分數(1個)和類別(80個),所以輸出的向量爲 N×N× [3 ∗ (4 + 1 + 80)]。

再說一下 k-means 聚類中心當作參考框,我們只是隨意選擇了9個聚類和3個比例,然後將這些聚類在各個比例之間平均分配。

2.4. Feature Extractor

特徵提取使用了新網絡它是 YOLOv2 的 Darknet-19 和殘差網絡的一個混合網絡。它使用了連續的 3×3 和 1×1 卷積層以及 shortcut connections,最後有 53 個卷積層,姑且稱爲 Darknet-53

在 ImageNet 和這些網絡比較,可以看出 Darknet-53 分類比較有效。

3. How We Do

YOLOv3 在 COCO 數據集上的表現和分析如下:

和 SSD 比性能差不多,但速度快 3 倍。從性能看, YOLOv3 和 RetinaNet 這樣的模型還有一些差距。

單看 AP50 這個指標(IOU=0.5),YOLOv3 快追上 RetinaNet,遠在 SSD 及它的其他版本之上,這體現了 YOLOv3 的潛力。但看其他指標,當 IOU 要求變高 YOLOv3 的性能變低,這說明模型還需要解決對齊的問題。

YOLO 以前的版本檢測小物體不理想,但看 YOLOv3 的 APs 指標相對較高,這說明多尺寸訓練比較有效。但 APm 和 APL 相對較差。
在這裏插入圖片描述

4. Things We Tried That Didn’t Work

爲改進模型的其他沒效果的嘗試:

Anchor box x, y offset predictions
使用線性激活函數將 x,y 的偏移量預測爲框寬度或高度的倍數。

Linear x, y predictions instead of logistic
使用線性激活來直接預測x,y偏移量,而不是邏輯迴歸。

Focal loss
另一種損失。→ 參考

Dual IOU thresholds and truth assignment
模仿 Faster R-CNN,在訓練中使用兩個 IOU 閾值。

5. What This All Means

這部分是 conclusion 和 discussion。

YOLOv3 是一個又準又快的目標檢測器,實驗證明它比 YOLOv2 性能提升不少。

根據實驗,YOLOv3 的 AP 在 IOU 爲 0.5 到 0.95 的情況下表現不太好,但在 IOU 爲 0.5 的情況下表現不錯。

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