眾所周知,Transformer已經(jīng)席卷深度學(xué)習(xí)領(lǐng)域。Transformer架構(gòu)最初在NLP領(lǐng)域取得了突破性成果,尤其是在機器翻譯和語言模型中,其自注意力機制允許模型處理序列數(shù)據(jù)的全局依賴性。隨之,研究者開始探索如何將這種架構(gòu)應(yīng)用于計算機視覺任務(wù),特別是目標檢測,這是計算機視覺中的核心問題之一。
在目標識別方面,F(xiàn)acebook提出的DETR(Detection Transformer)是第一個將Transformer的核心思想引入到目標檢測的模型,它拋棄了傳統(tǒng)檢測框架中的錨框和區(qū)域提案步驟,實現(xiàn)了端到端的檢測。
本文將使用四個預(yù)訓(xùn)練的DETR模型(DETR ResNet50、DETR ResNet50 DC5、DETR ResNet101和DETR ResNet101 DC5)在自定義數(shù)據(jù)集上對其進行微調(diào),通過比較它們在自定義數(shù)據(jù)集上的mAP,來比較評估每個模型的檢測精度。
DETR模型結(jié)構(gòu)
DETR模型通過將卷積神經(jīng)網(wǎng)絡(luò)CNN與Transformer架構(gòu)相結(jié)合,來確定最終的一組邊界框。
在目標檢測中,預(yù)測的Bounding box經(jīng)過非極大值抑制NMS處理,獲得最終的預(yù)測。但是,DETR默認總是預(yù)測100個Bounding box(可以配置)。因此,我們需要一種方法將真實Bounding box與預(yù)測的Bounding box進行匹配。為此,DETR使用了二分圖匹配法。
DETR使用CNN模型作為Backbone,在官方代碼中,選用的是ResNet架構(gòu)。CNN學(xué)習(xí)二維表示,并將輸出展平,再進入位置編碼(positional encoding)階段。位置編碼后的特征進入Transformer編碼器,編碼器學(xué)習(xí)位置嵌入(positional embeddings)。這些位置嵌入隨后傳遞給解碼器。解碼器的輸出嵌入會進一步傳遞給前饋網(wǎng)絡(luò)(FFN)。FFN負責(zé)識別是物體類別的邊界框還是'no object'類別。它會對每個解碼器輸出進行分類,以確定是否檢測到對象以及對應(yīng)的類別。