{"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/spatiotemporal-contrastive-video","title":"Spatiotemporal Contrastive Video Representation Learning","arxiv_id":"2008.03800","date":"2020-08-09","proceeding":"CVPR 2021 1","authors":["Rui Qian","Tianjian Meng","Boqing Gong","Ming-Hsuan Yang","Huisheng Wang","Serge Belongie","Yin Cui"],"abstract":"We present a self-supervised Contrastive Video Representation Learning (CVRL) method to learn spatiotemporal visual representations from unlabeled videos. Our representations are learned using a contrastive loss, where two augmented clips from the same short video are pulled together in the embedding space, while clips from different videos are pushed away. We study what makes for good data augmentations for video self-supervised learning and find that both spatial and temporal information are crucial. We carefully design data augmentations involving spatial and temporal cues. Concretely, we propose a temporally consistent spatial augmentation method to impose strong spatial augmentations on each frame of the video while maintaining the temporal consistency across frames. We also propose a sampling-based temporal augmentation method to avoid overly enforcing invariance on clips that are distant in time. On Kinetics-600, a linear classifier trained on the representations learned by CVRL achieves 70.4% top-1 accuracy with a 3D-ResNet-50 (R3D-50) backbone, outperforming ImageNet supervised pre-training by 15.7% and SimCLR unsupervised pre-training by 18.8% using the same inflated R3D-50. The performance of CVRL can be further improved to 72.9% with a larger R3D-152 (2x filters) backbone, significantly closing the gap between unsupervised and supervised video representation learning. Our code and models will be available at https://github.com/tensorflow/models/tree/master/official/.","url_abs":"https://arxiv.org/abs/2008.03800v4","url_pdf":"https://arxiv.org/pdf/2008.03800v4.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":"spatiotemporal-contrastive-video","repo_url":"https://github.com/tensorflow/models/tree/master/official/projects/video_ssl","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"spatiotemporal-contrastive-video","repo_url":"https://github.com/applecrumble123/CVLR_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"spatiotemporal-contrastive-video","repo_url":"https://github.com/ed-fish/spatio-temporal-contrastive-film","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"spatiotemporal-contrastive-video","repo_url":"https://github.com/ed-fish/spatio-temporal-contrastive-video","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"action-recognition-in-videos","task_name":"Action Recognition"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-action-recognition","task_name":"Self-Supervised Action Recognition"},{"task_slug":"self-supervised-action-recognition-linear","task_name":"Self-Supervised Action Recognition Linear"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"unsupervised-pre-training","task_name":"Unsupervised Pre-training"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"3d-convolution","method_name":"3D Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"cvrl","method_name":"CVRL"},{"method_slug":"colorjitter","method_name":"ColorJitter"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"nt-xent","method_name":"NT-Xent"},{"method_slug":"random-gaussian-blur","method_name":"Random Gaussian Blur"},{"method_slug":"random-resized-crop","method_name":"Random Resized Crop"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"simclr","method_name":"SimCLR"},{"method_slug":"temporally-consistent-spatial-augmentation","method_name":"Temporally Consistent Spatial Augmentation"}],"datasets_introduced":[],"methods_introduced":[{"slug":"cvrl","name":"CVRL","full_name":"Contrastive Video Representation Learning"}],"results":[{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51","task":"Self-Supervised Action Recognition","dataset":"HMDB51","model":"CVRL (R3D-152 2x; K600)","rank_in_archive_order":7,"of":48,"metrics":{"Frozen":"false","Pre-Training Dataset":"Kinetics600","Top-1 Accuracy":"69.9"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51","task":"Self-Supervised Action Recognition","dataset":"HMDB51","model":"CVRL (R3D-50; K600)","rank_in_archive_order":10,"of":48,"metrics":{"Frozen":"false","Pre-Training Dataset":"Kinetics600","Top-1 Accuracy":"68.0"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51","task":"Self-Supervised Action Recognition","dataset":"HMDB51","model":"CVRL (R3D-50; K400)","rank_in_archive_order":12,"of":48,"metrics":{"Frozen":"false","Pre-Training Dataset":"Kinetics400","Top-1 Accuracy":"66.7"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51-1","task":"Self-Supervised Action Recognition","dataset":"HMDB51 (finetuned)","model":"CVRL (R3D-152 2x; K600)","rank_in_archive_order":3,"of":14,"metrics":{"Pretraining Dataset":"K600","Top-1 Accuracy":"69.9"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51-1","task":"Self-Supervised Action Recognition","dataset":"HMDB51 (finetuned)","model":"CVRL (R3D-50; K600)","rank_in_archive_order":5,"of":14,"metrics":{"Pretraining Dataset":"K600","Top-1 Accuracy":"68.0"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-hmdb51-1","task":"Self-Supervised Action Recognition","dataset":"HMDB51 (finetuned)","model":"CVRL (R3D-50; K400)","rank_in_archive_order":7,"of":14,"metrics":{"Pretraining Dataset":"K400","Top-1 Accuracy":"66.7"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-1","task":"Self-Supervised Action Recognition","dataset":"Kinetics-400","model":"CVRL (R3D-152 2x; K600 pretrain)","rank_in_archive_order":2,"of":4,"metrics":{"Top-1 accuracy %":"71.6"},"uses_additional_data":true},{"leaderboard":"/sota/self-supervised-action-recognition-on-1","task":"Self-Supervised Action Recognition","dataset":"Kinetics-400","model":"CVRL (R3D-101)","rank_in_archive_order":3,"of":4,"metrics":{"Top-1 accuracy %":"67.6"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-1","task":"Self-Supervised Action Recognition","dataset":"Kinetics-400","model":"CVRL (R3D-50)","rank_in_archive_order":4,"of":4,"metrics":{"Top-1 accuracy %":"66.1"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on","task":"Self-Supervised Action Recognition","dataset":"Kinetics-600","model":"CVRL (R3D-152 2x)","rank_in_archive_order":1,"of":5,"metrics":{"Top-1 Accuracy":"72.9"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on","task":"Self-Supervised Action Recognition","dataset":"Kinetics-600","model":"CVRL (R3D-101)","rank_in_archive_order":2,"of":5,"metrics":{"Top-1 Accuracy":"71.6"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on","task":"Self-Supervised Action Recognition","dataset":"Kinetics-600","model":"CVRL (R3D-50)","rank_in_archive_order":4,"of":5,"metrics":{"Top-1 Accuracy":"70.4"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101","task":"Self-Supervised Action Recognition","dataset":"UCF101","model":"CVRL (R3D-152 2x; K600)","rank_in_archive_order":10,"of":53,"metrics":{"3-fold Accuracy":"93.9","Frozen":"false","Pre-Training Dataset":"Kinetics600"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101","task":"Self-Supervised Action Recognition","dataset":"UCF101","model":"CVRL (R3D-50; K600)","rank_in_archive_order":12,"of":53,"metrics":{"3-fold Accuracy":"93.4","Frozen":"false","Pre-Training Dataset":"Kinetics600"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101","task":"Self-Supervised Action Recognition","dataset":"UCF101","model":"CVRL (R3D-50; K400)","rank_in_archive_order":17,"of":53,"metrics":{"3-fold Accuracy":"92.2","Frozen":"false","Pre-Training Dataset":"Kinetics400"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101-1","task":"Self-Supervised Action Recognition","dataset":"UCF101 (finetuned)","model":"CVRL (R3D-152 2x; K600)","rank_in_archive_order":3,"of":14,"metrics":{"3-fold Accuracy":"93.9","Pretrain":"K600"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101-1","task":"Self-Supervised Action Recognition","dataset":"UCF101 (finetuned)","model":"CVRL (R3D-50; K600)","rank_in_archive_order":5,"of":14,"metrics":{"3-fold Accuracy":"93.4","Pretrain":"K600"},"uses_additional_data":false},{"leaderboard":"/sota/self-supervised-action-recognition-on-ucf101-1","task":"Self-Supervised Action Recognition","dataset":"UCF101 (finetuned)","model":"CVRL (R3D-50; K400)","rank_in_archive_order":6,"of":14,"metrics":{"3-fold Accuracy":"92.2","Pretrain":"K400"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.03800","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}