license: "cc-by-nc-4.0"
tags:
VideoMAE(小尺寸模型,基于Kinetics-400微调)
VideoMAE模型通过1600个周期的自监督预训练,并在Kinetics-400数据集上进行监督微调。该模型由Tong等人在论文《VideoMAE:掩码自编码器是数据高效的自监督视频预训练学习器》中提出,并首次发布于此代码库。
免责声明:发布VideoMAE的团队未为此模型编写说明卡片,本卡片由Hugging Face团队撰写。
模型描述
VideoMAE是掩码自编码器(MAE)在视频领域的扩展。模型架构与标准视觉Transformer(ViT)极为相似,顶部添加了解码器用于预测被掩码图像块的像素值。
视频以固定尺寸图像块(分辨率16x16)的序列形式输入模型,这些块经过线性嵌入。序列开头会添加一个[CLS]标记用于分类任务,并在输入Transformer编码器层之前加入固定的正弦/余弦位置嵌入。
通过预训练,模型学习视频的内部表示,可用于提取下游任务所需的特征:例如,若有标注视频数据集,可在预训练编码器顶部添加线性层训练标准分类器。通常会在[CLS]标记顶部添加线性层,因该标记的最后隐藏状态可视为整个视频的表征。
预期用途与限制
您可将原始模型用于视频分类,识别Kinetics-400的400种可能类别。
使用方法
以下代码展示如何使用该模型进行视频分类:
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-small-finetuned-kinetics")
model = VideoMAEForVideoClassification.from_pretrained("MCG-NJU/videomae-small-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("预测类别:", model.config.id2label[predicted_class_idx])
更多代码示例请参阅文档。
训练数据
(待补充,欢迎提交PR)
训练流程
预处理
(待补充,欢迎提交PR)
预训练
(待补充,欢迎提交PR)
评估结果
该模型在Kinetics-400测试集上取得79.0的top-1准确率和93.8的top-5准确率。
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:掩码自编码器是数据高效的自监督视频预训练学习器},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}