All Projects → cmhungsteve → Ta3n

cmhungsteve / Ta3n

Licence: mit
[ICCV 2019 (Oral)] Temporal Attentive Alignment for Large-Scale Video Domain Adaptation (PyTorch)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ta3n

TA3N
[ICCV 2019 Oral] TA3N: https://github.com/cmhungsteve/TA3N (Most updated repo)
Stars: ✭ 45 (-79.26%)
Mutual labels:  action-recognition, domain-adaptation
Learning Via Translation
Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification (https://arxiv.org/pdf/1711.07027.pdf). CVPR2018
Stars: ✭ 202 (-6.91%)
Mutual labels:  domain-adaptation
Dynamic Image Nets
Dynamic Image Networks for Action Recognition
Stars: ✭ 163 (-24.88%)
Mutual labels:  action-recognition
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (-17.51%)
Mutual labels:  action-recognition
Self Similarity Grouping
Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification (ICCV 2019, Oral)
Stars: ✭ 171 (-21.2%)
Mutual labels:  domain-adaptation
Optical Flow Guided Feature
Implementation Code of the paper Optical Flow Guided Feature, CVPR 2018
Stars: ✭ 186 (-14.29%)
Mutual labels:  action-recognition
Transferlearning Tutorial
《迁移学习简明手册》LaTex源码
Stars: ✭ 2,122 (+877.88%)
Mutual labels:  domain-adaptation
Ig65m Pytorch
PyTorch 3D video classification models pre-trained on 65 million Instagram videos
Stars: ✭ 217 (+0%)
Mutual labels:  action-recognition
Step
STEP: Spatio-Temporal Progressive Learning for Video Action Detection. CVPR'19 (Oral)
Stars: ✭ 196 (-9.68%)
Mutual labels:  action-recognition
Vip
Video Platform for Action Recognition and Object Detection in Pytorch
Stars: ✭ 175 (-19.35%)
Mutual labels:  action-recognition
Crst
Code for <Confidence Regularized Self-Training> in ICCV19 (Oral)
Stars: ✭ 177 (-18.43%)
Mutual labels:  domain-adaptation
C3d Keras
C3D for Keras + TensorFlow
Stars: ✭ 171 (-21.2%)
Mutual labels:  action-recognition
Mmskeleton
A OpenMMLAB toolbox for human pose estimation, skeleton-based action recognition, and action synthesis.
Stars: ✭ 2,378 (+995.85%)
Mutual labels:  action-recognition
Dann py3
python 3 pytorch implementation of DANN
Stars: ✭ 164 (-24.42%)
Mutual labels:  domain-adaptation
Seg Uncertainty
IJCAI2020 & IJCV 2020 🌇 Unsupervised Scene Adaptation with Memory Regularization in vivo
Stars: ✭ 202 (-6.91%)
Mutual labels:  domain-adaptation
Dd Net
A lightweight network for body/hand action recognition
Stars: ✭ 161 (-25.81%)
Mutual labels:  action-recognition
Hand pose action
Dataset and code for the paper "First-Person Hand Action Benchmark with RGB-D Videos and 3D Hand Pose Annotations", CVPR 2018.
Stars: ✭ 173 (-20.28%)
Mutual labels:  action-recognition
Amass
Data preparation and loader for AMASS
Stars: ✭ 180 (-17.05%)
Mutual labels:  action-recognition
Actionvlad
ActionVLAD for video action classification (CVPR 2017)
Stars: ✭ 217 (+0%)
Mutual labels:  action-recognition
Intrada
Unsupervised Intra-domain Adaptation for Semantic Segmentation through Self-Supervision (CVPR 2020 Oral)
Stars: ✭ 211 (-2.76%)
Mutual labels:  domain-adaptation

Temporal Attentive Alignment for Video Domain Adaptation

PWC PWC


This work was mainly done in the Omni Lab for Intelligent Visual Engineering and Science (OLIVES) @ Georgia Tech.
Feel free to check our lab's Website and GitHub for other interesting work!!!


This is the official PyTorch implementation of our papers:

Temporal Attentive Alignment for Large-Scale Video Domain Adaptation
Min-Hung Chen, Zsolt Kira, Ghassan AlRegib (Advisor), Jaekwon Yoo, Ruxin Chen, Jian Zheng
International Conference on Computer Vision (ICCV), 2019 [Oral (acceptance rate: 4.6%)]
[arXiv][Project][Blog][Presentation (officially recorded)][Oral][Poster][Slides][Open Access][IEEE Xplore]

Temporal Attentive Alignment for Video Domain Adaptation
Min-Hung Chen, Zsolt Kira, Ghassan AlRegib (Advisor)
CVPR Workshop (Learning from Unlabeled Videos), 2019
[arXiv]

Although various image-based domain adaptation (DA) techniques have been proposed in recent years, domain shift in videos is still not well-explored. Most previous works only evaluate performance on small-scale datasets which are saturated. Therefore, we first propose two largescale video DA datasets with much larger domain discrepancy: UCF-HMDBfull and Kinetics-Gameplay. Second, we investigate different DA integration methods for videos, and show that simultaneously aligning and learning temporal dynamics achieves effective alignment even without sophisticated DA methods. Finally, we propose Temporal Attentive Adversarial Adaptation Network (TA3N), which explicitly attends to the temporal dynamics using domain discrepancy for more effective domain alignment, achieving state-of-the-art performance on four video DA datasets.


Contents


Requirements

  • support Python 3.6, PyTorch 0.4, CUDA 9.0, CUDNN 7.1.4
  • install all the library with: pip install -r requirements.txt

Dataset Preparation

Data structure

You need to extract frame-level features for each video to run the codes. To extract features, please check dataset_preparation/.

Folder Structure:

DATA_PATH/
  DATASET/
    list_DATASET_SUFFIX.txt
    RGB/
      CLASS_01/
        VIDEO_0001.mp4
        VIDEO_0002.mp4
        ...
      CLASS_02/
      ...

    RGB-Feature/
      VIDEO_0001/
        img_00001.t7
        img_00002.t7
        ...
      VIDEO_0002/
      ...

RGB-Feature/ contains all the feature vectors for training/testing. RGB/ contains all the raw videos.

There should be at least two DATASET folders: source training set and validation set. If you want to do domain adaption, you need to have another DATASET: target training set.

File lists for training/validation

The file list list_DATASET_SUFFIX.txt is required for data feeding. Each line in the list contains the full path of the video folder, video frame number, and video class index. It looks like:

DATA_PATH/DATASET/RGB-Feature/VIDEO_0001/ 100 0
DATA_PATH/DATASET/RGB-Feature/VIDEO_0002/ 150 1
......

To generate the file list, please check dataset_preparation/.

Input data

Here we provide pre-extracted features and data list files, so you can skip the above two steps and directly try our training/testing codes. You may need to manually edit the path in the data list files.


Usage

  • training/validation: Run ./script_train_val.sh

All the commonly used variables/parameters have comments in the end of the line. Please check Options.

Training

All the outputs will be under the directory exp_path.

  • Outputs:
    • model weights: checkpoint.pth.tar, model_best.pth.tar
    • log files: train.log, train_short.log, val.log, val_short.log

Testing

You can choose one of model_weights for testing. All the outputs will be under the directory exp_path.

  • Outputs:
    • score_data: used to check the model output (scores_XXX.npz)
    • confusion matrix: confusion_matrix_XXX.png and confusion_matrix_XXX-topK.txt

Options

Domain Adaptation

In ./script_train_val.sh, there are several options related to our DA approaches.

  • use_target: switch on/off the DA mode
    • none: not use target data (no DA)
    • uSv/Sv: use target data in a unsupervised/supervised way

More options

For more details of all the arguments, please check opts.py.

Notes

The options in the scripts have comments with the following types:

  • no comment: user can still change it, but NOT recommend (may need to change the code or have different experimental results)
  • comments with choices (e.g. true | false): can only choose from choices
  • comments as depend on users: totally depend on users (mostly related to data path)

Citation

If you find this repository useful, please cite our papers:

@inproceedings{chen2019temporal,
  title={Temporal attentive alignment for large-scale video domain adaptation},
  author={Chen, Min-Hung and Kira, Zsolt and AlRegib, Ghassan and Woo, Jaekwon and Chen, Ruxin and Zheng, Jian},
  booktitle={IEEE International Conference on Computer Vision (ICCV)},
  year={2019},
  url={https://arxiv.org/abs/1907.12743}
}

@article{chen2019taaan,
  title={Temporal Attentive Alignment for Video Domain Adaptation},
  author={Chen, Min-Hung and Kira, Zsolt and AlRegib, Ghassan},
  journal={CVPR Workshop on Learning from Unlabeled Videos},
  year={2019},
  url={https://arxiv.org/abs/1905.10861}
}

Acknowledgments

This work was mainly done in OLIVES@GT with the guidance of Prof. Ghassan AlRegib, and the collaboration with Prof. Zsolt Kira at Georgia Tech. Part of this work was done with the collaboration with Jaekwon Yoo, Ruxin Chen and Jian Zheng.

Some codes are borrowed from TSN, pytorch-tsn, TRN-pytorch, and Xlearn.

Special thanks to the development team for the product used in the Kinetics-Gameplay dataset:
Detroit: Become Human™ ©Sony Interactive Entertainment Europe, developed by Quantic Dream


Contact

Min-Hung Chen
cmhungsteve AT gatech DOT edu

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].