• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Python
  • Created over 3 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ•ΉοΈ Official Implementation of Conditional Motion In-betweening (CMIB) πŸƒ

Conditional Motion In-Betweening (CMIB)

Official implementation of paper: Conditional Motion In-betweeening.

Paper | Project Page | YouTube

Graphical Abstract

in-betweening pose-conditioned
walk jump dance

Environments

This repo is tested on following environment:

  • Ubuntu 20.04
  • Python >= 3.7
  • PyTorch == 1.10.1
  • Cuda V11.3.109

Install

  1. Follow LAFAN1 dataset's installation guide. You need to install git lfs first before cloning the dataset repo.

  2. Run LAFAN1's evaluate.py to unzip and validate it. (Install numpy first if you don't have it)

    $ pip install numpy
    $ python ubisoft-laforge-animation-dataset/evaluate.py 

    With this, you will have unpacked LAFAN dataset under ubisoft-laforge-animation-dataset folder.

  3. Install appropriate pytorch version depending on your device(CPU/GPU), then install packages listed in requirements.txt. .

Trained Weights

You can download trained weights from here.

Train from Scratch

Trining script is trainer.py.

python trainer.py \
	--processed_data_dir="processed_data_80/" \
	--window=90 \
	--batch_size=32 \
	--epochs=5000 \
	--device=0 \
	--entity=cmib_exp \
	--exp_name="cmib_80" \
	--save_interval=50 \
	--learning_rate=0.0001 \
	--loss_cond_weight=1.5 \
	--loss_pos_weight=0.05 \
	--loss_rot_weight=2.0 \
	--from_idx=9 \
	--target_idx=88 \
	--interpolation='slerp'

Inference

You can use run_cmib.py for inference. Please refer to help page of run_cmib.py for more details.

python run_cmib.py --help

Reference

  • LAFAN1 Dataset
    @article{harvey2020robust,
    author    = {FΓ©lix G. Harvey and Mike Yurick and Derek Nowrouzezahrai and Christopher Pal},
    title     = {Robust Motion In-Betweening},
    booktitle = {ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH)},
    publisher = {ACM}, 
    volume    = {39},
    number    = {4},
    year      = {2020}
    }
    

Citation

@article{KIM2022108894,
title = {Conditional Motion In-betweening},
journal = {Pattern Recognition},
pages = {108894},
year = {2022},
issn = {0031-3203},
doi = {https://doi.org/10.1016/j.patcog.2022.108894},
url = {https://www.sciencedirect.com/science/article/pii/S0031320322003752},
author = {Jihoon Kim and Taehyun Byun and Seungyoun Shin and Jungdam Won and Sungjoon Choi},
keywords = {motion in-betweening, conditional motion generation, generative model, motion data augmentation},
abstract = {Motion in-betweening (MIB) is a process of generating intermediate skeletal movement between the given start and target poses while preserving the naturalness of the motion, such as periodic footstep motion while walking. Although state-of-the-art MIB methods are capable of producing plausible motions given sparse key-poses, they often lack the controllability to generate motions satisfying the semantic contexts required in practical applications. We focus on the method that can handle pose or semantic conditioned MIB tasks using a unified model. We also present a motion augmentation method to improve the quality of pose-conditioned motion generation via defining a distribution over smooth trajectories. Our proposed method outperforms the existing state-of-the-art MIB method in pose prediction errors while providing additional controllability. Our code and results are available on our project web page: https://jihoonerd.github.io/Conditional-Motion-In-Betweening}
}

Author

More Repositories

1

Data_Structures_and_Algorithms_in_Python

πŸ“– Worked Solutions of "Data Structures & Algorithms in Python", written by Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser. ✏️
Jupyter Notebook
345
star
2

Robust-Motion-In-betweening

πŸ“– Paper: Robust Motion In-betweening πŸƒ
Python
61
star
3

Coiner

Automatic Cryptocurrency Trading System by using Bithumb API
Python
51
star
4

Deep-Reinforcement-Learning-with-Double-Q-learning

πŸ“– Paper: Deep Reinforcement Learning with Double Q-learning πŸ•ΉοΈ
Python
34
star
5

Human-level-control-through-deep-reinforcement-learning

πŸ“– Paper: Human-level control through deep reinforcement learning πŸ•ΉοΈ
Python
21
star
6

mintlog

Django based personal blog template
JavaScript
6
star
7

Unity-Motion-Visualizer

C#
4
star
8

Coursera_Deep_Learning_Specialization

Jupyter Notebook
4
star
9

rl-maze

Simple maze solver by reinforcement learning
Python
4
star
10

Kinematics-PyTorch

Python
3
star
11

rviz-python-tutorial

Python
2
star
12

InfoGAN

PyTorch Implementation of InfoGAN
Python
2
star
13

actor-critic

Vanilla Actor Critic
Python
2
star
14

A-Neural-Algorithm-of-Artistic-Style

πŸ“– Paper: A Neural Algorithm of Artistic Style πŸ–ΌοΈ
Python
2
star
15

ProbabilisticDL

Jupyter Notebook
1
star
16

robot_kinematics

Python
1
star
17

Unity-SMPL

C#
1
star
18

Music_Emotion_Recognition_Interface_Page

PHP
1
star
19

1985_Auto_Imports_Database

Prediction Model of Loss Payment Ratio of Motors, using 1985 Auto Import Database
Python
1
star
20

Senior_Project_Auto_Accompaniment_System

Fully-automatic music synchronization finder. Winning projects of Senior Capstone Design Fair of Hanyang University, Seoul.
Python
1
star