SNIPER: Efficient Multi-Scale Training

conclusion:

主要針對小目標檢測, 沒有提出新的檢測算法, 僅僅是對輸入圖像的一個採樣策略.

主要思想是儘量讓輸入訓練的一張圖像裏面的各個目標的尺度在一個範圍內, 不要相差太大從而提升性能, 並且不要讓那些無關的背景區域也過多的參與訓練從而提高效率

主要方法是圖像金字塔, 定義chip, 就像是滑動窗口, 然後選出一些目標多的窗口chip(對於圖像金字塔的每個尺度計算的目標也限定在一定的尺度), 另外作者還用了一些技巧去Hard negative mining, 即找到沒有那麼多目標但容易誤判有很多目標的窗口(chip), 從而提升對背景區域的檢測能力.

使用fast r-cnn的架構

相關背景

本篇是SNIP的升級版, 進一步思考尺度不變形和加快其訓練速度.

 

作者用了很大篇幅討論關於目標檢測尺度不變形的問題, 尺度不變形即體系經過尺寸變換後, 其某一特性不變.

 

R-CNN本身具有很好的尺度不變形 .使用提出很多候選區域, 固定成相同的大小, 這就引入了尺度不變形(體系的尺寸相同). 主要問題是太慢了.

 

Fast R-CNN卷積共享解決了慢的問題, 然而對於不同大小的目標, 都是在同一個尺度的圖像上卷積計算特徵(理想狀態是輸入的任一一張圖像中, 在這個圖像裏的每個目標都差不多大小, 這也是本文解決的問題.). 這就影響了尺度不變性. 所以訓練和推理一般使用多個圖像金字塔, 由於特徵共享引入了全局信息, 所以性能也就好很多.

 

綜上本文提出一種SNIPER的方法,通過生成scale specific context-regions,不管哪個尺度都採樣到512x512,這樣既保留RCNN的尺度不變性和Fast系列的速度,也由於過濾到了很大一部分背景而比SNIP快很多

SNIPER

 

先定義chip

安裝圖像金字塔的形式, 講原始圖像分成多個尺寸(本文3個), 然後以K*K(本文512)的框, stride=d(本文32)在整個圖上滑動, 生產的就是chip. 這些chip就是cnn的輸入. 在原圖按照比例使用不同的K生產chip, 然後再映射到512, 這種方法實現容易. 上圖左面綠的是GT, 別的顏色就是chip. 顯然藍色的紅色的chip來自同一個尺度的圖像

 

正的chip

顯然不能讓每個chip都參與訓練, 對於一個圖大部分都是背景, 咱們只需要拿出來一些GT比較多的chip來訓練就可以了, 選擇哪些呢?

在第i種尺度圖像, 安照SNIP的思想, 僅僅觀察指定尺寸範圍內的目標, 這些目標稱爲有效GT(記爲Gi). 如果一個有效GT完全位於一個chip內側, 則稱這個GT被這個chip覆蓋. 現在在當前圖像中選擇覆蓋有效GT最多的前幾個chip(具體幾個看code, 這不重要)作爲正chip, 記爲C{i, pos}. 如上圖, 紅色的就是在當前尺度中沒有在有效範圍內的GT. 綠色的是有效的GT.

其實這樣選並不能保證所有的GT都能覆蓋, 但是我們是訓練, 完全沒必要選擇出所有GT去訓練.

這樣同時每個chip只包含合適尺寸的檢測物體,這使得模型更加容易收斂.

 

負的chip

我們訓練如果只用正chip, 可以想到會出很大問題, 因爲測試的時候要使用所有chip, 其中很多chip難免是背景, 如果使用僅僅用正chip訓練的網絡, 那麼對背景chip, 會提出一些false 正例. 基於這個原因, 需要找一些負的chip. 而所謂負的chip代表那些很那確定有沒有物體的chip(顯示不是純背景), 尋找方案如下:

(由於沒看代碼, 這段讀了很久也不是很懂, 僅僅提供參考)

使用正chip訓練RPN, 然後對於當前 i 尺度的圖像, 我們去掉那些正的chip, 使用剩餘的chip通過剛剛訓練的rpn去生成proposal. 所謂負的chip就是那些至少覆蓋M個proposal的chip. 記爲C(i, neg).

 

 

SNIPER的訓練

在Faster R-CNN中訓練是兩個過程: RPN+Fast R-CNN, SNIPER使用了這種訓練形式

在SNIPER中,兩個任務會使用兩個不同的標籤,首先訓練RPN時,chips中的待檢測物體的Ground Truth並不會受範圍 R 的限制。但是再根據RPN提取的候選區域訓練Fast R-CNN時,在範圍 \mathcal{R} 之外的候選區域並不會參與Fast R-CNN的訓練。這麼做的原因作者沒有指出,猜測是RPN需要檢測的候選區域覆蓋範圍更廣,因此需要更多的,範圍更大的Ground Truth。而Fast R-CNN需要檢測的更準確,因此把這個任務交給了能提取到更合適的特徵向量的對應尺度。

 

另外其測試也要在多尺度上進行. 最終使用soft-NMS

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