模型的跨界:我拿Transformer去做目標檢測,結果發現效果不錯

2021-02-08 澎湃新聞

機器之心

機器之心報導

參與:Racoon、杜偉、張倩

自 2017 年被提出以來,Transformer 已經席捲了整個 NLP 領域,紅極一時的 BERT、GPT-2 都採用了基於 Transformer 的架構。既然這麼好用,為什麼不用到 CV 裡?最近,Facebook AI 的研究者就進行了這方面的嘗試,把 Transformer 用到了目標檢測任務中,還取得了可以媲美 Faster R-CNN 的效果。

近年來,Transformer 成為了深度學習領域非常受歡迎的一種架構,它依賴於一種簡單但卻十分強大的機制——注意力機制,使得 AI 模型有選擇地聚焦於輸入的某些部分,因此推理更加高效。

Transformer 已經廣泛應用於序列數據的處理,尤其是在語言建模、機器翻譯等自然語言處理領域。此外,它在語音識別、符號數學、強化學習等多個領域也有應用。但令人意外的是,計算機視覺領域一直還未被 Transformer 所席捲。

為了填補這一空白,Facebook AI 的研究者推出了 Transformer 的視覺版本——Detection Transformer(以下簡稱 DETR),用於目標檢測和全景分割。與之前的目標檢測系統相比,DETR 的架構進行了根本上的改變。這是第一個將 Transformer 成功整合為檢測 pipeline 中心構建塊的目標檢測框架。

在性能上,DETR 可以媲美當前的 SOTA 方法,但架構得到了極大簡化。具體來說,研究者在 COCO 目標檢測數據集上將 DETR 與 Faster R-CNN 基線方法進行了對比,結果發現 DETR 在大型目標上的檢測性能要優於 Faster R-CNN,但在小目標的檢測上性能不如後者,這為今後 DETR 的改進提供了新的方向。

DETR 通過將一個常見 CNN 與 Transformer 結合來直接預測最終的檢測結果。在訓練期間,二分匹配(bipartite matching)向預測結果分配唯一的 ground truth 邊界框。沒有匹配的預測應生成一個「無目標」的分類預測結果。

DETR 提供了一個更加簡單、靈活的 pipeline 架構,需要的啟發式更少。使用基本的架構塊可以將推理壓縮為 50 行簡單的 Python 代碼。

此外,由於 Transformer 已經在多個領域被證明是一個強大的工具,Facebook 的研究者相信,如果進行進一步調參,DETR 的性能和訓練效率還能得到進一步提升。

論文連結:https://arxiv.org/pdf/2005.12872v1.pdf

為了方便大家復現 DETR 的結果,Facebook 還在 GitHub 上開源了該模型的代碼和預訓練模型。

項目地址:https://github.com/facebookresearch/detr

Facebook 表示,基線 DETR 在單節點 8 個 V100 GPU 上訓練了 300 個 epoch,每個 epoch 需要花費 28 分鐘,因此訓練 300 個 epoch 大約需要 6 天。他們在 GitHub 中提供了 150 個 epoch 的訓練結果和日誌供大家參考。

另外,研究者還提供了 Colab Notebook,我們可以上傳自己的圖片進行預測。

不過,也有人對研究結果提出了質疑:「Faster RCNN 算哪門子 SOTA?」

的確,在目標檢測領域,Faster RCNN 已經太老了,比最近的 ResNeSt 不知差了多少,拉這個出來對比性能確實有些牽強。

COCO 上的目標檢測算法 SOTA 演變

不過也有人認為,我們更應該看到的是論文創新的一面,畢竟作者在一個新的方向上做了嘗試,而且也有一定的應用場景(如同時處理圖像和文字這種多模態任務)。

處理目標檢測任務的全新架構

DETR 將目標檢測任務視為一種圖像到集合(image-to-set)的問題。給定一張圖像,模型必須預測所有目標的無序集合(或列表),每個目標基於類別表示,並且周圍各有一個緊密的邊界框。

這種表示方法特別適合 Transformer。因此,研究者使用卷積神經網絡(CNN)從圖像中提取局部信息,同時利用 Transformer 編碼器-解碼器架構對圖像進行整體推理並生成預測。

在定位圖像中的目標以及提取特徵時,傳統計算機視覺模型通常使用基於自定義層的複雜且部分手動操作的 pipeline。DETR 則使用更為簡單的神經網絡,它可以提供一個真正的端到端深度學習解決方案。

傳統兩階段檢測系統,如 Faster R-CNN,通過對大量粗糙候選區域的過濾來預測目標邊界框。與之相比,DETR 利用標準 Transformer 架構來執行傳統上特定於目標檢測的操作,從而簡化了檢測 pipeline。

DETR 框架包含一個通過二分匹配做出獨特預測的基於集合的全局損失,以及一個 Transformer 編碼器-解碼器架構。給定一個小集合固定的學得目標查詢,DETR 對目標和全局圖像背景的關係作出推理,從而直接並行輸出最終的預測集。之前有研究者嘗試將循環神經網絡等架構用於目標檢測,但由於這類架構是按序列而非並行做預測,因而速度慢且有效性低。

Transformers 的自注意力機制使得 DETR 可以在圖像以及預測的特定目標上執行全局推理。例如,該模型可以觀察圖像的其他區域以幫助確定邊界框中的目標。此外,DETR 還可以基於圖像中目標間的關係或相關性做出預測。舉例而言,如果 DETR 預測到圖像中包含一個站在沙灘上的人,那麼它也會知道部分被遮擋的目標更有可能是衝浪板。相比之下,其他檢測模型只能孤立地預測每個目標。

研究者表示,DETR 還可以擴展至其他相關任務,比如全景分割,該任務旨在分割明顯前景目標的同時為背景中的所有像素打上標籤。

一個架構搞定圖文處理

從研究創新和信息推理方式兩方面來說,將 Transformers 應用於視覺領域有助於縮小 NLP 和計算機視覺社區的差距。人們對同時處理視覺和文本輸入這類型的任務有著很大的興趣,比如 Facebook 最近推出的惡意模因挑戰賽(Hateful Memes Challenge,檢測惡意圖文)。眾所周知,傳統架構處理這類雙模態任務非常困難。

DETR 的新型架構有助於提升計算機視覺模型的可解釋性,並且由於其基於注意力機制,所以當它做預測時,很容易就能觀察到網絡正在查看圖像的哪部分區域。

最後,Facebook AI 的研究者希望 DETR 可以促進目標檢測領域的進展,並開發出處理雙模態任務的新方法。

實驗結果

研究者將 DETR 得到的結果與 Faster R-CNN 在 COCO 數據集上進行了量化評估。之後為展示 DETR 的多功能與可擴展性,研究者提供了其在全景分割中的結果,在實驗中保持 DETR 模型的權值不變,僅對一小部分擴展模塊進行訓練。

與 Faster R-CNN 對比

下表展示了在 COCO 驗證集上,DETR 與 Faster R-CNN 進行對比的結果。

表 1:在 COCO 驗證集上與 Faster R-CNN 的對比結果。

結果表明,DETR 在大目標的檢測中性能表現較好,在小目標的檢測中表現較差。

將 DETR 用於全景分割

全景分割最近在計算機視覺社區受到了廣泛關注。類似於 Faster R-CNN 的擴展 Mask R-CNN,DETR 同樣能夠很方便地通過在解碼器輸出頂端添加 mask head 來進行擴展。

下圖展示了 DETR 在全景分割任務中的量化結果。可以看到,DETR 以統一的方式為物體與材料(things and stuff)生成了匹配的預測蒙版。

圖 9:DETR-R101 處理的全景分割結果。

結果顯示 DETR 尤其擅長對材料分類,研究者推測,解碼器注意力機制具有的全局推理特性是產生這一結果的關鍵因素。

在下表中,研究者將自己所提出的統一全景預測方法與區分物體和材料的其他方法進行了比較。

表 5:在 COCO 驗證集上,將 DETR 與目前的 SOTA 方法進行比較。

參考連結:https://ai.facebook.com/blog/end-to

原標題:《模型的跨界:我拿Transformer去做目標檢測,結果發現效果不錯》

閱讀原文

相關焦點

  • NLP攜手Transformer跨界計算機視覺,DETR:目標檢測新範式
    其實,它還可以用來進行目標檢測。Facebook AI 的研究者首先推出了 Transformer 視覺版本——Detection Transformer(DETR),填補了 Transformer 用於目標檢測的空白,對標超越 Faster RCNN。基於 DETR,研究者們提出了多種優化版本進行目標檢測任務,效果還不錯。
  • 熱門的模型跨界,Transformer、GPT做CV任務一文大盤點
    其實不然,現階段已出現好多研究,它們通過算法的改進,將在 NLP 領域表現良好的模型,如 Transformer、GPT 等進行改進並應用於視覺任務,不僅實現了模型跨界,而且取得了不錯的性能。模型跨界效果如何呢?人工智慧的快速發展已經淋漓盡致地體現在我們的日常生活中,從人臉識別、語音識別到機器翻譯等等,無不展示著 AI 帶來的便利。
  • Facebook AI的DETR:一種基於Transformer的目標檢測方法
    前不久,Facebook開源了一個這樣的框架,DETR(DEtection TRansformer)在本文中,我們將快速了解目標檢測的概念,然後研究DETR及其帶來的好處。目標檢測在計算機視覺中,目標檢測是一項將對象與背景區分開,並預測圖像中存在的對象的位置和類別的任務。當前的深度學習方法試圖將其作為分類問題或回歸問題或綜合兩者的目標檢測任務來解決。
  • NLP/CV模型跨界,視覺Transformer趕超CNN?
    不過,不斷有研究者嘗試將 NLP 領域的 Transformer 進行跨界研究,有的還實現了相當不錯的結果。近日,一篇匿名的 ICLR 2021 投稿論文將標準 Transformer 直接應用於圖像,提出了一個新的 Vision Transformer 模型,並在多個圖像識別基準上實現了接近甚至優於當前 SOTA 方法的性能。
  • Transformer在CV領域有可能替代CNN嗎?
    目前已經有基於Transformer在三大圖像問題上的應用:分類(ViT),檢測(DETR)和分割(SETR),並且都取得了不錯的效果。那麼未來,Transformer有可能替換CNN嗎,Transformer會不會如同在NLP領域的應用一樣革新CV領域?後面的研究思路可能會有哪些?
  • NLP/CV模型跨界進行到底,視覺Transformer要趕超CNN?
    不過,不斷有研究者嘗試將 NLP 領域的 Transformer 進行跨界研究,有的還實現了相當不錯的結果。近日,一篇匿名的 ICLR 2021 投稿論文將標準 Transformer 直接應用於圖像,提出了一個新的 Vision Transformer 模型,並在多個圖像識別基準上實現了接近甚至優於當前 SOTA 方法的性能。
  • 首個基於Transformer的目標檢測模型上線,大目標檢測超越Faster R...
    研究員聲稱這種方法簡化了目標檢測模型的創建,並減少了對手工組件的需求。   Facebook AI Research的六名成員研究了近期非常流行的Transformer神經網絡架構,創建了一個端到端的目標檢測AI。研究員聲稱這種方法簡化了目標檢測模型的創建,並減少了對手工組件的需求。
  • 視覺Transformer最新綜述
    Pretrain:傳統情況下 ViT 也是要預訓練的,不同於 iGPT,這不是一個生成式的模型,只採用了 transformer 的 encoder,因此直接在 imagenet 做分類任務進行 pretrain。文章顯示數據集小的時候效果一般,數據集大的時候因為 data bias 已經被消除了很多,此時效果非常好。Evaluation:分類任務的評價不再多說。
  • A Survey on Visual Transformer及引文理解
    Pretrain:傳統情況下ViT也是要預訓練的,不同於iGPT,這不是一個生成式的模型,只採用了transformer的encoder,因此直接在imagenet做分類任務進行pretrain。文章顯示數據集小的時候效果一般,數據集大的時候因為data bias已經被消除了很多,此時效果非常好。Evaluation:分類任務的評價不再多說。
  • 帶你一文了解GPT-2模型(transformer語言模型可視化)
    本文將介紹能讓模型生成結果的架構,深入到自注意力(self-attention)層,接著會講一些僅含解碼器的transformer在語言建模之外的應用。我之前寫過Illustrated Transformer一文,本文是對其的補充,將會更加直觀地解釋transformer的內部操作,以及是如何從初級階段演變的。
  • ...利用基於遷移學習策略的transformer 模型進行Heck反應預測
    與經典的神經循環網絡(Recurrent Neural Network, RNN)不同,該模型完全依賴於注意力機制(attention mechanism)並且能夠更好地捕捉文字序列相關信息。近年來,化學家逐漸將目光投向這一模型的實際化學應用並取得重大的突破。但是受限於化學數據的規模較小,對於小數據反應transformer模型的預測效果並不顯著。
  • |利用基於遷移學習策略的transformer 模型進行Heck...
    近年來,化學家逐漸將目光投向這一模型的實際化學應用並取得重大的突破。但是受限於化學數據的規模較小,對於小數據反應transformer模型的預測效果並不顯著。該文研究者創新性地提出使用遷移學習(transfer learning)來突破這個困局,使小數據的高精度預測能夠成為現實。值得注意的是,該文所使用的遷移學習,是一類經典的機器學習優化手段。
  • 超越SOTA Transformer模型,哈佛、FAIR提出基於殘差能量模型的文本...
    機器之心報導機器之心編輯部在本文中,來自哈佛大學、Facebook AI 研究院的研究者提出了一種基於殘差能量模型的文本生成方法,效果超過 state-of-the-art 的 transformer 語言模型。
  • 目標檢測第3步-模型訓練
    修改代碼文件model_lib.py完成後,則可以在cmd中重新輸入命令開啟模型訓練。模型訓練穩定地進行一段時間後,會做一次模型評估,如下圖所示。6 查看模型訓練狀況模型訓練穩定地進行後,在桌面的目標檢測文件夾中重新打開cmd。
  • 圖解OpenAI的秘密武器GPT-2:可視化Transformer語言模型
    在這篇文章中,我們將介紹什麼樣的結構能夠讓模型產生好的結果,深入研究模型中的self-attention層,此外,我們將研究除語言建模之外的Transformer模型Decoder結構的應用。我寫本文主要是為了補充我之前的「圖解Transformer模型」系列。
  • AAAI 2020 | NAS+目標檢測:AI設計的目標檢測模型長啥樣?
    而由於改進的訓練方法,搜索時可以不採用任何的預訓練模型或其他的代理任務,而是直接在數據集上跑預測,使得搜索結果更準確。檢測算法總體上(大多)由 backbone,feature fusion neck(FPN 屬於這類),RPN 和 RCNN head 四種 module 組成,之前有很多工作提出了很多不錯的 module,但是不知如何在硬體資源限制下尋找最優組合。
  • 模型壓縮95%,MIT韓松等人提出新型Lite Transformer
    論文地址:https://arxiv.org/abs/2004.11886v1GitHub 地址:https://github.com/mit-han-lab/lite-transformerTransformer 在自然語言處理任務(如機器翻譯、問答)中應用廣泛,但它需要大量計算去實現高性能,而這不適合受限於硬體資源和電池嚴格限制的移動應用
  • 【transformer】 你應該知道的 transformer
    那麼,我們有沒有辦法提出一個新的模型,能夠並行,並且能夠考慮到輸入序列不同token的權重?聰明的科學家們提出了一種新的模型叫做transformer。其實他就encoder+decoder模式,只是其中的編解碼器採用了self-attention的機制。
  • 如何看待Transformer在CV上的應用前景,未來有可能替代CNN嗎?
    ,侵刪目前已經有基於Transformer在三大圖像問題上的應用:分類(ViT),檢測(DETR)和分割(SETR),並且都取得了不錯的效果。按照我的理解,視覺算法最重要的特性有三個:局部性(locality)、層次性(hierarchy)、幾何性(geometry)。純Transformer模型(如ViT)最讓我不解的,就是patch以上不需要做局部交互,可以暴力地堆砌全局attention。
  • 視覺+Transformer最新論文出爐,華為聯合北大、雪梨大學發表
    作者 | CV君來源 | 我愛計算機視覺Transformer 技術最開始起源於自然語言處理領域,但今年5月份Facebook 的一篇文章將其應用於計算機視覺中的目標檢測(DETR算法,目前已有78次引用)使其大放異彩,並迅速得到CV研究社區的關注。