🚀 视觉变换器(小型模型) - 使用DINOv2训练
本项目是一个使用DINOv2方法训练的视觉变换器(ViT)模型,可用于图像分类等下游任务,为图像识别领域提供了强大的特征提取能力。
🚀 快速开始
本模型是使用DINOv2方法训练的视觉变换器(ViT)模型。该方法由Oquab等人在论文 DINOv2: Learning Robust Visual Features without Supervision 中提出,并首次在 此仓库 中发布。
声明:发布DINOv2的团队并未为此模型编写模型卡片,此模型卡片由Hugging Face团队编写。
✨ 主要特性
- 基于自监督学习方式,在大量图像上进行预训练,学习到图像的内在表示,可用于提取对下游任务有用的特征。
- 不包含任何微调头,用户可根据自身需求在预训练编码器之上添加线性层,训练标准分类器。
📚 详细文档
模型描述
视觉变换器(ViT)是一种基于Transformer编码器的模型(类似BERT),以自监督的方式在大量图像上进行预训练。
图像以固定大小的图像块序列形式输入到模型中,这些图像块经过线性嵌入处理。同时,在序列开头添加一个 [CLS] 标记,用于分类任务。在将序列输入到Transformer编码器的各层之前,还会添加绝对位置嵌入。
需要注意的是,此模型不包含任何微调头。
通过对模型进行预训练,它能够学习到图像的内在表示,这些表示可用于提取对下游任务有用的特征。例如,如果您有一个带标签的图像数据集,可以在预训练编码器之上添加一个线性层,训练一个标准分类器。通常会在 [CLS] 标记之上添加线性层,因为该标记的最后隐藏状态可视为整个图像的表示。
预期用途和局限性
您可以使用此模型对图像进行分类,类别为 1000个ImageNet标签 之一。您可以在 模型中心 查找其他针对您感兴趣任务的微调版本。
💻 使用示例
基础用法
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained('facebook/dinov2-small-imagenet1k-1-layer')
model = AutoModelForImageClassification.from_pretrained('facebook/dinov2-small-imagenet1k-1-layer')
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
📄 许可证
本项目采用Apache-2.0许可证。
BibTeX引用
misc{oquab2023dinov2,
title={DINOv2: Learning Robust Visual Features without Supervision},
author={Maxime Oquab and Timothée Darcet and Théo Moutakanni and Huy Vo and Marc Szafraniec and Vasil Khalidov and Pierre Fernandez and Daniel Haziza and Francisco Massa and Alaaeldin El-Nouby and Mahmoud Assran and Nicolas Ballas and Wojciech Galuba and Russell Howes and Po-Yao Huang and Shang-Wen Li and Ishan Misra and Michael Rabbat and Vasu Sharma and Gabriel Synnaeve and Hu Xu and Hervé Jegou and Julien Mairal and Patrick Labatut and Armand Joulin and Piotr Bojanowski},
year={2023},
eprint={2304.07193},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
📦 信息表格