🚀 Conditional DETRモデル(ResNet-101バックボーン、拡張C5ステージ)
このモデルは、COCO 2017の物体検出タスクでエンドツーエンドで学習されたConditional DETRモデルです。論文「Conditional DETR for Fast Training Convergence」で提案され、高い性能を発揮します。
🚀 クイックスタート
Conditional DEtection TRansformer (DETR) モデルは、COCO 2017の物体検出タスク(118kの注釈付き画像)でエンドツーエンドで学習されています。このモデルは、Mengらによる論文 Conditional DETR for Fast Training Convergence で紹介され、このリポジトリ で最初に公開されました。
注意: このモデルの重みは、元の重みから transformers
実装に変換され、PyTorchとSafetensorsの両方の重みとして公開されています。元の重みは 元のリポジトリ からダウンロードできます。
✨ 主な機能
モデルの概要
最近開発されたDETRアプローチは、トランスフォーマーのエンコーダとデコーダのアーキテクチャを物体検出に適用し、有望な性能を達成しています。この論文では、トレーニングの収束が遅いという重要な問題を解決し、高速なDETRトレーニングのための条件付きクロスアテンションメカニズムを提案しています。DETRのクロスアテンションは、4つの端点を特定しボックスを予測するためにコンテンツ埋め込みに大きく依存しており、高品質なコンテンツ埋め込みが必要となり、トレーニングの難易度が増します。提案する条件付きDETRは、デコーダのマルチヘッドクロスアテンションのために、デコーダ埋め込みから条件付き空間クエリを学習します。条件付き空間クエリを通じて、各クロスアテンションヘッドは、特定の領域(例えば、物体の端点や物体ボックス内の領域)を含むバンドに注目することができます。これにより、物体分類とボックス回帰のための特定領域を特定する空間範囲が狭まり、コンテンツ埋め込みへの依存が緩和され、トレーニングが容易になります。実験結果から、条件付きDETRは、バックボーンR50とR101では6.7倍、より強力なバックボーンDC5 - R50とDC5 - R101では10倍速く収束することが示されています。

想定される用途と制限
このモデルは物体検出に使用できます。利用可能なすべてのConditional DETRモデルを探すには、モデルハブ を参照してください。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
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]
📚 ドキュメント
トレーニングデータ
Conditional 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ライセンスの下で公開されています。
属性 |
详情 |
モデルタイプ |
Conditional DETRモデル(ResNet - 101バックボーン、拡張C5ステージ) |
トレーニングデータ |
COCO 2017物体検出データセット(118kの注釈付きトレーニング画像、5kの注釈付き検証画像) |