MCPcopy Index your code
hub / github.com/OpenGVLab/unmasked_teacher

github.com/OpenGVLab/unmasked_teacher @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,427 symbols 4,388 edges 260 files 356 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Unmasked Teacher

This repo is the official implementation of "Unmasked Teacher: Towards Training-Efficient Video Foundation Models". By Kunchang Li, Yali Wang, Yizhuo Li, Yi Wang, Yinan He, Limin Wang and Yu Qiao. teaser

Update

  • :star_struck: 2023/11/06: Glad to see that UMTScore’s ranking of video-text alignment is most consistent with humans. Check FETV.
  • :1st_place_medal: 2023/10/01: Get Champion with unmasked teacher on Perception Test Challenge, ICCV 2023. Check our solutions.
  • :warning: 2023/09/25: Bug for MSVD retrieval. Check https://github.com/OpenGVLab/unmasked_teacher/issues/12. Results have been updated.
  • :rocket: 2023/09/20: Fix bug in UMT pretraining. Add autocast for teacher forward, which can halve the pretraining time.
  • :fire: 2023/07/19: All the code and models are released.
  • single_modality: Single-modality pretraining and finetuning.
  • multi_modality: Multi-modality pretraining and finetuning.
  • :bowing_man: We are hiring researchers, engineers and interns in General Vision Group, Shanghai AI Lab. If you are interested in working with us, please contact Yi Wang (wangyi@pjlab.org.cn).

  • 2023/07/14: Unmasked Teacher is accpeted by ICCV2023! 🎉🎉

  • 2023/03/17: We gave a blog in Chinese Zhihu.

Introduction

Video Foundation Models (VFMs) have received limited exploration due to high computational costs and data scarcity. Previous VFMs rely on Image Foundation Models (IFMs), which face challenges in transferring to the video domain. Although VideoMAE has trained a robust ViT from limited data, its low-level reconstruction poses convergence difficulties and conflicts with high-level cross-modal alignment. This paper proposes a training-efficient method for temporal-sensitive VFMs that integrates the benefits of existing methods. To increase data efficiency, we mask out most of the low-semantics video tokens, but selectively align the unmasked tokens with IFM, which serves as the UnMasked Teacher (UMT). By providing semantic guidance, our method enables faster convergence and multimodal friendliness. With a progressive pre-training framework, our model can handle various tasks including scene-related, temporal-related, and complex video-language understanding. Using only public sources for pre-training in 6 days on 32 A100 GPUs, our scratch-built ViT-L/16 achieves state-of-the-art performances on various video tasks. teaser

PWC PWC PWC
PWC PWC PWC PWC PWC PWC

PWC PWC PWC PWC PWC PWC

PWC PWC PWC

Cite

If you find this repository useful, please use the following BibTeX entry for citation.

@misc{li2023unmasked,
      title={Unmasked Teacher: Towards Training-Efficient Video Foundation Models}, 
      author={Kunchang Li and Yali Wang and Yizhuo Li and Yi Wang and Yinan He and Limin Wang and Yu Qiao},
      year={2023},
      eprint={2303.16058},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Acknowledgement

This repository is built based on UniFormer, VideoMAE and VINDLU repository.

Discussion Group

If you have any questions during the trial, running or deployment, feel free to join our WeChat group discussion! If you have any ideas or suggestions for the project, you are also welcome to join our WeChat group discussion!

image

Core symbols most depended-on inside this repo

to
called by 130
single_modality/action_detection/alphaction/structures/bounding_box.py
print
called by 112
single_modality/action_detection/utils.py
print
called by 103
single_modality/utils.py
items
called by 78
single_modality/action_detection/alphaction/structures/memory_pool.py
update
called by 66
single_modality/action_detection/utils.py
get
called by 48
single_modality/action_detection/alphaction/config/paths_catalog.py
load
called by 39
single_modality/action_detection/alphaction/utils/checkpoint.py
transpose
called by 39
single_modality/action_detection/alphaction/structures/bounding_box.py

Shape

Method 759
Function 439
Class 228
Route 1

Languages

Python99%
C++1%

Modules by API surface

multi_modality/models/backbones/bert/xbert.py100 symbols
single_modality/datasets/video_transforms.py57 symbols
single_modality/utils.py50 symbols
single_modality/action_detection/utils.py46 symbols
single_modality/datasets/rand_augment.py42 symbols
single_modality/datasets/transforms.py35 symbols
single_modality/action_detection/modeling_finetune.py34 symbols
multi_modality/models/backbones/vit/vit.py33 symbols
single_modality/models/modeling_finetune.py32 symbols
single_modality/action_detection/alphaction/dataset/transforms/video_transforms.py32 symbols
multi_modality/utils/basic_utils.py32 symbols
single_modality/action_detection/alphaction/dataset/datasets/evaluation/ava/pascal_evaluation/object_detection_evaluation.py31 symbols

For agents

$ claude mcp add unmasked_teacher \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact