Skip to content

QUVA-Lab/SIGMA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Official PyTorch Implementation of SIGMA(ECCV 2024).

SIGMA Framework

🔥 Sinkhorn-Guided Masked Video Modeling

Video-based pretraining offers immense potential for learning strong visual representations on an unprecedented scale. Recently, masked video modeling methods have shown promising scalability, yet fall short in capturing higher-level semantics due to reconstructing predefined low-level targets such as pixels. To tackle this, we present Sinkhorn-guided Masked Video Modelling (SIGMA), a novel video pretraining method that jointly learns the video model in addition to a target feature space using a projection network. However, this simple modification means that the regular L2 reconstruction loss will lead to trivial solutions as both networks are jointly optimized. As a solution, we distribute features of space-time tubes evenly across a limited number of learnable clusters. By posing this as an optimal transport problem, we enforce high entropy in the generated features across the batch, infusing semantic and temporal meaning into the feature space. The resulting cluster assignments are used as targets for a symmetric prediction task where the video model predicts cluster assignment of the projection network and vice versa. Experimental results on ten datasets across three benchmarks validate the effectiveness of SIGMA in learning more performant, temporally-aware, and robust video representations improving upon state-of-the-art methods.

✨ Something-Something V2

Method Extra Data Backbone Resolution #Frames x Clips x Crops Epoch Top-1
VideoMAE no ViT-S 224x224 16x2x3 2400 66.8
VideoMAE no ViT-B 224x224 16x2x3 800 69.6
SIGMA Img-1k ViT-S 224x224 16x2x3 2400 68.6
SIGMA Img-1k ViT-B 224x224 16x2x3 800 70.9

✨ Kinetics-400

Method Extra Data Backbone Resolution #Frames x Clips x Crops Epoch Top-1
VideoMAE no ViT-S 224x224 16x5x3 1600 79.0
VideoMAE no ViT-B 224x224 16x5x3 800 80.0
SIGMA Img-1k ViT-S 224x224 16x5x3 800 79.4
SIGMA Img-1k ViT-B 224x224 16x5x3 800 81.6

🔨 Installation

Please follow the instructions in INSTALL.md.

➡️ Data Preparation

Please follow the instructions in DATASET.md for data preparation.

🔄 Pre-training

The pre-training instruction is in PRETRAIN.md. You can find our models on Huggingface(https://huggingface.co/SMSD75/SIGMA)

⤴️ Fine-tuning with pre-trained models

The fine-tuning instruction is in FINETUNE.md.

📍Model Zoo

⚠️ Our code is based on VideoMAE code base.

✏️ Citation

If you think this project is helpful, please feel free to leave a star⭐️ and cite our paper:


@inproceedings{salehi2024sigma,
  title={SIGMA: Sinkhorn-Guided Masked Video Modeling},
  author={Salehi, Mohammadreza and Dorkenwald, Michael and Thoker, Fida Mohammad and Gavves, Efstratios and Snoek, Cees GM and Asano, Yuki M},
  journal={European Conference of Computer Vision},
  year={2024}
}