Chinese-CLIP-ViT-Large-Patch14 项目介绍
项目概述
Chinese-CLIP-ViT-Large-Patch14 是一个用于图像和文本处理的项目,它基于一个大规模的中文数据集进行开发。这个项目使用 ViT-L/14 作为图像编码器,RoBERTa-wwm-base 作为文本编码器。项目的核心是一个简单的 CLIP 实现,处理了大约 2 亿对中文图像和文本数据。这项技术的详细信息,可以参考项目的技术报告和 GitHub 仓库,欢迎大家的关注!
功能与应用
Chinese-CLIP 提供了一种简便的方法来计算图像和文本的特征嵌入及相似性。用户可以通过官方的 API 实现以下功能:
- 获取图像特征:通过预先提供的图像,项目可以提取其特征,并进行归一化处理。
- 获取文本特征:支持多文本输入,对文本特征进行计算和归一化。
- 计算图文相似性得分:结合图像和文本,计算其相似性得分,并提供相应的概率结果。
使用示例
项目提供了一个简单的 Python 代码示例,帮助用户快速上手。代码利用 Transformers 库读取模型和处理器实例,然后对一张图片和四个中文文本进行特征提取和相似度计算。
from PIL import Image
import requests
from transformers import ChineseCLIPProcessor, ChineseCLIPModel
model = ChineseCLIPModel.from_pretrained("OFA-Sys/chinese-clip-vit-large-patch14")
processor = ChineseCLIPProcessor.from_pretrained("OFA-Sys/chinese-clip-vit-large-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)
对于希望深入了解模型训练和推理的用户,建议访问项目的 GitHub 进行更多探索。
项目成果
Chinese-CLIP 在多个基准测试中(如 MUGE 文本到图像检索、Flickr30K-CN 和 COCO-CN 检索、零样本图像分类)取得了良好的表现。这表明 Chinese-CLIP 能够有效处理中文图像和文本数据,进行高准确性和高效率的多模态分析。
鸣谢
如果您觉得 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}
}
更多关于项目的信息,请访问 Chinese CLIP 的 GitHub 仓库。