vit_base_patch8_224.dino 项目介绍
项目简介
vit_base_patch8_224.dino 是一个基于视觉转换器(Vision Transformer, ViT)的图像特征模型。这一模型主要用于图像分类和特征提取,采用了名为 DINO 的自监督学习方法进行训练。DINO 方法是通过让模型自动从大量数据中发现特征,而无需人工标注的方式来提升模型的表现。
模型详细信息
- 模型类型: 图像分类/特征骨干网络
- 模型参数:
- 参数数量 (百万): 85.8
- GMACs(乘加运算数): 66.9
- 激活函数数量 (百万): 65.7
- 图像尺寸: 224 x 224
- 相关论文:
- 预训练数据集: ImageNet-1k
- 相关链接: Facebook Research DINO
模型使用方法
图像分类
使用 timm
库可以方便地进行图像分类。通过预训练的 vit_base_patch8_224.dino 模型,可以对输入的图片进行分类,返回最可能的类别。
from urllib.request import urlopen
from PIL import Image
import timm
# 读取图像
img = Image.open(urlopen('https://.../example.png'))
# 加载预训练模型
model = timm.create_model('vit_base_patch8_224.dino', pretrained=True)
model = model.eval()
# 获取并应用图像转换
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
# 进行分类预测
output = model(transforms(img).unsqueeze(0))
图像特征提取
vit_base_patch8_224.dino 模型也可用于提取图像特征,这有助于理解图像的内容和结构。
from urllib.request import urlopen
from PIL import Image
import timm
# 读取图像
img = Image.open(urlopen('https://.../example.png'))
# 创建模型并去掉分类层
model = timm.create_model('vit_base_patch8_224.dino', pretrained=True, num_classes=0)
model = model.eval()
# 应用转换
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
# 提取图像特征
output = model.forward_features(transforms(img).unsqueeze(0))
模型对比与性能
对于 vit_base_patch8_224.dino 模型的性能表现,可以在 timm 模型结果页 查看详细的数据集和运行时间指标。这能够帮助用户更好地了解模型在不同场景下的应用。
引用
如果在研究中使用了此模型,建议引用以下相关论文:
@inproceedings{caron2021emerging,
title={Emerging properties in self-supervised vision transformers},
author={Caron, Mathilde and Touvron, Hugo and Misra, Ishan and J{'e}gou, Herv{'e} and Mairal, Julien and Bojanowski, Piotr and Joulin, Armand},
booktitle={Proceedings of the IEEE/CVF international conference on computer vision},
pages={9650--9660},
year={2021}
}
@article{dosovitskiy2020vit,
title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
author={Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil},
journal={ICLR},
year={2021}
}
@misc{rw2019timm,
author = {Ross Wightman},
title = {PyTorch Image Models},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
doi = {10.5281/zenodo.4414861},
howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}