模型:

flax-community/clip-rsicd

英文

Model Card: clip-rsicd

模型详情

该模型是一个经过微调的 CLIP by OpenAI 模型。它旨在改善遥感图像上的零样本图像分类、文本到图像和图像到图像的检索。

模型日期

2021年7月

模型类型

基础模型采用ViT-B/32 Transformer架构作为图像编码器,使用掩码自注意力Transformer作为文本编码器。这些编码器通过对比损失训练,以最大化(图像、文本)对的相似度。

模型版本

我们发布了clip-rsicd模型的几个检查点。有关每个检查点的零样本分类性能指标,请参阅 our github repo

训练

要重现微调过程,可以使用发布的 script 。模型使用批量大小1024进行训练,使用Adafactor优化器进行线性预热和衰减,峰值学习率为1e-4,在1个TPU-v3-8上进行训练。训练运行的完整日志可在 WandB 上找到。

演示

使用 this demo 来查看模型的文本到图像和图像到图像能力。

文档

与Transformers一起使用

from PIL import Image
import requests

from transformers import CLIPProcessor, CLIPModel

model = CLIPModel.from_pretrained("flax-community/clip-rsicd")
processor = CLIPProcessor.from_pretrained("flax-community/clip-rsicd")

url = "https://raw.githubusercontent.com/arampacha/CLIP-rsicd/master/data/stadium_1.jpg"
image = Image.open(requests.get(url, stream=True).raw)

labels = ["residential area", "playground", "stadium", "forrest", "airport"]
inputs = processor(text=[f"a photo of a {l}" for l in labels], 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
for l, p in zip(labels, probs[0]):
    print(f"{l:<16} {p:.4f}")

Try it on colab

模型使用

预期用途

该模型旨在成为研究社区的研究成果。我们希望这个模型能够使研究人员更好地理解和探索零样本、任意图像分类。

此外,我们可以想象它在国防和执法、气候变化和全球变暖甚至一些消费者应用中的应用。有关应用程序的部分列表可以在 here 找到。总的来说,我们认为这样的模型可以作为人类在搜索大量图像时的数字助手。

我们还希望它能够用于跨学科研究,研究这种模型的潜在影响——《CLIP》论文中对潜在下游影响的讨论就是为这种分析提供的一个示例。

主要预期用途

这些模型的主要使用者是AI研究人员。

我们主要想象模型将被研究人员用于更好地理解计算机视觉模型的健壮性、泛化能力和其他能力、偏差和约束。

数据

该模型是基于公开可用的遥感图像标题数据集进行训练的。具体为 RSICD UCM Sydney 。有关使用的数据集的更多信息可在 our project page 上找到。

性能和限制

性能

Model-name k=1 k=3 k=5 k=10
original CLIP 0.572 0.745 0.837 0.939
clip-rsicd (this model) 0.843 0.958 0.977 0.993

限制

该模型是在RSI数据上进行微调的,但可能包含原始CLIP模型的一些偏见和限制。有关详细信息,请参阅 CLIP model card