🚀 YOLOS (基础尺寸) 模型
YOLOS 是一个在目标检测领域表现出色的模型。它基于 Vision Transformer 架构,通过在 COCO 2017 目标检测数据集上进行微调,能够精准地识别图像中的各类物体,为图像识别和分析提供了强大的支持。
🚀 快速开始
你可以使用这个原始模型进行目标检测。查看 模型中心 以查找所有可用的 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)
logits = outputs.logits
bboxes = outputs.pred_boxes
目前,特征提取器和模型都支持 PyTorch。
✨ 主要特性
- 高性能:尽管结构简单,但基础尺寸的 YOLOS 模型在 COCO 2017 验证集上能够达到 42 AP,与 DETR 以及更复杂的框架(如 Faster R-CNN)表现相当。
- 独特的训练损失:模型使用“二分匹配损失”进行训练,通过匈牙利匹配算法在查询和标注之间创建一对一的最优映射,然后使用标准交叉熵(用于类别)和 L1 与广义 IoU 损失的线性组合(用于边界框)来优化模型参数。
📦 安装指南
文档未提及具体安装步骤,故跳过此章节。
💻 使用示例
基础用法
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)
logits = outputs.logits
bboxes = outputs.pred_boxes
高级用法
文档未提及高级用法相关代码,故跳过此部分。
📚 详细文档
模型描述
YOLOS 是一个使用 DETR 损失进行训练的 Vision Transformer (ViT)。尽管结构简单,但基础尺寸的 YOLOS 模型在 COCO 2017 验证集上能够达到 42 AP,与 DETR 以及更复杂的框架(如 Faster R-CNN)表现相当。
模型使用“二分匹配损失”进行训练:将 N = 100 个目标查询的预测类别和边界框与真实标注进行比较,标注会填充到相同长度 N(因此,如果一张图像仅包含 4 个物体,96 个标注的类别将为“无物体”,边界框为“无边界框”)。使用匈牙利匹配算法在 N 个查询和 N 个标注之间创建一对一的最优映射。接下来,使用标准交叉熵(用于类别)和 L1 与广义 IoU 损失的线性组合(用于边界框)来优化模型参数。
预期用途和限制
你可以使用这个原始模型进行目标检测。查看 模型中心 以查找所有可用的 YOLOS 模型。
训练数据
YOLOS 模型在 ImageNet - 1k 上进行预训练,并在 COCO 2017 目标检测 上进行微调。COCO 2017 数据集分别包含 118k/5k 张用于训练/验证的标注图像。
训练过程
模型在 ImageNet - 1k 上预训练 1000 个 epoch,并在 COCO 上微调 150 个 epoch。
评估结果
该模型在 COCO 2017 验证集上的平均精度 (AP) 达到了 42.0。有关评估结果的更多详细信息,请参考原始论文。
🔧 技术细节
文档未提供足够详细的技术实现细节(具体技术说明少于 50 字),故跳过此章节。
📄 许可证
本模型使用 Apache - 2.0 许可证。
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}
}
信息表格
属性 |
详情 |
模型类型 |
基于 Vision Transformer 架构的目标检测模型 |
训练数据 |
在 ImageNet - 1k 上预训练,在 COCO 2017 目标检测数据集(包含 118k 张训练图像和 5k 张验证图像)上微调 |