1. 寫在前面
目標檢測到底是DETR好還是YOLO好?感覺也沒有一個明確的答案,YOLO在不停的平衡精度和效率,DETR也在不停的提高實時性。今天筆者為大家推薦一篇最新的DETR開源工作MS-DETR,通過一對一監督和一對多監督相結合的方式,提高DETR的訓練效率。
下面一起來閱讀一下這項工作
2. 摘要
DETR通過迭代地生成基于圖像特征的多個候選目標,并為每個真值目標提升一個候選目標,從而實現端到端的目標檢測。原始DETR中采用一對一監督的傳統訓練過程缺乏對目標檢測候選的直接監督。
我們旨在通過一對一監督和一對多監督相結合的方式,對候選生成過程進行明確監督,從而提高DETR的訓練效率。我們的方法,即MS - DETR,簡單,并且對用于推理的主解碼器的對象查詢進行一對多的監督。與現有的一對多監督的DETR變體(如Group DETR和Hybrid DETR )相比,我們的方法不需要額外的解碼器分支或對象查詢。在我們的方法中,主解碼器的對象查詢直接受益于一對多的監督,因此在對象候選預測方面具有優勢。實驗結果表明,我們的方法優于相關DETR變體,如DN - DETR、Hybrid DETR和Group DETR,與相關DETR變體的結合進一步提高了性能。
3. 效果展示
這篇文章的思想就是使用一對一監督和一對多監督相結合的混合監督。混合監督會產生更好的檢測候選。Top:box真值。Middle:與基線匹配的前20個查詢的候選框。Bottom:使用MS - DETR從前20個查詢中選出候選框。可以看出,MS - DETR比基線產生了更好的檢測候選。
4. 具體原理是什么?
混合監督會產生比基線更低的一對一損失。x軸對應epoch,y軸對應一對一監督的訓練損失。虛線和實線分別對應于Deformable DETR基線和MS - DETR的損失曲線。
不同架構的差異。( a )原始DETR:采用一對一監督的方式對其進行訓練。( b ) MS -- DETR:通過混合一對一和一對多監督的方式進行訓練。這兩種監督都施加在初級解碼器上。( c ) DETR組和DN - DETR組。引入了額外的并行譯碼器,并對額外的譯碼器進行一對一的監督。DETR和DN - DETR可能會使用更多的額外解碼器。(d) 混合DETR:增加了一個額外的并行譯碼器,并對額外的譯碼器施加一對多的監督。
MS-DETR的具體實現。( a )對每個解碼器層的輸出對象查詢進行一對一和一對多的監督。( b )對每個稍作修改的解碼器層的輸出對象查詢進行兩次監督:首先執行交叉注意力,然后執行自注意力。( c )和( d )對內部對象查詢進行一對多監督。cls11和box11是一對一監督的class和box預測子,cls1m和box1m是一對多監督的class和box預測子。
5. 和其他SOTA方法的對比
MS - DETR與一對多( O2M )監督的其他方法在不同基線上的比較。MS - DETR一致地改進了各種流行的DETR基線。
與其他方法相結合的對比, MS - DETR是現有O2M方法的一種補充方法。
6. 總結
這篇文章在原有一對一監督的基礎上增加了一對多的監督,用于DETR訓練。主要特點是顯式地監督了對象查詢。MS-DETR是對相關方法的補充,這些方法主要是修改交叉注意力結構或使用額外的查詢或額外的解碼器來學習解碼器權重。
審核編輯:黃飛
-
解碼器
+關注
關注
9文章
1163瀏覽量
41697 -
目標檢測
+關注
關注
0文章
222瀏覽量
15895
原文標題:MS-DETR:全面提升目標檢測的效率和精度!
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
旋變位置不變的情況下,當使能SOTA功能與關閉SOTA功能時,APP中DSADC采樣得到的旋變sin和cos兩者值不一樣,為什么?
使用OpenVINO?進行優化后,為什么DETR模型在不同的硬件上測試時顯示不同的結果?
SOTA的定義是什么?常規的實現方式有哪些
實體關系聯合抽取取得SOTA的三種方法

SOTA機制詳解

介紹RT-DETR兩種風格的onnx格式和推理方式

Focus-DETR:30%Token就能實現SOTA性能,效率倍增

一種新型的DETR輕量化模型Focus-DETR

人工智能SOTA什么意思
DETR架構的內部工作方式分析

基于OpenVINO Python API部署RT-DETR模型

第一個基于DETR的高質量通用目標檢測方法

基于OpenVINO C++ API部署RT-DETR模型

基于OpenVINO C# API部署RT-DETR模型

評論