🚀 模型卡片:OWL - ViT
OWL - ViT(開放世界定位視覺變換器的縮寫)是一個零樣本的文本條件目標檢測模型,它能夠使用一個或多個文本查詢對圖像進行查詢,為目標檢測領域帶來了新的解決方案和研究方向。
🚀 快速開始
使用transformers
庫調用OWL - ViT模型進行目標檢測的示例代碼如下:
import requests
from PIL import Image
import torch
from transformers import OwlViTProcessor, OwlViTForObjectDetection
processor = OwlViTProcessor.from_pretrained("google/owlvit-large-patch14")
model = OwlViTForObjectDetection.from_pretrained("google/owlvit-large-patch14")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
texts = [["a photo of a cat", "a photo of a dog"]]
inputs = processor(text=texts, images=image, return_tensors="pt")
outputs = model(**inputs)
target_sizes = torch.Tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs=outputs, threshold=0.1, target_sizes=target_sizes)
i = 0
text = texts[i]
boxes, scores, labels = results[i]["boxes"], results[i]["scores"], results[i]["labels"]
for box, score, label in zip(boxes, scores, labels):
box = [round(i, 2) for i in box.tolist()]
print(f"Detected {text[label]} with confidence {round(score.item(), 3)} at location {box}")
✨ 主要特性
- 零樣本檢測:可以使用文本查詢對圖像進行目標檢測,無需針對特定目標進行訓練。
- 多模態架構:使用CLIP作為多模態骨幹網絡,結合視覺和文本特徵進行目標檢測。
- 開放詞彙分類:通過用文本模型獲得的類名嵌入替換固定的分類層權重,實現開放詞彙分類。
📚 詳細文檔
🔧 技術細節
模型提出
OWL - ViT由Matthias Minderer、Alexey Gritsenko等人在論文Simple Open - Vocabulary Object Detection with Vision Transformers中提出。
模型架構
- 骨幹網絡:使用CLIP作為多模態骨幹網絡,其中視覺模型採用類似ViT - L/14的Transformer架構作為圖像編碼器,文本模型使用掩碼自注意力Transformer作為文本編碼器。
- 特徵提取:移除視覺模型的最終令牌池化層,為每個Transformer輸出令牌附加一個輕量級的分類和邊界框預測頭。
- 訓練方式:首先從頭開始訓練CLIP,然後在標準檢測數據集上使用二分匹配損失對分類和邊界框預測頭進行端到端的微調。
模型日期
2022年5月
模型類型
該模型使用CLIP骨幹網絡,其中圖像編碼器採用ViT - L/14 Transformer架構,文本編碼器採用掩碼自注意力Transformer。通過對比損失訓練這些編碼器,以最大化(圖像,文本)對的相似度。CLIP骨幹網絡從頭開始訓練,並與邊界框和類別預測頭一起針對目標檢測任務進行微調。
信息表格
屬性 |
詳情 |
模型類型 |
該模型使用CLIP骨幹網絡,圖像編碼器採用ViT - L/14 Transformer架構,文本編碼器採用掩碼自注意力Transformer。通過對比損失訓練以最大化(圖像,文本)對的相似度,CLIP骨幹網絡從頭開始訓練,並與邊界框和類別預測頭一起針對目標檢測任務進行微調。 |
訓練數據 |
模型的CLIP骨幹網絡在公開可用的圖像 - 文本對數據上進行訓練,數據來源包括抓取部分網站和使用常用的現有圖像數據集(如YFCC100M)。OWL - ViT的預測頭和CLIP骨幹網絡在公開可用的目標檢測數據集(如COCO和OpenImages)上進行微調。 |
📄 許可證
本模型採用Apache - 2.0許可證。
BibTeX引用
@article{minderer2022simple,
title={Simple Open-Vocabulary Object Detection with Vision Transformers},
author={Matthias Minderer, Alexey Gritsenko, Austin Stone, Maxim Neumann, Dirk Weissenborn, Alexey Dosovitskiy, Aravindh Mahendran, Anurag Arnab, Mostafa Dehghani, Zhuoran Shen, Xiao Wang, Xiaohua Zhai, Thomas Kipf, Neil Houlsby},
journal={arXiv preprint arXiv:2205.06230},
year={2022},
}
📄 模型使用
預期用途
本模型旨在作為研究成果供研究社區使用。我們希望該模型能幫助研究人員更好地理解和探索零樣本、文本條件目標檢測。同時,也希望它能用於跨學科研究,特別是在那些通常需要識別訓練期間標籤不可用的目標的領域。
主要預期用戶
本模型的主要預期用戶是AI研究人員。
主要預期用途
研究人員主要會使用該模型來更好地理解計算機視覺模型的魯棒性、泛化能力以及其他能力、偏差和侷限性。