All Projects → yccyenchicheng → p2pvg

yccyenchicheng / p2pvg

Licence: other
Implementation of ICCV 2019 paper: "Point-to-Point Video Generation". Paper: https://arxiv.org/abs/1904.02912

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to p2pvg

AIPaperCompleteDownload
Complete download for papers in various top conferences
Stars: ✭ 64 (+52.38%)
Mutual labels:  iccv
TailCalibX
Pytorch implementation of Feature Generation for Long-Tail Classification by Rahul Vigneswaran, Marc T Law, Vineeth N Balasubramaniam and Makarand Tapaswi
Stars: ✭ 32 (-23.81%)
Mutual labels:  iccv
DeepCD
[ICCV17] DeepCD: Learning Deep Complementary Descriptors for Patch Representations
Stars: ✭ 39 (-7.14%)
Mutual labels:  iccv
salt iccv2017
SALT (iccv2017) based Video Denoising Codes, Matlab implementation
Stars: ✭ 26 (-38.1%)
Mutual labels:  iccv
Guided-I2I-Translation-Papers
Guided Image-to-Image Translation Papers
Stars: ✭ 117 (+178.57%)
Mutual labels:  iccv
g3an-project
[CVPR 20] G3AN: Disentangling Appearance and Motion for Video Generation
Stars: ✭ 35 (-16.67%)
Mutual labels:  video-generation
Pwc
Papers with code. Sorted by stars. Updated weekly.
Stars: ✭ 15,288 (+36300%)
Mutual labels:  iccv
CalibrationWizard
[ICCV'19] Calibration Wizard: A Guidance System for Camera Calibration Based on Modelling Geometric and Corner Uncertainty
Stars: ✭ 80 (+90.48%)
Mutual labels:  iccv
face-recognition
얼굴 인식에 대한 기술 동향 및 관련 모델 자료
Stars: ✭ 38 (-9.52%)
Mutual labels:  iccv
Unsupervised-Adaptation-for-Deep-Stereo
Code for "Unsupervised Adaptation for Deep Stereo" - ICCV17
Stars: ✭ 59 (+40.48%)
Mutual labels:  iccv
SpatialSense
An Adversarially Crowdsourced Benchmark for Spatial Relation Recognition
Stars: ✭ 62 (+47.62%)
Mutual labels:  iccv-2019
ICCV2021-Single-Image-Desnowing-HDCWNet
This paper is accepted by ICCV 2021.
Stars: ✭ 47 (+11.9%)
Mutual labels:  iccv
overlord
Official pytorch implementation of "Scaling-up Disentanglement for Image Translation", ICCV 2021.
Stars: ✭ 35 (-16.67%)
Mutual labels:  iccv
articulated-animation
Code for Motion Representations for Articulated Animation paper
Stars: ✭ 849 (+1921.43%)
Mutual labels:  video-generation
snarf
Official code release for ICCV 2021 paper SNARF: Differentiable Forward Skinning for Animating Non-rigid Neural Implicit Shapes.
Stars: ✭ 184 (+338.1%)
Mutual labels:  iccv
MoCoGAN-HD
[ICLR 2021 Spotlight] A Good Image Generator Is What You Need for High-Resolution Video Synthesis
Stars: ✭ 224 (+433.33%)
Mutual labels:  video-generation
GeobitNonrigidDescriptor ICCV 2019
C++ implementation of the nonrigid descriptor Geobit presented at ICCV 2019 "GEOBIT: A Geodesic-Based Binary Descriptor Invariant to Non-Rigid Deformations for RGB-D Images"
Stars: ✭ 11 (-73.81%)
Mutual labels:  iccv
MeTAL
Official PyTorch implementation of "Meta-Learning with Task-Adaptive Loss Function for Few-Shot Learning" (ICCV2021 Oral)
Stars: ✭ 24 (-42.86%)
Mutual labels:  iccv
CurveNet
Official implementation of "Walk in the Cloud: Learning Curves for Point Clouds Shape Analysis", ICCV 2021
Stars: ✭ 94 (+123.81%)
Mutual labels:  iccv
stylegan-v
[CVPR 2022] StyleGAN-V: A Continuous Video Generator with the Price, Image Quality and Perks of StyleGAN2
Stars: ✭ 136 (+223.81%)
Mutual labels:  video-generation

Point-to-Point Video Generation

teaser

paper | project page | video

Tsun-Hsuan Wang*, Yen-Chi Cheng*, Chieh Hubert Lin, Hwann-Tzong Chen, Min Sun (* indicate equal contribution)

IEEE International Conference on Computer Vision (ICCV), 2019

This repo is the implementation of our ICCV 2019 paper: "Point-to-Point Video Generation" in PyTorch.

Paper: arXiv, CVF Open Access

Point-to-Point (P2P) Video Generation. Given a pair of (orange) start- and (red) end-frames in the video and 3D skeleton domains, our method generates videos with smooth transitional frames of various lengths.

Results

Generation with various length.

dylen

Multiple control points generation.

mulcp

Loop generation.

loop

Getting Started

Requirements

  • OS: Ubuntu 16.04
  • NVIDIA GPU + CUDA
  • Python 3.6
  • PyTorch 1.0
  • TensorFlow (for Tensorboard)

Prepare dataset

First clone this repo:

git clone https://github.com/yccyenchicheng/p2pvg.git
cd p2pvg

Then create a directory data_root, and for each of the dataset we used:

  • MovingMNIST. The testing sequence is created on the fly. Hence there is no need to preprocess or prepare anything for this dataset.

  • Weizmann. We crop each frame based on the bounding box from this url. Thus you can download the dataset from the above url and preprocess yourself. Also, you can download ours from this link. Extract the downloaded .zip file and put it under data_root.

  • Human 3.6M. First you have to download the dataset from this url. Then put it under data_root/processed/.

  • BAIR Robot Pushing. Download the dataset from this url (~30 gb). Then follows the steps below:

    • Create a directory data_root/bair, put the downloaded .tar file under data_root/bair and extract the .tar file
    tar -xvf data_root/bair/bair_robot_pushing_dataset_v0.tar -C data_root/bair
    
    • Then use the script data/convert_bair.py implemented in this repo to convert the data:
    python data/convert_bair.py --data_dir data_root/bair
    

    this will create the directory data_root/bair/preprocessed_data and the training data will be stored under it.

Usage

Training

To train with Stochastic MovingMNIST, run

python train.py --dataset mnist --channels 1 --num_digits 2 --max_seq_len 30 --n_past 1 \\
--weight_cpc 100 --weight_align 0.5 --skip_prob 0.5 --batch_size 100 \\
--backbone dcgan --beta 0.0001 --g_dim 128 --z_dim 10 --rnn_size 256

and the results, model checkpoints and .event files will stored in logs/. To visualize the training, run

tensorboard --logdir logs

and go to 127.0.0.1:6006 in your browser to see the visualization. To train with other datasets, replace --dataset <other_dataset>, the corresponding channels --channels <n_channels> and other parameters of your choices in the command.

P2P Generate

Given a video and a trained model, perform p2p generation via the following command:

python generate.py --ckpt <model.pth> --video <your_video.mp4>

and the output will be stored at gen_outputs.

Citation

@article{p2pvg2019,
  title={Point-to-Point Video Generation},
  author={Wang, Tsun-Hsuan and Cheng, Yen-Chi and Hubert Lin, Chieh and Chen, Hwann-Tzong and Sun, Min},
  journal={arXiv preprint},
  year={2019}
}

@inproceedings{p2pvg2019,
  title={Point-to-Point Video Generation},
  author={Wang, Tsun-Hsuan and Cheng, Yen-Chi and Hubert Lin, Chieh and Chen, Hwann-Tzong and Sun, Min},
  booktitle={The IEEE International Conference on Computer Vision (ICCV)},
  month={October},
  year={2019}
}

Acknowledgments

This code borrows heavily from the SVG. And we also adapt the code from VideoPose3D for the preprocessing of Human 3.6M. A huge thanks to them! :D

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].