您當前的位置:首頁 > 文化

End-to-End Object Detection with Transformers展示的方向

作者:由 KMUST人工智慧實驗室 發表于 文化時間:2020-12-19

谷歌一篇《Attention is All YOU NEED》把transformers對文字處理的應用推向了一個高度。這種編碼解碼方式相比序列遞推的RNN,LSTM等網路有著先天對長時序的優勢,可以很好的把相關詞聯絡起來,並且視覺化效果好。

那麼如此便利的機制我們必然會想把他拓展到其他領域。FacebookAI《End-to-End Object Detection with Transformers》就把Attention機制應用於目標檢測。

論文下載地址:

https://

arxiv。org/abs/2005。1287

2

程式碼下載地址:

https://

github。com/facebookrese

arch/detr

摘要:該演算法簡化了目標檢測演算法的流程,同時將那些需要手動設計的技巧nms(極大值抑制)和anchor成功的刪除掉,實現端到端自動訓練和學習。DETR演算法使基於集合的全域性損失函式,透過二部圖匹配和編碼解碼網路結構來強制進行唯一的預測。 給定一小組固定的經過學習的object queries(後面會講到什麼是object queries),DETR根據物件和全域性影象上下文的關係,直接並行輸出最終的預測集。 與許多其他檢測演算法不同,新模型在概念上很簡單,不需要專門的庫。經過COCO資料集測試,新演算法在速度和精度上都比Faster-RCNN高。

Facebook 的工作,構建了一種基於 transformer 的物體檢測框架。大致結構如下圖所示:

End-to-End Object Detection with Transformers展示的方向

給定影象,先用 CNN 抽取其特徵,然後用 transformer 結構來直接預測得到 BBox 的結果。一般來講,作者會預測得到非常多的 框框,同時為了 loss 的計算,作者也對 GT 的 BBox 進行填充。

本文所提出的 DETR model 有兩個不可缺少的部分:

1)。 a set prediction loss, 用於計算預測 和 真值 之間的差異;

2)。 an architecture, 預測一組物體並且建模他們之間的關係。

1。 DETR 會直接推理出一組固定大小的 N 個預測結果,透過 decoder 可以一次搞定這個事情。這裡的 N 會明顯的比常規物體個數要多。訓練的一個困難是,對預測的物體進行打分,關於 class, position, size 等。本文的 loss 產生了一個最優的二值匹配,然後最佳化一個 object-specific losses。

為了計算預測的 BBox 和 真值 BBox 兩個集合之間的差異,作者利用如下的方式,得到 N 個元素的置換:

End-to-End Object Detection with Transformers展示的方向

其中,LmatchLmatch是一個 pair-wise matching cost。該最優的賦值是利用 Hungarian algorithm 來計算得到的。這個 matching cost 考慮到了 class prediction 和 similarity。

End-to-End Object Detection with Transformers展示的方向

是如下概念

End-to-End Object Detection with Transformers展示的方向

其中,ci 是目標類別標籤,bi 是向量代表了真值 BBox 中心點座標及其寬高。作者提到這個尋找 matching 的過程類似於 匹配 proposal 或者 anchors 機制。這裡主要的區別是,需要找一個 one to one matching,而不需要重複。

第二步是計算 loss function,在上一個步驟中,所有 pairs 的 Hungarian loss。

End-to-End Object Detection with Transformers展示的方向

其中,δ^δ^是步驟 1 中得到的 optimal assignment。

公式 2 中的第二項是 matching cost 和 Hungarian loss,對 BBox 進行打分處理。作者這裡採用了 L1 loss 和 generalized IoU loss。總體來說,本文的 BBox loss 定義為:

End-to-End Object Detection with Transformers展示的方向

二部圖匹配:

二部圖匹配就是將預測結果和Groundtruth進行匹配。本論文中網路輸出的結果是固定為100個預測目標,並非這100個都會有預測結果,對於沒有目標的預測值會輸出為空標記,如圖左邊。

Groundtruth也會使用空標記來進行補齊,達到100個,如圖4右邊。然後這兩個就會進行二部匹配。

如下圖所示,左邊表示的是網路預測結果,右邊表示groundtruth結果。得到結果之後再透過貪心演算法來進行二部圖匹配得到匹配結果之後計算二部圖loss。

End-to-End Object Detection with Transformers展示的方向

網路結構與輸入輸出shape關係

End-to-End Object Detection with Transformers展示的方向

End-to-End Object Detection with Transformers展示的方向

參考資料

End-to-End Object Detection with Transformers論文閱讀筆記:End-to-End Object Detection with Transformers論文閱讀筆記

End-to-End Object Detection with Transformers:End-to-End Object Detection with Transformers

標簽: end  loss  bbox  預測  匹配