介紹
機器學習框架或庫有時會更改該領域的格局。今天,Facebook開源了一個這樣的框架,DETR(DEtection TRansformer)
在本文中,我們將快速了解目標檢測的概念,然後直接研究DETR及其帶來的好處。
目標檢測
在計算機視覺中,目標檢測是一項任務,我們希望我們的模型將對象與背景區分開,並預測圖像中存在的對象的位置和類別。當前的深度學習方法試圖解決作為分類問題或回歸問題或綜合兩者的目標檢測任務。
例如,在RCNN算法中,從輸入圖像中識別出幾個感興趣的區域。然後將這些區域分類為對象或背景,最後,使用回歸模型為所標識的對象生成邊界框。
另一方面,YOLO框架(只看一次)以不同的方式處理目標檢測。它在單個實例中獲取整個圖像,並預測這些框的邊界框坐標和類概率。
要了解有關目標檢測的更多信息,請參閱以下文章:
基本目標檢測算法的分步介紹https://www.analyticsvidhya.com/blog/2018/10/a-step-by-step-introduction-to-the-basic-object-detection-algorithms-part-1/?utm_source=blog&utm_medium=facebook-detection-transformer-detr-a-transformer-based-object-detection-approach使用流行的YOLO框架進行目標檢測的實用指南https://www.analyticsvidhya.com/blog/2018/12/practical-guide-object-detection-yolo-framewor-python/?utm_source=blog&utm_medium=facebook-detection-transformer-detr-a-transformer-based-object-detection-approachFacebook AI引入DETR
如上一節所述,當前的深度學習算法以多步方式執行目標檢測。他們還遭受了幾乎重複的問題,即誤報。為簡化起見,Facebook AI的研究人員提出了DETR,這是一種解決物體檢測問題的創新高效方法。
論文:https://arxiv.org/pdf/2005.12872.pdf
開放原始碼:https://github.com/facebookresearch/detr
Colab Notebook:https://colab.research.google.com/github/facebookresearch/detr/blob/colab/notebooks/detr_demo.ipynb
這個新模型非常簡單,你無需安裝任何庫即可使用它。DETR藉助基於Transformer的編碼器-解碼器體系結構將目標檢測問題視為集合預測問題。所謂集合,是指邊界框的集合。Transformer是在NLP領域中表現出色的新型深度學習模型。
本文的作者已經對比了Faster R-CNN,並且在最流行的物體檢測數據集之一COCO上評估了DETR 。
結果,DETR取得了可比的性能。更準確地說,DETR在大型物體上表現出明顯更好的性能。但是,它在小型物體上的效果不佳。我相信研究人員很快就會解決這個問題。
DETR的體系結構
實際上,整個DETR架構很容易理解。它包含三個主要組件:
CNN骨幹網編碼器-解碼器transformer一個簡單的前饋網絡
首先,CNN骨幹網從輸入圖像生成特徵圖。
然後,將CNN骨幹網的輸出轉換為一維特徵圖,並將其作為輸入傳遞到Transformer編碼器。該編碼器的輸出是N個固定長度的嵌入(向量),其中N是模型假設的圖像中的對象數。
Transformer解碼器藉助自身和編碼器-解碼器注意機制將這些嵌入解碼為邊界框坐標。
最後,前饋神經網絡預測邊界框的標準化中心坐標,高度和寬度,而線性層使用softmax函數預測類別標籤。
想法
對於所有深度學習和計算機視覺愛好者來說,這是一個非常令人興奮的框架。非常感謝Facebook與社區分享其方法。