🚀 YOLOS(小型、快速模型擴展)模型
YOLOS 模型在 COCO 2017 目標檢測數據集(11.8 萬張帶標註圖像)上進行了微調。該模型由 Fang 等人在論文 You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection 中提出,並首次在 此倉庫 發佈。
聲明:發佈 YOLOS 的團隊並未為此模型撰寫模型卡片,此模型卡片由 Hugging Face 團隊編寫。
🚀 快速開始
你可以使用此原始模型進行目標檢測。查看 模型中心 以查找所有可用的 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-dwr')
model = YolosForObjectDetection.from_pretrained('hustvl/yolos-small-dwr')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
bboxes = outputs.pred_boxes
目前,特徵提取器和模型均支持 PyTorch。
✨ 主要特性
- YOLOS 是一個使用 DETR 損失訓練的視覺變換器(ViT)。儘管其結構簡單,但基礎大小的 YOLOS 模型在 COCO 2017 驗證集上能夠達到 42 AP(與 DETR 以及更復雜的框架如 Faster R - CNN 相當)。
- 模型使用“二分匹配損失”進行訓練:將 N = 100 個目標查詢的預測類別和邊界框與真實標註進行比較,真實標註會填充到相同長度 N(因此,如果一張圖像僅包含 4 個目標,96 個標註的類別將為“無目標”,邊界框為“無邊界框”)。使用匈牙利匹配算法在 N 個查詢和 N 個標註之間創建最優的一對一映射。然後,使用標準交叉熵(用於類別)和 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-small-dwr')
model = YolosForObjectDetection.from_pretrained('hustvl/yolos-small-dwr')
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
bboxes = outputs.pred_boxes
高級用法
文檔未提及高級用法示例,此部分跳過。
📚 詳細文檔
模型描述
YOLOS 是一個使用 DETR 損失訓練的視覺變換器(ViT)。儘管其結構簡單,但基礎大小的 YOLOS 模型在 COCO 2017 驗證集上能夠達到 42 AP(與 DETR 以及更復雜的框架如 Faster R - CNN 相當)。
模型使用“二分匹配損失”進行訓練:將 N = 100 個目標查詢的預測類別和邊界框與真實標註進行比較,真實標註會填充到相同長度 N(因此,如果一張圖像僅包含 4 個目標,96 個標註的類別將為“無目標”,邊界框為“無邊界框”)。使用匈牙利匹配算法在 N 個查詢和 N 個標註之間創建最優的一對一映射。然後,使用標準交叉熵(用於類別)和 L1 與廣義 IoU 損失的線性組合(用於邊界框)來優化模型參數。
預期用途與侷限性
你可以使用此原始模型進行目標檢測。查看 模型中心 以查找所有可用的 YOLOS 模型。
評估結果
該模型在 COCO 2017 驗證集上的平均精度(AP)達到了 37.6。有關評估結果的更多詳細信息,請參考原論文的表 1。
🔧 技術細節
訓練數據
YOLOS 模型在 ImageNet - 1k 上進行了預訓練,並在 COCO 2017 目標檢測 數據集上進行了微調,該數據集分別包含 11.8 萬張和 5000 張用於訓練和驗證的帶標註圖像。
訓練過程
該模型在 ImageNet - 1k 上預訓練了 300 個 epoch,並在 COCO 上微調了 150 個 epoch。
📄 許可證
該模型使用 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}
}
信息表格
屬性 |
詳情 |
模型類型 |
基於視覺變換器(ViT),使用 DETR 損失訓練的目標檢測模型 |
訓練數據 |
預訓練數據:ImageNet - 1k;微調數據:COCO 2017 目標檢測數據集(11.8 萬張訓練圖像,5000 張驗證圖像) |