實用,小物體檢測的有監督特徵級超分辨方法 | ICCV 2019
論文提出新的特徵級超分辨方法用於提升檢測網路的小物體檢測性能,該方法適用於帶 ROI 池化的目標檢測演算法。在 VOC 和 COCO 上的小物體檢測最大有 5~6% mAP 提升,在 Tsinghua-Tencent 100K 上的小物體檢測則最大有約 9 點 F1 提升
來源:曉飛的演算法工程筆記 公眾號
論文: Better to Follow, Follow to Be Better: Towards Precise Supervision of Feature
Super-Resolution for Small Object Detection
Introduction
目前檢測演算法的研究取得了很大的進步,但仍然面臨小物體、遮擋物體和不完整物體的檢測問題。論文專註於接近 proposal-based 檢測演算法的小物體檢測問題,認為小物體檢測問題的主要原因在於小物體在特徵圖上的資訊太少
特徵超分辨(feature-level super-resolution)是一個很不錯的增強小物體特徵資訊的方法,該方法的關鍵在於構造有效的高解析度特徵直接指導 generator 的訓練。有效的獲取方法是通過縮放原圖然後進行特徵提取,取對應的區域的特徵作為訓練目標,這樣能夠有效地保留目標的上下文資訊。論文發現高低解析度特徵的相對感受域並不是跟縮放比例一致的,而保持相對感受域大小對超分辨訓練很重要,如圖 1 所示,即要根據相對感受域變換對目標區域進行縮放
論文的主要貢獻如下:
- 考察現有的用於小物體檢測的特徵超分辨方法,總結其作用的關鍵點主要有兩點:(i) 使用高解析度的目標特徵作為監督訊號 (ii) 輸入特徵和目標特徵在原圖上的相對感受域大小需要匹配
- 提出新的特徵超解析度方法,可以用於任何帶 ROI 特徵池化的 proposal-based 檢測器。目標生成器與主幹網路共享權重,使用空洞卷積,另外好提供了迭代式(iterative)的方法來產生超分辨特徵
- 從實驗來看,該方法不僅有效增強小物體檢測,對中大物體檢測也有促進,在 Tsinghua-Tencent 100K 數據集達到 SOTA
Mismatch of Relative Receptive Fields
為了說明感受域不對等的問題,論文舉了圖 2 的例子,其中需要注意的是R_w為特徵圖上一個點對應的感受域,即連續提取特徵所涉及的區域,非 stride
對於圖 2 中的例子,ROI 對應的特徵的絕對感受域大小(ARF)如公式 1
相對感受域大小(RRF)如公式 2,即公式 1 除以原圖大小
假設對輸入進行 0.5 倍下取樣,則原圖和縮放後的圖片的相對感受域比例如公式 3,c=R_W /D是個常數。可以看到,若w增大,DRRF 會趨向 1,若w減小,DRRF 會趨向 2,即小物體在高低解析度的圖片中的感受域可以有接近兩倍的差異。對於 ResNet-50 的 Faster R-CNN,R_W=291,D=16,則DRRF_{1/2}(4,1600)\approx 1.8
Our Approach
論文的方法主要通過超分辨增強小目標的特徵,基於兩個關鍵點:(i) 超分辨生成器的直接監督訓練 (ii) 使用空洞卷積來匹配高低解析度特徵圖的感受域
超分辨模組主要為 GAN 模型,在基礎的檢測模型上添加了四個組件:
- SR feature generator,作為 GAN 模組的生成器,生成高解析度特徵
- SR feature discriminator,作為 GAN 模組的辨別器,辨別來自 generator 和 SR target extractor 的特徵圖
- SR target extractor,提供準確率超分辨特徵目標指導 GAN 訓練
- small predictor,替代原模型的預測器(large predictor),預測來自 SR feature extractor 的小目標特徵圖,小目標定義的閾值為 Tsinghua-Tencent(32\times 32)、VOC/COCO(96\times 96)
Super-resolution Target Extractor
定義原圖為I^{1.0},下取樣 0.5 倍的圖為I^{0.5},F_i^{1.0}為原圖第i個 ROI 池化後的特徵,上一節說到不能直接用F_i^{1.0}作為F_i^{0.5}的超分辨目標,需要獲取更合適的高分辨特徵目標T_i^{1.0},與F_i^{0.5}有類似的感受域。因此,提出額外的 CNN 特徵提取器(super-resolution target extractor)來生成T_i^{1.0},結構如圖 3,為了生成一樣的特徵,與 CNN 主幹共享權重
常規 CNN 中核大於 1 的卷積和池化操作都會增大感受域,SR target extractor 需要匹配感受域的增大比例,調整每層的 RRF。對於無參數的池化操作,可以直接增大核的大小,而對於卷積操作,增大卷積核則會導致權重跟原 CNN 不一致。因此,論文將對應主幹的卷積核大於 1 的卷積改為擴張率為 2 空洞卷積,在保持權重一致的情況下增大感受域。另外對於步長不為 1 的卷積操作,直接使用仿照使用空洞卷積會導致像素被跳過,如圖 4b。因此,論文在空洞卷積後面加入池化層來解決匹配主幹上步長不為 1 的卷積操作,如圖 4c
總而言之,SR target extractor 包含空洞卷積操作和池化操作來匹配縮小圖片上擴大的感受域,T_i^{1.0}比F_i^{1.0}更適合作為高解析度目標,而且T_i^{1.0}包含更多對小物體檢查有用的上下文資訊
Super-resolution Feature Generator
特徵超分辨模組為生成對抗網路(GAN),目的是將小目標的池化特徵F_i^{1.0}轉換為超分辨處理的特徵S_i^{1.0}。為了獲取高低像素特徵對進行訓練,將原圖下取樣 0.5 倍,獲取第i層特徵F_i^{0.5}和 SR target extractor 生成的目標特徵T_i^{1.0}
由於F_i^{0.5}只包含了小物體的粗粒度且低頻(理解為變化小)的資訊,因此需要結合前面層(sub layer)的特徵F_{sub,i}^{0.5}。如圖 5 所示,超分辨特徵生成器通過迭代式地精調特徵F_i^{0.5},最終生成與特徵T_i^{1.0}相似的特徵S_i^{0.5}
為了讓生成器符合預期,增加公式 2 的特徵級損失函數
對於超分辨特徵辨別器,使用多層感知機(3 層),目標是能夠辨別T_i^{1.0}和S_i^{0.5},而生成器是將F_{i}^{1.0}生成為難以與T_i^{1.0}區分開的S_i^{0.5},兩者結合起來最小化公式 5 和 6。只有小目標才會過 GAN 模組,不同數據集不同的閾值,具體閾值見本章開頭。為了確保生成的特徵對最終的結果有用,在經過 GAN 模組後,將超分辨特徵輸入到 small predictor,計算分類損失\mathcal{L}_{cls}和定位損失\mathcal{L}_{loc}對 GAN 進行 fine-tuning
Training
首先訓練基礎檢測網路,包含主幹特徵提取、RPN 和 large predictor。然後凍結主幹特徵提取和 RPN 進行 GAN 模組的訓練,生成器通過加權\mathcal{L}_{gen}、\mathcal{L}_{cont}、\mathcal{L}_{cls}和\mathcal{L}_{loc}進行訓練,而辨別器則使用\mathcal{L}_{dis}。同時,small predictor 使用特徵S_i^{1.0}進行訓練。SR 目標特徵提取使用主幹特徵提取進行初始化,而 small predictor 使用 large predictor 進行初始化。當生成器和辨別器收斂後,凍結其它模組進行 small predictor 和 large predictor 的 fine-tune,繼續訓練能夠保證預測器能夠適應其輸入的尺寸
Inference
推理時,若 ROI 是大目標,則使用 large predictor 進行預測,若 ROI 是小目標,則使用 SR 特徵生成器對其進行特徵處理,然後在使用 small predictoe 進行預測
Experiments
Results on Tsinghua-Tencent 100K
這是個交通標誌的數據集,若 IoU 大於 0.5 則認為正確,在不同的主幹網路上添加論文提出的方法進行對比,結果如表 1
與 SOTA 小目標檢測演算法進行對比
Results on PASCAL VOC and MS COCO
Comparison of Super-resolution Methods
對比不同超分辨方法的結果,表 4 的分別為不進行超分辨、去掉\mathcal{L}_{cont}、使用主幹特徵提取生成目標特徵以及論文的完整方案
Qualitative Results
Conclusion
論文提出新的特徵級超分辨方法用於提升檢測網路的小物體檢測性能,該方法適用於帶 ROI 池化的目標檢測演算法。在 VOC 和 COCO 上的小物體檢測最大有 5~6% mAP 提升,在 Tsinghua-Tencent 100K 上的小物體檢測則最大有約 9 點 F1 提升
如果本文對你有幫助,麻煩點個贊或在看唄 ~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】