Chinese-CLIP-ViT-Huge-Patch14 项目介绍
项目简介
Chinese-CLIP-ViT-Huge-Patch14 是一个大型版的中文 CLIP(Contrastive Language–Image Pretraining)模型,结合使用了 ViT-H/14 作为图像编码器和 RoBERTa-wwm-large 作为文本编码器。这个项目旨在提供一个简单的 CLIP 实现,能够处理大规模数据集,涵盖约两亿对中文图像-文本对。如果想了解更多技术细节,可以参考他们的论文(链接)以及官方 GitHub 仓库(链接),欢迎给项目加星。
如何使用官方 API
该项目提供了一个简单的代码示例,展示如何使用 Chinese-CLIP 的 API 计算图像和文本的特征以及相似度。这些步骤包括:
- 从 Hugging Face 下载预训练的 Chinese CLIP 模型及处理器。
- 加载待处理的图像和文本。
- 使用模型对图像和文本进行特征提取,并归一化处理。
- 通过计算得到图像与文本的相似度评分。
以下是代码示例:
from PIL import Image
import requests
from transformers import ChineseCLIPProcessor, ChineseCLIPModel
model = ChineseCLIPModel.from_pretrained("OFA-Sys/chinese-clip-vit-huge-patch14")
processor = ChineseCLIPProcessor.from_pretrained("OFA-Sys/chinese-clip-vit-huge-patch14")
url = "https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/pokemon.jpeg"
image = Image.open(requests.get(url, stream=True).raw)
texts = ["杰尼龟", "妙蛙种子", "小火龙", "皮卡丘"]
inputs = processor(images=image, return_tensors="pt")
image_features = model.get_image_features(**inputs)
image_features = image_features / image_features.norm(p=2, dim=-1, keepdim=True)
inputs = processor(text=texts, padding=True, return_tensors="pt")
text_features = model.get_text_features(**inputs)
text_features = text_features / text_features.norm(p=2, dim=-1, keepdim=True)
inputs = processor(text=texts, images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
若对 API 的使用不满足需求,还可前往 GitHub 仓库获取更详细的训练与推断信息。
项目成果
Chinese-CLIP 在多个指标上展示了其强大的文本图像检索与分类能力,下列是一些测试结果:
MUGE 文本到图像检索
结果展示了在不同方法下零样本和微调方法的表现,包括 R@1、R@5、R@10 等指标。
Flickr30K-CN 检索
在文本-图像以及图像-文本检索任务中,项目对比了不同方法在零样本和微调设置中的表现。
COCO-CN 检索
同样在 COCO 数据集中,分析了文本到图像和图像到文本任务的多种方法的检索精度。
零样本图像分类
对此进行了多种数据集上的测试(如 CIFAR10、CIFAR100 等),显示了不同方法下的分类准确率。
引用
如果您觉得 Chinese CLIP 对您的工作有帮助,欢迎引用他们的论文:
@article{chinese-clip,
title={Chinese CLIP: Contrastive Vision-Language Pretraining in Chinese},
author={Yang, An and Pan, Junshu and Lin, Junyang and Men, Rui and Zhang, Yichang and Zhou, Jingren and Zhou, Chang},
journal={arXiv preprint arXiv:2211.01335},
year={2022}
}
通过该项目,研究人员展示了中文视觉-语言预训练的巨大潜力,为更多相关应用打开了大门。