Rui Qian, Tianjian Meng, Boqing Gong, Ming-Hsuan Yang, Huisheng Wang, Serge Belongie, Yin Cui
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/.
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Activity Recognition | Kinetics-400 | Top-1 accuracy % | 71.6 | CVRL (R3D-152 2x; K600 pretrain) |
| Activity Recognition | Kinetics-400 | Top-1 accuracy % | 67.6 | CVRL (R3D-101) |
| Activity Recognition | Kinetics-400 | Top-1 accuracy % | 66.1 | CVRL (R3D-50) |
| Activity Recognition | UCF101 (finetuned) | 3-fold Accuracy | 93.9 | CVRL (R3D-152 2x; K600) |
| Activity Recognition | UCF101 (finetuned) | 3-fold Accuracy | 93.4 | CVRL (R3D-50; K600) |
| Activity Recognition | UCF101 (finetuned) | 3-fold Accuracy | 92.2 | CVRL (R3D-50; K400) |
| Activity Recognition | UCF101 | 3-fold Accuracy | 93.9 | CVRL (R3D-152 2x; K600) |
| Activity Recognition | UCF101 | 3-fold Accuracy | 93.4 | CVRL (R3D-50; K600) |
| Activity Recognition | UCF101 | 3-fold Accuracy | 92.2 | CVRL (R3D-50; K400) |
| Activity Recognition | Kinetics-600 | Top-1 Accuracy | 72.9 | CVRL (R3D-152 2x) |
| Activity Recognition | Kinetics-600 | Top-1 Accuracy | 71.6 | CVRL (R3D-101) |
| Activity Recognition | Kinetics-600 | Top-1 Accuracy | 70.4 | CVRL (R3D-50) |
| Activity Recognition | HMDB51 | Top-1 Accuracy | 69.9 | CVRL (R3D-152 2x; K600) |
| Activity Recognition | HMDB51 | Top-1 Accuracy | 68 | CVRL (R3D-50; K600) |
| Activity Recognition | HMDB51 | Top-1 Accuracy | 66.7 | CVRL (R3D-50; K400) |
| Activity Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 69.9 | CVRL (R3D-152 2x; K600) |
| Activity Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 68 | CVRL (R3D-50; K600) |
| Activity Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 66.7 | CVRL (R3D-50; K400) |
| Action Recognition | Kinetics-400 | Top-1 accuracy % | 71.6 | CVRL (R3D-152 2x; K600 pretrain) |
| Action Recognition | Kinetics-400 | Top-1 accuracy % | 67.6 | CVRL (R3D-101) |
| Action Recognition | Kinetics-400 | Top-1 accuracy % | 66.1 | CVRL (R3D-50) |
| Action Recognition | UCF101 (finetuned) | 3-fold Accuracy | 93.9 | CVRL (R3D-152 2x; K600) |
| Action Recognition | UCF101 (finetuned) | 3-fold Accuracy | 93.4 | CVRL (R3D-50; K600) |
| Action Recognition | UCF101 (finetuned) | 3-fold Accuracy | 92.2 | CVRL (R3D-50; K400) |
| Action Recognition | UCF101 | 3-fold Accuracy | 93.9 | CVRL (R3D-152 2x; K600) |
| Action Recognition | UCF101 | 3-fold Accuracy | 93.4 | CVRL (R3D-50; K600) |
| Action Recognition | UCF101 | 3-fold Accuracy | 92.2 | CVRL (R3D-50; K400) |
| Action Recognition | Kinetics-600 | Top-1 Accuracy | 72.9 | CVRL (R3D-152 2x) |
| Action Recognition | Kinetics-600 | Top-1 Accuracy | 71.6 | CVRL (R3D-101) |
| Action Recognition | Kinetics-600 | Top-1 Accuracy | 70.4 | CVRL (R3D-50) |
| Action Recognition | HMDB51 | Top-1 Accuracy | 69.9 | CVRL (R3D-152 2x; K600) |
| Action Recognition | HMDB51 | Top-1 Accuracy | 68 | CVRL (R3D-50; K600) |
| Action Recognition | HMDB51 | Top-1 Accuracy | 66.7 | CVRL (R3D-50; K400) |
| Action Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 69.9 | CVRL (R3D-152 2x; K600) |
| Action Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 68 | CVRL (R3D-50; K600) |
| Action Recognition | HMDB51 (finetuned) | Top-1 Accuracy | 66.7 | CVRL (R3D-50; K400) |