深度學習筆記(十)Augmentation for small object detection(翻譯)


一. abstract

  這些年來,目標檢測取得了令人矚目的成就。盡管改進很大,但對於小目標和大目標的檢測性能差異還是蠻大的。我們在 MS COCO 數據集上分析了如今一個比較先進的算法,Mask-RCNN。我們發現小目標的 GT 和檢測框之間 IOU 遠小於期望的閾值(比如0.5)。我們推測這是由於兩個因素: 1) 包含小目標的圖片的數量忒少, 2) 即使每張圖片里都有小目標,這些小目標在整圖中占比也太少了。因此我們建議對這些包含小目標的圖像進行 oversample,並通過多次復制粘貼小目標的方式來 augment 包含小目標的每張圖片。通過這種方式我們可以增強小目標的檢測性能。我們實驗了不同的 pasting augumentation 策略,最終,我們在實例分割任務上獲得了 $9.7\%$ 的提升,在檢測任務中獲得了 $7.1\%$ 的性能提升。

二. Introduction

  目標檢測是當今計算機視覺研究的基本任務之一,因為它往往是許多現實應用的起點,包括機器人和自動駕駛、衛星和航空圖像分析,以及醫學圖像中器官和物體的定位。這一重要的目標檢測問題近年來取得了很大的進展。MS COCO 目標檢測大賽的第一名解決方案從2015年的 mAP=0.373 提升到了2017年的 mAP=0.525(at IoU=.50:.05:.95 which is a primary challenge metric)。在MS COCO實例分割挑戰下的實例分割問題中也可以看到類似的進展。盡管有這些改進,現有的解決方案在處理小目標時往往表現不佳。按照 Table 1 界定了目標大小划分規則,Figure 1 列舉了幾個牛逼的實例分割算法的結果,可以明顯看出各種模型在小目標和大目標的檢測性能上的顯著差距。具體的,讓我們通過 Figure 2 來瞅瞅 Mask-RCNN 的檢測結果,小目標基本上是檢測不到滴。

   小目標檢測是許多下游任務的關鍵。在自動駕駛領域,從汽車的高分辨率場景照片中檢測小的或者遠的物體是必要的。例如交通燈、行人通常在高分辨率圖像中經過縮放后就瞅不見了。對於醫療圖像,早期檢測到腫塊和腫瘤是准確診斷的關鍵,而在早期診斷時,這樣的元素很容易只有幾個像素。工業自動檢測同樣需要小目標檢測來定位材料表面可見的小缺陷。對於衛星圖像分析,圖像中的目標例如車、船、馬等都需要詳細的標注。這些圖像的分辨率范圍為 $0.5-5m$,然而對應的目標則可能只有幾十甚至幾個像素。換句話說,隨着更復雜的系統在現實世界中部署,小目標檢測和分割需要更多的關注。

  這里,我們的實驗室基於 MS COCO 數據集和 Mask R-CNN[1] 展開的。關於數據集,我們注意到它有兩個特點:首先,該數據集中包含小目標的圖像相對較少,那么可能會導致訓練出來的模型更關注於中、大目標的檢測。其次,小目標覆蓋的面積很小,這意味着小目標出現的位置缺乏多樣性。我們目測,當模型較少的探索這些區域時,會使得檢測模型很難推廣到小目標。

  對於第一個問題,我們通過對包含小目標的圖像進行 oversampling 來解決。而對於第二個問題,我們通過在每個包含小目標的圖像中多次復制粘貼小目標來處理。復制目標時,我們確保不會和已經存在的目標有任何交疊。這增加了小目標位置的多樣性,同時確保這些目標出現在正確的上下文中,如 Figure 3 所示。

 

  每幅圖像中小目標數量的增加進一步解決了少量匹配 Anchor 的問題,我們將在Section 3 中定量分析。總體而言,與目前最先進的方法 Mask R-CNN 相比,我們在 MS COCO 上實現了 $9.7\%$ 的實例分割和 $7.1\%$ 的目標檢測相對改進。

三. Related Work

 1. Object Detection

Faster RCNN[2], R-FCN[3] 和 SSD[4] 是三個主流的目標檢測算法,它們的區別在於是否有 region proposal 以及在哪里 attached[5]。Faster R-CNN and its variants are designed to help with a variety of object scales, as differential cropping merges all proposals into a single resolution. 然而這發生在深度卷積網絡中,會導致裁剪出來的 boxes 可能與物體不完全對齊,從而在實際中降低模型的性能。SSD 的拓展版本 DSSD[6] 通過 the transposed convolutions in the decoder part[7] 對 low-resolution features 進行upsamples 來增加內部空間分辨率。同樣的,FPN[8] 通過 decoder type sub-network 拓展了Faster R-CNN。

2. Instance Segmentation

Instance segmentation goes beyond object detection and requires predicting the exact mask of each object. Multi-Task Network Cascades(MNC)[9] build a cascade of prediction and mask re nement. Fully convolutional instance-aware semantic segmentation (FCIS)[10] is a fully convolutional model that computes a position sensitive score map shared by every region of interest.  [11], which is also a fully convolutional approach, learns pixel embedding. Mask R-CNN extends the FPN model with a branch for predicting masks and introduces new differential cropping operation for both object detection and instance segmentation.

3. Small objects

小目標的檢測可以通過提高輸入圖像的分辨率來實現,或者將高分辨率特征與低分辨率圖像的高維特征融合[12]。然而,這種使用更高分辨率的方法增加了計算開銷,並且不能解決大小目標之間的不平衡。[13]使用 GAN 在卷積網絡中構建特征,但這些特征在交通標志和行人檢測上下文中難以區分大小目標。[14]在 region proposal network 中,根據不同的分辨率層使用不同尺度的 anchor。[15]按照 anchor 的大小 shifts image features 來覆蓋 anchor 之間的間隙。[16,17,18] add the context when cropping a small object proposal.

三. Identifying issues with detecting small objects

這一節,我們首先概述下 MS COCO 數據和實驗中用到的目標檢測方法。然后我們討論 MS COCO 數據集和使用 anchor 類方法的問題,它們都是增加小目標檢測難度的原因。

 1. MS COCO

  我們使用 MS COCO 檢測數據集進行了實驗,MS COCO 2017 檢測數據集包含 118287 張訓練圖片、5000 張驗證圖片和 40670 張測試圖片。包含了 80 個類別的 860,001 和 36,781 個目標用 ground-truth 邊界框和實例掩碼進行了標注。

  在 MS COCO 檢測任務中,主要的評價指標是 AP,AP 是 precision/recall 曲線的一種定量表達。一個 TP,不僅要分類正確還要回歸足夠好,比如檢測框和 GT 的 intersection-over-union (IoU) 要大於0.5。The AP scores are averaged across the 80 categories and ten IoU thresholds, evenly distributed between 0.5 and 0.95. The metrics also include AP measured across different object scales. 本文中, 我們首要關注點是小目標的 AP。

2. Mask R-CNN

本文實驗利用 Detectron[19] 框架下的 Mask R-CNN 實現,使用 ResNet-50 backbone 和 [20] 中提出的線性縮放規則來設置學習超參數。我們設置初始學習率 0.01,利用分布式 GPUs 訓練迭代 36k iterations。對於優化,我們使用隨機梯度下降法 with the momentum set to 0.9 and weight decay with the coefficient set to 0.0001. 訓練過程中學習率分別在 24K 和 32K 次時按照 0.1 的比例降低兩次。其他參數設置參考 Detectron - Mask R-CNN+FPN+ResNet-50 下的設置。

在我們的調研中發現 region proposal 階段特別重要。我們采用 FPN 來生成 object proposals。它定義了 5 個尺度($32^2$; $64^2$; $128^2$; $256^2$; $512^2$) 3 個寬高比(1; 0:5; 2) 一共 15 個anchor 來構成 object proposals. 與 GT 的 $IoU\ge0.7$ 的 anchor 或者 GT 能匹配到的最大 IoU 的 anchor 作為正樣本。

3. Small object detection by Mask R-CNN on MS COCO

  在 MS COCO 中,訓練集中出現的所有目標中有 $41.43\%$ 是小的,而只有 $34.4\%$ 和 $24.2\%$ 分別是中型和大型目標。另一方面,只有約一半的訓練圖片包含任何小物體,而 $70.07\%$ 和 $82.28\%$ 的訓練圖像分別包含中型和大型物體。請參閱 Table 2 中的對象和圖像計數。這確認了小對象檢測問題背后的第一個問題:使用小對象的示例較少。

  隨着而來的是第二個問題,不同大小的目標的 Total Object Area 差異很大。只有 $1.23\%$ 的標注像素屬於小目標。中型目標占比 $10.18\%$,是小目標的十倍。而有 $82.28\%$ 的占比屬於大目標。任何在此數據集上訓練的檢測器都不能看到足夠多的小對象,無論是跨圖像還是跨像素。

  正如之前所描述的,將 anchor 和 GT 匹配后,匹配 $IoU\ge0.7$ 的 anchor 會作為正樣本參與訓練。這種匹配方式更傾向於大目標,這就造成了小目標匹配少、大目標匹配多的不平衡性。就像 Table 2 中描述的一樣,對於小目標只有 $29.96\%$ 的 anchor 能與之匹配,而有 $44.49\%$ 的 anchor 能與大目標匹配上。從另一個角度來看,這意味着每個大目標有 2.54 個匹配 anchor,而每一個小目標只有 1 個匹配 anchor。此外,正如 $Average Max IoU$ 指標所示,即使是小對象的最佳匹配 anchor 通常也具有較低的 IoU。在Figure 5 中,我們可視化了這個現象。這些觀察表明,小目標對計算 region proposal 損失的貢獻要小得多,這使得整個網絡偏向於大中型目標。

四. Identifying issues with detecting small objects

  我們針對上文中提出的 MS COCO 數據的問題進行改進以提升小目標的性能。具體的,我們對包含小目標的圖像進行 oversample,並對小目標進行 augmentation,以鼓勵模型更多地關注小目標。雖然我們只使用Mask R-CNN來實驗,但是這些改進可以推廣到其他目標檢測網絡或框架里,因為 oversample 和 augmentation 都作為數據預處理來進行的。

Oversampling

  我們通過在訓練階段對包含小目標的圖像進行 oversampleing 來解決包含小目標的圖像相對較少的問題 [21]。這是一種簡單直接的方法來解決 MS COCO 數據集的問題,以提升小目標的檢測性能。在實驗中,我們通過改變 oversampleing rate,來研究其對小、中、大目標的影響。

Augmentation

  在 oversampleing 的基礎上,我們還引入了針對小目標的數據集的 augmentation。MS COCO 數據集里實例分割中的 mask 使得我們可以將任何標注目標貼到圖像中的任意位置。而通過增加每個圖像中小目標的數量,匹配的 anchor 的數量也會隨之增加,這進而提升了小目標在訓練階段對 loss 計算的貢獻。

  將目標粘貼到新位置之前,我們對其進行隨機變換。目標縮放范圍為$\pm20\%$,旋轉范圍為$\pm15^{\circ}$。復制時我們只考慮無遮擋的目標,防止圖像太不真實。粘貼時確保新粘貼的目標不會與任何現有的對象發生重疊,並且距離圖像邊界至少有 5 個像素。

  Figure 4,我們用圖形說明了所提出的 augmentation 策略以及如何在訓練中增加匹配 anchor 的數量,從而更好地檢測小目標。

五. Experimental Setup

 1. Oversampling

  在第一組實驗中,我們研究了包含小目標圖像的 oversampling 的效果。oversampling ratio 分別設置為 2, 3, 4。為了提高實驗效率,我們實際上並沒有隨機 oversampling,而是創建了直接創建了多個圖像副本(圖像列表里重復就好了)

 2. Augmentation

  在第二組實驗中,我們研究了 augmentation 的效果。我們包含小目標的圖像里的所有小目標復制和粘貼一次。我們還實驗了 oversampling 和 augmentation 之間的相互作用。

  我們實驗了三種設置。第一種設置,我們將小目標貼到每張包含小目標的圖像中。第二種設置,我們復制這些 augmented 圖像來模擬 oversampling。第三種設置,我們保留 original 圖像和 augmented 圖像,這相當於對包含小目標的圖像進行 2 倍的 oversampling,同時復制副本里包含更多的小目標。

3. Copy-Pasting Strategies

  復制粘貼小目標有很多種方法。我們考慮了三種不同的策略。首先,我們在圖像中選擇一個小目標,然后在隨機位置復制粘貼多次。其次,我們選擇許多小目標,並在任意位置復制粘貼它們一次。最后,我們將每個圖像中所有的小目標在任意位置復制粘貼多次。在所有的情況下,我們都使用上面的第三種 augmentation 設置,也就是說,我們保留原始圖像和它的 augmented 副本一共四份數據。

 4. Pasting Algorithms

  當粘貼一個小目標時,有兩件事需要考慮。首先,我們必須確定粘貼的對象是否與任何其他對象重疊。雖然我們選擇不引入任何重疊,但我們通過實驗驗證了這是否是一個好的策略。其次,我們需要選擇是否以平滑處理粘貼對象的邊緣。實驗中我們選擇對比了是否使用不同大小的濾波器來 Gaussian blurring 邊界對性能的影響。

六. Result and Analysis

 1. Oversampling

通過在訓練過程中更頻繁地采樣小目標圖像(見Table 3),對於小目標的分割和檢測 AP 都有所提升。

 2. Augmentation

Table4 展示了我們使用不同的組合提出的 augmentation and oversampling 策略的結果。當我們用包含更多小目標的副本(第二行)替換每個包含小目標的圖像時,性能顯著下降。而單我們將這些 augmented 圖像復制兩份,小目標的分割和檢測性能得到了恢復,盡管總體性能仍然比 baseline 差。當我們在 augmented 驗證集上評估時,小目標的性能提升了 $38\%$(mAP=0.161),表明訓練后的模型有效地 overfit 到“粘貼”的小對象上,但不一定適合於原始的小對象。我們猜測這是由於人工復制的不完美性導致的,例如粘貼的目標 mask 和 background 亮度差,這些相對容易被神經網絡發現。采用 augmentation and oversampling 相結合的方法,取得了較好的效果,augmentation 的概率為 0.5,這使得原始目標和 augmented 的目標比例為 2:1。這種設置比單純的 oversampling 效果更好,驗證了所提出的粘貼小對象策略的有效性。

 3. Copy-Pasting strategies

Copy-pasting of a single object

Table 5,我們看到復制粘貼單個小目標可以提升模型檢測小目標的能力,然而,代價是大圖片的性能下降了一點。但這樣的結果比 $2\times$ oversampling 要好。

Copy-pasting of multiple objects

Table 6,每個圖像復制粘貼多個小對象比只復制粘貼一個對象要好。這里我們看到粘貼三次的效果最好。

Copy-pasting of all small objects

Table 7,列出復制粘貼每個圖像中所有小目標的結果。在對所有小目標只進行一次 augmenting 時,得到了最佳的分割和檢測結果。我們猜測這背后可能有兩個原因:首先,通過擁有所有小目標的多個副本,原始目標與粘貼小目標的比例迅速下降。其次,每個圖像中的小目標數量會成倍增加,這將導致訓練圖像和測試圖像之間出現更大的不匹配。

Pasting Algorithms

Table 8,在不考慮其他物體已經占據的區域的情況下隨意粘貼到圖像中,會導致小目標的性能較差。它證明我們的設計選擇是合理的,以避免粘貼對象和現有對象之間的任何重疊。此外,粘貼對象邊緣的高斯模糊並沒有顯示出任何改進,這表明最好是按原樣粘貼對象,除非使用更復雜的融合策略。

六. Conclusion

本文研究了小目標檢測的問題。研究表明,小目標的檢測性能較差的原因之一是訓練數據中小目標的再現性較差。對於現在主流的 anchor 類檢測器來說尤其如此,因為它需要足夠的小目標來和 anchor 進行匹配。為了解決這一問題,我們提出了對原有的 MS COCO 數據集進行 augmenting 操作:首先通過對包含小目標的圖像進行 oversampling,可以很容易地提高小對象的性能。其次,提出了一種基於復制粘貼小對象的 augmentation 算法。與目前最先進的方法 Mask R-CNN 相比,我們在 MS COCO 上實現了 $9.7\%$ 的實例分割和 $7.1\%$ 的目標檢測相對改進。實驗證明,所提出的增強方法可以在對小目標和大目標的預測質量之間進行權衡。

 References

[1] Mask r-cnn.

[2] Faster r-cnn: Towards real-time object detection with region proposal networks,

[3] R-fcn: Object detection via region-based fully convolutional networks.

[4] Ssd: Single shot multibox detector.

[5] Speed/accuracy trade-o s for modern convolutional object detectors,

[6] Dssd: Deconvolutional single shot detector,

[7] The devil is in the decoder,

[8] Fpn: Feature pyramid networks for object detection,

[9] Instance-aware semantic segmentation via multi-task network cascades,

[10] Fully convolutional instance-aware semantic segmentation,

[11] Semantic instance segmentation via deep metric learning,

[12] Feature-fused ssd: fast detection for small objects,

[13] Perceptual generative adversarial networks for small object detection,

[14] Improving small object proposals for company logo detection,

[15] Small-objectness sensitive detection based on shifted single shot detector,

[16] Small object detection in optical remote sensing images via modi ed faster r-cnn,

[17] Loco: Local context based faster r-cnn for small trac sign detection,

[18] Finding tiny faces,

[19] Detectron: https://github.com/facebookresearch/detectron

[20] Accurate, large minibatch sgd: Training imagenet in 1 hour,

[21] A systematic study of the class imbalance problem in convolutional neural networks,

 


免責聲明!

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



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