README.md

October 25, 2023 · View on GitHub


Unsupervised Video Domain Adaptation for Action Recognition:
A Disentanglement Perspective

Pengfei Wei1   Lingdong Kong1,2   Xinghua Qu1   Yi Ren1   Zhiqiang Xu3   Jing Jiang4   Xiang Yin1
1ByteDance AI Lab   2National University of Singapore   3MBZUAI   4University of Technology Sydney

NeurIPS 2023

About

TranSVAE is a disentanglement framework designed for unsupervised video domain adaptation. It aims at disentangling the domain information from the data during the adaptation process. We consider the generation of cross-domain videos from two sets of latent factors: one encoding the static domain-related information and another encoding the temporal and semantic-related information. Objectives are enforced to constrain these latent factors to achieve domain disentanglement and transfer.



Col1: Original sequences ("Human" $\mathcal{D}=\mathbf{P}_1$ and "Alien" $\mathcal{D}=\mathbf{P}_2$); Col2: Sequence reconstructions; Col3: Reconstructed sequences using $z_1^{\mathcal{D}},...,z_T^{\mathcal{D}}$; Col4: Domain transferred sequences with exchanged $z_d^{\mathcal{D}}$.


Visit our project page to explore more details. :paw_prints:

Updates

  • [2023.10] - We provide our extracted I3D features, kindly refer to this page for more details.
  • [2023.09] - TranSVAE was accepted to NeurIPS 2023! :tada:
  • [2022.08] - TranSVAE achieves 1st place among the UDA leaderboards of UCF-HMDB, Jester, and Epic-Kitchens, based on Paper-with-Code.
  • [2022.08] - Try a Gradio demo for domain disentanglement in TranSVAE at Hugging Face Spaces! :hugs:
  • [2022.08] - Our paper is available on arXiv, click here to check it out!

Outline

Highlights

Conceptual Comparison
Graphical Model
Framework Overview

Installation

Please refer to INSTALL.md for the installation details.

Data Preparation

Please refer to DATA_PREPARE.md for the details to prepare the 1UCF101, 2HMDB51, 3Jester, 4Epic-Kitchens, and 5Sprites datasets.

Getting Started

Please refer to GET_STARTED.md to learn more usage about this codebase.

Main Results

UCF101 - HMDB51

PWC

MethodBackboneU101 → H51H51 → U101Average
DANN (JMLR'16)ResNet-10175.2876.3675.82
JAN (ICML'17)ResNet-10174.7276.6975.71
AdaBN (PR'18)ResNet-10172.2277.4174.82
MCD (CVPR'18)ResNet-10173.8979.3476.62
TA3N (ICCV'19)ResNet-10178.3381.7980.06
ABG (MM'20)ResNet-10179.1785.1182.14
TCoN (AAAI'20)ResNet-10187.2289.1488.18
MA2L-TD (WACV'22)ResNet-10185.0086.5985.80
Source-onlyI3D80.2788.7984.53
DANN (JMLR'16)I3D80.8388.0984.46
ADDA (CVPR'17)I3D79.1788.4483.81
TA3N (ICCV'19)I3D81.3890.5485.96
SAVA (ECCV'20)I3D82.2291.2486.73
CoMix (NeurIPS'21)I3D86.6693.8790.22
CO2A (WACV'22)I3D87.7895.7991.79
TranSVAE (Ours)I3D87.7898.9593.37
OracleI3D95.0096.8595.93

Jester

PWC

TaskSource-onlyDANNADDATA3NCoMixTranSVAE (Ours)Oracle
JSJT51.555.452.355.564.766.195.6

Epic-Kitchens

PWC

TaskSource-onlyDANNADDATA3NCoMixTranSVAE (Ours)Oracle
D1D232.837.735.434.242.950.564.0
D1D334.136.634.937.440.950.363.7
D2D135.438.336.340.938.650.357.0
D2D339.141.940.842.845.258.663.7
D3D134.638.836.139.942.348.057.0
D3D235.842.141.444.249.258.064.0
Average35.339.237.439.943.252.661.5

Ablation Study

UCF101HMDB51

HMDB51UCF101

Domain Transfer Example

Source (Original)Target (Original)Source (Original)Target (Original)
src_originaltar_originalsrc_originaltar_original
Reconstruct (zdS\mathbf{z}_d^{\mathcal{S}} + ztS\mathbf{z}_t^{\mathcal{S}})Reconstruct (zdT\mathbf{z}_d^{\mathcal{T}} + ztT\mathbf{z}_t^{\mathcal{T}})Reconstruct (zdS\mathbf{z}_d^{\mathcal{S}} + ztS\mathbf{z}_t^{\mathcal{S}})Reconstruct (zdT\mathbf{z}_d^{\mathcal{T}} + ztT\mathbf{z}_t^{\mathcal{T}})
src_recontar_reconsrc_recontar_recon
Reconstruct (zdS+0\mathbf{z}_d^{\mathcal{S}} + \mathbf{0})Reconstruct (zdT+0\mathbf{z}_d^{\mathcal{T}} + \mathbf{0})Reconstruct (zdS+0\mathbf{z}_d^{\mathcal{S}} + \mathbf{0})Reconstruct (zdT+0\mathbf{z}_d^{\mathcal{T}} + \mathbf{0})
recon_srcZfrecon_tarZfrecon_srcZfrecon_tarZf
Reconstruct (0+ztS\mathbf{0} + \mathbf{z}_t^{\mathcal{S}})Reconstruct (0+ztT\mathbf{0} + \mathbf{z}_t^{\mathcal{T}})Reconstruct (0+ztS\mathbf{0} + \mathbf{z}_t^{\mathcal{S}})Reconstruct (0+ztT\mathbf{0} + \mathbf{z}_t^{\mathcal{T}})
recon_srcZtrecon_tarZtrecon_srcZtrecon_tarZt
Reconstruct (zdS+ztT\mathbf{z}_d^{\mathcal{S}} + \mathbf{z}_t^{\mathcal{T}})Reconstruct (zdT+ztS\mathbf{z}_d^{\mathcal{T}} + \mathbf{z}_t^{\mathcal{S}})Reconstruct (zdS+ztT\mathbf{z}_d^{\mathcal{S}} + \mathbf{z}_t^{\mathcal{T}})Reconstruct (zdT+ztS\mathbf{z}_d^{\mathcal{T}} + \mathbf{z}_t^{\mathcal{S}})
recon_srcZf_tarZtrecon_tarZf_srcZtrecon_srcZf_tarZtrecon_tarZf_srcZt

TODO List

  • Initial release. 🚀
  • Add license. See here for more details.
  • Add demo at Hugging Face Spaces.
  • Add installation details.
  • Add data preparation details.
  • Add evaluation details.
  • Add training details.

License

Creative Commons License
This work is under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Acknowledgement

We acknowledge the use of the following public resources during the course of this work: 1UCF101, 2HMDB51, 3Jester, 4Epic-Kitchens, 5Sprites, 6I3D, and 7TRN.

Citation

If you find this work helpful, please kindly consider citing our paper:

@inproceedings{wei2023transvae,
  title = {Unsupervised Video Domain Adaptation for Action Recognition: A Disentanglement Perspective},
  author = {Wei, Pengfei and Kong, Lingdong and Qu, Xinghua and Ren, Yi and Xu, Zhiqiang and Jiang, Jing and Yin, Xiang},
  booktitle = {Advances in Neural Information Processing Systems}, 
  year = {2023},
}