🚀【實戰分享】目標檢測的“后 DE?”時代:DETR/DINO/RT-DETR及新型骨干網絡探索(含示例代碼)
目標檢測從 YOLO、Faster R-CNN 到 Transformer 結構的 DETR,再到 DINO、RT-DETR,近兩年出現了許多新趨勢:更高效的端到端結構、更少的手工設計(比如不再需要 NMS)、以及新型輕量化骨干網絡(比如 Mamba、ConvNeXt、ViT 等)被引入檢測任務中。
作為從事目標檢測的小伙伴,我最近在研究并實踐了這些新方法,本文結合理論與實戰,系統梳理最新進展,并給出部分實戰代碼示例,希望對大家有所幫助。
📌 DETR 的革命:端到端檢測
2019 年底,Facebook AI 提出 DETR(Detection Transformer),通過 Transformer 的 encoder-decoder 和 bipartite matching loss,把目標檢測變為一個序列到序列的預測問題。
優點:
-
不需要 NMS 和 anchor
-
端到端優化
缺點:
-
收斂慢(通常需要 500 epoch)
-
對小目標不友好
后續很多工作都在解決 DETR 的缺點,如:
-
Deformable DETR:引入可變形注意力,加速收斂到 50 epoch
-
Conditional DETR、DN-DETR:加快收斂
-
DAB-DETR:引入動態 anchor box
-
DINO:加速收斂 + 大幅提升精度
🐬 DINO:更快更準的 DETR
DINO(DETR with Improved DeNoising Anchor boxes)是 2022 年 IDEA 提出的改進版本,關鍵點:
-
引入 denoising training(對 GT 加噪聲,引導模型學習魯棒性)
-
使用雙頭結構(兩個 decoder head,一個負責 denoising loss,一個負責 matching loss)
DINO 的 COCO AP 達到 50+,并且收斂更快。
? 實際體驗:在 MMDetection 中用 DINO,比原始 DETR 收斂速度明顯快很多,并且小目標檢測性能也有提升。
? RT-DETR:實時 DETR
2023 年 Ultralytics 和 IDEA 合作推出了 RT-DETR:
-
完全保留 DETR 思路(encoder-decoder)
-
用更輕量的骨干網絡(如 CSPDarknet、ConvNeXt)
-
引入多層解碼器特征融合
-
支持實時檢測:COCO AP50 達到 53.3%,速度可達 70+ FPS
RT-DETR 實現了 端到端結構也能做到實時檢測,對工程落地意義重大。
🧬 新趨勢:新型骨干網絡與檢測結合
檢測算法的進步不僅在檢測頭、損失設計,還在骨干網絡:
-
ConvNeXt:純卷積結構,接近 ViT 表現
-
Swin Transformer / ViT:用自注意力捕捉全局特征
-
Mamba:最近非常熱的狀態空間模型(SSM),輕量高效
比如最近 IDEA 提出了 Mamba-DETR,把 Mamba 結構替代傳統 Transformer 作為 backbone,也取得了不錯結果。
🧪 小試牛刀:用 RT-DETR 檢測自定義數據集
下面用 Ultralytics 的 rtdetr
(官方 PyTorch 實現)做個示例:
假設你已經準備好了 COCO 格式的數據集。
📦 安裝
pip install ultralytics
🏗? 新建訓練腳本 train_rtdetr.py
from ultralytics import RTDETR# 加載 RT-DETR 模型
model = RTDETR('rtdetr-l.pt') # 官方訓練好的大模型# 開始訓練
model.train(data='data.yaml', # COCO 格式數據集配置文件epochs=50,imgsz=640,batch=16,lr0=1e-3,device=0
)
??
data.yaml
內容示例:
train: ./images/train
val: ./images/val
nc: 3
names: ['apple', 'banana', 'orange']
? 測試與預測
# 驗證
metrics = model.val()# 單張圖片預測
results = model.predict('test.jpg', conf=0.5)
results.show() # 展示結果
results.save() # 保存結果
?? 工程小經驗
-
小數據集:嘗試凍結 backbone,只微調檢測頭
-
分辨率:增大
imgsz
能提高 AP,但顯存需求更高 -
小目標:多用多尺度特征;或用 DINO
-
部署:RT-DETR 支持導出 ONNX / TensorRT,非常適合邊緣設備
📚 更多參考
-
DETR 原論文
-
DINO 論文
-
RT-DETR GitHub
-
Mamba: Linear-Time Sequence Modeling with Selective SSMs
? 結語
目標檢測正進入后 DETR 時代:端到端、無 NMS、輕量化、多模態正成為趨勢。
不論是 DINO 還是 RT-DETR,都極大降低了工程落地門檻。
未來也許會有更多與狀態空間模型(如 Mamba)結合的新檢測器,值得關注和嘗試。