🚀 模型卡片:OWLv2
OWLv2模型(開放世界定位的縮寫)是一種零樣本、文本條件的目標檢測模型,可使用一個或多個文本查詢來查詢圖像。該模型使用CLIP作為其多模態主幹,通過ViT類Transformer獲取視覺特徵,通過因果語言模型獲取文本特徵。
✨ 主要特性
- 零樣本檢測:無需針對特定目標進行訓練,即可根據文本查詢檢測圖像中的目標。
- 多模態處理:結合視覺和文本特徵,實現開放詞彙的目標檢測。
- 端到端訓練:通過對比損失和二分匹配損失進行端到端訓練,提高檢測性能。
📦 安裝指南
使用transformers
庫加載模型:
from transformers import Owlv2Processor, Owlv2ForObjectDetection
processor = Owlv2Processor.from_pretrained("google/owlv2-base-patch16-ensemble")
model = Owlv2ForObjectDetection.from_pretrained("google/owlv2-base-patch16-ensemble")
💻 使用示例
基礎用法
import requests
from PIL import Image
import torch
from transformers import Owlv2Processor, Owlv2ForObjectDetection
processor = Owlv2Processor.from_pretrained("google/owlv2-base-patch16-ensemble")
model = Owlv2ForObjectDetection.from_pretrained("google/owlv2-base-patch16-ensemble")
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")
with torch.no_grad():
outputs = model(**inputs)
target_sizes = torch.Tensor([image.size[::-1]])
results = processor.post_process_object_detection(outputs=outputs, target_sizes=target_sizes, threshold=0.1)
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作為多模態主幹,其中圖像編碼器採用ViT-B/16 Transformer架構,文本編碼器採用掩碼自注意力Transformer。這些編碼器通過對比損失進行訓練,以最大化(圖像,文本)對的相似度。CLIP主幹從零開始訓練,並與邊界框和類別預測頭一起進行微調,以實現目標檢測。
訓練數據
📄 許可證
本模型採用Apache-2.0許可證。
引用信息
@misc{minderer2023scaling,
title={Scaling Open-Vocabulary Object Detection},
author={Matthias Minderer and Alexey Gritsenko and Neil Houlsby},
year={2023},
eprint={2306.09683},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
表格信息
屬性 |
詳情 |
模型類型 |
使用CLIP主幹,圖像編碼器為ViT-B/16 Transformer架構,文本編碼器為掩碼自注意力Transformer |
訓練數據 |
CLIP主幹使用公開圖像 - 標題數據,微調使用COCO和OpenImages等目標檢測數據集 |