🚀 條件DETR模型(帶ResNet - 101骨幹網絡,膨脹C5階段)
本項目是一個基於COCO 2017目標檢測數據集(118k帶註釋圖像)進行端到端訓練的條件檢測變換器(Conditional DEtection TRansformer,Conditional DETR)模型。該模型由Meng等人在論文Conditional DETR for Fast Training Convergence中提出,並首次在此倉庫發佈。模型權重從原始權重轉換為transformers
實現,並以PyTorch和Safetensors兩種權重格式發佈,原始權重可從原始倉庫下載。
🚀 快速開始
你可以使用此原始模型進行目標檢測。查看模型中心以查找所有可用的條件DETR模型。
✨ 主要特性
- 創新架構:將變換器編碼器和解碼器架構應用於目標檢測,提出條件交叉注意力機制,解決訓練收斂慢的問題。
- 訓練加速:實驗結果表明,對於R50和R101骨幹網絡,條件DETR的收斂速度快6.7倍;對於更強的骨幹網絡DC5 - R50和DC5 - R101,收斂速度快10倍。
📦 安裝指南
文檔未提及安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
from transformers import AutoImageProcessor, ConditionalDetrForObjectDetection
import torch
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained("Omnifact/conditional-detr-resnet-101-dc5")
model = ConditionalDetrForObjectDetection.from_pretrained("Omnifact/conditional-detr-resnet-101-dc5")
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
target_sizes = torch.tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.7)[0]
for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
box = [round(i, 2) for i in box.tolist()]
print(
f"Detected {model.config.id2label[label.item()]} with confidence "
f"{round(score.item(), 3)} at location {box}"
)
此代碼應輸出:
Detected cat with confidence 0.865 at location [13.95, 64.98, 327.14, 478.82]
Detected remote with confidence 0.849 at location [39.37, 83.18, 187.67, 125.02]
Detected cat with confidence 0.743 at location [327.22, 35.17, 637.54, 377.04]
Detected remote with confidence 0.737 at location [329.36, 89.47, 376.42, 197.53]
📚 詳細文檔
模型描述
最近開發的DETR方法將變換器編碼器和解碼器架構應用於目標檢測,並取得了有前景的性能。在本文中,我們解決了關鍵問題——訓練收斂慢,並提出了一種用於快速DETR訓練的條件交叉注意力機制。我們的方法的動機在於,DETR中的交叉注意力高度依賴於內容嵌入來定位四個端點並預測邊界框,這增加了對高質量內容嵌入的需求,從而增加了訓練難度。我們的方法名為條件DETR,它從解碼器嵌入中學習一個條件空間查詢,用於解碼器多頭交叉注意力。其好處是,通過條件空間查詢,每個交叉注意力頭能夠關注包含不同區域的帶,例如一個對象端點或對象框內的一個區域。這縮小了用於對象分類和邊界框迴歸的不同區域的定位空間範圍,從而減輕了對內容嵌入的依賴並簡化了訓練。實驗結果表明,對於R50和R101骨幹網絡,條件DETR的收斂速度快6.7倍;對於更強的骨幹網絡DC5 - R50和DC5 - R101,收斂速度快10倍。

預期用途和限制
你可以使用此原始模型進行目標檢測。查看模型中心以查找所有可用的條件DETR模型。
訓練數據
條件DETR模型在COCO 2017目標檢測數據集上進行訓練,該數據集分別包含118k/5k張帶註釋的圖像用於訓練/驗證。
BibTeX引用和引用信息
@inproceedings{MengCFZLYS021,
author = {Depu Meng and
Xiaokang Chen and
Zejia Fan and
Gang Zeng and
Houqiang Li and
Yuhui Yuan and
Lei Sun and
Jingdong Wang},
title = {Conditional {DETR} for Fast Training Convergence},
booktitle = {2021 {IEEE/CVF} International Conference on Computer Vision, {ICCV}
2021, Montreal, QC, Canada, October 10-17, 2021},
}
🔧 技術細節
文檔中關於技術細節部分已在“詳細文檔 - 模型描述”中詳細說明,故此處不再重複。
📄 許可證
本項目採用Apache - 2.0許可證。
屬性 |
詳情 |
模型類型 |
條件DETR模型(帶ResNet - 101骨幹網絡,膨脹C5階段) |
訓練數據 |
COCO 2017目標檢測數據集,包含118k/5k張帶註釋的圖像用於訓練/驗證 |