🚀 ビジョントランスフォーマー (小型モデル) をDINOv2で学習
DINOv2手法を用いて学習されたビジョントランスフォーマー (ViT) モデルです。このモデルは、Oquabらによる論文 DINOv2: Learning Robust Visual Features without Supervision で紹介され、最初は このリポジトリ で公開されました。
免責事項: DINOv2を公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されました。
🚀 クイックスタート
このモデルは、DINOv2手法を用いて学習されたビジョントランスフォーマー (ViT) で、画像の特徴抽出や分類タスクに利用できます。
✨ 主な機能
- 自己教師あり学習により、大規模な画像コレクションで事前学習されています。
- 画像を固定サイズのパッチ列として扱い、特徴抽出が可能です。
- 事前学習したモデルを用いて、下流タスクのための特徴を抽出できます。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
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])
📚 ドキュメント
モデルの説明
ビジョントランスフォーマー (ViT) は、自己教師あり学習により、大量の画像コレクションで事前学習されたトランスフォーマーエンコーダモデル (BERTのような) です。
画像は固定サイズのパッチ列としてモデルに入力され、線形埋め込みが行われます。また、分類タスクに使用するために、シーケンスの先頭に [CLS] トークンが追加されます。シーケンスをトランスフォーマーエンコーダのレイヤーに入力する前に、絶対位置埋め込みも追加されます。
このモデルには、ファインチューニングされたヘッドは含まれていません。
モデルを事前学習することで、画像の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用できます。例えば、ラベル付き画像のデータセットがある場合、事前学習されたエンコーダの上に線形レイヤーを配置して、標準的な分類器を学習することができます。通常、[CLS] トークンの最後の隠れ状態は画像全体の表現と見なせるため、このトークンの上に線形レイヤーが配置されます。
想定される用途と制限
このモデルは、1000のImageNetラベル の中から画像を分類するために使用できます。興味のあるタスクに関する他のファインチューニングされたバージョンを探すには、モデルハブ を参照してください。
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}
}
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。