HuggingFace镜像/yolos-small
模型介绍
文件和版本
分析

YOLOS (small 尺寸) 模型

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

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

模型描述

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

该模型采用「二分匹配损失」进行训练:将 N=100 个对象查询的预测类别和边界框与真实标注进行对比(标注通过填充至相同长度 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-small')
model = YolosForObjectDetection.from_pretrained('hustvl/yolos-small')

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 上进行了 200 个周期的预训练,并在 COCO 数据集上进行了 150 个周期的微调。

评估结果

该模型在 COCO 2017 验证集上实现了 36.1 的 AP(平均精度)。关于评估结果的更多细节,请参阅原论文表 1。

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}
}