Deformable DETR项目介绍
Deformable DETR是一个创新的目标检测模型,它通过采用ResNet-50作为骨干,与变形检测变压器(DETR)相结合,实现了端到端的目标检测能力。这个模型在COCO 2017数据集上进行训练,该数据集包含多达118,000张标注图像。Deformable DETR的研究成果首次被Zhu等人介绍,并公开在GitHub上的一个仓库中。
模型描述
Deformable DETR模型的核心结构是一个编码器-解码器结构,搭配卷积神经网络作为其基础。为了实现目标检测功能,这个模型在解码器的输出上添加了两个“头”:一个用于类别标签识别的线性层,另一个是用于边界框预测的多层感知器(MLP)。
该模型采用了一种称为“对象查询”的独特机制来检测图像中的对象。总共有100个对象查询用于COCO数据集的检测,即每个查询寻找图像中特定的对象。对于每个图像,这些对象查询的预测结果会与真实的标注进行匹配,并通过匈牙利算法进行优化。
使用场景与限制
Deformable DETR被设计用于实现图像中的目标检测任务。用户可以在模型库中查找不同可用的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}"
)
该模型目前支持PyTorch框架,提供了快速便捷的目标检测能力。
训练数据
Deformable DETR模型通过COCO 2017对象检测数据集进行训练,该数据集包含118,000张用于训练的标注图像以及5,000张用于验证的图像。
引用信息
如果需要引用这项工作,请使用以下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}
}