深度學習論文筆記:SSD

知識點

  • Jaccard overlap, Jaccard similarity:
    Jaccard coefficient:
    J(A,B)=|AB||AB|

    A,B分別代表符合某種條件的集合:兩個集合交集的大小/兩個集合並集的大小,交集=並集意味着2個集合完全重合。
    所以Jaccard overlap其實就是IoU。

Abstract

  • SSD: 利用單個深度神經網絡的目標檢測方法。將邊界框的輸出空間離散化爲一組默認框,在每個feature map位置上有着不同的寬高比和尺度。
  • 在預測的時候,網絡針對每個默認框中的每個存在的對象類別產生分數,並且對框的進行調整以更好地匹配對象形狀。
  • 在多尺度圖像處理方面,網絡組合來自具有不同分辨率的多個feature map的預測,以自然地處理各種尺寸的對象。
  • 相比於基於object proposal的方法,SSD是簡單地,因爲它能夠完全消除*proposal generation和後續的像素或者特徵重衝採樣階段*,所有的計算都封裝在單獨的網絡中。

Introduction

  • 目前的目標檢測系統是以下方法的變體:假設邊界框(bounding box),對每個框進行像素或特徵重取樣,採用高質量分類器。
  • 評估速度方法:SPF (seconds per frame).
  • 提出第一個基於深度網絡的不需要爲BB進行resample pixels or features的目標檢測器,並能夠同樣達到高準確率。
  • 本論文的貢獻(具體看論文):
    • 引入了SSD。
    • SSD的核心。
    • 爲了實現高檢測準確率,引入了在不同尺度和橫縱比的feature maps上進行預測。
    • End-to-end training 以及高準確率,機試在低分辨率圖片。
    • 在PASCAL VOC、COCO和ILSVRC上進行試驗,具有很強的競爭力。

The Single Shot Detector (SSD)

Model

  • 基於前向卷積神經網絡,產生固定尺寸的BB集,以及這些BB中存在物體的分數,之後跟隨者一個非極大值抑制步驟來產生最終檢測。
  • 網絡前面的幾層是基於標準的用於產生高質量圖像分類的架構,我們成爲基礎網絡。我們給網絡然後添加了輔助的結構來產生檢測結構。輔助網絡具備以下關鍵特徵:

    • 用於檢測的多尺寸特徵圖。在基礎網絡後面添加額外幾個卷積層,在尺寸上逐層遞減,從而能夠在不同尺寸上檢測。(Overfeat和YOLO都只是在單獨尺寸的feature map上進行操作。)

    • 用來預測的卷積預測器(Convolutional predictors)。

    • 默認的boxes和aspect ratios。我們將一組默認邊界框與每個feature map單元關聯,用於網絡頂部的多個特徵映射。在每個feature map單元格中,我們預測相對於單元格中的默認框形狀的偏移,以及指示每個框中存在類實例的每類分數。(本論文中的default boxes類似於Faster R-CNN中的anchor boxes,然而我們將他用於不同分辨率的幾個feature maps中)

Training

  • 訓練SSD和訓練使用region proposals的典型檢測器之間的關鍵區別是:ground truth信息需要分配給固定的檢測器輸出集合中的特定輸出。

  • 訓練涉及到:

    • choosing the set of default boxes and scales for detection。
    • hard negative mining。
    • data augmentation strategies(數據增加策略)。

Matching strategy

在訓練過程中,對於每一個ground truth,我們都從默認框中選擇每個不同的位置、aspect ratio、scale的bounding boxes。首先匹配最好的jaccard overlap的default box(類似於MultiBox),但與MultiBox不同的是,我們然後匹配default box與任何ground truth,只要jaccard overlap高於閾值(0.5)。這樣簡化了學習問題。

Training objective

整體的代價函數是localization loss和confidence loss之和:

L(x,c,l,g)=1N(Lconf(x,c)+αLloc(x,l,g))
  • N是匹配的default boxes的數量,N=0時,loss=0。

  • localization loss是predicted box和ground truth box之間的Smooth L1 loss(類似於Faster R-CNN)。我們預測default box的中心(cx,cy) ,以及寬度(w) 和長度(h)

  • confidence loss是多個類confidence(c) 之間的softmax loss

  • 權值α 通過交叉驗證設爲1。

Choosing scales and aspect ratios for default boxes

  • 不同於將照片處理爲不同尺寸再結合結果的方法,本論文通過利用單個神經網絡中不同層的feature maps,可以達到同樣的效果,同時可以在所有尺寸中共享權值。

  • 利用較低層的feature maps可以提高semantic segmentation質量,應爲較低層往往可以捕捉到更精細的細節。

  • 我們同時使用較低和較高層的feature maps來進行檢測。

  • 網絡中不同層的feature maps有着不同的接受域的尺寸。

  • 假設我們想要使用m個feature maps用來檢測,則每個feature map的default boxes的scale可以這樣計算:

  • 通過結合在許多feature maps上所有位置上的所有的有着不同scale和aspect ratio的default boxes,我們可以產生對不同物體大小和形狀的各種預測。

  • 如下圖中,狗在8x8的feature map中沒有匹配的default box,因此在訓練中會被作爲負樣本,但是在4x4的feature map中有着匹配的feature map。

Hard negative mining

  • 通過匹配階段後,default boxes中會產生大量的negatives,尤其是當可能的default boxes數量非常大時。這導致positive和negative時間嚴重的不平衡。
  • 我們將negative examples的default boxes通過其最高的confidence loss進行排序,然後選擇較高的幾個,使negative examples和positive examples之間的比例保持在3:1之間。這樣會更快的優化和更穩定的訓練。

Experimental Results

  • 所有的實驗都是基於VGG16。
  • 將fc6和fc7轉化爲卷積層,從fc6和fc7中取樣子參數。
  • 將pool5從2x2-s2轉化爲3x3-s1。
  • 使用a trous algorithm來填補“holes”。
  • 移去了所有的dropout層和fc8層。
  • 用SGD進行微調。
  • 學習率103 ,動量0.9,weight decay是0.0005,batch size是32.

PASCAL VOC2007

  • “xavier” method來初始化新加入的層的參數。
  • 通過detection analysis tool分析後,顯示SSD有着更少的localization錯誤,因爲其能夠直接去學習regress物體的形狀,並分類,而非使用兩個互相解耦的步驟。
  • 然而,SSD對於相似的物體會有更多的混淆,特別是animals,一部分原因。
  • SSD對bounding boxes尺寸是十分敏感的。提升輸入尺寸可能會提升小物體檢測,但依舊有許多空間提升。

Model analysis

  • Data augmentation很重要。
  • 更多的default boxes的形狀可能會更好。
  • Atrous is faster:如果不使用更改後的VGG-16,雖然結果一樣,但是速度回降低20%。
  • 不同分辨率中多個輸出層會更好。SSD的主要貢獻是在不同輸出層上使用不同尺度的默認框。

PASCAL VOC2012

  • 和PASCAL VOC2007一樣的實驗設置。
  • 在2012 trainval+2007 trainval+2007 test上進行訓練,在2012 test上進行測試。

COCO

  • COCO中的物體比PASCAL VOC中的物體小,所以我們在所有層上使用更小的default boxes

Data Augmentation for Small Object Accuracy

  • 對SSD來說,對小物體分類的任務相對Faster R-CNN來說會更難。
  • Data augmentation對於特高性能是十分顯著的,尤其是小數據及。
  • 改進SSD的另一種方法是設計更好的平鋪默認框(tiling of default boxes),使其位置和尺度更好地與特徵圖上每個位置的接收場對準。

Inference time

  • 考慮到從我們的方法生成的大量框,有必要在推理期間有效地執行非最大抑制(nms)。
  • 通過使用0.01的限制閾值,我們可以過濾大多數bounding boxes。 然後我們應用nms,每個類別的jaccard重疊0.45,並保持每個圖像前200個檢測。
  • 80%的前向傳遞時間被花費在了base network,所以使用一個更快的base network可以提高速度。
  • 有兩種已建立的用於圖像中的對象檢測的方法類別,一種基於滑動窗口,另一種基於region proposal classification。

Conclusion

  • 我們模型的一個關鍵特性是使用多尺度卷積邊界框輸出附加到網絡頂部的多個特徵圖。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章