Supplementary code for SIGGRAPH 2021 paper: Discovering Diverse Athletic Jumping Strategies

Related tags

Deep LearningJump
Overview

SIGGRAPH 2021: Discovering Diverse Athletic Jumping Strategies

project page

paper

demo video

image_0032

Prerequisites

Important Notes

We suspect there are bugs in linux gcc > 9.2 or kernel > 5.3 or our code somehow is not compatible with that. Our code has large numerical errors from unknown source given the new C++ compiler. Please use older versions of C++ compiler or test the project on Windows.

C++ Setup

This project has C++ components. There is a cmake project inside Kinematic folder. We have setup the CMake project so that it can be built on both linux and Windows. Use cmake, cmake-gui or visual studio to build the project. It requires eigen library.

Python Setup

Install the Python requirements listed in requirements.txt. The version shouldn't matter. You should be safe to install the latest versions of these packages.

Rendering Setup

To visualize training results, please set up our simulation renderer.

  • Clone and follow build instructions in UnityKinematics. This is a flexible networking utility that will send raw simulation geometry data to Unity for rendering purpose.
  • Copy [UnityKinematics build folder]/pyUnityRenderer to this root project folder.
  • Here's a sample Unity project called SimRenderer in which you can render the scenes for this project. Clone SimRenderer outside this project folder.
  • After building UnityKinematics, copy [UnityKinematics build folder]/Assets/Scripts/API to SimRenderer/Assets/Scripts. Start Unity, load SimRenderer project and it's ready to use.

Training P-VAE

We have included a pre-trained model in results/vae/models/13dim.pth. If you would like to retrain the model, run the following:

python train_pose_vae.py

This will generate the new model in results/vae/test**/test.pth. Copy the .pth file and the associated .pth.norm.npy file into results/vae/models. Change presets/default/vae/vae.yaml under the model key to use your new model.

Train Run-ups

python train.py runup

Modify presets/custom/runup.yaml to change parts of the target take-off features. Refer to Appendix A in the paper to see reference parameters.

After training, run

python once.py runup no_render results/runup***/checkpoint_2000.tar

to generate take-off state file in npy format used to train take-off controller.

Train Jumpers

Open presets/custom/jump.yaml, change env.highjump.initial_state to the path to the generated take-off state file, like results/runup***/checkpoint_2000.tar.npy. Then change env.highjump.wall_rotation to specify the wall orientation (in degrees). Refer to Appendix A in the paper to see reference parameters (note that we use radians in the paper). Run

python train.py jump

to start training.

Start the provided SimRenderer (in Unity), enter play mode, the run

python evaluate.py jump results/jump***/checkpoint_***.tar

to evaluate the visualize the motion at any time. Note that env.highjump.initial_wall_height must be set to the training height at the time of this checkpoint for correct evaluation. Training height information is available through training logs, available both in the console and through tensorboard logs. You can start tensorboard through

python -m tensorboard.main --bind_all --port xx --logdir results/jump***/
Radar-to-Lidar: Heterogeneous Place Recognition via Joint Learning

radar-to-lidar-place-recognition This page is the coder of a pre-print, implemented by PyTorch. If you have some questions on this project, please fee

Huan Yin 37 Oct 09, 2022
This program uses trial auth token of Azure Cognitive Services to do speech synthesis for you.

🗣️ aspeak A simple text-to-speech client using azure TTS API(trial). 😆 TL;DR: This program uses trial auth token of Azure Cognitive Services to do s

Levi Zim 359 Jan 05, 2023
Implementation of Sequence Generative Adversarial Nets with Policy Gradient

SeqGAN Requirements: Tensorflow r1.0.1 Python 2.7 CUDA 7.5+ (For GPU) Introduction Apply Generative Adversarial Nets to generating sequences of discre

Lantao Yu 2k Dec 29, 2022
The official implementation of paper Siamese Transformer Pyramid Networks for Real-Time UAV Tracking, accepted by WACV22

SiamTPN Introduction This is the official implementation of the SiamTPN (WACV2022). The tracker intergrates pyramid feature network and transformer in

Robotics and Intelligent Systems Control @ NYUAD 28 Nov 25, 2022
A Pythonic library for Nvidia Codec.

A Pythonic library for Nvidia Codec. The project is still in active development; expect breaking changes. Why another Python library for Nvidia Codec?

Zesen Qian 12 Dec 27, 2022
Official repository of the AAAI'2022 paper "Contrast and Generation Make BART a Good Dialogue Emotion Recognizer"

CoG-BART Contrast and Generation Make BART a Good Dialogue Emotion Recognizer Quick Start: To run the model on test sets of four datasets, Download th

39 Dec 24, 2022
Code and Data for the paper: Molecular Contrastive Learning with Chemical Element Knowledge Graph [AAAI 2022]

Knowledge-enhanced Contrastive Learning (KCL) Molecular Contrastive Learning with Chemical Element Knowledge Graph [ AAAI 2022 ]. We construct a Chemi

Fangyin 58 Dec 26, 2022
"Domain Adaptive Semantic Segmentation without Source Data" (ACM MM 2021)

LDBE Pytorch implementation for two papers (the paper will be released soon): "Domain Adaptive Semantic Segmentation without Source Data", ACM MM2021.

benfour 16 Sep 28, 2022
FFCV: Fast Forward Computer Vision (and other ML workloads!)

Fast Forward Computer Vision: train models at a fraction of the cost with accele

FFCV 2.3k Jan 03, 2023
This repository contains notebook implementations of the following Neural Process variants: Conditional Neural Processes (CNPs), Neural Processes (NPs), Attentive Neural Processes (ANPs).

The Neural Process Family This repository contains notebook implementations of the following Neural Process variants: Conditional Neural Processes (CN

DeepMind 892 Dec 28, 2022
Generic template to bootstrap your PyTorch project with PyTorch Lightning, Hydra, W&B, and DVC.

NN Template Generic template to bootstrap your PyTorch project. Click on Use this Template and avoid writing boilerplate code for: PyTorch Lightning,

Luca Moschella 520 Dec 30, 2022
This repository is for Competition for ML_data class

This repository is for Competition for ML_data class. Based on mmsegmentatoin,mainly using swin transformer to completed the competition.

jianlong 2 Oct 23, 2022
The source code of the ICCV2021 paper "PIRenderer: Controllable Portrait Image Generation via Semantic Neural Rendering"

The source code of the ICCV2021 paper "PIRenderer: Controllable Portrait Image Generation via Semantic Neural Rendering"

Ren Yurui 261 Jan 09, 2023
Author's PyTorch implementation of Randomized Ensembled Double Q-Learning (REDQ) algorithm.

REDQ source code Author's PyTorch implementation of Randomized Ensembled Double Q-Learning (REDQ) algorithm. Paper link: https://arxiv.org/abs/2101.05

109 Dec 16, 2022
A robotic arm that mimics hand movement through MediaPipe tracking.

La-Z-Arm A robotic arm that mimics hand movement through MediaPipe tracking. Hardware NVidia Jetson Nano Sparkfun Pi Servo Shield Micro Servos Webcam

Alfred 1 Jun 05, 2022
Yolov5-lite - Minimal PyTorch implementation of YOLOv5

Yolov5-Lite: Minimal YOLOv5 + Deep Sort Overview This repo is a shortened versio

Kadir Nar 57 Nov 28, 2022
Barlow Twins and HSIC

Barlow Twins and HSIC Unofficial Pytorch implementation for Barlow Twins and HSIC_SSL on small datasets (CIFAR10, STL10, and Tiny ImageNet). Correspon

Yao-Hung Hubert Tsai 49 Nov 24, 2022
Face Synthetics dataset is a collection of diverse synthetic face images with ground truth labels.

The Face Synthetics dataset Face Synthetics dataset is a collection of diverse synthetic face images with ground truth labels. It was introduced in ou

Microsoft 608 Jan 02, 2023
Generating synthetic mobility data for a realistic population with RNNs to improve utility and privacy

lbs-data Motivation Location data is collected from the public by private firms via mobile devices. Can this data also be used to serve the public goo

Alex 11 Sep 22, 2022
Fast and customizable reconnaissance workflow tool based on simple YAML based DSL.

Fast and customizable reconnaissance workflow tool based on simple YAML based DSL, with support of notifications and distributed workload of that work

Américo Júnior 3 Mar 11, 2022