Official implementation of dual quaternion transformations as described in the paper "Pose Representations for Deep Skeletal Animation".
Check our YouTube video!
Create conda environment
conda env create -f environment.yml
conda activate dq_env
The code was tested on Python 3.6.9 and PyTorch 1.2.0.
- extenddb.py and generate_motion_in_dualquaternions.py are used to convert the .bvh files to the different representations.
- Forward kinematics is calculated using the skeleton.py.
- dualquats.py contains the operations which are used during training (calculating translation/rotation, etc.)
- twist_losses.py contains the operations which are used during training of acRNN and is based on dualquats.py.
This code is distributed under an MIT LICENSE.
Note that the functions in common are borrowed by QuaterNet, the functions in bvh are borrowed by acRNN, and the functions in DualQuaternion2.py from this repository. Please respect the individual licenses when using these files.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 860768.
If you find this code useful in your research, please cite:
@misc{Andreou:2021:PoseRepresentation,
author = {Andreou, Nefeli and Aristidou, Andreas and Chrysanthou, Yiorgos},
title = {Pose Representations for Deep Skeletal Animation},
eprint={2111.13907},
year = {2021},
archivePrefix={arXiv}
}