h
hustvl/yolos-base
模型介绍文件和版本分析
下载使用量0

YOLOS (base-sized) 模型

YOLOS 模型基于 COCO 2017 目标检测数据集(包含 11.8 万张标注图像)进行微调。该模型由 Fang 等人在论文《You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection》中提出,并首次发布于此代码库。

免责声明:发布 YOLOS 的团队未为此模型编写模型卡,故本模型卡由 Hugging Face 团队撰写。

模型描述

YOLOS 是基于 Vision Transformer (ViT) 架构并使用 DETR 损失函数训练的模型。尽管结构简洁,base 版本的 YOLOS 在 COCO 2017 验证集上可实现 42 AP 的精度(与 DETR 及更复杂的框架如 Faster R-CNN 相当)。

该模型采用「二分匹配损失」进行训练:将 N=100 个对象查询(object queries)预测的类别和边界框与填充至相同长度 N 的真实标注进行匹配(若图像仅包含 4 个物体,则剩余 96 个标注的类别为「无物体」,边界框为「无边界框」)。通过匈牙利匹配算法在 N 个查询与 N 个标注之间建立最优的一一对应关系,随后使用标准交叉熵损失(用于类别预测)与 L1 损失及广义 IoU 损失的线性组合(用于边界框预测)来优化模型参数。

适用范围与限制

您可将该原始模型用于目标检测任务。请访问模型中心查看所有可用的 YOLOS 模型。

使用方法

以下是使用本模型的方式:

from transformers import YolosFeatureExtractor, YolosForObjectDetection
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 = YolosFeatureExtractor.from_pretrained('hustvl/yolos-base')
model = YolosForObjectDetection.from_pretrained('hustvl/yolos-base')

inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)

# model predicts bounding boxes and corresponding COCO classes
logits = outputs.logits
bboxes = outputs.pred_boxes

目前,特征提取器与模型均支持 PyTorch 框架。

训练数据

YOLOS 模型基于 ImageNet-1k 进行预训练,并在 COCO 2017 目标检测数据集 上完成微调。该数据集包含分别用于训练/验证的 11.8 万/5 千张标注图像。

训练过程

模型在 ImageNet-1k 上进行了 1000 轮预训练,随后在 COCO 数据集上进行了 150 轮微调。

评估结果

该模型在 COCO 2017 验证集上实现了 42.0 的 AP(平均精度)。关于评估结果的详细说明,请参阅原始论文。

BibTeX 条目与引用信息

@article{DBLP:journals/corr/abs-2106-00666,
  author    = {Yuxin Fang and
               Bencheng Liao and
               Xinggang Wang and
               Jiemin Fang and
               Jiyang Qi and
               Rui Wu and
               Jianwei Niu and
               Wenyu Liu},
  title     = {You Only Look at One Sequence: Rethinking Transformer in Vision through
               Object Detection},
  journal   = {CoRR},
  volume    = {abs/2106.00666},
  year      = {2021},
  url       = {https://arxiv.org/abs/2106.00666},
  eprinttype = {arXiv},
  eprint    = {2106.00666},
  timestamp = {Fri, 29 Apr 2022 19:49:16 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2106-00666.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}