🚀 VideoMAE (ベースサイズのモデル、Kinetics-400でファインチューニング済み)
VideoMAEモデルは、1600エポックで自己教師付き学習により事前学習され、Kinetics-400で教師付き学習によりファインチューニングされています。このモデルは、Tongらによる論文 VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training で紹介され、このリポジトリ で最初に公開されました。
免責事項: VideoMAEを公開したチームはこのモデルのモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されています。
🚀 クイックスタート
このモデルを使って動画を分類するには、以下のコードを参考にしてください。
from transformers import VideoMAEImageProcessor, VideoMAEForVideoClassification
import numpy as np
import torch
video = list(np.random.randn(16, 3, 224, 224))
processor = VideoMAEImageProcessor.from_pretrained("MCG-NJU/videomae-base-finetuned-kinetics")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-base-finetuned-kinetics")
inputs = processor(video, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
より詳細なコード例については、ドキュメント を参照してください。
✨ 主な機能
VideoMAEは、Masked Autoencoders (MAE) を動画に拡張したモデルです。モデルのアーキテクチャは、標準的なVision Transformer (ViT) に非常に似ており、マスクされたパッチのピクセル値を予測するためのデコーダが上部にあります。
動画は、固定サイズのパッチ (解像度16x16) のシーケンスとしてモデルに入力され、線形埋め込みされます。また、分類タスクに使用するために、シーケンスの先頭に [CLS] トークンを追加します。トランスフォーマーエンコーダのレイヤーにシーケンスを入力する前に、固定の正弦/余弦位置埋め込みも追加します。
モデルを事前学習することで、動画の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用できます。たとえば、ラベル付きの動画データセットがある場合、事前学習されたエンコーダの上部に線形レイヤーを配置して、標準的な分類器を学習することができます。通常、[CLS] トークンの上部に線形レイヤーを配置します。このトークンの最後の隠れ状態は、動画全体の表現と見なすことができます。
💻 使用例
基本的な使用法
from transformers import VideoMAEImageProcessor, VideoMAEForVideoClassification
import numpy as np
import torch
video = list(np.random.randn(16, 3, 224, 224))
processor = VideoMAEImageProcessor.from_pretrained("MCG-NJU/videomae-base-finetuned-kinetics")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-base-finetuned-kinetics")
inputs = processor(video, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
📚 ドキュメント
このモデルは、400種類のKinetics-400ラベルのいずれかに動画を分類するために使用できます。
🔧 技術詳細
このモデルは、Kinetics-400のテストセットで、トップ1精度80.9、トップ5精度94.7を達成しています。
BibTeXエントリと引用情報
misc{https://doi.org/10.48550/arxiv.2203.12602,
doi = {10.48550/ARXIV.2203.12602},
url = {https://arxiv.org/abs/2203.12602},
author = {Tong, Zhan and Song, Yibing and Wang, Jue and Wang, Limin},
keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}
📄 ライセンス
このモデルは、CC BY-NC 4.0ライセンスの下で提供されています。