Skip to content

Example code for the technique described in the paper "Rig Inversion by Training a Differentiable Rig Function" published at SIGGRAPH Asia 2022.

License

Notifications You must be signed in to change notification settings

electronicarts/rig-inversion

Repository files navigation

Rig Inversion by Training a Differentiable Rig Function

This code serves an an example of using the technique described in the paper Rig Inversion by Training a Differentiable Rig Function published at Siggraph Asia 2022.

Rig Inversion by Training a Differentiable Rig Function

Rig inversion is demonstrated using a toy rig.

How to use

Step 1 : Generate a training dataset using your rig

python generate_toy_dataset.py

Step 2 : Train a model to approximate the rig and test it using animations

python train_rig_approximation.py

Step 3 : Inverse the rig using the rig approximation trained in step 2

python inverse_rig.py

Contents

  • generate_toy_dataset.py: Will generate a dataset to train the rig approximation of our toy rig
  • inverse_rig.py: Inverse the rig for the test mesh data using a trained rig approximation
  • model.py: Model definition for rig approximation and rig inversion
  • rig.py: Definition of our toy rig function
  • train_rig_approximation.py: Trains a rig approximation using a dataset of rig function data points

References

If you use this technique, please cite the paper:

Marquis Bolduc, Mathieu and Phan, Hau Nghiep. Rig Inversion by Training a Differentiable Rig Function. SIGGRAPH Asia 2022 Technical Communications.

BibTeX:

@inproceedings{10.1145/3550340.3564218,
author = {Marquis Bolduc, Mathieu and Phan, Hau Nghiep},
title = {Rig Inversion by Training a Differentiable Rig Function},
year = {2022},
isbn = {9781450394659},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3550340.3564218},
doi = {10.1145/3550340.3564218},
abstract = {Rig inversion is the problem of creating a method that can find the rig parameter vector that best approximates a given input mesh. In this paper we propose to solve this problem by first obtaining a differentiable rig function by training a multi layer perceptron to approximate the rig function. This differentiable rig function can then be used to train a deep learning model of rig inversion.},
booktitle = {SIGGRAPH Asia 2022 Technical Communications},
articleno = {15},
numpages = {4},
keywords = {computer animation, neural networks, rig inversion},
location = {Daegu, Republic of Korea},
series = {SA '22}
}

Authors


Search for Extraordinary Experiences Division (SEED) - Electronic Arts
http://seed.ea.com

We are a cross-disciplinary team within EA Worldwide Studios.
Our mission is to explore, build and help define the future of interactive entertainment.

This technique was created by Mathieu Marquis Bolduc and Hau Nghiep Phan

Licenses

  • The source code uses BSD 3-Clause License as detailed in LICENSE.md

About

Example code for the technique described in the paper "Rig Inversion by Training a Differentiable Rig Function" published at SIGGRAPH Asia 2022.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages