1. 程式人生 > 其它 >[You Only Look Once: Unified, Real-Time Object Detection] 閱讀筆記

[You Only Look Once: Unified, Real-Time Object Detection] 閱讀筆記

[You Only Look Once: Unified, Real-Time Object Detection] 閱讀筆記

You Only Look Once: Unified, Real-Time Object Detection

[論文連線] (https://arxiv.org/abs/1506.02640)

背景

YOLO 之前的目標檢測演算法是在將一個分類器在測試圖片的各種位置和不同縮放的情況下進行檢測。

  • Deformable parts models (DPM):使用滑動視窗的方法,使得分類器在整個圖片上均勻地進行檢測

  • R-CNN 系列:使用區域建議網路生成潛在的可能包含目標的邊界框,並且使用分類器在目標框上進行二分類。然後,使用分類器和後處理過程去細化邊界框、去除重疊檢測,並對目標進行評分。

相比與傳統目標檢測演算法,YOLO的優點

YOLO 將目標檢測看作是一個單一的迴歸問題,直接從圖片畫素迴歸出邊界座標和類別概率。

  1. YOLO 非常地快。將目標檢測看作迴歸問題,不需要複雜的過程。
  2. YOLO 在進行預測時對全圖語義進行理解。YOLO 在訓練和推理的過程中,顯式的直接編碼全域性語義資訊。
  3. YOLO 學習到了目標更加泛化地表達

Unified Detection

  • YOLO 系統將輸入影象劃分為 \(S \times S\) 個網路。如果一個目標的中心點落在一個網路格里,那麼這個網路格負責檢測這個目標。

  • 每個網路格預測 B 個邊界框和每個框的置信分數。定義置信度為 \(Pr(Object) * IOU_{pred}^{truth}\)

    .

  • 每個邊界框包含 5 個預測值:\(x,y,w,h\) 和置信分數。其中,\((x,y)\) 表示邊界框中心點相對於網格格邊界的差值。\((w,h)\) 是相對於這個影象的值。

  • 每個網格還需要預測 C 個類別條件概率,\(Pr(Class_i|Object)\)。此時,不用考慮每個網格有 B 個邊界框,對於每個網格,只有 C 個類別條件概率。

  • 測試階段,將類別條件概率與邊界框置信分數相乘。

\[Pr(Class_i|Object) * Pr(Object) * IOU_{pred}^{truth} = Pr(Class_i) * IOU_{pred}^{truth} \]
  • 模型最後預測編碼為 \(S \times S \times (B*5 + C)\)
    . 在 \(PASCAL VOC\) 資料集上設定 \(S=7,B=2,C=20\), 即最後預測為 \(7 \times 7 \times 30\) 的向量。

Network Design

  • 網路模型結構有 24 層卷積和 2 層全連線層組成。整個網路結構如下圖所示。

Training

  • 網路模型先在 \(ImageNet\) 1000 類別的資料集上預訓練。預訓練時,使用網路模型的前 20 層,後面接一個平均池化層和一個全連線層。

  • 網路模型中最後一層使用線性啟用函式,其他層使用 \(Leaky \quad rectified \quad linear \quad activation\). 公式如下:

  • 在訓練階段,僅僅使得一個邊界預測器負責一個目標。一個預測器只負責預測結果和 ground truth 的IOU最大的那一個。

  • 訓練時的損失函式如下:

Inference

  • 對於每張圖片,網路模型預測出 98 個邊界框和49組類別概率。

Limitations of YOLO

  • YOLO 每個網格僅僅預測出 2 個邊界框和 1 個類別。限制了 YOLO 去預測有大量群居的目標。

  • YOLO 模型很難推廣到具有特殊長寬比的目標檢測中。

  • YOLO 損失函式中同等對大邊界框和小邊界框的錯誤,使得小的邊界框容易出現更大的錯誤。

一些實驗結果



本文來自部落格園,作者:ijliu,轉載請註明原文連結:https://www.cnblogs.com/ijliu/p/15925018.html