{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/masked-feature-prediction-for-self-supervised","title":"Masked Feature Prediction for Self-Supervised Visual Pre-Training","arxiv_id":"2112.09133","date":"2021-12-16","proceeding":"CVPR 2022 1","authors":["Chen Wei","Haoqi Fan","Saining Xie","Chao-yuan Wu","Alan Yuille","Christoph Feichtenhofer"],"abstract":"We present Masked Feature Prediction (MaskFeat) for self-supervised pre-training of video models. Our approach first randomly masks out a portion of the input sequence and then predicts the feature of the masked regions. We study five different types of features and find Histograms of Oriented Gradients (HOG), a hand-crafted feature descriptor, works particularly well in terms of both performance and efficiency. We observe that the local contrast normalization in HOG is essential for good results, which is in line with earlier work using HOG for visual recognition. Our approach can learn abundant visual knowledge and drive large-scale Transformer-based models. Without using extra model weights or supervision, MaskFeat pre-trained on unlabeled videos achieves unprecedented results of 86.7% with MViT-L on Kinetics-400, 88.3% on Kinetics-600, 80.4% on Kinetics-700, 39.8 mAP on AVA, and 75.0% on SSv2. MaskFeat further generalizes to image input, which can be interpreted as a video with a single frame and obtains competitive results on ImageNet.","url_abs":"https://arxiv.org/abs/2112.09133v2","url_pdf":"https://arxiv.org/pdf/2112.09133v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/facebookresearch/SlowFast","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/Westlake-AI/openmixup","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/mx-mark/dmjd","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/mx-mark/videotransformer-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/yyk-wew/semanticmim","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"masked-feature-prediction-for-self-supervised","repo_url":"https://github.com/open-mmlab/mmselfsup","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"action-classification","task_name":"Action Classification"},{"task_slug":"action-recognition-in-videos","task_name":"Action Recognition"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"self-supervised-image-classification","task_name":"Self-Supervised Image Classification"}],"methods":[{"method_slug":"local-contrast-normalization","method_name":"Local Contrast Normalization"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/action-classification-on-kinetics-400","task":"Action Classification","dataset":"Kinetics-400","model":"MaskFeat (K600, MViT-L)","rank_in_archive_order":42,"of":207,"metrics":{"Acc@1":"87.0","Acc@5":"97.4"},"uses_additional_data":false},{"leaderboard":"/sota/action-classification-on-kinetics-400","task":"Action Classification","dataset":"Kinetics-400","model":"MaskFeat (no extra data, MViT-L)","rank_in_archive_order":45,"of":207,"metrics":{"Acc@1":"86.7","Acc@5":"97.3"},"uses_additional_data":false},{"leaderboard":"/sota/action-classification-on-kinetics-600","task":"Action Classification","dataset":"Kinetics-600","model":"MaskFeat (no extra data, MViT-L)","rank_in_archive_order":20,"of":65,"metrics":{"Top-1 Accuracy":"88.3","Top-5 Accuracy":"98.0"},"uses_additional_data":false},{"leaderboard":"/sota/action-classification-on-kinetics-700","task":"Action Classification","dataset":"Kinetics-700","model":"MaskFeat (no extra data, MViT-L)","rank_in_archive_order":12,"of":36,"metrics":{"Top-1 Accuracy":"80.4","Top-5 Accuracy":"95.7"},"uses_additional_data":false},{"leaderboard":"/sota/action-recognition-on-ava-v2-2","task":"Action Recognition","dataset":"AVA v2.2","model":"MaskFeat (Kinetics-600 pretrain, MViT-L)","rank_in_archive_order":8,"of":38,"metrics":{"mAP":"39.8"},"uses_additional_data":true},{"leaderboard":"/sota/action-recognition-in-videos-on-something","task":"Action Recognition","dataset":"Something-Something V2","model":"MaskFeat (Kinetics600 pretrain, MViT-L)","rank_in_archive_order":11,"of":123,"metrics":{"GFLOPs":"2828*3","Parameters":"218","Top-1 Accuracy":"75.0","Top-5 Accuracy":"95.0"},"uses_additional_data":true},{"leaderboard":"/sota/self-supervised-image-classification-on-1","task":"Self-Supervised Image Classification","dataset":"ImageNet (finetuned)","model":"MaskFeat (ViT-L)","rank_in_archive_order":21,"of":65,"metrics":{"Number of Params":"307M","Top 1 Accuracy":"85.7%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.09133","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}