模型:

nvidia/groupvit-gcc-redcaps

英文

模型卡片:GroupViT

此模型由Jiarui Xu上传。

模型细节

GroupViT模型是由Jiarui Xu、Shalini De Mello、Sifei Liu、Wonmin Byeon、Thomas Breuel、Jan Kautz、Xiaolong Wang于2022年提出的。受CLIP的启发,GroupViT是一种能够对任何给定的词汇类别进行零样本语义分割的视觉-语言模型。

模型日期

2022年6月

摘要

分组和识别是视觉场景理解的重要组成部分,例如目标检测和语义分割。在端到端的深度学习系统中,图像区域的分组通常是通过自顶向下的像素级识别标签监督隐式进行的。相反,在本文中,我们提出将分组机制重新引入到深度网络中,这样语义分段就可以在只有文本监督的情况下自动出现。我们提出了一种分层的Grouping Vision Transformer(GroupViT),它超越了常规的网格结构表示,学习将图像区域分组成逐渐变大的任意形状的片段。我们通过对比损失,在大规模的图像-文本数据集上联合训练GroupViT和文本编码器。在只有文本监督且没有任何像素级注释的情况下,GroupViT学会了将语义区域进行分组,并成功地以零样本的方式转移到语义分割任务,即无需进一步的微调。它在PASCAL VOC 2012数据集上的零样本准确率为52.3%的mIoU,并在PASCAL Context数据集上达到22.4%的mIoU,与需要更高级别监督的现有最先进的迁移学习方法竞争性地表现。

文档

与Transformers一起使用

from PIL import Image
import requests
from transformers import AutoProcessor, GroupViTModel

processor = AutoProcessor.from_pretrained("nvidia/groupvit-gcc-redcaps")
model = GroupViTModel.from_pretrained("nvidia/groupvit-gcc-redcaps")

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)

outputs = model(**inputs)
logits_per_image = outputs.logits_per_image  # this is the image-text similarity score
probs = logits_per_image.softmax(dim=1)  # we can take the softmax to get the label probabilities

数据

该模型是训练在公开可用的图像描述数据上。这是通过爬取一些网站和使用常用的现有图像数据集(如 YFCC100M )的组合来完成的。数据的大部分来自我们对互联网的抓取。这意味着数据更具代表性,容易偏向于与互联网连接最多的人和社会,这往往是发达国家和年轻男性用户。

有关更多代码示例,请参阅 documentation

BibTeX条目和引文信息

@article{xu2022groupvit,
  author    = {Xu, Jiarui and De Mello, Shalini and Liu, Sifei and Byeon, Wonmin and Breuel, Thomas and Kautz, Jan and Wang, Xiaolong},
  title     = {GroupViT: Semantic Segmentation Emerges from Text Supervision},
  journal   = {arXiv preprint arXiv:2202.11094},
  year      = {2022},
}