Giter Site home page Giter Site logo

wasp-summer-school-2022's Introduction

WASP Summer School 2022

Disclaimer: The repository will receive some updates during the summer school. However, we aim to have the needed information ready for your assignments. If you run into issues or you have questions, let us know on Slack (Nithesh, Mihail, Teodor)!

Project Pipeline

Table of contents generated with markdown-toc

Welcome

This repository hosts the full pipeline code for the WASP summer school 2022 group assignments. The system contains four major components, with corresponding resources broken down into the following folders:

  • Generating text with a text prompt : ./subsystem1_text-generation/
  • Synthesizing speech from text : ./subsystem2_text-to-speech/
  • Generating gesture animations from audio : ./subsystem3_gesture-generation/
  • Visualizing the generated gestures : ./subsystem4_visualization/

In addition, there are two folders in the repository root which are used for storing data files for the pipeline, as well as scripts for running different components of the system. These folders are ./data/ and ./scripts/, with demo files showing the intended output of the pipeline residing in ./data/demo/.

Installation

Prerequisites

To work with the pipeline, you need to install the following on your machine before continuing with the rest of the setup:

Cloning the repository

To clone the repository, run this in your shell:

  • git clone https://github.com/TeoNikolov/wasp-2022-summer-school.git
  • cd wasp-2022-summer-school

The repository makes use of submodules to include code from other repositories into this one without copying over the code files. To set up the submodules, write the following :

  • git submodule update --init --recursive

Setting up Docker

Subsystem 3 has code that uses Docker. This allows you to easily set up a working environment with all necessary dependencies, minimizing the risk of running into issues during the process. The script ./scripts/deploy.sh is provided to automate the setup process. Run the script like this:

  • First, make sure Docker Desktop is running!
  • cd ./scripts/
  • bash ./deploy.sh on Linux, or ./deploy.ps1 on Windows (PowerShell)

The script will build and deploy one Docker container, as well as mount relevant folders so that they can be accessed from within the container. This process could take a while, so why not check this cool fluid simulator out in the meantime?

When ready, verify that the container is deployed by running docker ps and looking for the following IMAGE string:

  • wasp-gg (Audio2Gestures from subsystem 3)

Also take note of the CONTAINER ID, as it will be needed to run some of the scripts in ./scripts/ from within the Docker container.

Setting up Blender Keemap

The animations exported by the gesture generation models are produced for a particular skeleton (source), defined inside .bvh files exported during gesture generation. However, the 3D avatars you will use do not necessarily have the same skeletal hierarchy or proportions (target). The process of transferring animation from one character to another is called "retargeting', and for this we can use the Keemap plugin for Blender. You do not need to go to the repository as we have the necessary files included in the summer school project.

To install Keemap, do the following:

  • Open Blender
  • Select Edit > Preferences > Add-ons
  • Select Install
  • Navigate to the repository folder and then go to /subsystem4_visualization/Blender/KeeMapAnimRetarget.zip
  • Enable Transfer Animation: KeeMap Animation Transfer Tool plugin
  • Exit Blender

That's it!

Remarks

  • It is possible that some commands fail due to lack of privilege. If this happens, write sudo at the beginning of your commands (on Linux) or launch your terminal with admin privilege (on Windows).
  • Generally, all file system paths in this document (and subsystem documents) are relative to the repository root.

Next steps

You should now have all relevant software installed, and Docker set up and running. You are now ready to begin working on your assignments, which you will know more about from the tutorials presented to you during the summer school.

If you run into issues with the code, please contact us (Slack, on-site) or open an issue in this repository. In addition, we would really appreciate any feedback you have.

Good luck and have fun!

Back to top

wasp-summer-school-2022's People

Contributors

teonikolov avatar nitheshchandher avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.