1. 程式人生 > >實用,小物體檢測的有監督特徵級超分辨方法 | ICCV 2019

實用,小物體檢測的有監督特徵級超分辨方法 | 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** ![](https://upload-images.jianshu.io/upload_images/20428708-0b323c3bea8ed6e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) * **論文地址:[http://openaccess.thecvf.com/content_ICCV_2019/papers/Noh_Better_to_Follow_Follow_to_Be_Better_Towards_Precise_Supervision_ICCV_2019_paper.pdf](http://openaccess.thecvf.com/content_ICCV_2019/papers/Noh_Better_to_Follow_Follow_to_Be_Better_Towards_Precise_Supervision_ICCV_2019_paper.pdf)** # Introduction ***   目前檢測演算法的研究取得了很大的進步,但仍然面臨小物體、遮擋物體和不完整物體的檢測問題。論文專注於接近proposal-based檢測演算法的小物體檢測問題,認為小物體檢測問題的主要原因在於小物體在特徵圖上的資訊太少 ![](https://upload-images.jianshu.io/upload_images/20428708-72a41cb8c45be440.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   特徵超分辨(feature-level super-resolution)是一個很不錯的增強小物體特徵資訊的方法,該方法的關鍵在於構造有效的高解析度特徵直接指導generator的訓練。有效的獲取方法是通過縮放原圖然後進行特徵提取,取對應的區域的特徵作為訓練目標,這樣能夠有效地保留目標的上下文資訊。論文發現高低解析度特徵的相對感受域並不是跟縮放比例一致的,而保持相對感受域大小對超分辨訓練很重要,如圖1所示,即要根據相對感受域變換對目標區域進行縮放   論文的主要貢獻如下: * 考察現有的用於小物體檢測的特徵超分辨方法,總結其作用的關鍵點主要有兩點:(i) 使用高解析度的目標特徵作為監督訊號 (ii) 輸入特徵和目標特徵在原圖上的相對感受域大小需要匹配 * 提出新的特徵超解析度方法,可以用於任何帶ROI特徵池化的proposal-based檢測器。目標生成器與主幹網路共享權重,使用空洞卷積,另外好提供了迭代式(iterative)的方法來產生超分辨特徵 * 從實驗來看,該方法不僅有效增強小物體檢測,對中大物體檢測也有促進,在Tsinghua-Tencent 100K資料集達到SOTA # Mismatch of Relative Receptive Fields *** ![](https://upload-images.jianshu.io/upload_images/20428708-1e49bf9258aa415f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   為了說明感受域不對等的問題,論文舉了圖2的例子,其中需要注意的是$R_w$為特徵圖上一個點對應的感受域,即連續提取特徵所涉及的區域,非stride ![](https://upload-images.jianshu.io/upload_images/20428708-d45ff6d7d3297bc9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對於圖2中的例子,ROI對應的特徵的絕對感受域大小(ARF)如公式1 ![](https://upload-images.jianshu.io/upload_images/20428708-69ae5aa19e826740.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   相對感受域大小(RRF)如公式2,即公式1除以原圖大小 ![](https://upload-images.jianshu.io/upload_images/20428708-e5141b4b3640cb72.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   假設對輸入進行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) 使用空洞卷積來匹配高低解析度特徵圖的感受域 ![](https://upload-images.jianshu.io/upload_images/20428708-f94437a649bc5ac7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   超分辨模組主要為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主幹共享權重 ![](https://upload-images.jianshu.io/upload_images/20428708-c4e04c173c2f1ce2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   常規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}$ ![](https://upload-images.jianshu.io/upload_images/20428708-fb74253ce25ea346.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   由於$F_i^{0.5}$只包含了小物體的粗粒度且低頻(理解為變化小)的資訊,因此需要結合前面層(sub layer)的特徵$F_{sub,i}^{0.5}$。如圖5所示,超分辨特徵生成器通過迭代式地精調特徵$F_i^{0.5}$,最終生成與特徵$T_i^{1.0}$相似的特徵$S_i^{0.5}$ ![](https://upload-images.jianshu.io/upload_images/20428708-5bd396a625bdb894.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   為了讓生成器符合預期,增加公式2的特徵級損失函式 ![](https://upload-images.jianshu.io/upload_images/20428708-368ed34a871f4358.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對於超分辨特徵辨別器,使用多層感知機(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 ![](https://upload-images.jianshu.io/upload_images/20428708-739e256607e14791.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   這是個交通標誌的資料集,若IoU大於0.5則認為正確,在不同的主幹網路上新增論文提出的方法進行對比,結果如表1 ![](https://upload-images.jianshu.io/upload_images/20428708-91b583fc4b560f07.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   與SOTA小目標檢測演算法進行對比 ### Results on PASCAL VOC and MS COCO ![](https://upload-images.jianshu.io/upload_images/20428708-4ba960bdb310e441.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ### Comparison of Super-resolution Methods ![](https://upload-images.jianshu.io/upload_images/20428708-31ca74244c5771e0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)   對比不同超分辨方法的結果,表4的分別為不進行超分辨、去掉$\mathcal{L}_{cont}$、使用主幹特徵提取生成目標特徵以及論文的完整方案 ![](https://upload-images.jianshu.io/upload_images/20428708-308d6ae9e1aa5134.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ### Qualitative Results ![](https://upload-images.jianshu.io/upload_images/20428708-1f1ca054e2843672.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) # Conclusion ***   論文提出新的特徵級超分辨方法用於提升檢測網路的小物體檢測效能,該方法適用於帶ROI池化的目標檢測演算法。在VOC和COCO上的小物體檢測最大有5~6%mAP提升,在Tsinghua-Tencent 100K上的小物體檢測則最大有約9點F1提升       > 如果本文對你有幫助,麻煩點個贊或在看唄~ 更多內容請關注 微信公眾號【曉飛的演算法工程筆記】 ![work-life balance.](https://upload-images.jianshu.io/upload_images/20428708-7156c0e4a2f49bd6.png?imageMogr2/auto-orient/strip%7CimageView2/2