snumrl / TimeCriticalResponse
- среда, 26 января 2022 г. в 00:30:07
This code implements the paper Learning Time-Critical Responses for Interactive Character Control. This system implements teacher-student framework to learn time-critically responsive policies, which guarantee the time-to-completion between user inputs and their associated responses regardless of the size and composition of the motion databases. This code is written in java and Python, based on Tensorflow2.
Kyungho Lee, Sehee Min, Sunmin Lee, and Jehee Lee. 2021. Learning Time-Critical Responses for Interactive Character Control. ACM Trans. Graph. 40, 4, 147. (SIGGRAPH 2021)
Project page: http://mrl.snu.ac.kr/research/ProjectAgile/Agile.html
Paper: http://mrl.snu.ac.kr/research/ProjectAgile/AGILE_2021_SIGGRAPH_author.pdf
Youtube: https://www.youtube.com/watch?v=rQKuvxg5ZHc
This code is implemented with Java and Python, and was developed using Eclipse on Windows. A Windows 64-bit environment is required to run the code.
Install JDK 1.8
Java SE Development Kit 8 Downloads
Install Eclipse
Install Eclipse IDE for Java Developers
Install Python 3.6
https://www.python.org/downloads/release/python-368/
Install pydev to Eclipse
https://www.pydev.org/download.html
Install cuda and cudnn 10.0
Install Visual C++ Redistributable for VS2012
Laplacian Motion Editing(PmQmJNI.dll
) is implemented in C++, and VS2012 is required to run it.
Visual C++ Redistributable for Visual Studio 2012 Update 4
Install JEP(Java Embedded Python)
This library requires a part of the Visual Studio installation.
I don't know exactly which ones are needed, but I'm guessing .net framework 3.5
, VC++ 2015.3 v14.00(v140)
. Installing Visual Studio 2017 or later may be helpful.
Install Tensoflow 1.14.0
pip install tensorflow-gpu==1.14.0
We recommend downloading through Git in Eclipse environment.
Working Tree
Import Projects
, and Import existing Eclipse projects
.Or you can just download the repository as Zip file and extract it, and import it using File->Import->General->Existing Projects into Workspace
in Eclipse.
This code uses Interactive Character Animation by Learning Multi-Objective Control for learning the student policy.
Download required third pary library files(ThirdPartyDlls.zip) and extract it to mrl.motion.critical
folder.
The entire data used in the paper cannot be published due to copyright issues. This repository contains only minimal motion dataset for algorithm validation. SNU Motion Database was used for martial arts movements, CMU Motion Database was used for locomotion.
All of the instructions below are assumed to be executed based on Eclipse. Executable java files are grouped in package mrl.motion.critical.run
of project mrl.motion.critical
.
Ctrl+Shift+R
Ctrl+F11
.Run->Run Configurations
menu.You can see the pre-trained network by running RuntimeMartialArtsControlModule.java
.
Pre-trained network file is located at mrl.python.neural\train\martial_arts_sp_da
1, 2
: walk, run3,4,5,6
: martial arts actionsq,w,e,r,t
: control critical response timeMAnnotationRun.java
.MartialArtsConfig.java
DP_Preprocessing.java
mrl.motion.critical\output\dp_cache
LearningTeacherPolicy.java
mrl.motion.critical\train_rl
StudentPolicyDataGeneration.java
mrl.python.neural\train
mrl.python.neural\train_rl.py
Run->Run Configurations
menu.
martial_arts_sp new 0.0001
RuntimeMartialArtsControlModule.java
.mrl.python.neural\train
.