• Stars
    star
    954
  • Rank 47,914 (Top 1.0 %)
  • Language
    Python
  • License
    Other
  • Created over 4 years ago
  • Updated about 2 years ago

Reviews

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

Repository Details

Ubisoft La Forge - Animation Dataset

Ubisoft La Forge Animation Dataset ("LAFAN1")

LaFAN1

Ubisoft La Forge Animation dataset and accompanying code for the SIGGRAPH 2020 paper Robust Motion In-betweening.

Shot in May 2017.

This dataset can be used under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License (see license.txt).

If you use this dataset or transition benchmarking code, please consider citing the paper:

@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}
}

You may also want to consider the following papers, as they also use this dataset (or parts of it):

Cloning this repository using git lfs

This repository contains large files, e.g. lafan1/lafan1.zip (137M). In order to clone this repository including the complete zip files, you need to use git lfs.

Example using Ubuntu 20.04:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
git clone https://github.com/ubisoft/ubisoft-laforge-animation-dataset.git

If you do not have git lfs installed, you will see this error when trying to run evaluate.py:

BadZipfile: File is not a zip file

Data

The animation data is contained in the lafan1.zip file.
All the animation sequences are in the BVH file format.
There are 5 subjects in the dataset, 77 sequences, and 496,672 motion frames at 30fps (~4.6 hours).
Every BVH file is named with the following convention: [theme][take number]_[subject ID].bvh.
Any sequences sharing the same theme and take_number were recorded at the same time in the studio.
Themes are high level indicators of the actions in the sequences.

The following themes are present in the LaFAN1 dataset:

Theme Description Number of sequences
Obstacles Locomotion on uneven terrain 17
Walk Walking locomotion, with different styles 12
Dance Free dancing 8
Fall and get up Falling on the ground and getting back up 6
Aiming Locomotion while handling or aiming a gun 5
Ground Locomotion while crawling and crouching 5
Multiple actions Miscellaneous/multiple movements per sequence 4
Run Jogging/Running locomotion 4
Fight Various fight movements 3
Jumps Locomotion with one and two-leg jumps 3
Fight and sports Fight and sports movements 2
Push and stumble Pushing, stumbling and recovery 3
Push and fall Pushing, falling, and getting up 2
Sprint Sprinting locomotion 2
Push Pushing adversary 1

Code

Requirements

You should only need numpy installed in a python 3.X environment, but the code was developed with python 3.7 and numpy 1.17.4

You can easily create a test environment with conda :

conda create -n lafan_env python=3.7 numpy=1.17.4

Evaluating baselines

From the command line:

python evaluate.py

To validate that the results produced by the baseline evaluations are within the expected ranges, you can subsequently run:

python evaluate_test.py


The first run may take several minutes, as it will compute the training statistics.
Following runs should go faster.

The training statistics for normalization are computed on windows of 50 frames offset by 20 frames.
We sample our test windows from Subject 5 at every 40 frames, and retrieve 2232 sequences for evaluation.

In the Zero-Velocity baseline, the last seed frame is repeated during the whole transition.
In the Interpolation baseline, the global root position is linearly interpolated (LERP), and quaternions are spherically linearly interpolated (SLERP).


You should obtain the following results:

results

Evaluation metrics

When running the baseline evaluations, we report three different metrics on global quaternions on positions to assess the quality of the generated transition.

Global quaternion loss

The global quaternion loss (L2Q) is the L2 distance computed between estimated and ground-truth global quaternion vectors g, averaged over each time step t and over all sequences s in the test set.

L2Qloss

Global position loss

The global position loss (L2P) is the L2 distance computed between estimated and ground-truth normalized global position vectors p, averaged over each time step t and over all sequences s in the test set.

L2Ploss

Normalized Power Spectrum Similarity (NPSS) on global quaternions

This is a distance metric based on the power spectrum of joint angles, as proposed by Gopalakrishnan et al. (2019).
It is reported to correlate better with human judgement about motion.
Its motivation and implementation details can be found in their paper.

© [2018] Ubisoft Entertainment. All Rights Reserved

More Repositories

1

mixer

Add-on for real-time collaboration in Blender.
Python
1,316
star
2

massgate

Massgate is the online backend server for the Massive Entertainment game World in Conflict, and is now open-source to make it possible for anyone to host their own Massgate server.
C++
1,124
star
3

Sharpmake

Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc.
C#
910
star
4

ubisoft-laforge-ZeroEGGS

All about ZeroEggs
Python
356
star
5

mobydq

🐳 Tool to automate data quality checks on data pipelines
Vue
245
star
6

shotmanager

Shot Manager is a Blender add-on that introduces a true shot entity in Blender scenes, as well as a wide and powerful set of tools to build and edit sequences in real-time directly in the 3D context.
Python
197
star
7

ubisoft-laforge-daft-exprt

PyTorch Implementation of Daft-Exprt: Robust Prosody Transfer Across Speakers for Expressive Speech Synthesis
Python
118
star
8

NGitLab

.NET client for GitLab
C#
114
star
9

task-scheduler

TaskScheduler is a set of algorithms working together for asynchronous threaded code execution.
C++
84
star
10

vrtist

Virtual Reality tool for storytelling
C#
60
star
11

vulnmine

Vulnmine searches for vulnerable hosts using MS SCCM host / software inventory data with NIST NVD Vulnerability feed data.
Python
38
star
12

ubisoft-laforge-disentanglement-metrics

Python
32
star
13

ubisoft-laforge-Poisson-Filters

Code for "Compact Poisson Filters for Fast Fluid Simulation", ACM SIGGRAPH 2022 Conference.
HLSL
30
star
14

GitTimeLapseView

GitTimeLapseView is a visual diff tool that adds a timeline to your blame view
C#
29
star
15

videotracks

Video Tracks is a Blender add-on that provides track headers to the channels of the VSE.
Python
27
star
16

ubisoft-laforge-FFHQ-UV-Intrinsics

FFHQ-UV-Intrinstics: A dataset containing intrinsic face decomposition for 10k subjects of FFHQ-UV
26
star
17

stampinfo

Stamp Info is a Blender add-on that ensures the tracking of the rendered images by writing all the meta information directly on them, on specific areas such as their top and bottom.
Python
21
star
18

DirectBehaviorSpecification

Code to reproduce the Arena environment experiments from Direct Behavior Specification via Constrained Reinforcement Learning.
ASP.NET
19
star
19

ubisoft-laforge-asaf

Asaf
Python
16
star
20

ubisoft-laforge-face-editing-face-editing-using-part-based-optimization-of-the-latent-space

Face Editing Using Part-Based Optimization of the Latent Space
Python
14
star
21

assetbank

Blender add-on to manage asset banks and import or link 3D objects into Blender scenes.
Python
10
star
22

SmartNavMapGenerator

C#
9
star
23

ubisoft-laforge-climate-change-dataset

data set with Images extracted in WD2 engine
8
star
24

ubisoft-laforge-predictionperformance

Replication package for the paper: "Performance Prediction From Source Code Is Task and Domain Specific"
Python
7
star
25

usd-lod-schema-proposal

An open discussion to define a schema for Level Of Details in USD
7
star
26

ubisoft-laforge-PredictiveDeadReckoning

code from Predictive Dead Reckoning for Online Peer-to-Peer Games publication
Python
7
star
27

SmartNavEnvironment

C#
6
star
28

quartz-tezos-contracts

Ubisoft Quartz smart contract sources and build tools
JavaScript
5
star
29

ubisoft-laforge-lookat

Roff
4
star
30

ubisoft-laforge-brownbuild

Python
3
star
31

ubisoft-laforge-french-homograph-dataset

Complementary dataset for La Forge Speech Synthesis System for Blizzard Challenge 2023
2
star
32

genesis-contracts

Solidity
2
star
33

ubisoft-laforge-CrashReportPriorizationForLargeScaleScheduledLaunches

supporting material for Crash Report Prioritization for Large-Scale Scheduled Launches
Jupyter Notebook
1
star
34

ubisoft-laforge-toxbuster

Python
1
star
35

Ubisoft-LaForge-ToxPlainerDataSet

Dataset supporting "Unveiling Identity Biases in Toxicity Detection : A Game-Focused Dataset and Reactivity Analysis Approach"
1
star