YOLOS:通過目標檢測重新思考Transformer(附源代碼)

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

重磅乾貨,第一時間送達




論文地址: https://arxiv.org/pdf/2106.00666.pdf
源代碼地址: https://github.com/hustvl/YOLOS


1


前言
Transformer能否從純序列到序列的角度執行2D目標級識別,而對2D空間結構知之甚少?爲了回答這個問題,今天就展示了“You Only Look at One Sequence” ( YOLOS ),這是一系列基於樸素視覺變換器的目標檢測模型,具有儘可能少的修改和inductive biases。 

YOLOS-S, 200 epochs pre-trained, COCO AP = 36.1
我們發現僅在中等大小的ImageNet-1k數據集上預訓練的YOLOS已經可以在COCO上實現具有競爭力的目標檢測性能,例如直接從BERT-Base中採用的YOLOS-Base可以實現 42.0 box AP 。研究者還通過目標檢測討論了當前預訓練方案和模型縮放策略對Transformer在視覺中的影響和侷限性。


2


背景
Transformer 爲遷移而生。在自然語言處理 (NLP) 中,主要方法是首先在大型通用語料庫上預訓練Transformer以進行通用語言表示學習,然後針對特定目標任務對模型進行微調。最近, Vision Transformer (ViT)表明,直接從NLP繼承的典型Transformer編碼器架構可以使用現代視覺遷移學習配方在大規模圖像識別上表現出奇的好。將圖像補丁嵌入序列作爲輸入,ViT可以從純序列到序列的角度成功地將預訓練的通用視覺表示從足夠的規模轉移到更具體的圖像分類任務,數據點更少。

ViT-FRCNN是第一個使用預訓練的ViT作爲R-CNN目標檢測器的主幹。然而,這種設計無法擺脫對卷積神經網絡(CNN)和強2D歸納偏差的依賴,因爲ViT-FRCNN將ViT的輸出序列重新解釋爲2D空間特徵圖,並依賴於區域池化操作(即RoIPool或RoIAlign)以及基於區域的CNN架構來解碼ViT特徵以實現目標級感知。受現代CNN設計的啓發,最近的一些工作將金字塔特徵層次結構和局部性引入Vision Transformer設計,這在很大程度上提高了包括目標檢測在內的密集預測任務的性能。然而,這些架構是面向性能的。另一系列工作,DEtection TRansformer(DETR)系列,使用隨機初始化的Transformer對CNN特徵進行編碼和解碼,這並未揭示預訓練Transformer在目標檢測中的可遷移性。

ViT-FRCNN

爲了解決上面涉及的問題,有研究者展示了You Only Look at One Sequence (YOLOS),這是一系列基於規範ViT架構的目標檢測模型,具有儘可能少的修改以及注入的歸納偏置。從ViT到YOLOS檢測器的變化很簡單:

  • YOLOS在ViT中刪除[CLS]標記,並將一百個可學習的[DET]標記附加到輸入序列以進行目標檢測;

  • YOLOS將ViT中的圖像分類損失替換爲bipartite matching loss,以遵循Carion等人【End-to-end object detection with transformers】的一套預測方式進行目標檢測。這可以避免將ViT的輸出序列重新解釋爲2D特徵圖,並防止在標籤分配期間手動注入啓發式和對象2D空間結構的先驗知識。


3


新框架

  • YOLOS刪除用於圖像分類的[CLS]標記,並將一百個隨機初始化的檢測標記([DET] 標記)附加到輸入補丁嵌入序列以進行目標檢測。

  • 在訓練過程中,YOLOS將ViT中的圖像分類損失替換爲bipartite matching loss,這裏重點介紹YOLOS的設計方法論。

Detection Token
我們有目的地選擇隨機初始化的[DET]標記作爲目標表示的代理,以避免2D結構的歸納偏差和在標籤分配期間注入的任務的先驗知識。在對COCO進行微調時,對於每次前向傳遞,在[DET]tokens生成的預測與真實對象之間建立最佳二分匹配。該過程與標籤分配的作用相同,但不知道輸入的2D結構,即YOLOS不需要將ViT的輸出序列重新解釋爲用於標籤分配的2D特徵圖。理論上, YOLOS在不知道確切的空間結構和幾何形狀的情況下執行任何維度的物體檢測是可行的 ,只要每次通過輸入總是以相同的方式展平爲一個序列。
YOLOS-S, 300 epochs pre-trained, COCO AP = 36.1
Fine-tuning at Higher Resolution
在COCO上進行微調時,除用於分類和邊界框迴歸的MLP頭以及隨機初始化的100個[DET]標記外,所有參數均從ImageNet-1k預訓練權重初始化。分類和邊界框迴歸頭均由MLP實現,具有兩個使用單獨參數的隱藏層。 
在微調期間,圖像具有比預訓練高得多的分辨率,爲了保持補丁大小相同(16 × 16),這導致更大的有效序列長度。雖然ViT可以處理任意序列長度,但位置嵌入需要適應更長的輸入序列。我們以相同的方式對預訓練的位置嵌入進行2D插值。


4


實驗分析及可視化


YOLOS的不同版本的結果

與訓練的效果

不同尺度模型的預訓練和遷移學習性能

與一些小型CNN檢測器的比較

Self-attention Maps of YOLOS
檢驗與YOLOS-S最後一層頭部預測相關的[DET]tokens的自注意力。可視化pipeline遵循【  Emerging properties in self-supervised vision transformers 】。可視化結果如下圖所示。

  • 對於給定的YOLOS模型,不同的自注意力頭關注不同的模式和不同的位置。一些可視化是可解釋的,而另一些則不是。

  • 我們研究了兩個YOLOS模型的注意力圖差異,即200 epochs ImageNet-1k預訓練YOLOS-S和300 epochs ImageNet-1k預訓練YOLOS-S。注意這兩個模型的AP是一樣的(AP=36.1)。從可視化中,我們得出結論,對於給定的預測對象,相應的[DET]標記以及注意力圖模式通常對於不同的模型是不同的。


努力分享優質的計算機視覺相關內容,歡迎關注:

交流羣


歡迎加入公衆號讀者羣一起和同行交流,目前有美顏、三維視覺計算攝影、檢測、分割、識別、醫學影像、GAN算法競賽等微信羣


     
        
        
        
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載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源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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