许可协议:apache-2.0
标签:
- 图像分割
数据集:
- coco
示例展示:
- 图片地址:https://huggingface.co/datasets/mishig/sample_images/resolve/main/dog-cat.jpg
示例标题:狗与猫
- 图片地址:https://huggingface.co/datasets/mishig/sample_images/resolve/main/construction-site.jpg
示例标题:建筑工地
- 图片地址:https://huggingface.co/datasets/mishig/sample_images/resolve/main/apple-orange.jpg
示例标题:苹果与橙子
基于ResNet-50骨干网络(扩张C5阶段)的DETR(端到端目标检测)模型
该DEtection TRansformer (DETR)模型在COCO 2017全景分割数据集(11.8万张标注图像)上进行了端到端训练。模型由Carion等人在论文《End-to-End Object Detection with Transformers》中提出,并首次发布于此代码库。
免责声明:发布DETR的团队未为此模型编写说明卡,本说明卡由Hugging Face团队撰写。
模型描述
DETR模型是一个带有卷积骨干网络的编码器-解码器Transformer。在解码器输出端添加了两个头部以执行目标检测:一个线性层用于类别标签预测,一个多层感知机(MLP)用于边界框回归。模型通过所谓的"对象查询"在图像中检测目标,每个查询对应图像中的一个特定目标。在COCO数据集上,对象查询数量设置为100。
训练时采用"二分匹配损失":将N=100个对象查询预测的类别和边界框与填充至相同长度N的真实标注进行对比(例如若图像仅含4个目标,其余96个标注的类别为"无目标",边界框为"无边界框")。匈牙利匹配算法用于在N个查询与N个标注间建立最优的一一映射关系,随后通过标准交叉熵损失(类别)和L1损失与广义IoU损失的线性组合(边界框)来优化模型参数。
通过在全景分割任务中,可在解码器输出端添加掩膜头部来扩展DETR的功能。
预期用途与限制
您可直接将此模型用于全景分割任务。查看模型库以获取所有可用DETR模型。
使用方法
使用方式如下:
from transformers import DetrFeatureExtractor, DetrForSegmentation
from PIL import Image
import requests
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = DetrFeatureExtractor.from_pretrained('facebook/detr-resnet-50-dc5-panoptic')
model = DetrForSegmentation.from_pretrained('facebook/detr-resnet-50-dc5-panoptic')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
bboxes = outputs.pred_boxes
masks = outputs.pred_masks
当前特征提取器和模型均仅支持PyTorch。
训练数据
DETR模型训练基于COCO 2017全景分割数据集,包含11.8万张训练图像和5千张验证图像。
训练流程
预处理
训练/验证期间图像预处理的具体细节详见此处。
图像被缩放至短边至少800像素、长边至多1333像素,并采用ImageNet均值(0.485, 0.456, 0.406)和标准差(0.229, 0.224, 0.225)进行RGB通道归一化。
训练
模型在16块V100 GPU上训练了300个周期,耗时3天,每GPU处理4张图像(总批次大小为64)。
评估结果
该模型在COCO 2017验证集上取得以下结果:
- 边界框平均精度(AP):40.2
- 分割平均精度(AP):31.9
- 全景质量(PQ):44.6
更多评估细节请参阅原论文表5。
BibTeX引用信息
@article{DBLP:journals/corr/abs-2005-12872,
author = {Nicolas Carion and
Francisco Massa and
Gabriel Synnaeve and
Nicolas Usunier and
Alexander Kirillov and
Sergey Zagoruyko},
title = {End-to-End Object Detection with Transformers},
journal = {CoRR},
volume = {abs/2005.12872},
year = {2020},
url = {https://arxiv.org/abs/2005.12872},
archivePrefix = {arXiv},
eprint = {2005.12872},
timestamp = {Thu, 28 May 2020 17:38:09 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2005-12872.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}