🚀 Deformable DETRモデル(ResNet-50バックボーン)
COCO 2017の物体検出タスクでエンドツーエンド学習されたDeformable DETRモデルで、画像内の物体検出に利用できます。
🚀 クイックスタート
このDeformable DETRモデルは、COCO 2017の物体検出データセット(118k枚の注釈付き画像)でエンドツーエンド学習されています。論文 Deformable DETR: Deformable Transformers for End-to-End Object Detection で紹介され、このリポジトリ で最初に公開されました。
✨ 主な機能
- エンコーダ・デコーダ型のトランスフォーマーアーキテクチャを持ち、畳み込みバックボーンを使用しています。
- 物体検出のために、デコーダ出力の上にクラスラベル用の線形層とバウンディングボックス用のMLPが追加されています。
- 物体クエリを使用して画像内の物体を検出します。COCOの場合、物体クエリの数は100に設定されています。
📚 ドキュメント
モデルの説明
DETRモデルは、畳み込みバックボーンを持つエンコーダ・デコーダ型のトランスフォーマーです。物体検出を行うために、デコーダ出力の上に2つのヘッドが追加されています。クラスラベル用の線形層とバウンディングボックス用のMLP(多層パーセプトロン)です。モデルは、画像内の物体を検出するために物体クエリを使用します。各物体クエリは、画像内の特定の物体を探します。COCOの場合、物体クエリの数は100に設定されています。
モデルは「二部マッチング損失」を使用して学習されます。N = 100個の物体クエリそれぞれの予測クラスとバウンディングボックスを、同じ長さNにパディングされた正解注釈と比較します(画像に4つの物体しか含まれていない場合、96個の注釈はクラスとして「物体なし」、バウンディングボックスとして「バウンディングボックスなし」になります)。ハンガリアンマッチングアルゴリズムを使用して、N個のクエリとN個の注釈の間に最適な1対1のマッピングを作成します。次に、標準的な交差エントロピー(クラス用)とL1損失と一般化IoU損失の線形結合(バウンディングボックス用)を使用して、モデルのパラメータを最適化します。

想定される用途と制限
このモデルは物体検出に使用できます。利用可能なすべてのDeformable DETRモデルを探すには、モデルハブ を参照してください。
使い方
以下は、このモデルの使用方法の例です。
from transformers import AutoImageProcessor, DeformableDetrForObjectDetection
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("SenseTime/deformable-detr")
model = DeformableDetrForObjectDetection.from_pretrained("SenseTime/deformable-detr")
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.856 at location [342.19, 24.3, 640.02, 372.25]
Detected remote with confidence 0.739 at location [40.79, 72.78, 176.76, 117.25]
Detected cat with confidence 0.859 at location [16.5, 52.84, 318.25, 470.78]
現在、特徴抽出器とモデルはどちらもPyTorchをサポートしています。
学習データ
Deformable DETRモデルは、COCO 2017物体検出 データセットで学習されています。このデータセットは、学習用に118k枚、検証用に5k枚の注釈付き画像から構成されています。
BibTeX引用
@misc{https://doi.org/10.48550/arxiv.2010.04159,
doi = {10.48550/ARXIV.2010.04159},
url = {https://arxiv.org/abs/2010.04159},
author = {Zhu, Xizhou and Su, Weijie and Lu, Lewei and Li, Bin and Wang, Xiaogang and Dai, Jifeng},
keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Deformable DETR: Deformable Transformers for End-to-End Object Detection},
publisher = {arXiv},
year = {2020},
copyright = {arXiv.org perpetual, non-exclusive license}
}
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。