CVPR21目標檢測新框架:只需要一層特徵(乾貨滿滿,建議收藏)

點擊下方AI算法與圖像處理”,一起進步!

重磅乾貨,第一時間送達


論文地址: https://arxiv.org/pdf/2103.09460.pdf

1

前言


自畢業以來,也接觸了各種各樣的目標檢測框架。從剛開始見證TensorFlow崛起到Pytorch佔有人工智能半壁江山,到現在的MMDetection、OneFlow、MindSpore等自主學習框架,也證明了中國的人工智能技術在不斷飛速發展!
目標檢測框架中,最爲熟悉的應該是YOLO系列,從2018年Yolov3年提出的兩年後,在原作者聲名放棄更新Yolo算法後,俄羅斯的Alexey大神扛起了Yolov4的大旗,然後不久又出現了Yolov5。

當然,在公司中實際做項目的時候,很多應用場景中的第一步,都是進行目標檢測任務,比如人臉識別、多目標追蹤、REID等場景。因此目標檢測是計算機視覺領域及應用中非常重要的一部分。


2

背景及YoloF的引出


先給大家提供下前期yolo的地址:

YoloV1論文地址:https://arxiv.org/pdf/1506.02640.pdf
YoloV2(Yolo9000)論文地址: https://arxiv.org/pdf/1612.08242.pdf
Yolov3論文地址: https://arxiv.org/pdf/1804.02767.pdf

Tiny YOLOv3代碼地址:https://github.com/yjh0410/yolov2-yolov3_PyTorch

Yolov4論文地址: https://arxiv.org/pdf/2004.10934.pdf
Yolov5代碼地址: https://github.com/ultralytics/yolov5

YOLObile論文地址:https://arxiv.org/pdf/2009.05697.pdf

YoloF的模型比之前的模型複雜了不少,可以通過改變模型結構的大小來權衡速度與精度。YoloV3的先驗檢測系統將分類器或定位器重新用於執行檢測任務。他們將模型應用於圖像的多個位置和尺度。此外,相對於其它目標檢測方法,YoloV3將一個單神經網絡應用於整張圖像,該網絡將圖像劃分爲不同的區域,因而預測每一塊區域的邊界框和概率,這些邊界框會通過預測的概率加權。模型相比於基於分類器的系統有一些優勢。它在測試時會查看整個圖像,所以它的預測利用了圖像中的全局信息。與需要數千張單一目標圖像的R-CNN不同,它通過單一網絡評估進行預測。這令YoloV3非常快,一般它比R-CNN快1000倍、比Fast R-CNN快100倍。

而今天分享的YOLOF框架,主要對單階段目標檢測中的FPN進行了重思考並指出FPN的成功之處在於它對目標檢測優化問題的分而治之解決思路而非多尺度特徵融合。從優化的角度出發,作者引入了另一種方式替換複雜的特徵金字塔來解決該優化問題:從而可以僅僅採用一級特徵進行檢測。


3

新框架詳解


在目前先進的目標檢測框架網絡中,出現頻率最多的還是特徵金字塔網絡(Feature Pyramid Network,FPN),是一個不可或缺的組成部分。

研究者認爲FPN主要有2個作用:

  • 多尺度特徵融合,提高特徵豐富程度;

  • 使用divide-and-conquer,將目標檢測任務按照目標尺寸大小,分成若干個檢測子任務。

爲了探索FPN的上述2個作用對檢測器性能的貢獻程度,研究者做了實驗,將檢測器抽象成如下圖所示個3個組成部分。

上圖,Encoder主要處理Backbone提取的特徵,將處理結果傳輸給Decoder,用於分類和迴歸。

RetinaNet-ResNet50爲基線方案,將檢測任務分解爲三個關鍵部分:主幹網絡、Encoder及Decoder。下圖給出了不同部分的Flops對比:

  • 相比SiMoEncoder,MiMoEncoder帶來顯著的內存負載問題(134G vs 6G);
  • 基於MiMoEncoder的檢測器推理速度明顯要慢於SiSoEncoder檢測器(13FPS vs 34FPS);
  • 這個推理速度的變慢主要是因爲高分辨率特徵部分的目標檢測導致,即C3特徵部分。

通過上述實驗,可知使用Backbone輸出的單一特徵和分治法,就可以構建一個良好的目標檢測框架網絡。但是使用Single-in-Multiple-out的結構會使得模型變得更大和複雜,因爲Encoder要輸出多個特徵。

基於上述發現,研究者提出了YOLOF(You Only Look One-level Feature)網絡,在YOLOF中,Encoder只用到了Backbone輸出的C5特徵,同時避免使用Single-in-Multiple-out的SiMo複雜結構,而是使用了Single-in-Single-out的SiSo結構以減少計算量。

YOLOF框架草圖如下所示:

YOLOF框架中關鍵的組件主要是膨脹編碼器(Dilated Encoder)均勻匹配(Uniform Matching),給整個檢測帶來了可觀的改進。下面詳細說說:


Dilated Encoder
關鍵組件1


使用Dilated Encoder模塊代替FPN 。SiSo Encoder只使用了Backbone中的C5特徵作爲輸入,C5特徵感受野僅僅覆蓋有限的尺度範圍,當目標尺度與感受野尺度不匹配時就導致了檢測性能的下降。爲使得SiSo Encoder可以檢測所有目標,作者需要尋找一種方案生成具有可變感受野的輸出特徵,以補償多級特徵的缺失。

在C5特徵的基礎上,研究者採用空洞卷積方式提升其感受野。儘管其覆蓋的尺度範圍可以在一定程度上擴大,但它仍無法覆蓋所有的目標尺度。以上圖(b)爲例,相比圖(a),它的感受野尺度朝着更大尺度進行了整體的偏移。然後,研究者對原始尺度範圍與擴大後尺度範圍通過相加方式進行組合,因此得到了覆蓋範圍更廣的輸出特徵👍,見上圖(c)。

Dilated Encoder的結構如下圖所示:


Uniform Matching
關鍵組件2


一般anchor和目標的GT的最大IoU超過0.5,則該anchor爲positive anchorpositive anchor的定義對於目標檢測中的優化問題尤其重要。在anchor-based的檢測中,positive anchor的定義策略主要受anchor與真實框之間的IoU決定,研究者稱之爲Max-IoU matching

在MiMo Encoder中,anchor在多級特徵上以稠密方式進行預定義,同時按照尺度生成特徵級的positive anchor。在分而治之的機制下,Max-IoU matching使得每個尺度下的真實框可以生成充分數量的positive anchor。然而,當研究者採用SiSo Encoder時,anchor的數量會大量的減少(比如從100K減少到5K),導致了稀疏anchor。稀疏anchor進一步導致了採用Max-IoU matching時的不匹配問題。

以上圖爲例,大的目標框包含更多的positive anchor,這就導致了positive anchor的不平衡問題,進而導致了檢測器更多關注於大目標而忽視了小目標

爲解決上述positive anchor不平衡問題,研究者就提出了Uniform Matching策略:對於每個目標框採用k近鄰anchor作爲positive anchor,確保了所有的目標框能夠以相同數量的positive anchor進行均勻匹配。positive anchor的平衡確保了所有的目標框都參與了訓練且貢獻相等。在實現方面,參考了Max-IoU matching,演技組對Uniform matching中的IoU閾值進行設置以忽略大IoU (>0.7)的negative anchor和小IoU (<0.15) positive anchor


4

實驗及可視化


上表給出了新框架與RetineNet在COCO數據集上的性能對比。從中可以看到:

  • YOLOF取得了與改進版RetinaNet+相當的性能,同時 減少了57%的計算量 推理速度快了2.5倍
  • 當採用相同主幹網絡時,由於僅僅採用C5特徵,YOLOF在小目標檢測方面要比RetinaNet+弱一些(低3.1),但在大目標檢測方面更優(高3.3);
  • 當YOLOF採用ResNeXt作爲主幹網絡時,它可以取得與RetinaNet在小目標檢測方面相當的性能且推理速度同樣相當;
  • 多尺度測試輔助,新框架取得了 47.1mAP 的指標,且在 小目標方面 取得了極具競爭力的性能 31.8mAP

上表展示了新框架與DETR的性能對比。從中可以看到:

  • YOLOF取得了與DETR相匹配的的性能;
  • 相比DETR,YOLOF可以從更深的網絡中收益更多,比如ResNet50時低0.4,在ResNet10時多了0.2;
  • 在小目標檢測方面,YOLOF要優於DETR;
  • 在收斂方面, YOLOF要比DETR快7倍 ,這使得YOLOF更適合於作爲單級特徵檢測器的基線。

上表展示了,使用 ResNet-50 使用Dilated EncoderUniform Matching的效果。這兩個組件將原始單級檢測器提高了 16.6 mAP。請注意,上表中 21.1 mAP 的結果不是錯誤。由於YOLOF中解碼器的設計,它的性能略低於帶有SiSo編碼器的檢測器,其分類頭中只有兩個卷積層。

努力分享優質的計算機視覺相關內容,歡迎關注:
     
        
        
        
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!



   
      
      
      
下載3 CVPR2021

AI算法與圖像處公衆號後臺回覆: CVPR 即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文



    本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
    如有侵權,請聯繫 [email protected] 刪除。
    本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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