🚀 模型卡片:clip-rsicd
本模型是基于 OpenAI的CLIP 进行微调的模型。其旨在提升零样本图像分类、文本到图像以及图像到图像检索的性能,尤其针对遥感图像。
🚀 快速开始
与Transformers库结合使用
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("flax-community/clip-rsicd-v2")
processor = CLIPProcessor.from_pretrained("flax-community/clip-rsicd-v2")
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", "forest", "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
probs = logits_per_image.softmax(dim=1)
for l, p in zip(labels, probs[0]):
print(f"{l:<16} {p:.4f}")
在colab中尝试
✨ 主要特性
- 基于微调的CLIP模型,专注于提升遥感图像的零样本分类和检索能力。
- 发布多个检查点,可参考 GitHub仓库 获取各检查点的零样本分类性能指标。
- 提供了复现微调过程的脚本,方便研究者进行实验。
📦 安装指南
若要复现微调过程,可使用发布的 脚本。模型在1个TPU-v3-8上使用批量大小1024、adafactor优化器(线性热身和衰减,峰值学习率1e-4)进行训练。训练运行的完整日志可在 WandB 上找到。
📚 详细文档
🔧 技术细节
模型详情
模型日期
2021年7月
模型类型
基础模型使用ViT-B/32 Transformer架构作为图像编码器,使用掩码自注意力Transformer作为文本编码器。这些编码器通过对比损失进行训练,以最大化(图像,文本)对的相似度。
模型版本
我们为 clip-rsicd
模型发布了多个检查点。各检查点的零样本分类性能指标可参考 我们的GitHub仓库。
训练
模型在公开可用的遥感图像字幕数据集上进行训练,具体包括 RSICD、UCM 和 Sydney。更多关于所用数据集的信息可在 我们的项目页面 上找到。
📄 许可证
文档中未提及相关许可证信息。
📊 性能与局限性
性能
模型名称 |
k=1 |
k=3 |
k=5 |
k=10 |
原始CLIP |
0.572 |
0.745 |
0.837 |
0.939 |
clip-rsicd-v2(本模型) |
0.883 |
0.968 |
0.982 |
0.998 |
局限性
该模型在遥感图像数据上进行了微调,但可能包含原始CLIP模型的一些偏差和局限性。具体细节可参考 CLIP模型卡片。
🎮 模型使用
预期用途
本模型旨在作为研究成果供研究社区使用。我们希望该模型能帮助研究人员更好地理解和探索零样本、任意图像分类。
此外,我们设想该模型可应用于国防和执法、气候变化和全球变暖等领域,甚至一些消费级应用。部分应用列表可在 此处 找到。总体而言,我们认为此类模型可作为人类搜索大量图像集的数字助手。
我们还希望该模型可用于跨学科研究,分析此类模型的潜在影响 - CLIP论文中包含了对潜在下游影响的讨论,可为这类分析提供示例。
主要预期用途
这些模型的主要预期用户是AI研究人员。
我们主要设想研究人员将使用该模型,以更好地理解计算机视觉模型的鲁棒性、泛化能力以及其他能力、偏差和局限性。
演示
可通过 此演示 查看模型的文本到图像和图像到图像检索能力。