license: apache-2.0
tags:
- 视觉
- 零样本目标检测
inference: false
模型卡片: OWL-ViT
模型详情
OWL-ViT(全称Open-World Localization Vision Transformer)由Matthias Minderer等人在论文《Simple Open-Vocabulary Object Detection with Vision Transformers》中提出。这是一个零样本文本条件目标检测模型,可以通过一个或多个文本查询来搜索图像中的对象。
OWL-ViT采用CLIP作为多模态骨干网络,使用ViT风格的Transformer获取视觉特征,因果语言模型获取文本特征。为将CLIP应用于检测任务,该模型移除了视觉模型的最终令牌池化层,并在每个Transformer输出令牌上附加轻量级的分类和边界框预测头。通过用文本模型获得的类别名称嵌入替换固定分类层权重,实现了开放词汇分类。作者首先从头训练CLIP,然后使用二分匹配损失在标准检测数据集上端到端微调分类头和边界框头。可以使用单条或多条文本查询执行零样本文本条件目标检测。
模型日期
2022年5月
模型类型
该模型采用CLIP骨干网络,其中图像编码器使用ViT-B/32 Transformer架构,文本编码器使用掩码自注意力Transformer。这些编码器通过对比损失训练以最大化(图像,文本)对的相似性。CLIP骨干网络从头开始训练,并与边界框和类别预测头一起使用目标检测目标进行微调。
文档
与Transformers库配合使用
import requests
from PIL import Image
import torch
from transformers import OwlViTProcessor, OwlViTForObjectDetection
processor = OwlViTProcessor.from_pretrained("google/owlvit-base-patch32")
model = OwlViTForObjectDetection.from_pretrained("google/owlvit-base-patch32")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
texts = [["一张猫的照片", "一张狗的照片"]]
inputs = processor(text=texts, images=image, return_tensors="pt")
outputs = model(**inputs)
# 目标图像尺寸(高度,宽度)用于重新缩放边界框预测[batch_size, 2]
target_sizes = torch.Tensor([image.size[::-1]])
# 将输出(边界框和类别logits)转换为COCO API格式
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"检测到{text[label]},置信度{round(score.item(), 3)},位置{box}")
模型用途
预期用途
该模型主要作为研究输出供研究社区使用。我们希望该模型能帮助研究者更好地理解和探索零样本文本条件目标检测。同时也希望它能用于跨学科研究,特别是在那些通常需要识别训练时标签不可用对象的领域。
主要预期用途
这些模型的主要预期用户是AI研究人员。
我们主要设想研究人员会使用该模型来更好地理解计算机视觉模型的鲁棒性、泛化能力以及其他能力、偏差和限制。
数据
模型的CLIP骨干网络是在公开可用的图像-标题数据上训练的。这是通过爬取少量网站和使用常用的现有图像数据集(如YFCC100M)相结合实现的。大部分数据来自我们对互联网的爬取。这意味着数据更能代表与互联网联系最紧密的人群和社会。OWL-ViT的预测头与CLIP骨干网络一起,在公开可用的目标检测数据集(如COCO和OpenImages)上进行了微调。
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},
}