🚀 ビジョントランスフォーマー (DINOv2を使用して学習されたベースサイズのモデル)
DINOv2手法を用いて学習されたビジョントランスフォーマー(ViT)モデルです。このモデルは、Oquabらによる論文 DINOv2: Learning Robust Visual Features without Supervision で紹介され、このリポジトリ で最初に公開されました。
免責事項: DINOv2を公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されています。
✨ 主な機能
ビジョントランスフォーマー(ViT)は、自己教師付き学習方式で大量の画像コレクションに対して事前学習されたトランスフォーマーエンコーダモデル(BERTのような)です。画像は固定サイズのパッチのシーケンスとしてモデルに入力され、線形埋め込みされます。また、分類タスクに使用するために、シーケンスの先頭に [CLS] トークンが追加されます。トランスフォーマーエンコーダのレイヤーにシーケンスを入力する前に、絶対位置埋め込みも追加されます。
このモデルには微調整されたヘッドは含まれていません。事前学習により、モデルは画像の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用できます。たとえば、ラベル付き画像のデータセットがある場合、事前学習されたエンコーダの上に線形レイヤーを配置して標準的な分類器を学習することができます。通常、[CLS] トークンの上に線形レイヤーを配置します。このトークンの最後の隠れ状態は、画像全体の表現と見なすことができます。
📚 ドキュメント
想定される使用目的と制限
生のモデルを特徴抽出に使用することができます。関心のあるタスクに対する微調整されたバージョンを探すには、モデルハブ を参照してください。
使い方
このモデルの使用方法は次のとおりです。
from transformers import AutoImageProcessor, AutoModel
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-base')
model = AutoModel.from_pretrained('facebook/dinov2-base')
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
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ライセンスの下で提供されています。