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

參與: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 的性能和訓練效率還能得到進一步提升。

論文鏈接:

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

項目地址:

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 方法進行比較。

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 3232 字。

轉載請註明: 模型的跨界:我拿Transformer去做目標檢測,結果發現效果不錯 - 楠木軒